Algorithmique et Programmation

Documents pareils
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Programmation C. Apprendre à développer des programmes simples dans le langage C

Algorithme. Table des matières


Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cours d Informatique

Bases de programmation. Cours 5. Structurer les données

Rappels sur les suites - Algorithme

Licence Sciences et Technologies Examen janvier 2010

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Cours d Algorithmique et de Langage C v 3.0

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Logiciel Libre Cours 3 Fondements: Génie Logiciel

UE Programmation Impérative Licence 2ème Année

Introduction à l algorithmique et à la programmation (Info 2)

Le langage C. Séance n 4

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Représentation d un entier en base b

Cours d algorithmique pour la classe de 2nde

Conventions d écriture et outils de mise au point

Cours 1 : Qu est-ce que la programmation?

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chap III : Les tableaux

Cours 1 : La compilation

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Introduction à NetCDF

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Évaluation et implémentation des langages

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Algorithmique et structures de données I

TD3 - Facturation avec archivage automatisé

Feuille TD n 1 Exercices d algorithmique éléments de correction

Structure de base d un ordinateur

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Rappels Entrées -Sorties

Représentation des Nombres

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmation linéaire

ALGORITHMIQUE ET PROGRAMMATION En C

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

1 Lecture de fichiers

Machines virtuelles Cours 1 : Introduction

Rappels d architecture

REALISATION d'un. ORDONNANCEUR à ECHEANCES

STAGE IREM 0- Premiers pas en Python

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Conservation des documents numériques

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Annexe : La Programmation Informatique

Créer le schéma relationnel d une base de données ACCESS

nom : Collège Ste Clotilde

La mémoire. Un ordinateur. L'octet. Le bit

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Cours d initiation à la programmation en C++ Johann Cuenin

Traitement numérique de l'image. Raphaël Isdant

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

PG208, Projet n 3 : Serveur HTTP évolué

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Initiation à la programmation en Python

L informatique en BCPST

Solutions du chapitre 4

CORRECTION EXERCICES ALGORITHME 1

Cours Informatique Master STEP

Indications pour une progression au CM1 et au CM2

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Éléments de programmation et introduction à Java

Plan du cours. Historique du langage Nouveautés de Java 7

Cryptographie et fonctions à sens unique

Python - introduction à la programmation et calcul scientifique

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Programmation impérative

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Structure fonctionnelle d un SGBD

IV- Comment fonctionne un ordinateur?

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Algorithmique et programmation : les bases (VBA) Corrigé

Manuel de System Monitor

Initiation à l algorithmique

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Quelques éléments de compilation en C et makefiles

Initiation à Excel. Frédéric Gava (MCF)

Notions fondamentales du langage C# Version 1.0

Atelier n 12 : Assistance à distance

Préparation à l examen EFA en Macro

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

4D v11 SQL Release 5 (11.5) ADDENDUM

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Informatique Générale

Adama MBODJI MBODJ.SYSTEM

Organigramme / Algorigramme Dossier élève 1 SI

ACTIVITÉ DE PROGRAMMATION

Transcription:

Algorithmique et Programmation 1

Plan Tâches de l ordinateur Notion de codage Fonctionnement de l ordinateur Dialoguer avec l ordinateur C est quoi la programmation? Algorithme Notion de variable Instruction d affectation Instruction d écriture Instruction de lecture La condition La répétition 2

Tâches de l ordinateur Diverses application: Edition de feuilles de paye Gestion de stock Jeux Traitement de texte Montage vidéo 3

Tâches de l ordinateur Programme = source de diversité A chaque tâche correspond un programme L ordinateur est capable de mettre en mémoire un programme puis l exécuter Un programme est constitué d une suite d instructions. Une instruction spécifie Les opérations à exécuter Les arguments Puissance = vitesse d exécution Souplesse = programme 4

Données du programme et résultats Exemple: on dispose d un programme qui calcule la moyenne des notes. Celui ci a besoin qu on lui fournisse les notes (données) Pour qu il nous retourne la moyenne (résultat) Autre exemple: établissement d un bulletin de paye: Données: NSS, nombre d heures, grade, Résultat: salaire net, salaire brut, retenues, 5

Communication ou archivage D où viennent les données? Où vont les résultats? Données Programme Archive Résultat 6

Notion de codage Toutes les informations traitées par l ordinateur sont en binaire Quand on tape sur une touche du clavier, l ordinateur la transforme en binaire Quand l ordinateur affiche sur l écran un résultat, il fait l opération inverse Nous aussi on utilise le codage 13, treize, XIII Nous avons interprété XIII par le nombre 13. Comment on a pu dire que ce ne sont pas les lettres X et I? Pour interpréter les données, l ordinateur a en plus besoin de connaître leurs types 7

