Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algobox

Posté par
oceeane
19-03-13 à 14:52

Bonjour à tous,

j'ai une question concernant algobox...
En fait j'ai deux suites Un+1 = (2un + Vn)/3 et
Vn+1 = (Un + 2Vn)/3

Comment fait-on pour calculer et afficher les 20 premiers termes de chaque suite ?

merci de votre aide
Bonne journée
Océane

Posté par
LeDino
re : algobox 19-03-13 à 15:04

U0 et V0 ?

Posté par
oceeane
re : algobox 19-03-13 à 15:08

Ah oui excusez-moi : U0 = 2 et V0 = 8

Posté par
LeDino
re : algobox 19-03-13 à 15:17

VARIABLES
U EST_DU_TYPE NOMBRE
V EST_DU_TYPE NOMBRE
USUIV EST_DU_TYPE NOMBRE
VSUIV EST_DU_TYPE NOMBRE
N EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
MSG EST_DU_TYPE CHAINE

DEBUT_ALGORITHME
  U PREND_LA_VALEUR 8
  V PREND_LA_VALEUR 2
  LIRE N

  POUR i ALLANT_DE 1 A N
    DEBUT_POUR
    USUIV PREND_LA_VALEUR (2*U + V)/3
    VSUIV PREND_LA_VALEUR (U + 2*V)/3
    U PREND_LA_VALEUR USUIV
    V PREND_LA_VALEUR VSUIV
    MSG PREND_LA_VALEUR "U" + i + "=" + U
    MSG PREND_LA_VALEUR MSG + "    V" + i + "=" + V
    AFFICHER* MSG
    FIN_POUR

FIN_ALGORITHME

Posté par
oceeane
re : algobox 19-03-13 à 18:53

Merci beaucoup .
Mais je ne comprends pas le message de type chaine, nous n'avons jamais vu ça... Et de plus lorsque je le fais, il n'affiche pas les termes de chaque suite...

Posté par
LeDino
re : algobox 19-03-13 à 19:49

Pour afficher un message, tu peux utiliser l'instruction Afficher un Message d'ALGOBOX.
Mais elle est très pénible parce qu'elle ne permet pas de "mélanger" du texte et des nombres.

Donc l'astuce est d'utiliser une chaîne de caractère, que j'appelle MSG (pour qu'on comprenne à quoi elle sert).
Je peux alors "construire" le contenu de mon message comme je veux en le plaçant dans la variable MSG.

Pour ça c'est simple, j'utilise la concaténation avec le symbole +.

Si j'écris :
MSG PREND_LA_VALEUR "U" + i + "=" + U
AFFICHER* MSG
Alors si i vaut 1 et U(1) vaut 6 j'afficherai :  U1=6

Pour afficher à la suite Ui et Vi :
MSG PREND_LA_VALEUR  "U" + i + "=" + U
MSG PREND_LA_VALEUR  MSG + "    V" + i + "=" + V
AFFICHER* MSG

Voilà c'est tout bête.
Si ton programme n'affiche pas les deux suites, c'est que tu l'as mal écrit.
Vérifies le.
Les instructions sur le MSG doivent être à l'intérieur de la BOUCLE.

Posté par
LeDino
re : algobox 19-03-13 à 19:51

Si tu veux tu remplaces ça par :

AFFICHER U
AFFICHER* V

Posté par
oceeane
re : algobox 19-03-13 à 19:53

Merci de cette réponse. Oui je me suis trompée quelque part, je vais le refaire

Posté par
oceeane
re : algobox 19-03-13 à 19:57

Ah oui il fonctionne mais je n'arrive pas à afficher les 20 premiers en même temps, sur la même page..

Posté par
LeDino
re : algobox 20-03-13 à 00:35

As-tu bien fait la différence entre
AFFICHER et AFFICHER*

Lorsqu'il y a une étoile après AFFICHER, il y a un saut de ligne après.
Sinon il n'y en a pas.

Posté par
mathafou Moderateur
re : algobox 20-03-13 à 09:05

Bonjour,

juste une petite subtilité sur
AFFICHER U
AFFICHER* V

si U vaut 3 et V vaut 4 par exemple cela va afficher : 34
(puis la suite sur la ligne suivante à cause du "*")
pour les séparer il faut intercaller un message entre les deux "afficher", par exemple :
AFFICHER U
AFFICHER ", "
AFFICHER* V

et il affichera alors : 3, 4

l'utilisation de la variable chaine est simplement plus élégante pour "formatter" la sortie (un affichage propre disant ce qu'on affiche et séparant les valeurs) plutôt qu'une succession d'un tas de "AFFICHER"

Posté par
LeDino
re : algobox 20-03-13 à 11:52

Bonjour mathafou ,

Oui en effet. Le AFFICHER de "base" d'ALGOBOX est carrément "lourdingue", dans la programmation, et dans le formattage des sorties.
C'est étonnant que cette instruction ne permette pas la concaténation directement : ça éviterait de passer par une variable chaîne et ça troublerait moins les débutants...

Mais bon, l'utilisation des chaînes n'est pas bien méchante à comprendre et elle "ouvre" un champ intéressant pour quiconque veut s'initier à la "programmation"...

Posté par
oceeane
re : algobox 20-03-13 à 17:53

Merci beaucoup à vous deux pour vos réponses super utiles !!

Avez-vous des conseils pour s'améliorer en algorithme ? car j'ai un peu de mal...

Posté par
LeDino
re : algobox 20-03-13 à 19:42

Citation :
Avez-vous des conseils pour s'améliorer en algorithme ? car j'ai un peu de mal...

S'entraîner !!!

Tu vas dans ALGOBOX
Et tu essaies de faire des modifications, progressives, petites étapes par petites étapes, afin de voir "ce qui se passe".

Tu apprendras beaucoup en testant par toi même.
N'oublie pas de "tracer" les valeurs de tes variables (par exemple avec la technique de la chaine MSG) pour contrôler la bonne marche du programme.
Lorsque la trace ne te sert plus... tu mets l'instruction AFFICHER* MSG en comentaire (il suffit de glisser // devant).

Posté par
LeDino
re : algobox 20-03-13 à 19:43

Si tu as un exemple que tu veux faire, tu peux aussi demander de l'aide ici...

Posté par
oceeane
re : algobox 21-03-13 à 17:57

Merci pour ces conseils ! Oui il faut que je m'entraîne car il y en a au bac à présent

Posté par
LeDino
re : algobox 21-03-13 à 18:08

Tu ne devrais pas en avoir peur :
- C'est plutôt amusant
- C'est très pratique pour résoudre plein de problèmes
- C'est pas bien compliqué, faut juste découvrir un peu comment ça fonctionne...

Posté par
oceeane
re : algobox 21-03-13 à 20:24

Oui j'aime bien le problème c'est qu'à chaque fois qu'il y en a à faire je n'y arrive pas sans aide

Posté par
LeDino
re : algobox 21-03-13 à 23:47

Si tu t'entraînes plus, seule, et sur des choses simples, tu te familiariseras et tu deviendras de plus en plus autonome.

Posté par
oceeane
re : algobox 22-03-13 à 12:55

C'est difficile d'avoir une bonne note au bac de maths si on est pas très très doué non ?



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