31.07.2015 Views

Examen de Juin 2010

Examen de Juin 2010

Examen de Juin 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

HELMo <strong>Examen</strong> <strong>de</strong> Cobol <strong>Juin</strong> <strong>2010</strong>Nom : Prénom :Informations pratiquesCet examen s’effectue à cours ouvert. Cela signifie que vous pouvez disposer <strong>de</strong> tous vosdocuments personnels. Aucun échange n’est autorisé durant l’épreuve. Aucunportable ni compilateur n’est autorisé durant l’examen.Il vous est également <strong>de</strong>mandé <strong>de</strong> répondre sur le questionnaire que vous remettrez auterme <strong>de</strong> l’épreuve. Aucune feuille ne sera ajoutée à ce questionnaire. Si nécessaire, utilisezle verso en mentionnant clairement où se trouve la suite <strong>de</strong> votre réponse.Commencez par indiquer votre nom et votre prénom en haut <strong>de</strong> chaque page.Partie langage et compilation (/3)Question 1. Écrivez en CaML une fonction permettant d’inverser tous les éléments d’untableau, quel qu’en soit son type. Ai<strong>de</strong>z-vous d’une fonction utilitaire si nécessaire.Question 2. Comment construire un compilateur pour le nouveau langage D s’exécutant surune machine N (P=Pascal ; M = machine M sur laquelle on peut exécuter un programme) :en disposant d’une machine M et <strong>de</strong>s traducteurs / compilateurs suivants :L. Swinnen 1


HELMo <strong>Examen</strong> <strong>de</strong> Cobol <strong>Juin</strong> <strong>2010</strong>Nom : Prénom :Partie langage Cobol (/17)Voici l’extrait d’un schéma entité-association :ArticleNum. ArticleTitreAuteurs[1-5]NomPrénomMailTexteid: Num. Article0-N Concerne1-1CommentaireNum. CommentaireAuteurNomPrénomMailTexteid: Num. CommentaireQuestion 3. On vous <strong>de</strong>man<strong>de</strong> <strong>de</strong> traduire ce schéma entité-association en fichier(s) Cobol.Présicez l’organisation du (ou <strong>de</strong>s) fichier(s). Il faut également préciser que <strong>de</strong>s fichiersdifférents peuvent avoir <strong>de</strong>s organisations différentes. Détaillez ensuite la structure <strong>de</strong>senregistrements. N’oubliez pas les clés i<strong>de</strong>ntifiantes.FILE-CONTROL.FILE SECTION.L. Swinnen 2


HELMo <strong>Examen</strong> <strong>de</strong> Cobol <strong>Juin</strong> <strong>2010</strong>Nom : Prénom :SituationDans le but d’éditer les factures concernant les ventes en ligne <strong>de</strong> contenu multimédia,l’entreprise SwilaMédia dispose <strong>de</strong>s informations suivantes :• Le fichier décrivant les contenus multimédias indiquant, pour chaque contenu, soni<strong>de</strong>ntifiant, sa <strong>de</strong>scription, son prix, l’i<strong>de</strong>ntifiant <strong>de</strong> la catégorie auquel il appartient. Ils’agit d’un fichier séquentiel in<strong>de</strong>xé pour lequel un module d’accèsstandard (SPMUL) existe déjà.• Le fichier <strong>de</strong>s catégories <strong>de</strong> contenu mentionnant pour chaque catégorie, soni<strong>de</strong>ntifiant, son intitulé et l’âge minimal requis. Il s’agit d’un fichier relatif pourlequel un module d’accès standard (SPCAT) existe déjà.• Le fichier <strong>de</strong>s clients mentionnant l’ensemble <strong>de</strong>s clients ayant commandé uncontenu multimédia. Il contient l’i<strong>de</strong>ntifiant, les noms et prénoms, l’adresse, lalocalité et la date <strong>de</strong> naissance <strong>de</strong> chaque client. Il s’agit d’un fichier séquentielin<strong>de</strong>xé pour lequel un module d’accès standard (SPCLI) existe déjà.• Le fichier mensuel <strong>de</strong> facturation qui contient, pour un client et une date donnée,l’ensemble <strong>de</strong>s contenus téléchargés par ce client. Pour plus <strong>de</strong> facilité, le fichier esttrié suivant le numéro <strong>de</strong> client et la date <strong>de</strong> comman<strong>de</strong>.On vous <strong>de</strong>man<strong>de</strong> <strong>de</strong> créer un programme Cobol permettant <strong>de</strong> calculer les totaux à facturerpour tous les clients et contenus présent dans le fichier <strong>de</strong> facturation en produisant lerapport imprimé conforme au schéma suivant :FACTURECocaAv. du Luxembourg 55LIEGEMr.>>> Achat du 03/05/10Description Categorie Prix H.T. T.V.A.Friends, Saison 1 Tout public 8.00 1.68Friends, Saison 2 Tout public 8.00 1.68How I meet your mother 3.01 Tout public 0.99 0.20Total H. T. pour cet achat : 16.99TVA pour cet achat : 3.56>>> Achat du 10/05/10Description Categorie Prix H.T. T.V.A.(...) (...) (...) (...)Total H. T. pour cet achat : 28.99TVA pour cet achat : 6.08Total general (H.T) : 45.98TVA totale : 9.64Total a payer (TVAC) 55.62FACTURECroissantQuai St-Léonard 23LIEGE(...)Mr.Veillez bien à reproduire le rapport imprimé en tenant compte <strong>de</strong>s formats <strong>de</strong>s différentesdonnées. Veillez à utiliser toutes les options nécessaires à l’intérieur <strong>de</strong> la REPORT SECTION.L. Swinnen 3


