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

Les bases de l’Algorithmique

Présentations similaires


Présentation au sujet: "Les bases de l’Algorithmique"— Transcription de la présentation:

1 Les bases de l’Algorithmique

2 Qu'est-ce qu'un algorithme ?
Activité 1 : Fatiguée, madame karima a confié à sa fille samira de préparer une omelette à trois œufs. Comme samira n’a jamais cuisiné, sa mère lui a proposé la recette suivante : mettre la poêle sur le feu mettre une cuillère d’huile laisser chauffer pendant trois minutes ajouter trois œufs cassés dans la poêle laisser cuire pendant cinq minutes La mère se chargera de mettre les épices à la fin. Quels sont les éléments dont samira a besoin pour exécuter la recette consignée par sa mère ? Quel sera le résultat après l’exécution de la recette ? Définition 1: un algorithme c’est la description, dans un langage compréhensible par l’acteur, d’une solution d’un problème sous forme d’une suite d’étapes (actions).

3 Qu'est-ce qu'un algorithme ?
Activité 2 : Quel serait le résultat, si par hasard, pour la préparation de l’omelette, on saute la deuxième étape (mettre une cuillère d’huile) ? Quel serait le résultat si on inversait l’ordre des étapes 2 et 4 (mettre les œufs avant l’huile) ? Que peut-on conclure alors ? Comment peut-on définir un algorithme Définition 2: un algorithme c’est la description dans un langage compréhensible par l’acteur, d’une solution d’un problème sous forme d’une suite d’étapes (actions) élémentaires, finies, et dans un ordre bien défini.

4 Activité d’évaluation:
Les règles de déplacement du robot sont : Avance (AV) suivie d’un nombre qui détermine le nombre de cases à parcourir vers l’avant. Recule (RE) suivie d’un nombre qui détermine le nombre de cases à parcourir vers l’arrière. Tourne droite (TD) : fait tourner le robot d’un angle de 90° à droite. Tourne gauche (TG) : fait tourner le robot d’un angle de 90° à gauche.

5 Qu’est ce que veut dire «écrire un algorithme» - Analyser et comprendre le problème : étude des données fournies et des résultats attendus. - Résoudre le problème : C’est trouver les structures de données adaptées ainsi que l’enchaînement des actions à réaliser pour passer des données aux résultats. Comment exécuter un algorithme sur un ordinateur ? Il faut traduire cet algorithme à l’aide d’un langage de programmation connu par l’ordinateur.

6 Langage de programmation (code) Exécution par l’ordinateur
Enoncé d’un problème Analyse, compréhension Pseudo code Résolution Algorithme Langage de programmation (code) Codification Programme Interprétation Exécution par l’ordinateur Langage machine

7 Règles à respecter pour l'écriture d'un algorithme
Il est défini sans ambiguïté. Il se termine après un nombre fini d'opérations. Il manipule des objets définis de manière très précise.

8 Règles de mise en forme d’un algorithme
Nom de l’algorithme Début (*corps de l’algorithme*) (*action*) Fin

9 Les objets utilisés dans un algorithme:
Les variables Une variable est un objet contenant une valeur appelée à être modifiée au cours de l'algorithme. Les constantes Une constante est un objet dont la valeur ne change pas au cours de l'algorithme. Définition des objets Un objet est définis par : Un identificateur : suite quelconque de caractères. Un type : Booléen, numérique (entier ou réel), caractère ou chaîne de caractères, tableau... Une valeur : c'est le contenu de l'objet.

10 Les types des variables
Numérique Alphanumérique Booléen Entier (sans virgule) Réel (sans et avec virgule) Caractères Chaînes de caractères Exemples -345 2011 178 17 4.1 x 1034 ‘A’ ‘2’ ‘ ?’ ‘+’ ‘%’ ‘Ibn Sina’ ‘32456’ ‘Note1’ Vrai faux Remarque : ‘32’ est différent de 32, parce que 32 est trente deux par contre ‘32’ représente la suite des chiffres 3 et 2. Une variable de type numérique ne peut pas recevoir une chaîne de caractères.

11 Règles de mise en forme d’un algorithme
Nom de l’algorithme Déclaration des variables et constantes Début (* commentaires *) Instructions 1 Instructions 2 . Instructions n Fin

12 Exemple1: calcul de la surface d’un disque
Algorithme surface_disque ; (*Déclaration*) Const Pi = 3.14 ; Var Rayon, surface : réels ; Début (*corps de l’algorithme*) Instructions Fin

13 Exemple2:calcul de la somme de deux réels
Algorithme Somme ; (*Déclaration*) Var a, b, S : réels ; Début (*corps de l’algorithme*) Instructions; Fin

14 Lire (variable1, variable2) ;
Instructions de base les actions élémentaires qui composent un algorithme sont appelées instructions. Instruction d’entrée : pour exprimer l’ordre qui permet de d’introduire une donnée dans un algorithme, on utilise le verbe Lire. Syntaxe : Exemple : Lire(Noteinfo) ; cette instruction permet d’introduire la valeur de la variable Noteinfo. Lire (variable1) ; Lire (variable2) ; Lire (variable1, variable2) ;

