1 / 29

Algorithme

Algorithme. Institut de Formation aux Métiers de l’industrie A utomobile. Par : Mohamed JAFFAL. Introduction. N ous voulons préparer une recette dans la cuisine, nous aurons besoin : Des ingrédients et du matériels (ces sont des entrées ).

cala
Download Presentation

Algorithme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithme Institut de Formation aux Métiers de l’industrie Automobile. Par : Mohamed JAFFAL.

  2. Introduction • Nous voulons préparer une recette dans la cuisine, nous aurons besoin : • Des ingrédients et du matériels (ces sont des entrées ). • D’une méthode de préparation ou d’exécution. • D’un certain temps. • Nous aurons finalement la recette prête d’etre utilisée. D. Systèmes Automatisés. Mohamed JAFFAL

  3. Introduction • Imaginons maintenant, un distributeur de boissons qui peut livré deux types de boissons, du lait chaud avec un prix de 3DH, et du lait au café avec 5DH. • Si un utilisateur a fait entrer une somme de pièces de 5DH, ou plus, il a la possibilité de choisir entre les deux boissons, le reste va être retourner, s’il a fait entrer une somme de pièces d’argent entre 3DH et 5DH (strictement inferieur à 5DH), il n’a qu’un seul choix. Le troisième cas, et celui quand l’utilisateur utilise une somme de pièces d’argent qui ne dépasse pas les 3DH. • Ce qu’on cherche, comment le distributeur va pouvoir se comporter dans les trois cas. D. Systèmes Automatisés. Mohamed JAFFAL

  4. Introduction • Pour résoudre ce problème, il faut programmer le distributeur. Cependant, et avant de pouvoir le programmer, il faut savoir l’enchainement des actions et réactions qu’il va exécuter dans chaque cas. • L’enchainement de ces actions et réactions, et sa rédaction dans un cahier des charges qui s’appelle algorithme. D. Systèmes Automatisés. Mohamed JAFFAL

  5. Définition • Un algorithme est la description univoque d’une méthodeeffective pour résoudre un problème, exprimé à l’aide d’une suite d’instruction élémentaires. • Un algorithme est une suite ordonnée d’instructions qui indique la démarche àsuivre pour résoudre une série de problèmeséquivalents. D. Systèmes Automatisés. Mohamed JAFFAL

  6. Définition • La science qui étudie les algorithmes s’appelle l’algorithmique. • L’utilisation de la notion d’algorithme est largement utilisé aujourd’hui dans des nombreuses applications telles que la planifications et l’optimisation des ressources et matériels, … D. Systèmes Automatisés. Mohamed JAFFAL

  7. Définition • Un algorithme donné peut être correct, il va résoudre le problème pour lequel est conçu. Comme il peut être non correct, dans ca cas, une modification dans l’une de ses instructions doit avoir lieu pour dépasser le problème rencontré. • Pour un problème donné, il peut y avoir plusieurs algorithmes différents , ou aucun ! D. Systèmes Automatisés. Mohamed JAFFAL

  8. Définition • Lorsqu'il existe plusieurs algorithmes, on peut les comparer selon plusieurs critères : • les idées sous-jacentes, leur structure (récursif / itératif, glouton, prog. dynamique, diviser pour régner,. . . ). • les structures de données utilisées. • La complexité algorithmique. D. Systèmes Automatisés. Mohamed JAFFAL

  9. Définition • Complexité d’un algorithme : Deux types de complexité pour un algorithme : • Complexité en temps. • Complexité en espace mémoire. D. Systèmes Automatisés. Mohamed JAFFAL

  10. Définition • Efficacité d ’un algorithme : Plusieurs critères pour la mesure notamment : • Sa durée de calcul. • Sa consommation de mémoire RAM (toutes les instructions ont le même temps d’exécution). D. Systèmes Automatisés. Mohamed JAFFAL

  11. Structure générale d’un algorithme Variables Déclaration des variables Début Liste des Instructions ou programme principal fin D. Systèmes Automatisés. Mohamed JAFFAL

  12. Exemple simple : Variables Entier a Entier b Entier c Début Lire(a) Lire(b) C  a.b Affiche(c) fin D. Systèmes Automatisés. Mohamed JAFFAL

  13. Exemple simple : Ce programme calcul le produit de deux variables a et b de type entier, saisis au clavier, après avoir lire ses valeurs, puis affiche le résultat qui est attribué à une troisième variable c de même type entier. D. Systèmes Automatisés. Mohamed JAFFAL

  14. Exercices d’application Exercice 01 : • Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ? • Variables A, B en Entier • Début • A  1 • B  A + 3 • A  3 • Fin D. Systèmes Automatisés. Mohamed JAFFAL

  15. Exercices d’application Exercice 02 : • Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ? • Variables A, B, C en Entier • Début • A  5 • B  3 • C  A + B • A  2 • C  B – A • Fin D. Systèmes Automatisés. Mohamed JAFFAL

  16. Exercices d’application Exercice 03 : • Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ? • Variables A, B en Entier • Début • A  5 • B  A + 4 • A  A + 1 • B  A – 4 • Fin D. Systèmes Automatisés. Mohamed JAFFAL

  17. Exercices d’application Exercice 04 : • Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ? • Variables A, B, C en Entier • Début • A  3 • B  10 • C  A + B • B A + B • A  C • Fin D. Systèmes Automatisés. Mohamed JAFFAL

  18. Exercices d’application Exercice 05 : • Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ? • Variables A, B en Entier • Début • A  5 • B  2 • A  B • B  A • Fin • Moralité : les deux dernières instructions permettent-elles d’échanger les deux valeurs de B et A ? Si l’on inverse les deux dernières instructions, cela change-t-il quelque chose ? D. Systèmes Automatisés. Mohamed JAFFAL

  19. Exercices d’application Exercice 06 : • Une variante du précédent : on dispose de trois variables A, B et C. Ecrivez un algorithme transférant à B la valeur de A, à C la valeur de B et à A la valeur de C (toujours quels que soient les contenus préalables de ces variables). D. Systèmes Automatisés. Mohamed JAFFAL

  20. Exercices d’application Exercice 07 : • Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre. D. Systèmes Automatisés. Mohamed JAFFAL

  21. Exercices d’application Exercice 08 : • Qu’est ce qu’il affiche le programme suivant : Variables Réel a Entier n Entier parcours Réel resultat Début Lire(a) Lire(n) resultat a pour parcours allant de 1 à n resultat  resultat.a fin pour Affiche(resultat) fin D. Systèmes Automatisés. Mohamed JAFFAL

  22. Exercices d’application Exercice 09 : • Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que des libellés apparaissent clairement. D. Systèmes Automatisés. Mohamed JAFFAL

  23. Exercices d’application Exercice 10 : • Ecrire un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce nombre est positif ou négatif (on laisse de côté le cas où le nombre vaut zéro). D. Systèmes Automatisés. Mohamed JAFFAL

  24. Exercices d’application Exercice 11 : • Un magasin de reprographie facture 0,5dh les dix premières photocopies, 0,4dh les vingt suivantes et 0,25dh au-delà. Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées et qui affiche la facture correspondante. D. Systèmes Automatisés. Mohamed JAFFAL

  25. Exercices d’application Exercice 12 : • Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10. D. Systèmes Automatisés. Mohamed JAFFAL

  26. Exercices d’application Exercice 13 : • Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle. • NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8. D. Systèmes Automatisés. Mohamed JAFFAL

  27. Exercices d’application Exercice 14 : • Que produit l’algorithme suivant ? • Tableau Nb(5) en Entier • Variable i en Entier • Début • Pour i 0 à 5 • Nb(i) i * i • i suivant • Pour i 0 à 5 • Ecrire Nb(i) • i suivant • Fin • Peut-on simplifier cet algorithme avec le même résultat ? D. Systèmes Automatisés. Mohamed JAFFAL

  28. Exercices d’application Exercice 15 : • Que produit l’algorithme suivant ? Variables Réel a Entier n Entier parcours Réel resultat Réel temps Début Lire(a) Lire(n) temps  1 resultat a D. Systèmes Automatisés. Mohamed JAFFAL

  29. Exercices d’application tant que (n 1) si (npair) alors resultat  resultat.resultat n  n/2 sinon temps  temps.resultat n  n-1 fin si fin tant que resultat  resultat.temps Affiche(resultat) fin D. Systèmes Automatisés. Mohamed JAFFAL

More Related