Académique Documents
Professionnel Documents
Culture Documents
int age,jours_vecus,an,mois,jour;
1
Initialisation de jours_vecus à 0 :
jours_vecus=0;
age=date[2]-date_naissance[2];
else age=date[2]-date_naissance[2]-1;
for (an=date_naissance[2];an<=date[2];an++)
{ for (mois=1;mois<=12;mois++)
{ for (jour=1;jour<=longueur_mois(mois,an);jour++)
{
if (an==date_naissance[2] && mois<date_naissance[1]);
else if (an==date_naissance[2] &&
mois==date_naissance[1] && jour<date_naissance[0]);
else if (an==date[2] && mois>date[1]);
else if (an==date[2] && mois==date[1] &&
jour>date[0]);
else jours_vecus++;
}
}
}
2
Affichage à l’écran du nombre de jours vécus :
printf("Jours vecus = %d\n",jours_vecus);
Exercice 2 : Pointeurs
a . Ecrivez un programme dans lequel vous :
3
Au moyen du pointeur ‘p’, placez la valeur 5 dans ‘x’.
Au moyen des pointeurs ‘p’ et ‘q’, placez la valeur de ‘x’ dans ‘y’.
return ;
}
b . Citez un des intérêts du passage de variable(s) par pointeur(s) lorsqu’on appelle une fonction ?
4
Annexe 1 : Algorithme de détermination de l’âge
SI (numéro du jour actuel ≥ numéro du jour de naissance ET numéro du mois actuel = numéro
du mois de naissance) OU SI numéro du mois actuel > numéro du mois de naissance
ALORS âge = année actuelle – année de naissance
SINON âge = année actuelle – année de naissance – 1
Incrémenter « jour »
FIN BOUCLE 3
Incrémenter « mois »
FIN BOUCLE 2
Incrémenter « an »
FIN BOUCLE 1
Exemple 1 : 2004 est divisible par 4 (2004 = 511 x 4), mais pas par 100 (2004 = 20.04 x 100), c’est donc une année
bissextile.
Exemple 2 : 1900 est divisible par 4 (1900 = 475 x 4), mais aussi par 100 (1900 = 19 x100) et elle n’est pas un multiple de
400 (1900 = 4.75 x 400), ce n’est donc pas une année bissextile.
Exemple 3 : 2000 est divisible par 4 et par 100, mais elle est également un multiple de 400, c’est donc une année
bissextile.
Algorithme :
int longueur_mois(int mois,int annee)
5
31,28,31,30,31,30,31,31,30,31,30,31
SI ((annee divisible par 4 ET annee divisible par 100) OU (annee divisible par 400)) ET mois=2
ALORS la fonction renvoie ((contenu de la case du tableau correspondant au mois) + 1) (attention !!)
SINON la fonction renvoie (contenu de la case du tableau correspondant au mois) (attention !!)