0% ont trouvé ce document utile (0 vote)
17 vues2 pages

Test TP

Le document présente un test de laboratoire pour un module d'algorithmique à l'Université Saad Dahlab de Blida 1, comprenant trois exercices. Le premier exercice porte sur la correction de messages d'erreur de compilation dans un code C, le deuxième sur la compilation et l'exécution d'un autre code, et le troisième sur l'écriture d'un programme pour trouver le premier palindrome à partir d'un nombre donné. Chaque exercice évalue des compétences en programmation et en débogage.

Transféré par

Naoufel Ben
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues2 pages

Test TP

Le document présente un test de laboratoire pour un module d'algorithmique à l'Université Saad Dahlab de Blida 1, comprenant trois exercices. Le premier exercice porte sur la correction de messages d'erreur de compilation dans un code C, le deuxième sur la compilation et l'exécution d'un autre code, et le troisième sur l'écriture d'un programme pour trouver le premier palindrome à partir d'un nombre donné. Chaque exercice évalue des compétences en programmation et en débogage.

Transféré par

Naoufel Ben
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Saad Dahlab University - Blida1 Module : Algorithmic 1

Faculty des Sciences January 2024


Computer Science Departement Lab Test
1st Engineer Duration : 50 mn

EXERCISE 1 (5.5 POINTS).


POINTS) Consider code 1 written on the answer sheet.
During compilation, several messages will be displayed :
a. Error : expected ‘;’
b. Error: expected declaration or statement at end of input
c. Error : Variable undeclared
d. Error : unknown type name.
e. Error assignment of read-only variable
f. Error assignment to expression with array type
g. Warning: implicit declaration of function
h. Warning: format '%d' expects argument of type 'int *', but argument 2 has type 'int'
i. Warning: unused variable
j. Warning: too many arguments for format

1. For each message, specify its number in the corresponding line in code 1.
2. Make the necessary corrections to fix the compilation errors.
3. Among the warnings above, which will cause the following runtime errors:
a. A segmentation fault where the program will crash and the execution window will
abruptly terminate.
b. Buffer overflow where part of the message will be displayed
4. Make the necessary modifications to eliminate these runtime errors.

EXERCISE 2 (4.5 POINTS).


POINTS) Consider code 2 written on the answer sheet.
1. Give the commands to compile and execute code 2 from the command prompt.
2. Trace this code by filling in the mentioned table.
3. What does this code do?

EXERCISE 3 (5 POINTS).
POINTS)
Write a C program to obtain the first palindrome built from a given starting number N. To do this, add N
to its mirror image, to obtain a new number, then repeat the process with this new number until obtaining
a first palindrome. For this starting number there are thus two values: the obtained palindrome, and the
number of additions needed to obtain it.
For example, for the starting number 475, we obtain:
475 + 574 = 1049 1049 + 9401 = 10450 10450 + 5401 = 15851
The last number, 15851, is a palindrome.
Results to display on the screen:
Enter a positive starting number N = 475
For this number, we reach the palindrome 15851 in 3 steps.

1/1
Université Saad Dahlab de Blida 1 Module : Algorithmique 1
Faculté des Sciences Janvier 2024
Département d’Informatique Test TP
1ère Ingénieur Durée : 50 mn

EXERCICE
EXERCICE 1 (5.5 POINTS).
POINTS) Soit le code 1 écrit sur la feuille de réponse.
A la compilation, plusieurs messages seront affichés :

a. Erreur : ';' attendu


b. Erreur : déclaration ou instruction attendue à la fin de l'entrée
c. Erreur : variable non déclarée
d. Erreur : nom de type inconnu
e. Erreur : affectation à une variable en lecture seule
f. Erreur : affectation à une expression de type tableau
g. Avertissement : déclaration implicite de la fonction
h. Avertissement : le format '%d' attend un argument de type 'int*', mais l'argument 2 a le type 'int'
i. Avertissement : variable inutilisée
j. Avertissement : trop d'arguments pour le format

1. Pour chaque message, préciser son numéro dans la ligne correspondante du code 1.
2. Apporter les corrections nécessaires aux erreurs de compilation.
3. Parmi les avertissements ci-dessus, lesquelles vont provoquer les erreurs d’exécution suivantes :
a. une erreur de segmentation où le programme va se bloquer et la fenêtre d'exécution va
être interrompue brutalement.
b. débordement de tampon où une partie du message sera affiché
4. Apporter les modifications nécessaires afin d’éliminer ces erreurs d’exécution.

EXERCICE 2 (4.5 POINTS)


POINTS).
S) Soit le code 2 écrit sur la feuille de réponse.
1. Donner les commandes permettant de compiler et d’exécuter le code 2 à partir de l’invite de
commande.
2. Dérouler ce code en remplissant le tableau mentionné.
3. Que fait ce code ?

EXERCICE 3 (5 POINTS).
POINTS)
Ecrire un programme en C permettant d’obtenir le premier palindrome construit à partir d’un nombre de
départ donnée N. Pour ce faire, il faut ajouter N à son image miroir, afin d'obtenir un nouveau nombre,
puis recommencer avec ce nouveau nombre jusqu'à obtenir un premier palindrome. À ce nombre de
départ correspond ainsi 2 valeurs : le palindrome obtenu, ainsi que le nombre d'addition qu'il a fallu faire
pour l'obtenir.
Par exemple, pour le nombre de départ 475, nous obtenons :
475 + 574 = 1049 1049 + 9401 = 10450 10450 + 5401 = 15851
Le dernier nombre, 15851, est un palindrome.
Résultats à afficher sur l’écran:
Donner un nombre positif de départ N = 475,
Pour ce nombre, nous atteignons le palindrome 15851 en 3 étapes.

1/1

Vous aimerez peut-être aussi