bac pratique 2005 - 2

Aller en bas

bac pratique 2005 - 2

Message  Admin le Ven 29 Avr - 19:29

ÉNONCÉ:
L'algorithme suivant est celui d'un programme permettant de lire un entier m (1 ≤m≤100), de
vérifier et d'afficher s'il est parfait ou non.
Rappelons qu'un entier naturel non nul est dit parfait s'il est égal à la somme de ses diviseurs
sauf lui même.
0) Début Parfait
1) Lire (m)
2) S <-- 0
Pour i de 1 à m div 2 Répéter
Si m mod i = 0
Alors S <-- S + i
Fin Si
Fin Pour
3) Mess <-- " n'est pas parfait"
Si m = S Alors
Mess <-- " est parfait"
Fin Si
4) Ecrire (m, Mess)
5) Fin Parfait
Questions :
1. Créer un dossier portant le numéro de votre carte d'identité dans le dossier Bac2005
situé à la racine C:
2. Traduire cet algorithme en Pascal.
3. Transformer la séquence 2 en une fonction intitulée Som_div.
4. Transformer le programme Parfait pour qu'il permette de déterminer et d'afficher
tous les nombres parfaits compris entre 1 et 1000. Sauvegarder le programme sous le
nom Parfait2.

Admin
Admin

Messages : 137
Date d'inscription : 29/12/2010

Voir le profil de l'utilisateur http://aidescolaire.yoo7.com

Revenir en haut Aller en bas

correction de l'épreuve

Message  Admin le Ven 29 Avr - 20:05

SOLUTION:

1- program parfait;
uses wincrt;
var
m,s1:integer;
mess:string;
function som_div (m1:integer):integer;
var
s,i:integer;
begin
s:=0;
for i:=1 to m div 2 do
if m mod i =0 then s:=s+i;
som_div:=s;
end;

begin
readln(m);
s1:=som_div(m);
mess:='n''est pas parfait';
if m=s1 then mess:='est parfait';
writeln(m,mess);
end.



Admin
Admin

Messages : 137
Date d'inscription : 29/12/2010

Voir le profil de l'utilisateur http://aidescolaire.yoo7.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum