Algorithmique et programmation Enseignant : AHMED BELHASSEN 1 Chapitre Les stru
Algorithmique et programmation Enseignant : AHMED BELHASSEN 1 Chapitre Les structures de données & les structures simples Objectifs spécifiques : - Identifier et utiliser les structures de données pour résoudre un problème - Comprendre le déroulement d’un algorithme comportant des affectations et des opérations d’entrée/sortie. Plan de chapitre : I. Les constantes et les variables II. Les types de données III. Les structures simples IV. Les types énumérés V. Les types utilisateurs VI. Les tableaux Temps prévue : 16h Algorithmique et programmation Enseignant : AHMED BELHASSEN 2 I. Les constantes et les variables 1. Activité 1 Soit le programme pascal suivant : PROGRAM act1 ; USES WINCRT ; BEGIN WRITELN ('Donner le rayon : '); READLN (r); s := pi * r * r; WRITELN ('Surface = ',s); END. Questions : 1) Lancer Turbo pascal. 2) Taper ce programme. 3) Compléter la partie manquante. 4) Exécuter ce programme et observer les sorties écran. 5) En déduire le rôle de ce programme. Solution : 3) PROGRAM solact1 ; USES WINCRT ; CONST pi = 3.14; VAR s, r : REAL; BEGIN WRITELN('Donner le rayon : '); READLN(r); s := pi * r * r; WRITELN ('Surface = ',s); END. 5) Le rôle de ce programme est de calculer et d’afficher la surface d’un cercle pour un rayon donné. 2. Les constantes a) Définition Une constante est une donnée dont la valeur reste fixe durant l’exécution d’un programme. b) Caractéristiques Une constante est caractérisée par un nom qui est son identificateur unique en plus d’une valeur inchangeable qui nous permet de déterminer implicitement le type de cette dernière. Algorithmique et programmation Enseignant : AHMED BELHASSEN 3 c) Déclaration En algorithmique, on déclare une constante comme suit : Objet Type/nature Général Nom Constante = valeur de la constante Exemple P1 Constante = 9.8 En PASCAL, on déclare une constante comme suit : Const nom=valeur de la constante ; Exemple : Const PI = 3.14 ; 3. Les variables a) Définition Une variable est un objet pouvant prendre différentes valeurs tout le long de l’exécution d’un algorithme ou d’un programme. b) Caractéristiques Une variable est caractérisée par : - Un nom (identificateur unique) - Un contenu - Un type c) Déclaration En algorithmique, on déclare une variable comme suit : Objet Type/nature Général Nom Type de la variable Exemple m Réel En PASCAL, on déclare une variable comme suit : Var nom : type ; Exemple : Var k : REAL ; Algorithmique et programmation Enseignant : AHMED BELHASSEN 4 II. Les types de données 1. Les types numériques a. Le type Entier i) Déclaration Au niveau de l’algorithme : Objet Type/nature Général Nom Entier Exemple i , j , k Entier Au niveau du PASCAL : Var i, j, k : INTEGER ; Remarque : Le langage PASCAL a cinq types entiers prédéfinis. Chaque type a un domaine de définition spécifique. Type Domaine de définition Nombre de bits SHORTINT -128..127 Signé 8 bits INTEGER -32768..32767 Signé 16 bits LONGINT -2147483648..2147483647 Signé 32 bits BYTE 0..255 Non signé 8 bits WORD 0..65535 Non signé 16 bits ii) Les opérateurs arithmétiques et leurs priorités Soit l’opération suivante : C = A + B avec Désignation de l’opération Priorité des opérateurs Opérateur Type des opérandes En algorithme En Pascal Parenthèses 1 (…) (…) Tout type Multiplication 2 x * Entier ou réel Division réelle / / Réel Division entière DIV DIV Entier Reste de la division entière MOD MOD Entier Addition 3 + + Entier ou réel Soustraction - - Entier ou réel C : résultat A et B : opérandes + : opérateur Algorithmique et programmation Enseignant : AHMED BELHASSEN 5 Egale 4 = = Tout type ordonné Différent ≠ <> Tout type ordonné Inférieur < < Tout type ordonné Supérieur > > Tout type ordonné Inférieur ou égale ≤ <= Tout type ordonné Supérieur ou égale ≥ >= Tout type ordonné L’appartenance 5 DANS IN Type scalaire iii) Application 1 Donner le type et le résultat des expressions suivantes, ou bien dire si elles ne sont pas bien formées. 1. ( 2 + 3 ) * 4 2. 2 + ( 3 * 4 ) 3. ( 3 * ( 1 + 2 ) ) + 4 5. 2 + 3 * 4 6. 2 * 3 + 4 DIV 3 7. 2 + ( 3 + 4 * 2 ) * 5 8. ( 10 DIV 5 ) / 2 9. 8 + 4 * 3 DIV 2 10. 6 MOD 4 * 2 DIV 3 11. 7 DIV ( ( 5 MOD 3) MOD 4) 12. ( 12 > 24 ) + ( 2 + 4 =12) 13. 12 > 3 > 4 Solution 1. Entier : 2 + 3 donne 5 , multiplié par 4 donne 20 2. Entier : 3 * 4 donne 12, ajouté à 2 donne 14 3. Entier : 1 + 2 donne 3, multiplié par 3 donne 9 , ajouté à 4 donne 13 4. Réel : calcul de SIN (0) puis multiplication par 5.0 donne 0 * 5 = 0 5. Entier : donne 14 car la sous-expression 3 * 4 est d’abord évaluée ( priorité de * supérieur à + ) 6. Entier : donne 7 car la sous-expression 2 * 3 est d’abord évaluée, puis la sous-expression 4 DIV 3 et enfin l’addition des résultats partiels 6 et 1 est effectuée 7. Entier : donne 57 (4 * 2 puis ajouter 3 donne 11, multiplier par 5 puis ajouter 2) 8. Réel : donne 1.000 9. Entier : donne 14 : 4 * 3 donne 12 divisé par 2 donne 6 ajouté à 8 donne 14 10. Entier : donne 1 11. Entier : donne 3 12. Erreur : booléen + booléen 13. Erreur : 2 expressions de comparaisons sans opérateurs booléen ( 12 > 3 et 3 > 4 ) Algorithmique et programmation Enseignant : AHMED BELHASSEN 6 b. Le type réel i) Activité 2 Soit le programme pascal suivant : PROGRAM act2; USES WINCRT; VAR a , b , c :INTEGER; BEGIN WRITE('a= ');READ(a); WRITE('b= ');READ(b); c:=a/b; WRITELN('c = ' , c); END. Questions : 1) Lancer Turbo pascal. 2) Taper ce programme. 3) Compiler ce programme. 4) Qu’est ce que vous remarquez ? 5) Corriger les erreurs de compilation. Solution : PROGRAM solact2; USES WINCRT; VAR a,b:INTEGER; c:REAL; BEGIN WRITE('a= ');READ(a); WRITE('b= ');READ(b); c:=a/b; WRITELN('c = ' , c); END. ii) Déclaration Au niveau de l’algorithme : Objet Type/nature Général Nom Réel Exemple x , y Réel Au niveau du PASCAL : Var x, y : REAL ; Algorithmique et programmation Enseignant : AHMED BELHASSEN 7 c. Les fonctions arithmétiques standards La bibliothèque TURBO PASCAL, comme celle de la plupart des langages de programmation, est riche en fonctions arithmétiques dont voici les plus utilisées : Les fonctions arithmétiques standards Syntaxe en algorithme Syntaxe en Pascal Rôle de la fonction Type de x Type de résultat Exemples Abs (x) ABS (x) Retourne la valeur absolue de x. Entier ou réel Même type que x R : = ABS (-12) ; R= 12. Carré (x) SQR (x) Retourne le carré de x. Entier ou réel Même type que x R: = SQR (12); R= 144. RacineCarré (x) SQRT(x) Retourne la racine carré de x si x est positif sinon il provoque une erreur. Réel Réel R: = SQRT (9); R= 3. Aléa RANDOM Retourne un réel compris entre 0 et 1 exclus. Entier Entier Aléa pourrait produire 0.36 par exemple. Aléa (x) RANDOM(x) Retourne un entier compris entre 0 et n-1. Entier Entier Aléa (9) pourrait produire 2 par exemple. Arrondi (x) ROUND (x) Retourne l’entier le plus proche de x. Réel Entier R: = ROUND (3.7); R= 4. Tronc (x) TRUNC (x) Retourne un entier, en ignorant la partie décimale de x. Réel Entier R: = TRUNC (3.7); R= 3. ENT(x) INT(x) Donne la partie entière d’un réel. Entier ou réel Entier R: = ENT (3.7); R= 3. FRAC(x) FRAC(x) Donne la partie fractionnaire d’un réel. Réel Réel R: = FRAC (3.7); R=0.7. Cos (x) COS (x) Retourne le cosinus de x (x en radians). Réel Réel R:= COS (0.48); R= 0.88. Sin (x) SIN (x) Retourne le sinus de x (x en radians) Réel Réel R: = SIN (0.48); R= 0.46. Tang(x) ARCTAN (x) Retourne la valeur en radians de l’arc tangente de x. Réel Réel R: = ARCTAN (0.48); R= 0.44. Exp (x) EXP (x) Retourne l’exponentielle de x. Réel Réel R:= EXP (0.48); R= 1.61. Ln (x) LN (x) Retourne le logarithme népérien de x si x est positif sinon il provoque une erreur. Réel Réel R:= LN (0.48); R= -0.73 Algorithmique et programmation Enseignant : AHMED BELHASSEN 8 i) Application 2 1) Donner les expressions arithmétiques correspondantes aux expressions suivantes écrites en PASCAL : SQRT (2*a+3/b-2)/3+x 4*x/c*6-x 10*x/2+x 2) Réciproquement, écrire en PASCAL les expressions arithmétiques suivantes : ² +1 ² Solution : 1) uploads/s3/ algorithmique-et-programmation 2 .pdf
Documents similaires










-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 26, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 2.4350MB