15 Instructions de base (2)
Instruction de sortie : pour exprimer l’ordre qui permet de restituer un résultat ou la valeur d’une donnée dans un algorithme, on utilise le verbe Ecrire Syntaxe : Exemple : Ecrire(Moy) ; cette instruction permet de restituer la valeur de la donnée Moy. Ecrire(‘donner votre nom :’) ; signifie affiché à l’écran le message suivant : donner votre nom : Ecrire (variable1) ; Ecrire (‘message’) ; Ecrire (‘message’, variable) ;

16 Instructions de base (3)
L’affectation : L’affectation est une opération qui consiste à attribuer une valeur à une variable. Elle est représentée par une flèche orientée à gauche Syntaxe : Exemple : A  ; : la variable A reçoit la valeur 2 B A+1 ; : la variable B reçoit le contenu de A plus 1 Nom ‘Mohamed’ ; : la variable Nom reçoit la valeur ‘Mohamed’ ; Remarque : l’instruction d’affectation ne modifie que ce qui est situé à gauche de la flèche. Variable valeur ou expression

17 Les opérateurs de base Sur les Entiers et les Réels

18 Les opérateurs de base (suite)
Sur les Booléens

19 Les opérateurs de base (suite)
Sur les caractères et les chaînes de caractères

20 Exemple1: calcul de la surface d’un disque
Que se passe-t-il « dans l’ordinateur » à l’exécution de l’algorithme ? Algorithme surface_disque ; (*Déclaration*) Const Pi = 3.14 ; Var rayon, surface : réels ; Début Ecrire(‘Quelle est la valeur du rayon?’); Lire(rayon); surface rayon * rayon * Pi; Ecrire(‘la surface du disque est: ’,surface); Fin 2 3.14 Pi rayon 12.56 surface 2 * 2 * 3.14 = 12.56 surface Quelle est la valeur du rayon? 2 la surface du disque est:12,56 Valeur saisie par l’utilisateur Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’algorithme ?

21 Exemple2:calcul de la somme de deux réels
Que se passe-t-il « dans l’ordinateur » à l’exécution de l’algorithme ? Algorithme Somme ; (*Déclaration*) Var a, b, S : réels ; Début (*corps de l’algorithme*) Ecrire(‘entre les valeurs des deux nombres :’); Lire (a, b); s a + b; Ecrire(‘la somme est :’, s); Fin 3 4 7 a b s somme 3 + 4 = 7 entre les valeurs des deux nombres : 3 4 la somme est : 7 Valeurs saisie par l’utilisateur Que se passe-t-il sur l’écran de l’ordinateur à l’exécution de l’algorithme ?

22 Les structures en algorithmiques
Il existe deux types de structures: La structure séquentielle est une structure dont les instructions sont exécutées l’une après l’autre de façon à ce que l’ordre des instructions est respecté. Un algorithme qui permet de permuter deux entiers : Algorithme echange ; Var x, y , z : entiers ; Début Ecrire(‘donnez la valeur de x’) ; Lire(x) ; Ecrire(‘donnez la valeur de y’) ; Lire(y) ; z x ; x y ; y z ; ecrire(‘la valeur de x est :’, x) ; ecrire(‘la valeur de y est :’,y) ; fin

23 La structure sélective est une structure dont les instructions sont exécutées selon les réponses des conditions. Structure sélective simple (un choix) : Syntaxe : Si Condition Alors Instructions ; Finsi Si la condition est vraie alors le bloc d’instructions sera exécuté, sinon il sera ignoré. Exemple : Si x<0 Alors x - x ;

24 Structure sélective complète (deux choix) :
Syntaxe : Si Condition Alors Instructions1 ; Sinon Instructions2 ; Finsi Si la condition est vraie alors le bloc d’instructions sera exécuté, sinon il sera c’est le blog d’instructions2 qui sera exécuté. Exemple : Si moyenne >= 10 Alors Ecrire(‘’admis’’) ; Ecrire(‘’non admis’’) ;

25 L’imbrication de Si :Dans de nombreuses applications, on peut avoir plusieurs cas d’exécution selon différentes conditions. Il faut donc exprimé beaucoup de Si les uns à la suite des autres pour englober tous les cas. Un Si peut être exprimé à la suite d’un Alors d’un autre Si et/ou à la suite de son Sinon. Exemple : Algorithme croisement_feu ; Var couleur_feu : chaîne de caractère ; Debut Ecrire(‘’quelle est la couleur du feu ?’’) ; Lire(couleur_feu) ; Si couleur_feu = ‘’rouge’’ Alors Ecrire(‘’arrêtez-vous’’) ; Sinon Si couleur_feu = ‘’orange’’ Alors Ecrire(‘’ralentissez et préparez-vous pour s’arrêter’’) ; Si couleur_feu = ‘’vert’’ Alors Ecrire(‘’ passez ‘’) ; Ecrire(‘’couleur incorrecte’’) ; Finsi Fin

