Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2604 connectés 

  FORUM HardWare.fr
  Emploi & Etudes
  Aide aux devoirs

  [AIDE] besoin d'aide pour réaliser un algorithme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[AIDE] besoin d'aide pour réaliser un algorithme

n°1511260
quaresma
Posté le 15-01-2008 à 20:41:58  profilanswer
 

Bonjour à tous,
je suis en BTS IG, et j'aurai besoin de votre aide pour réaliser l'algorithme suivant : http://tosweb.free.fr/algo.pdf
 
J'ai du mal a comprendre les constantes, et le fonctionnement des tableaux.
Merci bcp pour votre aide :)

mood
Publicité
Posté le 15-01-2008 à 20:41:58  profilanswer
 

n°1511435
Paracyber_​_
Posté le 15-01-2008 à 21:23:21  profilanswer
 

Il manque des infos dans l'exo de ton prof, enfin au moins une :
Comment sont affectés les cadeaux ? on peut présumer que c'est un cadeau par enfant de moins de 18ans mais ce n'est précisé nul part.

n°1511476
quaresma
Posté le 15-01-2008 à 21:31:56  profilanswer
 

Paracyber__ a écrit :

Il manque des infos dans l'exo de ton prof, enfin au moins une :
Comment sont affectés les cadeaux ? on peut présumer que c'est un cadeau par enfant de moins de 18ans mais ce n'est précisé nul part.


 
Oui en effet c'est la question que je me posais.
A mon avis, il faut prendre en considération qu'il n'y a que un cadeau par enfant.
 :hello:  

n°1511515
Paracyber_​_
Posté le 15-01-2008 à 21:47:08  profilanswer
 

Bon en prendant en compte l'hypothèse qu'il n'y a qu'un cadeau par enfant, la question posée est également mal formulée :
"Ecrire un algorithme qui à partir du numéro d 'un salariés saisi au clavier affiche le nombre de cadeau à affecter aux enfants de moins de 18ans. SI le salarié n'existe pas, l'algo affiche un message d'erreur."
 
Il n'y a pas de corrélations entre le numéro de l'employé saisi et la réponse à la question "nombre de cadeaux à affecter aux enfants de moins de 18ans."  
La question finale qui est "nombre de cadeaux à affecter aux enfants de moins de 18ans est indépendante du numéro employé saisi. Pour que l'exo et un sens, la question aurait du préciser : nombre de cadeaux à affecter à ses enfants de moins de 18ans.
 
L'aglo bete et méchant coniste donc juste à saisir un numéro d'employé, vérifié qu'il est présent dans le tableau des employé sinon tu sors. Si il est présent, tu parcours le tableau le tableau des enfants du personnel, et tu retourne le nombre d'enfants présents dans ce tableau en virant ce qui ont plus de 18) pour avoir le nombre total de cadeaux à distribuer. (en gros le logiciel te demandes : dis mois le numéro d'un employé valide pour que je te donne le nombre total de cadeaux à distribuer.  ;) )


Message édité par Paracyber__ le 15-01-2008 à 21:48:51
n°1512617
quaresma
Posté le 16-01-2008 à 18:40:37  profilanswer
 

Salut,
voici un debut de ce que j'ai fait. Ce n'est pas du tout complet, mais c'est pour vous doner un debut. Je dois rendre la taff demain...8O
Pourriez-vous md'aider ? merci
 

Code :
  1. Algo       cadeaux
  2. var TEmp : TABLEAU[1..MaxEmp] de Employe
  3.      TEnf : TABLEAU[1..MaxEnfEmp] de EnfEmploye
  4. i, j, NbreKdos, NumSalarie, NbreEnfSalarie : ENTIER
  5. DEBUT
  6. AFFICHER("Veuillez saisir le numéro du salarié" );
  7. SAISIR(NumSalarie);
  8. i:=0;
  9. j:=0;
  10. NbreEnfSalarie:=0;
  11. TANT QUE (TEmp[i].NumEmp<>NumSalarie ET i<100) FAIRE
  12. i:=i+1;
  13. SI(TEmp[i].NumEmp=NumSalarie ET TEmp[i].Nb_enfants<>0 ET TEnfEmp[j].Age<18) ALORS
  14. NbreEnfSalarie:=NbreEnfSalarie+TEmp[i].Nb_enfants;
  15. AFFICHER(NbreEnfSalarie);
  16. SINON
  17. AFFICHER("ce salarié n'a pas d'enfant" );
  18. FIN SI
  19. FIN TANT QUE
  20. AFFICHER("ce salarié n'existe pas" );
  21. FIN


 
MERCIIIIIIIIIIIII

n°1512923
Paracyber_​_
Posté le 16-01-2008 à 21:06:33  profilanswer
 

quaresma a écrit :

Salut,
voici un debut de ce que j'ai fait. Ce n'est pas du tout complet, mais c'est pour vous doner un debut. Je dois rendre la taff demain...8O
Pourriez-vous md'aider ? merci
 

Code :
  1. Algo       cadeaux
  2. var TEmp : TABLEAU[1..MaxEmp] de Employe
  3.      TEnf : TABLEAU[1..MaxEnfEmp] de EnfEmploye
  4. i, j, NbreKdos, NumSalarie, NbreEnfSalarie : ENTIER
  5. DEBUT
  6. AFFICHER("Veuillez saisir le numéro du salarié" );
  7. SAISIR(NumSalarie);
  8. i:=0;
  9. j:=0;
  10. NbreEnfSalarie:=0;
  11. TANT QUE (TEmp[i].NumEmp<>NumSalarie ET i<100) FAIRE
  12. i:=i+1;
  13. SI(TEmp[i].NumEmp=NumSalarie ET TEmp[i].Nb_enfants<>0 ET TEnfEmp[j].Age<18) ALORS
  14. NbreEnfSalarie:=NbreEnfSalarie+TEmp[i].Nb_enfants;
  15. AFFICHER(NbreEnfSalarie);
  16. SINON
  17. AFFICHER("ce salarié n'a pas d'enfant" );
  18. FIN SI
  19. FIN TANT QUE
  20. AFFICHER("ce salarié n'existe pas" );
  21. FIN


 
MERCIIIIIIIIIIIII


 
C'est faux. Déjà tu testes pas i=100 (strictement inférieur) et si je me souviens 100 est inclus, et surtout dans ton SI tu tests TenfEmp[j].Age<18 alors que ton j est toujours égale à 0 sur l'ensemble de ton algo. Copie à revoir.

n°1512958
quaresma
Posté le 16-01-2008 à 21:23:39  profilanswer
 

c'est pour demain, soyez sympa les gars aidez-moi un peu plus... :sweat:

n°1513045
Dk59
Posté le 16-01-2008 à 22:17:45  profilanswer
 

Cela doit ressembler à cela
 
1. Algo       cadeaux  
2. var TEmp : TABLEAU[1..MaxEmp] de Employe  
3.      TEnf : TABLEAU[1..MaxEnfEmp] de EnfEmploye  
4. i, j, NbreKdos, NumSalarie, NbreEnfSalarie : ENTIER  
5.  
6. DEBUT  
7. AFFICHER("Veuillez saisir le numéro du salarié" );  
8. SAISIR(NumSalarie);  
9. i:=1;  
10. NbreEnfSalarie:=0;  
11. TANT QUE (TEmp[i].NumEmp<>NumSalarie ET i<=100) FAIRE  
12.   i :=i+1
13. FIN TANT QUE  
14. SI i<101 ALORS
15.   j :=1 ;
16.   NbreEnfSalarie :=0 ;
17.   TANT QUE j<=1000
18.    SI(TEnf[j].NumEmp=NumSalarie ET TEnf[j].Age<18) ALORS  
19.      NbreEnfSalarie:=NbreEnfSalarie+1;  
20.    FIN SI  
21.    j:=j+1 ;
22.   FIN TANT QUE    
23.  AFFICHER("Nombre de KDO a distribuer" + NbreEnfSalarie);  
24. SINON
25.   AFFICHER("ce salarié n'existe pas" );  
26. FIN SI
27. FIN
 
Tu peux l'optimiser en gérant le Nb_Enfants de la structure Employe

n°1513108
quaresma
Posté le 16-01-2008 à 22:50:06  profilanswer
 

Salut DK59,
je ne pense pas que ton algo soit complet...

n°1513160
quaresma
Posté le 16-01-2008 à 23:08:43  profilanswer
 

voici mon algo :
 

Code :
  1. Algo       cadeaux
  2. var TEmp : TABLEAU[1..MaxEmp] de Employe
  3.     TEnf : TABLEAU[1..MaxEnfEmp] de EnfEmploye
  4.     IndexEmploye, IndexEnfant, NbreKdos, NumSalarie, NbreEnfSalarie : ENTIER
  5. DEBUT
  6.     AFFICHER("Veuillez saisir le numéro du salarié" );
  7.     //saisi du numéro du salarié//
  8. SAISIR(NumSalarie);
  9.     //initialisation des variables//
  10.     IndexEmploye:=0;
  11. IndexEnfant:=0;
  12. NbreEnfSalarie:=0;
  13.     Nom:=TEmp[IndexEmploye].NomEmp;
  14.     //On parcourt le tableau des employés afin de voir si le numero saisi est présent//
  15. TANT QUE (TEmp[IndexEmploye].NumEmp<>NumSalarie ET IndexEmploye<100) FAIRE
  16.      IndexEmploye:=IndexEmploye+1;
  17.         //Si le numero du salarié est présent dans le tableau on poursuit//
  18.  SI(TEmp[IndexEmploye].NumEmp=NumSalarie) ALORS
  19.          IndexEmploye=IndexEnfant;
  20.         FIN SI
  21.         //si le salarié a des enfants de moins de 18 ans on incrémente//
  22.         Si(TEmp[IndexEmploye].NumEmp=NumSalarie ET TEmp[IndexEmploye].Nb_enfants<>0 ET TEnfEmp[IndexEnfant].Age<18) ALORS
  23.   NbreEnfSalarie:=NbreEnfSalarie+TEmp[IndexEmploye].Nb_enfants;
  24.          NbreKdos:=NbreEnfSalarie;
  25.          AFFICHER("Pour Mr ou Mme","",Nom,"","il faut","",NbreKdos,"","cadeaux" );
  26.  SINON
  27.          //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//
  28.         SI(TEmp[IndexEmploye].NumEmp=NumSalarie ET TEmp[IndexEmploye].Nb_enfants<>0 et TEnfEmp[IndexEnfant].Age>=18) ALORS
  29.   AFFICHER("ce salarié a un ou plusieurs enfant(s) mais ils ont plus de 18 ans" );
  30.         SINON
  31.          //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//
  32.         SI(TEmp[IndexEmploye].NumEmp=NumSalarie ET TEmp[IndexEmploye].Nb_enfants=0) ALORS
  33.   AFFICHER("ce salarié n'a pas d'enfants" );
  34.          //Si le numero du salarié n'est pas dans le tableau, on n'affiche un message d'erreur//
  35.  FIN SI
  36.         FIN SI
  37.         FIN SI
  38.     FIN TANT QUE
  39. AFFICHER("ce salarié n'existe pas" );
  40. FIN

mood
Publicité
Posté le 16-01-2008 à 23:08:43  profilanswer
 

n°1513768
quaresma
Posté le 17-01-2008 à 15:57:14  profilanswer
 

[B]Jolies surprises aujourd'hui !![/B]
 
[U]Il y avait des erreurs dans l'énoncé.[/U]
 
- Il faut saisir le nom de l'employé et non pas son numero.
- et c'est [I]Num_Emp : Chaine[/I] pour les 2 types. (erreur dans le 2ème type)
 
A rendre pour demain donc...

n°1520844
bubu1881
Posté le 22-01-2008 à 20:24:02  profilanswer
 

Quaresma ton est erroné.

n°1520845
bubu1881
Posté le 22-01-2008 à 20:24:19  profilanswer
 

ton algo est erroné

n°1520941
quaresma
Posté le 22-01-2008 à 21:18:58  profilanswer
 

laissez tomber je l'ai rendu depuis le temps lol


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Emploi & Etudes
  Aide aux devoirs

  [AIDE] besoin d'aide pour réaliser un algorithme

 

Sujets relatifs
à l'aide svpTravail d'étudiant : aide dans un cabinet comptable avec BAC+2 eco-ge?
ASSEDIC & Aide déménagementDemand d'aide : Variation des stock.
besoin de conseil pour devenir dessinateur industrielAdmission DUTou ecole ingé Aide SVP
[URGENT] Aide pour un sujetBesoin d'info sur le Oil & Gas
traduction aide anglaisBesoin d'idées d'orientation
Plus de sujets relatifs à : [AIDE] besoin d'aide pour réaliser un algorithme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR