Algorithe en pascal
sara
-
blux Messages postés 27121 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27121 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un probleme de resoudre un exercice de programmation et je suis debutante en cette matiere, alors je demande l'aide de resoudre cet exercice
l'exercice:
on se propose de saisir un entier N de trois chiffres non nuls , de determiner et d'afficher tous les nombres qui peuvent etre formés par les chiffres de N , ainsi que le plus petit et le plus grand de ces nombres.
exp:
pour N=427
les nombres formés par les chiffres de N sont: 427,472,247,274,742,724.
le plus petit nombre est : 247
le plus grand nombre est 742
je deja essayer de faire
l'algorithme de programme principal
0) debut exercice
1)proc saisir (N)
2)proc recherche (n)[integre la permitation des chiffres (proc permit) et l'affichage (proc affiche)]
3)fin exercie.
algorithme de la procedure saisir ;
0)procedure saisir (var n :entier)
1)repeter
ecrire("n=") , lire (n)
jusqu'a n dans [100..999]
2)fin saisir .
et j'ai stopper là
merci d'avance de m'aider svp
j'ai un probleme de resoudre un exercice de programmation et je suis debutante en cette matiere, alors je demande l'aide de resoudre cet exercice
l'exercice:
on se propose de saisir un entier N de trois chiffres non nuls , de determiner et d'afficher tous les nombres qui peuvent etre formés par les chiffres de N , ainsi que le plus petit et le plus grand de ces nombres.
exp:
pour N=427
les nombres formés par les chiffres de N sont: 427,472,247,274,742,724.
le plus petit nombre est : 247
le plus grand nombre est 742
je deja essayer de faire
l'algorithme de programme principal
0) debut exercice
1)proc saisir (N)
2)proc recherche (n)[integre la permitation des chiffres (proc permit) et l'affichage (proc affiche)]
3)fin exercie.
algorithme de la procedure saisir ;
0)procedure saisir (var n :entier)
1)repeter
ecrire("n=") , lire (n)
jusqu'a n dans [100..999]
2)fin saisir .
et j'ai stopper là
merci d'avance de m'aider svp
A voir également:
- Algorithe en pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Le protocole assure que la communication entre l'ordinateur de pascal et le serveur de visiodoct est car les informations seront avant d'être envoyées. - Forum Pascal
- Aide en Pascal - Forum Pascal
2 réponses
voila une traduction en pascal pour l'exercice :
program possibilites;
uses wincrt;
type tab= array [0..6] of integer;
var n,i,x,y,z,min,max:integer;
T:tab;
procedure saisir(var n:integer);
begin
repeat
write('n='); readln(n);
until (n>=100) and (n<=999);
end;
procedure nombres(var x,y,z:integer;var T:tab);
begin
x:= (n div 100);
y:= ((n mod 100)div 10);
z:= ((n mod 100) mod 10);
T[1]:=(x*100)+(y*10)+z;
T[2]:=(x*100)+(z*10)+y;
T[3]:=(y*100)+(x*10)+z;
T[4]:=(y*100)+(z*10)+x;
T[5]:=(z*100)+(x*10)+y;
T[6]:=(z*100)+(y*10)+x;
writeln('les nombres qu on peut former sont ');
for i:=1 to 6 do
begin
writeln('T[',i,']=',T[i]);
end;
end;
procedure min_max(T:tab);
begin
min:=T[1];
for i:= 1 to 6 do
begin
if (min>T[i]) then
min:=T[i];
end;
max:=T[1];
for i:=1 to 6 do
begin
if (max<T[i]) then
max:=T[i];
end;
writeln('le max est ',max);
writeln('le min est ',min);
end;
begin
saisir(n);
nombres(x,y,z,T);
min_max(T);
end.
j'espere que ça vous aide!!
program possibilites;
uses wincrt;
type tab= array [0..6] of integer;
var n,i,x,y,z,min,max:integer;
T:tab;
procedure saisir(var n:integer);
begin
repeat
write('n='); readln(n);
until (n>=100) and (n<=999);
end;
procedure nombres(var x,y,z:integer;var T:tab);
begin
x:= (n div 100);
y:= ((n mod 100)div 10);
z:= ((n mod 100) mod 10);
T[1]:=(x*100)+(y*10)+z;
T[2]:=(x*100)+(z*10)+y;
T[3]:=(y*100)+(x*10)+z;
T[4]:=(y*100)+(z*10)+x;
T[5]:=(z*100)+(x*10)+y;
T[6]:=(z*100)+(y*10)+x;
writeln('les nombres qu on peut former sont ');
for i:=1 to 6 do
begin
writeln('T[',i,']=',T[i]);
end;
end;
procedure min_max(T:tab);
begin
min:=T[1];
for i:= 1 to 6 do
begin
if (min>T[i]) then
min:=T[i];
end;
max:=T[1];
for i:=1 to 6 do
begin
if (max<T[i]) then
max:=T[i];
end;
writeln('le max est ',max);
writeln('le min est ',min);
end;
begin
saisir(n);
nombres(x,y,z,T);
min_max(T);
end.
j'espere que ça vous aide!!