Université des frères Mentouri, Constantine Faculté des sciences de la technologie Tronc Commun ST Année universitaire : 2016/2017 Nom : …………………………………….……….. Prénom : ……………………………..………….. Groupe : ……………………………………..…… Contrôle de TP (Semestre 1) Note : ………………………….………… / 10 Questions: 1. Lancer Turbo Pascal et créer un nouveau fichier intitulé « pass1 ». (0.5 pt) 2. Créer dans le fichier « pass1 » un programme pascal intitulé « operations_nombres» (0.5 pt) qui permet de : a. b. c. d. Lire un nombre entier N composé de trois chiffres (1 pt). Extraire puis affiche les chiffres de centaine, dizaine et unité de nombre N (2 pt). Calcule la moyenne entre le nombre N et son inverse (2 pt). Affiche si le nombre N est cubique ou non (Un entier de trois chiffres est dit cubique s'il égal à la somme des cubes de ses trois chiffres. Exemple : 153 est cubique car 153 = 13 + 53 + 33 (2 pt). 3. Montrez le tracé d’exécution du ce programme pour N =153 (2 pt). Université des frères Mentouri, Constantine Faculté des sciences de la technologie Tronc Commun ST Année universitaire : 2016/2017 Nom : …………………………………….……….. Prénom : ……………………………..………….. Groupe : ……………………………………..…… Contrôle de TP (Semestre 1) Note : ………………………….………… / 10 Questions: 1. Lancer Turbo Pascal et créer un nouveau fichier intitulé « pass2 ». (0.5 pt) 2. Créer dans le fichier « pass2 » un programme pascal intitulé « operations_nombres» (0.5 pt) qui permet de : a. Lire deux nombres entiers N et M composés de trois chiffres (1 pt). b. Affiche la liste des diviseurs de N et de M (2 pt). c. Détermine puis affiche si N est parfait ou non (2 pt). N est parfait s’il égale à la somme de tous ses diviseurs, sauf lui-même. d. Détermine puis affiche si N et M sont amis ou non (2 pt). N et M sont amis si et seulement si : la somme des diviseurs de M sauf lui-même est égale à N et la somme des diviseurs de N sauf lui-même est égale à M. 3. Montrez le tracé d’exécution du ce programme pour N=220 et M=284 (2 pt). 1 Solution partie : 01 program operations_nombres; var N, a,b, c, inverse:Integer; begin {---------Question 1-------------} writeln('donnez-moi un nombre entier compos‚ de trois chiffres'); readln(N); {---------Question 2-------------} a:=n div 100; writeln('Centaine de nombre ', n, ' est: ', a); b:=(n-a*100) div 10; writeln('Dezaine de nombre ', n, ' est: ', b); c:=(n-a*100)- b*10; writeln('Unit‚ de nombre ', n, ' est: ', c); {---------Question 3-------------} inverse:= c*100+b*10+a; writeln('l''inverse de ', n,'est:', inverse); writeln('la moyenne entre ', n , 'est son inverse ',inverse, 'est ', (n+inverse)/2 ); {---------Question 4-------------} if(n=a*a*a+b*b*b+c*c*c)then writeln('le nombre ', n, ' est cubique') else writeln('le nombre ', n, ' est non cubique'); readln; end. 2 Solution partie : 02 program operations_nombres; var N, M,i,X,Y:Integer; begin {---------Question 1-------------} writeln('donnez-moi un nombre entier compos‚ de trois chiffres'); readln(N); writeln('donnez-moi un nombre entier compos‚ de trois chiffres'); readln(M); {---------Question 2-------------} writeln('les diviseurs de', N, 'sont:'); for i:=1 to N-1do if (N mod i = 0 ) then writeln('--> ', N div i); writeln('les diviseurs de', M, 'sont:'); for i:=1 to M-1do if (M mod i = 0 ) then writeln('--> ', M div i); {---------Question 3-------------} X:=0; for i:=1 to N-1 do if N mod i =0 then x:=x+i; if X=N then writeln ('le nombre', N, ' est parfait') else writeln ('le nombre', N, ' est non parfait'); {---------Question 4-------------} Y:=0; for i:=1 to M-1 do if M mod i =0 then Y:=Y+i; if(N=Y) and (M=X) then writeln('les nombres ',N ,M, ' sont amis') else writeln('les nombres ', N,M, ' sont non amis'); readln; end. 3