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

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


 
الرئيسيةاليوميةمكتبة الصوربحـثالتسجيلالمجموعاتدخول

شاطر | 
 

 Exercice:calcul chifre de chance

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

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

مُساهمةموضوع: Exercice:calcul chifre de chance   الأربعاء مارس 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
 مواضيع مماثلة
-
» Exemples d'exercices de sport pour femmes

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