Bonjour, voici un second algorithme que j'ai du mal à traiter, pouvez-vous m'aider?
Saisir n
A reçoit 2
B reçoit 1
Pour i de 0 jusqu'à n
B reçoit B + A
Fin Pour
Afficher B
Ensuite on a un tableau à compléter, dans lequel il faut trouver les différentes valeurs de B pour n allant de 0 à 5
Pour n=0, B est deja donné, on a B=3
Puis selon moi on a:
pour n=1, B reçoit 3 + 2 donc B=5
pour n=2, B reçoit 5 + 2 donc B=7
pour n=3, B reçoit 7 + 2 donc B=9
pour n=4, B reçoit 9 + 2 donc B=11
pour n=5, B reçoit 11 + 2 donc B=13
Je ne suis pas du tout certain de ce que j'ai fais, car d'une part j'ai du mal à savoir si à cause de 'A reçoit 2 B reçoit 1' on doit rajouter 2 et 1 à A et B à chaque tour. Et globalement j'ai du mal à voir où la boucle qu'on répète commence. Je pense qu'elle commence à 'Pour i de 0 jusqu'à n'?
Merci
re,
même réponse que pour l'autre
(nota : pour n = 0, la boucle est effectuée une fois, ce qui donne bien le B = 3 déja écrit du tableau)
Bonjour ,
il faut noter qu'un boucle pour n de 0 à 5 s'effectue 6 fois (avec n = 0 , 1 , 2 , 3 , 4 et 5)
ici remplacer n par i ...
"pour i de 0 à n"
si n = 5 elle s'effectue 6 fois
(et si n = 0 elle s'effectue 1 fois comme je le disais)
Bonjour,
"Pour i de 0 à 5" la boucle s'effectue 6 fois : tout dépend des conventions du langage courant, du langage de l'algorithme ou du langage de programmation...
Tous ont leurs propres conventions qui ne sont pas toujours bien posées ou bien connues...
On ne peut qu'être effrayé par la façon dont on fait poser un "algorithme" au lycée sans toujours lui faire associer les commentaires explicatifs nécessaires.
Sachant la difficulté de comprendre un morceau de programme ( ou d'algorithme) non commenté dans des programmes d'utilisation courante, on risque de ne pas envoyer les élèves sur les bonnes voies...
"Pour i de 0 à 5" fait toujours, aussi bien en pur français que traduit dans n'importe quel langage de programmation
i = 0
puis i = 1
etc
puis i = 5 inclus
en maths quand on dit c'est bien de i = 0 à i = 5 inclus
c'est exactement pareil sans qu'on ait besoin de chercher à pinailler sur sa signification
le problème est en fait de la non distinction entre
un algorithme (une description abstraite des opérations à effectuer dans tel ordre)
et un programme (la traduction d'un algorithme dans un langage de programmation donné)
quand on parle de l'algorithme d'Euclide pour chercher le PGCD, on ne parle pas de programmation ni de langage !!
on décrit une méthode, une succession d'opérations à effectuer jusqu'à obtenir le résultat
ceci est général.
évidemment que pour décrire une description abstraite on est amené à utiliser un certain "langage" qui est le pur français
on appelle cela "en langage naturel"
et les "commentaires" font partie de cette description (devraient)
et certains se sont évertués à essayer de "normaliser" ce "langage naturel" de façon plus malheureuse qu'heureuse.
je me suis toujours horrifié de voir des algorithmes "rédigés" à la mode débile :
entrée : bla bla
algorithme : bla bla
fin de l'algorithme
sorties : bla bla
avec des "prend la valeur de" et autres "debut de"
seule l'éducation nationale utilise cette convention (utilisait, mais la "nouvelle façon" n'est guère mieux)
alors certes pour illustrer et le "voir" fonctionner, on est quasiment tout le temps amené à traduire un algorithme dans un langage donné
mais il faut bien faire la différence entre l'algorithme lui-même (c'est des maths) et sa traduction (c'est de l'informatique)
Bonjour,
Merci mathafou de si bien donner une vision bien détaillée.
Il semble qu'Algobox ne soit plus recommandé dans l'éducation nationale ?
"Pour i de 0 à 5" qui effectue 6 fois une boucle, je pensais à
Python pour lequel "for i in range(0:5):" la boucle est effectuée 5 fois...
salut,
je ne connais pas Python mais s'il fait ça ses concepteurs sont "débiles" (attention smiley ) :
l'ensemble des nombres entiers de [0; 5] contient 6 éléments
en fait range est [0; 5[ (on se demande bien quelle idée saugrenue est passée dans le cerveau des concepteurs ...)
range(valeur_initiale, borne_de_fin, pas)
Le pas peut être positif ou négatif. La valeur de la borne de fin (maximale ou minimale) n'est jamais atteinte.
le pire c'est l'indentation totalement ingerable avec un groupe de 17 eleves.
le fait d'ouvrir l'intervalle de valeurs à droite est loufoque
en fait toute fonction et tout mot clé de tout langage doit être soigneusement étudié dans la spécification détaillée de ce langage avant d'être utilisé,
c'est tout.
c'est comme suivre les règles d'un jeu
ou de plein de jeux sans se mélanger les pinceaux entre adouber, souffler, tackler etc ...
Bonsoir,
Oui, mais penser, sans le connaître, que Python a été conçu de façon saugrenue mérite bien un smiley
C'est le fait de commencer les tableaux et listes avec un index 0 plutôt que 1 qui conduit à ce choix...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :