Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Second degré - Algorithme compliqué

Posté par
0G_Shady
14-09-13 à 18:32

Salutations à tous,

Je coince sur un exercice assez compliqué et comme les algorithmes et moi ça fait deux, je viens demander votre aide. Voici le sujet :

Quelle est la valeur S affichée par l'algorithme suivant:

Entrée
Saisir n(n est un entier naturel, n>ou égal à 1
Initialisation
S prend la valeur 0
Traitement
Pour k de 1 jusqu'à n
Pour j de 1 jusqu'à k
S prend la valeur S + 1
FinPour
Finpour
Sortie
Afficher S

-

De ce que j'ai traduit, on saisit un nombre entier naturel n supérieur ou égal à 0 donc S=0. Ensuite, k de 1 jusqu'à n ; j de 1 jusqu'à k² -> S=S+1. En fait j'ai ma petite idée de comment procéder : afficher les valeurs de j et de S pour k de 1 jusqu'à n. Par exemple : pour k=1, si j=1 alors S=0+1=1 ; pour k=2, si j=1 alors S=1+1=2 et si j=2 alors S=2+1=3 etc... jusqu'à k=n. C'est là que je coince.

Voilà, j'aimerais bien un peu d'aide car j'ai l'impression d'être à côté de la plaque.
Merci.

Posté par
mathafou Moderateur
re : Second degré - Algorithme compliqué 14-09-13 à 19:05

entrer par exemple n = 4 et exécuter l'algorithme "à la main" :
toutes les opérations dans l'ordre où elle sont exécutées (il n'y a pas de "SI" dans cet algorithme)
et quand on écrit S prend la valeur S+1, c'est la valeur actuelle de S quelle qu'elle soit à ce moment là qui est augmentée de 1

S = 0
k = 1
j = 1 : S = 0 + 1 = 1
k = 2
j = 1 : S = 1 + 1 = 2
j = 2 : S = 2 + 1 = 3
k = 3
j = 1 : S = 3 + 1 = 4
j = 2 : S = 4 + 1 = 5
j = 3 : S = 5 + 1 = 6
k = 4
j = 1 : S = 6 + 1 = 7
j = 2 : S = 7 + 1 = 8
j = 3 : S = 8 + 1 = 9
j = 4 : S = 9 + 1 = 10

fini : S contient la valeur 10, le résultat de cet algorithme.

dans la boucle "pour j" combien de fois a-t-on ajouté 1 ?
(la réponse dépend de k !!)

et donc quand on fait la somme de ça pour k de 1 à n cela revient à additionner quels nombres ?

Posté par
0G_Shady
re : Second degré - Algorithme compliqué 14-09-13 à 19:25

Ça revient à additionner k+j+1 non ?

Posté par
mathafou Moderateur
re : Second degré - Algorithme compliqué 14-09-13 à 19:45

dans la boucle pour j on ajoute k fois 1, c'est à dire on ajoute k
donc en tout on aura calculé
1
+2
+3
+4
...
+n
toutes les valeurs de k de 1 à n

ici dans l'exemple "à la main" on a bien additionné 1 + 2 + 3 + 4 et donc S = 10

Posté par
0G_Shady
re : Second degré - Algorithme compliqué 14-09-13 à 19:48

Ah d'accord. Mais c'est un exemple avec n=4 or je ne sais pas comment répondre à la question principale avec ça. Mon souci avec cet exercice c'est que je ne sais pas comment rédiger la façon d'obtenir S.

Posté par
mathafou Moderateur
re : Second degré - Algorithme compliqué 14-09-13 à 19:56

c'est comme pour l'exemple mais tu raisonnes en symbolique en partant de la boucle la plus intrene :

cette boucle :
pour j de 1 à k
ajouter 1 (à S)


est une façon tordue de dire simplement
ajouter k (à S)

k fois 1 c'est k, arithmétique élémentaire (k*1 = k)

donc ton algo est équivallent à

pour k de 1 à n
ajouter k (à S)

ce qui fait bien
à partir de S = 0

ajouter
1 + 2 + ... + n

donc finalement cet algorithme calcule la somme des n premiers entiers pour toute valeur de n qu'on lui fournit.

Posté par
0G_Shady
re : Second degré - Algorithme compliqué 14-09-13 à 20:02

Donc je mets en réponse :

Pour k de 1 à n
Ajouter k (à S)

A partir de S=0

Ajouter
1+2+...+n = S

Posté par
mathafou Moderateur
re : Second degré - Algorithme compliqué 14-09-13 à 20:06

tu rédiges
si tu en mets juste quelques bouts "copiés collés", autant dire "l'algorithme calcule évidemment la somme des n premiers entiers" et rien d'autre

Posté par
0G_Shady
re : Second degré - Algorithme compliqué 14-09-13 à 20:16

On sait que S prend la valeur S+1 à tout moment.
On ajoute k (à S) pour k de 1 à n.
Alors à partir de S=0, on ajoute 1+2+...+n.
Donc finalement cet algorithme calcule la somme des n premiers entiers pour toute valeur de n qu'on lui fournit.

Posté par
mathafou Moderateur
re : Second degré - Algorithme compliqué 14-09-13 à 20:20

il te manque le bout qui dit que la boucle "pour j" revient à ajouter k à S.
et la phrase "On sait que S prend la valeur S+1 à tout moment" ne veut rien dire.

Posté par
0G_Shady
re : Second degré - Algorithme compliqué 14-09-13 à 20:27

Lorsqu'on doit ajouter 1 (à S) pour j de 1 à k, cela revient à dire qu'il faut ajouter k (à S)
On ajoute donc k (à S) pour k de 1 à n.
Alors à partir de S=0, on ajoute 1+2+...+n.
Donc finalement cet algorithme calcule la somme des n premiers entiers pour toute valeur de n qu'on lui fournit.
Donc, à partir de S=0, la valeur de S est égale à 1+2+...+n.

Posté par
mathafou Moderateur
re : Second degré - Algorithme compliqué 14-09-13 à 20:45

Impeccable.
(la dernière redite est inutile, tu viens de le dire 2 lignes au dessus)

Posté par
0G_Shady
re : Second degré - Algorithme compliqué 14-09-13 à 20:47

Ah oui la boulette :^)

Merci de ton aide, elle m'a été très précieuse ! Bonne continuation.



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 !