Page 1 sur 1

Pourquoi l'affichage ne correspond pas ...

Publié : mer. août 11, 2010 12:39 pm
par seb7477
Bonjour ,
je viens de faire un petit programme tout bête mais l'affichage final ne correspond pas à ce que je veux.En fait malgré un traitement sur les variables a et b préalablement saisies le programme me retourne mes variables a et b que j'ai rentré au début du programme :(.

saisir ("borne a",a);
saisir ("borne b",b);
saisir ("precision p",p);
tantque b-a>p faire
c:=(a+b)/2;
si (-c^2+5)*(-a^2+5)>=0 alors a:=c sinon b:=c fsi
ftantque;
afficher ((a),(b));



ps : ce programme marche très bien en créant une fonction mais ce n'est pas dans mes objectifs :, je préfère faire simple pour mes élèves de 2nd..D'ailleurs à quoi sert la fonction proc dans le programme ci-dessous ( je me suis inspiré de programmes sans la comprendre :oops: ).J'ai compris que c'était le début d'une procédure mais quand doit-on la mettre ?

dichotomie:= proc(a,b,p)
local c;
tantque b-a>p faire
c:=(a+b)/2;
si (-c^2+5)*(-a^2+5)>=0 alors a:=c sinon b:=c fsi
ftantque
afficher((a),(b));
end
:;


Merci

Re: Pourquoi l'affichage ne correspond pas ...

Publié : mer. août 11, 2010 2:15 pm
par parisse
je viens d'essayer avec a=0 et b=5 et p=0.1, ca semble bien marcher, j'obtiens l'affichage en bleu 35/16,145/64 soit 2.1875,2.265625.
Quel jeu de test avez-vous utilisé?
Sinon, je suis d'accord avec vous qu'avant de se lancer dans des fonctions avec variables locales, faire des boucles simples et tests simples est une bonne idée.
Pour le proc, c'est la syntaxe compatible maple pour définir une fonction, en syntaxe Xcas on écrit plutot:
dichotomie(a,b,p):={
local c;
...
}

Re: Pourquoi l'affichage ne correspond pas ...

Publié : mer. août 11, 2010 2:25 pm
par seb7477
En effet, cela marche très bien.
J'ai compris mon erreur : à l'entrée de p je rentrais 0,1 au lieu de 0.1 !!

Merci

Re: Pourquoi l'affichage ne correspond pas ...

Publié : mer. août 11, 2010 7:47 pm
par alb
Pour avoir utilisé Xcas toute une année en seconde, je pense que ce qui pose le plus de problème ce n'est pas la notion de fonction, ni leur composition.
Par exemple en devoir surveillé une question comme:
Que renvoie: resoudre(numer(simplifier(1/(x+1)-2/(x-1)))=0)
donne un bon taux de réussite (c'est pas plus compliqué que afficher(age(lucie)))
En revanche vous risquez d'être déçu avec dichotomie(2,3,0,01)
Les élèves adhèrent vite à la syntaxe mais comprendre une boucle c'est plus difficile.
En principe on regarde à la main et/ou on utilise le débugueur.
La bonne surprise en TD Xcas c'est de voir des élèves disons faibles et peu attentifs en classe être les premiers à taper sans erreur un code et émettre des conjectures avant les autres. J'ai l'impression qu'une petite révolution pédagogique est en marche à condition qu'on nous laisse quelques heures dédoublées.

Re: Pourquoi l'affichage ne correspond pas ...

Publié : jeu. août 12, 2010 5:52 am
par alain974
alb a écrit :Par exemple en devoir surveillé une question comme:
Que renvoie: resoudre(numer(simplifier(1/(x+1)-2/(x-1)))=0)
donne un bon taux de réussite

Les élèves adhèrent vite à la syntaxe mais comprendre une boucle c'est plus difficile.
Je confirme, et je pense que c'est lié à l'habitude d'une perception statique de l'égalité, alors qu'après modification d'une variable (comme dans x++), son contenu change, et l'égalité devient dynamique (avant, x était égal à 2 et maintenant, x est égal à 3). Pour "penser dynamique" (et temporel), l'outil de débogage est extrêmement valable, comme en témoigne son utilisation dans les exemples Algobox de divers manuels de Seconde...

Par contre, je suis étonné qu'en Seconde, des élèves arrivent si bien à lire des expressions en ligne, et distinguent les numérateurs et dénominateurs des expressions rationnelles: Ou bien je n'ai pas assez insisté sur ces notions, ou bien on n'a pas le même genre d'élèves de Seconde (ou peut-être les deux d'ailleurs) :roll:

En tout cas cette année je compte utiliser le mode débogage pour faire calculer des sommes partielles de série, parce que c'est là que les élèves bloquent le plus apparemment. En même temps, on peut s'interroger sur la pertinence de l'algorithmique alors qu'il suffit de manipuler des listes de nombres comme dans

Code : Tout sélectionner

sum(1./n,n,1,100)

ou d'utiliser un tableur...

En attendant de mieux savoir pourquoi on enseigne l'algorithmique en Lycée, je privilégie le changement de cadre... :?

Re: Pourquoi l'affichage ne correspond pas ...

Publié : jeu. août 12, 2010 7:22 am
par seb7477
C'est vrai que le debugueur est bien ( même si je ne l'ai pas encore utilisé) mais ce qui me gène c'est que dans ce cas , on est obligé de travailler avec des fonctions et avec des variables locales ce qui n'est pas forcément facile...