Exercice 01 :
Correction Partie A :
Dans l’algorithme 01 on dénote l’absence de déclaration de variable et de points virgule dans l’instruction si (ligne 9,10,12,13).
Alors cet algorithme permet de saisir un temps (heure et minute) lui ajoute 5 minutes puis l'affiche.
Exemples :heure : 10 minute : 20 après 5 minutes : 10:25
heure : 10 minute:57 après 5 minutes : 11: 02
heure : 23 minute:55 après 5 minutes : 00:00
Dans l’algorithme 02 on dénote l’absence de déclaration de variable et du Debut. Alors cet algorithme permet de saisir un entier de 3 chiffres puis affiche la somme S de ces 3 chiffres. Puis si S est composé de 2 chiffres alors faire leurs somme S2 enfin si S2 est composé de 2 chiffres alors faire leurs somme S3.
Exemple : pour 946 S=9+4+6=19 S2=1+9=10 S3=1+0=1
Correction : Partie B
Les paramètres formels sont la définition du nombre et du type de valeurs que devra recevoir le sous-algorithme pour se mettre en route avec succès. On déclare les paramètres formels pendant la déclaration du sous-algorithme. Hors Les paramètres effectifs sont des valeurs réelles (constantes ou variables) reçues par le sous-algorithme au cours de l’exécution du bloc principal. On les définit indépendamment à chaque appel du sous-algorithme dans l’algorithme principal.
Passage paramètres par valeur C’est le mode de transmission par défaut, il y a copie de la valeur, des paramètres effectifs dans les variables locales issues des paramètres formels de la procédure ou de la fonction appelée. Dans ce mode, le contenu des paramètres effectifs ne peut pas être modifié par les instructions de la fonction ou de la procédure ; car nous ne travaillons pas directement avec la variable, mais sur une copie. À la fin de l’exécution du sous-algorithme la variable conservera sa valeur initiale. Les paramètres dans ce cas sont utilisés comme données. Hors Passage paramètres par variable Ici, il s’agit non plus d’utiliser simplement la valeur de la variable, mais également son emplacement dans la mémoire (d’où l’expression « par adresse »). En fait, le paramètre formel se substitue au paramètre effectif durant le temps d’exécution du sous-programme et à la sortie il lui transmet sa nouvelle valeur. Un tel passage de paramètre se fait par l’utilisation du mot-clé Var.
Algorithme de PGCD
Algorithme PGCD ;
var : A,B,MyPGCD : entier ;
Debut
Ecrire ( ' Entrer La valeur d'un nombre ' );
Lire ( A );
Ecricre ( ' Entrer La valeur d'un second nombre ' );
Lire ( B);
tantque ( A < > B ) faire
si ( A < B ) alors
B := B - A
sinon
A := A - B ;
finsi
fintantque
MyPGCD := A;
Ecricre ( ' Le PGCD de ', A , ' et ', B , ' est : ' MyPGCD );
Fin.
Exercice 02 :
Probleme : 9pts
Proposer un enregistrement permettant de représenter un Binaire Secret, qui est caractérisé par un champs secret qui est une matrice n*n, d’un champs Flag (indicateur de correspondance un booléen, son rôle seras évoqué plus bas).
Proposer une fonction déchiffrée qui prends en paramètre un BinaireSecret, stocke la valeur (décimale) de chaque ligne de secret dans un vecteur de taille n nommée top. (Tenir en compte que le bit de poids le plus fort ce trouve en Position secret[i,1]).
Proposer une fonction vérifier qui prends en paramètre un BinaireSecret et un Tableau de décimal (top). Puis tester si pour chaque valeur nbreB de la ligne de secret correspond bien à celle retrouve dans notre tableau, dans le cas d’une correspondance parfaite (ie correspondance totale entre secret et top) mettre la variable Flag à vrai sinon faux.
Proposer une fonction Trie_décimal qui prends en paramètre un vecteur de taille n nommée top et trie les éléments par ordre décroissant.
Proposer une fonction Affiche_décimal qui prends en paramètre un vecteur de taille n nommée top et affiche les éléments sous la forme : [89,77,9,0,5].
Ecrire un Algorithme qui demande à un utilisateur lambda d’entrer des valeurs entières (0 ou 1 seulement), puis déterminer tout d’abord la correspondance Décimale de ses valeurs entrées pour chaque ligne de sa matrice, puis vérifier cette correspondance, trier par ordre décroissant les nombres décimaux résultants enfin afficher selon un format adéquat ses nombres.
Proposer une structure de donnée pour stocker ses informations sur un CD-ROOM, schéma à l’appui.