مرحبا بكم في منتديات المهدية yoo7
مرحبا بكم في منتديات المهدية yoo7
مرحبا بكم في منتديات المهدية yoo7
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

مرحبا بكم في منتديات المهدية yoo7


 
الرئيسيةأحدث الصورالتسجيلدخول

 

 Exercice:calcul chifre de chance

اذهب الى الأسفل 
كاتب الموضوعرسالة
moriss
المشرف العام للمنتدى
المشرف العام للمنتدى
moriss


عدد الرسائل : 100
العمر : 38
تاريخ التسجيل : 27/02/2008

Exercice:calcul chifre de chance Empty
مُساهمةموضوع: Exercice:calcul chifre de chance   Exercice:calcul chifre de chance Emptyالأربعاء مارس 05, 2008 3:51 pm

___Enoncée__________




Ecrire une
solution récursive qui permet de calculer le chiffre de chance
d'une personne en se basant sur sa date de naissance.

Le chiffre de chance est calculé de la façon suivante:

filtrer la date ( c'est à dire ne laisser que les caracteres numériques )

calculer la somme des chiffres de cette date et évaluer le resultat:

si cette somme est formé par un seul chiffre alors c'est le chiffre de chance

sinon recalculer les chiffre de cette somme jusqu'a qu'on obtient
un seul chiffre qui est enfin le chiffre de chance !!

Exemple


si date = "21/02/1990" alors

on filtre la date: date devient "21021990"

Calculer la somme des chiffres: 2+1+0+2+1+9+9+0 = 24

Calculer la somme des chiffres de "24": 2+4 = 6

On est arrivé à un nombre d'un seul chiffre 6 : C'est le chiffre de chance

















Enoncé


SALUT TOUT LE MONDE;

On dit souvent la solution mais en réalité on doit dire une solution !!!

biensur il y'a une différence ..!!


Ici je propose une solution pour l'exercice:

____________________________________________________________


program chiffre_chance;

uses wincrt;

var

date:string;

p:integer;


procedure saisie(var date:string);

begin

write('saisir votre date de naissance ............: ');

readln(date);

end;



function filtrer(date:string; i:integer):string;

begin

if i>length(date) then

filtrer:=date

else if date[i] in['0'..'9'] then

filtrer:=filtrer(date,i+1)

else

begin

delete(date,i,1);

filtrer:=filtrer(date,i)

End;

End;



function somme(date:string):integer;

var

p,e:integer;

begin

if length(date)=1 then

begin

val(date,p,e);

somme:=p;

End

else

begin

val(date[1],p,e);

delete(date,1,1);

somme:= p + somme(date);

End;

End;


function chiffre(p:integer):integer;

var

s:string;

begin

if p<=9 then

chiffre:=p

else

begin

str(p,s);

p:=somme(s);

chiffre:=chiffre(p);

End;

End;



begin

saisie(date);

date:=filtrer(date,1);

writeln('Date apres filtrage devient ...............: ',date);

writeln('Le chiffre de chance est ..................: ', chiffre(somme(date)));

End.


الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
Exercice:calcul chifre de chance
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مرحبا بكم في منتديات المهدية yoo7 :: Science informatique :: Programmation-
انتقل الى: