Transcript
Page 1: Algorithmique & Programmation L1 - univ-orleans.fr · Algorithmique & Programmation L1 1er contr^ole continu | mardi 21 octobre 2008 | dur ee 1h30 ... c

Algorithmique & Programmation L1

1er controle continu — mardi 21 octobre 2008 — duree 1h30

Nom : Prenom : groupe :

Exercice 1 Donnez l’affichage produit par le programme p1 ci-dessous. Reponse :Sous-Programme sp1 (entier a, entier b) retourne entier

entier cDebut

Si (a < b) Alorsc <- a + 2

Sinonc <- b + 1

FinSiretourne c Programme p1

Fin entier a, bDebut

Sous-Programme sp2 (entier a) retourne entier a <- -5entier b b <- sp2 (a)

Debut afficher (b)b <- -a Finb <- sp1 (b, a)retourne b

Fin

Exercice 2 Donnez dans le tableau de droite la trace du programme p2 (evolution des valeurs desvariables au fil du programme).

Programme p2entier i, n, u

Debutn <- 4u <- 0i <- 0TantQue (i != n) Faire

u = 2 * u + 3i = i + 1

FinTantQueafficher (u)

Fin

Parmi les propositions ci-dessous, cochez celles qui sont invariantespour la boucle :

u = 2 ∗ n + 3

u = 2 ∗ i + 3

u = 3 ∗ 2n − 3

u = 3 ∗ 2i − 3

On suppose qu’on change la valeur initiale de n et qu’on initialisen avec une autre valeur positive ou nulle. Deduire de l’invariantde boucle la valeur affichee par le programme en fonction de n.

Reponse :

i n u

Page 2: Algorithmique & Programmation L1 - univ-orleans.fr · Algorithmique & Programmation L1 1er contr^ole continu | mardi 21 octobre 2008 | dur ee 1h30 ... c

Exercice 3 Deux nombres entiers positifs n1 et n2 sont dits amicaux si la somme des diviseurs strictsde n1 est n2 et la somme des diviseurs stricts de n2 est n1. Ecrire un programme qui teste si deux entierspositifs sont amicaux.


Recommended