0% ont trouvé ce document utile (0 vote)
18 vues3 pages

Exercices d'algorithmes pour étudiants

Transféré par

Mohamed Dallagi
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues3 pages

Exercices d'algorithmes pour étudiants

Transféré par

Mohamed Dallagi
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercices - Algorithmes : enonc e

Cette feuille dexercice recense quelques algorithmes trouv es aux d etours dun probl` eme.

Ecrire des algorithmes


Exercice 1 - Renversant ! - L1/Math Sup/Master Enseignement Ecrire une fonction qui prend en entr ee un entier naturel a et retourne cet entier ecrit ` a lenvers. Par exemple, si a = 1234, la fonction devra retourner a = 4321. On pourra utiliser les fonctions quotient(n,p) et reste(n,p) qui donnent le quotient et le reste de la division de n par p.

Exercice 2 - Temps darr et - L1/Master Enseignement 1 On note Hn la somme Hn = n k=1 k . On admet que (Hn ) tend vers +. Ecrire un algorithme qui d etermine le plus petit entier n tel que Hn d epasse un r eel a donn e.

Exercice 3 - Equation de Pell-Fermat - Master Enseignement On consid` ere l equation x2 2y 2 = 1 dinconnues x, y N . Ecrire un algorithme permettant de d eterminer toutes les solutions de cette equation pour lesquelles y 100.

Exercice 4 - En base 2 - L1/Math Sup/Master Enseignement 1. Ecrire 21 en base 2. 2. Proposer un algorithme qui prend en entr ee un entier n et retourne son ecriture en base 2.

Exercice 5 - Encadrement dint egrale - L1/Math Sup/Master Enseignement Soit f : [0, 1] R une fonction croissante. Pour n 1, on pose Un = 1 n1 1 n f (k/n) et Vn = f (k/n). n k=0 n k=1
1 0 f (x)dx 1 0 f (x)dx.

1. D emontrer que, pour tout n 1, on a Un 2. On admet que (Un ) et (Vn ) convergent vers 1 x2 valeur approch ee de 0 e dx ` a 103 pr` es.

Vn . Ecrire un algorithme donnant une

Analyser des algorithmes


Exercice 6 - pgcd - Master Enseignement Lalgorithme suivant propose de calculer le pgcd de deux entiers a et b, avec a > b. Fonctionne-t-il ? Sinon, corriger cet algorithme. Lire a Lire b Tant que (b non nul) Faire a=b b=reste de a par b Fin Tant que. Afficher a. [Link] 1

Exercices - Algorithmes : enonc e


Exercice 7 - Marche al eatoire - Master Enseignement Une puce se d eplace sur un axe gradu e. Au temps t = 0, la puce est en 0. Si la puce est en x, ` a linstant n + 1, elle est en x + 1 avec probabilit e 1/3, en x + 2 avec probabilit e 1/3, en x 3 avec probabilit e 1/3. On souhaite programmer un algorithme simulant la position de la puce apr` es 50 it erations. On propose lalgorithme suivant : x=0 Pour t allant de 1 ` a n Faire Si (random()<1/3) alors x=x+1 Si (random()>=1/3) et (random()<2/3) alors x=x+1 Si (random()>=2/3) alors x=x-3 Fin Pour. Afficher x. Cet algorithme fonctionne-t-il ? Sinon, le corriger. NB. La fonction random() retourne un nombre (pseudo)-al eatoire entre 0 et 1.

Exercice 8 - Triplets pythagoriciens - Master Enseignement Voici l enonc e pos e` a des etudiants : On rappelle quun triplet dentiers naturels (a, b, c) est un triplet pythagoricien si a2 + b2 = c2 . Ecrire un algorithme donnant tous les triplets pythagoriciens de sorte que a + b + c 10000. Voici les r eponses de quelques etudiants. D eterminer les algorithmes qui donnent le bon r esultat. Expliquer. Etudiant 1: Pour k1 allant de 0 ` a 10000 faire Pour k2 allant de 0 ` a 10000 faire Pour k3 allant de 0 ` a 10000 faire Si k 12 + k 22 = k 32 et k1+k2+k3<=10000 alors afficher (k1,k2,k3) Fin si Fin pour Fin pour Fin pour. Etudiant 2: a=0, b=0,c=0 Pour b allant de 0 ` a 10000 a2 + b2 c. Si a+b+sqrt(c)<10000 et sqrt(c) entier alors afficher (a,b,sqrt(c)) c=0; a=a+1; Fin Pour. Etudiant 3: a=0, b=0, c=0 Tant que a+b+c<=10000 faire Tant que a+b+c<=10000 faire afficher(a,b,c) b=b+1 c=sqrt(a*a+b*b) Fin tant que a=a+1 [Link] 2

Exercices - Algorithmes : enonc e


b=0 Fin tant que. Etudiant 4: Pour a allant de 0 ` a 10000 faire Pour b allant de 0 ` a 10000-a faire Pour c allant de 0 ` a 10000-a-b faire Si a*a+b*b=c*c afficher (a,b,c) Fin si Fin pour Fin pour. Fin pour. Etudiant 5: a=0, b=0 Tant que a+b+sqrt(a*a+b*b)<=10000 faire b=0 Tant que a+b+sqrt(a*a+b*b)<=10000 faire Si Ent(sqrt(a*a+b*b))=sqrt(a*a+b*b) alors afficher (a,b,sqrt(a*a+b*b)) Fin si b=b+1 Fin tant que a=a+1 Fin tant que. Etudiant 6: Pour a allant de 0 ` a 10000 faire Pour b allant de 0 ` a 10000 faire c=0 tant que a+b+c<=10000 faire si a*a+b*b=c*c alors afficher (a,b,c) sinon c=c+1 Fin tant que Fin pour. Fin pour.

[Link]

Vous aimerez peut-être aussi