Vous êtes sur la page 1sur 10

Algorithmique et structures de données II

Riadh Ben Messaoud


Université 7 novembre à Carthage

Faculté des Sciences Économiques et de Gestion de Nabeul


1ère année Licence Fondamentale IAG
ère
1 année Licence Appliquée E-commerce

2008 – 2009

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 1/9


Plan du cours

1 Introduction
2 Structures de données
3 Algorithmes de tri
4 Fichiers
5 Récursivité
6 Piles et files
7 Listes linéaires
8 Complexité et optimalité

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 2/9


Plan du cours

1 Introduction
2 Structures de données
3 Algorithmes de tri
4 Fichiers
5 Récursivité
6 Piles et files
7 Listes linéaires
8 Complexité et optimalité

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 3/9


Fichiers
Exercices

Exercice 1

Nom*20 Prénom*15 Tel*10 Courriel*20


Fonfec Sophie 0142156487 fonfec@yahoo.fr
Zétofrais Mélanie 0456912347 zétofrais@free.fr
Herbien Jean-Philippe 0289765194 vantard@free.fr
Hergébel Octave 0149875231 rg@aol.fr

On travaille avec le fichier du carnet d’adresses “adresses.txt” en champs de


largeur fixe.
Écrire un algorithme qui permet à l’utilisateur de saisir au clavier un nouvel
individu qui sera ajouté à ce carnet d’adresses.

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 4/9


Fichiers
Exercices

Exercice 1 – Solution

Algorithme Ajout Adresse

Var : Ligne , Nom*20, Prenom*15, Tel*10, Mail*20 : chaı̂ne


Début
Lire (“Entrez le nom”, Nom)
Lire (“Entrez le prénom”, Prenom)
Lire (“Entrez le numéro de téléphone”, Tel)
Lire (“Entrez le courriel”, Mail)
Ligne ← Nom & Prenom & Tel & Mail
Ouvrir “adresses.txt” dans F en Ajout
EcrireFichier F, Ligne
Fermer F
Fin

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 5/9


Fichiers
Exercices

Exercice 2
Nom*20 Prénom*15 Tel*10 Courriel*20
Fonfec Sophie 0142156487 fonfec@yahoo.fr
Zétofrais Mélanie 0456912347 zétofrais@free.fr
Herbien Jean-Philippe 0289765194 vantard@free.fr
Hergébel Octave 0149875231 rg@aol.fr

On travaille toujours avec le fichier du carnet d’adresses “adresses.txt” en champs


de largeur fixe.
Écrire un algorithme qui permet de copier dans quatre tableaux distincts (Nom(),
Prenom(), Tel() et Courriel()) les informations relatives aux personnes résidant
dans la région Parisienne.
Remarque : l’indicatif téléphonique de la région parisienne est le 01

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 6/9


Fichiers
Exercices

Exercice 2
Nom*20 Prénom*15 Tel*10 Courriel*20
Fonfec Sophie 0142156487 fonfec@yahoo.fr
Zétofrais Mélanie 0456912347 zétofrais@free.fr
Herbien Jean-Philippe 0289765194 vantard@free.fr
Hergébel Octave 0149875231 rg@aol.fr

On travaille toujours avec le fichier du carnet d’adresses “adresses.txt” en champs


de largeur fixe.
Écrire un algorithme qui permet de copier dans quatre tableaux distincts (Nom(),
Prenom(), Tel() et Courriel()) les informations relatives aux personnes résidant
dans la région Parisienne.
Remarque : l’indicatif téléphonique de la région parisienne est le 01

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 6/9


Fichiers
Exercices

Exercice 2 – Solution
Algorithme Les Parisiens

Var : Ligne , Nom(), Prenom(), Tel(), Mail() : chaı̂ne ; i : entier


Début
Ouvrir “adresses.txt” dans F en Lecture
i← -1
Tant que Non EOF(F) Faire
LireFichier F, Ligne
Si (Mid(Ligne, 36, 2)=“01”) Alors
i←i+1
ReDim Nom(i)
ReDim Prenom(i)
ReDim Tel(i)
ReDim Mail(i)
Nom(i) ← Mid(Ligne, 1, 20)
Prenom(i) ← Mid(Ligne, 21, 15)
Tel(i) ← Mid(Ligne, 36, 10)
Mail(i) ← Mid(Ligne, 46, 20)
Fin Si
Fin Tant que
Fermer F
Fin
R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 7/9
Fichiers
Exercices

Exercice 3

Soient “adresses 2006.txt” et “adresses 2007.txt” deux fichiers dont les


enregistrements ont la même structure.
Écrire un algorithme qui recopie tout le fichier “adresses 2006.txt” dans un
nouveau fichier “adresses.txt”, puis à sa suite, tout le fichier “adresses 2007.txt”
(concatenation de fichiers).

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 8/9


Fichiers
Exercices

Exercice 3 – Solution
Algorithme Concatenation Fichiers

Var : Ligne : chaı̂ne


Début
Ouvrir “adresses.txt” dans R en Ecriture
Ouvrir “adresses 2006.txt” dans F1 en Lecture
Tant que Non EOF(F1) Faire
LireFichier F1, Ligne
EcrireFichier R, Ligne
Fin Tant que
Fermer F1
Ouvrir “adresses 2007.txt” dans F2 en Lecture
Tant que Non EOF(F2) Faire
LireFichier F2, Ligne
EcrireFichier R, Ligne
Fin Tant que
Fermer F2
Fermer R
Fin

R. Ben Messaoud (FSEGN) Algorithmique 2008 – 2009 9/9