Examen 2 Corrigé
Examen 2 Corrigé
Examen 2 Corrigé
resultat es·t VRAI si les deux op.erandes a et b ont des valeurs distinctes
Exercice 02: Affichage al'ecran
Instructions
. Affichage al'ccran
I 12
2 la valeur de X est :
3 La" valeur de T[2] est: 8 .
J
1. · La fonc~ion Signe ..
' Fonction Signe
Fonction Signe(x : reel) : reel
Debut
SI x > 0 alors
Retourner 1
SinonSI x = 0 alors
Retourner0
Sinon
Retourner -1
FinSI .
FinFonct ·
2. Procedure qui appelle la fonction Signe
1
Procedure qui appelle la fonction Signe
Procedure Appel_SigneO
Variable y : reel
Debut
Ecrire("Donner la valeur de y ; ")
Lire(y)
Ecrire( 11 Signe( 11 , y, 11 ) = 11 , Signe(y))
FinProc
I i, j, k : entiers
Debut
// Initialisation de -variable k a1
k f-:- 1
// Creation du tableau~t-. -
• - !i;_.' ·· ~ -
Exercice 06 : PPCM
Le PPCM de deux entiers strictement ·positifs est defini comme etant
l'entier positif le plus petit qui soit un multiple de ces deux entiers. Par
exemple, PPCM(l5, 20) = 60, PPCM(l4, 14) = 14, PPCM(2, 4) = 4,
PPCM(5, 9) = 45 etc .. Si l'un des deux entiers vaut 0, le PPCM est 0.
Solution 1:
Pour rechercher le PPCM de deux entiers nl et n2 strictement positifs, on
suit les etapes suivantes :
1. soit p le maximum de nl et n2;
2. verifier sip est divis"ible par nl et i:i2 ;
3. si oui, PPCM =pet l'algorithme est termine;
4. sinon, incrementer p et reprendre al'etape 2.
Fonction PPCM :
fonction PPCM(nl : entier, n2: e.ntier) : entier
Variables p: en tier . ..
Trouve: logique
·.'
Debut /
Si ml < n2 alors ,. ...···J'
_.,,.,"
D "'-D2
.'
Sinon
p .- nl
FinSi . ,
Trouv;-·~ faux ..
TantQue Trouve = faux faire
·. Si (p mod n1 = 0) et (p n1od n2 ::= 0) alors
.l Trou ve +- vrai · ~: · ·
FinSi
Si Trouve = faux alors
p~p+ l
FinSi
FinTantQue
Retou~erp
FinFonct·,
Algorithme qui integre la fonctidn .PPCM :
Algorithme calcul_ppcm
Variables ml, m2: entiers
// Declaration de la fonction PPCM ~-
fonction PPCM(n 1 : en tier, n2: ef\tier) : entier
Variables p: entier
Ttouve: logique
Debut
Si ml< n2 alors
p +-n2
Sinon
p +- nl
FinSi
Trouve .._ faux
T~ntQue Trouve = faux faire
Si (p mod nI = 0) et (p mod n2 = 0) alors
-Trouve +- vrai , .
FinSi .
Si Trouve = faux alors
p .-p + 1
FinSi
F1nTantQue
Retou~erp
FinFonct
// Partie principale
Debut
Ecrire("Donnez un_ en tier strictement positifml i:-
Lire(m 1) ·
Ecrire("Donnez·un entier strictement positifm2 : i)
Lire(m2) · ·
Ecrire(" ~e PPCM de· , ml, et , m2, 11 est:: 111.,.ffCM(ml, m2)
11 11 11
Fin. · . ,. \ ·
Solution 2:
Pour chercher un multiple commun de n 1 et rn2 an~ ti 1 > n2, on cherche
parmi les_ mu~tiples du pius grand. Le premier~~ qui est divisible par ·
· n2 est le PPCM de nl et ni · ·
fonction PPCM(n 1 : entier, n2: entier): entier
Variables p : entier
Debut
p ._nl
TantQue p mod n2 if:. 0 faire // n2 ne devisse ·pas P
p -~ p + nl -
FinTanQue
Retournerp
FinFonct
~),o = (11011111)2
. entier long est code sur 32 bits, pour cette raiso~ ·on va utiiiser un
w;teur de 32 elements pour stocker Ies restes successifs des divisons de
~ti~pu2. . . •
~orithme:
!Orithme conversion_en..:.base_2
riables : n, i, j : en tier
·code: tableau[O .. 31] d'entiers
but.
:crire("Donner un entier naturel : 11 )
~ire(n)
?our i .- 0 jusqu'a 31 faire
Code[i] .- n Mod 2
n ·+-
. nDiv2
Sin= 0 alors
j~i
II Sortir de Ia boucle Pour
Quitter Pour •··
FinSI
..
c'inPour
.. .
/_Alfichage du code binaire de l'entier n
>o~r i .- j jusqu'a Opas -1 faire
Ecrire(<;p~e(i)) . · .·· .' . .. .·•
c'inPour · .· · ·
' ,. '"