Base de la programmation devoir – CNED SIO

Base de la programmation devoir – CNED SIO

Bases de la programmation Devoirs Élisabeth Martins Da Silva Sommaire Conseils Devoir 1 .. ……. 3 Devoir 2… 2 S. v. p page Conseils généraux Présentation Ce fascicule de devoi « Bases de la programmation » référencé 2944. Il comporte deux devoirs d’évaluation. Ils sont à faire en respectant la chronologie suivante : devoir 1 à l’issue de la séquence 1 : ce devoir porte sur la programmation procédurale, les tableaux et les modules ; – devoir 2 à la fin du cours : ce devoir porte sur la programmation evenementielle et la programmation objet Ne vous précipitez pas sur ces devoirs sans avoir réalisé les xercices du cours.

Vous risqueriez de ne pas faire correctement le travail demandé et vous n’aurez pas une nouvelle occasion d’évaluer votre niveau. Ces devoirs revanche, la correction sera proposée en algo. 1 CNED bTSSIO-1 année 8 2944 DG WB OO 14 Gestion du temps Les devoirs sont prévus pour être réalisés en 2 heures. Calculez le temps que vous mettez sur chaque devoir. Cependant, ne vous arrêtez pas au bout de 2 heures : faites le devoir dans sa globalité même si vous mettez beaucoup plus de temps. Le temps est juste un indicateur qui

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
vous permettra de savoir si vous devez progresser sur ce point.

Essayez de faire ces devoirs sans document et sans aide extérieure : c’est le meilleur moyen de savoir où vous en êtes de la compréhension et l’assimilation du cours. Travail sur le corrigé Lorsque vous recevrez votre devoir corrigé, prenez le temps de lire tout ce que le professeur correcteur a écrit à votre attention. Reprenez ensuite vos réponses en les comparant avec le corrigé type envoyé par le Cned. Le corrigé contient des explications sur chaque exercice : lisez-les attentivement et ne vous contentez pas de regarder juste les algos. ?vitez d’aborder le second devoir sans avoir eu la correction du remier. Bon courage ! 2 CNED bTSSIO-1 20F 12 donnez les valeurs de a, b et c en fin de sequence : 3) 6-1 co Vous mettrez le détail des étapes dans un tableau, en montrant bien les lignes de code exécutées et l’évolution du contenu des trois variables. Exercice 2 (3 points) Les personnes qui ont commencé à fumer avant 14 ans ont 90 % de risques supplémentaires de développer une maladie mortelle avant 40 ans (cancer, infarctus) que les personnes n’ayant jamais fumé.

Ce risque passe à 80 % pour les personnes qui ont commencé entre 14 et 16 ans, puis à 70 % après 16 ans jusqu’à 20 ans, et nfin de 50 % après 20 ans. écrire en algo ou dans le langage de votre choix, le programme qui permet de saisir l’âge de la première cigarette et qui affiche le risque correspondant. Exercice 3 (3 points) 2 vecteurs de maximum IO cases ont été préalablement remplis de valeurs entières. nbl et nb2 sont aussi remplis.

