Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Message d'erreur sur Algobox

Posté par
JeanneBr
25-04-14 à 17:32

Bonjour,
J'ai un exercice de maths à faire avec un algorithme à programmer sur AlgoBox, mais un message d'erreur ***L'algorithme contient une erreur : impossible de le lancer***
***Vérifiez la syntaxe des affectations et des conditions***
Pourriez vous me dire ce qu'il ne va pas dans mon algorithme?
Merci pour votre aide!

Message d\'erreur sur Algobox

Posté par
mathafou Moderateur
re : Message d'erreur sur Algobox 25-04-14 à 17:38

Bonjour,

4x connait pas.
si tu veux multiplier 4 par x tu écris 4*x
pareil pour 4x*x qui doit être écrit 4*x*x
(la multiplication implicite n'existe pas)

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 17:42

Je viens de modifier l'algorithme mais le message d'erreur apparait toujours...

Posté par
J-P Posteur d'énigmes
re : Message d'erreur sur Algobox 25-04-14 à 17:47

L'erreur de syntaxe est bien celle indiquée.

Sans présumer de l'exactitude de l'algo, le programme suivant se lance sans erreur :

VARIABLES
N EST_DU_TYPE NOMBRE
x EST_DU_TYPE NOMBRE
y EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
u EST_DU_TYPE NOMBRE
aire EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
N PREND_LA_VALEUR 10000
u PREND_LA_VALEUR 0
POUR i ALLANT_DE 0 A N
DEBUT_POUR
x PREND_LA_VALEUR random()
y PREND_LA_VALEUR random()
SI (y<=4*x-4*x*x) ALORS
DEBUT_SI
u PREND_LA_VALEUR u+1
TRACER_POINT (x,y)
FIN_SI
FIN_POUR
aire PREND_LA_VALEUR u/N
AFFICHER aire
FIN_ALGORITHME


Posté par
J-P Posteur d'énigmes
re : Message d'erreur sur Algobox 25-04-14 à 17:50

Ceci dit, je ne vois pas à quoi sert l'instruction : LIRE N
Si elle est directement suivie par : N PREND_LA_VALEUR 10000

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 17:55

Pourtant j'ai bien inséré les * mais je ne parviens toujours pas à le lancer

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 17:57

Oui c'est vrai vous avez raison je vais la retirer mais pensez vous qu'il y aurait un autre problème dans l'algorithme?

Posté par
mathafou Moderateur
re : Message d'erreur sur Algobox 25-04-14 à 18:01

ben je sais pas
tu dois avoir une saleté (chiure de mouche) dans tes lignes...
en mettant très exactement :


1   VARIABLES
2     N EST_DU_TYPE NOMBRE
3     x EST_DU_TYPE NOMBRE
4     y EST_DU_TYPE NOMBRE
5     i EST_DU_TYPE NOMBRE
6     u EST_DU_TYPE NOMBRE
7     aire EST_DU_TYPE NOMBRE
8   DEBUT_ALGORITHME
9     LIRE N
10    N PREND_LA_VALEUR 10000
11    u PREND_LA_VALEUR 0
12    POUR i ALLANT_DE 0 A N
13      DEBUT_POUR
14      x PREND_LA_VALEUR random()
15      y PREND_LA_VALEUR random()
16      SI ((y<=4*x-4*x*x)) ALORS
17        DEBUT_SI
18        u PREND_LA_VALEUR u+1
19        TRACER_POINT (x,y)
20        FIN_SI
21      FIN_POUR
22    aire PREND_LA_VALEUR u/N
23    AFFICHER aire
24  FIN_ALGORITHME

(obtenu via exporter en texte, copie-collable contrairement à ta copie d'écran)
j'obtiens bien ça :
Message d\'erreur sur Algobox
sans erreur
enfin sans message d'erreur

car comme tu peux le constater j'ai tapé 0 à l'invite de N et il m'a bien généré 10000 points ...
ton LIRE N suivi de N PREND_LA_VALEUR ... est un peu sot
soit tu mets l'un (N est un paramètre à l'exécution) soit tu mets l'autre (N est une constante qui vaut 10000)
faudrait savoir !

Posté par
mathafou Moderateur
re : Message d'erreur sur Algobox 25-04-14 à 18:05

Bon, le temps de tout saisir, et le coup du LIRE suivi d'affectation avait déjà été discuté
et J-P avait même donné l'algo copie-collable

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 18:12

J'ai réécrit l'algorithme et ça marche! Merci beaucoup

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 18:47

Dans la suite de l'exercice je bloque sur cette question:
Soit a et b deux nb réels tels que -5a<b5
Comment doit-on modifier la valeur prise par x pour que ce nombre soit choisi au hasard dans l'intervalle [a;b] et non dans l'intervalle [0;1]?

Posté par
mathafou Moderateur
re : Message d'erreur sur Algobox 25-04-14 à 19:03

une façon simple est de transformer [0; 1] en [a; b] par une fonction affine :
a + (b-a)*random()
(f(x) = a + (b-a)x est la fonction affine telle que f(0) = a et f(1) = b)

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 19:11

Pouvez vous me réexpliquer s'il vous plait? Je n'ai pas bien compris comment on passe de la fonction à la formule a + (b-a)*random()

Posté par
mathafou Moderateur
re : Message d'erreur sur Algobox 25-04-14 à 19:16

???
il n'y a rien de plus à expliquer
tu pars de l'original où x = random() et tu veux obtenir à la place f(x) donc tu remplaces x par random() dans cette fonction

peut être que pour éviter de faire une salade de x j'aurais dû te parler d'une fonction de t : f(t) = a + (b-a)*t
dans laquelle tu remplaces t par random() pour avoir x = f(random()) ?

Posté par
JeanneBr
re : Message d'erreur sur Algobox 25-04-14 à 19:18

Ah oui c'est bon j'ai compris merci



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