Beruflich Dokumente
Kultur Dokumente
Exemple :
Votre professeur en matire algorithmique veut informatiser la gestion de ces lves ; en
sauvegardant dans un fichier ses fiches de renseignements. Chaque fiche comporte les
renseignements suivants :
- Un identifiant
- Nom et prnom
- Date de naissance
- Sexe (M pour masculin et F pour fminin)
Le professeur devra tre capable de raliser les traitements suivants :
(1) La saisie et la sauvegarde des fiches de n lves dans un fichier f ( n compris entre 5
et 40).
(2) La premire note de la classe.
(3) Ajouter un lve.
(4) Supprimer un lve selon son identifiant.
(5) Modifier un lve selon son identifiant
(6) La liste trie des lves par ordre alphabtique.
(7) Copier ce fichier dans un fichier TEXTE.
Solution :
0- Structures de donnes adquates :
Type
tab =tableau de 5 rels
fiche = enregistrement
Devoirs et examens sur : www.kiteb.net
id : chaine[10]
np :chaine[30]
date_naiss :chaine[10]
sexe : char
moy :rel
fin fiche
f_fiches = fichier de fiche
4. Supprimer un lve :
Analyse Algorithme
5. Modifier un lve :
Analyse Algorithme
Traitement : 1. Ouvrir(F)
moy=donne("moy :")
fin Avec Pointer(f,position_fichier(f)-1)
Pointer(f,position_fichier(f)-1) Ecrire(f,fic)
Ecrire(f,fic) fin si
Analyse Algorithme
- N.B :* Si vous voulez un remplissage lenvers il suffit dinverser les deux instructions dans la clause sinon :
sinon
Proc remplir(t,n,i+1)
T[i]=donne(T[i ])
finsi
* Si vous voulez un affichage dun tableau il suffit de changer le nom de la procedure (exp : affiche()) et de
remplacer linstruction
T[i]=donne("T[",i ,"] : ") par Ecrire(T[i])
2. Remplissage dune matrice :
Version itrative Version recursive
0. DEFPROC Remplir(VAR M :mat;nl,nc:entier) 0. DEFPROC Remplir(VAR T :Tab;n,i,j:entier)
1. Pour i de 1 de nl faire
Pour j de 1 nc faire
Devoirs et examens sur : www.kiteb.net
1. Si (i=nl)et(j=nc) alors
lire(M[i,j ] )
lire(M[i]) sinon
fin pour si(j<=nc)
lire(M[i,j ] )
2. Fin Remplir
Condition darrt Proc remplir(m,nl,nc,i,j+1)
Sinon
Appel rcursif
Proc remplir(m,nl,nc,i+1,1)
finsi
2. Fin remplir
Appel rcursif
n fois
Solution rcursive :
n fois m fois
Condition darrt
Devoirs et examens sur : www.kiteb.net
Division successive
(Base)10 Autre base
Multiplication successive
Autre base (Base)10
sinon
ch chr(R+55)
finsi
ch ch_R + ch
dec dec div 2
jusqu (dec=0)
2- conv_dec_b ch
3-fin conv_dec_b
- Exemple ((Base)2 la (base)10)
N.B :
lorsque vous voulez changer la conversion partir dune autre base la base 10,il suffit de remplacer la
fonction puissance selon le numro de base (exp :8,9,1016)
Concernant la conversion vers la base 16, il faut tenir compte des nombres qui dpasse le chiffre 9 , pour
cela il faut crire :