unlimitedpowa je te trouve bien prétentieux, alors que tu fais preuve de qualités pédagogiques assez médiocres depuis le début du topic
SolarisOrigine
Je vais essayer de te réexpliquer la solution de la première question : P(n)= 1*2*3...*n
On veut faire un programme qui prend en entrée un entier n, et qui renvoie la valeur 1*2*3*...*n.
Intuition : on commence par se demander "comment je calculerais ça à la main ?". Une façon simple, c'est de faire le produit de gauche à droite. On part de 1, puis on le multiplie par 2, puis on multiplie le résultat par 3, puis par 4, etc. jusqu'à n.
Pseudo-code : on va commencer par faire du pseudo-code, c'est à dire écrire en français ce que doit faire le programme. On va se donner une variable qu'on appelle S par exemple, c'est à dire une case dans laquelle on peut stocker une valeur. C'est dans cette variable qu'on va faire les opérations décrites dans le paragraphe précédent pour calculer le résultat. On va d'abord y stocker la valeur 1, puis on va la multiplier successivement par 2, par 3, par 4, jusqu'à n. Pour cela, on utilise une boucle "pour" ("for" en langage TI).
Programme P
Entrée : entier n
Variables : S, k
1 → S
Pour k allant de 2 à n
S * k → S
FinPour
La notation "blabla → S" veut dire qu'on stocke la valeur "blabla" dans la variable S. Ainsi, à la première ligne (1 → S), on range la valeur 1 dans S. Ensuite, quand on fait l'opération "S * k → S", ça veut dire qu'on range dans S la valeur "S * k". Il faut voir que le S qui apparait à droite de la flèche désigne la ''nouvelle' valeur de S après l'opération, alors que celui qui est à gauche de la flèche, c'est son ancienne valeur.
En langage TI : maintenant, on peut traduire ça en langage TI. C'est exactement la même chose, mais avec une syntaxe un peu plus concise : au lieu d'écrire "pour k allant de 2 à n", on écrit "for(k,2,n)". Il y a aussi les instructions Input pour demander à l'utilisateur d'entrer une valeur, et Disp pour afficher le résultat à la fin du calcul. Ça donne ça :
Input "N=",N
1→S
for(K,1,A)
S*K →S
End
Disp "S=",S
Maintenant, pour la deuxième question, tu dois calculer Q(n)= (1/P(1)) + (1/P(2)) + (1/P(n)).
C'est très similaire, je t'explique l'idée intuitive, et tu essaies d'écrire l'algorithme et le programme en langage TI :
On fait la somme de gauche à droite. On commence avec la valeur 0, et on rajoute chacun des termes un par un au résultat. D'abord, on ajoute 1/P(1), puis on rajoute 1/P(2), etc jusqu'à ajouter 1/P(n).
Remarque qu'à chaque étape, ça réutilise le programme P de la question précédente. Mais comme on l'a déjà codé, tu peux le réutiliser tel quel 