cc1

2
Algorithmique & Programmation L1 1 er contrˆole continu — mardi 21 octobre 2008 — dur´ ee 1h30 Nom : Pr´ enom : groupe : Exercice 1 Donnez l’affichage produit par le programme p1 ci-dessous. R´ eponse : Sous-Programme sp1 (entier a, entier b) retourne entier entier c ebut Si (a < b) Alors c<-a+2 Sinon c<-b+1 FinSi retourne c Programme p1 Fin entier a, b ebut Sous-Programme sp2 (entier a) retourne entier a <- -5 entier b b <- sp2 (a) ebut afficher (b) b <- -a Fin b <- sp1 (b, a) retourne b Fin Exercice 2 Donnez dans le tableau de droite la trace du programme p2 evolution des valeurs des variables au fil du programme). Programme p2 entier i, n, u ebut n <- 4 u <- 0 i <- 0 TantQue (i != n) Faire u=2*u+3 i=i+1 FinTantQue afficher (u) Fin Parmi les propositions ci-dessous, cochez celles qui sont invariantes pour la boucle : u =2 * n +3 u =2 * i +3 u =3 * 2 n - 3 u =3 * 2 i - 3 On suppose qu’on change la valeur initiale de n et qu’on initialise n avec une autre valeur positive ou nulle. D´ eduire de l’invariant de boucle la valeur affich´ ee par le programme en fonction de n. eponse : i n u

description

b

Transcript of cc1

Page 1: cc1

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: cc1

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.