[2nde] Algorithme, quelques conseil ?

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

[2nde] Algorithme, quelques conseil ?

par katalyz » 26 Mai 2010, 19:03

Bonsoir tout le monde.
Je suis en train de preparer un DS à gros coeff.
J'ai tout saisi, mis a part les algorithme, avec lesquelles j'ai vraiment du mal.
Quelqu'un pourrait me donner quelques conseil (bonne présentation, par quoi commencer, les "commandes" de bases)
Merci d'avance :)



uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 26 Mai 2010, 19:12

Salut,

la question est assez vague. Tu parles d'algorithmes sur une calculatrice (vu que tu parles de commande) ou des algorithmes en général?
Le plus simple serait que tu donnes un exemple d'exercice que tu ne comprends pas bien.

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 19:17

Voila justement.
Je parle enfaite de rédiger un algorithme sur papier.
Je n'ai aucun exercice sous la main, du fait que notre manuel n'en contient aucun.
Ce sera la 1ere fois que nous aurons des algorithme dans un DS.

Mais ce que je ne saisi pas bien, ce sont par exemple les "DEBUT SI" "FIN SI", ce qu'il y a entre, l'ordre dans lequel on redige. Je suis désolé, je ne parviens pas vraiment a m'exprimer . :triste:

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 26 Mai 2010, 19:28

ok, je n'ai pas non plus de livre de 2nde ici, je vais essayer de prendre des exemples sur internet.
Dans un algorithme, les blocs début_si, etc correspondent à des conditions, par exemple, on a une variable x, si x est positif ou nul, on veut afficher "x est positif", s'il est négatif on veut afficher "x est négatif".

DEBUT_ALGO
Si X>0
DEBUT_SI
Afficher "x est positif"
FIN_SI
SINON
DEBUT_SINON
Afficher "x est négatif"
FIN_SINON
FIN_ALGO

Par exemple, on peut regarder cet exo: http://forums.futura-sciences.com/mathematiques-college-lycee/381081-devoir-algorithme-2nde.html
Est ce que tu peux essayer d'écrire cet algorithme ?

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 19:34

(désolé du retard)
Merci beaucoup :)
Je m'y colle ;)

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 26 Mai 2010, 19:36

bonjour,

ca ne fera pas avancer les choses, enfin, pas pour katalyz et son probleme, mais je trouve ca particulierement *** d'imposer dans le programme scolaire des DEBUT_SI et DEBUT_SINON. En plus, les majuscules (tout en majuscules) ca picote les yeux.

Enfin, pe ya-t-il une utilité (que je peine tres beaucoup à trouver)
la vie est une fête :)

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 26 Mai 2010, 19:41

je crois que c'est comme ça qu'on fait en seconde.

Je suis d'accord avec toi, je n'aime pas ces instructions du type DEBUT_SI et FIN_SI, je trouve d'une part que les indentations sont plus claires et d'autre part, si on veut du pseudo code, les if else, etc sont plus utiles car plus proches des vrais langages.

Mais, comme je disais, je crois que c'est comme ça que c'est présenté en France en 2nde, s'il y a des profs qui peuvent confirmer/infirmer, ça serait bien.

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 19:47

X -> #Ran (-5;5)
Y -> #Ran (-5:5)
M -> sqrt{(-X)²+(-Y)²} (distance entre les 2 points?)
S -> 0
DEBUT_ALGO
SI M < 1
DEBUT_SI
S+100
FIN_SI
SI M [1;2[
DEBUT_SI
S+50
FIN_SI
SI M ]2;3]
DEBUT_SI
S+20
FIN_SI
SI M > 3
DEBUT_SI
S+10
FIN SI
Afficher S

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 26 Mai 2010, 20:01

oui, il faut juste faire attention, quand tu écrits par exemple S+100, il faut dire que le score est augmenté de 100, donc:
S -> S +100 (S prend la valeur S + 100)
Ton programme simule un seul lancer, il faut ajouter une boucle pour que l'opération soit répétée plusieurs fois.

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 20:01

En effet les programmes sur calco se font avec les If, Then etc..
Mais je prends l'exemple d'Algobox où les "commandes" se font comme dans mon message précedent .

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 20:06

Merci du conseil ;)
Et comment dois-je faire pour ajouter une boucle ? :hum:

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 26 Mai 2010, 20:15

