π
<-

Appel d'une fonction f(x) dans un programme

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Appel d'une fonction f(x) dans un programme

Unread postby Zewazza » 29 Jan 2011, 23:00

Bonjour !

J'ai copié le code du programme de dichotomie dispo dans les tuts de P.Fortin et c'est sympa (oué, oué, joie !), mais je souhaiterais savoir s'il est possible de faire appel à une autre fonction que f1(x) ?

En effet, le programme calcul plusieurs fois f1(a), f1(b), f1(c) ... et j'avais déjà eu le même problème sur 82-Stats : je n'arrive pas à mettre une fonction en variable i.e. dans le code on aurait F(a), F(b) etc. en définissant au début du programme la fonction F, p.ex. : F(x) = mafonction(x).

Ensuite, j'ai acheté sur eBay une Nspire CAS (cool !) mais je ressens quelque lenteurs parfois, est-ce normal ? P.ex., le tableau périodique de Nelson Sousa est quasi inutilisable, le curseur est super galère à maîtriser. Et parfois en Graphes ou en Géométrie, le pointeur curseur se plante sur un segment et les flèches ne répondent plus vers la gauche... Mais ça revient tout de suite après. Est-ce du lag "normal", ou la calto est-elle défectueuse ? Le vendeur disait ne s'en être servi qu'une fois. Hum, hum...

Merci d'avance.
User avatar
Zewazza
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 0%
 
Posts: 21
Joined: 15 Jan 2011, 00:00
Location: Lille, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Appel d'une fonction f(x) dans un programme

Unread postby Bisam » 29 Jan 2011, 23:30

Le tableau périodique est très gourmand en RAM et il est possible qu'il rame un peu... mais de là à être inutilisable, c'est peut-être un peu exagéré.
Le problème peut être similaire en Graphes ou Géométrie si tu as construit plein d'objets... et ce même si tu les as effacés ensuite puisque la calculatrice permet de revenir en arrière autant de fois qu'on veut : elle garde tout en mémoire.

Pour ce qui est de la création d'une fonction à l'intérieur d'un programme, tu as plusieurs façons mais la plus simple est de rentrer la fonction F en argument de ton programme de cette façon :
Code: Select all
test(arg,vr):=Func
local F
F(vr):=arg
disp seq(F(i),i,1,8)
endfunc

Ici "arg" est l'expression de ta fonction et "vr" le nom de la variable utilisée.
Exemples d'utilisation :
Code: Select all
test(sin(x)+cos(x),x)
test(tan(t),t)
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Appel d'une fonction f(x) dans un programme

Unread postby Levak » 29 Jan 2011, 23:51

Zewazza wrote: Bonjour !

J'ai copié le code du programme de dichotomie dispo dans les tuts de P.Fortin et c'est sympa (oué, oué, joie !), mais je souhaiterais savoir s'il est possible de faire appel à une autre fonction que f1(x) ?

En effet, le programme calcul plusieurs fois f1(a), f1(b), f1(c) ... et j'avais déjà eu le même problème sur 82-Stats : je n'arrive pas à mettre une fonction en variable i.e. dans le code on aurait F(a), F(b) etc. en définissant au début du programme la fonction F, p.ex. : F(x) = mafonction(x).


Pour définir une nouvelle fonction, tu peux le faire comme ça, dans une application calcul ou directement dans ton programme :


Define mafonction(x) = Func
© code à modifier
return x
EndFunc


Ensuite, j'ai acheté sur eBay une Nspire CAS (cool !) mais je ressens quelque lenteurs parfois, est-ce normal ? P.ex., le tableau périodique de Nelson Sousa est quasi inutilisable, le curseur est super galère à maîtriser. Et parfois en Graphes ou en Géométrie, le pointeur curseur se plante sur un segment et les flèches ne répondent plus vers la gauche... Mais ça revient tout de suite après. Est-ce du lag "normal", ou la calto est-elle défectueuse ? Le vendeur disait ne s'en être servi qu'une fois. Hum, hum...

Merci d'avance.


Oui, c'est normal. Ça fait partie des truc qu'on oublie au fur et à mesure qu'on l'utilise =)
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Appel d'une fonction f(x) dans un programme

Unread postby Zewazza » 30 Jan 2011, 00:44

Bisam wrote:Le tableau périodique est très gourmand en RAM et il est possible qu'il rame un peu... mais de là à être inutilisable, c'est peut-être un peu exagéré.


Oui, c'est vrai, j'exagère quant à la vitesse, le problème est surtout celui de la précision dans le cas de ce programme en fait : c'est assez chaud (enfin, du moins j'ai l'impression) de tomber sur la case que je vise, c'est au pixel près parfois... Mais bon, c'est la faute de TI pas de l'auteur. C'est fou que la 84SE ait un tableau plus accessible !

Pour la fonction, je ne suis pas sûr que vous ayez compris ce que je veux (je me disais bien que c'était ambigu, désolé !) : Je voudrais pouvoir définir n'importe quelle fonction en x avant d'exécuter le programme : f2(x), f99(x), machin(x) ... Et pouvoir l'utiliser dans le programme dicho qui calcule avec la notation :
Code: Select all
f1(c) (fonction définie en f1)

Sans être obligé d'avoir rentré au préalable ma fonction en f1 en gros.

Et, j'ai testé ce que tu m'as dit Bisam, ça me retourne que {arg,arg,arg,...,arg}.

Si ça c'est possible, je m'attellerais ensuite à faire la dichotomie en tout x, f(alpha)=k (suffit de se ramener à f(alpha)-k=0 au début, mais bon.)

Levak wrote:Oui, c'est normal. Ça fait partie des truc qu'on oublie au fur et à mesure qu'on l'utilise =)


Oki, je m'y ferai (vu qu'il le faut) :#top#: .
Merci de votre réactivité en tout cas :#tritop#: !
User avatar
Zewazza
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 0%
 
Posts: 21
Joined: 15 Jan 2011, 00:00
Location: Lille, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Appel d'une fonction f(x) dans un programme

Unread postby Bisam » 30 Jan 2011, 00:57

Zewazza wrote:Pour la fonction, je ne suis pas sûr que vous ayez compris ce que je veux (je me disais bien que c'était ambigu, désolé !) : Je voudrais pouvoir définir n'importe quelle fonction en x avant d'exécuter le programme : f2(x), f99(x), machin(x) ... Et pouvoir l'utiliser dans le programme dicho qui calcule avec la notation :
Code: Select all
f1(c) (fonction définie en f1)

Sans être obligé d'avoir rentré au préalable ma fonction en f1 en gros.

J'ai toujours rien compris !
Si tu veux pouvoir utiliser n'importe quelle fonction, le plus simple est de lui donner la fonction quand tu utilises le programme, non ?
Si tu tiens absolument à utiliser les fonctions f1, f2, etc... tu peux aussi te débrouiller pour lui préciser le numéro de la fonction que tu veux utiliser... si c'est ça, je t'indiquerai comment faire.

Zewazza wrote:Et, j'ai testé ce que tu m'as dit Bisam, ça me retourne que {arg,arg,arg,...,arg}.

Oups, j'étais persuadé que ça allait marcher.
Je vais tenter d'arranger ça, mais il faut que je fasse des tests.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Appel d'une fonction f(x) dans un programme

Unread postby Zewazza » 30 Jan 2011, 01:13

Argh, désolé, le truc est que quand je rentre ma fonction en argument ça marche plus après, parce que ça donne :
Fonction(x)(c) et c'est pas possible de calculer Fonction(c), mais je vois pas comment faire pour rentrer une fonction en argument qu'il puisse utiliser ensuite...
User avatar
Zewazza
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 0%
 
Posts: 21
Joined: 15 Jan 2011, 00:00
Location: Lille, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Appel d'une fonction f(x) dans un programme

Unread postby Bisam » 30 Jan 2011, 01:14

Je viens de tester et j'ai compris le problème.
Lorsque l'on crée une fonction ayant au moins 1 argument sur la calculette, par n'importe quel moyen, l'expression de la fonction n'est pas évaluée. Elle ne l'est qu'au moment de l'utilisation de la fonction.
Le seul moyen de contourner le problème est de convertir l'expression de la définition de la fonction en une chaîne et de l'évaluer d'un seul bloc pour créer la fonction.

Voici comment s'en sortir :
Code: Select all
test(arg,vr):=Func
local f
expr("f("string(vr)"):="string(arg))
seq(f(i),i,1,10)
endfunc

Cette fois,
Code: Select all
test(3x+1,x)
devrait te renvoyer {4,7,10,13,16,19,22,25,28,31}
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Appel d'une fonction f(x) dans un programme

Unread postby Levak » 30 Jan 2011, 01:23

Concernant la routine d'appels des fonctions définies en fX(x), il faudra utiliser expr(). Voilà un exemple pour ton cas :


Define DispAllFunctionValueInX(x) =
Func
Local i, tmp
© Pour toutes les fonctions prédéfinies
For i, 1, 99
© On sauvegarde le nom de la fonction dans une chaine
tmp := "f" string(i)
© Si la chaine de caractère correspond à une fonction
If getType(#tmp) != "NONE" Then
© On affiche son contenu à l'abscisse X
Disp epxr(tmp "(" string(x) ")")
EndIf
EndFor
EndFunc


le != c'est le "différent de".

Si jamais ça met "Invalide dans fonction ou expression", tu remplace Func par Prgm
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Appel d'une fonction f(x) dans un programme

Unread postby Zewazza » 30 Jan 2011, 14:28

Génial. Je teste ça dès que possible, j'avais bien l'idée que ça devait se faire avec des chaînes (ils nous simplifient pas la vie TI), mais après c'était une question de mise en œuvre, merci !

Et juste, j'avais entendu que le jour du BAC, si un examinateur a l'impression que tu es en train d'utiliser des cours sur ta calculatrice, il a le droit de venir vérifier et le cas échéant de faire annuler ton examen, mais là je vois que ce n'est pas le cas et qu'il n'a le droit de rien en fait. Où est la vérité ?
(Et la réponse n'est pas : dans le pantalon de Michael Jackson, parce que de 1, c'est dégeu' comme blague, de 2, c'est mal de rire des morts. Si, si.)

D'un autre côté je pense que de passer un quart d'heure à fouiller dans plein de classeur serait plus une perte de temps qu'autre chose et en fait pour l'instant j'en ai pas vraiment le besoin (20 en Maths et en Physique au BAC Blanc :#wahoo#: ), mais bon, c'est pour savoir !
User avatar
Zewazza
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 0%
 
Posts: 21
Joined: 15 Jan 2011, 00:00
Location: Lille, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Appel d'une fonction f(x) dans un programme

Unread postby Laurae » 30 Jan 2011, 14:35

Zewazza wrote:Et juste, j'avais entendu que le jour du BAC, si un examinateur a l'impression que tu es en train d'utiliser des cours sur ta calculatrice, il a le droit de venir vérifier et le cas échéant de faire annuler ton examen, mais là je vois que ce n'est pas le cas et qu'il n'a le droit de rien en fait. Où est la vérité ?


Non, c'est un examen d'Etat, par conséquent tu peux mettre tout ce que tu veux dans ta calculatrice et de l'utiliser comme tu le veux (regarder des cours, utiliser des programmes, etc...), dans les conditions que la calculatrice ait un fonctionnement autonome et qu'elle ne soit pas faite d'usage d'imprimante et qu'elle soit autorisée pour l'épreuve. Donc rien à craindre, le bac est un examen d'Etat.

Réf. : C. n° 99-018 du 1-2-1999
Texte adressé aux recteurs d'académie ; au directeur du service interacadémique des examens et concours d'Ile-de-France ; aux chefs d'établissement ; aux professeurs o La présente circulaire définit les conditions d'usage des calculatrices dans les examens et concours organisés par le ministère de l'éducation nationale et dans les concours de recrutement des personnels enseignants.
Elle annule et remplace, à compter de la session 2000, la circulaire n° 99-018 du 1er février 1999 relative à l'usage des calculatrices.
La maîtrise de l'usage des calculatrices représente un objectif important pour la formation de l'ensemble des élèves car elle constitue un outil efficace dans le cadre de leurs études et dans la vie professionnelle, économique et sociale.

C'est pourquoi leur utilisation est prévue dans de nombreux programmes d'enseignement et leur emploi doit être largement autorisé aux examens et concours.

I - Matériel autorisé

Le matériel autorisé comprend toutes les calculatrices de poche y compris les calculatrices programmables, alphanumériques ou à écran graphique à condition que leur fonctionnement soit autonome et qu'il ne soit pas fait usage d'imprimante.


II - Confection des sujets

Dans le cadre de la réglementation des examens et des concours, il appartient aux responsables de l'élaboration des sujets de décider, pour chacune des épreuves, si l'usage de l'ensemble des instruments de calcul (calculatrices, tables numériques, abaques...) est autorisé ou non. Ce point doit être précisé en tête des sujets.
Les auteurs de sujets prendront toutes les dispositions nécessaires pour ne pas favoriser les possesseurs de matériels trop perfectionnés, en fournissant, par exemple, aux candidats des documents avec les sujets.

III - Déroulement des épreuves

- Le candidat n'utilise qu'une seule machine sur la table. Toutefois, si celle-ci vient à connaître une défaillance, il peut la remplacer par une autre.
- Afin de prévenir les risques de fraude, sont interdits les échanges de machines entre les candidats, la consultation des notices fournies par les constructeurs ainsi que les échanges d'informations par l'intermédiaire des fonctions de transmission des calculatrices.
Les chefs de centre d'examen veilleront à ce que les candidats soient convenablement informés de cette règle qui doit être strictement respectée.

IV - Surveillance des épreuves

Vous voudrez bien veiller à ce que tous les personnels appelés à participer aux tâches de surveillance des épreuves soient informés des dispositions de la présente circulaire.



Pour le ministre de l'éducation nationale, de la recherche et de la technologie
et par délégation,

Le directeur de l'enseignement scolaire
Bernard TOULEMONDE


Dans le cas où on veux te confisquer ta calculatrice ou faire un reset de mémoire, c'est interdit, et il n'y a qu'a invoquer le document en question.
User avatar
LauraeAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 78.8%
 
Posts: 1685
Images: 22
Joined: 25 Jun 2010, 00:00
Location: France, La Défense
Gender: Male
Calculator(s):
MyCalcs profile
Class: Professeur, Etudiant, Formateur

Next

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1295 utilisateurs:
>1244 invités
>45 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)