Bonjour tous le monde, voila j'ai un probleme d'algorithmique que je trouve assez complexe. Enonce : L'ADN est un polymere compose uniquement de 4nucleotides : l'Adenine(A), la Thymine(T), la Guanine(G) et la Cytosine(C), qui constituent donc les "lettres" de "l'alphabet" genetique. L'ADN est constitue de 2 fibres constituees a partir de ces 4 nucleotides. Ces 2 fibres sont "complementaires" : chaque nucleotide d'une fibre est lie a un autre sur l'autre fibre, sachant que A s'associe avec T et G s'associe avec C.
On va creer des fonctions pour representer et manipuler ces fibre: une fibre sera representee par un tableau de caracteres 'A', 'C', 'T' ou 'G'. Pour certaines de ces fonctions il faudre peut-etre decomposer le probleme en plusieurs parties.
Travail a faire :
1) Definir le type fibre
2) Ecrire la fonction ( fibreVide var f : fibre ; n : entier) : booleen, qui teste si une fibre est vide ou non.
3) Ecrire la procedure creer_fibre( var f : fibre ; n : entier) , qui cree une fibre aleatoirement de longueur passe en parametre. On utilisera la fonction randomChar( 'A','C','T','G') qui donne un caractere au hasard parmi ceux transmis en parametre.
4) Ecrire la fonction duplique (var f : fibre ; n : entier) : fibre qui renvoie le complementaire d'une fibre passee en parametre. Par exemple dupliquer applique a la liste ['A','T','T','C'] renvoie ['T','A', 'A','G'] .
5) Ecrire la fonction sequence (var f1,f2 : fibre ; n : entier) booleen qui etant donnee 2 listes de nucleotides determine si la premier est une sous-sequence de la deuxieme.
Je sais qu'il y'a des notions de science la dedans mais le pire ce sont ces fonctions. Je ne les ai jamais vu auparavant. Merci d'avance et bonne journee a tous !