en ce qui concerne les If Then, comme tu l'a certainement remarqué c'est la même chose mais en anglais. Le fait est que la plupart des algorithmes sont écrits dans des langages de programmations (C/C++ en particulier) qui utilisent cette syntaxe en anglais; c'est aussi le cas sur la plupart des calculatrices. Mais bon, on n'est pas là pour discuter de la façon dont sont faits les programmes scolaires :)

Pour les boucles, une fois que tu connais le nombre d'itérations qu'on va appeler n, tu peux créer une boucle de la façon suivante:
POUR i ALLANT_DE 1 A n
blablabl...
FIN_POUR

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 20:21

Merci beaucoup. :)
Ce n'est qu'en fait une balise qui "encadre" le tout ? :)

uztop
Membre Complexe
Messages: 2396
Enregistré le: 12 Sep 2007, 11:00

par uztop » 26 Mai 2010, 20:26

dans ce cas particulier oui, tu peux avoir d'autres algorithmes où la boucle n'encadre qu'une partie.

katalyz
Membre Naturel
Messages: 96
Enregistré le: 04 Nov 2008, 15:31

par katalyz » 26 Mai 2010, 20:27

Oui c'est vrai.
Je te remercie pour ton aide.
J'ai donc bien avancé dans mes révisions.
Je vais me coucher, bonne nuit à toi. :)

gigamesh
Membre Rationnel
Messages: 712
Enregistré le: 26 Fév 2010, 03:32

par gigamesh » 26 Mai 2010, 21:18

uztop a écrit:je crois que c'est comme ça qu'on fait en seconde.

Je suis d'accord avec toi, je n'aime pas ces instructions du type DEBUT_SI et FIN_SI, je trouve d'une part que les indentations sont plus claires et d'autre part, si on veut du pseudo code, les if else, etc sont plus utiles car plus proches des vrais langages.

Mais, comme je disais, je crois que c'est comme ça que c'est présenté en France en 2nde, s'il y a des profs qui peuvent confirmer/infirmer, ça serait bien.


Bonsoir,
bah en fait ça dépend des profs...
* si tu obéis sagement aux instructions officielles, et que tu utilises un truc comme algobox, alors il y a une syntaxe moche
* si tu préfères proposer que de la programmation sur calculatrice, alors tu utilises la syntaxe d'icelle
* sinon tu peux aussi dérouler ton algo à la main, typiquement dans un tableau avec une colonne par variable et une ligne pour chaque pas de l'algo (dans l'esprit de feu le programme de spé L, dans lequel il y avait de l'algo entre tout un tas d'autres choses intéressantes (probablement pour ça qu'il a été supprimé :triste: ))
* ou tu peux utiliser du python, par exemple ou du basic ou que sais-je encore ; le programme conseille algobox, mais n'interdit pas d'utiliser autre chose
* ou bien tu ne fais pas du tout d'algo

Les exigences du programme sont assez modestes, de toutes façons, en gros il faut comprendre les notions :
* d'affectation dans une variable
* d'alternative if then else
* de boucle (while et/ou for je n'ai plus le programme sous les yeux)
* d'entrée sortie

De plus, le programme de seconde est en fait l'objectif de fin de lycée ; autrement dit on est censés commencer en seconde mais continuer sans autres nouveautés en première et terminale.

En ce qui me concerne, j'ai donné trois algos à mes secondes,
* trouver une équation réduite de droite (des affectations dans m et p, et un test pour distinguer le cas où les abscisses des deux points sont égales)
* euclide
* décomposer un entier en produit de facteurs premiers

ils ont juste eu à les taper, puis les analyser et les dérouler à la main.

Et si il me reste du temps je vais faire une ou deux séances sur EducAlgo, qui est à mon avis mieux que algobox vu qu'on peut avoir la trace du déroulement de l'algo.

Un autre truc sur l'esprit du programme : il y a bien sûr un peu d'utilisation des calcul et/ou de langages de programmation, mais on a aussi le tableur (p.ex pour un PGCD avec Euclide), mais aussi un truc comme la division, ou bien traduire (2x-3)²-5 par "je choisis un nombre x, puis je double, je soustrais 3, je quarre, je soustrais 5".
ou encore "Pour savoir si des points sont alignés je calcule les coords de deux vecteurs et je cherche si il y a proportionnalité".

L'idée générale (du moins tel que je comprends le programme) est d'avoir plus de connaissances procédurales ("je mets tout à gauche je factorise je fais un tableau de signes") et plus seulement des connaissances déclaratives ("le produit de deux nombres de signes opposés est négatif").

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 96 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