Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme

Posté par
misslolo
28-03-18 à 10:45

bonjour, mon prof m'as donnée un DM mais je ne comprend pas l'exercice. c'est:

S=0
Pour i allant de 1 a 9 faire:
R= nombre entier aléatoire compris entre 1 et 6
Si R=6
Alors S=S+1
Fin de Si
Fin de pour.
-Qu'elle sera la valeur contenu dans la variable R?
-Quel est le rôle de la variable S?

Pouvez- vous m'aidez svp?
Merci

Posté par
patrice rabiller
re : Algorithme 28-03-18 à 10:58

Bonjour,

R contient un nombre entier aléatoire compris entre 1 et 6 : on ne peut donc pas connaître la valeur de R en sortie de l'algorithme.
La variable S augmente de 1 chaque fois que R=6. Donc, à la fin de l'algorithme, la variable S contient le nombre de fois où R a été égal à 6.

Remarques :
S=0 doit s'écrire "S prend la valeur 0" ou "S est initialisé à 0". Le signe = est utilisé un peu plus loin dans un test : il ne peut donc pas servir pour l'affectation.
Il aurait fallu recopier l'énoncé sans faute ... "Quelle sera la valeur contenue..."

Posté par
misslolo
re : Algorithme 28-03-18 à 11:16

d'accord, Merci!

Posté par
mathafou Moderateur
re : Algorithme 28-03-18 à 11:34

Bonjour,

S=0 doit s'écrire "S prend la valeur 0"
hum...
ce genre de confusion regrettable existe avec un signe "=" qui a plusieurs significations selon le contexte où il est employé

la recommandation actuelle est d'écrire, pour les algorithmes "en langage naturel"
S ← 0
("prend la valeur" fait trop "Algobox" pour être honnête, et "initialisé à" n'a un sens que la première fois qu'on met quelque chose dans S)

S = 0 pour mettre une valeur dans S est dans presque tous les langages (C, Python etc)

c'est l'écriture du test qui est "==" au lieu de "=" (double signe =) dans la plupart des langages

Posté par
patrice rabiller
re : Algorithme 28-03-18 à 12:02

Je ne suis pas tout à fait d'accord avec toi mathafou. Si tous les langages ou presque utilisent le signe = pour désigner l'affectation c'est parce que la plupart (java, python...) dérivent du langage C. Ce n'est pas parce que quelqu'un a eu une mauvaise idée au départ, que tout le monde doit l'adopter !
Pour moi le signe = devrait avoir le même sens qu'en mathématique : l'égalité. C'est pour cela que la recommandation actuelle est d'écrire l'affectation avec le signe ←. C'est d'ailleurs ce symbole qu'on utilisait déjà pour l'affectation dans les années 70 lorsque j'étais étudiant. Je m'accommode très bien du signe = pour l'affectation, mais alors, il faut utiliser autre chose pour le test d'égalité (et pourquoi pas l'horrible == ).

Pour en revenir au texte donné par misslolo, je trouve quand même étonnant qu'on ne soit pas plus rigoureux... La syntaxe du langage algorithmique peut être souple mais sans aller jusqu'à la confusion des symboles. L'important au final, c'est que l'algorithme soit compréhensible en français

Il faudrait peut-être ajouter le symbole  ← dans la liste des symboles sous la fenêtre d'édition.

Posté par
mathafou Moderateur
re : Algorithme 28-03-18 à 12:20

en fait on est parfaitement d'accord
c'est juste le "doit" qui me choquait un peu dans la phrase citée.
on doit ... écrire des choses claires et sans ambiguïtés, tout à fait.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1505 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !