[RESOLU] Algorithme (pour dans un deuxième temps traduire en C)

Algorithme (pour dans un deuxième temps traduire en C) [RESOLU] - Algo - Programmation

Marsh Posté le 18-10-2022 à 18:45:34    

Bonjour, je suis débutant en algorithme et je dois faire cette exercice pour l'école la semaine prochaine, pourriez vous me donner votre avis svp pour que je puisse voir mes éventuelles erreurs ?  Merci à ceux et celles qui m'aideront à m'améliorer.
 
 
L'objectif est de savoir comment lire ce petit programme pour comprendre le résultat qui sera affiché lors de l execution du programme
 

Code :
  1. Consigne : Que donnera l'exécution du programme suivant ?
  2. tableau nombre[5] :entier
  3. var i :entier
  4. Pour i de 1 à 5 faire
  5. nombre [i-1] <- i*i
  6. fpour
  7. pour i de 0 à 4 faire
  8. ecrire nombre[i]
  9. fpour


 

Code :
  1. pour la premiere boucle pour :
  2. 1
  3. 4
  4. 9
  5. 16
  6. 25
  7. 0
  8. réponse à afficher (ecrire ce qui est dit dans la 2e boucle pour) :
  9. 1
  10. 4
  11. 9
  12. 16
  13. 25

Message cité 1 fois
Message édité par environnementBash le 19-10-2022 à 12:08:57
Reply

Marsh Posté le 18-10-2022 à 18:45:34   

Reply

Marsh Posté le 18-10-2022 à 23:11:51    

Je ne sais pas trop ce qui est attendu mais si la consigne est "Que donnera l'exécution du programme suivant ?", ne doit tu pas te contenter d'expliquer ce qu'il fait et de donner le résultat du programme ?
 
En l'état je ne comprends pas (mais c'est ptet moi, j'ai appris à coder au beaux-arts ^^) a quoi servent les 9 première lignes de ta "réponse"...
 
...si tu veux expliquer ce que fait le code, fait une phrase pacque la ce n'est pas clair. :o


---------------
D3
Reply

Marsh Posté le 19-10-2022 à 07:11:16    

environnementBash a écrit :

Bonjour, je suis débutant en algorithme et je dois faire cette exercice pour l'école la semaine prochaine, pourriez vous me donner votre avis svp pour que je puisse voir mes éventuelles erreurs ?  Merci à ceux et celles qui m'aideront à m'améliorer.
 
 

Code :
  1. Consigne : Que donnera l'exécution du programme suivant ?
  2. tableau nombre[5] :entier
  3. var i :entier
  4. Pour i de 1 à 5 faire
  5. nombre [i-1] <- i*i
  6. fpour
  7. pour i de 0 à 4 faire
  8. ecrire nombre[i]
  9. fpour


 

Code :
  1. pour la premiere boucle pour :
  2. 1
  3. 4
  4. 9
  5. 16
  6. 25
  7. 0
  8. réponse à afficher (ecrire ce qui est dit dans la 2e boucle pour) :
  9. 1
  10. 4
  11. 9
  12. 16
  13. 25



Pourquoi le 0 à la fin ? Sinon ça a l'air correct.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 19-10-2022 à 09:41:12    

mechkurt a écrit :

Je ne sais pas trop ce qui est attendu mais si la consigne est "Que donnera l'exécution du programme suivant ?", ne doit tu pas te contenter d'expliquer ce qu'il fait et de donner le résultat du programme ?
 
En l'état je ne comprends pas (mais c'est ptet moi, j'ai appris à coder au beaux-arts ^^) a quoi servent les 9 première lignes de ta "réponse"...
 
...si tu veux expliquer ce que fait le code, fait une phrase pacque la ce n'est pas clair. :o


 
 
 
Merci beaucoup pour le retour. Est-ce que je peux te demander comment est-ce que tu lis en français mentalement (dans la tête) le code svp ? Cela me permettra de savoir comment lire ce petit programme pour comprendre le résultat qui sera affiché.

Reply

Marsh Posté le 19-10-2022 à 09:43:43    

el muchacho a écrit :


Pourquoi le 0 à la fin ? Sinon ça a l'air correct.


 
Merci pour la remarque.
 
J'ai écris le zéro à la fin (concernant la première boucle) car je pense qu'il soit nécessaire de garder les valeurs significatives dans le code (en d'autres termes, je pense qu'il faut ne pas laisser de blancs dans le tableau)
 
Qu'en penses-tu svp ?


Message édité par environnementBash le 19-10-2022 à 09:44:25
Reply

Marsh Posté le 19-10-2022 à 10:51:28    

On dérives de plus en plus vers la résolution d'exercice à ta place (ce qui n'est pas dans la charte de ce forum, point [0D] de https://forum.hardware.fr/hfr/Progr [...] 44_1.htm).
 
Relit ton cours, pose des questions plus précises sur ce que tu ne comprend pas, mais ne nous demande pas de faire à ta place ce qui est demandé... [:airforceone]
 
Et clairement tu as un problème de compréhension dans ce qui se passe sur tes 2 boucles car il n'y a pas de zéro (la boucle pour i de 1 à 5 et celle de 0 à 4 sont toutes les 2 un parcours de 5 valeur différente de i).
 
Regarde attentivement ce qui est fait dans la 1ere boucle par rapport à i...

Message cité 1 fois
Message édité par mechkurt le 19-10-2022 à 11:55:33

---------------
D3
Reply

Marsh Posté le 19-10-2022 à 12:03:00    

mechkurt a écrit :

On dérives de plus en plus vers la résolution d'exercice à ta place (ce qui n'est pas dans la charte de ce forum, point [0D] de https://forum.hardware.fr/hfr/Progr [...] 44_1.htm).
 
Relit ton cours, pose des questions plus précises sur ce que tu ne comprend pas, mais ne nous demande pas de faire à ta place ce qui est demandé... [:airforceone]
 
Et clairement tu as un problème de compréhension dans ce qui se passe sur tes 2 boucles car il n'y a pas de zéro (la boucle pour i de 1 à 5 et celle de 0 à 4 sont toutes les 2 un parcours de 5 valeur différente de i).
 
Regarde attentivement ce qui est fait dans la 1ere boucle par rapport à i...


 
 
Je vous remercie pour vos remarques pertinentes.  
 
J'ai obtenu réponse à mes questions  et effectivement il fallait simplement enlever le zéro:
 

Code :
  1. nombre[0] <- 1
  2. nombre[1] <- 4
  3. nombre[2] <- 9
  4. nombre[3] <- 16
  5. nombre[4] <- 25

Reply

Marsh Posté le 19-10-2022 à 22:58:20    

Bravo d'avoir trouvé la solution.
 
En programmation dans de nombreux langages les tableaux de valeurs sont indicé avec un premier index à zéro.
 
J’imagine que c'était un des buts de l'exercice car faire succéder 2 boucles qui font quasiment la même chose est tout sauf optimisé.
 
Sans doute que prendre en compte les 3 étapes successives du code en faisait partit aussi (d’abord ligne 3 et 4, puis ligne 6 à 8 et enfin 10 à 12).
Distinguer et nommer ces parties sont sans doute attendue dans la réponse... :o


---------------
D3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed