• Aucun résultat trouvé

3 : Quelques petits algorithmes classiques

N/A
N/A
Protected

Academic year: 2022

Partager "3 : Quelques petits algorithmes classiques"

Copied!
2
0
0

Texte intégral

(1)

Lycée Louis-Le-Grand,Paris 2020/2021 MPSI 4– Informatique pour tous

N. Carré, A. Troesch

TP n

o

3 : Quelques petits algorithmes classiques

Nous étudions dans ce TP plusieurs algorithmes indépendants, qui se retouvent, sous cette forme ou de façon adaptée, à la base de nombreux algorithmes plus complexes. Ces algorithmes sont explicitement à votre programme, donc il faut les connaître et être capable de les implémenter de façon efficace.

Exercice 1– Recherche d’un élément dans un tableau non trié

1. Écrire une fonction prenant en paramètre une listeLet un objeta, et retournant en sortie un booléen traduisant la véracité de l’affirmation « L’élémentaest un élément du tableau ».

2. Modifiez la fonction ci-dessus afin qu’elle retourne l’indice minimum de la liste correspondant à une occurrence dea.

3. Même question pour trouver le nombre d’occurrences deadans la liste.

4. On suppose la liste L remplie de façon aléatoire et uniforme par des entiers de v0, N´1w, et a P v0, N´1w.

On suppose la taille du tableau égale àn“10000, qu’on estime « assez grand ». En faisant une moyenne sur 1000expériences, et en introduisant dans la fonction de la première question un compteur de passages dans la boucle, retrouver par la simulation le fait que la complexité moyenne est à peu prèsN lorsquenest grand par rapport àN.

5. Déterminer de même une valeur approchée de l’écart-type du nombre de passages dans la boucle.

Exercice 2– Recherche d’un élément dans un tableau trié

1. Étant donné un tableau trié T et un élément a, écrire une fonction, basée sur le principe de la dichotomie, retournant un indiceitel queTris “a, s’il en existe un, et retournant´1sinon.

2. En introduisant un compteur dans la fonction ci-dessus, et en supposantT, de longueurn, rempli aléatoirement d’entiers choisis uniformément dans v0,2nw puis trié, et en choisissanta aléatoirement entre 0 et 2n, estimer le nombre moyen de passages dans la boucle (on prendran en paramètre, on effectuera 1000 expériences, en tirant pour chaque expérience un nouveau tableau aléatoire ; on ne tiendra pas compte évidemment du coût du tri du tableau, qui n’est pas l’objet de cette mesure).

3. Comment modifier la fonction de la question 1 pour obtenir la première occurence de a, si elle existe ? La dernière occurrence ?

Exercice 3– (Recherche d’un mot dans un texte par la méthode naïve)

1. Écrire une fonction prenant en paramètre deux chaînes de caractèrestexteetmot, et recherchant la première occurence demotdanstexte(la fonction retournera l’indice de la première lettre de l’occurrence demotdans texte). On ne s’autorisera que des comparaisonslettre à lettre.

2. Écrire une fonction créant aléatoirement une chaîne de caractère de longueur 1000, constituée de façon aléatoire et uniforme des lettres (minuscules) de l’alphabet.

3. Estimez la probabilité qu’une chaîne aléatoire du type de la question précédente contienne le motllg

1

(2)

Exercice 4– (Paradoxe de Walter Penney)

Le but de cet exercice est d’illustrer par la simulation le paradoxe de Walter Penney : dans une succession infinie de tirages à Pile ou Face avec une pièce équilibrée, le temps d’attente moyen de la première configuration PPF est le même que le temps d’attente moyen de la première configuration FPP. Cependant, il est beaucoup plus probable qu’une configuration FPP ait lieu avant la première configuration PPF que l’inverse. Sauriez-vous expliquer pourquoi ? (ce n’est pas très compliqué)

1. (a) Écrire une fonction simulant une succession de tirages à Pile ou Face jusqu’à obtention du premier motif PPF, et retournant le nombre de tirages nécessaires.

(b) En répétant un grand nombre de fois l’expérience précédente, estimer le nombre moyen de tirages nécessaires pour obtenir pour la première fois PPF

2. Mêmes questions pour la séquence FPP.

3. Écrire une fonction retournant 1 si des deux motifs PPF et FPP, le motif PPF apparaît en premier, et 0 sinon.

4. Estimer la probabilité que le motif PPF apparaisse pour la première fois avant le motif FPP.

2

Références

Documents relatifs

D'après (î3) nous sommes presque sûrs que la suite des sommes partielles de (2) n'est pas uniformément bornée, car à chaque fois qu'une série trigonométrique a ses sommes

Le lexique était simple dans l’ensemble, celui d’une rencontre, lieu/temps/description esquissés des personnages et de la situation, à l’exception de quelques

"nb_simulations" paramètre le nombre de choix des deux nombres, "borne_inferieure" et "borne_superieure" paramètrent les bornes de l'intervalle pour

Calculez le poids de gâteau mangeait par Jean et mangé par Marc.. Une nappe a la

Elle est transférée dans le cœur du réacteur nucléaire à de l’eau sous pression qui assure à la fois le ralentissement des neutrons et l’évacuation de l’énergie produite..

Lorsque n n’est plus assez grand face à n, on arrête plus souvent l’expérience sans avoir trouvé la valeur dans le tableau : si on avait considéré un tableau infini, on aurait

En introduisant un compteur dans la fonction ci-dessus, et en supposant T , de longueur n , rempli aléatoirement d’entiers choisis uniformément dans [[0, 2n]] puis trié, et

• Variable : Objet algorithmique dont la valeur peut changer pendant l'exécution de l’algorithme.. Observons attentivement le formulaire de la page précédente et