[Pascal] utilisation de string et tableau

utilisation de string et tableau [Pascal] - Programmation

Marsh Posté le 31-05-2001 à 00:37:40    

voila, je n'y connait rien, et on a essayer de m'expliquer ca (je suis obliger d'apprendre pour un projet d'info..)
 
donc  
selon une premiere personne:
 
tu peux faire equation : string;
equation := "x+1";
equation[2] := 4;
et tu as equation qui vaut "X+4"
 
mais selon une autre personne c faux:
 
equation := "x+1" ça fait
equation[0] := 3
equation[1] := ord(x)
 ...
 
 
 
donc qui a raison ? :o)
 
et ensuite pour réutiliser, je fait comment?
 
car mon pb, c'est que je doit integré un truc (par ex. x+1), mais il faut que ce truc soit stocké dans une variable (ou autre chose), et que je puisse le reprendre pour l'integrer (la lib d'integration est codé par qq1 d'autre)
 
Ensuite il faut que je stock le truc intégré dans une autre variable (ou autre)
 
bref, je ne sais pas comment faire
(j'espere que ma question est comprehensible, là je suis claqué et j'en est marre)
 
Plus d'info sur mon projet ici, ca parle d'équation differentiel a résoudre: http://forum.hardware.fr/sqlforum/ [...] inc&cache=
 
merci d'avance et a+
 
Ly$ /Popsy Team

Reply

Marsh Posté le 31-05-2001 à 00:37:40   

Reply

Marsh Posté le 31-05-2001 à 01:21:51    

Pour le debut ta premiere question :
Je pense je suis meme presque sur que c'est le premier qui a raison! Je doute je sais plus si les string sont indice a partir de 1 ou de 0!
Je lis le reste et essayerai de poster apres!

Reply

Marsh Posté le 31-05-2001 à 01:25:10    

C'est tres jolie les equa diff du permier ordre. Mais je capte pas ton premier post (celui avant mon precedent post sois plus clai plz)

Reply

Marsh Posté le 31-05-2001 à 02:10:27    

Si j'ai bien compris, les 2 personnes ont raison, à part quelques imprécisions.
 
Le 1er caractère d'une string en Pascal se trouve à l'indice 1. Donc si equation vaut 'x+1', tu as bien equation[1] = 'x' (et non Ord('x'), car 'x', comme equation[1], est de type caractère, alors que Ord('x') renvoie un entier).
Par ailleurs, si tu écris ensuite equation[3] := '4', equation vaudra 'x+4', puisque tu as changé le 3ème caractère de equation.
 
Maintenant, il faut aussi savoir que equation[0] existe : il n'y a pas débordement de tableau si tu écris cela. Le "zéro-ième" caractère d'une chaîne de caractères contient la longueur de cette chaîne. Donc equation[0] vaut ici Chr(3) (encore une fois, pas 3, puisque c'est une valeur de type caractère et non entier).
 
En espérant que cela répond à ta question...
 
Edit> Ha, dernière chose. En Pascal, les chaînes de caractères sont notées entre apostrophes, pas entre guillemets (comme en C, par exemple).

 

[edit]--Message édité par BifaceMcLeOD--[/edit]

Reply

Marsh Posté le 31-05-2001 à 12:02:58    

ok merci bcp pour vos réponses
 
mystereetboule: j'ai aps comprit ta question, c'est quoi que tu comprend pas? ma question sur ce post, ou sur le lien vers l'autre post que j'ai mis en bas?
 
a+

Reply

Marsh Posté le 31-05-2001 à 12:04:53    

Veux bien t'aider mais je comprends pas exactement a koi te serve les string dans la resolution d'equa diff!

Reply

Marsh Posté le 31-05-2001 à 12:16:32    

ben à les afficher....
 
 
 
:D

Reply

Marsh Posté le 31-05-2001 à 12:19:49    

Pas bete :sol:

Reply

Marsh Posté le 31-05-2001 à 15:31:45    

exact, pour afficher, mais aussi pour envoyer ce dans la lib d'intégration/dérivation codée par un autre goupe d'eleve.
 
J'ai un petit probleme encore :) ->
 
donc pour mon histoire de chaine de caractere (pour integrer l'expression) dans le but de finir par :
 
a:='x+1';
a_intégré:=integremoicaavectalib(a)
 je doit codé:
a : string;
write('Coef a ?');
readln(a)
ce qui donne
a l'ecran
Coef a?
si le mec tape x+1
j'aurais a[0]=3
a[1]=ascii(x)            (je me demande ce que veux dire cet histoire d'ascii ou ord, c important? meme si je c ce que c'est que le code ascci)
 
a[2]=jec pas koi +
...
 
c'est ca? ou alors plutot a[0]= '3', a[1]='x'....
 
 
----------------------------------
 
Mon autre pb est pour déifnir ce truc:
 
je tape simplement
a : string;
 
ou faut que je parle d'une histoire d'array que j'ai rien comprit?
 
en gros dans mes entrées, j'aurais du string ou de l'array?
 
 
merci bcp pour vos réponses :)
 
a+

Reply

Marsh Posté le 31-05-2001 à 15:41:17    

Comme BifaceMacleDO me l'a rappelle le premier element de ton string (le 0ieme) est le nombre d'element de ton string donc 3 ici. en x[1] tu as x le caractere. Te soucie pas des codes ascii(ascii = representation decimale d'une toute une serie de caractere definie par des messieurs il y a longtemps :sol:) en  
a[2]='+' a[3]='1' ... Pour declarer  
var a : string; {devrait marcher}
Pourquoi tu fournis pas une matrice(comme en math) contenant les les coef de y et y' ...

Reply

Marsh Posté le 31-05-2001 à 15:41:17   

Reply

Marsh Posté le 31-05-2001 à 17:14:48    

tu veux dire un tableau genre array? pour stocker chaque élément un par un c ca?
 
ben parceque je sais pas faite :)
 
en gros la je vais faire ma lib de telle maniere que c'est le groupe qui gere l'integration qui va en prendre plein la gueule, vu que je leur envoie ma chaine de caractere dans la gueule, apres ils se demerddent avec et ils me la renvoie integrée.  
--> comme je disais sur mon post precedent
a:='x+1';  
a_intégré:=integremoicaavectalib(a)  
 
en gros.
 
ok, donc j'ai que des string et des bytes a déclarée a priori :)
 
cool, merci bien

Reply

Marsh Posté le 31-05-2001 à 17:17:09    

Parce que je voulais etre sympa avec els autres mais si tu t'en fous alors choisi les string. Il se sont fait encule....  :D  :D

Reply

Marsh Posté le 31-05-2001 à 17:22:45    

c clair :)
 
merci bcp pour ton aide en ts cas,
 
le faut que je torche ca rapidos, j'ai encore un ds de math, un ds d'elec, un dessins industriel a finir c la fete...

Reply

Marsh Posté le 31-05-2001 à 17:25:27    

tu fais ingenieur civil?

Reply

Marsh Posté le 31-05-2001 à 17:44:08    

nop Genie mecanique moi
 
en genie civil y foute rien :)
 
enfin dans mon ecole et en 1ere année en ts cas

Reply

Marsh Posté le 31-05-2001 à 17:48:14    

:D  :D Et tu fais de l'elec.

Reply

Marsh Posté le 31-05-2001 à 17:49:33    

j'ai ce malheur oui :(
 
tiens si tu as envie de voir la débilité de notre prof d'info, j'ai mis le debut de mon rapport online. sache que toute la structure est imposée...
 
www.multimania.com/popsyrulez

Reply

Marsh Posté le 31-05-2001 à 17:52:39    

Tient me rappelle plus trop de mes cours d'analyse numerique mais y a surement bien moyen de resoudre des equa diff plus facilement qu'a la main....  
 
Vais rire avc le raport je crois

Reply

Marsh Posté le 31-05-2001 à 18:00:03    

rien a voir, mais on a sensiblement la meme becane :)
 
pq tu clocke pas ton proc? un 600E sa passe facile a 8-900 :)

Reply

Marsh Posté le 31-05-2001 à 18:06:41    

ma FSB est a 133 ... mais je l'ai pas preciser. Je peux peut etre monte plus haut mais pas avec ma BH6.

Reply

Marsh Posté le 31-05-2001 à 18:14:13    

ah oki :)
 
tu n'a pas vu des conneries particuliere sur mon pseudo rapport par hasard?

Reply

Marsh Posté le 31-05-2001 à 18:47:42    

Ly$> une string est un tableau de caractères. Mais un tableau un peu particulier, puisqu'il gère tout seul sa longueur (qui peut varier au cours du temps, contrairement aux tableaux en Pascal).

Reply

Marsh Posté le 31-05-2001 à 19:04:59    

BifaceMcLeOD> yep j'avais bien comprit cela, enfin je croit:
 
en fait avec un string chaque caractere est codé sur un octet, et chaque caractere est stocké dans une "case" du tableau c ca?
 
merci et a+
 
ps: toi non plus tu n'aurais pas vu des conneries dans mon rapport?

 

[edit]--Message édité par Ly$--[/edit]

Reply

Marsh Posté le 31-05-2001 à 20:42:27    

upload de la nouvelle version.
 
si quelqu'un voit des erreurs, qu'il me le dise ;)
 
surtout sur la fin du txt.

Reply

Marsh Posté le 31-05-2001 à 20:45:24    

Zai pas regarder assez dans les details pour detecter des eventuelles erreurs. Pour le string c comme ca que ca marche en effet.  :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed