Algorithme, qui s'y colle???

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Tulipe06
Membre Relatif
Messages: 105
Enregistré le: 23 Oct 2014, 10:25

Algorithme, qui s'y colle???

par Tulipe06 » 25 Fév 2015, 11:23

Bonjour,

Je recherche un connaisseur en algorithme qui puisse m'aider dans l'exercice 2 du sujet que je vous joint. C'est uniquement la 2e question qui me pose problème. Je ne sais pas comment m'y prendre. J'ai bien compris qu'il faut traduire la 1ère question en algorithme, c'est à dire écrire un programme où on trouve la somme des 4 cases nule.
Pour la 1ère question, j'ai fait un arbre pondéré comme vous pouvez le voir dans le lien ci-dessous. J'ai trouvé 6 possibilités où la somme peut être nulle. Mais comment faire pour écrire cela en algorithme???
Merci de m'aider.

Voici l'énnoncé:
http://www.fichier-pdf.fr/2015/02/25/dm-proba/

Voici ma réponse à la 1ère question:
http://www.fichier-pdf.fr/2015/02/24/proba-ex-2/



Monsieur23
Habitué(e)
Messages: 3966
Enregistré le: 01 Oct 2006, 17:24

par Monsieur23 » 25 Fév 2015, 11:46

Aloha,

Je ne pense pas que la première question va t'aider. Je te donne l'algorithme en français :

Variables F i C1 C2 C3 C4.
F <-0
i <- 0
Tant que (i < N) faire
C1 <- 1 ou -1, au hasard
C2 <- 1 ou -1, au hasard
C3 <- 1 ou -1, au hasard
C4 <- 1 ou -1, au hasard

Si (C1+C2+C3+C4 = 0), alors F <- F+1.
i <- i+1
Fin tant que
Afficher F.
« Je ne suis pas un numéro, je suis un homme libre ! »

paquito
Membre Complexe
Messages: 2168
Enregistré le: 26 Fév 2014, 12:55

par paquito » 25 Fév 2015, 13:50

Pour avoir une somme nulle, il faut qu'il y ait exactement 2 cases avec +1; or il y a façons de choisir ces 2 cases parmi les
4 possibles; d'où

pour l'algorithme je t'envoie celui ci réalisé vite fait sur algobox:

1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 K EST_DU_TYPE NOMBRE
4 I EST_DU_TYPE NOMBRE
5 A EST_DU_TYPE NOMBRE
6 B EST_DU_TYPE NOMBRE
7 T EST_DU_TYPE NOMBRE
8 S EST_DU_TYPE NOMBRE
9 DEBUT_ALGORITHME
10 T PREND_LA_VALEUR 0
11 LIRE N
12 POUR K ALLANT_DE 1 A N
13 DEBUT_POUR
14 S PREND_LA_VALEUR 0
15 POUR I ALLANT_DE 1 A 4
16 DEBUT_POUR
17 A PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,2)
18 B PREND_LA_VALEUR pow(-1,A)
19 S PREND_LA_VALEUR S+B
20 FIN_POUR
21 SI (S==0) ALORS
22 DEBUT_SI
23 T PREND_LA_VALEUR T+1
24 FIN_SI
25 FIN_POUR
26 AFFICHER "fréquence:"
27 AFFICHERCALCUL T/N
28 FIN_ALGORITHME

Résultats
***Algorithme lancé***
Entrer N : 100000
fréquence:
0.37401
***Algorithme terminé***; on voit bien que ce n'est pas trop compliqué!

Tulipe06
Membre Relatif
Messages: 105
Enregistré le: 23 Oct 2014, 10:25

par Tulipe06 » 25 Fév 2015, 19:03

paquito a écrit:Pour avoir une somme nulle, il faut qu'il y ait exactement 2 cases avec +1; or il y a façons de choisir ces 2 cases parmi les
4 possibles; d'où

pour l'algorithme je t'envoie celui ci réalisé vite fait sur algobox:

1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 K EST_DU_TYPE NOMBRE
4 I EST_DU_TYPE NOMBRE
5 A EST_DU_TYPE NOMBRE
6 B EST_DU_TYPE NOMBRE
7 T EST_DU_TYPE NOMBRE
8 S EST_DU_TYPE NOMBRE
9 DEBUT_ALGORITHME
10 T PREND_LA_VALEUR 0
11 LIRE N
12 POUR K ALLANT_DE 1 A N
13 DEBUT_POUR
14 S PREND_LA_VALEUR 0
15 POUR I ALLANT_DE 1 A 4
16 DEBUT_POUR
17 A PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,2)
18 B PREND_LA_VALEUR pow(-1,A)
19 S PREND_LA_VALEUR S+B
20 FIN_POUR
21 SI (S==0) ALORS
22 DEBUT_SI
23 T PREND_LA_VALEUR T+1
24 FIN_SI
25 FIN_POUR
26 AFFICHER "fréquence:"
27 AFFICHERCALCUL T/N
28 FIN_ALGORITHME

