Exercice de Revision (Enregistrement Matrice Fichier)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Algo&Prog Ihrissane khaireddine

--Correction Ex de Révision--

1/

Procedure Remplir_F(@Fa :Fiche )


Debut
Ouvrir(‘’adherents.dat’’,Fa,’’wb’’)
Repeter
Repeter

Ecrire(‘’Nom et Prenom= ’’)


Lire(E.Np)
Jusqu’à( verif_AlphEsp(E.Np) et E.Np # ‘’)
Repeter
Ecrire(‘’Cin=’’)

Lire(E.Cin)
Jusqu’à(verif_chiff(E.Cin) et long(E.Cin)=8)
Repeter
Ecrire(‘’tel=’’)
Lire(E.Tel)

Jusqu’à(verif_chiff(E.Tel) et long(E.Tel)=8)
Repeter
Ecrire(‘’Login= ’’)
Lire(E.Login)
Jusqu’à( verif_AlphEsp(E.Login) et E.Login # ‘’)

E.Pass’’
Repeter
Ecrire(‘’Voulez-Vous continuer ? [O/N]= ‘’)
Lire(rep)
Jusqu’à (Majus(rep) dans [‘’O’’,’’N’’])

Jusqu’à (Majus(rep)=’’N’’)
Fermer(Fa)

1
Algo&Prog Ihrissane khaireddine

Fin
Fonction verif_AlphEsp(ch :chaine) :booleen

Debut
i0
Tantque( (ch[i] dans [‘’A’’..’’Z’’,’’ ‘’]) et (i<=long(ch)-1) )Faire
ii+1
fin tq

Retourner(i>long(ch)-1)
Fin

Fonction verif_chiff(ch :chaine) :booleen


Debut

i0
Tantque( (ch[i] dans [‘’0’’..’’9’’]) et (i<=long(ch)-1) )Faire
ii+1
fin tq
Retourner(i>long(ch)-1)

Fin
2/
Procedure Saisie_cle(@cle :chaine)
Debut
Repeter

Ecrire(‘’cle=’’)
Lire(cle)
Jusqu’à (long(cle)dans [3..10] et verif_cle(cle) )
Fin

2
Algo&Prog Ihrissane khaireddine

Fonction verif_cle(ch :chaine) :booleen

Debut
i0
ji+1
Tantque( (ch[i] dans [‘’A’’..’’Z’’]) et (ch[i]# ‘’W’’) et (ch[i]# ch[j]) et(i<=long(ch)-1)
Et (j<=long(ch)-1) Faire

ii+1
jj+1
Fin tq
Retourner(i>long(ch)-1 et j>long(ch)-1)
Fin

3/
Procedure Remplir_M(@M :Mat ;cle :chaine)
Debut
L0
C0

Pour k de 0 à long(cle)-1 faire


M[L,C]cle[k]
CC+1
Si( C=5)Alors
LL+1

C0
Fin Si
Fin pour
w0,j0
Tantque(L<5)Faire

Carchr(65+w)
Si( Non(cle[j]=Car) et C # ‘’W’’ et j<=long(cle)-1) Alors

3
Algo&Prog Ihrissane khaireddine

M[L,C]Car
jj+1

CC+1
Si(C=5)Alors
LL+1
C0
Fin Si

Fin Si
ww+1
Fin tq
Fin
4/

Procedure Crypte(@Fa :Fiche ;M :Mat)


Debut
Ouvrir(‘’adherents.dat’’,Fa,’’rb’’)
Tantque Non(fin_fichier(Fa))Faire
Lire(Fa,E)

ChE.Login
Res’’
Pour i de 0 à long(Ch)-1 faire
Si(Ch[i]=’’)Alors
ResRes+’’ ‘’

Sinon Si (Ch[i]=’’W’’) Alors


ResRes+det_indice(M,’’V’’)
Sinon
ResRes+det_indice(M,Ch[i])
Fin Si

Fin pour
E.PassRes

4
Algo&Prog Ihrissane khaireddine

Fin tq
Fermer(Fa)

Fin

Fonction det_indice(M :Mat ;Ca :caractere) :chaine


Debut
TestFaux

L-1
Tantque (Non(Test) et L<5)Faire
LL+1
C-1
Tantque (Non(Test) et C<5)Faire

CC+1
Test(Ca=M[L,C])
Fin Tq
Fin tq
Retourner( chr(L+65)+chr(C+65) )

Fin
5/
Procedure Affiche(@Fa :Fiche)
Debut
Ouvrir(‘’adherents.dat’’,Fa,’’rb’’)

Tantque(Non(fin_fichier(Fa))Faire
Lire(Fa,E)
Ecrire(E.Np+’’ ‘’+E.Login+’’ ‘’+E.Pass)
Fin tq
Fermer(Fa)

Fin

5
Algo&Prog Ihrissane khaireddine

Algorithme Ex

Debut TDOG
Remplir_F(Fa)
Saisie_cle(cle) Objet Type/Nature

Remplir_M(M,cle) Fa Fiche

Crypte(Fa,M) Cle Chaine

Fin M Mat

Remplir_F,Saisie_cle Procedure
Remplir_M,Crypte

Nouveau Type

E=enregistrement
Np :chaine
Cin :chaine
Tel :chaine

Login :chaine
Pass :chaine
Fin E
Mat=Tableau de 5 lignes * 5 colonnes de caracteres
Fiche=fichier de E

!! NB !! il ya d’autres solutions acceptable


--Faire le TDOL de chaque module--

Vous aimerez peut-être aussi