1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| program pbm1;
uses wincrt;
type
ff = file of Char;
var
fc: ff;
fct: Text;
choix, n: Byte;
procedure remplir(var n: Byte; var fc: ff);
var
i: Byte;
c: Char;
begin
Rewrite(fc);
repeat
Write('n=');
Readln(n);
until (n in [1..100]) and (n mod 10 = 0);
for i := 1 to n do
begin
c := Chr(Random(Ord('Z') - Ord('A') + 1) + Ord('A'));
Write(fc, c);
end;
end;
procedure copie(n: Byte; var fc: ff; var fct: Text);
var
i, j: Byte;
c: Char;
ch: string;
begin
Reset(fc);
Rewrite(fct);
Append(fct);
for i := 1 to n div 10 do
begin
ch := '';
for j := 1 to 10 do
begin
Read(fc, c);
ch := ch + c;
end;
Writeln(fct, ch);
end;
Close(fc);
Close(fct);
end;
procedure affiche(var fct: Text);
var
i, nbc, nbv: Byte;
ch: string;
begin
Reset(fct);
while not (Eof(fct)) do
begin
Readln(fct, ch);
nbv := 0;
nbc := 0;
for i := 1 to Length(ch) do
if ch[i] in ['A', 'E', 'I', 'U', 'O', 'Y'] then
nbv := nbv + 1
else
nbc := nbc + 1;
Writeln('nombre de voyelles est ', nbv, ' nbr de consonnes est ', nbc);
end;
Close(fct);
end;
{program principal}
begin
Assign(fc, 'c:\bac2011\syrine rajhi\fcaractère.chr');
Assign(fct, 'c:\bac2011\syrine rajhi\fcar.txt');
repeat {juste pour essayer les 3 procédures}
Writeln('1: Créer et remplir fc');
Writeln('2: Créer et remplir fct');
Writeln('3: Afficher le nbr de voyelles et de consonnes dans chaque ligne');
Writeln('4: Quitter');
repeat
Write('votre choix svp : ');
Readln(choix);
until choix in [1..4];
case choix of
1:
remplir(n, fc);
2:
copie(n, fc, fct);
3:
affiche(fct);
4:
Write('Très bien syrine ');
end;
until (choix = 4);
end. |
Partager