Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 06-08-2017 13:42:26

charlène
Invité

Algorithmique

Bonjour à tous, je viens de finir mon année de première S et vais donc passer en terminale S. Cependant, mon lycée nous a envoyé un devoir maison à faire pendant ces vacances mais je rencontre quelques soucis notamment sur cet exercice en particulier.

On considère l'algorithme suivant:
a est du type nombre
i est du type nombre
Début algorithme
a prend la valeur 2
Pour i allant de 0 à 5
Début pour
Afficher a
a prend la valeur a+3
Fin pour
Fin algorithme
1. Combien de nombres vont être affichés par cet algorithme ?
2. Quels sont ces nombres ?
3. Recopier et modifier l'algorithme pour que les nombres affichés soient 2,6,10,14,18,22
4. Recopier et modifier l'algorithme pour que les nombres affichés soient 5,10,15

J'ai essayer de reproduire cet algorithme sur ma calculatrice mais en vain. Je ne demande pas les réponses, je voudrais juste essayer de comprendre cet exercice. Merci d'avance de vos réponses, Cordialement.

#2 06-08-2017 19:06:52

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : Algorithmique

Salut,

Allons, allons... Tu te fais peur pou rien...
1. Cet exercice est réalisable à la main avec papier/stylo.
    Tu affectes le nombre à une variable a.
    Puis tu effectues une boucle : tu demandes à la machine d'exécuter 6 fois (de 0 à 5 : ça fait 6 ^_^) les deux  instructions qui suivent :
    afficher la valeur de a
    ajouter 3 au nombre a.

C'est tout !

2. Cet algorithme est écrit avec le langage AlgoBox - gratuit - qui tourne sur les ordis (portables ou non). On le trouve ici :
    http://www.xm1math.net/algobox/download.html

3. En TI_Basic, tu as à ta disposition 28 cases mémoires destinées au stockage de valeurs pour le programmeur de A à Z plus Ɵ et n..
   Tu as un mode d'emploi, lis-le !
   Tu ne déclares pas de type de variable. Comme en Python, le logiciel s'adapte...
   Tu commences par dire à ta calculette que ce qui va suivre est un programme et tu fais suivre du nom que tu lui donnes.
    Par exemple
         prgmPREMALGO
     le "a prend la valeur 2" se traduit ainsi  :
         :2 --> A
     puis tu annonces ta boucle For :
         :For(I,0,5)
     "Afficher A" devient
         :Disp A   (de l'anglais to display, afficher)
     Ajouter 3 à A :
         :A+3 -->
     Fin de la boucle :
         :End

Tout est dans le manuel de la machine. Il y aussi par exemple : http://sdz.tdct.org/sdz/le-ti-basic-3.html

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#3 06-08-2017 19:28:16

charlène
Invité

Re : Algorithmique

Bonjour, merci pour ta réponse ainsi que les liens je vais y faire un tour et voir si sa peut me permettre de mieux comprendre mon exercice. Ce qui me fait donc que 6 nombres seront alors affichés si l'on suit ton raisonnement ?

#4 06-08-2017 19:29:47

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : Algorithmique

Re,

Oui !
Ça ne changerait rie d'ailleurs d'écrire dans l'Algorithme POUR i ALLANT DE 1  A 6, au lieu de  POUR i ALLANT DE 0 A 5
Compte sur tes doigts de 0 à 5 et tu arriveras à 6...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#5 06-08-2017 19:54:25

charlène
Invité

Re : Algorithmique

Re :)

Aha oui en effet mais je voulais être vraiment sur d'avoir bien compris pour ensuite faire la suite. J'ai du coup continué et je pense avoir trouver pour la question 2 ( je trouve 6,9,12,15,18,21) mais mon problème refait surface pour la suivante. Merci de ta réponse

#6 07-08-2017 08:45:29

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : Algorithmique

Salut,

La question 2 fait bien suite à la question 1 et c'est bien Quels sont ces nombres ? S'pas...
Alors si tu réponds 6,9,12,15,18,21...
Moi je dis non
On y va à la main
Je donne a A la valeur 2.
Je rentre dans la boucle For :
la variable I va compter le nombre de tours (elle comte sur ses doigts informatiques.
Le 1er tour, c'est le tour n° 0 : à chaque tour, I Augmente de 1 et le programme vérifie si I > 5 :
- Si c'est le cas : on sort tout de suite de la boucle,
- S ce n'est pas le cas :
   le programme affiche la valeur de A
   augmente alors de 3 la valeur de A
   puis retourne à l'instruction For, augmente I de 1, vérifie si I > 5... etc..
Donc 1ere question
I =0 
I>5 ? Non, on continue
   On affiche A --> 2
   On augmente A de 3 (A=5)
I= 1 
I>5 ? Non, on continue
   On affiche A --> 5
   On augmente A de 3 (A=8)

I= 2 
I>5 ? Non, on continue
   On affiche A --> 8
   On augmente A de 3 (A=11)

I= 3 
I>5 ? Non, on continue
   On affiche A --> 11
   On augmente A de 3 (A=14)

I= 4 
I>5 ? Non, on continue
   On affiche A --> 14
   On augmente A de 3 (A=17)

I= 5 
I>5 ? Non, on continue
   On affiche A --> 17
   On augmente A de 3 (A=20)

I= 6
I>5 ? Oui, on sort de la boucle
         Et la dernière valeur de A n'est pas affichée...
On a donc : 2, 5, 8, 11, 14, 17  --> tu vois on part de 2 (parce qu'on a commencé en disant A prend la valeur 2) et les nombres augmentent de 3 en 3 parce qu'on a demandé qu'à chaque tour A soit augmenté de 3...

Programme AlgoBox:

VARIABLES
   A EST_DU_TYPE NOMBRE
   I EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
   A PREND_LA_VALEUR 2
   POUR I ALLANT_DE 0 A 5
      DEBUT_POUR
      AFFICHER A
      A PREND_LA_VALEUR A+3
      FIN_POUR
FIN_ALGORITHME

Question 3
3. Recopier et modifier l'algorithme pour que les nombres affichés soient 2,6,10,14,18,22
Il y a 3 remarques à faire avant de modifier l'algorithme, après ça va tout seul.

Si ta réponse était celle de la question 3 : la réponse est non quand même.
On demande que les nombres affichés soient : 2, 6, 10, 14, 18, 22
et non  6,9,12,15,18,21


@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#7 07-08-2017 10:24:03

charlène
Invité

Re : Algorithmique

Bonjour, j'ai suivie ce que tu as fais en faisant l'algorithme à la main et pour ma question 3 je retrouve bien les nombres demandés en prenant a=2 et en lui ajoutant 4 à chaque fois pour i allant de 0 à 4 ( ça par contre je suppose mais sa me parait être le bon résultat)

Pied de page des forums