N.S.I. WorkSpace Epreuve pratique,Terminale Epreuve Pratique : s’entraîner…

Epreuve Pratique : s’entraîner…

Exercices 1

Pour les tous les sujets qui suivent :

  • indiquer les spécifications de la fonction ;
  • commenter le code ;
  • choisir des noms de variables significatifs ;
  • optimiser le code (éviter les instructions inutiles)

Sujet 1 - Qui n'a jamais entendu parler de l'ADN ? Cette biomolécule est constituée de deux chaînes de nucléotides. Ces derniers sont désignés par les lettres A, C, G et T. Chacune des chaînes de nucléotides peut donc être représentée de la façon suivante : …ACCTGCTATGCGGTATCCTAACT…. Cette succession de nucléotides constituent une séquence.
Écrire une fonction ADN_stat() qui prend en argument une chaîne de caractères représentant une séquence de nucléotides et qui renvoie un dictionnaire dont les clés sont les nucléotides 'A', 'C', 'G' et 'T' et les valeurs un tuple de deux valeurs, la première étant le nombre d'occurrences du nucléotide dans la séquence et la seconde étant le pourcentage de ce nombre d'occurrences par rapport au nombre total de nucléotides.

Par exemple : ADN_stat('AGCCGCTGGA') renvoie {'A':(2, 20), 'C':(3, 30), 'G':(4, 40), 'T':(1, 10)}
Sujet 2 - Qui n'a jamais entendu parler de l'ADN ? Cette biomolécule est constituée de deux chaînes de nucléotides. Ces derniers sont désignés par les lettres A, C, G et T. Chacune des chaînes de nucléotides peut donc être représentée de la façon suivante : …ACCTGCTATGCGGTATCCTAACT…. Cette succession de nucléotides constituent une séquence. Mais il existe une 'logique' de correspondance entre les nucléotides des deux chaînes : en face un nucléotide 'A' se trouve toujours un 'C' et en face d'un 'G' toujours un 'T'. On parle d'appariement des nucléotides et de complémentarité des deux chaînes. Ce qui donne :
chaîne A : …ACCTGCTATGCGGTATCCTAACT…
chaîne B : …TGGACGATACGCCATAGGATTGT…

Écrire une fonction ADN_complement() qui prend en argument une chaîne de caractères représentant une séquence de nucléotides et qui renvoie un tuple constitué de deux chaînes de caractères, la première étant celle passée en argument et la seconde une chaîne de caractères représentant la chaîne de nucléotides complémentaire de celle passée en argument.

Par exemple : ADN_complement('ATTCGGAT') renvoie ('ATTCGGAT', 'TAAGCCTA')
Sujet 3 - Qui n'a jamais entendu parler de l'ADN ? Cette biomolécule est constituée de deux chaînes de nucléotides. Ces derniers sont désignés par les lettres A, C, G et T. Chacune des chaînes de nucléotides peut donc être représentée de la façon suivante : …ACCTGCTATGCGGTATCCTAACT…. Cette succession de nucléotides constituent une séquence. En génétique il est fréquent de comparer deux séquences de nucléotides afin d'y repérer des mutations ponctuelles en particulier des substitutions c'est à dire le remplacement d'un nucléotide par un autre. Par exemple il existe deux mutations de type substitution entre les deux séquences qui suivent :
séquence S0 : …ACCTGCTATGCGGTATCCTAACT…
séquence S1 : …ACCTGATATGCGCTATCCTAACT…

Écrire un fonction ADN_compare() qui prend en argument deux chaînes de caractères représentant deux séquences de nucléotide et qui renvoie un tuple de deux chaines de caractères, la première étant la première passée en argument et la seconde une chaîne de caractères construite à partir de la seconde chaîne de caractères passée en argument et dans laquelle tous les nucléotides identiques à la première auront été remplacés par des tirets '-'.

Par exemple : 
ADN_compare('AATCCGT', 'ACTCCTT') renvoie ('AATCCGT', '-C---T-')