1 Grad Info Soir Langage C - Examen Juin 2007



Documents pareils
2 Grad Info Soir Langage C++ Juin Projet BANQUE

Projet Matlab : un logiciel de cryptage

Généralités sur le Langage Java et éléments syntaxiques.

1. Utilisation du logiciel Keepass

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Service de certificat

KeePass - Mise en œuvre et utilisation

Septembre 2012 Document rédigé avec epsilonwriter

ASSOCIATION CANADIENNE DES PAIEMENTS CANADIAN PAYMENTS ASSOCIATION NORME 012 NORME DE SÉCURITÉ DES IMAGES

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

SAUVEGARDER SES DONNEES PERSONNELLES

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Utilisation de l'outil «Open Office TEXTE»

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

Sage CRM. 7.2 Guide de Portail Client

Manuel d'utilisation d'apimail V3

J ai chargé l ensemble des données d archivage Outlook (.pst) nécessaire 0. Je sais ou/comment je peux commander des logiciels en option

OESD Utilitaire de décryptage

Acer edatasecurity Management

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

PROJET ALGORITHMIQUE ET PROGRAMMATION II

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Utilisez Toucan portable pour vos sauvegardes

AxCrypt pour Windows

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Rapidolect Les Productions de la Columelle ( ) Page 1

GESTION DES MENUS. Un menu est un ensemble de liens permettant la navigation dans le site.

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Télécom Nancy Année

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Tablette Pegasus PC Notes. Code : Conrad sur INTERNET Version 02/ Conditions du système.

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

GUIDE D UTILISATION. Fonctionnement global du service sur l'interface Senior & Aidant

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market

ApiCrypt - Réception des résultats de biologie

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Manuel du composant CKForms Version 1.3.2

Utilisation de GLPI. 1.Page d'accueil. Introduction

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Sauvegarder automatiquement ses documents

PG208, Projet n 3 : Serveur HTTP évolué

Mise à jour Bêta Recrutement février 2014 Mise à jour de la version bêta St. Gallen

Le meilleur de l'open source dans votre cyber cafe

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

OUTIL DE CRYPTAGE ET DE COMPRESSION

Utilisation du logiciel GALAAD

ADDENDA AU CONTRAT BLACKBERRY SOLUTION DE LICENCE POUR WATCHDOX CLOUD DE BLACKBERRY («le ADDENDA»)

Storebox User Guide. Swisscom (Suisse) SA

Guide de configuration de SQL Server pour BusinessObjects Planning

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

La gestion des boîtes aux lettres partagées

Guide informatique AUDIT EVALUATION DE LA PRATIQUE DE L ANTIBIOPROPHYLAXIE EN MATERNITE

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Poker. A rendre pour le 25 avril

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Résolution de problèmes à distance

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

inviu routes Installation et création d'un ENAiKOON ID

Vous incarnez un surdoué en informatique qui utilise son ordinateur afin de pirater des comptes bancaires un peu partout dans le monde et s en mettre

LOGICIEL ALARM MONITORING

Tutorial et Guide TeamViewer

FEN FICHE EMPLOIS NUISANCES

GUIDE D UTILISATION. Informations importantes Toshiba FOLIO 100 Conseils pour une première utilisation, configuration et principaux usages

Serveur de travail collaboratif Michaël Hoste -

Maitriser Cegid Business En situation de formation

MÉDICLICK! STUDIO 3 DOCUMENT CENTER : MAILCLICK! SOMMAIRE

Guide rapide IDEP. Helpdesk

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Encryptions, compression et partitionnement des données

User Manual Version 3.6 Manuel de l Utilisateur Version

Cliquez sur le site que vous souhaitez consulter, il s affichera directement dans le navigateur.

Cyberclasse L'interface web pas à pas

Introduction à MATLAB R

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Documentation Cobian

Naviguer à bon compte avec sa tablette ou son smartphone

INSTALLATION DE CEGID BUSINESS VERSION 2008 Edition 4 (CD-Rom du 16/07/2009) SUR UN POSTE AUTONOME SOMMAIRE

[ Sécurisation des canaux de communication

Utilisation du visualiseur Avermedia

MEDIAplus elearning. version 6.6

Prêt pour un tour sur les possibilités de Gestomed?

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

BAMOSONIC IT. - Mesure de niveau -

Guide d utilisation de fonctionnalités avancées de Beyond 20/20 (application à des données départementales issues de Sit@del2)

OpenOffice Base Gestionnaire de Base de Données

Dossier projet isn 2015 par Victor Gregoire

Carte de référence rapide

Chameleon Mode d emploi

et Groupe Eyrolles, 2006, ISBN :

CATALOGUE DES FORMATIONS

Windows Server Chapitre 4 : Active Directory Gestion des utilisateurs, des ordinateurs et des groupes

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Diagramme de classes

Mesurer les performances (CPU) sous Linux

Situation présente et devis technique

Transcription:

1 Grad Info Soir Langage C - Examen Juin 2007 1. Explications L'examen comprend un projet (à choisir parmi les deux projets décrits ci-dessous) à réaliser à domicile et à documenter : - structure des données, - les routines dont dispose chaque structure. - organisation du programme par un schéma bloc - listing de l'application Le dossier doit être rendu une semaine avant le jour de l'examen (début juin). L'examen proprement dit est la présentation orale du programme, sa démonstration et l'explication de son fonctionnement. 2. Les incontournables L'accent est mis sur un bon découpage du programme en structures, fonctions et fichiers L'utilisation de structures est obligatoire. L'utilisation de la compilation séparée est obligatoire : un fichier.c et un fichier.h par structure réunis à l'aide d'un fichier projet. Tous les tableaux, vecteurs, listes doivent utiliser l'allocation dynamique (malloc, free) sauf dans le cas de tableaux dont le nombre d'éléments est connu est constant par définition (p.ex.: la liste des touches acceptées dans un menu). Le projet doit contenir et utiliser au moins à un endroit une pile pour stocker les structures (p.ex. les lignes des menus) Le programme doit permettre la sauvegarde et la reprise de données dans un fichier. Le programme doit permettre une recherche sur base d'un critère quelconque (par nom, etc.) 3. Projet Encryption 3.1. Enoncé On demande de réaliser un programme qui permet de crypter n'importe quel fichier à l'aide d'une clé de cryptage. Le procédé utilisé est un XOR entre les bytes du fichier et les bytes de la clé de cryptage. La même routine est utilisée pour le cryptage et le décryptage. Les fichiers cryptés recoivent un nom aléatoire (de longueur constante) et une extension standard (p.ex..cry). Tous les fichiers sont stockés dans un répertoire commun défini par l'utilisateur. 1

Le programe conserve les caractéristiques de tous les fichiers cryptés : - chemin original, - nom original, - extension original, - nom après cryptage (clé identifiante) - clé de cryptage - date et heure Ces informations sont elles-mêmes cryptées et conservées dans une base de données du programme (un fichier) toutefois, la clé de cryptage employée à ce niveau peut être codée "en dur" dans l'exécutable. 3.2. Fonctionnement On propose ci-dessous une structure de menu et de fonctions. Il est permis de s'en écarter ou de réorganiser les options l'idée est de présenter les fonctions de création, modification, recherche et suppression pour chaque item. Le menu principal propose à l'utilisateur - le cryptage d'un fichier - le décryptage d'un fichier sauvé - suppression d'un fichier crypté - les options - quitter Le menu de cryptage permet - saisie du chemin+nom du fichier - introdution de la clé de cryptage - valider (et crypter) ou abandonner Le menu de decryptage permet - affichage de la liste des fichiers cryptés - choix du fichier à décrypter - recherche par nom ou extension - introdution de la clé de cryptage - valider (et décrypter) ou abandonner Le menu des options permet - défintion du répertoire par défaut, - etc. 4. Projet JEU 4.1. Enoncé On demande de réaliser un programme qui permet de définir des personnages destinés à un jeu. 2

Le programme permet à un nombre quelconque de joueurs de définir ses personnages. Chaque joueur peut créer un maximum de P personnages (option) dispose d'un capital C de points. Chaque joueur est caractérisé par - un code - un pseudo Chaque personnage est caractérisé par - son nom - le code du joueur auquel il appartient - sa force - son agilité - son intelligence - son expérience - sa santé Tout nouveau personnage reçoit 100 points de santé et 0 point d'expérience. Le joueur attribue des points de force, d'agilité et d'intelligence à ses personnages en puisant dans le capital dont il dispose avec un maximum de 100 points par qualité. Les joueurs ont la possibilité de sauver la définition des personnages et d'y revenir par la suite. L'implémentation du jeu proprement dit (interactions entre personnages) n'est pas obligatoire. 4.2. Fonctionnement On propose ci-dessous une structure de menu et de fonctions. Il est permis de s'en écarter ou de réorganiser les options l'idée est de présenter les fonctions de création, modification, recherche et suppression pour chaque item. Le menu principal propose à l'utilisateur - la gestion des joueurs - la gestion des personnages - les options - jouer (pas obligatoire) - quitter Le menu de gestion d'un joueur permet - création d'un joueur - recherche et sélection d'un joueur - modification du joueur sélectionné - destruction du joueur sélectionné - retour au menu précédent Le menu de gestion des personnages - recherche et sélection d'un joueur - création d'un personnage 3

- recherche et sélection d'un personnage - modification du personnage sélectionné - destruction du personnage sélectionné - retour au menu précédent Le menu des options permet - défintion du répertoire par défaut, - définition du capital de points par défaut - définition du nombre de personnage maximum - etc. Pour ceux qui vourdraient aller plus loin Le menu jouer propose - sélection du joueur 1 - sélection du joueur 2 - jouer un tour Lors d'un tour, chaque joueur sélectionne un de ses personnages. caractéristiques des deux personnages sont transimises à une routine qui calcule Les - la diminution de points de vie en fonction des différences de force, d'agilité, d'expérience, etc des personnages + un élément aléatoire. On ne gagne jamais des points de vie - l'augmentation des point d'expérience selon le même principe. On ne perd jamais des points d'expérience. - etc Les modifications sont sauvées dans le fichier des personnages. 5. Conseils pour la réalisation La réalisation des projets est moins compliquée qu'il n'y paraît si on tient compte du fait que le projet est structuré verticalement : Menu Entité (structure) Fichier En d'autres mots, il "suffit" de résoudre séparément la gestion des menus d'un côté, celle des entités de l'autre et celle des fichiers d'un troisième. Il est conseillé de commencer par l'implémentation des "fiches" en simplifiant le problème au maximum - définir la structure avec ses fonctions habituelles : - tester chacune de ces fonctions dans un programme principal élémentaire, - ajouter des fonctions liées au fichier telles que sauvegarde, reprise, recherche(s) - définir les menus Un menu n'est qu'une pile de strings. En plus des fonctions habituelles, il lui faut (entre autres) une fonction de chargement à partir d'un fichier, une fonction d'affichage et une fonction de choix. - tester le menu seul, - interfacer le menu avec la structure dont il assure la gestion. - enfin, hiérarchiser les menus. 4

6. Pour terminer La discussion entre élèves est encouragée mais chaque élève doit rendre un projet personnel (ce qui se reconnaît immédiatement au style de programmation) et le connaître sur le bout des doigts (ce qui se voit immédiatement par les explications sur la résolution de certains problèmes). La résolution du problème peut être implémentée de différentes manières, chacun peut choisir sa solution. Mieux vaut un projet dans lequel on intégre proprement tous les "incontournables" dans un nombre limité de fonctions qu'un foutoir dans lequel on fait tout n'importe comment. Ceci dit, seul un projet complet et correct mérite le maximum de points. Bon courage! 5