From e34a515749e39d396aa8808f3ccb053529f76642 Mon Sep 17 00:00:00 2001 From: pascal Date: Mon, 1 Mar 2021 23:07:49 +0100 Subject: [PATCH] fbox --- EXOS/Exam2020.tex | 267 ++-------------------------------------------- 1 file changed, 9 insertions(+), 258 deletions(-) diff --git a/EXOS/Exam2020.tex b/EXOS/Exam2020.tex index a11a250..d7f6be1 100644 --- a/EXOS/Exam2020.tex +++ b/EXOS/Exam2020.tex @@ -390,7 +390,7 @@ Consignes : \item La partie SQL+ n’est pas demandée pour les exercices 2 et 3 \end{itemize} -\begin{exercice}[PLSQL] (30 points) +\begin{exercice}[MF1] (10 points) Donner le programme (partie SQL + et PL/SQL) permettant d’enregistrer un sport. @@ -406,260 +406,17 @@ Messages à prévoir : DROP TABLE tligne ; CREATE TABLE tligne (ligne varchar2(100)) ; -set echo off; set verify off; set feedback off; - -variable vidjoueur char(4) -prompt Entrer la reference du joueur : -accept vidjoueur - -DECLARE -dmaxpoint number; -dnbjoueur number; -didjoueur char(4); - -BEGIN -SELECT count(Nom) INTO dnbjoueur FROM JOUEUR WHERE id_joueur ='&vidjoueur'; - -if dnbjoueur != 0 then - -SELECT max(points) INTO dmaxpoint FROM JOUE -WHERE id_joueur ='&vidjoueur'; - -INSERT INTO tligne VALUES ('Max points de'||'&vidjoueur'||' : '||to_char(dmaxpoint)); -ELSE -INSERT INTO tligne VALUES('count detecte numero du joueur pas bon'); - -SELECT id_joueur INTO didjoueur FROM JOUEUR -WHERE id_joueur ='&vidjoueur'; -end if; - -EXCEPTION -when no_data_found then -INSERT INTO tligne VALUES('exception numero du joueur pas bon'); -end ; -. -/ - -SELECT * FROM tligne ; -set verify on; set feedback on; set echo on; \end{SaveVerbatim} %% \cache{%\begin{small} %% \BUseVerbatim{Maxpoints} %% % \end{small} %} - -%% \begin{center} -%% \begin{verbatim} -%% Nom Prenom Date de naissance Nom Equipe Actuelle -%% XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX -%% XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX -%% XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX -%% ... -%% \end{verbatim} -%% \end{center} - -\begin{SaveVerbatim}{Joueur} -DROP TABLE tligne ; -CREATE TABLE tligne (ligne varchar2(100)) ; - -set echo off; -set verify off; -set feedback off; - -DECLARE -dnom varchar2(20); -dprenom varchar2(20); -ddate date; -dnomequipe varchar2(20); - -CURSOR c IS SELECT j.Nom, j.Prenom, j.Date_de_naissance, e.Nom FROM JOUEUR j, APPARTIENT a, EQUIPE e -WHERE a.id_joueur = j.id_joueur and e.id_equipe = a.id_equipe and a.Date_fin is NULL -Order by Date_de_naissance; - -BEGIN -OPEN c; - -INSERT INTO tligne VALUES ('Nom Prenom Date de naissance Nom Equipe Actuelle'); -FETCH c INTO dnom, dprenom, ddate, dnomequipe; - -WHILE c%found -LOOP - INSERT INTO tligne VALUES (dnom||' '||dprenom||' '||to_char(ddate)||' '||dnomequipe); - FETCH c INTO dnom, dprenom, ddate, dnomequipe; -END LOOP; - -CLOSE C; -END; -. -/ - -SELECT * FROM tligne ; -set verify on; -set feedback on; -set echo on; -\end{SaveVerbatim} - -%% \cache{%\begin{small} -%% \BUseVerbatim{Joueur} -%% % \end{small} -%% } - -%% \item (20 points) Lister dans une table \code{TLIGNES} tous les -%% joueurs ayant particip\'e \`a un ALLSTAR de la conf\'erence Est et -%% ceux de la conf\'erence Ouest avec les informations suivantes : -%% \begin{center} -%% \begin{small} -%% \begin{verbatim} -%% ALLSTAR MATCH -%% EQUIPE de l'EST -%% Nom Prenom Poste Equipe Actuelle -%% XXXXXX XXXXXXX XXXXXX XXXXXXXX -%% XXXXXX XXXXXXX XXXXXX XXXXXXXX -%% EQUIPE de l'EST -%% Nom Prenom Poste Equipe Actuelle -%% XXXXXX XXXXXXX XXXXXX XXXXXXXX -%% XXXXXX XXXXXXX XXXXXX XXXXXXXX -%% \end{verbatim} -%% \end{small} -%% \end{center} - - -\begin{SaveVerbatim}{Allstar} -DECLARE -dnom varchar2(20); dprenom varchar2(20); -dposte char(2); dnomequipe varchar2(20); - -CURSOR Cest IS SELECT j.Nom, j.Prenom, j.Poste, e.Nom FROM JOUEUR j, -APPARTIENT a, EQUIPE e WHERE a.id_joueur = j.id_joueur and e.id_equipe -= a.id_equipe and e.conference='Est' and j.id_joueur in (SELECT -id_joueur FROM JOUE je, GAME g where g.Categorie='Allstar' and -g.id_game=je.id_game); - -CURSOR Couest IS SELECT j.Nom, j.Prenom, j.Poste, e.Nom FROM JOUEUR j, -APPARTIENT a, EQUIPE e WHERE a.id_joueur = j.id_joueur and e.id_equipe -= a.id_equipe and e.conference='Ouest' and j.id_joueur in (SELECT -id_joueur FROM JOUE je, GAME g where g.Categorie='Allstar' and -g.id_game=je.id_game); - -BEGIN -INSERT INTO tligne VALUES ('ALLSTAR GAME); -INSERT INTO tligne VALUES ('Conference Est'); -INSERT INTO tligne VALUES ('Nom Prenom Poste Nom Equipe Actuelle'); -OPEN Cest; -FETCH Cest INTO dnom, dprenom, dposte, dnomequipe; -WHILE Cest%found LOOP - INSERT INTO tligne VALUES (dnom||' '||dprenom||' '||dposte||' '||dnomequipe); - FETCH Cest INTO dnom, dprenom, dposte, dnomequipe; -END LOOP; -CLOSE Cest; -INSERT INTO tligne VALUES ('Conference Ouest'); -OPEN Couest; -INSERT INTO tligne VALUES ('Nom Prenom Poste Nom Equipe Actuelle'); -FETCH Couest INTO dnom, dprenom, dposte, dnomequipe; -WHILE Couest%found LOOP - INSERT INTO tligne VALUES (dnom||' '||dprenom||' '||dposte||' '||dnomequipe); - FETCH Couest INTO dnom, dprenom, dposte, dnomequipe; -END LOOP; -CLOSE Couest; -END; -. -/ -SELECT * FROM tligne ; -\end{SaveVerbatim} - -%% \cache{\begin{footnotesize} -%% \BUseVerbatim{Allstar} -%% \end{footnotesize} -%% } - - + \end{exercice} - -%% \begin{center} -%% \begin{tikzpicture}[every node/.style={inner sep=0,outer sep=0}] - -%% \node (a) at (5,-4) {\begin{varwidth}{1.5in} -%% \begin{tabular}{|l|} -%% \hline -%% \rowcolor{Gray}AFFECTATION\\ -%% \hline -%% \underline{id\_contrat}\\ -%% \#id\_personnel\\ -%% \#id\_patient\\ -%% Date\_debut\\ -%% Date\_fin\\ \hline -%% \end{tabular} -%% \end{varwidth} -%% }; - - -%% \node (f) at (0,0) {\begin{varwidth}{2.5in} -%% \begin{tabular}{|l|} -%% \hline -%% \rowcolor{Gray}FONCTION\\ -%% \hline -%% \underline{id\_fonction}\\ -%% Designation\\ -%% Salaire\\ -%% \hline -%% \end{tabular} -%% \end{varwidth} -%% }; - - -%% \node (p) at (5,0) {\begin{varwidth}{2.5in} -%% \begin{tabular}{|l|} -%% \hline -%% \rowcolor{Gray}PERSONNEL\\ -%% \hline -%% \underline{id\_personnel}\\ -%% \#id\_fonction\\ -%% \#id\_hopital\\ -%% Nom\\ -%% Prenom\\ -%% \hline -%% \end{tabular} -%% \end{varwidth} -%% }; - -%% \node[draw,rectangle] (pa) at (0,-4) {\begin{varwidth}{2in} -%% \begin{tabular}{l} -%% \rowcolor{Gray}PATIENT\\ -%% \hline -%% \underline{id\_patient}\\ -%% Nom\\ -%% Prenom\\ -%% Date\_naissance\\ -%% \end{tabular} -%% \end{varwidth}}; - - - -%% \node[draw,rectangle] (h) at (9,0) { -%% \begin{tabular}{|l|} -%% \hline -%% \rowcolor{Gray}HOPITAL\\ -%% \hline -%% \underline{id\_hopital}\\ -%% Nom\\ -%% Ville\\ -%% Date\_creation\\ -%% \hline -%% \end{tabular} -%% }; - -%% \draw[-latex] (p) -- (f); -%% \draw[-latex] (p) -- (h); -%% \draw[latex-] (p) -- (a); -%% \draw[latex-] (pa) -- (a); - -%% \end{tikzpicture} -%% \end{center} - -\begin{exercice}[PLSQL] (45 points) +\begin{exercice}[MF2] (15 points) Donner le programme permettant la suppression d’un joueur à condition qu’il n’ait pas fait de réservations pour aujourd’hui ou dans le futur. L’identifiant du joueur aura été précédemment lu dans la @@ -674,7 +431,7 @@ une exception utilisateur: \end{exercice} -\begin{exercice}[PLSQL] (45 points) +\begin{exercice}[MF3] (20 points) Donner le programme permettant d’afficher les réservations actuelles ou futures par créneau horaire pour un sport donné. On utilisera le nom du sport contenu dans la variable \code{vnomSport}. On affichera les @@ -695,20 +452,14 @@ Nombre de réservations total pour ce sport : nb \end{SaveVerbatim} % \cache{%\begin{small} - \BUseVerbatim{Affichage} - %\end{small} +\begin{center} + \fbox{ \BUseVerbatim{Affichage}} +\end{center} + +%\end{small} % } - \begin{SaveVerbatim}{Insertion} -TODO -\end{SaveVerbatim} - -%% \cache{%\begin{small} -%% \BUseVerbatim{Insertion} -%% % \end{small} -%% } - \end{exercice}