Ma question va paraître sûrement très simples aux habitués de ce brave Pascal mais visiblement le moteur de recherche du forum est desactivé…
Voici mon prob : je dois faire un programme en Pascal qui utilise un array of char.
Mon exo consiste en l’écriture d’une procédure… qui ne me pose pas grand problème… mais le prob survient lorsque je veux tester la procédure !
En effet, je voudrais initialiser mon array of char à cette valeur : “GTAGCTAACA” (c’est un prob de comparaison de sous-séquences de génômes ) et … je n’y arrive pas…
J’ai ça :
Const
nmax=1000;
Type
Seq=array[1..nmax] of char;
Var
u:Seq;
Begin
u:=['G','T','A','C']; {je vous passe le reste...}
End.
J’ai essayé en mettant des parenthèses, avec ou sans virgules, avec ou sans quotes, mais visiblement, j’ai oublié qqchose…
L’erreur que me renvoit Turbo Pascal : “Error : Type mismatch”
A mon avis quand tu rentre tes caracteres un par un, le compilo les prend bien pour des caractères. Mais quand tu rentre la chaine entière, il la prend pour une string, d’où incompatibilité de type
Je ne connais pas le pascal, mais essaye plutot de declarer le type de ton tableau en string plutot qu’en char :neutre:
Tu mets dans une variable texte (string) les valeurs à mettre dans ton tableau (array).
Chaine:=‘GTAC’
Puis tu remplis ton tableau avec le contenu de cette chaîne de caractères.
Nombre:=len(Chaine)
for I:=1 to Nombre
u[I]:=mid(Chaine,I,1)
next I
Les instructions ne sont surement pas les bonnes, il faut trouver celles correspondantes en Pascal.
(tu peux aussi le faire avec un While ce serait plus joli… )