Algorithma


  • J

    Bonjour,
    Voila je suis une éleve de seconde et j'ai un devoir de math à faire.
    Je dois créer un programme informatique sur Algobox, j'ai déjà essayée plusieur possibilités mais pour l'instant aucune n'a marchées.
    J'ai utilisée la "boucle" POUR...ALLANT DE...à...., Mais aucun resultat.
    Merci d'avance et bonne soirée.

    *** Edit de Zorro : ici, quand on veut de l'aide , on fait l'effort de recopier son énoncé***


  • J

    Je suppose que tu as déjà fait la première parie "à la main".

    Pour la partie programmation, c'est exactement le même principe :

    Le premier jour, on apporte la somme A = 1 centime
    Pour chaque jour, du premier au Nème, on ajoute la somme A à apporter au total, et on double A (pour le jour suivant)

    Peux-tu écrire ici ce que tu avais fait ?


  • Zorro

    Bonjour,

    Pour savoir quels sont les scans tolérés ici, il faut lire le message écrit en rouge dans la page d'accueil ; clique sur ce qui est dessous c'est un lien

    Insérer une image dans son message


  • J

    j-gadget
    Je suppose que tu as déjà fait la première parie "à la main".

    Pour la partie programmation, c'est exactement le même principe :

    Le premier jour, on apporte la somme A = 1 centime
    Pour chaque jour, du premier au Nème, on ajoute la somme A à apporter au total, et on double A (pour le jour suivant)

    Peux-tu écrire ici ce que tu avais fait ?

    Merci d'avoir répondu.
    Oui j'ai fait la premiere partie, je comprend ce que vous voulez dire le probleme c'est que je n'arrive pas à l'écrire. Je vous envoi ce que j'ai déjà fait.

    Variables
    -A est du type Nombre
    -N est du type nombre
    Debut Algorithme
    -Pour N allant de 1 à 30
    -Debut pour
    A prend la valeur 1
    N prend la valeur A*2
    -Fin pour
    -Afficher N
    Fin algorithme


  • Zorro

    Alors ton algo il tourne pour faire 30 fois

    A prend la valeur 1
    A prend la valeur 2*1 = 2

    et il fait cela 30 fois , à la fin A vaudra 2 ....... il pourrait le faire 100 fois ou 1000 fois , ou 1 fois , il donnerait le même résultat

    A prend la valeur 1
    A prend la valeur 2*1 = 2


  • J

    Ah, ben ça ne marche pas... Il y a une confusion entre le compteur de jours, et le total des sommes apportées.

    Je te suggère d'utiliser 3 variables :
    A, qui est la somme à apporter chaque jour
    N, le total des sommes apportées
    I, le compteur de jours.

    Tu dois initialiser A à 1 avant d'entrer dans la boucle (sinon, il reste tout le temps à 1), et le doubler à chaque tour de boucle.

    Essaye donc, ça devrait mieux marcher.


  • Zorro

    Et si on avait le sujet on pourrait t'aider un peu plus efficacement !


  • J

    J'ai utilisée 3 variables comme vous me l'avez dit et j'ai initialiser A avant la boucle mais ca ne marche toujours pas.


  • J

    Recopie donc le sujet ici, et montre-nous aussi ton nouvel algorithme qui ne marche pas (sinon, on aura du mal à le corriger).


  • Zorro

    Et l'énoncé ?????Toujours rien ! Comment veux tu qu'on t'aide ?


  • J

    Voici mon resultat.

    Variables
    -A est du type Nombre
    -N est du type nombre
    -I est du type nombre
    Debut Algorithme
    A prend la valeur 1
    -Pour I allant de 1 à 30
    -Debut pour
    N prend la valeur A*2
    -Fin pour
    -Afficher N

    L'enoncé:
    La Somme S est determinée en centimes d'euros, en juxtaposant les chiffres correspondant au jour au mois et à l'année de votre date de naissance.
    La mienne est S= 26031994 = 26 031 994 cts = 260 399, 94 euros

    alain becile passe le contrat avec jean tourloupe :
    jean prete la somme s a alain.
    ensuite alain rend visite a jean chaque jour du mois qui en compte 30.
    le premier jour il donne 1 ct a jean
    le 2 jour il donne 2 cts
    le 3 jour 4 cts et ainsi de suite, chaque jour il verse le double de la veille.

    a) Ecrire un programme qui calcule la somme versée le jour N et la somme totale versée au cours de N jours.

    b)determiner la somme qu'alain versera le 30eme jour ainsi que la somme totale versée au cours du mois, ainsi que le 20eme jour et la somme totale versée au cours de 20 jours

    d) Determiner quel est le rang du jour où alain devra verser une somme superieur à S.

    Voila

    c)


  • J

    Ton algorithme met à chaque tour de boucle la valeur 2*A = 2 dans N, et ça ne marche pas...

    Il faut ajouter la valeur de A à N, puis doubler la valeur de A

    Les valeurs de A et de N changent à chaque tour de boucle. Essaye de simuler sur papier comment doivent changer tes variables pour les 2 ou 3 premiers tours de boucle, ça ira peut-être mieux.


  • J

    j-gadget
    Ton algorithme met à chaque tour de boucle la valeur 2*A = 2 dans N, et ça ne marche pas...

    Il faut ajouter la valeur de A à N, puis doubler la valeur de A

    Les valeurs de A et de N changent à chaque tour de boucle. Essaye de simuler sur papier comment doivent changer tes variables pour les 2 ou 3 premiers tours de boucle, ça ira peut-être mieux.

    Merci je comprend mieu mais il y a toujours quelque chose qui cloche, on me dit que il y a un dépassement de la capacité autorisé pour la boucle.
    Voici ma reponse:
    Variables
    -A est du type Nombre
    -N est du type nombre
    -R est du type nombre
    Debut Algorithme
    A prend la valeur
    Rprend la valeur A2
    -Pour N allant de 1 à 30
    -Debut pour
    N prend la valeur R
    2
    -Fin pour
    -Afficher N
    Fin algorithme


Se connecter pour répondre