Bonsoir,
Je dois, pour la première fois, rentrer seule un programme sur ma calculette de type casio graph 35+. Cependant, je pense avoir pas mal de faute dans ma retranscription du langage naturel en langage sur calculatrice puisque effectivement, une fois mon programme écrit, on m'affiche "Error" . Pouvez-vous vérifier où est-il erroné ? Merci.
LANGAGE NATUREL :
VARIABLES :
q, r, m, n, s et v
ENTRÉE :
Saisir le nombre entier n
TRAITEMENT :
POUR m de 1 à 99 FAIRE
n prend la valeur m
v prend la valeur 1
s prend la valeur 0
TANT QUE v est égal à 1 FAIRE
TANT QUE n>0 FAIRE
q prend la partie entière de n/10
r prend la valeur n- 10q
s prend la valeur s + r^2
n prend la valeur q
FIN TANT QUE
SI s vaut 1 ou 4
v prend la valeur 0
SINON
n prend la valeur s
s prend la valeur 0
FIN SI
FIN TANT QUE
FIN POUR
SORTIE :
AFFICHER m puis s sur la même ligne
PROGRAMME SUR CALCULETTE :
VARIABLES :
?->R
?->M
?->N
?->S
?->V
ENTRÉE :
"N"-> Int N
TRAITEMENT :
For M For 1 To 99
N->M
V->1
S->0
While V=1
While N>0
Q->Int (N/10)
R->N-10Q
S->S+R^2
N->Q
WhileEnd
If S=1 OU S=4
V=O
else N->S
S->0
IfEnd
WhileEnd
Next
SORTIE :
M(triangle noir)
S(triangle noir)
Bonjour,
Ton programme comporte quelques erreurs :
- il n'y a qu'une seule donnée à saisir : la variable N
- l'affectation se fait "à l'envers" sur les calculatrices. Ainsi, V prend la valeur 1 se traduit par 1->V.
- si on veut afficher S et M sur la même ligne (bizarre comme exigence), il faut obligatoirement utiliser Locate (dans PRGM puis I/O)...
Voici comment je l'ai écrit (mais pas testé) :
En relisant mon petit programme, je vois que j'ai oublié une ligne, après la ligne Int(N:Q)Q, j'aurais dû écrire :
N-10QR
Non : le programme que j'ai envoyé n'a pas d'erreurs de syntaxe : il a été testé sans difficulté et a été recopié tel quel.
Par contre il contient très certainement des erreurs de "logique" : j'avoue ne pas comprendre le but recherché. La variable S contient la somme des carrés des chiffres du nombre N ... et ce nombre est ensuite à nouveau redécomposé en la somme des carrés de ses chiffres... ainsi de suite jusqu'à ce que cette somme soit égale à 1 ou à 4.
Tu es sûr(e) de ton énoncé ?
Où se produit l'erreur de syntaxe pour toi ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :