Escolar Documentos
Profissional Documentos
Cultura Documentos
Avant Propos
Certains voient, tort, dans l'ordinateur une machine pensante et intelligente, capable de rsoudre bien des problmes. En fait, celui-ci ne serait capable de rien si quelqu'un (le programmeur en l'occurrence) ne lui avait fourni la liste des actions excuter.
Bus
Units dentresortie
Problme
2*x + 3 = 0 0*x + 0 = 0
10*x - 1= 0 0*x + 3 = 0
??
a*x + b = 0
??
nonc non prcis : Problme informel Spcification Analyse Programmation Langage de programmation : Pascal,.. Compilation Excutable du programme Excution Rsultat nonc prcis : Problme formel
Algorithme
Algorithme
Dfinition : Encyclopdie Universalis Un algorithme est une suite finie de rgles appliquer dans un ordre dtermin un nombre fini de donnes pour arriver, en un nombre fini d'tapes, un certain rsultat, et cela indpendamment des donnes
Algorithme
Dfinition :
Cest un pseudo-langage qui est conu pour rsoudre les problmes et applications sans aucune contrainte due aux langages de programmation et aux spcificits de la machine. Ce pseudo-langage sera ensuite traduit et cod dans le langage de programmation dsir.
Langage Assembleur
Dfinition : Le langage Assembleur est un langage qui utilise des instructions sous forme symbolique (ADD, MOVE). Lassembleur est li au microprocesseur, puisque cest le seul langage que le microprocesseur comprend.
Langage de programmation
Dfinition : On appelle langage de programmation tout ensemble fini de mots rservs qui permettent de traduire les instructions de lalgorithme afin de lexcuter par lordinateur. Exemple : Turbo Pascal, Cobol, Fortran, C, Delphi, Visual Basic (VB), C++, Java etc...
Programme source
Dfinition : Le programme source est le premier rsultat de la traduction dun algorithme en un langage volu :
Compilateur
Dfinition : On appelle compilateur tout programme spcial qui permet davoir un programme excutable partir dun programme source:
Titre du Problme
Dclaration des Constantes
Dclaration des Variables Dclaration des Tableaux Dclaration des Procdures et Fonctions
Dmarche suivre pour rsoudre un problme donn: Identifier les donnes du dpart (entres) et celle(s) quil faut obtenir (sorties); Structurer les donnes (variables ou constantes, type...); Rflchir pour dterminer les action ncessaires lobtention des rsultats ; Prsenter les rsultats.
Objet
Dfinition : Un objet est toute partie identifiable de linformation au cours dun traitement. Il est caractris par son nom, son type et sa valeur. Lensemble des objets manipuls par un algorithme est appel: environnement de cet algorithme. Remarque : Les objets manipuls par un ordinateur sont : Les Constantes et Les Variables
Les constantes
Dfinition : Les Constantes dsignent des rfrences des valeurs invariantes dans le programme Syntaxe de la dclaration : Constante Exemple : Constante Pi = 3.14 Nom_Constante = Valeur
Les variables
Dfinition : Ce sont des rfrences (adresses mmoires) o vont tre stockes des valeurs variables. Les diffrentes valeurs dune rfrence vont appartenir au type de donnes auquel appartient la rfrence. Remarques :
1- Le nom dune variable suite de caractres qui permet didentifier la variable dune manire unique dans un algorithme. 2- Il existe diffrents types de variables.
Type Entier
Dfinition : Cest lensemble des nombres entiers positifs ou ngatifs. Syntaxe de la dclaration : Variable Exemple : Variable a,b : Entier
a et b sont, par exemple, les coefficients de lquation : ax + b = 0
variable1,variable2, : Entier
Type Rel
Dfinition : Cest lensemble des nombres rels, cest dire les nombres dcimaux sans limitation. Syntaxe de la dclaration : Variable Exemple : Variable x,y : Rel variable1,variable2, : Rel
Dfinition : Cest une suite de caractres, cest dire des combinaisons de caractres (lettres, chiffres, symboles..). Syntaxe de la dclaration : Variable Exemple : Variable Nom, Catgorie : Caractre variable1,variable2, : Caractre
Type Boolen
Dfinition : Il sagit des objets qui ne peuvent prendre que deux valeurs vrai ou faux. Syntaxe de la dclaration : Variable Exemple : Variable Dcision : Boolen variable1,variable2, : Boolen
Instruction et Action
Dfinition : On appelle instruction toute commande lmentaire que lon doit appliquer sur des objets pour avoir des sorties bien dfinies. Dfinition : Une action est un vnement qui change ltat dun objet dun tat initial donn un tat final dsir. Une action a une dure dexcution finie et un effet propre et bien dfini. Chaque action porte sur des objets sur lesquels elle sexcute : L'Action est une seule instruction ou un groupe dinstructions
La partie manipulation doit commencer par le mot DEBUT et se termine par le mot FIN :
DEBUT
Instruction 1 Instruction 2 . . Instruction n Action
FIN
La partie manipulation utilise les diffrents objets dclars dans la partie dclaration et leur applique des oprations afin de retourner le(s) rsultat(s) attendu(s) par le programmeur. Pour ce fait, il y a diffrentes actions, dites instructions, savoir : Instructions de dialogue Homme-Machine ;
Laffichage des informations: Pour faire comprendre quil faut afficher des informations lcran, on utilise linstruction crire qui obit la syntaxe suivante : crire (Variable ou Message ) Exemples :
crire ( Saisissez la valeur de a ) crire ( Saisissez la valeur de b ) crire ( Saisissez les valeurs de a et b ) crire (Le rsultat trouv est :, r ) crire (r)
Instruction Homme-Machine
La Saisie des informations: Pour indiquer dans un algorithme que telle donne doit tre lue par le systme, on utilise linstruction lire qui obit la syntaxe suivante : Lire(Variable) Exemple :
crire ( Saisissez la valeur de a ) Lire(a)
Instruction daffectation
Dfinition: Cest le stockage dune valeur un endroit spcifique(variable). Pour affecter une valeur une variable, on crit : Variable Exemple :
Variable Variable Variable valeur 1 + valeur 2 valeur 1 * valeur 2 valeur + Variable1
Valeur
Les variables sont des rfrences (adresses mmoires) o vont tre stockes des valeurs qui peuvent changer au cours de lexcution du programme. Les mmoires sont repres par des numros (pour lordinateur) ou des noms (pour le programmeur, qui a intrt choisir des noms significatifs). Chaque fois quon procde une nouvelle affectation, lancien contenu de la mmoire est perdu et un nouveau contenu est plac dans la mmoire. Les constantes correspondent des zones mmoires dont le contenu ne peut pas varier. A octet n 52
01000001
Exercice
Quels rsultats produit lalgorithme suivant? Les types de variables sont-ils corrects
Titre : Calcul Variable Dclaration Manipulation Fin A: Entier C,B : Rel D : caractre E : Boolen
Dbut
A 30 B A * 2 crire('B=' , B) C B D
E (A > 40) Ou (C < B) crire('les valeurs obtenues sont : A = ' , A , 'B = ' ,B , ' C = ', C , ' D = ', D, ' E = ', E)
(B + A)/4 C / 5 Amine
Instruction
Aprs linstruction A 30 Aprs linstruction BA*2 Aprs linstruction C (B + A)/4 Aprs linstruction B C/5 Aprs linstruction D Amine' Aprs linstruction E (A >40) Ou (C<B)
A 30 30 30 30 30 30
60 60
22.5
4.5 22.5
Exercice
nonc: crire lalgorithme permettant le calcul de la surface dun cercle connaissant son rayon : Surface = * Rayon2 Entre :
La valeur du rayon
Manipulation
Sortie :
La Surface calcule
Solution
Titre : Surface dun cercle Dclaration : Constante Pi=3.14 Variable Rayon : Entier Variable Surface : Rel
Manipulation : DEBUT crire ( 'Saisir la valeur du rayon' ) Lire(Rayon) Surface Rayon * Rayon * Pi crire (' La Surface du cercle est : ', Surface) FIN
Exercice
Exemple : crire lalgorithme qui permet de dterminer le salaire mensuel dun commercial sachant que ce salaire comporte un montant fixe de 4000 DHS et une commission qui reprsente 10% du chiffre daffaire ralis par mois.
- Analyse du problme Recenser les donnes dont on dispose, celles quon cherche produire
Algorithme
Titre : Commission Dclaration : Constante M = 4000 Variable CA : Entier * Donne dentre* Com : Rel * Donne intermdiaire* Sal : Rel * Donne de sortie* Manipulation : DEBUT crire ('Donner le CA mensuel en DHS') Lire(CA) Com CA * 10/100 Sal Com + M crire ('Le salaire mensuel est de : ', Sal, ' en DHS ' ) FIN
Problme
crire un algorithme qui calcule la moyenne gnrale dun tudiant sachant que celle-ci se calcule de la manire suivante :
Moyenne = [ 3 * Note(Biologie) + 2* Note(Gologie) + Note(LCI)] / 6
Variable 1
Oprateur Variable 2
+ * /
% ou mod div
Oprateur
Signification
gal Infrieur Suprieur Infrieur ou gal Suprieur ou gal diffrent
iii) Les oprateurs logiques de relation : On peut combiner des conditions laide des oprateurs logiques :
Oprateur
Et Ou Non Ou = Xor
Signification
Exemple :
Expression
(4 <7) ET (9>0) (1 < 0) OU (1<>1) Non(13.4 < 15)
Priorit de *, / div et % par rapport + et 5 + 9 * 3 = 32 et non 42 5*9+3 = 48 et non 60 Pour les oprateurs de mme priorit, associativit partir de la gauche 15 / 5 * 3 = 9 et non 1 5 2 + 4 = 7 et non 1 On peut utiliser des parenthses pour changer lordre des oprations : 15 / (5 * 3) = 1 (5 + 9 ) * 3 = 42
Variables de type entier *, / , % , div , + et Variables de type Rel *, / , + et Variables de type caractre ou chane de caractres + , CONCAT , Suc, Pred Variables de type Boolen Les oprateurs logiques de relation : et, ou, non
Linstruction Si : Pour exprimer le fait que des instructions vont tre excutes dans un cas alors que dautres instructions peuvent tre excutes dans lautre cas, on utilise une structure alternative. Syntaxe : Si condition alors Actions 1 [ Sinon Actions 2] Finsi Option Facultative
Exemples :
Titre : Test 1 Variable x : entier Dbut crire ('Saisir un entier x ') Lire (x) Si (x > 0) alors crire('x est un nombre positif ') Finsi Fin
Titre : Test 2 Variable x : entier Dbut crire ('Saisir un entier x ') Lire (x) Si (x > 0) alors crire (' x est un nombre positif ') Sinon crire (' x est un nombre ngatif ou nul') Finsi Fin
Exemple :
Dans lexercice o on a calcul la moyenne gnrale, Afficher Admis si un tudiant a une moyenne gnrale >=10 et Afficher Ajourn dans le cas contraire (Moyenne gnrale < 10).
Solution :
.(Reste de lalgorithme) Si (MG >= 10) alors crire ('Admis') Sinon crire ('Ajourn') Finsi FIN
Exercice : crire lalgorithme qui permet de calculer le maximum de deux entiers quelconques.
Exercice :
crire lalgorithme qui permet de dterminer le salaire mensuel dun commercial sachant que ce salaire comporte un montant fixe de 4000 DHS et une commission qui reprsente 5% du chiffre daffaire ralis par mois si ce chiffre est < 30000 et de 10 % dans le cas contraire .
Algorithme
Suite de lalgorithme Si (CA < 30000) alors Com CA * 0.05 Sinon Com CA * 0.1 Finsi Sal Com + M crire ('Le salaire mensuel est de : ', Sal , 'DHS')
FIN
Exercice : Compliquons un peu lnonc: La commission est calcule de la manire suivante : Commission = 15% du CA quand CA > 100000 Commission = 10% du CA quand 30000 < CA < = 100000 Dans le cas contraire pas de commission crire lalgorithme qui permet de dterminer le salaire mensuel.
Algorithme
Suite de lalgorithme Si (CA > 100000) alors Com CA * 0.15 Sinon Si (CA > 30000) alors Com CA * 0.1 Sinon Com 0 Finsi Finsi Sal Com + M crire ('Le salaire mensuel est de : ', Sal , 'DHS') FIN
Linstruction Suivant Cas : Linstruction Suivant cas constitue une structure alternative la forme en bloc [Si Alors Sinon] et permet de formuler de manire plus simple le choix du groupe dinstructions.
Syntaxe :
Suivant Cas variable Faire Cas Valeur 1 Actions 1 Cas Valeur 2, Valeur3, Valeur 4 Actions 2 Cas Valeur 5 Valeur 7 Actions 3 .. .. Sinon Cas Actions N Fin Suivant
Exercice :
crire lalgorithme qui permet de dterminer le nombre de jours dun mois dune anne donne
.Reste de lAlgorithme Suivant Cas M Faire Cas 2 Action 1 Cas 1, 3, 5, 7, 8, 10 , 12 Action 2 Cas 4, 6, 9, 11 Action 3 Sinon Cas crire ( 'Attention : Mois Incorrect ') Fin Suivant FIN
Exercice : Un club de sport dsire automatiser sa gestion. Les tarifs annuels dinscription sont dfinis ainsi : De 0 3 ans ne sont pas autoriss sinscrire De 3 6 ans : gratuit De 6 12 ans: 1000 DHS De 12 26 ans : 1500 DHS Plus de 26 ans : 2000 DHS
Problme : crire un algorithme permettant dafficher 300 fois le message : bonjour tout le monde. Solution Classique : DEBUT crire (' Bonjour tout le monde ') crire (' Bonjour tout le monde ') . . crire (' Bonjour tout le monde ') FIN 1 2 300
<initialisation>
Tant que Condition Faire
Action
* Initialisation *
Tant que (i < 300) Faire crire (' Bonjour tout le monde ') i i+1 Fin tant que FIN
Titre : Boucle1 Variable i , y : Entier Dbut i2 y0 Tant Que (i<7) faire i i+1 y y+i crire (' y = ' , y) Fin Tant que Fin
Titre : Boucle2 Variable n : Entier Dbut n 15 Tant Que (n<>0) faire crire (n) n n-2 Fin Tant que Fin
Smantique : Si valeur(T)= Faux la boucle est nouveau excute. Si Valeur(T)=Vrai, on passe l'instruction suivante. Avec Faire jusqu le test est fait POSTERIORI. Il y aura un passage dans la boucle. Le bloc dinstructions sera excut au moins une fois. La boucle nest pas INCONDITIONNELLE. On ne connat pas lavance le nombre ditrations.
Exemple
Titre : Boucle2 Variable i , y : Entier Dbut i2 y0 faire i i+1 y y+i crire (' y = ' , y) Jusqu (i <7) Fin
Valeurs de y ?
Exemple
Titre : Boucle3 Variable i , y : Entier Dbut i2 y0 faire i i+1 y y+i crire (' y = ' , y) Jusqu (i = 7) Fin
SN = 1 + 2 + 3 + + N
Exercice :
Solution : Titre : alphabet lettre: Caractre * parcourir les lettres de l'alphabet* Dbut Variable Pour lettre ' a ' Faire crire(lettre) FinPour lettre = ' z '
Et
Si T alors Faire R Jusqu non(T) FinSi R Tant Que non(T) faire R Fin Tant Que
terme dune suite numrique connaissant son premier terme et ses coefficients a et b et tels que:
Un = a * Un-1 + b
1 n N
2- crire un algorithme permettant de dfinir le rang N et le terme correspondant de la suite tels que UN > 1000
DEBUT crire (' Saisir la valeur de N: ') Lire (N) crire ('Saisir la valeur du premier terme et les coefs a et b:') Lire (S , a, b ) Pour i 1 N faire S a * S + b Fin Pour crire ( ' La somme de la srie est : ', S ) FIN
DEBUT crire ('Saisir la valeur du premier terme et les coefs a et b:') Lire (S , a, b) N 0 Faire S a * S + b N N + 1 Jusqu S > 1000 crire (' La somme de la srie est : ', S) crire (' Le rang est : ', N ) FIN
Exercice :
Type Tableau
Dfinition : Un tableau permet de reprsenter un ensemble de valeurs ayant des proprits communes et appartenant toutes au mme type. Ces variables sont identifies par un mme nom mais un numro de repre(indice) pour chacun. Remarque : 1- Un tableau peut tre dune ou plusieurs dimensions. 2- La syntaxe de la dclaration dun tableau change selon la dimension de ce dernier
Syntaxe de la dclaration : Tableau une dimension : Tab Nom-Tableau[nombre de valeurs supportes] : Type
Tableau plusieurs dimensions : Tab Nom-Tableau[nombre de valeurs supportes en dimension1, nombre de valeurs supportes en dimension 2, , ] : Type
Exemples : Tableau une dimension : - Un tableau pour enregistrer les salaires de 30 employs : Tab Salaires[30] : Rel Salaires[16] = 4000.50 Tableau plusieurs dimensions : - Une matrice dentiers de 5 lignes et 7 colonnes : Tab Matrice-Test[5,7 ] : Entier
Matrice-Test[2,3] = 13
Dfinition : Ce sont des sous-programmes auxquels on peut faire rfrence lintrieur dun programme . Ils sont conus pour viter les rptitions et pour dcouper des programmes jugs trop longs ce qui facilite la lisibilit du programme principal. Remarques : 1- Les Fonctions et les Procdures sont caractrises par des paramtres dentre et des paramtres de sortie. 2-La fonction retourne une seule valeur tandis que La procdure peut retourner plusieurs valeurs ou aucune.