Résultats
***Algorithme lancé***
Entrer N : 100000
fréquence:
0.37401
***Algorithme terminé***; on voit bien que ce n'est pas trop compliqué!


Merci pour ta réponse mais pour moi tous ça est très compliqué. D'autant plus qu'on a jamais utilisé algobox donc je ne sais pas comment ça fonctionne. Pour les algorithmes on utilise la calculatrice TI mais là encore je ne comprends pas toujours comment faire.
Pour que je puisse comprendre ta démarche, peux-tu m'expliquer mathématiquement, chaque variable représente quoi? Je pense que S est la somme qui doit être nulle donc la fréquence à afficher. Et le reste???

Tulipe06
Membre Relatif
Messages: 105
Enregistré le: 23 Oct 2014, 10:25

par Tulipe06 » 25 Fév 2015, 19:13

Monsieur23 a écrit:Aloha,

Je ne pense pas que la première question va t'aider. Je te donne l'algorithme en français :

Variables F i C1 C2 C3 C4.
F <-0
i <- 0
Tant que (i < N) faire
C1 <- 1 ou -1, au hasard
C2 <- 1 ou -1, au hasard
C3 <- 1 ou -1, au hasard
C4 <- 1 ou -1, au hasard

Si (C1+C2+C3+C4 = 0), alors F <- F+1.
i <- i+1
Fin tant que
Afficher F.


Merci pour ta réponse.
Peux-tu me donner plus d'explications?
F je pense que c'est la fréquence de l’événement "Somme nulle"
C1, C2, C3, C4 sont les valeurs des 4 cases.
Que représente i et N?, Ne faut-il pas ajouter N dans les variables?

Robic
Membre Irrationnel
Messages: 1084
Enregistré le: 03 Mai 2013, 11:00

par Robic » 25 Fév 2015, 21:08

Pour les algorithmes on utilise la calculatrice TI