Fonctionnement de l ordinateur Il traite l informations grâce à un programme qu il mémorise. Il communique et archive des informations Mémoire centrale: Programme+infos temporaires Unité centrale: chargée de prélever une à une les instructions du programme Deux types d instructions Opérations internes (addition, soustraction, ) Opérations de communication (affichage, archivage, ) Périphériques: d entrée, de sortie, d entrée/sortie 8

Fonctionnement de l ordinateur Périphérique UC 1 2 3 MC Programme + Infos temporaires 1. Prélèvement d une instruction 2. Exécution de l instruction avec possibilité d échange avec la MC 3. Exécution d une instruction d échange avec un périphérique 9

Organisation de la MC C est une grille où chaque case peut prendre la valeur 0 ou 1 (bit) On ne manipule pas des cases mais des ensembles de case qu on appelle mots Généralement un mot correspond à un octet (8 bits) Chaque mot a une adresse. 10

Unité centrale Sait exécuter des opérations très simples: Addition, soustraction, comparaison, Chaque instruction du programme doit préciser la nature de l opération (son code binaire) la ou les adresses sur lesquelles porte l opération Les instructions sont exécutées l une à la suite de l autre Sauf si on rencontre une opération de branchement 11

Programmation L ordinateur ne comprend que le binaire, est ce pour autant qu on doive écrire des programmes en binaire? Il existe des langages de programmation dits «évolués» (proches du langage courant, généralement de l anglais) Pour chaque langage, il existe un programme «qui le traduit» en binaire 12

Traduction des programmes Programme source Traducteur Programme exécutable Il existe essentiellement deux modes de traduction Compilation: la traduction se fait une fois pour toute Interprétation: a chaque fois qu on veut exécuter le programme, l interprète traduit une instruction à la fois. Une fois que celle ci est exécutée, il passe à l instruction suivante. 13

Programmation A priori, écriture de programmes dans un langage de programmation (C, Java, Pascal, Visual Basic, Fortran, Python, Perl, ) Or il y a plusieurs langages, est ce que ça veut dire qu il existe plusieurs sortes de programmation? En réalité, la plupart des langages utilisent les mêmes concepts dans le cours, on utilisera une notation particulière: notation algorithmique 14

Programmation 2 étapes: 1. Analyse du problème et recherche du moyen d aboutir au résultat à partir des données dont on dispose écriture d un algorithme 2. Traduction de l algorithme dans un langage de programmation 15

Algorithme Une description des différentes étapes permettant de résoudre un problème quelconque Exemple: résolution d une équation du 2 nd degré ax 1. Connaître les valeurs de a, b et c 2. Calculer le discriminant =b 2 4ac 3. Si < 0 alors pas de solution 2 + bx + c a. Sinon Si = 0 alors solution double = b/2a i. Sinon (donc > 0) alors deux solutions = 0 16

Notion de variable Les variables servent à «nommer» des emplacements ou adresses de la mémoire Permettent de manipuler des valeurs sans connaître leurs emplacements exactes 001 010 011 A B Montant Coté machine Coté programmeur MC 17

Type d une variable Le type d une variable permet De savoir quel est l espace mémoire occupé par une variable Quelles sont les opérations autorisées sur la variable Déclaration d une variable dans un algorithme Variable nom_de_variable: type Exemple: Variable Note: Réel Variable coefficient: entier 18

Rappel Programme = suite d instructions écrites dans un langage de programmation Algorithme = suite d instructions écrites dans un langage proche du langage naturel Variable : le nom d un emplacement mémoire Un variable est définie par Son nom et Son type 19

Instruction d affectation Rôle: mettre une valeur dans un emplacement mémoire désigné par son nom Syntaxe: 1. nom_variable valeur Ex: Note 15 On lit, Note reçoit 15 ou bien 15 est affecté à Note 2. nom_variable1 nom_variable2 Ex: Note1 Note2 La variable Note1 reçoit «la valeur» de Note2 3. nom_varible expression Ex: Moyenne (Note1*2 +Note2)/3 Moyenne reçoit «le résultat» de l évaluation de l expression 20

Instruction d affectation Si la variable Note est égale = 10, à quoi sera t elle égale après l exécution de : Note Note + 5 A quoi seront égales les variables A et B après l exécution de la suite d instructions suivante 3. A 5 4. B A+4 5. A A+1 6. B A 4 21

