Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ......

102
Cours : Algorithmique et Programmation Chap 1 : Intoduction à l’algorithmique E. M. Souidi Faculté des Sciences - Rabat SVI4 –STU4 2013-14 E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Transcript of Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ......

Page 1: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Cours : Algorithmique et ProgrammationChap 1 : Intoduction à l’algorithmique

E. M. Souidi

Faculté des Sciences - RabatSVI4 –STU4 2013-14

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 2: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Objectif

L’objectif de ce cours est d’apprendre à réaliser desalgorithmes, écrire des programmes et de maîtriser unlangages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 3: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Ce langage est Python, il servira d’outils pour les travauxpratiques. Son choix est dicté par sa simplicité et son utilité àréaliser des programmes en biologie. C’est un langage libre etgratuit.

Il permettra aussi d’aborder la programmation orientée objet.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 4: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Ce langage est Python, il servira d’outils pour les travauxpratiques. Son choix est dicté par sa simplicité et son utilité àréaliser des programmes en biologie. C’est un langage libre etgratuit.Il permettra aussi d’aborder la programmation orientée objet.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 5: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

L’ordinateur est une machine qui ne fait qu’exécuter lesinstructions données par l’homme.

Il n’a aucune forme d’intelligence. C’est à l’homme de trouverles étapes qu’il faut faire exécuter par la machine pour réaliserune tache (= l’algorithme).

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 6: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

L’ordinateur est une machine qui ne fait qu’exécuter lesinstructions données par l’homme.Il n’a aucune forme d’intelligence. C’est à l’homme de trouverles étapes qu’il faut faire exécuter par la machine pour réaliserune tache (= l’algorithme).

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 7: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

C’est à l’homme aussi d’écrire ces étapes sous formed’instructions dans un langage appelé langage deprogrammation pour qu’elle soient ’comprises’ par l’ordinateur.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 8: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Algorithme

Un algorithme (vient de Al Khawarizmi) est la description en unlangage (appelé pseudo code) proche du langage naturel del’ensemble des étapes résolvant un problème.

Le pseudo code est formé de mots : si, faire, tant que, pour etc.C’est un langage compréhensible de tous.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 9: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Algorithme

Un algorithme (vient de Al Khawarizmi) est la description en unlangage (appelé pseudo code) proche du langage naturel del’ensemble des étapes résolvant un problème.Le pseudo code est formé de mots : si, faire, tant que, pour etc.C’est un langage compréhensible de tous.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 10: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme informatique

Définition : un programme informatique est un ensembled’instructions exécutables par le processeur d’ordinateur.

Exemples d’instructions :- faire un calcul,- afficher un texte,- ouvrir une fenêtre. ...

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 11: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme informatique

Définition : un programme informatique est un ensembled’instructions exécutables par le processeur d’ordinateur.Exemples d’instructions :

- faire un calcul,- afficher un texte,- ouvrir une fenêtre. ...

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 12: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme informatique

Définition : un programme informatique est un ensembled’instructions exécutables par le processeur d’ordinateur.Exemples d’instructions :- faire un calcul,

- afficher un texte,- ouvrir une fenêtre. ...

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 13: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme informatique

Définition : un programme informatique est un ensembled’instructions exécutables par le processeur d’ordinateur.Exemples d’instructions :- faire un calcul,- afficher un texte,

- ouvrir une fenêtre. ...

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 14: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme informatique

Définition : un programme informatique est un ensembled’instructions exécutables par le processeur d’ordinateur.Exemples d’instructions :- faire un calcul,- afficher un texte,- ouvrir une fenêtre. ...

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 15: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Logiciel

Un logiciel (ou application) est un ensemble de programmesinformatiques, qui permet à l’aide d’un ordinateur ou d’unsystème informatique de réaliser une tâche bien définie.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 16: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Par exemple

Dessin

Traitement de texteScanner un document, une image etc

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 17: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Par exemple

DessinTraitement de texte

Scanner un document, une image etc

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 18: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Par exemple

DessinTraitement de texteScanner un document, une image etc

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 19: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langage de programmation