Vous avez les déclarations suivantes (qu’il sera inutile de recopier dans votre programme) : v1 [1.. 101, v2[1 .. 10] : entier // les 2 vecteurs remplis nbl, nb2 : entier // le nombre de cases effectivement remplies respectivement dans les vecteurs v1 et v2 (donc, dans le vecteur v1, seules les nbl remières cases sont remplies, même principe pour le vecteur Écrire en algo ou dans le Ian a e de votre choix, la partie du proeramme qui permet d afficher le 3 2 éléments de l’autre vecteur et additionner le tout. CNED bases de la programmation — Devoir 1 Par exemple si on a les 2 vecteurs suivants : 4 8 v2 : 3 6 7 12 (nbl = 4) (nb2 = 2) schtroumpf- Le programme ne doit pas afficher le détail du calcul mais juste le résultat final (ici : 279). Exercice 4 (6 points) Vous avez à votre disposition les déclarations suivantes . s_personne : structure nom : chaîne 4 2 le même nom). ?crire en algo ou dans le langage de votre choix, la séquence qui affiche une seule fois chaque nom présent dans t_pers, suivi du nombre de personnes portant ce même nom. CNED bases de la programmation — Devoir 1 Exercice 5 (1 point) Voici un programme et la fonction appelée par ce programme : programme machin a, b, c : reel debut b 02 ca calcul (b, 3) a calcul (b, c) afficher a, b, c fonction calcul (E/S a: reel, E b: reel) : reel c : reel retourner (a + b + c) Donner l’état des variables a, b et c du programme machin en fin d’exécution de ce programme. N’essayez pas e donner le détail de la trace : avec ce type de paramètres c’est un peu complexe.

Donnez 2 entier et qui retourne vrai si le nombre est positif ou nul. 5 CNED bases de la programmation – Devoir 1 8 2944 DG WB 00 14 Devoir 2 A envoyer à la correction à la fin du cours Durée : 2 heures Le premier exercice porte sur la programmation événementielle (correspondant à la séquence 2 du cours) et le second exercice porte sur la programmation objet (correspondant à la séquence 3). Exercice 1 (10 points) Vous allez créer le jeu du Morpion en événementiel. Voici à quoi va ressembler rinterface. rm Morpion blJoueur cmdGo cmdJeu txtJeu (invisibles sur cette IHM car cachés derrières les cmdJeu) lblFin Explications complémentaires sur l’interface lblJoueur va contenir soit « 1 » soit « 2 » suivant si c’est au premier ou au deuxième joueur de jouer. lblFin recevra le message « Ga né l » si l’un des 2 joueurs gagne, ou « Perdu l » si on arrive à un 6 2 joue une fois et passe la main à l’autre joueur. Jouer signifie cliquer sur un des 9 boutons (ou plutôt sur un des boutons restant car une fois utilisés, les boutons disparaissent).

Le but du jeu est de remplir une ligne, une colonne ou une diagonale du même signe. Outils complémentaires Vous avez à votre disposition le module suivant, que vous n’avez donc pas à écrire mais que vous pouvez utiliser : fonction rechercheGagnant(position : entier) : booléen 6 CNED bases de la programmation – Devoir 2 Cette fonction reçoit un numéro entre 1 et 9 (correspondant au numéro du bouton sur lequel on vient de cliquer) et contrôle la ligne, la colonne et les diagonales correspondant ? ce numéro.

La fonction retourne vrai si elle a trouvé 3 signes identiques en ligne, colonne ou diagonale. Travail à réaliser Vous devez écrire les modules suivants (les modules peuvent être ?crits dans l’ordre que vous voulez, en algo ou dans le langage de votre choix mais à condition de n’utiliser que les outils donnés en annexe). a. procédure événementielle sur le chargement du formulaire (3 points) b. rocédure événementielle sur le clic du bouton Go (1 point) c. procédure non événementielle changeJoueur (1 point) d. procédure événementielle sur le clic d’un des 9 boutons du jeu (5 points) Vous trouverez en annexe 1 le détail du déroulement du programme et en annexe 2 le détail des types d’objets graphiques que vous avez à votre dis osition ainsi que les propriétés, méthodes et é vous avez 2 événements que vous avez le droit d’utiliser.

Annexe 1 Vous utiliserez 2 variables globales : NbClic : entier // compte le nbre de clic sur les boutons du jeu Gagne : booléen // permet de savoir si l’un des 2 joueurs a gagné Au moment du chargement du formulaire, il faut initialiser le label du joueur avec « 1 », vider le label qul affiche le message final, initialiser les 2 variables globales et, en ce qui concerne les boutons et zones de texte du jeu, il faut correctement initialiser toutes les propriétés de ces objets.

Attention, ne partez pas du principe qu’au chargement certains objets ont déjà une nitialisation (car il est possible que vous fassiez appel à ce module à un autre moment que le chargement). La procédure non événementielle changeJoueur ne reçoit pas de paramètre et permet juste d’inverser le contenu du label IblJoueur (sachant que ce label ne doit prendre que les valeurs « 1 » ou « 2 Lors du clic sur le bouton Go, il faut refaire les mêmes opérations que lors du chargement du formulaire.

Sur le clic d’un des 9 boutons du jeu, il faut faire disparaître le bouton pour faire apparaitre la zone de texte correspondante, en lui affectant le signe correspondant au joueur. Les variables globales doivent être aussi correctement mises à jour. Si, suite à ce clic, le joueur qui vient de jouer a gagné, il faudra afficher le message correspondant et désactiver les boutons qui restent présents (pour empêcher de continuer le jeu).

Si le joueur n’a pas gagné, il faut tout de même vérifier si c’est la fin, c’est-à-dire que tous les boutons ont été cliqués : dans ce cas B2 de même vérifier si c’est la fin, c’est-à-dire que tous les boutons ont été cliqués : dans ce cas il faut afficher le message correspondant. Dans le cas où le jeu continue, il aut penser à changer de joueur (donc à mettre à jour le label du joueur). 7 CNED bases de la programmation — Devoir 2 Annexe 2 Liste des contrôles Objet Type de contrôle Formulaire Bouton cmdJeu [1.. 9] txtJeu [1.. ] Texte Label petite bibliothèque qui désire changer le système informatique de la gestion de ses emprunts. Un précédent stagiaire a commencé à mettre au point les classes qui se trouvent en annexe 1. Vous disposez aussi des classes techniques de l’annexe 2. Attention les emprunts peuvent être « réservés » donc enregistrés à l’avance : un livre peut avoir un emprunt prévu ans 2 semaines et donc être actuellement disponible. Normalement, un emprunt ne peut pas dépasser 7 Jours. Vous allez écrire plusieurs modules pour tester les classes mises ? votre disposition.

Attention, a vous de deviner, à chaque fois, si le module à écrire est une procédure ou une fonction. Cependant vous pouvez écrire ces modules en algo ou dans le langage de votre choix. Mais quelle que soit votre décision, vous devez utiliser uniquement les classes données en annexe. a. Écrire le module qui reçoit en paramètre une collection d’objets de type Livre et un titre de livre. Ce module oit ajouter un nouveau livre dans la collection, à partir du titre passé en paramètre (1 point). b. ?crire un module qui reçoit en paramètre une collection d’objets de type Livre et qui affiche la liste des titres des livres qui ne sont actuellement pas empruntés (2 points). c. Écrire le module qui reçoit en paramètre un objet de type livre ou de type LivreEnVente et qui ajoute à ce livre un emprunt à la date du jour. Si l’ajout s’est bien passé, le module doit retourner vrai (2 points). d. Écrire le module qui reçoit en paramètre une collection d’objets de type Livre et un objet de type Date. Ce module doit afficher tous 0 2