6
Lycée Benguardène AS: 2008-2009 1/6 Lycée Benguardène AS: 2008-2009 Enseignant: Mohamed SAYARI MATIÈRE: ALGORITHMIQUE & PROGRAMMATION Niveau: 4 ème SCIENCES DE L'INFORMATIQUE SÉRIE D'EXERCICES N°1: LES ENREGISTREMENTS & LES FICHIERS "Diviser la difficulté en autant de parcelles qu’il est requis pour mieux la résoudre". Descartes Exercice N°1 Un compte en banque concerne une personne spécifiée par son nom, un numéro de compte (un entier), et un montant (réel). Déclarez un enregistrement pour cette structure. Exercice N°2 Un article est caractérisé par sa référence (entier), sa désignation (chaîne de caractères), son prix (réel) et son fournisseur (chaîne de caractères). Soit un tableau T dont les éléments sont de type article. Ecrire un algorithme et sa traduction en Pascal d’un programme intitulé STOCKS qui permet : 1) De remplir le tableau T. 2) D’afficher le prix d’un produit donné. 3) D’afficher toutes les désignations des produits fournis par un fournisseur donné. Exercice N°3 On considère l’ensemble des stagiaires de la section informatique d’un institut de formation. Un stagiaire est défini par quatre champs : nom, prénom, date, notes. NB : date est définie par 3 champs : jour (intervalle), mois (intervalle), année (entier composé de 4 chiffres). notes est une matrice de 2 lignes (représentant les 2 semestres) et 3 colonnes (représentant les notes de 3 examens passés dans un semestre). Ecrire un algorithme puis sa traduction en Pascal d’un programme permettant : 1) De saisir N (5<=N<100) stagiaires dans un tableau intitulé T1. 2) De remplir un tableau T2 par les moyennes des stagiaires. 3) De calculer et d’afficher la moyenne générale. 4) D’afficher les noms et prénoms des stagiaires ayant une moyenne supérieure à la moyenne générale, un par un. 5) D’afficher les noms des stagiaires qui sont nés en 1982. 6) D’afficher les noms du plus petit et du plus grand stagiaire. Exercice N°4 On se propose que le nombre des élèves dans une classe du 4 ème SI est 20. Ecrire une analyse, un algorithme et un programme Pascal qui permet de ranger dans un tableau les informations pour chaque élève (nom, âge, moyenne) puis: Afficher le nom et la moyenne du premier de la classe. Afficher la moyenne M de la classe ainsi que le nombre et les informations des élèves ayant une moyenne supérieure à M.

Serie

Embed Size (px)

Citation preview

Page 1: Serie

Lycée Benguardène AS: 2008-2009 1/6

Lycée Benguardène

AS: 2008-2009

Enseignant: Mohamed SAYARI

MATIÈRE: ALGORITHMIQUE & PROGRAMMATION

Niveau: 4ème SCIENCES DE L'INFORMATIQUE

SÉRIE D'EXERCICES N°1: LES ENREGISTREMENTS & LES FICHIERS

"Diviser la difficulté en autant de parcelles qu’il est requis pour mieux la résoudre".

Descartes

Exercice N°1 Un compte en banque concerne une personne spécifiée par son nom, un numéro de

compte (un entier), et un montant (réel). Déclarez un enregistrement pour cette structure.

Exercice N°2 Un article est caractérisé par sa référence (entier), sa désignation (chaîne de caractères), son

prix (réel) et son fournisseur (chaîne de caractères). Soit un tableau T dont les éléments sont de type article. Ecrire un algorithme et sa traduction en Pascal d’un programme intitulé STOCKS qui permet :

1) De remplir le tableau T. 2) D’afficher le prix d’un produit donné. 3) D’afficher toutes les désignations des produits fournis par un fournisseur donné.

Exercice N°3 On considère l’ensemble des stagiaires de la section informatique d’un institut de

formation. Un stagiaire est défini par quatre champs : nom, prénom, date, notes. NB : date est définie par 3 champs : jour (intervalle), mois (intervalle), année (entier composé de

4 chiffres). notes est une matrice de 2 lignes (représentant les 2 semestres) et 3 colonnes (représentant

les notes de 3 examens passés dans un semestre). Ecrire un algorithme puis sa traduction en Pascal d’un programme permettant : 1) De saisir N (5<=N<100) stagiaires dans un tableau intitulé T1. 2) De remplir un tableau T2 par les moyennes des stagiaires. 3) De calculer et d’afficher la moyenne générale. 4) D’afficher les noms et prénoms des stagiaires ayant une moyenne supérieure à la

moyenne générale, un par un. 5) D’afficher les noms des stagiaires qui sont nés en 1982. 6) D’afficher les noms du plus petit et du plus grand stagiaire.

Exercice N°4 On se propose que le nombre des élèves dans une classe du 4ème SI est 20.

