1. CFPA ZOUAIE MEBAREK SEDRATA
Enseignante : YAGOUBI WAFIA
Section: TS en informatique*BDD*
Semestre N° 1
Module : Maitriser un LANGAGE PROCEDURAL (Pascal)
Série N°3
Exercice 01
Tapez, exécutez et voyez Que font ces deux programmes ?
program equilateral; { Ce programme teste si un
triangle est équilatéral}
varcote1, cote2, cote3 : real;
x1,y1, x2, y2, x3, y3 : real;
{ ********* Début de la déclaration de la fonction
distance ************ }
function distance (x1 : real; y1 : real; x2 : real; y2 :
real ) : real;{ Pas besoin de variable locale }
begin
distance := sqrt( sqr(x2-x1) + sqr(y2-y1) );
end;
{ ************* fin de la déclaration de la fonction
**************}
begin(* Corps principal du programme. *)
writeln('Entrez les coordonnées des 3 points du
triangle ');
readln(x1); readln(y1); readln(x2); readln(y2);
readln(x3); readln(y3);
cote1 := distance (x1, y1, x2, y2); { Appel de la
fonction distance }
cote2 := distance (x2, y2, x3, y3); { Appel de la
fonction distance }
cote3 := distance (x3, y3, x1, y1); { Appel de la
fonction distance }
if (cote1 = cote2) and (cote2 = cote3)
thenwriteln('Le triangle est équilatéral')
elsewriteln('Le triangle n''est pas équilatéral');
end.
program facto; (* Calcul des 10
premières factorielles *)
var i : integer;
procedureecritfactorielle( n :
integer); (* Affiche la valeur de n!
*)
var i : integer; (* i existe aussi en
global; c'est le i local qui prime *)
fact : real; (* on prend un real car
integer est limité à 32767 *)
begin
fact := 1;
for i:=1 to ndo fact := fact*i;
writeln('La factorielle de ', n:2, '
est ', fact:8:0 );
end;
begin(* Le programme commence ici
*)
for i:=1 to 10 do (* Notez que la
valeur du i local à la procédure est
inconnue *)
ecritfactorielle( i );
end.
Exercice 02
Ecrire un programme qui lit une valeur et affiche sa table de multiplication (on se limitera aux
12 premiers termes)
Exercice 03
Ecrire un programme qui effectue la division de deux entiers par des soustractions successives.
Exercice 04
1
2. Soit chif et n deux variables données tel que chif est un chiffre décimal et n un entier
strictement positif. On veutdemander d’afficher la deuxième position de chif dans n.
Remarque :Chif et n deux variables de type entier
Exemple :
Pour chif = 0 et n = 2006, le programme affichera : 3
Pour chif = 0 et n = 3764, le programme affichera : 0
Pour chif = 0 et n = 30764, le programme affichera : 2
Exercice 05
Ecrire un programme qui permet de saisir le sexe (M/F), la taille (cm), et le poids (kg) d’une
personne et d’afficher :
1. PI, le poids idéal d’une personne, sachant que ce poids théorique est donné par la formule de
Lorenz commesuit :
· Pour un homme : PI = (taille – 100) – (taille – 150) / 4
· Pour une femme : PI = (taille -100) – (taille – 120) /4
2. BMI, l’indicateur d’obésité (Body Mass Index) où BMI = poids / taille² avec taille en mètre
3. Si une personne est considérée comme : Normale (BMI <= 27), ou obèse (BMI > 27) ou Malade
(BMI >= 32)
Exercice 06
Ecrire un programme qui, à partir du numéro d’un mois, permet d’afficher la saison.
Exemple :
Si mois = 6 Alors le programme affiche Eté
Si mois = 3 Alors le programme affiche Printemps
Si mois = 9 Alors le programme affiche Automne
Si mois = 1 Alors le programme affiche Hiver
Exercice 07
Programmation d'un petit jeu de devinette
But : Le but du jeu est d'inviter l'utilisateur à deviner un nombre que l'ordinateur aurait
"deviné" (en réalité, il s'agit d'un nombre aléatoire).
Principe : Dans un premier temps, le chiffre est choisi aléatoirement (il serait intéressant de
lire en entrée la borne maximale du nombre aléatoire). Ensuite, l'utilisateur est amené à le
deviner ; il sera aidé au cours de sa quête par des phrases du genre 'Plus petit' ou 'Plus grand'
suivant que le nombre a deviné est respectivement soit plus petit, soit plus grand que le nombre
entré...
Il faut préciser que l'utilisateur dispose d'un nombre fixe de tentative. Que ce soit à l'issue de
ses nombres de tentatives ou qu'il devine le nombre caché (un message de félicitations est
affiché le cas échéant), l'utilisateur est invité à taper n ou N s'il désire arrêter le jeu, ou alors
une autre lettre pour continuer.
Préréquis : Consultez la fonction Random dans l'aide du compilateur.
2