Написать программу, которая находит количество знаков препинания в созданном текстовом файле, и подсчитывает процент каждого знака препинания от общего количества символов — Pascal(Паскаль)

uses crt;
const rz:array[1..18] of char=(#32,#33,#34,#39,#40,#41,#44,#45,#46,#58,#59,
                               #63,#91,#93,#123,#124,#125,#126);
var f:text;
    a:array[1..18] of integer;
    name,s:string;
    k,kz:longint;
    i,j:byte;
begin
clrscr;
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
for i:=1 to 18 do
a[i]:=0;
k:=0;
kz:=0;
while not eof(f) do
 begin
  readln(f,s);
  k:=k+length(s);
  for i:=1 to 18 do
   begin
    for j:=1 to length(s) do
    if rz[i]=s[j] then
      begin
       kz:=kz+1;
       a[i]:=a[i]+1;
      end;
   end;
 end;
close(f);
writeln('Общее количество символов=',k);
writeln('Общее количество знаков препинания=',kz);
writeln('Встреченные знаки препинания и их процент:');
for i:=1 to 18 do
if a[i]>0 then
 begin
  write(rz[i],' = ');
  writeln(a[i]*100/k:5:2,'%');
 end;
readln
end.

Leave a Comment

− 3 = 7