Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Exercice algorithmique

Posté par
reunion
18-03-14 à 09:17

Bonjour à toutes et à tous. J'ai un problème avec un exercice et j'ai besoin de votre aide.

On a cet algorithme:


                     - Remplacer s par 0
                     - Remplacer i par 0
                     -Tant que i<51
                           -Remplacer s par s+3i²
                           -Remplacer i par i+1
                     -Fin tant que
                     -Afficher s

1) Déterminer les valeurs de i et de s : 1ère boucle : i = 0; s = 0
                                         2ème boucle : i = ?; s = ? (même chose pour les 2 boucles suivantes)
J'ai déjà fait entrer ce programme dans la calculatrice et dans "AlgoBox" mais j'obtiens tout le temps deux valeurs différentes (une pour la calculatrice et une pour AlgoBox).

2) Que fait cet algorithme et expliciter la suite dont il est question.
Je ne sais pas et je pense que la suite est s+3(i+1)².

3) Modifier cet algorithme pour qu'il demande la valeur du rang maximal (jusqu'où le calcul doit être mené) et qu'il affiche les valeurs de la suite à chaque boucle.
Je pense qu'on doit remplacer 51 par N et au début Prompt N et pour afficher les valeurs de chaque boucle je pense qu'il faut mettre Pause à un endroit.

4) Donner les valeurs affichées par l'algorithme quand ce rang maximal est 5.
Je pense qu'il faut remplacer 51 par 5 (j'obtiens 90 pour la calculatrice et 36 pour AlgoBox).

N'étant pas très familié avec ce genre d'exercice, je sollicite votre aide et vous remercie d'avance.
                                        

Posté par
mathafou Moderateur
re : Exercice algorithmique 18-03-14 à 10:21

Bonjour,

Citation :
J'ai déjà fait entrer ce programme dans la calculatrice et dans "AlgoBox"
tu penses que c'est ce qu'on te demande ? de faire répondre au questions posées par une machine ? ou de réfléchir ?

1ère boucle
à l'entrée dans cette boucle on a s = 0 et i = 0
on calcule s+3i² qui vaut donc 0 et on met cette valeur dans s (bof)
on calcule i+1 qui vaut 1 et on met cette valeur dans i
à la sortie de cette 1ère boucle on a donc s = 0 et i = 1 (traduction s1 = 0
2ème boucle (s = 0, i = 1)
on calcule s+3i² qui vaut donc 3 et on met cette valeur dans s
on calcule i+1 qui vaut 2 et on met cette valeur dans i
à la sortie de cette 1ère boucle on a donc s = 3 et i = 2 (traductuion s2 = 3)
etc etc...
c'est cela qu'on te demande
d'étudier cet algorithme sur papier, de comprendre ce qu'il fait sur papier, de le modifier sur papier etc.

y compris la question 4 puisque les valeurs ont déja été calculées question 1 (au besoin rajouter un tour, à la main toujours, 5 boucles ce n'est pas long !)

Citation :
je pense que la suite est s+3(i+1)².
presque

définir une suite c'est exprimer avec des indices
s+3(i+1) n'est pas une suite
tu voulais peut être dire :
si+1 = si + 3(i+1)2
et avec la valeur initiale s0 = 0
il faut tout ça pour définir une suite, la valeur du (ou des) premiers termes
et une formule donnant les termes de rang i, ici par récurence.

ceci dit tu t'es trompé sur les indices
c'est si+1 = si + 3i2
s1 = s0 + 3*0² (c'est bien ce qu'on a en exécutant les boucles à la main)
s2 = s1 + 3*1²
(on calcule s dans la boucle avant d'avoir augmenté i de 1)

En d'autre termes on calcule le triple de la somme des carrés.
le dernier carré ajouté est 50²
à la fin de cette boucle où on a calculé s = s + 3*50²
on a i+1 = 51
la boucle suivante (i = 51) n'est donc pas effectuée puisque 51 n'est pas < 51

Posté par
J-P Posteur d'énigmes
re : Exercice algorithmique 18-03-14 à 10:33

boucle 1 :
entrée : i = 0 et s = 0
sortie : i = 1 et s = 0

boucle 2
entrée : i = 1 et s = 0
sortie : i = 2 et s = 3

boucle 3
entrée : i = 2 et s = 3
sortie : i = 3 et s = 15
-----

2)

Affiche le résultat de \Sigma_{i=0}^{50} 3i^2

Donc l'algo calcule la somme U(0) + U(1) + U(2) + ... + U(50) avec U(n) = 3.n²
-----
3)

Pour Algobox :

VARIABLES
s EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
rang EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
s PREND_LA_VALEUR 0
i PREND_LA_VALEUR 0
LIRE rang
TANT_QUE (i<rang) FAIRE
DEBUT_TANT_QUE
s PREND_LA_VALEUR s + 3*i*i
i PREND_LA_VALEUR i+1
                AFFICHER* s
FIN_TANT_QUE
FIN_ALGORITHME
-----
4)

Les valeurs affichées sont : 0 , 3 , 15, 42, 90
-----
Sauf distraction.  

Posté par
reunion
re : Exercice algorithmique 18-03-14 à 12:02

Merci à mathafou de m'avoir guider et à J-P d'avoir confirmer mes réponses.
J'ai également su rentrer convenablement le programme et le modifier dans la calculatrice afin de vérifier mon algorithme "papier" (cf question 3).

Voici le programme version Ti : - Prompt N
                                - 0 -> S
                                - 0 -> I
                                - While I<N
                                     S + 3I² -> S
                                     I + 1 -> I
                                - Disp S
                                - Pause
                                - End

Merci encore à vous deux et bonne après-midi



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 !