Bonjour,
J'ai un exercice d'algorithmes à faire sur Algobox pour lundi, le problème est que je ne suis pas très douée avec ce logiciel...
J'ai déjà l'algorithme en langage naturel et j'en ai déjà reproduit une partie sur Algobox mais il reste des choses que je ne sais pas entrer... Quelqu'un pourrait m'aider s'il vous plait ?
Voici l'algortihme écrit en langage naturel :
Variables : n, S, i, M
Entrée : Demander un entier non nul n
Traitement
S prend la valeur 0.
Pour i allant de 1 à n
Demander une valeur a
S prend la valeur S + a
FinPour
Calculer M = S /n
Sortir : Afficher M
Merci d'avance
Bonjour,
Ca te va comme ça?
1 VARIABLES
2 n EST_DU_TYPE NOMBRE
3 s EST_DU_TYPE NOMBRE
4 i EST_DU_TYPE NOMBRE
5 m EST_DU_TYPE NOMBRE
6 a EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 n PREND_LA_VALEUR 0
9 TANT_QUE (n<=0) FAIRE
10 DEBUT_TANT_QUE
11 LIRE n
12 FIN_TANT_QUE
13 s PREND_LA_VALEUR 0
14 POUR i ALLANT_DE 1 A n
15 DEBUT_POUR
16 LIRE a
17 s PREND_LA_VALEUR s+a
18 FIN_POUR
19 m PREND_LA_VALEUR s/n
20 AFFICHER "m="
21 AFFICHER m
22 FIN_ALGORITHME
Bonjour !
J'arrive un peu tard pour poser la question, mais je ne comprends pas pourquoi vous faites TANT_QUE (n<=0) FAIRE car c'est marqué que n est un entier non nul. Pourquoi ne pas avoir fait "tant que n est différent de 0" ?
Merci d'avance
Bonjour,
c'est un gadget (mais pas tant que ça) pour forcer l'utilisateur à donner une valeur >0
tant que la valeur saisie est erronée parce que <0, on redemande.
on pourrait même ainsi ajouter une sécurité supplémentaire en forçant l'utilisateur à répondre non seulement une valeur > 0, mais aussi entière
en modifiant le tant que par :
tant que (n<=0 OU floor(n)!=n)
il est toujours "fortement recommandé" de s'assurer physiquement (par un test effectif) que toute valeur saisie par un utilisateur (qui à priori peut tout aussi bien taper -7.34 "histoire de rigoler") satisfait bien aux demandes du programme (entrer un nombre entier ≥ 1)
D'accord j'ai compris, merci beaucoup ! Mais est ce que je peux me passer de cette étape Tant Que ? Si c'est moi qui rentre les valeurs je peux m'assurer moi même que n est non nul
c'est toi qui vois
le fonctionnement même de l'algorithme sera plus clair sans.
par contre savoir que c'est un truc à faire quand on écrit un programme "destiné aux autres", et donc savoir le faire, est important.
celui là c'est pour forcer la première exécution du "tant que"
si on ne mettait rien dans comment le "tant que" pourrait répondre par oui je fais ou non ?
si tu supprimes la boucle et ne fais que LIRE n une seule fois à la place, cette affectation initiale de 0 dans n ne sert plus à rien non plus.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :