La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmique et programmation

Présentations similaires


Présentation au sujet: "Algorithmique et programmation"— Transcription de la présentation:

1 Algorithmique et programmation
Un algorithme, c'est une méthode. Une façon systématique de procéder pour faire quelque chose : trier des objets, situer des villes sur une carte, multiplier deux nombres, extraire une racine carrée, chercher un mot dans le dictionnaire… Définition (Larousse): (latin médiéval algorithmus, latinisation du nom du mathématicien persan Al-Khwa-Rizm (Bagdad, 780 – 850), avec influence du grec arithmos, nombre) Ensemble de règles opératoires dont l'application permet de résoudre un problème énoncé au moyen d'un nombre fini d'opérations. Un algorithme peut être traduit, grâce à un langage de programmation, en un programme exécutable par un ordinateur.

2 Quelques points importants :
Un algorithme décrit un traitement sur un ensemble fini de données de nature simple (nombres ou caractères), ou plus complexes (données structurées) est constitué d’un ensemble fini d’actions composées d’opérations ou actions élémentaires. doit toujours se terminer après un nombre fini d’opérations. nécessite un langage clair (compréhension) structuré (enchaînements d’opérations) non ambiguë, universel (indépendants du langage de programmation choisi)

3 Cycle de développement
Problème à résoudre Problème spécifique Algorithme Programme Résultat

4 Cycle de développement
Problème à résoudre Problème spécifique Algorithme Programme Résultat ANALYSE : Phase de réflexion qui permet • D'identifier précisément le problème • D'identifier les caractéristiques du problème à traiter • données • résultats • cas particuliers • traitement,... • De découper le problème en une succession de taches simples et distinctes (sous-problèmes).

5 Cycle de développement
Problème à résoudre Problème spécifique Algorithme Programme Résultat Conception : Suite des opérations a mettre en œuvre pour obtenir un résultat a partir de données Faire ressortir la logique de la résolution du problème Proche mais indépendant des langages de programmation Obtenir le résultat correct quelles que soient les valeurs des données

6 Cycle de développement
Problème à résoudre Problème spécifique Algorithme Programme Résultat Codage : Programme: Un ou plusieurs fichiers texte contenant des instructions permettant de résoudre le problème posé, écrites dans un langage informatique (ex:JAVA, C, FORTRAN, COBOL, BASIC,...). Remarque: certains sous-programmes peuvent être stockes dans des fichiers annexes au programme  bibliothèque de fonctions Programmation: Traduction du langage algorithmique en langage de programmation.

7 Cycle de développement
Problème à résoudre Problème spécifique Algorithme Programme Résultat Test : Compilation: Transformation en langage machine d’un programme écrit en langage de programmation. ⇒ Utilisation d’un compilateur: ex dev C++ Crée le fichier contenant le programme exécutable. Exécution: L’ordinateur effectue les instructions du programme.

8 Structure d’un algorithme
déclaration des variables début instructions ...... fin

9 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher

10 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; début écrire"Quel est votre nom?"; lire nom; salutation← "Bonjour"+nom; écrire salutation; fin

11 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début Écrire « Quel est votre nom? »; lire nom; salutation← « Bonjour »  + nom; écrire salutation; Fin

12 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; lire nom; salutation← « Bonjour »  + nom; écrire salutation; Fin

13 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; Fin

14 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; //traitement et affectation écrire salutation; Fin

15 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; //traitement et affectation écrire salutation; //Présentation du résultat : //affichage d’une chaine Fin

16 Structure d’un algorithme
Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; //traitement et affectation écrire salutation; //Présentation du résultat : //affichage d’une chaine Fin //fin du traitement

17 Les variables • Les variables stockent les données traitées par les instructions. • Une variable est caractérisée par : • son nom • son type • sa valeur (variable au fur et à mesure des instructions) • Un programme peut utiliser autant de variables que nécessaire. Elles sont stockées en mémoire à une certaine adresse. • Une variable peut être vue comme une boîte, portant un nom, qui contient une valeur dont on connaît le type.

18 Les variables Dans un algorithme, choisir pour les noms de variables :
• un nom compose de lettres et éventuellement de chiffres • un nom expressif, par exemple : - chaine, requête1... pour une chaine de caractères - n, a, b, compteur, nbOperations, longueur... pour un entier - x, y, température pour un réel - estEntier, testEntier, trouvé... pour un booléen • un nom assez court (il faut l‘écrire !) • éviter les noms réserves : pour, tant que, si... Dans un programme : • éviter les lettres accentuées et la ponctuation • être expressif et lisible : - est_entier ou estEntier plutot que estentier Votre code sera relu, par vous ou par d'autres...

19 Les variables Quelques exemples... a x 1variable solution%1 solution1
reel unReel a/b s1_4_Xt

20 Les variables Quelques exemples... a : nom valide x : nom valide
1variable : nom non valide solution%1 : nom non valide solution1 : nom valide reel : nom non valide unReel : nom valide a/b : nom non valide s1_4_Xt : nom valide

21 Les variables Types de variables :
Détermine les opérations utilisables sur la variable Quelques types : réel ex. : 1.3, 4.0,π , entier ex. : 1, 2, -10, ... booléen vrai, faux caractères ex. : 'a', 'b', 'A', '1', ' !', ... chaîne ex. : "Bonjour", "Merci !", "1.3", "vrai", ...