C’est un ensemble de règles de vocabulaire et de grammairecompréhensible par un ordinateur. Les phrases d’un langagessont des instructionss

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 20: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un programme informatique ou logiciel est écrit en langagemachine (succession de 0 et 1).

Impossible à l’homme de le comprendre.Pour que l’homme écrive un programme informatique, il doitutiliser un langage de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 21: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un programme informatique ou logiciel est écrit en langagemachine (succession de 0 et 1).Impossible à l’homme de le comprendre.

Pour que l’homme écrive un programme informatique, il doitutiliser un langage de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 22: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un programme informatique ou logiciel est écrit en langagemachine (succession de 0 et 1).Impossible à l’homme de le comprendre.Pour que l’homme écrive un programme informatique, il doitutiliser un langage de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 23: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un langage de programmation sert à définir une séquenced’instructions qui peuvent au final être traitées et exécutées parl’ordinateur.

C’est un moyen pratique pour les humains de formaliser lesinstructions que l’ordinateur doit exécuter.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 24: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un langage de programmation sert à définir une séquenced’instructions qui peuvent au final être traitées et exécutées parl’ordinateur.C’est un moyen pratique pour les humains de formaliser lesinstructions que l’ordinateur doit exécuter.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 25: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Il y a des centaines de langages de programmation. Chaquelangages à son vocabulaire et sa syntaxe. Il y a des langagesde bas niveau proche du langage machine par exemplel’assembleur.

D’autres de haut niveau proche du langage humain parexemple Python, Java, C etc.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 26: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Il y a des centaines de langages de programmation. Chaquelangages à son vocabulaire et sa syntaxe. Il y a des langagesde bas niveau proche du langage machine par exemplel’assembleur.D’autres de haut niveau proche du langage humain parexemple Python, Java, C etc.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 27: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Dans un langage de haut niveau on trouve dans sonvocabulaire des mots comme : if x>0 then x=x+1.

Un programme informatique est d’abord écrit dans un langagede programmation puis traduit en langage machine à l’aide d’unprogramme appelé compilateur. Chaque langage a soncompilateur.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 28: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Dans un langage de haut niveau on trouve dans sonvocabulaire des mots comme : if x>0 then x=x+1.Un programme informatique est d’abord écrit dans un langagede programmation puis traduit en langage machine à l’aide d’unprogramme appelé compilateur. Chaque langage a soncompilateur.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 29: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Le programme écrit en langage de programmation est appelécode source, sa transformation en langage machine estappelée fichier exécutable. Exemple de code source en C

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 30: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Exemple de code source en C

main() { int i;

clrscr()

for (i=1; i<=10; i++){

printf("7 fois %d font %d\n",i,7*i);}

do{} while(kbhit()==0);

return 0; }

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 31: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langage compilé

Un langage disposant d’un compilateur pour transformer lecode source en fichier exécutable est appelé langage deprogrammation compilé.

Par exemple C, Pascale, C++ etc

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 32: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langage compilé

Un langage disposant d’un compilateur pour transformer lecode source en fichier exécutable est appelé langage deprogrammation compilé.Par exemple C, Pascale, C++ etc

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 33: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langage interprété

Un langage interprété dispose d’un programme appeléinterpréteur qui traduit au fur et à mesure de leurs lecteur lesinstructions en langage machine.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 34: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un interpréteur ne crée pas de fichier exécutable.Généralement les langages interprétés sont plus lents que leslangages compilés.

Exemple : Javascript, Python etc.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 35: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un interpréteur ne crée pas de fichier exécutable.Généralement les langages interprétés sont plus lents que leslangages compilés.Exemple : Javascript, Python etc.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 36: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Assembleur

Proche du langage machine, et le plus rapide. Sert pour réaliserdes pilotes de matériel ou pour la programmation de machinesindustrielles, noyau de système d’expoitation et autres.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 37: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langage C

C’est un langage compilé classique. Le typage est statique. Lagestion de la mémoire est manuelle. Il est très riche enopérateurs. Le langage est conçu pour la programmationsystème.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 38: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langage C++

C’est une extension orientée-objets du langage C. Il estcompilé.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 39: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Pascal

Vieux langage des années 1970. Son extension orienté objetest Delphi. Pour l’apprentissage ou créer des applicationsclient/serveur avec Delphi.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 40: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Fortran

Le langage Fortran (FORmula TRANslation) est l’un deslangages les plus vieux (année 50) encore utilisés. Trèsefficace pour les programmes de calcul numérique. Il compilé.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 41: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Java

C’est un langage récent, bien adapté à la programmationd’applications. Il est statiquement typé. Syntaxiquement ilressemble à C++. La gestion de la mémoire est automatique.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 42: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Il permet la transmission de programmes par un réseauinformatique et l’exécution de ces programmes dans unordinateur distant. Il intermédiaire entre compilé et interprété.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 43: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

PHP

Est un langage interprété, s’installe du coté serveur pourinterpréter les scripts incorporé dans le langage HTML.

Très utilisé dans les sites Web dynamiques. Il est interprété,libre et gratuit.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 44: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

PHP

Est un langage interprété, s’installe du coté serveur pourinterpréter les scripts incorporé dans le langage HTML.Très utilisé dans les sites Web dynamiques. Il est interprété,libre et gratuit.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 45: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

ASP

Langage de scripts coté serveur par Microsoft. Même rôle quePHP.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 46: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Javascript

Élaboré par Netscape en association avec Sun Microsystem.Pour faire des pages web dynamiques et interactives du cotéclient. ECMAScript est la version standard.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 47: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

choix d’un langage

Le choix d’un langage de programmation est tributaire de lafonction du programme à réaliser.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 48: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Python

Un langage interprété moderne avec des fonctions intégréespuissantes et la simplification du code unique par l’indentation.

Programmer rapidement et facilement, Facilité d’apprentissage.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 49: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Python

Un langage interprété moderne avec des fonctions intégréespuissantes et la simplification du code unique par l’indentation.Programmer rapidement et facilement, Facilité d’apprentissage.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 50: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Définition

Un langage algorithmique ou pseudo-code permet ladescription (dans un langage presque naturel) de la résolutiond’un problème en utilisant des enchaînements d’opérationssusceptibles d’être exécutées par des ordinateurs

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 51: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

sans toutefois être particulier à un ordinateur ou à un langagede programmation précis.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 52: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme a : - un nom ;

- un début ;- une fin.Algorithme moyenneDébutSuite d’instructions calculant une moyenneFin

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 53: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme a : - un nom ;- un début ;

- une fin.Algorithme moyenneDébutSuite d’instructions calculant une moyenneFin

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 54: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme a : - un nom ;- un début ;- une fin.Algorithme moyenne

DébutSuite d’instructions calculant une moyenneFin

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 55: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme a : - un nom ;- un début ;- une fin.Algorithme moyenneDébut

Suite d’instructions calculant une moyenneFin

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 56: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme a : - un nom ;- un début ;- une fin.Algorithme moyenneDébutSuite d’instructions calculant une moyenne

Fin

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 57: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme a : - un nom ;- un début ;- une fin.Algorithme moyenneDébutSuite d’instructions calculant une moyenneFin

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 58: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Quelles sont les opérations exécutables parordinateurs ’

- mémoriser/stoker de l’information : nombres, chaîne decaractères grâce à sa mémoire et ses disques.

- déposer et lire cette information dans la mémoire grâce auxbus de la carte-mère.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 59: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Quelles sont les opérations exécutables parordinateurs ’

- mémoriser/stoker de l’information : nombres, chaîne decaractères grâce à sa mémoire et ses disques.- déposer et lire cette information dans la mémoire grâce auxbus de la carte-mère.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 60: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

- réaliser des opérations sur ces informations stokées enmémoire : (addition, multiplication ’, concaténation ’ grâce àl’ALU (unité arithmétique et logique) du processeur

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 61: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

- comparer des valeurs en mémoire et faire des choixconditionnels, grâce au processeur

- actions répétitives (une action est répétée autant de fois quenécessaire) ; grâce au processeur.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 62: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

- comparer des valeurs en mémoire et faire des choixconditionnels, grâce au processeur- actions répétitives (une action est répétée autant de fois quenécessaire) ; grâce au processeur.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 63: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

- entrée/sortie pour communiquer avec l’extérieur, via despériphériques : écran, clavier, ....

- coder (encoder et décoder) l’information : communiquer avecl’homme en base dix et avec des lettres et non en binaires (0ou 1).

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 64: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

- entrée/sortie pour communiquer avec l’extérieur, via despériphériques : écran, clavier, ....- coder (encoder et décoder) l’information : communiquer avecl’homme en base dix et avec des lettres et non en binaires (0ou 1).

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 65: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Quelque soit un programme que vous avez utilisé est faitd’instructions semblable à celles ci.

Ces actions de base communes à tous les ordinateursconstituent les fondements du langage algorithmique que nousallons utiliser.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 66: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Quelque soit un programme que vous avez utilisé est faitd’instructions semblable à celles ci.Ces actions de base communes à tous les ordinateursconstituent les fondements du langage algorithmique que nousallons utiliser.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 67: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Étapes de réalisation d’un programme informatique

1) Analyse (découper le problème en une succession de tâchessimples susceptibles d’être exécutées par ordinateur)

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 68: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

2) Algorithme (description de la résolution du problème enlangage algorithmique, suffisamment proche des langages deprogrammation pour pouvoir être traduit aisément vers cesderniers.)

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 69: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

3) code source (fichier texte des instructions et de leursenchaînements dans un langage informatique (ex : C) que"comprennent" des ordinateurs et permettant de résoudre leproblème posé.)

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 70: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

4) Compilation (pour les langages de programmation compilés)(transformation du code source en langage machine à l’aided’un compilateur).

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 71: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

5) Exécution (l’ordinateur exécute le programme en langagemachine si le langage de programmation est compilé, si cedernier est compilé l’ordinateur exécute le code source)

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 72: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages naturels

sont les langages parlés par les humains, arabe, amazigh,français etc.

Ces langages sont apparus naturellement .

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 73: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages naturels

sont les langages parlés par les humains, arabe, amazigh,français etc.Ces langages sont apparus naturellement .

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 74: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages naturels

sont les langages parlés par les humains, arabe, amazigh,français etc.Ces langages sont apparus naturellement .

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 75: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages formels

sont crées par l’Homme pour des applications spécifiques :

par exemple :- les notations utilisées en maths : f(x) , +, /, intégral , etc- Les panneaux de signalisation : pour indiquer le code de laroute.- Les langages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 76: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages formels

sont crées par l’Homme pour des applications spécifiques :par exemple :

- les notations utilisées en maths : f(x) , +, /, intégral , etc- Les panneaux de signalisation : pour indiquer le code de laroute.- Les langages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 77: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages formels

sont crées par l’Homme pour des applications spécifiques :par exemple :- les notations utilisées en maths : f(x) , +, /, intégral , etc

- Les panneaux de signalisation : pour indiquer le code de laroute.- Les langages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 78: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages formels

sont crées par l’Homme pour des applications spécifiques :par exemple :- les notations utilisées en maths : f(x) , +, /, intégral , etc- Les panneaux de signalisation : pour indiquer le code de laroute.

- Les langages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 79: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages formels

sont crées par l’Homme pour des applications spécifiques :par exemple :- les notations utilisées en maths : f(x) , +, /, intégral , etc- Les panneaux de signalisation : pour indiquer le code de laroute.- Les langages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 80: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Langages formels

sont crées par l’Homme pour des applications spécifiques :par exemple :- les notations utilisées en maths : f(x) , +, /, intégral , etc- Les panneaux de signalisation : pour indiquer le code de laroute.- Les langages de programmation.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 81: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Ces langages formels ont des règles strictes de syntaxe.

