Poster un nouveau sujet Poster une réponse Page: 1,      >>
intervalles
Auteur Message
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 17:14   Citer 

Bonjour, j'aimerais faire un programme sur les intervalles ! et c'est plus compliqué que ça en a l'air !

Avec les association de 2 ou 3 intervalles, les "Union" les "inter" etc...

genre d'abord choisir si on veut 2 ou 3 interval
Puis on entre les valeur si ya par exemple 2 interval:
5/4 < x <= -5/3
ou
1/2 < x <= 7/2

et comme c'est "ou", "union" ça dois donner l'interval: [-5/3 ; 5/4[
et si possible un ptit dessin avec les 4 nombres dans l'ordre et tout minied.gif

mais le problème c'est que, je ne sais pas comment faire les condition avec les signe ">" ou "=>". surtout que ce n'est pas toujours du genre: a<x<b ; ya aussi x<a pour un interval avec + ou - infini...

  Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 17:18   Citer 

A oui, il faut aussi que le programme dis si c'est un ensemble vide et tout...
et si ya 3 intervalles, qu'il fasse d'abord les 2 premiers, puis l'autre

par exemple: a<x<b ou c<x<d et x>e
ça fasse dabord a<x<b ou c<x<d; puis le résultat inter x>e

voila je sais pas si c'est faisable !

  Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 18:03   Citer 

Et... encore moi, commetn on fais si on a des nombre, que le programme les mettre dans l'ordre croissant ??

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 18:17   Citer 

Tu peut les mettre dans une liste et utiliser lafonction TriCroi( (dans stats) avc pour argument : soit une liste à trier, soit plusieurs listes de même longueur dont les termes seront clasés par odre croisaant de la liste placée en première.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 18:27   Citer 

Merci de répondre happy.gif

mais je ne comprend pas trop !

Si j'ai par exemple 6 variable A,B,C,D,E,F :
je fais: L1={A,B,C,D,E,F}

et après ?

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 18:32   Citer 

Je te conseille :

Code
Prompt A,B,C,D,E,F
{A,B,C,D,E,F -> L1
TriCroi(L1
L1(1 -> G
L1(2 -> H
L1(3 -> I
L1(4 -> J
L1(5 -> K
L1(6 -> L



Tu aura donc G<H<I<J<K<L.

Si l'ordre importe, prévient moi en expliquant clairement comment tu compte untiliser les résultats une fois triés.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 18:37   Citer 

Merci !!
Si j'ai 6 variables, dans le désordre je veux les mettres dans l'ordre croissant pour pouvoir les mettre ensuite sur un axe des Réel.

Je pense que tu as répondu a ma question merci happy.gif

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 18:54   Citer 

Derien, si c'es ça qu'il te faut, ça va; si par contre il t'aurrait fallut garder les intervales, ça aurrait été plus compliqué.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 19:02   Citer 

J'ai fais comme cela:

-je choisi la forme du premier interval
-je choisi si c'est une union ou intersection
-je choisi la forme du second interval

forme:
a < x < b
a <= x <= b
a <= x < b
a < x <= b
a < x
a <= x
a > x
a >= x

Puis j'entre la (ou les) valeur(s)

Puis je les met dasn l'ordre sur un axe, avec les beau interval happy.gif
puis, après quelque condition je vois le résultat si c'est ensemble vide ou autre chose.

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 19:16   Citer 

Bonne chance.

Par contre un petit rappel : ne fait jamais If 9<X<20 sur la TI, elle le comprendrait comme : si 9<X : If 1<20 et sinon 0<20
Il te faut doncécrire If 9<X and X<20

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 19:20   Citer 

Dac, merci !!
je montrerais le programme quand je finirais happy.gif

  Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 20:15   Citer 

Une ptit chose qui me pose problème ^^

Si dans les valeur je met: 5/3 ; ou racine de 2
je voudrai que elle reste comme elle sont, en fraction ou en racine sans être calculé... ou, au pire je voudrai qu'elle soit arrondi a un seul chiffre après la virgule

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 20:20   Citer 

Pour garder tel quel, il faut que tu remplace Prompt A par
Code
Imput"A",Chaîne1         //Chaîne1 se trouve dans Var/7
expr(Chaîne1 -> A        //expr(  n'est que dans le catalogue


Ensuite, pour afficher A exactement comme rentré, tu remplace A par Chaîne 1

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 20:33   Citer 

C'est cool ça happy.gif
si par exemple dans la chaine on ne met pas un nombre mais des lettre le expr ne marche pas ? ^^ je ne veux pas le faire mais c'est juste pour savoir happy.gif

merci ! et bien on a tout prévu en programmation godgrace.gif

  Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 20:38   Citer 

Aaaah ça me pose un autre problème !

par exemple:


Code

Imput"A",Chaîne1 
expr(Chaîne1 -> A 
Imput"B",Chaîne2 
expr(Chaîne2 -> B

{A,B-> L1
SorA(L1
L1(1 -> C    //  ma chaine 1 et ma chaine 2 elle sont ou ???
L1(2 -> D    //  je ne peut plus savoir ??




  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 20:41   Citer 

Dans tous les cas tu poura afficher le contenue en tant que texte, par contre si tu met expr(Chaîne1 et que le contenu de Chaîne 1 ne peut pas être calculé, la Ti t'affiche une erreure.
Par example:
2+6(2) est valable
2+()2 est invalide
2+3A+C est valide
7*L1(1 est valide (L1 est une chaîne
7*L1 est valide si au lieux d'enregistrer le résulat dans une variable nombre, tu l'enregistre dans une liste

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 20:45   Citer 

Ok ! et pour mon dernier problème ? ^^
je peux mettre dans l'ordre des nombres mais mettre dans l'ordre des chaines calculable je sais pas...

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 20:52   Citer 

Pas directement : tu peut mettre dans l'ordre les nombres et ensuite tester chaîne par chaîne si la valeur corespond : si oi : afficher la chaîne, sinon, tenter la chaîne suivante.
Ou alors, chercher dans la liste où ce situe le nombre corespondant à telle chaîne et afficher en conséquence.

sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Calipso
Invité
Posté le : Jeu 20 Oct 2011, 20:56   Citer 


Code


Imput"A",Chaîne1
expr(Chaîne1 -> A
Imput"B",Chaîne2
expr(Chaîne2 -> B

{A,B-> L1
SorA(L1
L1(1 -> str3
expr(str3 -> C   
L1(2 -> str4
expr(str4 -> C

if str1 = str3 : str3 -> str1



comme ça ?

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 20 Oct 2011, 21:06   Citer 

Non, ça ne marchear pas, on ne peut pas mettre un nombre dans une chaîne directement.

Il te faudrait faire :

Code
Imput"A",Chaîne1
expr(Chaîne1 -> A
Imput"B",Chaîne2
expr(Chaîne2 -> B
Imput"C",Chaîne3
expr(Chaîne3 -> B
Imput"D",Chaîne4
expr(Chaîne4 -> B

{A,B,C,D-> L1
SorA(L1

{X1,X2,X3,X4 -> L2      //abscisse du premier, puis second, puis 3ème puis 4ème texte
{Y1,Y2,Y3,Y4 -> L3      //ordonnée du premier, puis second, puis 3ème puis 4ème texte

For(X,1,dim(L1
L1(X -> Z
If Z=A
Output(L3(X),L2(X),Chaîne1
If Z=B
Output(L3(X),L2(X),Chaîne2
If Z=C
Output(L3(X),L2(X),Chaîne3
If Z=D
Output(L3(X),L2(X),Chaîne4
End



Sandro

PS : si tu est sur écran graphique, remplace Output par Texte en adaptant les valeures des coordonnées.

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink