Vous êtes sur la page 1sur 3

##### Pour remplir un fichier  ####

Procedure former (var f :fiche ; n :integer) ; Procedure transfert_f1_f2(var f1,f2 :fiche) ; Procedure transfert_T_F( var T :tab ; n :integer ; var
Var Var f:fiche ) ;
i :integer ;
v : ..…. ; v : ..…. ; Var
Begin Begin i: integer ;
Rewrite(f) ; reset (f1) ; v : ..…. ;
For i :=1 to n do rewrite(f2) ; Begin
Begin
Repeat {en cas de condition sur le remplissage}
not EOF(f1) do rewrite (f) ;
Readln(v) ; Begin for i :=1 to n do
Until verif(v) ; (f1,v) ; (if verif(T[i]) then) {en cas de condition sur le transfert}
Writeln(f,v) ; (if verif(v) then) {en cas de condition sur le transfert} writeln(f,T[i]) ;
End ;
writeln(f2,v) ; close(f);
Colse (f) ;
End ; end ; end ;
close(f1) ; close(f2) ;
##### Pour afficher un fichier  #### end ;
Procedure afficher(var f :fiche) ; ##### Pour trier un fichier  ####
Var
transfert_f_T(F,T , n ) ;
v : ..…. ;
Begin trier(T,n) ;
Reset(f) ; ##### transfert d’un fichier F1 vers un Tableau T#### transfert_T_F(T,F, n ) ;
While not EOF(f) do Procedure transfert_f_T(var f:fiche ; var T :tab ; var
Begin n :integer) ;
Readln(f,v) ; ####fonction réc pour VERIFier une chaine de lettres###
Var
(if verif(v) then) {en cas de condition sur l’affichage}
v : ..…. ; function verif(ch :string ; i :integer) :boolean ;
Writeln(v) ;
End ; Begin Begin
Close(f) ; reset (f) ; If (i>n)
End ; for n :=1 to Filesize(f) do Then verif := true
Begin Else if NOT (UPCASE ch[i] in [‘A’..’Z’])
##### pour vérifier la validité du nom physique d’un
fichier#### (f,V) ; then verif :=false
procedure creation (var f :fiche) ; (if verif(V)then) {en cas de condition sur le transfert} else verif :=verif(ch,i+1) ;
var t[i] :=V ; end ;
chemin :string ; end ;
Begin close(f);
{$I-}  {Pour désactiver le compilateur} end ;
Repeat
Writeln(‘taper le chemin et le nom du fichier’) ;
Readln(chemin) ;
ASSIGN(f, chemin);
rewrite(f);
CLOSE(f);
Until (IOResult=0);
{$I+} {Pour réactiver le compilateur}
End;
##### transfert d’ un Tableau T vers un fichier F1 ####
##### transfert d’un fichier F1 vers un fichier F2####
##### Pour afficher les facteurs premiers d’un entier n  #### ### Pour verifier si une chaine ch est dans la base b ### ###déclarer une matrice M de 100x100 entiers ###
1) debut FN Verifie (N :chaîne, B :entier) : booléen type
2) test <-- vrai Mat=array[1..100, 1..100] of integer;
0) Def proc facteurs_premiers (n:entier)
3) i0 Var
1) i2 4) repeter
2) Repeter M :mat ;
ii+1
Si (n mod i=0) valeur(ch[i],c,e)  ####remplir une matrice M de l lignes et c colonnes###
Alors Si c=0 procedure remplir(var M :mat ; var l,c :byte) ;
nn div i alors cord(ch[i])-55 Var i,j :byte ;
ecrire(i) fin si Begin
sinon test c < B
repeat
ii+1 jusqu’à non test ou (i=long(ch))
5) Verifie <-- test (l,c) ;
jusqu'à (n=1) until (l in [1..100] ) and ( l in [1..100]) ;
Fin verifie
3) fin facteurs_premiers for i :=1 to l do
######conversion de la base b à la base 10###### for j :=1 to c do
##### Pour vérifier la divisibilité par 3  (répéter la somme 0) debut fn conv_b_10 (ch:chaine):entier
des chiffres jusqu’à obtenir un seul chiffre)#### 1) N<--0
(M[i,j]) ;
2) poid<--1 end ;
0) Debut fn div3(ch:chaine):booléen 3) pour i de long(ch) à 1 (pas=-1) faire
valeur(ch[i],c,e) ###afficher une matrice M de l lignes et c colonnes###
1) répéter
si (e≠0) alors procedure afficher(M :mat ; l,c :byte) ;
  x<--0
cord(ch[i])-55) Var i,j :byte ;
pour i de 1 à long(ch) faire {calcul de somme des
fin si Begin
chiffres} N<--N+ poid*x for i :=1 to l do
    valeur(ch[i],c,er) poid<--poid*b
     x:=x+c
for j :=1 to c do
fin pour
 fin pour 4) conv_b_10<--N writeln(‘M[‘, i , ‘]’, j , ‘=’, M[i,j]) ;
Convch(x,ch) 5) Fin conv_b_10 end ;
 jusqu'à (s<=9) {x composé d'un seul chiffre}
######conversion de la base 10 à la base b##### #####afficher les éléments de la diagonale principale
2) div3 <-- s dans [0,3,6,9] d’une matrice carré M de nxn #######
0) debut fn conv_10_b (n: entier): chaine
3) fin div3 1) ch<--"" procedure afficher(M :mat ; n :byte) ;
2) Repeter Var i :byte ;
rn mod b Begin
nn div b
##### Pour vérifier si un entier est premier#### for i :=1 to n do
Convch(r,c,e)
0) Debut FN premier(n :entier) :booléen writeln(M[i,i]) ;
Si (r>10)
1) Si (n=1) ou (n=2)
Alors end ;
Alors resvrai
Cchr(r+55)
Sinon Finsi #########afficher les éléments de la diagonale
i1 Chch+c secondaire d’ une matrice carré M de nxn #########
repeter Jusqu'à (n=0) procedure afficher(M :mat ; n :byte) ;
ii+1 3) conv_10_b<--ch Var i :byte ;
res n mod i ≠0 4) Fin conv_b_10 Begin
jusqu’à non res ou ( i>racine_carré(n)) for i :=1 to n do
fin si writeln(M[i,n-i+1]) ;
2) premierres end ;
3) fin premier

Vous aimerez peut-être aussi