Les langages formels et naturels ont des similitudes :vocabulaire, syntaxe, et sémantique.Dans les langages naturels il y a plein d’ambiguïté. Le contexteaide à les lever.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 82: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Ces langages formels ont des règles strictes de syntaxe.Les langages formels et naturels ont des similitudes :vocabulaire, syntaxe, et sémantique.

Dans les langages naturels il y a plein d’ambiguïté. Le contexteaide à les lever.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 83: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Ces langages formels ont des règles strictes de syntaxe.Les langages formels et naturels ont des similitudes :vocabulaire, syntaxe, et sémantique.Dans les langages naturels il y a plein d’ambiguïté. Le contexteaide à les lever.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 84: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Alors que les langages formels sont faits sans ambiguïtés,chaque phrase à un sens unique indépendamment du contexte.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 85: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Redondance

souvent utilisé pour lever des ambiguïtés et clarifier le sens.

Les langages formels sont beaucoup moins redondant et plusconcis. Expression : les langages naturels sont pleinsd’expressions.Dans les langages formels on signifie exactement ce qu’onveut dire.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 86: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Redondance

souvent utilisé pour lever des ambiguïtés et clarifier le sens.Les langages formels sont beaucoup moins redondant et plusconcis. Expression : les langages naturels sont pleinsd’expressions.

Dans les langages formels on signifie exactement ce qu’onveut dire.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 87: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Redondance

souvent utilisé pour lever des ambiguïtés et clarifier le sens.Les langages formels sont beaucoup moins redondant et plusconcis. Expression : les langages naturels sont pleinsd’expressions.Dans les langages formels on signifie exactement ce qu’onveut dire.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 88: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Il y a trois types d’erreur

Erreurs de syntaxe : se réfère à la structure d’un programme etles règles de cette structure.

par example dans cette Phrase il y a plein d’ Erreurs de syntaxCe type d’erreurs est très fréquent surtout au début.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 89: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Il y a trois types d’erreur

Erreurs de syntaxe : se réfère à la structure d’un programme etles règles de cette structure.par example dans cette Phrase il y a plein d’ Erreurs de syntaxCe type d’erreurs est très fréquent surtout au début.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 90: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Erreurs sémantique

S’il y a ce type d’erreur dans votre programme, l’exécution sepasse bien sans aucun message d’erreur mais le résultat estfaux.

En fait c’est votre erreur, le programme ne fait que ce que vouslui avez demandé.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 91: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Erreurs sémantique

S’il y a ce type d’erreur dans votre programme, l’exécution sepasse bien sans aucun message d’erreur mais le résultat estfaux.En fait c’est votre erreur, le programme ne fait que ce que vouslui avez demandé.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 92: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme doit être optimisé, correctement conçu de sorteque sa traduction en langage de programmation soit rapide etquasiment systématique.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 93: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Un algorithme doit être optimisé, correctement conçu de sorteque sa traduction en langage de programmation soit rapide etquasiment systématique.

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 94: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme du S4

Introduction : Généralités et Définitions

Variables et affectationLecture et écritureTestsBoucles

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 95: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme du S4

Introduction : Généralités et DéfinitionsVariables et affectation

Lecture et écritureTestsBoucles

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 96: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme du S4

Introduction : Généralités et DéfinitionsVariables et affectationLecture et écriture

TestsBoucles

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 97: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme du S4

Introduction : Généralités et DéfinitionsVariables et affectationLecture et écritureTests

Boucles

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 98: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Programme du S4

Introduction : Généralités et DéfinitionsVariables et affectationLecture et écritureTestsBoucles

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 99: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Fonctions prédéfinies

Procédures et fonctionsFichiersTableaux

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 100: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Fonctions prédéfiniesProcédures et fonctions

FichiersTableaux

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 101: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Fonctions prédéfiniesProcédures et fonctionsFichiers

Tableaux

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14

Page 102: Cours : Algorithmique et Programmation =1=Chap 1 ... fileCours : Algorithmique et Programmation ... langages de programmation. E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14.

Fonctions prédéfiniesProcédures et fonctionsFichiersTableaux

E. M. Souidi Cours informatique 2 SVI4 –STU4 2013-14