Ecrire une analyse, un algorithme et un programme Pascal qui permet de ranger dans un tableau les informations pour chaque élève (nom, âge, moyenne) puis:

Afficher le nom et la moyenne du premier de la classe.

Afficher la moyenne M de la classe ainsi que le nombre et les informations des élèves ayant une moyenne supérieure à M.

Page 2: Serie

Lycée Benguardène AS: 2008-2009 2/6

Exercice N°5

1) Créer les types énumérés marque (Fiat, Peugeot, Renault, Citroën) et couleur (Blanc, Noir, Rouge, Vert, Bleu)

2) Ecrire une analyse, un algorithme et un programme Pascal qui permet de ranger dans un tableau les informations nécessaires pour 20 voitures (marque, âge, compteur, prix, couleur) puis: Rechercher les voitures d'une marque M et ayant une âge inférieure à A donnée Trier les voitures dans l'ordre croissant par la distance parcourue (compteur).

Exercice N°6

Un film peut être représenté par un type enregistrement contenant les champs suivants: titre, genre, date, durée, réalisateur et recette. Ecrire une analyse, un algorithme et un programme Pascal qui permet de ranger dans un tableau les informations nécessaires pour 50 films puis:

Afficher les informations des films d'un genre G donné. Remplir un tableau V par les 10 films ayant la recette la plus élevée. Trier les films par durée

Exercice N°7 (Examen de contrôle N°1 Lycée Bengaurdène 2009)

On définit un point par son abscisse (x) et son ordonnée (y) et on définit un cercle par son

centre (un point) et son rayon réel).

Ecrire une analyse et un algorithme qui permet de donner un cercle et remplir un tableau T

par N (5<N<20) puis construire 3 tableaux

T1: contient les points qui sont à l'intérieur du cercle,

T2: contient les points appartenant au cercle,

T3: contient les points à l'extérieur du cercle

NB:

Un point A appartenant au cercle si la distance entre A et le centre du cercle est égal

au rayon,

A est à l'intérieur du cercle si cette distance est inférieure au rayon,

A est à l'extérieur du cercle si cette distance est plus grande que le rayon.

La distance entre 2 points A (xA, yA) et B (xB, yB) est: )()(22

yByAxBxA

Page 3: Serie

Lycée Benguardène AS: 2008-2009 3/6

Exercice N°8

On considère l'ensemble des employés d'une entreprise. Un employé est défini par:

o Nom: de type chaîne de caractères o Ident: entier non signé o Sexe: de type caractère o Date de naissance: de type chaîne de caractères o Grade: de type caractère (C:cadre, O: ouvrier) o Salaire: de type réel o Prime: de type réel

Tous les employés sont enregistrés dans un fichier "C:\Travail\employe.dat"

On se propose d'écrire un programme Pascal qui permet de:

Créer le fichier et enregistrer les employés (la prime à calculer)

De calculer la prime de chaque employé: sachant que: Prime = salaire pour les ouvriers Prime = salaire augmenté de 10% pour les cadres.

De calculer et afficher le total des salaires des cadres.

De chercher un employé par son Ident

Modifier le grade d'un employé connaissant son ident

D'enregistrer tous les cadres dans un nouveau fichier.

T.A.F: 1) Ecrire une analyse et un algorithme pour chaque tâche. 2) Ecrire le programme Pascal correspondant.

Exercice N°9 Soit un fichier intitulé info_classe contenant les renseignements des élèves de la 4ème SI

(nom, prénom et moyenne de chaque élève en matière Algorithmique et Programmation), on demande d'écrire un programma Pascal qui permet de trier le fichier info_classe selon les moyennes des élèves.

Exercice N°10 Une société veut informatiser la gestion de ses clients, en sauvegardant dans un fichier ses

fiches de renseignements. Chaque fiche comporte les renseignements suivants: o Nom et prénom : chaîne o N° CIN: entier non signé o Rue: chaîne o Code: entier non signé o Ville: chaîne o N° de téléphone Ecrire un programme nommé "Gestion" permettant de réaliser les tâches suivantes: - La saisie et la sauvegarde des fiches dans le fichier "Client.doc" sur le disque "C". la fin

de la saisie est possible si nous répondons par "N" (Non) à la question "Continuer (O/N) ?".

- L'affichage des fiches (une par page) - Chercher la position d'un client dans ce fichier (-1 s'il n'existe pas).

Page 4: Serie

Lycée Benguardène AS: 2008-2009 4/6

Exercice N°10 Le but de cet exercice est d'écrire un programme qui permet de lire le contenu d'un

fichier texte et d'afficher sur l'écran en respectant la remarque suivante: chaque retour à la ligne sera traduit par un retour à la ligne et un saut de ligne. Exemple:

Fichier Affichage sur l'écran

Classe: 4ème SI 1 Section: sciences de l'informatique

Classe: 4ème SI 1 Section: sciences de l'informatique

Exercice N°11 1) Ecrire un algorithme qui génère un fichier intitulé "Nombres.txt" contenant des nombres

entiers fournis par l'utilisateur puis affiche uniquement les nombres pairs. 2) Ecrire un programme permettant de réaliser les actions offertes par le menu suivant:

a) Déterminer le nombre d'éléments du fichier b) Renommer le fichier "Nombres.txt" en "valeurs.doc" c) Supprimer les éléments du fichier se trouvant après une position P donnée. d) Supprimer le fichier du disque.

Exercice N°12 On dispose d'un fichier de réels enregistrés sous le nom physique "Valeurs.FCH". Ce

fichier est déjà trié par ordre croissant. On désire insérer dans ce fichier et à sa bonne place une nouvelle valeur V donnée. Ecrire une analyse et l'algorithme d'une procédure nommée Insertion réalisant cette tâche. NB. L'insertion doit se faire directement dans le fichier et non pas à travers un transfert dans un tableau ou dans un autre fichier.

Exercice N°13 On donne la structure élève formée par les 4 champs suivants:

Nom Prénom Numéro scolaire Date de naissance

Ecrire un programme Pascal qui permet de:

Remplir un fichier intitulé "classe.dat" et sous la racine C:\ par des élèves. La saisie s'arrête

selon le choix de l'utilisateur en répondant à la question "Voulez-vous continuer ? O/N"

Offrir le menu ci-dessous à l'utilisateur. Ce dernier doit choisir l'opération qu'il désire

selon son numéro d'ordre.

Page 5: Serie

Lycée Benguardène AS: 2008-2009 5/6

MENU PRINCIPAL 1- INSERER UN ELEVE DANS LE FICHIER 2- SUPPRIMER UN ELEVE DE FICHIER 3- MODIFIER UN ELEVE 4- RECHERCHER UN ELEVE 5- AFFICHER LE CONTENU DU FICHIER 6- QUITTER LE PROGRAMME

Donner le numéro de l'opération à effectuer s'il vous plaît:_

Indications

- Pour l'insertion, l'utilisateur doit saisir la position ou on va insérer cet enregistrement.

- Pour la suppression, l'utilisateur doit saisir la position de l'enregistrement à supprimer.

- Pour la modification, l'utilisateur doit saisir la position de l'enregistrement à modifier

par un nouvel enregistrement saisi au clavier

- La recherche d'un enregistrement est basée sur le numéro scolaire. Donc l'utilisateur

doit saisir le numéro scolaire de l'élève puis afficher tous ses informations s'il existe.

NB. clrscr; permet d'effacer l'écran.

Exercice N°14 On veut écrire un programme qui permet de charger un fichier par les notes

d’algorithmique des élevés 4SI nom (chaîne de caractère), note contrôle (réel), note TP (réel),

note synthèse (réel). Le nom physique est "C:\4SI.DAT".

La fin de saisie est contrôlée par la question (" vous les vous continuez (O/N)")

Stocker le nom et la moyenne de chaque élève dans un deuxième fichier dont le nom physique

est "C:\admis.DAT" en ajoutant un points pour les élevés qui n’ont pas une moyenne

Le formule de moyenne M= (NC+ NTP+2*NS)/4.

On veut aussi supprimer les élèves qui ont une moyenne inférieure ou égale à la moyenne de

la classe de deuxième fichier et afficher le contenue de fichier "admis.DAT".

Questions :

Page 6: Serie

Lycée Benguardène AS: 2008-2009 6/6

1- Décomposer le problème en module

2- Quelles sont les structures de données adéquates à ce problème ? Justifier votre

Choix

3 Analyser et déduire l’algorithme du programme principal qui permet de Réaliser Le

Traitement décrit précédemment

4- Analyser chacun des modules envisagés et déduire les algorithmes Correspondants.

Exercice N°15 Les informations relatives à une personne sont :

Nom, prénom (chaîne) ; Téléphone (10 caractères) ; Numéro fiscal (entier) ; Adresse (rue (entier) ; ville (chaîne) ; code postal (entier non signé)) ;

Ecrivez les analyses et les algorithmes des différents modules d’un programme qui permet de:

* Remplir un fichier intitulé «data.dat » sous la racine C : par des personnes. La saisie s’arrête

selon le choix de l’utilisateur en répondant à la question « voulez-vous continuer ? O/N ».

* Afficher à l’écran les noms et les prénoms des personnes résidant dans une ville donnée.

* Saisir un numéro de téléphone TEL puis chercher et afficher le nom, le prénom et le numéro

fiscal de la personne ayant ce numéro de téléphone.

* Saisir le nom d’une ville puis calculer et afficher le nombre des personnes résidant dans

cette ville.