Algorithe en pascal
Fermé
sara
-
9 févr. 2010 à 20:41
blux Messages postés 26047 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 mai 2024 - 10 févr. 2010 à 19:00
blux Messages postés 26047 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 mai 2024 - 10 févr. 2010 à 19:00
A voir également:
- Algorithe en pascal
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev-pascal - Télécharger - Édition & Programmation
- Turbo pascal linux ✓ - Forum Linux / Unix
- Puissance 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!!
blux
Messages postés
26047
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 mai 2024
3 289
10 févr. 2010 à 19:00
10 févr. 2010 à 19:00
Salut,
on peut aussi créer le plus petit nombre en rangeant de gauche à droite les chiffres dans l'ordre croissant et inversement pour le plus grand nombre, ça évite le parcours du tableau...
on peut aussi créer le plus petit nombre en rangeant de gauche à droite les chiffres dans l'ordre croissant et inversement pour le plus grand nombre, ça évite le parcours du tableau...