Exercice: Les nombres ordonnés ou croissants
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 1 sur 1
Exercice: Les nombres ordonnés ou croissants
Problème: Les nombres ordonnés
Un entier de n chiffres (1
Exemple :
L'entier de trois chiffres, 147 est bien ordonné car 1<4<7.
L'entier de 4 chiffres, 1265 n'est pas bien ordonné car 6>5.
Écrire un programme qui saisit un entier n (1 et fait sortir tous les entiers bien ordonnés de n chiffres et le nombre total de ces entiers.
Un entier de n chiffres (1
Exemple :
L'entier de trois chiffres, 147 est bien ordonné car 1<4<7.
L'entier de 4 chiffres, 1265 n'est pas bien ordonné car 6>5.
Écrire un programme qui saisit un entier n (1
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7874
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Exercice: Les nombres ordonnés ou croissants
Une solution que je n'ai pas vérifiée:
Solution en Pascal
Solution en Pascal
- Code:
PROGRAM WELL_ORDERED;
USES wincrt;
VAR
n: INTEGER;
i,mn,mx,p : LONGINT;
PROCEDURE min_max(n:integer; VAR min,max:LONGINT);
VAR i : INTEGER;
BEGIN
min:=0;
max:=0;
FOR i:=1 to n do
BEGIN
min:=10*min + i;
max:=10*max + (9-n+i);
END;
END;
FUNCTION w_ordered(m:LONGINT):BOOLEAN;
VAR i,c1,c2 :INTEGER;
valide :BOOLEAN;
BEGIN
IF m<10 THEN
BEGIN
w_ordered:=TRUE
END
ELSE
BEGIN
REPEAT
c1:=m MOD 10;
m:= m DIV 10;
c2:= m MOD 10;
valide :=(c1>c2);
UNTIL NOT(valide) OR (m<10);
w_ordered:=valide;
END;
END;
PROCEDURE saisie(VAR m:integer);
BEGIN
REPEAT
WRITE('Donner un entier n compris entre 1et 9 : ');READLN(m);
UNTIL m in [2..8];
END;
BEGIN
saisie(n);
min_max(n,mn,mx);
p:=0;
FOR i:=mn to mx DO
BEGIN
IF w_ordered(i) THEN
BEGIN
p:=p+1;
writeln(p:10,' - ',i);
END;
END;
END.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7874
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Sujets similaires
» Exercice : La plus longue séquence de nombres croissants ?
» exercice d'arithmetique
» Exercice: Les nombres circulaires
» Exercice: Nombres symétriques d'un tableau
» Exercice (bac pratique): Traitement d'un ensemble de nombres
» exercice d'arithmetique
» Exercice: Les nombres circulaires
» Exercice: Nombres symétriques d'un tableau
» Exercice (bac pratique): Traitement d'un ensemble de nombres
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum