330 likes | 622 Views
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 ).
E N D
Algorithme Institut de Formation aux Métiers de l’industrie Automobile. Par : Mohamed JAFFAL.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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