Algorithe en pascal
Fermé
sara
-
9 févr. 2010 à 20:41
blux Messages postés 26595 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 10 janvier 2025 - 10 févr. 2010 à 19:00
blux Messages postés 26595 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 10 janvier 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
- Algorithe urgent - Forum 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
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
26595
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
10 janvier 2025
3 323
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...