Université de Nice-Sophia Antipolis POLYTECH
PeiP2 2018–2019
Examen de Algorithmique et Struct. de Données
Durée : 0h30 Aucun document autorisé
Mobiles interdits Nom : Prénom :
La fonction suivante calcule le pgcd de deux entiers naturels selon l’algo- rithme proposé parEuclide, appelé aussi algorithme par divisions successives.
Sa version itérative est la suivante :
f o n c t i o n pgcd (données a , b : naturel ) : naturel v a r i a b l e reste type naturel
tantque b6=0 f a i r e reste ← a modulo b a ← b
b ← reste f i n t a n t q u e rendre a f i n f o n c { pgcd }
I1. Écrivez de façon algorithmique sa version récursive.
f o n c t i o n pgcd (données a , b : naturel ) : naturel s i b =0 a l o r s
rendre a s i n o n
{ selon l ’ algo itératif a = b et b = a modulo b } rendre pgcd (b , amod b)
f i n s i f i n f o n c { pgcd }
. . . . I2. Écrivez enJavaune fonctionmainqui déclare et crée un pile d’entiersp, qui empile successivement les entiers4,−19et100, puis dépile la pilepet affiche le sommet de la pile.
import java . util . Stack ; p u b l i c c l a s s TestPile {
p u b l i c s t a t i c vo id main ( String [] args ) { Stack < Integer > p = new Stack < Integer >();
p. push (4);
p. push ( -19);
p. push (100);
1
p. pop ();
System . out . println (p. peek ());
} }
. . . . I 3. Quelle est la valeur entière affichée ?
-19
. . . .
2