22 Les variables Une variable doit être déclarée :
une fois et une seule avant toute utilisation Syntaxe : type nom_de_variable; Il est possible de déclarer plusieurs variables de même type sur une même ligne, en séparant les noms de variables par une virgule Syntaxe : type nom_de_variable_1, nom_de_variable_2;

23 Les variables L'affectation change la valeur d'une variable : • a ← 5 : - la variable a prend la valeur 5 - la valeur précédente est perdue (“écrasée”)

24 Les variables L'affectation change la valeur d'une variable : • a ← 5 : - la variable a prend la valeur 5 - la valeur précédente est perdue (“écrasée”) • a ← b : - la variable a prend la valeur de la variable b - la valeur précédente de a est perdue (“écrasée”) - la valeur de b n'est pas modifiée - a et b doivent être de même type (ou de types compatibles)

25 Les variables Attention! Exemples réel x,y,z ; début Fin
• Lors d'une déclaration de variable, aucune valeur n'est affectée à la variable, • Une variable doit être affectée avant d'être utilisée dans une expression. Exemples réel x,y,z ; début x  1; z  x+y; Fin

26 Les variables Attention! Exemples réel x,y,z ; début Fin
• Lors d'une déclaration de variable, aucune valeur n'est affectée à la variable, • Une variable doit être affectée avant d'être utilisée dans une expression. Exemples réel x,y,z ; début x  1; z  x+y; // problème: y n’a pas de valeur Fin

27 Les variables Exemples Quelles sont les valeurs successives prises par les variables X et Y suite aux instructions suivantes : X Y X  1 ; Y -4 ; X X+3 ; X Y-5 ; Y X+2 ; Y Y-6 ;

28 Les variables Exemples Quelles sont les valeurs successives prises par les variables X et Y suite aux instructions suivantes : X Y X  1 ; 1 Y -4 ; -4 X X+3 ; 4 X Y-5 ; -9 Y X+2 ; -7 Y Y-6 ; -13

29 Instructions d’entrée / sortie
Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante, ... Exemple 1 : début écrire "Bonjour tout le monde" ; fin

30 Instructions d’entrée / sortie
Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante, ... Exemple 1 : début écrire "Bonjour tout le monde" ; Fin Exemple 2: chaîne unNom; unNom "Bob"; écrire "Bonjour"; écrire unNom; écrire "!"; fin

31 Instructions d’entrée / sortie
Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante, ... Exemple 3 : chaîne unNom; entier unAge; début écrire "Quel est ton nom ?"; lire unNom ; écrire "Quel est ton âge ?"; lire unAge ; écrire "Bonjour"; écrire unNom; écrire "tu as "; écrire unAge; écrire "an(s) !"; fin

32 Opérateurs • Similaires aux opérateurs en mathématiques
• Permettent d'effectuer des opérations arithmétiques, booléennes, ou sur des chaînes. Exemple + nombre : addition, chaîne : concaténation - nombre : soustraction * nombre : multiplication / réel : division div entier : division entière mod entier : reste de la division entière (modulo) ==, <, <=, >, >= nombre : égalité et, ou, non booléen : 'et', 'ou', 'non' logique

33 Opérateurs Ordre évaluation • Que vaut : 3 + 4 * 5 ?
Règles d'évaluation : MEFIEZ-VOUS ! de nombreux détails diffèrent selon les langages informatiques. • évaluation des expressions entre parenthèses (et des appels de fonctions) • priorité des opérateurs - (unaire) puis * / puis + -(soustraction) • évaluation de gauche à droite si même priorité

34 INSTRUCTIONS CONDITIONNELLES
Syntaxe si (condition) alors instructions ; sinon finsi • évaluer la condition (expression booléenne) • en fonction de la valeur (vraie ou fausse), exécuter l’instruction du alors ou du sinon • continuer avec les instructions après le finsi

35 INSTRUCTIONS CONDITIONNELLES
exemple

36 INSTRUCTIONS CONDITIONNELLES
Conditionnelles emboitées

37 INSTRUCTIONS CONDITIONNELLES
Sélection sur choix multiples : Lorsqu’il y a plus de 2 choix possibles, l’instruction selon que permet une écriture plus lisible: selon que variable valeur : instructions autres: instructions

38 INSTRUCTIONS CONDITIONNELLES
exemple: Selon que abréviation "M" : écrire " Monsieur " "Mme" : écrire " Madame " "Mlle" : écrire " Mademoiselle " autres: écrire " Monsieur, Madame "

39 INSTRUCTIONS CONDITIONNELLES
exemple: selon que abréviation "M" : écrire " Monsieur " "Mme" : écrire " Madame " "Mlle" : écrire " Mademoiselle " autres: écrire " Monsieur, Madame " Équivalent de : si abréviation = "M  "   alors écrire " Monsieur " sinonsi abréviation = "Mme "  alors écrire " Madame " sinonsi abréviation = "Mlle" alors écrire " Mademoiselle " sinon écrire " Monsieur, Madame " finsi

40 INSTRUCTIONS CONDITIONNELLES
Une condition est une comparaison. C’est-à-dire qu’elle est composée de trois éléments une valeur un opérateur de comparaison une autre valeur Opérateurs logiques > < == ≥ ≤ NON

41 INSTRUCTIONS CONDITIONNELLES
Conditions composées OU ET Exemple si vacances et soleil alors écrire « allons à la plage » finsi


Télécharger ppt "Algorithmique et programmation"

Présentations similaires


Annonces Google