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

Documents pareils