Série exercice Cobol 10-11
Transcription
Série exercice Cobol 10-11
Département Informatique Module Cobol S2 Département Informatique Module Cobol S2 Exercice 6 : Location d’un véhicule Deux tarifs possibles : Tarif diesel : forfait de 50 € par jour + 0,1€ par km Tarif essence : forfait de 40 € par jour +0,15 € L’utilisateur saisit à l’écran : Le nombre de kilomètres à parcourir La durée souhaitée de location en nombre de jours Le programme calcule et affiche les montants pour les 2 types de carburant et retourne l’un des deux messages : « Choisir de préférence l’essence » ou « Choisir de préférence le diesel » SERIE D’EXERCICES COBOL Concepts de base Exercice 1 : Écrire un programme permettant de calculer la somme et la moyenne de 2 nombres entiers Exercice 2 : Écrire le programme cobol permettant de calculer le périmètre et la circonférence d’un cercle de rayon R donné en entrée. Exercice 3 : Ecrire le programme permettant de calculer l’hypoténuse d’un triangle rectangle à partir des longueurs des 2 autres côtés. Exercice 4 : On souhaite calculer la décomposition d’une somme en billet de 200, 100, 50, 20 et 10 euros Somme et moyenne er Entrer le 1 nombre : Entrer le 2eme nombre : La somme est : La moyenne est : Exercice 7 : MJC On souhaite calculer l’âge d’un nouvel adhérant à une association à partir de sa date de naissance. La maquette est la suivante : Cercle Rayon du cercle : Périmètre : Surface : INSCRIPTION MCJ Date NOM : N° INSEE Date de naissance : Discipline : Hypoténuse d’un triangle rectangle Entrer la longueur du coté 1 : Entrer la longueur du coté 2 : L’hypoténuse est égale à : Age : Consignes : Vérifier la cohérence entre la date de naissance et le n° INSEE. Vérifier que les noms et prénoms sont alphabétiques. Vérifier que le n° INSEE.et la date de naissance sont numériques Afficher un message en bas de l’écran quand l’adhérant n’a pas 18 ans. Décomposition d’une somme d’argent Saisir le montant de la somme : Résultat : Somme=A *200+B*100+C*50+D*20+E*10+F Remarque : Les caractères accentués : ‘R’ & x’82’ & ‘sultat de l’’ ‘ & x’82’ & ‘quation : ‘ dans le code cobol correspond à l’affichage ‘Résultat de l’équation : ‘ Où ‘é’ est représenté en hexadécimal, et le caractère apostrophe(‘) doit être doublé pour être reconnu, distinct de son rôle de parenthésage d’un littéral alphanumérique (voir table ACSII en annexes). Itérations Exercice 8 : Afficher les N premiers factoriels. N saisi au clavier. Exercice 9 : Écrire un programme cobol permettant d’afficher les N premiers entiers et leurs carrés. N saisi au clavier. Version 1 : afficher le nombre et son carré en face Version 2 : gérer l’affichage sur 2 colonnes (quand N est grand) Structures et instructions conditionnelles Exercice 5 : Résolution d’une équation du second degré de la forme : ax2+bx+c=0 Prénom : Résolution d’une équation du second degré Coefficients : a= b= c= Exercice 10 : Calculer le sinus de x exprimé en radian (0<= x <= 2 π) à l’aide de la série entière suivante en négligeant les termes inférieurs en valeur absolue à 10-5. Solution Sin(x)= x-x3/3 ! + x5/5 !-x7/7 !... Deux racines réelles x1 = x2 = Ou Une racine double xd = rappel : sin (pi/2)=sin (90°)=1 sin (pi/6)=sin (30°)=1/2 sin(pi/4))~0,707106 Chaînes de caractères Exercice 11 : Écrire le programme permettant d’inverser les caractères d’un mot saisi au clavier. Un mot est suite de caractères alphabétiques ou numériques. Ou Pas de racine réelle 1 2 Département Informatique Module Cobol S2 Département Informatique Module Cobol S2 Exercice 12 : Écrire le programme permettant de rechercher la 1ere occurrence d’un motif donné dans une phrase texte donnée. Le programme retourne l’indice du 1er caractère du motif dans la chaîne. Exercice 13 : Vérifier par programme qu’une phrase donnée est un palindrome : se lit dans les deux sens. (ex. Radar- esope reste et se repose). Une phrase est une suite de mots séparée par un ou plusieurs blancs Exercice 14 : Consultation des mots clés d’un ouvrage. Saisir dans une variable chaîne de caractères une suite de mots clés séparés par ‘;’ ‘,’ ‘:’ ou ‘.’. Afficher ces mots clés, tous en minuscule ou en majuscule sous la forme d’une colonne à l’écran. Exercice 20 : On souhaite faire une recherche par mots clés sur les références d’une liste d’ouvrage. Pour cela, on dispose d’un fichier séquentiel (ouvrage.dat) contenant pour chaque ouvrage : Recherche d’ouvrage sur mot-clé une référence (pic x(7)), un titre (pic x(50)) Mot-clé recherché : et une liste de 5 mots clés (un mot-clé pic Référence(s) trouvée(s) : x(30)). Ref 1) Donner les instructions permettant Titre : de définir et d’assigner un fichier Ref logique au fichier ouvrage.dat. Titre 2) Ecrire le programme permettant, à partir d’un mot clé saisi au clavier, d’afficher les références et titres des ouvrages correspondants au mot clé donné Exercice 21 : Reprendre l’exercice 21, le modifier pour que ouvrage.dat soit cette fois-ci un fichier en accès direct. Effectuer une recherche à partir de la référence d’un ouvrage. Fonctions et sous-programmes Exercice 15 : Soit une suite de chiffres contenue dans une chaîne de caractères. A- Ecrire une fonction permettant de retourner le nombre de chiffres de la suite. B- Ecrire un sous-programme permettant de calculer la somme et le produit des chiffres de la suite. C- Ecrire une sous programme permettant d’ajouter un blanc entre chaque bloc de 3 chiffres en partant de la fin de la suite. D- Ecrire le programme principal permettant pour une suite de chiffres saisie au clavier d’afficher sa longueur, la somme et le produit de ses chiffres puis de l’afficher par bloc de 3 en partant de la fin de la suite. Utiliser les questions précédentes. Tableaux Exercice 16 : Soit un texte dont les mots sont séparés par ‘ ;’ ou ‘,’ ou ‘ :’ ou ‘ ‘et se terminant par un point. Écrire un programme permettant de placer chaque mot dans une case de tableau. Exercice 17 : A partir de l’exercice précédent, écrire un programme permettant de rechercher un mot donné dans un tableau contenant une suite de mot (1 mot par case). Exercice 18 : Soit un tableau contenant une suite de valeurs entières. Écrire un programme permettant de déterminer si une valeur donnée existe dans le tableau. Le programme doit positionner un booléen à vrai et renvoyer l’indice de la valeur dans le tableau. Les fichiers Exercice 19 : A) Ecrire un programme permettant de construire un fichier séquentiel « livre.dat » de 5 enregistrements au moins. Chaque enregistrement est de la forme suivante : Ref pic x(5) et titre pic x(30). La référence et le titre sont saisis au clavier puis ajoutés au fichier. B) Ecrire un programme, permettant d’afficher le contenu du fichier « livre.dat ». 3 4