Exercice d 'algorithme
Page 1 sur 2 • Partagez
Page 1 sur 2 • 1, 2
Exercice d 'algorithme
Ecrire un algorithme qui après la saisie d'un nombre entier positif :
Détermine le chiffre le plus grand
Détermine le chiffre le plus petit
calcul le nombre de chiffres de ce nombre
calcule la moyenne des chiffres pairs
calcule la moyenne des chiffres impairs
Affiche si c'est un palindrome ou non
pliz
Détermine le chiffre le plus grand
Détermine le chiffre le plus petit
calcul le nombre de chiffres de ce nombre
calcule la moyenne des chiffres pairs
calcule la moyenne des chiffres impairs
Affiche si c'est un palindrome ou non
pliz
tima.ait-
- Nombre de messages : 13
Date d'inscription : 29/04/2013
Re: Exercice d 'algorithme
Je peut très bien te donner la solution, ici maintenant, mais je veux que tu essaye d'abord de résoudre le problème par toi même.
Si tu poste une correction que tu a fait toi même, je te donnerais la correction, promis.
PS: Tu sais utilise au le type tableau ? Car sa facilite grandement le problème. En tous cas en C, une chaine de caractère est un tableau, donc on a pas trop de problème.
Astuce: Même si c'est un nombre, considère que c'est une chaine ou un tableau de nombre.
Si tu poste une correction que tu a fait toi même, je te donnerais la correction, promis.
PS: Tu sais utilise au le type tableau ? Car sa facilite grandement le problème. En tous cas en C, une chaine de caractère est un tableau, donc on a pas trop de problème.
Astuce: Même si c'est un nombre, considère que c'est une chaine ou un tableau de nombre.
Dragnucs-
- Nombre de messages : 6
Date d'inscription : 14/09/2013
Re: Exercice d 'algorithme
variable t[i] : chaine
variable n,moy, : entier
debut
ecrire("entrer le nombre ");
lire (n);
n=t[i];
pour (t[i]=0 a t[i]=n)
si ( (t[0]<t[1])&&(t[1]<t[2])&&(t[2]<t[3])&&(t[3]<t[4]))alors
ecrire("le nombre le plus grand est : ",t[4]);
sinon
ecrire ("le nombre le plus petit est :",t[0]);
finsi
pour(t[i]=0 a t[i]=n)faire pas 1
moy=t[0]+t[1]+t[2]+t[3]+t[4]/4;
si(moy\2 = = 0) alors
ecrire("le moyennede nombre pair est ",moy);
sinon
ecrire("le moyennede nombre impair est ",moy);
finsi
finpour
finpour
fin
variable n,moy, : entier
debut
ecrire("entrer le nombre ");
lire (n);
n=t[i];
pour (t[i]=0 a t[i]=n)
si ( (t[0]<t[1])&&(t[1]<t[2])&&(t[2]<t[3])&&(t[3]<t[4]))alors
ecrire("le nombre le plus grand est : ",t[4]);
sinon
ecrire ("le nombre le plus petit est :",t[0]);
finsi
pour(t[i]=0 a t[i]=n)faire pas 1
moy=t[0]+t[1]+t[2]+t[3]+t[4]/4;
si(moy\2 = = 0) alors
ecrire("le moyennede nombre pair est ",moy);
sinon
ecrire("le moyennede nombre impair est ",moy);
finsi
finpour
finpour
fin
tima.ait-
- Nombre de messages : 13
Date d'inscription : 29/04/2013
Re: Exercice d 'algorithme
vaiable n , x ,max, min,R, cpt , s : entier
debut
ecrire("entrer un nombre entier :");
lire(n);
cpt=0;
max=-1;
min=10;
tntque(n<>0)faire pas 1
R=n\x;
n=n/10;
si(R>max)alore max=R;
fintantque
ecrire("le max des valeur est :",max);
tantque(n<>0)faire pas 1
r=n\x;
n=n/10;
si(R<min)alors min=R;
fintantque
ecrire("le min est ",min);
tantque(n<>0)faire pas 1
s=s+x;
ecrire("le nombre des chifre est :",s);
fintantque
tantque(n<>0)faire pas 1
r=n\x;
n=n/10;
si(R\2==0)alore
cpt=cpt+1;
ecrire ("le nombre des valeurs qui pairs est");
finsi
fintantque
cpt=0;
tantque(n<>0)faire pas 1
r=n\x;
n=n/10;
si(R\2<>0)alore
cpt=cpt+1;
ecrire ("le nombre des valeurs qui impairs est");
finsi
fintantque
debut
ecrire("entrer un nombre entier :");
lire(n);
cpt=0;
max=-1;
min=10;
tntque(n<>0)faire pas 1
R=n\x;
n=n/10;
si(R>max)alore max=R;
fintantque
ecrire("le max des valeur est :",max);
tantque(n<>0)faire pas 1
r=n\x;
n=n/10;
si(R<min)alors min=R;
fintantque
ecrire("le min est ",min);
tantque(n<>0)faire pas 1
s=s+x;
ecrire("le nombre des chifre est :",s);
fintantque
tantque(n<>0)faire pas 1
r=n\x;
n=n/10;
si(R\2==0)alore
cpt=cpt+1;
ecrire ("le nombre des valeurs qui pairs est");
finsi
fintantque
cpt=0;
tantque(n<>0)faire pas 1
r=n\x;
n=n/10;
si(R\2<>0)alore
cpt=cpt+1;
ecrire ("le nombre des valeurs qui impairs est");
finsi
fintantque
tima.ait-
- Nombre de messages : 13
Date d'inscription : 29/04/2013
Re: Exercice d 'algorithme
السلام عليكم
راك قربتي نالجواب فالمحاولة التانية والاكن راه خاصك ترد البال معى طان كو حيت بالخدمة الي داير نتا را معمر البرنامج مايخرج من لا بوكل. علاش ؟ حيت نتا كاتقولو دير هده الشي ماحد العدد مبدل على صفر ولكن هداك العدد مكي تبدلشي. إداََ تما حصلتي.
وريني كفاش الأستاد عطاكم لا سانطاكس ديال طان كو حيت جاني دكشي فشكال عندك.
المهم. هنا لقيتلك واحد الطريقة مافيها لاطاباو لا شين لا والو غير عدد عادي وصافي.
J'ai trouver une méthode simple est efficace sans utiliser de tableau, ni même transformer le nombre en chaine. Je pensais dans cette direction pour essayer de déterminer si c'est un palindrome, mais appris, j'ai trouver une meilleurs solution.
Une explication des opération pour déterminer chaque chiffre :
Pour le chiffre le plus grand et le plus petit, la technique que tu as utiliser dans ta deuxième proposition peut être juste, mais il aurais fallu réajuster les variable min et max parceque dans tous les cas, les chiffres de 0 à 9 seront inférieur à 10 et suppérieur à -1 et sa ne t'avancera pas. Ma proposition te permet de résoudre le problème de détection des valeurs min et max non seulement dans cette exercice, mais partout ailleurs.
La question de la parité est assez simple. Cependant il ne fallait pas calculer le nombre des chiffre pair ou impaire, mais leurs moyenne. Leurs moyenne est égale à leurs somme divisé par le nombre. Leur nombre est leur somme sont calculé à l'intérieur de la boucle. La division est faite seulement après la fin de la boucle.
Pour le palindrome, il suffit de comparais le chiffre i avec le chiffre longeur-i qui lui correspondant.
Exemple:
راك قربتي نالجواب فالمحاولة التانية والاكن راه خاصك ترد البال معى طان كو حيت بالخدمة الي داير نتا را معمر البرنامج مايخرج من لا بوكل. علاش ؟ حيت نتا كاتقولو دير هده الشي ماحد العدد مبدل على صفر ولكن هداك العدد مكي تبدلشي. إداََ تما حصلتي.
وريني كفاش الأستاد عطاكم لا سانطاكس ديال طان كو حيت جاني دكشي فشكال عندك.
المهم. هنا لقيتلك واحد الطريقة مافيها لاطاباو لا شين لا والو غير عدد عادي وصافي.
J'ai trouver une méthode simple est efficace sans utiliser de tableau, ni même transformer le nombre en chaine. Je pensais dans cette direction pour essayer de déterminer si c'est un palindrome, mais appris, j'ai trouver une meilleurs solution.
Une explication des opération pour déterminer chaque chiffre :
- Code:
2142423 / 10^1 = 214242 + 3 | 3 / 10^0 = 3 + 0
2142423 / 10^2 = 21424 + 23 | 23 / 10^1 = 2 + 3
2142423 / 10^3 = 2142 + 423 | 423 / 10^2 = 4 + 23
2142423 / 10^4 = 214 + 2423 | 2423 / 10^3 = 2 + 432
2142423 / 10^5 = 21 + 42423 | 42423 / 10^4 = 4 + 2423
2142423 / 10^6 = 2 + 142423 | 142423 / 10^5 = 1 + 42423
2142423 / 10^7 = 2142423 | 2142423 / 10^6 = 2 + 142423
Pour le chiffre le plus grand et le plus petit, la technique que tu as utiliser dans ta deuxième proposition peut être juste, mais il aurais fallu réajuster les variable min et max parceque dans tous les cas, les chiffres de 0 à 9 seront inférieur à 10 et suppérieur à -1 et sa ne t'avancera pas. Ma proposition te permet de résoudre le problème de détection des valeurs min et max non seulement dans cette exercice, mais partout ailleurs.
La question de la parité est assez simple. Cependant il ne fallait pas calculer le nombre des chiffre pair ou impaire, mais leurs moyenne. Leurs moyenne est égale à leurs somme divisé par le nombre. Leur nombre est leur somme sont calculé à l'intérieur de la boucle. La division est faite seulement après la fin de la boucle.
Pour le palindrome, il suffit de comparais le chiffre i avec le chiffre longeur-i qui lui correspondant.
Exemple:
- Code:
Longeur = l = 8
i = L'indice du chiffre à comapré. La technique reprend le concept
du tableau, mais sans utilisé de tableau
[ x | i | x | x | x | x | x |l-i| x ]
0 1 2 3 4 5 6 7 8
- Code:
Variable nbr, nbr_act, max, min, longeur, moy_pair, moy_impair, nbr_moy_pair, nbr_moy_impair, i : Entier
Variable est_palindrome : Chaine
Début
Ecrire ("Entrez un nombre entier positif: ");
Lire (nbr);
i = 0
TantQue (nbr / (10^i)) > 0
nbr_act = ( nbr % (10^i) ) / ( 10^(i-1) );
max = nbr_act;
min = nbr_act;
Si nbr_act > max Alors
max = nbr_act;
FinSi
Si nbr_act < min Alors
min = nbr_act;
FinSi
Si nbr_act % 2 == 0 alors
moy_paire = moy_pair + nbr_act;
nbr_moy_pair = nbr_moy_pair + 1;
Sinon
moy_impair = moy_impair + nbr_act;
nbr_moy_impair = nbr_moy_impair + 1;
FinSi
i = i + 1;
FinTantQue
longeur = i;
moy_paire = moy_pair / nbr_moy_pair;
moy_impaire = moy_impair / nbr_moy_impair;
est_palindrome = "oui";
Pour i de 1 à longeur
Si ( nbr % (10^i) ) / ( 10^(i-1) ) <> ( nbr % (10^(longeur-i)) ) / ( 10^(longeur-i-1) ) Alors
est_palindrome = "non";
FinSi
FinPour
Ecrire ("Le chiffre le plus grand est : ", max)
Ecrire ("Le chiffre le plus petit est : ", min)
Ecrire ("Le nombre de chiffres est : ", longeur)
Ecrire ("La moyenne des chiffres pairs est : ", moy_pair)
Ecrire ("La moyenne des chiffres impairs est : ", moy_impair)
Ecrire ("Es-ce un palindrome ? ", est_palindrome)
Fin
Dragnucs-
- Nombre de messages : 6
Date d'inscription : 14/09/2013
Page 1 sur 2 • 1, 2
Sujets similaires
» algorithme exercice avec correction (2 fichiers)
» exercice algorithme
» Aide moi : Exercice d'algorithme en c
» ALGORITHME cours et exercice imortant
» algorithme exercice avec correction (2 fichiers)
» exercice algorithme
» Aide moi : Exercice d'algorithme en c
» ALGORITHME cours et exercice imortant
» algorithme exercice avec correction (2 fichiers)
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ven Nov 16, 2018 6:14 pm par tri2b
» Examen de fin de formation Théorique 2018 TDM
Mar Juin 19, 2018 8:08 pm par Mr.Ayoub
» Examen de Passage Chef Chantier TP 2010 Pratique
Lun Juin 04, 2018 11:07 am par Mr.Ayoub
» Examen de fin de formation Chef de Chantier T.P 2012 Théorique
Dim Juin 03, 2018 3:59 pm par Mr.Ayoub
» Examen de fin de formation TSGO 2016 Pratique Variante 1
Dim Juin 03, 2018 3:36 pm par Mr.Ayoub
» Examen de fin de formation Chef de Chantier T.P 2008 Théorique
Dim Juin 03, 2018 3:25 pm par Mr.Ayoub
» Examen de Passage Chef de Chantier T.P 2008 Théorique et Pratique
Dim Juin 03, 2018 3:24 pm par Mr.Ayoub
» Examen de Fin de Formation Gestion des Entreprises TSGE 2015
Mar Mai 29, 2018 12:18 pm par Mr.Ayoub
» Examen de Passage 2015 Gestion des Entreprises TSGE
Mar Mai 29, 2018 11:55 am par Mr.Ayoub
» Examen de Passage Gestion des Entreprises TSGE 2017
Mar Mai 29, 2018 11:51 am par Mr.Ayoub