La communauté ALL HTML c'est 58032 membres à ce jour dont 2 inscrits aujourd'hui et 31 depuis une semaine.
Retrouvez les publications relatives à ces discussions dans notre rubrique algorithmique et méthodes.
liste des forums liste des discussions Participer à la discussion
Message publié le jeudi 17 janvier 2008 à 01 h 16 par quaresma. vive le portugal Algo cadeaux
var TEmp : TABLEAU[1..MaxEmp] de Employe
TEnf : TABLEAU[1..MaxEnfEmp] de EnfEmploye
IndexEmploye, IndexEnfant, NbreKdos, NumSalarie, NbreEnfSalarie : ENTIER
DEBUT
AFFICHER("Veuillez saisir le numéro du salarié");
//saisi du numéro du salarié//
SAISIR(NumSalarie);
//initialisation des variables//
IndexEmploye:=0;
IndexEnfant:=0;
NbreEnfSalarie:=0;
Nom:=TEmp[IndexEmploye].NomEmp;
//On parcourt le tableau des employés afin de voir si le numero saisi est présent//
TANT QUE (TEmp[IndexEmploye].NumEmp<>NumSalarie ET IndexEmploye<100) FAIRE
IndexEmploye:=IndexEmploye+1;
//Si le numero du salarié est présent dans le tableau on poursuit//
SI(TEmp[IndexEmploye].NumEmp=NumSalarie) ALORS
IndexEmploye=IndexEnfant;
FIN SI
//si le salarié a des enfants de moins de 18 ans on incrémente//
Si(TEmp[IndexEmploye].NumEmp=NumSalarie ET TEmp[IndexEmploye].Nb_enfants<>0 ET TEnfEmp[IndexEnfant].Age<18) ALORS
NbreEnfSalarie:=NbreEnfSalarie+TEmp[IndexEmploye].Nb_enfants;
NbreKdos:=NbreEnfSalarie;
AFFICHER("Pour Mr ou Mme","",Nom,"","il faut","",NbreKdos,"","cadeaux");
SINON
//Si le numero du salarié est présent dans le tableau et que celui-ci a des enfants, mais qu'ils ont plus de 18 ans on n'affiche un message pour l'indiquer//
SI(TEmp[IndexEmploye].NumEmp=NumSalarie ET TEmp[IndexEmploye].Nb_enfants<>0 et TEnfEmp[IndexEnfant].Age>=18) ALORS
AFFICHER("ce salarié a un ou plusieurs enfant(s) mais ils ont plus de 18 ans");
SINON
//Si le numero du salarié est présent mais que celui-ci n'a pas d'enfant on n'affiche un message pour l'indiquer//
SI(TEmp[IndexEmploye].NumEmp=NumSalarie ET TEmp[IndexEmploye].Nb_enfants=0) ALORS
AFFICHER("ce salarié n'a pas d'enfants");
//Si le numero du salarié n'est pas dans le tableau, on n'affiche un message d'erreur//
FIN SI
FIN SI
FIN SI
FIN TANT QUE
AFFICHER("ce salarié n'existe pas");
FIN
Message publié le jeudi 17 janvier 2008 à 04 h 54 par quaresma. vive le portugal Algo cadeaux
var TEmp : TABLEAU[1..MaxEmp] de Employe
TEnf : TABLEAU[1..MaxEnfEmp] de EnfEmploye
NumEmp, IndexEmploye, IndexEnfant, NbCadeau, NumSalarie, NbreEnfSalarie : ENTIER
DEBUT
AFFICHER("Veuillez saisir le numéro du salarié");
//saisi du numéro du salarié//
Saisir(NumSalarie);
//On parcourt le tableau des employés afin de voir si le numero saisi est présent//
IndexEmploye:=0;
Tant Que TEmp[IndexEmploye].NumEmp<>NumSalarie ET IndexEmploye<100 Faire
IndexEmploye:=IndexEmploye+1;
Fin Tant Que // On a le numero, inutile de continuer.
//Si le numéro du salarié N'est PAS présent dans le tableau on génère une erreur.
Si ( IndexEmploye >= MaxEmp) Alors
AFFICHER("ce numéro de salarié n'existe pas");
Fin Si
// Si on arrive là, c'est que l'on a trouvé l'employé.
NumEmp:=TEmp[IndexEmploye].NumEmp;
NbreEnfSalarie := TEmp[IndexEmploye].Nb_Enfants;
//Maintenant que l'on a le numéro de l'employé et son nombre d'enfant, on peut chercher dans la liste des enfants.
IndexEnfant:=0;
Tant que NbreEnfSalarie > 0 Faire
Si TEnfEmp[IndexEnfant].NumEmp = NumEmp Alors
NbreEnfSalarie := NbreEnfSalarie - 1 ; // On a trouvé un enfant donc on décrémente le compteur.
Si TEnfEmp[IndexEnfant].Age < 18 Alors
NbCadeau := NbCadeau + 1 ; // L'enfant est mineur, donc on ajoute un cadeau.
Fin Si
Fin Si
IndexEnfant := IndexEnfant + 1 ;
Fin Tant Que
AFFICHER("Il faut","",NbCadeau,"","cadeaux pour les salariés");
FINliste des forums liste des discussions Participer à la discussion
Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.