Attention de ne pas confondre algorithme et programme. Monsieur23 a donné un algorithme, Paquito a donné un programme (Algobox est un langage de programmation, même s'il prétend servir à écrire des algorithmes), et avec une calculatrice on écrit un programme (dans le langage de programmation de la calculatrice).

L'algorithme de Monsieur23 est clair :
- F est le nombre de fois où l'on a obtenu zéro en faisant la somme des quatre nombres. Ce n'est donc pas une fréquence : la fréquence est F/N. Si on veut une fréquence, il suffit de remplacer la dernière ligne par « Afficher F/N ».
- C1 est le nombre affiché en case 1.
- De même pour C2, C3, C4.
- i est le nombre d'expérience(s) déjà réalisée(s). Au début i vaut 0 : on n'a encore rien fait. On sort de la bouche lorsque i n'est plus < N, c'est-à-dire lorsque i = N : a y est, on a réalisé les N expériences.

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 25 Fév 2015, 21:32

salut
petite remarque
si on choisit au hasard un nombre entier x égal à 0 ou 1, alors 2x-1 est égal à -1 ou 1.

Tulipe06
Membre Relatif
Messages: 105
Enregistré le: 23 Oct 2014, 10:25

par Tulipe06 » 25 Fév 2015, 21:37

Robic a écrit:Attention de ne pas confondre algorithme et programme.

:cry: Pour moi c'est la même chose.
Si je comprends bien, dans mon exercice, il faut que j'utilise un programme en langage codé et non pas un algorithme?

Monsieur23 a donné un algorithme, Paquito a donné un programme (Algobox est un langage de programmation, même s'il prétend servir à écrire des algorithmes), et avec une calculatrice on écrit un programme (dans le langage de programmation de la calculatrice).

Je dois donc suivre le programme de Paquito et non pas l'algorithme de Monsieur23?

L'algorithme de Monsieur23 est clair :

Certes, plus clair pour moi que celui de Paquito. Mais tu me dis que c'est un programme que je dois écrire et non pas un algorithme, or, d'après toi Monsieur23 a écrit un algorithme :mur:

- F est le nombre de fois où l'on a obtenu zéro en faisant la somme des quatre nombres.

Donc F<=6

Ce n'est donc pas une fréquence : la fréquence est F/N.
Que représente N?

Si on veut une fréquence, il suffit de remplacer la dernière ligne par « Afficher F/N ».
- C1 est le nombre affiché en case 1.
- De même pour C2, C3, C4.
- i est le nombre d'expérience(s) déjà réalisée(s). Au début i vaut 0 : on n'a encore rien fait. On sort de la bouche lorsque i n'est plus < N, c'est-à-dire lorsque i = N : a y est, on a réalisé les N expériences.


Donc i<=16 puisqu'il y a 16 issues?

Comme je l'ai précisé auparavant, je n'y comprends pas grand chose en algorithme (ou programme codé), mais au lieu de recopier bêtement les solutions, j'aimerais bien comprendre ce que j'écris.
Je te remercie pour le temps que tu me consacres et désolée si je suis si embêtante.

paquito
Membre Complexe
Messages: 2168
Enregistré le: 26 Fév 2014, 12:55

par paquito » 25 Fév 2015, 21:46

Tulipe06 a écrit:Merci pour ta réponse mais pour moi tous ça est très compliqué. D'autant plus qu'on a jamais utilisé algobox donc je ne sais pas comment ça fonctionne. Pour les algorithmes on utilise la calculatrice TI mais là encore je ne comprends pas toujours comment faire.
Pour que je puisse comprendre ta démarche, peux-tu m'expliquer mathématiquement, chaque variable représente quoi? Je pense que S est la somme qui doit être nulle donc la fréquence à afficher. Et le reste???


N est le nombre d'expériences, K compte le nombre d'expériences pour arriver à N, pour une expérience, I compte de 1 à 4 et S est la somme des 4 résultats; lorsque la somme S vaut 0, le compteur T augmente de 1; lorsque N atteint sa valeur on affiche T/N; A est une variable auxiliaire qui prends de façon aléatoire 1 ou 2; elle est liée à B (-1)^A qui prend la valeur -1 ou +1 à pile ou face. Normalement il est très facile de passer de Algobox à TI, mais j'ai fait une simulation avec N=100000, ce qui n'est pas conseillé sur TI car elle risquerait de calculer pendant 3 jours!!

Robic
Membre Irrationnel
Messages: 1084
Enregistré le: 03 Mai 2013, 11:00

par Robic » 25 Fév 2015, 22:32

Tulipe06 :

La différence entre algorithme et programme.

Autant je trouve très bonne l'idée d'enseigner l'algorithmique aux lycéens, autant je déteste la façon dont c'est (parfois) fait : en les obligeant à écrire des algorithmes selon une syntaxe précise, on ne peut qu'entretenir la confusion entre algorithme et programme. (Il est donc évident que je déteste Algobox.)

La différence est très simple :

Un algorithme est destiné à être lu par une être humain. Exemple : si je découvre une nouvelle méthode pour résoudre un système d'équation, je vais la décrire par un algorithme afin de l'enseigner à des gens. Libres à eux, ensuite, d'écrire un programme mettant en oeuvre cet algorithme.

Un programme est destiné à être lu par une machine. C'est pour cette raison qu'il faut suivre une syntaxe précise.

Pour écrire un programme qui marche, il est en général nécessaire d'avoir écrit l'algorithme (ou les algorithmes) correspondant.

Dois-tu écrire un algorithme ou un programme ?

C'est l'énoncé qui le dit : « Écrire un programme en langage codé [...] » Tu dois écrire un programme, et pour ça il peut être utile d'avoir préalablement écrit l'algorithme (qui sert en quelque sorte de brouillon).

Que représente N ?

C'est écrit dans l'énoncé ! (« [...] qui permette de rentrer le nombre N d'expériences à réaliser ».

Au passage, F n'est pas <= 6, il est <= à N (on réalise N fois l'expérience « placer des nombres -1 ou +1 dans quatre cases » et on compte les F fois où la somme de ces nombres a fait zéro).

Est-ce utile de comprendre les solutions plutôt que de les recopier ?

Tu as mille fois raison ! (Non, un million... :zen: ) Un bon moyen pour y voir plus clair, c'est de suivre à la main le déroulement d'un algorithme ou d'un programme.

paquito
Membre Complexe
Messages: 2168
Enregistré le: 26 Fév 2014, 12:55

par paquito » 26 Fév 2015, 09:52

Bonjour,

J'ai dû mal à comprendre pourquoi on fait un algorithme qui ne débouche pas sur un programme!
Moi non plus, je n'aime pas trop Algobox que je trouve très limité (pas de réelle fonction "sinon", pas de possibilité de sous programme, une syntaxe très bizarre comme "s==0", etc....);
mais c'est l'outil de travail des lycéens et tout est écrit en français, donc le résultat se présente bien comme un algorithme;
le fait qu'exécuter l'algorithme permet quand même une vérification ou le résultat d'une simulation;
en fait Algobox a été conçu pour ne pas faire peur aux élèves et pour se présenter comme un algorithme écrit en français.
En réalité très peu d'élèves savent se servir d'Algobox ou de leur TI, sans compter les collègues qui abordent à peine l'algorithmique;
enfin, un programme pas trop lourd peut être considérer comme un algorithme:
entre "Lire N" et "Prompt N", "Afficher N" et "Disp N", "Si......alors" et "If.....Then", on passe de l'un à l'autre sans problème;
enfin, c'est quand même satisfaisant de voir le résultat d'une simulation; la probabilité valait p=0,375 et une simulation avec N=100000 donnait comme fréquence observée f=0,37401.

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 61 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite