Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Ecrire un algorithme

Posté par
MisakiA
23-01-10 à 13:32

Bonjour

J'ai quelques petits problèmes avec les algorithmes que je suis censée écrire, et implémenté ensuite dans Algobox.

1) ** exercice effacé et dupliqué dans un nouveau topic ** Ecrire un algorithme


2) ** exercice effacé et dupliqué dans un nouveau topic ** Ecrire un algorithme


3) Développez un jeu qui consiste à tirer au sort un nombre compris entre 0 et 1000, puis à demander au joueur de deviner quel est ce nombre, jusqu'à ce qu'il donne la bonne réponse. En cas de mauvaise réponse, le jeu répondra simplement "trop petit" ou "trop grand".

4) ** exercice effacé et dupliqué dans un nouveau topic ** Ecrire un algorithme



Pour le trois j'ai tout d'abord :
  Variable :
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
Lire b
Si (b<a) alors
  Debut Si
  Afficher "trop petit"
  afficher a =
  afficher a
  afficher b =
  afficher b
    Debut sinon
    Si (a>b) alors
    debut si
    afficher "trop grand "
    afficher a =
    afficher a
    afficher b =
    afficher b
      Fin si
    Fin sinon
Fin algorithme
Mais je ne trouve aucun résultat (algobox me marque Debut algorithme, puis Fin algorithme lorsque je le lance), en bref je suis perdue, merci à tous ceux qui pourront m'aider ..

Edit Coll : merci de respecter la FAQ, un problème = un topic

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 17:51


visiblement, dans cet algorithme, il manque une bouche while.
le cas a = b n'est jamais traité.
un joli mêli-mêlo sur le test en IF.

Est-ce que le "lire b" marche au moins ?

...

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 18:02


a lire ici -->

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 18:16

Non rien ne marche enfaite, c'est trop vague.
Je comprend pas vraiment comment intégré les trois ( a<b, a>b et a=b) dans l'algorithme ..

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 18:28


Est-ce que le "lire b" marche au moins ?

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 18:35

oui il marche

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 18:36


effectivement, si à peine avoir posté,
tu disparait, on va pas y arriver.

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 18:44

Comment ça je disparait ?  

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 18:55


bien.

alors on va déjà régler le problème de la syntaxe du if :

a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
afficher a =
afficher a
afficher b =
Lire b
Si (b < a) alors
  Debut_Si
  Afficher "trop petit"
  Fin si
sinon
  debut sinon
  si (a > b) alors
    debut si
    afficher "trop grand "
    Fin si
  sinon
    debut sinon
    afficher "c'est gagné "
    fin sinon
  fin sinon
Fin algorithme

implémente déjà cela et fait tourner.
comme tu as l'affichage de la valeur a en début de prgrm, tu testes
1 fois avec un nombre b inférieur
1 fois avec un nombre b supérieur
1 fois avec un nombre b égal.

les 3 cas doivent marcher.
ensuite on rajoutera une boucle tant que

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:08

J'ai essayé, ça tourne a peu près
sauf qu'il me marque après " ***Algorithme interrompu ligne 10 : erreur dans la lecture d'une variable ***"  plus précisément avec "Lire b"

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 19:11


Quelle est l'instruction en ligne 10 ?

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:13

C'est "Lire b "

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 19:16


On a oublié l'instruction variable en début de prgm

variables
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
afficher a =
afficher a
afficher b =
Lire b

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:22

j'ai corrigé le problème, maintenant le programme tourne. J'ai essayer avec plusieurs valeur, seulement j'ai remarqué que je n'arrive pas à tomber sur " trop grand"

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 19:29

normal. le test est à l'envers.
corrige ça :

sinon
  debut sinon
  si (a < b) alors    
    debut si
    afficher "trop grand "
    Fin si
  sinon

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:35

je l'ai corrigé, merci beaucoup !

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 19:36

il te reste la boucle tant-que...

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:38

comment je fais pour celle -ci ?

et je viens de remarquer que ça m'affiche toujours "  ***Algorithme interrompu ligne 10 : erreur dans la lecture d'une variable ***" :s

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:39

Ce n'est plus ligne 10 mais ligne 9,, mais toujours le meme message

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 19:45


recopie tes 10 premières lignes.
tu rentres bien un nombre à l'instruction lire b ?

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 19:49

Variable
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
Afficher "a="
Afficher a
Afficher "b="
Lire B
Si (b<a) alors
...


Je rentre bien un nombre oui

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 20:00

Je corrigerais déjà la syntaxe :

Variables
a EST_DU_TYPE nombre
b EST_DU_TYPE nombre
Debut_algorithme
a PREND_LA_VALEUR (random()*1000)
Afficher "a="
Afficher a
Afficher "b="
Lire b

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 20:05

Cela fonctionne maintenant, j'avais un petit problème avec le b

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 20:06

ok.
donc problème entre minuscule et majuscule sur la déclaration d'une variable.

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 20:11

voila, j'avais fait une erreur d'inattention

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 20:24

Si on introduit la boucle tant_que
on va même pouvoir simplifier les test en If

variables
a EST_DU_TYPE nombre
b EST_DU_TYPE nombre
Debut_algorithme
a PREND_LA_VALEUR (random()*1000)
Afficher "a="
Afficher a
Afficher "b="
Lire b
tant_que (a != b) faire
  début tant que
  Si (b < a) alors
    Debut_Si
    Afficher "trop petit"
    Fin si
  sinon
    debut sinon
    afficher "trop grand "
    fin sinon
  afficher "recommencez... "
  Afficher "b="
  Lire b
  fin tant que
afficher "c'est gagné "
Fin algorithme

...

Posté par
MisakiA
re : Ecrire un algorithme 23-01-10 à 20:30

j'ai testé, ça marche bien, merci !

Posté par
pgeod
re : Ecrire un algorithme 23-01-10 à 20:32



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 1675 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 !