CDL 2024-2025
Algorithmique et Programmation
Solution de la série TD2 en langage PASCAL
Les étapes à suivre pour copier la solution sur le logiciel PASCAL :
1. Copier la solution de l’exercice 1 par exemple
2. Ouvrir pascal
3. Cliquer sur File ensuite New
4. Cliquer sur Edit ensuite Paste from Windows
5. File ensuite Save as
6. Et donner un nom à votre fichier
7. ok
8. Compile
9. Run
program exercice1_TD2;
var val: integer;
begin
//Un algorithme qui demande un nombre entier à l'utilisateur
//et détermine si ce nombre est négatif, nul ou positif.
WriteLn('donnez le nombre à tester');
Read(val);
if (val < 0) then
begin
WriteLn(val,' est un nombre negatif');
end
else
// on a encore deux voies possibles: nul ou positif
// donc on doit ajouter un autre test pour faire la difference
if (val > 0) then
begin
WriteLn(val,' est un nombre positif');
end
else
begin
WriteLn(val,' est un nombre nul');
end; // le point virgule pour marquer la fin des tests
WriteLn('Fin de ce programme, A bientot!');
readln; //pour garder la fenetre de l'‚xecution ouvert (fentre noire)
end.
1
CDL 2024-2025
Algorithmique et Programmation
Solution de la série TD2 en langage PASCAL
program exercice2_TD2;
var val1,val2: real;
nature: string;
begin
//Ecrire un algorithme qui demande deux nombres à l'utilisateur et
//l'informe ensuite si
//le produit est négatif ou positif (on inclut cette fois le
//traitement du cas où le produit
//peut-être nul).
WriteLn('donnez le premier nombre');
Read(val1);
WriteLn('donnez le deuxieme nombre');
Read(val2);
if ((val1 < 0) and (val2 < 0)) or ((val1 > 0) and (val2 > 0)) then
begin
nature := 'positif';
end
else
// on encore deux voies possible: nul ou negatif
// donc on doit ajouter un autre test pour faire la difference
if (val1 = 0) or (val2 =0) then
begin
nature := 'nul';
end
else
begin
nature := 'negatif';
end; // le point virgule pour marquer la fin des tests
// maintenant on affiche le résultats
WriteLn('La nature du produit de ',val1:2:2,' et ',val2:2:2,' est:
',nature);
//ici le :2:2 pour afficher deux chiffres avant et apres la virgule
WriteLn('Fin de ce programme, A bientot!');
readln; //pour garder la fenetre de l'éxecution ouvert (fentre noire)
end.
2
CDL 2024-2025
Algorithmique et Programmation
Solution de la série TD2 en langage PASCAL
program exercice3_TD2;
var val: integer;
nature: string;
begin
//Ecrire un algorithme qui demande l'âge d'un enfant à l'utilisateur
//(réel).
//Ensuite, il l'informe de sa catégorie :
WriteLn('Donnez l''age de l''enfant SVP');
Read(val);
if (val < 6) then
begin
nature:=' pas de catégorie, erreur de saisie';
end
else
// on encore dautre voies possible
// donc on doit ajouter un autre test pour faire la difference
if (val < 8) then
begin
nature := 'Poussin';
end
else
if (val < 10) then
begin
nature := 'Pupille';
end
else
if (val < 12) then
begin
nature := 'Minime';
end
else
begin
nature := 'Cadet';
end; // le point virgule pour marquer la fin des tests
// maintenant on affiche le résultats
WriteLn('La catégotir de l''enfant est: ',nature);
WriteLn('Fin de ce programme, A bientot!');
readln; //pour garder la fenetre de l'éxecution ouvert (fentre noire)
end.
3
CDL 2024-2025
Algorithmique et Programmation
Solution de la série TD2 en langage PASCAL
program exercice4_TD2;
var nombre, prix : integer;
begin
//Le prix de disques compacts (CDs) dans un espace de vente varie
//selon le nombre
WriteLn('Donnez le nombre de CD que vous voulez acheter SVP');
Read(nombre);
if (nombre < 0) then
begin
writeln('vous vous etes trompe erreur de saisie');
end
else
// on encore dautre voies possible
// donc on doit ajouter un autre test pour faire la difference
if (nombre < 10) then
begin
prix := nombre*5;
end
else
if (nombre < 20) then
begin
prix := nombre*4;
end
else
begin
prix := nombre*3;
end; // le point virgule pour marquer la fin des tests
// maintenant on affiche le résultats
WriteLn('Le prix total est: ',prix,' DH');
WriteLn('Fin de ce programme, A bientot!');
readln; //pour garder la fenetre de l'‚xecution ouvert (fentre noire)
end.
4
CDL 2024-2025
Algorithmique et Programmation
Solution de la série TD2 en langage PASCAL
program exercice5_TD2;
var a, b, sol : real;
begin
//solution de aX+b=0
WriteLn('Donnez le nombre a SVP');
Read(a);
WriteLn('Donnez le nombre b SVP');
Read(b);
if (a = 0) then
begin
if (b =0) then
begin
writeln('la solution est l''ensemble R');
end
else //a=0 mais b !=0
begin
writeln('l''équation n''admet pas de solution');
end
end
else //ici le else signifie que a!=0
begin
sol:=-b/a;
writeln('la solution est: ',-b/a);
end; // le point virgule pour marquer la fin des testS
WriteLn('Fin de ce programme, A bientot!');
readln; //pour garder la fenetre de l'éxecution ouvert (fentre noire)
end.
5
CDL 2024-2025
Algorithmique et Programmation
Solution de la série TD2 en langage PASCAL
program exercice6_TD2;
var op: string;
val1, val2 : real;
//simulation d'une calculatrice
begin
writeln('Bonjour étudiant CDL');
writeln('Ce programme permet de simuler le fonctionnement d''une
calculatrice');
writeln('Donnez l''operateur');
read(op);
writeln('Donnez la 1ere variable');
read(val1);
writeln('Donnez la 2eme variable');
read(val2);
if (op='+') then
begin
writeln(val1,' + ',val2,' = ',val1+val2);
end
else
if (op='-') then
begin
writeln(val1,' - ',val2,' = ',val1-val2);
end
else
if (op='*') then
begin
writeln(val1,' * ',val2,' = ',val1*val2);
end
else
if (op='/') then
begin
if (val2=0) then
begin
writeln('on peut pas calculer la division par 0');
end
else
begin
writeln(val1,' / ',val2,' = ',val1/val2);
end
end
else
writeln('vous vous etes trompé d''oparatuer');
writeln('Aurevoir.');
readln;
end.