HELMo <strong>Examen</strong> <strong>de</strong> Cobol <strong>Juin</strong> <strong>2010</strong>Nom : Prénom :IDENTIFICATION DIVISION.PROGRAM-ID. EX0610.ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT fi-fac ASSIGN TO "factures"FILE STATUS IS st-fac.SELECT fi-rap ASSIGN TO "rap-1.txt".DATA DIVISION.FILE SECTION.FD fi-fac.01 facture.02 num-client PIC X(5).02 date-facture PIC X(6).02 tab-contenu OCCURS 50.03 id-contenu PIC X(5).FD fi-rap REPORT IS rap-1.WORKING-STORAGE SECTION. Autres données à définir :01 un-client.02 num-client PIC X(5).02 nom PIC X(30).02 prenom PIC X(30).02 adresse PIC X(100).02 localite PIC X(40).02 date-naissance PIC 9(6).01 un-contenu.02 id-contenu PIC X(5).02 <strong>de</strong>scription PIC X(100).02 prix PIC 9999V99.02 id-cat PIC 99.01 une-categorie.02 id-cat PIC 99.02 intitule PIC X(80).02 age-minimal PIC 999.77 statut PIC XX.77 st-fac PIC XX.77 co<strong>de</strong>-op PIC 9.Question 4. Écrivez le co<strong>de</strong> <strong>de</strong> la REPORT SECTION <strong>de</strong> sorte que celle-ci soit conforme auschéma présenté ci-avant. Respectez le format <strong>de</strong>s données !REPORT SECTION.RDPAGE LIMIT 66 LINEHEADING 5 FIRST DETAIL 7 LAST DETAIL 35 FOOTING 45.L. Swinnen 4


HELMo <strong>Examen</strong> <strong>de</strong> Cobol <strong>Juin</strong> <strong>2010</strong>Nom : Prénom :Question 5. Écrivez le co<strong>de</strong> du programme Cobol. Il n’est pas nécessaire <strong>de</strong> vérifier lesaccès aux fichiers. Le fichier séquentiel <strong>de</strong> facturation est trié suivant le numéro <strong>de</strong> client etla date <strong>de</strong> comman<strong>de</strong>.PROCEDURE DIVISION.En-avant.L. Swinnen 5


HELMo <strong>Examen</strong> <strong>de</strong> Cobol <strong>Juin</strong> <strong>2010</strong>Nom : Prénom :Ouverture.MOVE 1 TO co<strong>de</strong>-opCALL "SPCLI" USING co<strong>de</strong>-op un-client statutCALL "SPMUL" USING co<strong>de</strong>-op un-contenu statutCALL "SPCAT" USING co<strong>de</strong>-op une-categorie statut.Lecture-client.MOVE 2 TO co<strong>de</strong>-opCALL "SPCLI" USING co<strong>de</strong>-op un-client statutMOVE 3 TO co<strong>de</strong>-opCALL "SPCLI" USING co<strong>de</strong>-op un-client statut.Lecture-contenu.MOVE 2 TO co<strong>de</strong>-opCALL "SPMUL" USING co<strong>de</strong>-op un-contenu statutMOVE 3 TO co<strong>de</strong>-opCALL "SPMUL" USING co<strong>de</strong>-op un-contenu statut.Lecture-categorie.MOVE 2 TO co<strong>de</strong>-opCALL "SPCAT" USING co<strong>de</strong>-op une-categorie statutMOVE 3 TO co<strong>de</strong>-opCALL "SPCAT" USING co<strong>de</strong>-op une-categorie statut.Fermeture.MOVE 9 TO co<strong>de</strong>-opCALL "SPCLI" USING co<strong>de</strong>-op un-client statutCALL "SPMUL" USING co<strong>de</strong>-op un-contenu statutCALL "SPCAT" USING co<strong>de</strong>-op une-categorie statut.END PROGRAM EX0610.L. Swinnen 6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!