bahaj.voila.net/Cours/Algorithme.pdf

Publié par

Cours d’Algorithmique 2003/ 2003/2004








---------------------------------------------------------------- --------------------------------------------------------------- 1
Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004






I. Définitions:
Un algorithme est une suite d’actions que devra effectuer un ordinateur en un temps fini
pour arriver à un résultat à partir d’une situation donnée.
Un algorithme est une suite finie d’instructions indiquant de façon précise l’ordre dans
lequel doit être effectué un ensemble d’opérations pour obtenir la solution d’un problème.
Pour fonctionner, un algorithme doit donc contenir uniquement des instructions
compréhensibles par celui qui devra l’exécuter.

Exemple :
o Problème : À partir des notes d’un élève dans les différentes matières on veut
calculer la moyenne générale.
o Algorithme :
Il faut avoir les notes de cette élève de chaque matière.
Il faut avoir aussi les coefficients de chaque matière.

Matière Note Coef
Arabe 16 2
Français 12 4
…… …. ….
Math 15 6

Il faut calculer : Note*Coef pour chaque matière.
Il faut : la somme des Notes*Coef.
Il faut calculer : la somme des Coef.
Et en fin il faut calculer : la moyenne=Somme des Notes*Coef/Somme des Coef
NB : Cet Algorithme doit être écrit ensuite par un Langage de Programmation que comprend
l’ordinateur, Exp. : le langage C, C++, Pascal…

II. Méthodologie ...
Publié le : lundi 9 mai 2011
Lecture(s) : 598
Nombre de pages : 25
Voir plus Voir moins
Cours d’Algorithmique 2003/ 2003/2004 ---------------------------------------------------------------- --------------------------------------------------------------- 1 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 I. Définitions: Un algorithme est une suite d’actions que devra effectuer un ordinateur en un temps fini pour arriver à un résultat à partir d’une situation donnée. Un algorithme est une suite finie d’instructions indiquant de façon précise l’ordre dans lequel doit être effectué un ensemble d’opérations pour obtenir la solution d’un problème. Pour fonctionner, un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter. Exemple : o Problème : À partir des notes d’un élève dans les différentes matières on veut calculer la moyenne générale. o Algorithme : Il faut avoir les notes de cette élève de chaque matière. Il faut avoir aussi les coefficients de chaque matière. Matière Note Coef Arabe 16 2 Français 12 4 …… …. …. Math 15 6 Il faut calculer : Note*Coef pour chaque matière. Il faut : la somme des Notes*Coef. Il faut calculer : la somme des Coef. Et en fin il faut calculer : la moyenne=Somme des Notes*Coef/Somme des Coef NB : Cet Algorithme doit être écrit ensuite par un Langage de Programmation que comprend l’ordinateur, Exp. : le langage C, C++, Pascal… II. Méthodologie de Programmation : Le schéma suivant montre les différentes étapes du processus de programmation : Analyse Problème réel Traduction Algorithme Exécution Programme Résultats Un algorithme est une suite d’instruction qui une fois exécutées correctement conduit à un résultat donné. Si l’algorithme est juste, le résultat est le résultat voulu. Si l’algorithme est faux, le résultat est disons aléatoire. ---------------------------------------------------------------- --------------------------------------------------------------- 2 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 III. Les éléments de Base : 1. Déclaration : Dans un programme informatique on va avoir en permanence besoin de stocker provisoirement des valeurs. Ces valeurs peuvent être de différentes types : entiers, réels, caractères chaînes,… Pour stocker une information dans un programme on utilise un Variable. 1.1. Variable : C’est un objet dont la valeur est non fixé, il est caractérisé par : o Sa valeur instantanée. o Son identité. o Son type (entier, réel, caractère,…) Exemples : X en entier, Y en réel, C en caractère, … 1.2. Les constantes : Une constante est une donnée dont la valeur ne change jamais durant l’exécution du programme. Exemple : Pi=3,14, M=10, …. 2. Types des variables : 2.1. Les types Numériques : Les tymériques caractérisent les valeurs entières ou réels. Entier : De manière générale une variable est caractérisée par son nom appelé identificateur et un contenu représentant une valeur d’un type donnée. Cette dernière peut changer durant l’exécution du programme. Une variable est dite entière si elle prend ses valeurs dans Z (ensemble des nombres entiers relatifs) et qu’elle peut supporter les opérations suivantes : Adition Notée + Soustraction Not- Multiplication Not* DivisionNotdiv N div p =q : la division entière de n par p donne la partie entièredu quotient q. Exple : 12 div 3 = 4 13 div Réel : Une variable est dite réel si elle prend ses valeurs dans R (ensemble des nombres réels). Exemple : 2.301 854.06 -632.9 2.2. Les types Alphanumériques : Le types alphanumérique caractérise les valeurs caractère (notées Car) ou chaîne de caractères (notées Chaîne) Caractère : sa valeur est un caractère quelconque. Un caractère peut appartenir au domaine des chiffre de ‘0’ à ‘9’, des lettres de ‘A’ à ‘Z’ (majuscules ou minuscules) et des caractères spéciaux (‘+’ ‘-‘ ‘*’ ‘/’ ‘,’ ‘;’ ‘.‘ ‘(‘ ‘[‘ ‘{‘ ‘%’ ‘$’ ‘&’ ‘#’ …). Un caractère sera toujours noté entre des apostrophes. Le caractère blanc (espace) s’écrit ‘ ’, le caractère apostrophe ‘’’. Les opérations qu’on définit sur les données de type caractère sont : Egal notée = Différentée≠ Supérieurée> ieur ou égal notée≥ Inférieurée< Inférieur ou égal notée ≤ Les quatre dernières représentent un ordre entre les caractères qui est le suivant : ‘ ‘< ‘0’<‘1’< … <‘9’<’A’<’B’< … <‘Z’<‘a’<‘b’< … <’z’ Cette ordre est déterminée par la codification ASCII Rq : Les minuscules et les Majuscules sont considérés comme des caractères différents. ---------------------------------------------------------------- --------------------------------------------------------------- 3 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 Chaîne : sa valeur est une suite finie de caractères quelconques. Ce type n’est pas toujours pré défini et doit faire l’objet d’un « paramétrage », en fonction de sa longueur (le nombre de caractères). Une variable chaîne peut être vide s’elle est de longueur nulle, et sera notée ‘ ‘. Si cette dernière est = à 1 la variable est considérée aussi comme Car (caractère). Exemple : ‘Bonjour’ ‘Ceci est un exemple’. Les opérations définies sur les variables de type Chaîne sont celle des variables de type Car. ChaîneA EntierDeux Alors Ecrire(EntierUn,’’ Plus grand que ’’,EntierDeux) Sinon Ecrire(EntierDeux,’’ Plus grand que ’’,EntierUn) FinSi ; Fin. Il n’est pas toujours nécessaire d’effectuer un traitement dans la partie Sinon du test. Dans ce cas le test devient : Si Condition Alors Instruction FinSi ; Exercice d’application : Donnez l’algorithme qui permet d’afficher la valeur absolue d’un entier donné. Correction : Var X Entier ; Début Ecrire(‘’Donnez la valeur de l’entier à traiter :’’) ; Lire(X) ; Si X>= 0 Alors Ecrire(‘’La valeur absolue de ’’,X , ‘’ est ‘’, X) Sinon Ecrire(‘’La valeur absolue de ’’,X , ‘’ est ‘’, -X) FinSi ; Fin. ---------------------------------------------------------------- --------------------------------------------------------------- 6 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 Remarques : Si Condition Alors Instruction1 Sinon Instruction2 FinSi ; Rq1 (Concernant la Condition): Exp : R = A*B ; Si A < 0 Et B < 0 Alors Ecrire(‘’Le Résultat est positif’’) FinSi ; Si A = 0 Ou B = 0 Alors Ecrire(at est nul’’). Si (A < 0 Et B < 0) Ou (A > 0 Et B > 0) Alors Ecrire(‘’Le Résultat est positif’’) FinSi ; Evaluation : (donnez l’instruction afin que le résultat soit négatif) On remarque donc que la condition pourra êtres décomposée en des sous conditions. Rq2 (Concernant l’Instruction): Les Instructions peuvent être simple (une seule instruction) ou composées de plusieurs instruction dans ce cas on procède comme suit : Si Condition Alors Début Instruction1 ; n2 … n Fin ; FinSi ; 5.2.- Le test à choix multiples Plutôt que d’effectuer plusieurs tests les uns à la suite des autres, il est plus judicieux d’utiliser le «test à choix multiples» qui permet d’effectuer un traitement en fonction de la valeur d’une variable. Par exemple, les tests simples et successifs : Si A = 1 Alors Instruction1 FinSi ; Si A = 2 Alors Instruction2 FinSi ; Si A = 5 Alors Instruction3 FinSi ; Si A = 10 Alors Instruction4 FinSi ; Peuvent être remplacés par : Selon A Cas 1 : Instruction1 ; Cas 2 : Instuuction2 ; … Cas N : Instruction N ; Différent : Instruction N+1 ; FinSelon ; La syntaxe du « test à choix multiples » est plus concise et permet d’effectuer un traitement dans le cas où la variable à tester (ici « A ») contient tout autre valeur non traitée auparavant ( ). Exercice d’application : Donnez l’algorithme qui permet d’écrire en lettre un chiffre de la base 10 tapé sur le clavier. si on tape par exemple 1 il va nous afficher un si 5 il affiche cinq … ---------------------------------------------------------------- --------------------------------------------------------------- 7 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 Correction : Var Z Entier ; Début Ecrire(‘’Donnez la valeur de A :’’) ; Lire(A) ; Selon A Cas 0 : Ecrire(‘’Zéro’’); Cas 1 : Ecrire(‘’Un’’); Cas 2 : Ecrire(‘’Deux’’); Cas 3 : Ecrire(‘’Trois’’); Cas 4 : Ecrire(‘’Quatre’’); Cas 5 : Ecrire(‘’Cinq’’); Cas 6 : Ecrire(‘’Six’’); Cas 7 : Ecrire(‘’Sept’’); Cas 8 : Ecrire(‘’Huit’’); Cas 9 : Ecrire(‘’Neuf’’); Différent :Ecrire(‘’La valeur tapée n’est pas un chiffre de la base 10’’); FinSelon ; Fin. 6.- Les structures répétitives (les boucles) Les programmeurs utilisent plus couramment le terme de « boucle » pour désigner les structures répétitives. Une boucle est un ensemble d’instructions exécutées plusieurs fois. On distingue principalement quatre types de boucle : la boucle « Pour », la boucle « Tant que », la boucle « Jusqu’à ce que » et la boucle « Sans fin ». Avant de nous intéresser précisément à la notion de boucle, il est intéressant d’introduire la notion de tableau. Un tableau est une variable (il possède donc un nom) pouvant accueillir un nombre fini de valeurs de même type. La représentation d’un tableau de nom « Tab » de 10 éléments dont chaque valeur est 0, est la suivante : Pour affecter une valeur dans un tableau il faut préciser l’emplacement exact dans ce tableau. Le rang de cet emplacement est appelé l’indice du tableau. Exemple : j’affecte la valeur 5 dans la case d’indice 3 de mon tableau « Tab » (autrement dit au rang 3 du tableau) : Tab[3] 5 ; La représentation des cases du tableau est alors : La déclaration d’un tableau se fais comme suit : Tableau NomTableau[1..N] des Types ; Avec N = Nombre d’éléments(cases) du tableau. Types : types des valeurs a mettre dans le tableau Entier, réel, car, chaîne,… ---------------------------------------------------------------- --------------------------------------------------------------- 8 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 Rq : La Matrice est un tableau a deux dimensions. Pour designer une case de la matrice il faux disposer de deux indices i et j ou i désigne la ligne et j désigne la colonne. La déclaration d’une Matrice se fais comme suit : Matrice NomMatrice[1..N, 1..M] des Types ; Avec N = Nombre des ligne et M = Nombre des colonnes. Exp : Matrice Mat[1..3,1..4] des entiers ; 14 10 11 07 05 12 08 16 02 09 17 18 La valeur 08 se trouve dans la case Mat[2,3] La valeur 14 se trouv Mat[1,1] La valeur 18 se trouv Mat[2,4] 6.1.- La boucle « Pour » Exemple : Imaginons qu’on veut remplir un tableau (Tab) de 100 cases. Si on ne connaît pas l’existence des structures répétitives, Notre algorithme comportera 100 lignes et ressemblera à : Ecrire(‘’ donnez la valeur de la case 1 :’’) ; Lire(Tab[1]) ; Ecrire(‘’ donnez la valeur de la case 2 :’’) ; e(Tab[2]); ………….. Ecrire(‘’ donnez la valeur de la case 99 :’’) ; Lire(Tab[99]) ; Ecrire(‘’ donnez la valeur de la case 100 :’’) ; e(Tab[100]); L’utilisation de la boucle « Pour » permet d’écrire le même algorithme en seulement une instruction ! La boucle pour utilise un compteur i qui incrémente de 1(la case 1) jusqu'à 100(la case 100) et pour chaque valeur de i en effectue le traitement voulu « ici c’est lire la valeur de la case i du tableau Tab ». La syntaxe est la suivante : Var i entier ; Tableau Tab[1..100] des entiers; Début Pour i=1 jusqu’à 100 faire Début Ecrire(‘’ donnez la valeur de la case i :’’) ; Lire(tab[i]) ; Fin ; FinPour; Fin. La variable i (appelée « indice de boucle ») est automatiquement incrémentée de 1 à chaque itération (c’est le « pas » de la boucle). Les valeurs 1 et 100 sont appelées respectivement « indice de début » et « indice de fin » de la boucle « Pour ». Comme la variable i prend successivement les valeurs 1,2,3,…,100, la variable Tab[i] prend successivement les valeurs Tab[1], Tab[2], …, Tab[99], Tab[100]. ---------------------------------------------------------------- --------------------------------------------------------------- 9 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com Cours d’Algorithmique 2003/ 2003/2004 Remarque : la boucle « Pour » est utilisée lorsque on connaît a priori le nombre de répétitions. Exercice d’application : Ecrire l’algorithme qui permet de calculer le factoriel d’un nombre donné : N ! = 1*2*3*…*N-1*N Exercices à faire hors classe : Exercice1 : Ecrire l’algorithme qui permet de calculer la somme des éléments d’un tableau, Tab à 6 cases, des entiers. Les étapes à suivre sont : • Saisire les éléments d’un tableau. • Afficher le tableau. • Calculer la somme des éléments. • Afficher la somme. Exercice2 : Ecrire l’algorithme qui permet : • De saisire les valeurs d’une matrice Mat à 3 lignes et 4 colonnes. • D’afficher le contenu de cette matrice. 6.2.- La boucle « Tant que » La boucle « Tant que » est utilisée quand on ne connaît pas a priori le nombre de répétitions d’instructions à effectuer. La condition d’arrêt de la boucle est par exemple calculée au sein même de la boucle. Exemple : on répète les instructions de la boucle tant qu’une variable n’a pas atteint une certaine valeur. La syntaxe de Tant que est la suivante : Tant que () Faire Ftant ; RQ : • Tant que l' fournit la valeur vrai, le est exécuté. • Si l' fournit la valeur faux, l'exécution continue avec l'instruction qui suit ftant. • Le est exécuté zéro ou plusieurs fois. Exemple : L’algorithme qui permet d’afficher les nombres de 0 à 9 : Var i Entier; Début i 0; Tant que (i<10) Faire Début Ecrire(i) ; i i+1; Fin ; Ftant ; Fin. ---------------------------------------------------------------- ---------------------------------------------------------------10 Cours Préparé par Prof d’Info M.BAHAJ www.mbahaj.com02.com
Les commentaires (1)
Écrire un nouveau message

17/1000 caractères maximum.

particscien

merci bq;
c tres simple ouvrages et utile;

dimanche 22 février 2015 - 21:44