Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme

Posté par
bled54
24-05-14 à 10:41

Salut a tous j'ai un dm pour Lundi et il y a deux exos qui me pose problème et que je n'y arrive pas Merci de votre aide!  
Ecrire en language naturel un algorithme qui permet de calculer la somme de T= 1/1+1/3+1/5+1/7...1/29
il faut absolument utiliser la boucle tant que

Posté par
bled54
re : Algorithme 24-05-14 à 10:54

J'ai trouver sa je ne sait pas si c'est juste
Saisir A;M;E
A prend la valeur 1
M prend la valeur 1
Tant que M > 29
S=A/M
M=M+2
Fin tant que
Afficher S

Posté par
mathafou Moderateur
re : Algorithme 24-05-14 à 11:21

Bonjour,

c'est déja une première bonne idée, mais les détails sont du total n'importe quoi

Saisir A;M;E ah bon? non, c'est variables : ...
il n'y a rien à "saisir" ici, aucune entrée manuelle de valeur à faire lors de l'exécution,
c'est ça que veut dire "saisir" entrer des valeurs à la main
A prend la valeur 1 rend de toute façon le saisir" précédent caduc puisque quelle que doit la valeur saisie, elle serait écrasée par 1
M prend la valeur 1
Tant que M > 29 Comme M est pour l'instant = 1 et que 1 n'est pas > 29, la boucle n'est pas effectuée du tout.
S=A/M faux, voir plus loin
M=M+2 OK
Fin tant que OK
Afficher S OK

étudions le contenu de la boucle en supposant que cette boucle soit exécutée "un certain nombre de fois" (non nul), ce que tu souhaitais faire mais que tu as raté.

la première fois M = 1, A = 1 et tu calcules 1/1 = 1 que tu mets dans S, OK
la seconde fois, M = 3, A est toujours égal à 1 et tu calcules 1/3
que tu mets dans S, écrasant l'ancienne valeur de S

bref au lieu de calculer la somme des termes, tu ne mets dans S à chaque fois que la seule valeur du dernier terme calculé !!
à la fin tu devrais donc afficher 1/29 0.03448276

au passage à quoi peut bien servir d'utiliser une variable A pour mettre la valeur 1 qui ne change jamais ???

bref, erreurs à corriger :
déclaration de variable à la place de "saisir"
corriger la condition du tant que
corriger le principe même du calcul de S :
on accumule des termes dans S
ce qui devrait se traduire par :
S prend la valeur S plus terme
(et il faudra bien donner une valeur initiale à S avant d'entrer dans la boucle)

Posté par
mathafou Moderateur
re : Algorithme 24-05-14 à 11:25

PS : et écrire de façon homogène

soit tu mets des "variable \red = valeur ou calcul"
soit tu mets des "variable \small \text{\red prend la valeur} valeur ou calcul"
mais pas un mélange des deux syntaxes comme tu l'as fait.

Posté par
bled54
re : Algorithme 24-05-14 à 11:44

Alors tu propose quoi moi je suis vraiment nul en algo

Posté par
alb12
re : Algorithme 24-05-14 à 11:52

mathafou se decarcasse pour te donner un cours particulier et tu reponds "tu propose(s) quoi"
c'est à toi de proposer
essaie et teste avec Algobox ou autre
voici ce que je fais avec mes eleves avec Xcas, prends l'essentiel et redige comme avec ton prof:

CalculerSomme():={ // fonction sans parametre (pas de saisie)
  local S,n; // declaration des variables limitees à ce programme
  S:=0;n:=1; // initialisation des variables locales
  tantque n<=29 faire // tant que n reste inferieur ou egal à 29
    S:=S+1/n; // ajouter 1/n à S
    n:=n+2; // ajouter 2 à n
  ftantque
  retourne S // valeur de retour,resultat,sortie,image par la fonction CalculerSomme
}:;

tu peux verifier la reponse toujours avec Xcas en tapant ou collant:
somme(1/k,k,1,29,2)

Posté par
mathafou Moderateur
re : Algorithme 24-05-14 à 12:02

presque la même chose que ce que tu avais écrit en corrigeant les lignes (les parties en gras) en fonction de ce que j'ai dit :

Saisir A;M;E
A prend la valeur 1
M prend la valeur 1
initialisation de S <--- ligne à ajouter
Tant que M > 29
S=A/M
M=M+2
Fin tant que
Afficher S

et alors ça sera bon
(même si la variable A ne sert à rien et peut être remplacée partout par le nombre constant 1, ça n'empêchera pas l'algo de marcher)

relis mon post pour savoir par quoi remplacer les parties en gras.
la condition du tant que c'est du Français, pas de l'algorithmique :

tant que on n'a pas fini faire ceci cela

ici ce sera donc : tant que M n'est pas > 29
(ce qui se traduit mathématiquement par une autre inégalité sur M que M > 29, là c'est juste des maths sur la significations des signes d'inégalités)

Posté par
bled54
re : Algorithme 24-05-14 à 12:12

je ne comprend pas bien pouvez vous me donner l'algo en language naturel SVP

Posté par
bled54
re : Algorithme 24-05-14 à 12:15

merci mathfou je n'avaitpas vue ton poste

Posté par
alb12
re : Algorithme 24-05-14 à 20:43

à galène ?



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