krimo1301 عضو جديد
عدد المساهمات : 7 نقاط : 4511 السٌّمعَة : 0 تاريخ التسجيل : 07/01/2012 العمر : 34
| موضوع: informatique الخميس فبراير 09, 2012 10:40 pm | |
| Université Africaine d’Adrar Faculté des Sciences et des Sciences de l’Ingénieur Département des Mathématiques et de l’Informatique 1ère année LMD Mathématiques et Informatique
Module : Informatique 2 Mai 2007 Examen Final
Les exercices 1, 2, 3, et 4 sont obligatoires; exercices 5 et 6 sont au choix (l’étudiant doit choisir !!!)
]Exercice 1 [/color](4 pts): Soit la suite numérique suivante : Sn = 2n+1 pour n ≥ 0. Ecrire (en langage Pascal) une fonction récursive S(n : integer) : integer ; qui réalise la suite S.
Exercice 2 (4 pts): Soit le programme Pascal suivant
Program P1 ; Var (* Variables Globales*) A, B, C: Integer ; Procedure P2(var X : Integer ; var Y : Integer; Z : Integer) ; Var (* Variables Locales*) A : Integer; Begin A := 2 ; B := 3 ; Z := X + Y ; End ; Procedure P3(X : Integer ; var Y : Integer; var Z : Integer) ; Begin A := 4 ; B := 5 ; Z := X + Y ; End ; (* Programme Principal*) Begin A := -1 B := 0; C := 1; P2(A, B, C); Writeln(A, B, C); P3(C, B, A); Ecrire(A, B, C); End.
1- Corriger l’erreur syntaxique (1) et l’erreur sémantique (1) occurrentes dans ce programme. 2- Quelles sont les valeurs affichées à la fin d’exécution ?
Exercice 3 (4 pts): Ecrire (en langage Pascal) une procédure Majuscule(var S : String); qui transforme en majuscule la chaîne de caractères S. Exemple : Si S = ‘adrar’ alors après l’appel de Majuscule(S), la nouvelle valeur de S sera ‘ADRAR’. Noter que ‘AdrAr’ se transforme aussi en ‘ADRAR’ après l’appel de Majuscule. Conseils : - On peut utiliser directement (sans définition) la fonction Taille(S). - Ord(‘A’)= 65; Chr(65)= ‘A'; Ord(‘Z’)= 90; Ord(‘a’)= 97; Ord(‘z’)= 122.
]Exercice 4 (4 pts): Soit le type de structure de données suivant : Type Etudiant = Record Nom: String; Age: Integer ; End ; Ecrire (en Pascal) les deux procédures suivantes : - Procedure TrierParNom(A : Array[1..100] of Etudiant); qui trie en ordre croissant le tableau A selon les noms des étudiants. - Procedure TrierParAge(A : Array[1..100] of Etudiant); qui trie en ordre croissant le tableau A selon les ages des étudiants. Conseil : On peut utiliser sans définition la procédure Swap(var X, Y : Etudiant) ;
Exercice 5 (4 pts): « LA PILE » est une structure de données caractérisée par les deux opérations suivantes : - Empiler(X) : Pour ajouter un élément X au sommet (en haut). - Dépiler() : Pour supprimer l’élément au sommet et retourner sa valeur. Si on désire d’implémenter la pile en utilisant un tableau des entiers A : A[1] = 5, A[2] = 7, …, écrire en Pascal la fonction et les procédures suivantes : - Procedure Empiler(A : Array[1..100] of Integer ; var NombreElement : Integer; X : Integer); qui ajoute un élément X au sommet de la pile A. - Function Depiler(A : Array[1..100] of Integer ; var NombreElement : Integer): Integer; qui supprime et retourne la valeur au sommet de la pile A. - Procedure Vider(A : Array[1..100] of Integer ; var NombreElement : Integer); qui supprime tous les éléments de la pile A.
Noter que le variable NombreElement représente le nombre actuel des éléments de la pile sauvegardés dans le tableau A.
Exercice 6 (4 pts): « LA FILE » est une structure de données caractérisée par les deux opérations suivantes : - Enfiler(X) : Pour ajouter un élément X à la fin de la file. - Défiler() : Pour supprimer l’élément au début de la file et retourner sa valeur. On veut implémenter la pile en utilisant une liste chaînée comme suit :
Alors, soit les types de structure de données suivants : Type Pointeur = ^Element; Element = Record Valeur: Integer; (*Pour sauvegarder les valeurs: 5, 7, . . .*) Suivant : Pointeur; End ;
Ecrire en Pascal la procédure et la fonction suivante : - Procedure Enfiler(var Tete : Pointeur ; X : Integer); qui ajoute un élément de la valeur X à la fin de la file. - Function Defiler(var Tete : Pointeur): Integer; qui supprime et retourne la valeur de l’élément au début de la file.
Noter que le variable Tete pointe sur le premier élément de la file.
| |
|