Beruflich Dokumente
Kultur Dokumente
INTRODUCTION
03/01/2010
Introduction
Avez vous dj dchiffr un mode demploi pour faire fonctionner un DVD, ou bien la tlvision ou un rpondeur tlphonique? Si oui, sans le savoir, vous avez dj excut des algorithmes. Avez-vous dj indiqu un chemin un touriste gar ? Un algorithme, cest une suite dinstructions, qui une fois excute correctement, conduit un rsultat donn. Si lalgorithme est juste, le rsultat est le rsultat voulu, et le touriste se retrouve l o il voulait aller
03/01/2010
Introduction
Quest-ce quun algorithme?
Est une suite dinstructions crite en langage dalgorithme qui rsout un problme et qui peuvent tre programm par nimporte quel langage.
Une suite d'instructions serait : 1. Se lever 2. Prendre sa douche 3. Prendre le petit djeuner 4. S'habiller
03/01/2010
Introduction
Un algorithme doit donc contenir uniquement des instructions comprhensibles par celui qui devra lexcuter.
03/01/2010
Dfinition
Algorithmique:
Dfinition1: dsigne l'ensemble des rgles et des techniques qui sont impliques dans la dfinition et la conception des algorithmes. Dfinition2: l'algorithmique c'est de savoir comment lire, crire, valuer et optimiser des algorithmes.
03/01/2010
Dfinition
Algorithme:
Dfinition1: Un algorithme dcrit une mthode de rsolution de problme programmable sur machine. Dfinition2 : Un algorithme est un ensemble d'oprations de calcul lmentaires, organis selon des rgles prcises dans le but de rsoudre un problme donn. Pour chaque donne du problme, l'algorithme retourne une rponse aprs un nombre fini d'oprations(+, -,/,<,>,... ).
03/01/2010 7
Dfinition
Quest-ce quun programme?
Un programme est donc une suite d'instructions excutes par la machine. La machine a son propre langage appel langage machine. Un programme est lexpression dun algorithme par une machine donne dans un langage de programmation donn en utilisant le rpertoire dactions(oprations, instructions) et les rgles de composition propres cette machine et ce langage donns. Un programme est un assemblage et un enchanement dinstructions lmentaires crit dans un langage de programmation, et excut par un ordinateur afin de traiter les donnes dun problme et renvoyer un ou plusieurs rsultats.
03/01/2010 8
Mthodologie
Pour rsoudre un problme, il est vivement conseill de rflchir d'abord l'algorithme avant de programmer.
ax2+bx+c=0
1re version:
Lire a, b, c Calculer les racines de lquation Imprimer les racines
03/01/2010
Mthodologie
La rsolution dun problme est caractris par 4 tapes :
Comprendre la nature du problme pos Prciser les donnes fournies (Entres) Prciser les rsultats que lon dsire obtenir (Sorties) Dterminer le processus de transformation des donnes en rsultats.
03/01/2010
10
Mthodologie
Comment on programme?
On utilise un pseudo-langage, comportant toutes les structures de base d'un langage de programmation
03/01/2010
11
Mthodologie
Un programme est donc une suite d'instructions excutes par la machine. Ces instructions peuvent:
soit s'enchaner les unes aprs les autres, on parle alors de squence d'instructions; ou bien s'excuter dans certains cas et pas dans d'autres, on parle alors de structure alternative; ou se rpter plusieurs fois, on parle alors de structure rptitive.
03/01/2010 12
La squence dinstructions
Une instruction est une action que l'ordinateur est capable d'excuter. Une squence d'instruction serait :
Se lever Prendre sa douche Prendre le petit djeuner S'habiller
03/01/2010
13
Structures Alternatives
Une alternative s'exprime par si Sinon
Si fin de semaine ou cong
Mettre sa tenue de sport Faire son jogging
Sinon
Mettre sa tenue de travail Aller travailler
Fin Si
03/01/2010 14
Structure rptitive
La routine journalire dun employ est :
Ouvrir guichet Appeler premier client TantQue " client dans file d'attente " et " pas fin de journe "
Traiter client Appeler client suivant
FinTantQue
Les deux actions "Traiter client" et "Appeler client suivant" vont se rpter tant que la condition situe derrire l'instruction "Tant que" est vrifie.
03/01/2010 15
NOTIONS DE BASE
Comment faire des algorithmes? Les variables Le type de la variable Les instructions Syntaxe gnral de lalgorithme Les structures de contrle Structure rptitive Les tableaux Organigramme Procdures & Fonctions Rcursivit
03/01/2010
17
03/01/2010
18
03/01/2010
19
Les variables
Une variable est un objet dont la valeur nest pas invariable Une variable peut tre reprsente par une case mmoire, qui contient la valeur d'une donne. Chaque variable possde un nom unique appel identificateur par lequel on peut accder son contenu.
Par exemple, on peut avoir en mmoire une variable prix et une variable quantit.
03/01/2010 20
Les variables(suite)
Une variable possde 3 attributs :
Une valeur Un nom(invariable) qui sert la dsigner Un type(invariable) qui dcrit lutilisation possible de la variable
Une valeur
la valeur d'une variable(contenu) peut varier au cours du programme. L'ancienne valeur est tout simplement crase et remplace par la nouvelle. La valeur peut tre de diffrents types et de tailles diffrentes.
03/01/2010 21
Les variables(suite)
Nom de la variable
Cest une suite de lettres et de chiffres commenant ncessairement par une lettre Le nombre maximal de caractres impos varie selon les langages La lisibilit des programmes dpend de lhabilit choisir des noms reprsentatifs Le nom de la variable doit tre le plus reprsentatif possible du contenu de celle-ci pour faciliter la lecture de l'algorithme. En revanche, il ne doit pas non plus tre trop long pour ne pas nuire la lisibilit de l'ensemble.
03/01/2010 22
Les variables(suite)
Nom de la variable
Exemple
Je veux mmoriser l'ge d'une personne dans une variable, j'ai le choix de l'appeler :
a ge age ageDeLaPersonneDontJeSuisEntrainDeParler
Remarque :
Le premier cas est trop court, si je n'ai pas lu la description plus haut, je suis totalement perdu. Le deuxime cas ne convient pas non plus car on vitera tout caractre accentu dans les noms de variable. Le dernier cas est certes trs prcis, mais tellement long qu'il en devient illisible. Bref, le troisime cas semble le plus appropri
03/01/2010 23
Les variables(suite)
Type de la variable
Le type de la variable dfinit :
La nature des informations qui seront reprsentes dans la variable Les limitations concernant les valeurs reprsenter Les oprations ralisables avec les variables correspondantes.
03/01/2010
24
Les variables(suite)
Type de la variable
Entier : il s'agit des variables destines contenir un nombre entier positif ou ngatif. Rel : il s'agit des variables numriques qui ne sont pas des entiers, c'est dire qui comportent des dcimales Caractre : Les variables de type caractre contiennent des caractres alphabtiques ou numriques seul(ex: c) Boolen : Les variables qui prennent les valeurs (vrai ou faux) ou les valeurs (oui ou non).
03/01/2010 25
Les variables(suite)
Type de la variable
Chane de caractres : reprsentant un texte, contenant un ou plusieurs caractres(ex: Bonjour tout le monde)
Tous les traducteurs de langages prennent en compte cette notion de type par des instructions de dclaration de type
Exemple:
Variable Moyenne : rel;(Moyenne en numrique) Variable NbreEtudiant : entier; (NbreEtudiant en numrique) Variable c1, lettre, z : caractre;
03/01/2010 26
Les variables(suite)
Type de la variable: Constante
Dfinitions : une constante est un objet de valeur invariable. Elle est la ralisation dune valeur de type particulier. Exemple:
Constante Zero=0: entier; ( Max:entier) 100;
03/01/2010
27
Les variables(suite)
Les oprateurs de lalgorithmique
Type Rel Exemple -15.69, 0.49 Opration possibles Addition Soustraction Multiplication Division Exposant Pourcentage comparaisons Addition Soustraction Multiplication Division Modulo Exposant Pourcentage
03/01/2010
Entier
-10, 4, 768
Les variables(suite)
Les oprateurs de lalgorithmique
Type caractre Boolen Exemple B, \n Vrai, Faux Opration possibles comparaisons Comparaison Ngation Conjonction disjonction symbole <,<=,>,>=,=, <,<=,>,>=,=, NON ET OU
03/01/2010
29
Les instructions
Linstruction daffectation
Linstruction daffectation permet de manipuler les valeurs des variables. Son rle consiste placer une valeur dans une variable. Notation X=Y ou bien X:=Y ou bien X Y Exemple : 1. affecter une valeur une variable
X:=5, On charge la variable X avec la valeur 5
Les instructions(suite)
Linstruction daffectation
3. Affecter une formule une variable X:= X + 2 * Y On charge la variable X par la valeur du rsultat de la formule et on crase sa valeur initiale
X
3
Y
4
11
03/01/2010
31
Les instructions(suite)
Les instructions dEntre/Sortie
Un programme est amen :
Prendre des donnes par le priphrique(clavier) : rle de linstruction de lecture Communiquer des rsultats par lintermdiaire du priphrique(cran) : rle de linstruction de lcriture
Instruction de lecture
Rle : fournir des donnes au programme Syntaxe : Lire(variable) Exemple : Lire( X) on saisie une valeur pour la stocker aprs dans la variable X
Instruction dcriture
Rle : fournir des rsultats directement comprhensibles Syntaxe : Ecrire( variable), Ecrire(chaine de caractres) Exemple : Ecrire(X), Ecrire(Bonjour)
03/01/2010 32
03/01/2010
33
03/01/2010
34
35
Des Questions ?
03/01/2010
36
Exercices : Instructions
Exercice 1:
crire un algorithme qui permet de saisir des valeurs pour A et B , faire la somme et afficher le rsultat?
Exercice 2:
crire un algorithme qui permet de calculer et afficher la surface dun cercle?
03/01/2010
37
Exercices : Instructions(suite)
Exercice 3
crire un algorithme qui permet de calculer et afficher le salaire brut dun ouvrier connaissant le nombre dheure et le tarif dhoraire?
Exercice 4
crire un algorithme qui fait la conversion dune somme dargent donne en DH, en une somme dargent en Euro?
03/01/2010 38
Les valeurs peuvent tre a priori de nimporte quel type (numriques, caractres). Mais si lon veut que la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du mme type ! Les oprateurs de comparaison sont :
= gal , <> diffrent de < strictement plus petit que, > strictement plus grand que, <= plus petit ou gal , >= plus grand ou gal
03/01/2010 41
Exercice:
crire un algorithme qui demande un nombre lutilisateur, et linforme ensuite si ce nombre est positif ou ngatif (on laisse de ct le cas o le nombre vaut zro).
03/01/2010
42
Conditions composes:
Certains problmes exigent parfois de formuler des conditions composes lies entre eux par les oprateurs logiques suivants : ET, OU, NON, et XOR.
Condition1 ET Condition2 : VRAI, si Condition1 est VRAI et Condition2 est VRAI. Condition1 OU Condition2 : VRAI, si Condition1 est VRAI ou bien Condition2 est VRAI. Le XOR (ou OU exclusif)
Condition1 XOR Condition2 : VRAI, si Condition1 est VRAI, ou bien Condition2 est VRAI. Mais si toutes les deux sont fausses, ou que toutes les deux sont VRAI, alors le rsultat global est considr comme FAUX.
03/01/2010 43
C1 ou C2 C2 C1 Vrai C1 Faux
03/01/2010
44
Exercice :
crire un algorithme qui demande deux nombres lutilisateur et linforme ensuite si leur produit est ngatif ou positif (on laisse de ct le cas o le produit est nul). Attention toutefois : on ne doit pas calculer le produit des deux nombres.
03/01/2010 45
Exercice 2:
crire un algorithme qui affiche le salaire brut dun ouvrier sachant que les heures supplmentaires de 172 heures sont payes 50% de tarifs dhoraire en plus?
03/01/2010
46
Exercice 4:
Calculer le montant de la facture dun client ayant command une quantit dun produit avec un prix unitaire hors taxe
Le taux de T.V.A est : 20% Les frais de transport sont 0.8 DH de Km , Le client est dispos du frais de transport si le montant est suprieur 4500 DH
Exercice 5:
Une bibliothque fait des rductions sur lachat des livres :
25% pour les tudiants. 15% pour les enseignants
crire un algorithme qui calcule et affiche le prix payer47 03/01/2010 selon le type du client?
Exercice 6:
Exercice 7:
crire un algorithme qui permet de rsoudre lquation du premier degr : aX+b=0?
Exercice 8: crire un algorithme qui permet de rsoudre une quation de second degr : aX+bX+c=0 ?
03/01/2010
48
03/01/2010
49
03/01/2010
50
03/01/2010
51
Tests imbriqus:
un algorithme doit donner ltat de leau selon sa temprature il doit choisir entre trois rponses possibles (solide, liquide ou vapeur).
Variable Temp : Entier Dbut Ecrire (Entrez la temprature de leau :) Lire (Temp) Si Temp <= 0 Alors Ecrire (Cest de la glace) Finsi Si Temp > 0 Et Temp < 100 Alors Ecrire (Cest du liquide) Finsi Si (Temp > 100 )Alors Ecrire Cest de la vapeur Finsi Fin
03/01/2010
52
55
Structure rptitive
A quoi cela sert-il donc ?
Prenons le cas dune saisie au clavier (une lecture), o par exemple, le programme pose une question laquelle lutilisateur doit rpondre par O (Oui) ou N (Non). Mais tt ou tard, lutilisateur, risque de taper autre chose que la rponse attendue. Alors, dans tout lalgorithme on met en place ce quon appelle un contrle de saisie, afin de vrifier que les donnes entres au clavier correspondent bien celles attendues par lalgorithme.
03/01/2010 58
Structure rptitive(suite)
A quoi cela sert-il donc ?
On pourrait essayer avec une structure de contrle SI. Variable Rep : Caractre Dbut Ecrire (Voulez vous un caf ? (O/N)) Lire (Rep) Si Rep <> O ET Rep <> N Alors Ecrire( Saisie erronne. Recommencez) Lire (Rep) FinSi Fin 03/01/2010
59
Structure rptitive(suite)
A quoi cela sert-il donc ?
Si lutilisateur ne se trompe quune seule fois, et entre une valeur correcte la deuxime demande, cest parfait. Par contre, sil commet une deuxime erreur, il faudrait rajouter un SI. Et ainsi de suite, on peut rajouter des centaines de SI, et crire un algorithme lourd. La solution consistant aligner des SI nest pas correcte dans ce cas. La seule issue est dutiliser une structure de boucle.
03/01/2010 60
Structure rptitive(suite)
A quoi cela sert-il donc ?
Qui ce prsente ainsi:
TantQue boolen Faire Instructions FinTantQue
Le principe est simple : lalgorithme arrive sur la ligne du TantQue. Il examine alors la valeur du boolen (qui, je le rappelle, peut tre une variable boolenne ou, plus frquemment, une condition). Si cette valeur est VRAI, lalgorithme excute les instructions qui suivent, jusqu ce quil rencontre la ligne FinTantQue. Il retourne ensuite sur la ligne du TantQue, procde au mme examen, et ainsi de suite. Le cycle ne sarrte que lorsque le boolen prend la valeur FAUX.
03/01/2010 61
Structure rptitive(suite)
A quoi cela sert-il donc ?
Illustration avec notre problme de contrle de saisie. Une premire approximation de la solution consiste crire : Variable Rep :Caractre Dbut Ecrire (Voulez vous un caf ? (O/N)) lire(Rep) TantQue Rep <> O ET Rep <> N Faire Lire (Rep) FinTantQue Fin
03/01/2010 62
Structure rptitive(suite)
A quoi cela sert-il donc ?
Une deuxime approximation de la solution, avec affectation, consiste crire :
Variable Rep :Caractre Dbut Rep X Ecrire (Voulez vous un caf ? (O/N)) TantQue Rep <> O ET Rep <> N Faire Lire (Rep) FinTantQue Fin
Cette manire de procder est connatre, car elle est employe trs frquemment.
03/01/2010 63
Structure rptitive(suite)
Structure rptitive, dite aussi itrative ou boucle permet, de rpter une ou plusieurs actions un certain nombre de fois. On identifie en rgle gnrale 3 types de rptitive :
TantQue Rpter Jusqu' Pour
03/01/2010
64
Structure rptitive(suite)
Tant que Les rptitives o la condition darrt est place au dbut.
Syntaxe :
Tant que <expression logique> faire <squence dinstructions> Ftantque TantQue condition actions FTantQue
Ce qui signifie : tant que la condition est vraie, on excute les actions.
03/01/2010
65
Des Questions ?
03/01/2010
66
Exercices
1.
2.
3.
Ecrire un algorithme qui demande lutilisateur un nombre compris entre 1 et 3 jusqu ce que la rponse convienne. Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu ce que la rponse convienne. En cas de rponse suprieure 20, on fera apparatre un message : Plus petit ! , et inversement, Plus grand ! si le nombre est infrieur 10. crire un algorithme qui demande un nombre de dpart, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 27.
03/01/2010 67
Structure rptitive(suite)
Boucler en comptant, ou compter en bouclant
Il arrive trs souvent quon ait besoin deffectuer un nombre dtermin de passages. Or, a priori, notre structure TantQue ne sait pas lavance combien de tours de boucle elle va effectuer: Cest pourquoi une autre structure de boucle est notre disposition :
la structure : Pour
03/01/2010
68
Structure rptitive(suite)
Variable Num1 : Entier Dbut Num1 0 TantQue Num1 < 15 Faire Num1 = Num1 + 1 Ecrire (Passage numro : , Num1) FinTantQue Fin Variable Num1 : Entier Dbut Pour Num1 = 1 15 Faire Ecrire( Passage numro : , Num1) Num1 Suivant Fin
la structure :Pour est un cas particulier de TantQue : celui o le programmeur peut dnombrer lavance le nombre de tours de boucles ncessaires.
03/01/2010 69
Structure rptitive
Pour
Les rptitives o le nombre ditration est fixe une fois pour toute. Syntaxe :
Pour Compteur = Initial Final Pas ValeurDuPas Instructions Compteur suivant (nest pas indispensable) FPour
03/01/2010
70
Structure rptitive(suite)
la progression du compteur est laisse votre libre disposition. Dans la plupart des cas, on a besoin dune variable qui augmente de 1 chaque tour de boucle. On ne prcise alors rien linstruction Pour ; celle-ci, par dfaut, comprend quil va falloir procder cette incrmentation de 1 chaque passage, en commenant par la premire valeur et en terminant par la deuxime. Si vous souhaitez une progression plus spciale, de 2 en 2, ou de 3 en 3, ou en arrire, de 1 en 1, ou de 10 en 10, il faut prciser votre instruction Pour en lui rajoutant le mot Pas et la valeur de ce pas. Quand on met un pas ngatif dans une boucle, la valeur initiale du compteur doit tre suprieure sa valeur finale si lon veut que la boucle tourne !
03/01/2010 71
Structure rptitive(suite)
Les structures TantQue sont employes dans les situations o lon doit procder un traitement sur les lments dun ensemble dont on ne connat pas davance la quantit, comme par exemple :
le contrle dune saisie. la gestion des tours dun jeu (tant que la partie nest pas finie, on recommence).
Les structures Pour sont employes dans les situations o lon doit procder un traitement sur les lments dun ensemble dont on connat davance la quantit.
03/01/2010 72
Structure rptitive(suite)
Des boucles imbriques:
De mme que quune structure SI ALORS peut contenir dautres structures SI ALORS, une boucle peut tout fait contenir dautres boucles.
Variables Num1, Num2 : Entier Pour Num1 1 15 Ecrire (Il est pass par ici) Pour Num2 1 6 Ecrire (Il repassera par l) Fpour FPour
03/01/2010 73
Structure rptitive(suite)
Rpter..Jusqu :
la condition darrt est place la fin Syntaxe : Rpter <squence dinstructions> Jusqu <expression logique> Frpter Exemple : Num1:=1 Rpter Ecrire (Passage numro : , Num1) Num1 = Num1 + 1 Jusqu (Num1 >= 15 )
03/01/2010 74
Des Questions ?
03/01/2010
75
Exercices
crire un algorithme qui saisie N entier et affiche leur somme et leur moyenne ? 2. crire un algorithme pour calculer et afficher la somme et la moyenne de100 premiers nombres entiers ? 3. crire un algorithme qui permet de calculer S1, S2,S3,S4,S5,S6 tel que:
1.
S1 = 1 + + 1/3 + +..1/N S2 = 1 + + + 1/6 +..1/N S3 = 1 + 1/3 + 1/5 +..1/N S4 = 1 - + - 1/6..1/N S5 = 1 + x+x..xN S6 = 1 + x+x/2.. xN /N
03/01/2010 76
Exercices
4. Ecrire un algorithme qui vrifie si un nombre est premier o pas ? 5. crire un algorithme qui saisit deux entiers, calcule et affiche la somme de ces 2 entiers (on arrte la saisie avec la valeur 0) ? 6. Ecrire un algorithme qui permet de calculer le factoriel dun nombre positif ?
03/01/2010
77
Devoir N 1 N
Une salle de cinma dsire automatiser la gestion de la billetterie pour chaque client qui se prsente, on calcule le prix du billet en fonction des donnes suivantes:
NF : Numro du film Age : Age de spectateur
Le prix normal de la facture est de 30 DH, cependant des remises peuvent tre accorder en fonction du critres suivants :
NF=2 ou Age < 15 remise de 50% NF=2 et Age >75 remise 25% NF=3 et Age < 15 entre refuse
crire un algorithme qui permet de calculer et dcider le prix payer pou chaque client qui se prsente . on arrte la saisie par "non"
03/01/2010 78
Devoir N2 N
Une entreprise dsire automatise la gestion de paie de son personnel. Pour chaque employ, on doit introduire le nom, le prnom, le salaire de base(SB), le nombre d'enfant et l'anciennet(ANC).
Calculer le salaire brute (SB+ le prime + les enfants) et afficher le nom, prnom, l'anciennet 03/01/2010 79 , SB, prime et le salaire brute
Les tableaux
Supposons que nous avons besoin de calculer la moyenne de 12 notes dun tudiant. la seule solution dont nous disposons consiste dclarer douze variables, appeles par exemple: X1, X2, X3,X12. La premire tape est de lire les valeurs de toute ces variables une par une, ce qui nous fait douze instructions de lecture et aprs calculer la moyenne par linstruction:
Moy (X1+X2+X3+X4+X5+NX6+X7+X8+X9+X10+X11+X12)/12
03/01/2010 80
Les tableaux(suite)
Cest pourquoi lalgorithmique (la programmation) nous permet de rassembler toutes ces variables en une seule, au sein de laquelle chaque valeur sera dsigne par un numro.
Un ensemble de valeurs portant le mme nom de variable et repres par un nombre, sappelle un tableau, ou encore une variable indice. Le nombre qui, au sein dun tableau, sert reprer chaque valeur sappelle lindice. Chaque fois que lon doit dsigner un lment du tableau, on fait figurer le nom du tableau, suivi de lindice de llment, entre parenthses. Ex: Nom_tableau(5)
03/01/2010
81
Les tableaux(suite)
Notation et utilisation algorithmique
Dans notre exemple, nous crerons donc un tableau appel Note. Tableau Note(12) : Entier On peut crer des tableaux contenant des variables de tous types : tableaux de numriques, tableaux de caractres, tableaux de boolens, tableaux de tout ce qui existe dans un langage donn comme type de variables. Lnorme avantage des tableaux, cest quon va pouvoir les traiter en faisant des boucles.
03/01/2010 82
Les tableaux(suite)
Notation et utilisation algorithmique
Tableau Note(12) : Entier Variables i, Som : Entier Variable Moy : Rel Pour i 0 11 Ecrire (Entrez la note n, i) Lire( Note(i)) FPour Som 0 Pour i 0 11 Som = Som + Note(i) Fpour Moy = Som / 12 03/01/2010
83
Les tableaux(suite)
Remarque gnrale : lindice qui sert dsigner les lments dun tableau peut tre exprim directement comme un nombre en clair, mais il peut tre aussi une variable, ou une expression calcule. La valeur dun indice doit toujours :
tre gale au moins 0 (dans quelques rares langages, le premier lment dun tableau porte lindice 1). Mais nous avons choisi ici de commencer la numrotation des indices zro, comme cest le cas en langage C. tre un nombre entier. Quel que soit le langage. tre infrieure ou gale au nombre dlments du tableau (moins 1, si lon03/01/2010 commence la numrotation zro).
84
Exercices
crire un algorithme qui dclare et remplisse un tableau de 7 valeurs numriques en les mettant toutes zro. crire un algorithme qui dclare et remplisse un tableau contenant les six voyelles de lalphabet latin. On saisit des entiers et on les range dans un tableau (maximum 50) crire un programme qui affiche le maximum, le minimum et la valeur moyenne de ces nombres.
03/01/2010 85
Exercices
crivez un algorithme permettant lutilisateur de saisir un nombre quelconque de valeurs, qui devront tre stockes dans un tableau. Lutilisateur doit donc commencer par entrer le nombre de valeurs quil compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie termine, le programme affichera le nombre de valeurs ngatives et le nombre de valeurs positives.
03/01/2010 86
Exercices
Que produit lalgorithme suivant ?
Tableau Nb(6) : Entier Variable i en Entier Dbut Pour i 0 5 Nb(i) i * i FPour Pour i 0 5 crire Nb(i) FPour Fin
87
Exercices
Que produit lalgorithme suivant ?
Tableau N(7) en Entier Variables i, k en Entier Dbut N(0) 1 Pour k 1 6 N(k) N(k-1) + 2 FPour Pour i 0 6 Ecrire N(i) FPour Fin
88
Organigramme
Dfinition
un organigramme est la reprsentation schmatique qui permet de faire apparatre dune faon claire et logique lenchanement des diffrentes oprations.
pour
construire
un
Symbole embranchement(choix)
Symbole commentaire
03/01/2010
89
Organigramme
Exemple :
Condition
Instruction 2
Instruction 1
suite
03/01/2010
90
Organigramme
Exemple :Le branchement conditionnel Le
03/01/2010
91
Organigramme
Exemple :Structure rptitive V
instruction
conditio n
03/01/2010
92
Organigramme
Exemple : Structure rptitive F
instruction
conditio n
03/01/2010
93
Notions de sous-algorithme sous Sous-algorithme Nom Nom(liste des paramtres) dclarations des variables locales Dbut Corps du sous-algorihtme Fin Algorithme Nom Dclaration des variables Dbut Instructions Appel du sous-algorithme Instructions Fin
03/01/2010 95
03/01/2010
96
03/01/2010
97
EXERCICES
03/01/2010
99
Exercices
EX0
Ecrire un algorithme qui lit une valeur qlq x et qui dtermine la valeur de lexpression :
1+x+x2++x20
EX1
Ecrire une procdure qui lit N lments en paramtre et retourne la somme de ces lments dans une variable somme.
EX2
Ecrire une fonction entire statistique qui lit 100 notes et retourne le nombre de notes comprises entre 10 et 20 compris
03/01/2010 100
Exercices
EX3
Ecrire un algorithme qui permet de faire les traitements suivants : Soit un tableau T de N entiers 1. Remplir les N cases du tableau 2. Compter le nombre des lments non nuls 3. Trouver le plus grand lments du tableau et le mettre dans la variable MAX 4. Rechercher la place du plus petit lment et le mettre dans la variable position.
03/01/2010 101
Exercices
EX4 Ecrire un algorithme qui cherche dans un tableau non tri si un nombre x existe au moins une fois. EX5 Ecrire un algorithme qui cherche dans un tableau tri si un nombre x existe au moins une fois. EX6 Ecrire un algorithme qui permet de lire les ges de 25 stagiaires(ils ont au moins 23ans et au plus 30ans) et fournit le nombre de stagiaires de chacun des ges. 03/01/2010 102
Exercices
EX7
Le tableau factures contient N constantes de factures, le tableau PAYES de N boolens indique si chacune des factures a t rgles ou pas, on veut recopier squentiellement dans un 3me tableau RESTESAPAYES, les sommes restant dues.
03/01/2010
103
Rcursivit
Un algorithme est dit rcursif lorsquil intervient dans sa description, cest--dire lorsquil est dfini en fonction de lui-mme. Exemple: x0 = 1, xn = x*xn-1 si n1
Fonction fact(x : entier, n : entier):entier Variable Rsultat : entier; Dbut Si(n=0) alors Rsultat =1; Sinon Rsultat = x*fact(x,n-1); Fsi Renvoyer Rsultat; Fin
03/01/2010 104
03/01/2010
105
Dfinition
trier signifie rpartir en plusieurs classes selon certains critres . De manire plus restrictive, le terme de tri en algorithmique est trs souvent attach au processus de classement d'un ensemble d'lments dans un ordre donn. Par exemple, trier N entiers dans l'ordre croissant, ou N noms dans l'ordre alphabtique. Tout ensemble muni d'un ordre total peut fournir une suite d'lments trier.
03/01/2010
106
03/01/2010
108
111
dans le pire des cas, les entiers du tableau sont initialement donns dans l'ordre dcroissant. Dans ce cas, on effectue l'change chaque comparaison, c'est--dire que le nombre d'changes est alors de : Quoi qu'il en soit, la complexit du tri bulle reste en O (N2), c'est--dire du mme ordre de grandeur que le carr du nombre d'lments.
03/01/2010 112
114
03/01/2010
115