26 Structure à choix multiple :
Syntaxe : Cas Indicateur faire Valeur 1 : instructions 1 ; Valeur 2 : instructions 2 ; . Valeur n : instructions n ; Sinon Instruction_par_défaut; FinCas la machine aura le choix parmi n valeurs. L’instructions qui sera exécutée est celle qui correspndra à la valeur courante de la variable testée. Si la variable n’est pas égale à aucune des valeurs testées, c’est instruction_par_defaut qui sera exécutées.

27 Exemple : Algorithme croisement_feu ; Var couleur_feu : chaîne de caractère ; Debut Ecrire(‘’quelle est la couleur du feu ?’’) ; Lire(couleur_feu) ; Cas couleur_feu faire ‘’rouge’  : Ecrire(‘’arrêtez-vous’’) ; ‘’orange’  : Ecrire(‘’ralentissez et préparez-vous pour s’arrêter’’) ; ‘’vert’’ : Ecrire(‘’ passez ‘’) ; Sinon Ecrire(‘’couleur incorrecte’’) ; FinCas Fin Remarque : il y a une grande différence entre cet algorithme et celui utilisant les imbrications de Si. Ce dernier est plus clair et plus lisible et il n’y a pas de risque d’erreurs.

28 La démarche algorithmique
La démarche algorithmique se déroule en deux phases : Phase analyse : consiste à analyser le problème pour en dégager les trois composantes suivantes : Les données à fournir (entrée) Les résultats à produire (sortie) Les traitements nécessaires pour transformer les données en résultats Phase conception : consiste à organiser les traitements définis en phase analyse sous forme d’un algorithme.

29 Exemple: Un promoteur immobilier met en vente des lots de terrain rectangulaires au prix de 7000 DH le mètre carré. Pour calculer le prix d’un lot, on doit commencer par calculer sa surface en mètre carré, sachant la longueur et la largeur du lot, puis on calcule le prix. L’analyse de ce problème nous amène à repérer les composantes indiquées dans la phase d’analyse : Les données : Longueur  : de type réel Largueur  : de type réel Prix : de type entier Les résultats : Montant (à payer) : de type réel Les traitements : en utilisant le processus déductif :

30 Phase conception : cette phase consiste à organiser ces traitements sous forme d’un algorithme 
Algorithme Montant_a_payer ; Const Prix = 7000 ; Var Longueur, Largueur, surface, montant : réels ; Début Ecrire(‘quelle est la longueur du lot ?) ; Lire(Longueur) ; Ecrire(‘quelle est la largueur du lot ?) ; Lire(Largueur) ; Surface Longueur * Largueur ; Montant surface * prix ; Ecrire(‘Le prix du lot est :’, montant, ’dh’) ; Fin

31 La représentation d’un algorithme
On peut représenter un algorithme à l’aide d’un pseudo-code ou d’un organigramme L’organigramme est une représentation graphique d’un algorithme qui est représentée par des conventions graphiques: Lecture et écriture Traitement Début et Fin Test

32 Exemple 1

33 écrire(‘la valeur absolue est :’, x);
Les tests La structure sélective simple (un choix) : Exemple: oui non Début écrire(‘entrer un nombre’); lire(x); X<0 x x écrire(‘la valeur absolue est :’, x); Fin Algorithme Valeur_absolue; Var x: réel; Début écrire(‘entrer un nombre’); lire(x); Si x<0 Alors x x; Finsi écrire(‘la valeur absolue est :’, x); Fin

34 La structure sélective complète (deux choix) :
Exemple: non oui Début écrire(‘Quelle est votre moyenne ?’); lire(x); Moyenne >= 10 Ecrire(‘admis’) Algorithme décision_moyenne; Var moyenne: réel; Début écrire(‘Quelle est votre moyenne?’); lire(moyenne); Si moyenne >= 10 Alors Ecrire(‘admis’); Sinon Ecrire(‘non admis’); Finsi Fin non oui Ecrire(‘non admis’) Fin

35 Structure à choix multiple :
Exemple: Algorithme croisement_feu ; Var couleur_feu : chaîne de caractère ; Debut Ecrire(‘’quelle est la couleur du feu ?’’) ; Lire(couleur_feu) ; Cas couleur_feu faire ‘’rouge’  : Ecrire(‘’arrêtez-vous’’) ; ‘’orange’  : Ecrire(‘’ralentissez et préparez-vous pour s’arrêter’’) ; ‘’vert’’ : Ecrire(‘’ passez ‘’) ; Sinon Ecrire(‘’couleur incorrecte’’) ; FinCas Fin Valeur 1 Valeur 2 Valeur n Sinon

36 Couleur_feu rouge orange vert sinon Début lire(x); Fin
écrire(‘Quelle est la couleur du feu ?’); lire(x); Couleur_feu rouge orange vert sinon Ecrire(‘arrêtez-vous’) Ecrire(‘’ralentissez et préparez-vous pour s’arrêter’) Ecrire(‘passez’) Ecrire(‘couleur incorrecte’) Fin


Télécharger ppt "Les bases de l’Algorithmique"

Présentations similaires


Annonces Google