TP PLSQL – Exercices Résolus et
Expliqués (Version Design)
Exercice 1 – Pair / Impair
Un nombre pair peut se partager en deux sans reste, comme deux chaussures. Un impair ne peut
pas.
Création de la table :
CREATE TABLE pair_impair ( num NUMBER, reponse VARCHAR2(10) );
Bloc PL/SQL :
BEGIN FOR i IN 1..100 LOOP INSERT INTO pair_impair VALUES ( i, CASE WHEN
MOD(i, 2) = 0 THEN 'pair' ELSE 'impair' END ); END LOOP; END; /
Exercice 2 – Nombre Premier
Un nombre premier n’aime être divisé que par 1 et par lui-même.
Création de la table :
CREATE TABLE premier ( num NUMBER, reponse VARCHAR2(4) );
Bloc PL/SQL :
DECLARE estPremier BOOLEAN; BEGIN FOR i IN 1..100 LOOP estPremier := TRUE;
IF i < 2 THEN estPremier := FALSE; ELSE FOR j IN 2..i-1 LOOP IF MOD(i, j) =
0 THEN estPremier := FALSE; EXIT; END IF; END LOOP; END IF; INSERT INTO
premier VALUES( i, CASE WHEN estPremier THEN 'oui' ELSE 'non' END ); END
LOOP; END; /
Exercice 3 – Calculatrice
L’utilisateur donne deux nombres et un signe (+ - * /). On calcule puis on enregistre.
Création de la table :
CREATE TABLE calcul ( num1 NUMBER, num2 NUMBER, op CHAR(1) );
Bloc PL/SQL :
DECLARE a NUMBER; b NUMBER; o CHAR(1); resultat NUMBER; BEGIN a := &num1; b
:= &num2; o := '&op;'; IF o = '+' THEN resultat := a + b; ELSIF o = '-'
THEN resultat := a - b; ELSIF o = '*' THEN resultat := a * b; ELSIF o = '/'
THEN resultat := a / b; END IF; INSERT INTO calcul VALUES (a, b, o); END; /
Exercice 4 – PGCD
Le PGCD, c’est le plus grand nombre que deux personnes peuvent partager exactement.
Création de la table :
CREATE TABLE pgcd ( num1 NUMBER, num2 NUMBER, num3 NUMBER );
Bloc PL/SQL :
DECLARE x NUMBER; y NUMBER; BEGIN FOR i IN 1..100 LOOP FOR j IN 1..100 LOOP
x := i; y := j; WHILE x != y LOOP IF x > y THEN x := x - y; ELSE y := y -
x; END IF; END LOOP; INSERT INTO pgcd VALUES (i, j, x); END LOOP; END LOOP;
END; /