Algorithe en pascal
Fermé
sara
-
9 févr. 2010 à 20:41
blux Messages postés 26823 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 30 avril 2025 - 10 févr. 2010 à 19:00
blux Messages postés 26823 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 30 avril 2025 - 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
- 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
- Turbo pascal linux ✓ - Forum Linux / Unix
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
26823
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
30 avril 2025
3 335
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...