Algorithmique & Programmation Prof. FENNI-S Page 1/16 Algorithmique & Programma
Algorithmique & Programmation Prof. FENNI-S Page 1/16 Algorithmique & Programmation (Résumé) • Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un type de problèmes. • Un programme est un texte qui décrit un algorithme que l’on souhaite faire exécuter par une machine. Ce texte est écrit dans un langage particulier appelé « Langage de programmation » qui sont tous plus ou moins organisés autour de quatre familles d’instructions : - l’affectation de variables ; - la lecture / écriture ; - les tests ; - les boucles. I- Les structures de données I.1) Déclaration des constantes En Algorithmique : Tableau de Déclaration des Objets Objets Type/Nature Rôle Général Nom Constante = valeur de la constante Rôle Exemples Annee G Ville Existe Lettre Constante = 2019 Constante = 9.81 Constante = "Chebba" Constante = Vrai Constante = "B" En Pascal : • Syntaxe : CONST <nom_constante> = <valeur_constante> ; • Exemples : CONST annee = 2019 ; g = 9.81 ; ville = ‘Chebba’ ; existe = True ; lettre = ‘B’ ; I.2) Déclaration des variables En Algorithmique : T.D.O Objets Type/Nature Rôle Général Nom Type de la variable Rôle Exemples Code Heure Nb Moy Phrase Let Test Octet Entier Entier Long Réel Chaîne de caractères Caractère Booléen En Pascal : • Syntaxe : VAR <nom_variable> : type_variable ; • Exemples : VAR Code : Byte ; Heure : Integer ; Nb : LongInt ; Moy : Real ; Phrase : String ; Let : Char ; Test : Boolean ; Algorithmique & Programmation Prof. FENNI-S Page 2/16 I.3) Déclaration d’un tableau à une dimension Première formulation EN ALGORITHMIQUE T.D.O. Objet Type/Nature Rôle Ident_tableau Tableau de taille et de type_éléments MOY Tableau de 30 Réels EN PASCAL VAR Ident_tableau : ARRAY [Binf..Bsup] OF Type_éléments ; Exemple : VAR Moy : array [1..30] of real ; Deuxième formulation EN ALGORITHMIQUE Tableau de déclarations des nouveaux types Type Nom_type = tableau de taille et de type_éléments Tab = tableau de 100 chaînes de caractères T.D.O. Objet Type/Nature Rôle Ident_tableau Nom_type T Tab EN PASCAL TYPE Nom_type = ARRAY [Binf..Bsup] OF Type_éléments ; VAR Ident_tableau : Nom_type ; Exemple : Type Tab = Array [1..100] of string ; Var T : Tab ; I.4) Le type Enuméré En algorithmique : Tableau de déclaration des nouveaux types Type Nom_du_type = (valeur1, valeur2, valeur3, …) En pascal : TYPE Nom_du_type = (valeur1, valeur2, valeur3, …) ; Exemples : TYPE JOURS = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ; VOITURE = (renault, citroen, peugeot, ford, toyota) ; VOYELLE = (A, E, I, O, U, Y) ; N.B. Une valeur énumérée ne peut pas être une valeur appartenant à un type prédéfini (entier, réel, caractère, chaîne, booléen). I.5) Le type Intervalle En algorithmique : Tableau de déclaration des nouveaux types Type Nom_du_type = borne inférieur . . borne supérieur En pascal : TYPE Nom_du_type = borne inférieur . . borne supérieur ; Exemples : TYPE JOURS = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ; JOUR_TRAVAIL = lundi . . vendredi ; MOIS = 1 . . 12 ; ALPHA = ‘a’ . . ‘z’ ; LES STRUCTURES DE DONNEES Prof : FENNI-S ANNEXE I Nom Algorithmique Code en Pascal Type de x Type du résultat Rôle Exemples en Pascal Abs (x) ABS (x) entier/réel type de x valeur absolue de x ABS (-4) = 4 ; ABS (-5.7) = 5.7 Carré (x) SQR (x) entier/réel type de x carré de x SQR (2) = 4 ; SQR (2.5) = 6.25 Racine_Carré (x) SQRT (x) entier/réel réel racine carrée de x SQRT (25) = 5.00 ; SQRT (6.25) = 2.5 Cos (x) COS (x) entier/réel réel cosinus de x (x en radians) COS (PI/2) = 0.00 Sin (x) SIN (x) entier/réel réel sinus de x (x en radians) SIN (PI/2) = 1.00 Tang (x) TAN (x) entier/réel réel tangente de x (x en radians) TAN (PI) = 0.00 Ln (x) LN (x) entier/réel réel logarithme népérien de x LN (1) = 0.00 Exp (x) EXP (x) entier/réel réel exponentiel de x EXP (0) = 1.00 Tronc (x) TRUNC (x) réel entier partie entière de x TRUNC (3.15) = 3 TRUNC (-3.15) = -3 Ent (x) INT (x) réel réel partie entière de x INT (3.15) = 3.00 Arrondi (x) ROUND (x) réel entier entier le plus proche de x ROUND (9.49) = 9 ROUND (-9.5) = -10 Frac (x) FRAC (x) réel réel partie décimale de x FRAC (2.45) = 0.45 Aléa RANDOM - réel renvoie un réel aléatoire dans [0, 1[ 0.36 ; 0.075 ; 0.98 ; 0.02 ; … Aléa (x) RANDOM (x) entier (mot) entier (mot) renvoie un entier aléatoire dans [0, x-1] Random (7) renvoie un entier dans [0, 6] Odd (x) ODD (x) entier long booléen VRAI si x est impair FAUX si x est pair ODD (3) = True ODD (8) = False Inc (x) INC (x) ; scalaire type de x Procédure, qui incrémente x INC (x) ; l’équivalent de x x +1 INC(x, n) ; l’équivalent de x x + n Dec (x) DEC (x) ; scalaire type de x Procédure, qui décrémente x DEC (x) ; l’équivalent de x x - 1 DEC(x, n) ; l’équivalent de x x - n Pred (x) PRED (x) scalaire type de x prédécesseur de x, s’il existe PRED (5) = 4 ; PRED (‘C’) = ‘B’ PRED (True) = False Succ (x) SUCC (x) scalaire type de x successeur de x, s’il existe SUCC (5) = 6 ; SUCC (‘C’) = ‘D’ SUCC (False) = True Chr (x) CHR (x) octet caractère caractère dont le code ASCII est x CHR (65) = ‘A’ ; CHR (97) = ‘a’ Ord (x) ORD (x) scalaire entier long rang de la valeur x ORD(‘A’)=65 ; ORD(18)=18 ; ORD(true)=1 Majus (x) UPCASE (x) caractère caractère majuscule de x, s’il est possible UPCASE (‘b’) = ‘B’ ; UPCASE (‘R’) = ‘R’ UPCASE (‘4’) = ‘4’ ; UPCASE (‘?’) = ‘?’ * Un type scalaire est un ensemble fini et ordonné de valeurs (Entier, Caractère, Booléen, Enuméré, intervalle). LES STRUCTURES DE DONNEES Prof : FENNI-S ANNEXE II Les fonctions standard relatives aux chaînes de caractères Syntaxe Rôle Type Exemples en Pascal En Algorithmique En Pascal Paramètres d’entrée Résultat Long (ch) Length (ch) Retourne un entier représentant la longueur de ch. Long (ch) = ord (ch[0]) Chaîne/Caractère Entier Lg := Length ('L''école'); lg = 7 Lg := Length ('') ; lg = 0 Lg := Length (' ') ; lg = 1 Pos (ch1, ch2) Pos (ch1, ch2) Retourne la première position de la chaîne ch1 dans la chaîne ch2. Chaîne/Caractère Entier P := Pos ('T', 'ATTENTION') ; P = 2 P := Pos ('gra', 'Program') ; P = 4 P := Pos ('R', 'Professeur') ; P = 0 Sous_Chaîne (ch, p, n) Copy (ch, p, n) Retourne une sous chaîne de n caractères à partir de la position p de la chaîne ch. Chaîne/Caractère, Entier, Entier Chaîne CH 1:= Copy ('Langage', 4, 3) ; CH1 = 'gag' CH 2:= Copy ('Bonjour', 4, 10) ; CH2 = 'jour' Concat (ch1, ch2, …) Concat (ch1, ch2, …) Retourne la concaténation de plusieurs chaînes en une seule. C'est l'équivalent de ch1+ch2+… Chaîne/Caractère Chaîne CH2 := ' Janvier' ; CH1 :='14' ; CH3 := Concat (ch1, ch2, '2011') ; CH3 = '14 Janvier2011' Les procédures standard relatives aux chaînes de caractères Syntaxe Rôle Type Exemples en Pascal En Algorithmique En Pascal Paramètres d’entrée Résultat Efface (ch, p, n) Delete (ch, p, n) ; Supprime N caractères de CH à partir de la position P. Chaîne, Entier, Entier Chaîne CH := 'Merci' ; Delete (CH, 4, 2) ; CH = 'Mer' Insère (ch1, ch2, p) Insert (ch1, ch2, p) ; Insère une chaîne CH1 dans une autre CH2 à la position P. Chaîne/Caractère, Chaîne, Entier Chaîne CH1 := 'DA' ; CH2 := 'DIC' ; Insert (CH1, CH2, 3) ; CH2 = 'DIDAC' ConvCh (n, ch) Str (n, ch) ; Convertit une valeur numérique N en une chaîne CH. Numérique, Chaîne Chaîne STR (2019, CH) ; CH = '2019' STR (14.52, CH) ; CH = '1.4520000000E+01' STR (14.52:8:3, CH) ; CH = '14.520' Valeur (ch, n, err) Val (ch, n, err) ; Convertit une chaîne de caractères CH en une valeur numérique N. De plus, elle fournit un code d'erreur ERR qui indique si l'opération s'est déroulée correctement. Chaîne/Caractère, Numérique, Entier Numérique, Entier VAL ('2010', N, Err) ; N = 2010 et Err = 0 VAL ('0045', N, Err) ; N = 45 et Err = 0 VAL ('5E+3', N, Err) ; • Si N est de type entier : N = 0 et Err = 2 • Si N est de type réel : N = 5000 et Err = 0 Algorithmique & Programmation Prof. FENNI-S Page 3/16 II- Les structures simples II.1) L’opération d’affectation Analyse / uploads/Management/ resume-algo-2019.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/OgmRb45ouNZBSdAGz5JkWHRL6J43GYfDNMOEJCku8tDLbGjF5XpI6qteJYzftaoa0c2B18Wb20Q9C65BJfAHXA2o.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/fwQJhxmoO4D9ujEI9TSMq81S9QbYOAGM9vQLG0uVHgRs72tOe3GJ4NAitAqzrIfaUQIwtwotsVv6zTVGSw9XQufH.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/3O11UlHl9wc8DjJ3TyFE1R8B6v9zwBiJvr5UMQD5DVdSZi1kCeIC8EYkVgf0uQj7BZjNtwe2l9wqx4Qnp1cwwt0P.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/mYArHCMIb2iXSas5HrxSDHZg4oo4kQV5JczHV2475BlIDEbSRQjYRLcGKua3OWdOdFvWLwRjebamqLIn2vFD28Nr.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/9T4KMxJ74KVmkCYsD40LmbRWTWmire0ezVsYCVTwNysJEFyEn60ugAoaHspPOzDu7ucVZrQEO9SOKqVMq5rN8HKv.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/62kFDxvYZA0hbWHyfpFHx0RbdS8O9kfWPKgqPb82c8k2OUXSqTNfyG7YPsSOv6Pa6sjO71TnEiF9cYBtx2LpKgrR.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/SbgVDr4LKoWLaPvq1WLhyg18cXmgFG9vKafBLpKNkGvsvrMs3ZkC9MUY5XCYnnnR2LuS3vGvNlbTnUNxfTFfblBP.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/wvnAwf03J1ljWXyIC1heDJwYWmwpSpwqX6Kj0II4UiErxYKJFkmJmCnnpBmSkPbL5nM4dqTjnB9CeM0qeMcejdMO.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/5LQEtjKV6lCyvS4J5JnuVCiKxWosPi7fZLUbKsWrsIfWlTiKNIVkKbnXMWJD5ZLiu3bZXlgQwegdfWHOPaTmFELa.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/aSGlPGftSEXNbMum6INIrqmYASGiPSGAZWkia24opu4egEaR7fO0kbMvj1YcARocvA3rRVfSB8vwZyTNbSJlBWub.png)
-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 11, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.5795MB