Programmation I
I. Algorithmique
Aix-Marseille Universit´e
Licence MPCI
Ann´ee 2016-2017
Dans ce TD, vous ´ecrirez les algorithmes demand´es dans le pseudo-langage vu en cours. La fonction
Saisie utilisateur() permet `a l’utilisateur de choisir la valeur d’un nombre.
Exercice I.1
On consid`ere le programme ´ecrit en pseudo-
langage repr´esent´e ci-contre. Expliquez son
fonctionnement en donnant des exemples.
n = Saisie_utilisateur();
Si (n modulo 2 == 0) Alors
Afficher "Le nombre est pair"
Sinon
Afficher "Le nombre est impair"
FinSi
Exercice I.2
1. On consid`ere la fonction f:NNd´efinie par :
xN, f(x) = 3×x+ 1 si xest impair,
x/2 si xest pair.
Cette fonction intervient dans une conjecture c´el`ebre appel´ee “conjecture de Syracuse”. Donner un
algorithme qui, ´etant donn´e un nombre naturel x, retourne la valeur de f(x).
2. On consid`ere `a pr´esent la fonction de deux variables g:N×NZd´efinie par :
(m, n)N×N, g(m, n) =
1 si m < n,
1 si m > n,
0 sinon.
Donner un algorithme qui, ´etant donn´es deux nombres naturels met n, donne la valeur de g(m, n).
Exercice I.3 (R´esolution d’une ´equation du second degr´e)
On consid`ere une ´equation du second degr´e, donn´ee par les trois coefficients r´eels a,bet c:
a×x2+b×x+c= 0 (1)
1. Donner un algorithme qui, ´etant donn´e trois coefficients r´eels a,bet c, affiche les solutions r´eelles de
l’´equation du second degr´e (1) associ´ee.
2. Donner les op´erations ´el´ementaires qu’il utilise et leur nombre.
Exercice I.4 (Boucles Pour)
On consid`ere les deux programmes ci-dessous. Que se passe-t-il pour chacun des programmes si l’utilisa-
teur saisit la valeur 12 ?
n = Saisie_utilisateur();
Pour i de 0 `a 20 Faire
Afficher n+i
FinPour
n = Saisie_utilisateur();
Pour i de 0 `a n Faire
Si (i modulo 2 == 0) Alors
Afficher i
FinSi
FinPour
Ecrivez un algorithme utilisant une boucle Pour permettant, ´etant donn´e un entier naturel n, d’afficher
les nombres compris entre 0 et nqui sont divisibles par 2 ou par 5.
1
1 / 1 100%