CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[TS] Aide pour écrire algorithmes

SolarisOrigine
SolarisOrigine
Niveau 12
27 décembre 2014 à 10:47:20

Je viens de vérifier et c'est cela un grand merci :merci: je me lance dans le second dès maintenant :-)))
unlimitedpowa :d) Quelle est la différence entre "prompt et input" ? :-p

SolarisOrigine
SolarisOrigine
Niveau 12
27 décembre 2014 à 10:47:55

Je viens de vérifier et c'est cela un grand merci :merci: je me lance dans le second dès maintenant :-)))
unlimitedpowa :d) Quelle est la différence entre "prompt et input" ? :-p

-Stigmata-
-Stigmata-
Niveau 8
27 décembre 2014 à 11:33:03

avec prompt, on peut mettre du texte avant, avec input non

SolarisOrigine
SolarisOrigine
Niveau 12
27 décembre 2014 à 19:17:59

:merci: :d) -Stigmata-

Pseudo supprimé
Pseudo supprimé 27 décembre 2014 à 20:24:43

Normalement, tu as du réussir à faire le 2, hein khey?

SolarisOrigine
SolarisOrigine
Niveau 12
27 décembre 2014 à 22:32:24

Ce n'est pas le même mais en ajoutant 1/ ?

Input "A=",A
1→S
for(C,1,A)
1 / ( S*C ) →S
End
Disp "S=",S

Mais cela me semble bizarre :(

Lowenheim
Lowenheim
Niveau 10
28 décembre 2014 à 00:52:39

Oula, non, pas du tout !

Déjà, tu calcules une somme et non un produit, donc il faut commencer à 0, pas à 1.
Ensuite, à chaque tour de boucle (à l'indice C), tu veux ajouter au résultat le terme 1/P(C)
Du coup dans S, tu mets la valeur S + 1/P(C)

Message édité le 28 décembre 2014 à 00:56:32 par Lowenheim
Pseudo supprimé
Pseudo supprimé 28 décembre 2014 à 11:36:36

pour savoir si ton algo est bon, tu le testes. à vu d'oeil, il est nul.
je refuse de te donner la réponse à celui là. tu dois t'inspirer du 1er tout en ajoutant des choses.
(n'oublies pas que c'est une somme etnon un produit là khey).

SolarisOrigine
SolarisOrigine
Niveau 12
28 décembre 2014 à 18:48:44

Je ne veux pas de la réponse de toute façon :-))) je voudrais essayer de comprendre mais c'est vrai que je n'y arrive pas XD

Pseudo supprimé
Pseudo supprimé 28 décembre 2014 à 18:56:16

tu n'as vraiment pas la logique algorithmique. met toi à la place du PC et demandes toi comment il fait.
ton problème est vraiment très simple ( même quand j'étais en TS, je te bouclais ça en 5 min ).

va lire quelques sites sur l'algorithmie et l'utilisation des boucles for/while + incrémentation.

CavalierAnal
CavalierAnal
Niveau 8
28 décembre 2014 à 21:52:10

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 :o))

SolarisOrigine :d) 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 :)

SolarisOrigine
SolarisOrigine
Niveau 12
29 décembre 2014 à 22:27:22

Alors en suivant tes conseils le début donne cela ?

Input ''N=", N
0-> I
For ( Q, 0, N )
1 + I / p* Q
End
Disp "I=", I

Je pense qu'il manque qqch mais pourrais-tu me dire quoi ? :merci:

Lowenheim
Lowenheim
Niveau 10
30 décembre 2014 à 03:25:20

1 + I / p* Q

Ce n'est pas une instruction bien formée, il faut écrire "qqchose → var" pour dire "je mets la valeur "qqchose" dans la variable "var".
Mais ça ressemble vaguement à ce qu'il faut écrire. A chaque étape, tu veux ajouter un terme de la somme : au début tu ajoutes (1/P(1)), puis tu ajoutes (1/P(2)), etc.
Là tu as appelé Q ton indice de boucle (la valeur qui change), donc tu vas vouloir rajouter 1/P(Q) à ton résultat courant (que tu as appelé I).
Donc tu écris

I + 1/P(Q) → I

Il reste encore une petite erreur : ça commence par 1/P(1) et non pas par 1/P(0) donc ta boucle for commence à 1, pas à 0 :-)

SolarisOrigine
SolarisOrigine
Niveau 12
30 décembre 2014 à 08:13:16

Bonjour Lowenheim :-), donc cela devrait donner cela :

Input ''N=", N
0-> I
For ( Q, 1, N )
I + 1 / P(Q) -> I
End
Disp "I=", I

Et si j'ai bien compris cela signifie que dans "for" sauf si demandé on ne commencera jamais à 0 ?

SolarisOrigine
SolarisOrigine
Niveau 12
30 décembre 2014 à 21:54:22

:up:

DEVELOPPECOUCHE
DEVELOPPECOUCHE
Niveau 8
30 décembre 2014 à 21:59:14

chaud comment je pige rien à vos trucs a bac +4

je suis rassuré

Sous forums
  • Histoire
  • Philosophie
  • Cours et Devoirs
  • Politique
  • Environnement & Nature
  • Métiers & Orientation
La vidéo du moment