Trace d un algorithme Instruction 0: 1: A 5 2: B A+4 3: A A+1 4: B A 4 valeur de A? 5 5 6 6 Valeur de B?? 9 9 2 A la fin, A=6 et B=2 22

Instruction d écriture Rôle: permet de restituer une valeur. Généralement, ça consiste à afficher sur l écran Syntaxe: 3. Ecrire (valeur) Ex: Ecrire (4) 4. Ecrire (variable) Ex: Ecrire(Note) 5. Ecrire (expression) Ex: Ecrire ( La moyenne=, (Note1+Note2)/2) Remarque: Ecrire(Note) n est pas la même chose que Ecrire( Note ) 23

Instruction de lecture Rôle: Permet d introduire une donnée au programme. Généralement, on tape la valeur sur le clavier Syntaxe: Lire(variable) Ex: Lire(Note) Effet: à la rencontre de cette instruction, l ordinateur arrête l exécution du programme et attend qu on tape une valeur. On termine la saisie en appuyant sur la touche Entrée. La valeur qu on tape est affectée à la variable lue Remarque: Lire(valeur) et Lire(expression) n ont pas de sens 24

Rappel Variable = nom d un emplacement mémoire Nom + type Algorithme = programme écrit dans un langage proche du français Suite d instructions Affectation Lecture Écriture 25

Algorithme Syntaxe: Algorithme nom_algo Déclaration des variables Début Fin la suite des instructions 26

Algorithme: Exemple Algorithme somme 2 variable entières sont déclarées variable X, Y: Entier Début X 4 Ecrire( Donner la valeur de Y ) Lire(Y) Ecrire( X ) Fin 4 instructions forment le corps de l algorithme 27

Instruction de choix simple Rôle: Permet d exécuter des instructions quand une condition est vérifiée Syntaxe: Si condition Alors FinSi { Instructions } 28

Instruction de choix simple Ex: on veut afficher un message quand X est positive Si X > 0 Alors FinSi Ecrire( X est positive ) 29

Instruction de choix simple La condition peut être composée en utilisant des ET et des OU Exemple: Si ( ((Y=3) OU (Z<4)) ET (X>0)) Alors FinSi {Instructions} 30

Instruction de choix avec alternative Rôle: permet de spécifier ce qu il faut faire dans le cas où la condition n est pas vérifiée Syntaxe: Si condition Alors { Instructions } Sinon FinSi { Instructions } 31

Instruction de choix avec Exemple : Si X > 0 Alors Sinon FinSi alternative Ecrire( X est positive ) Ecrire( X n est pas positive ) 32

Instruction de choix On peut imbriquer les conditions Exemple Si X > 0 alors Ecrire( X supérieure à 0 ) Sinon (ça veut dire que X 0) Si X=0 alors Ecrire( X égale à 0 ) FinSi Sinon (ça veut dire que X<0) Ecrire( X inférieure à 0 ) FinSi 33

Exo Écrire un algorithme qui permet de résoudre les équations du second degré de la forme ax 2 + bx + c Idée: Il faut prévoir 3 variables a, b et c qui doivent être renseignées par l utilisateur = 0 Il faut prévoir une variable D dans laquelle on met le discriminant En fonction des valeurs de D afficher les messages adéquats. 34

Exo (3x 2 + 5x + 25) Algorithme equation Variable a, b, c, D : Réel Début a 3 b 5 c 25 D b 2 4ac Si D <0 Alors Ecrire(«pas de solution») Sinon Si D=0 Alors Ecrire( b/2a) Sinon Ecrire( b rac(d)/2a) Ecrire( b+rac(d)/2a) Finsi Finsi Fin 35

Exo : suite L algorithme précédent ne peut être utilisé que pour une seule équation. Comment faire pour qu il soit capable de résoudre n importe quelle équation? Solution: remplacer les affectations par des opérations de lecture 36

Instruction de répétition Rôle: permet de répéter l exécution d un ensemble d instructions tant qu une condition est vérifiée Syntaxe: Tant que condition {Instructions} FinTantQue Exemple: i 1 Tant que i>0 Ecrire (i) i i+1 FinTantQue 37

Exo Ecrire un algorithme qui permet d afficher la somme des n premiers entiers non nuls. La valeur de n est rentrée par l utilisateur 38

Algorithme Algorithme somme Variable n, i, S : Entier Début Lire(n) i 1 S 0 Tant que i <= n S S + i i i+1 FinTantQue Ecrire(S) Fin 39