Работа с файлами - Pascal (251452)

Узнай цену своей работы

Формулировка задачи:

Дан текстовый файл (любой, главное-чтобы в нём был текст на русском и английском языке). Определить количество букв русского алфавита, английского алфавита, цифр и их процентное соотношение в тексте.

Решение задачи: «Работа с файлами»

textual
Листинг программы
var f:text;
    s:string;
    i:integer;
    k,kr,kl,kc:integer;
    pr,pl,pc:real;
begin
assign(f,'input.txt'); //файл в папке с программой
reset(f);
k:=0;
kr:=0;
kl:=0;
kc:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(k,length(s));
  for i:=1 to length(s) do
  if s[i] in ['А'..'я','Ё','ё']then inc(kr)
  else if s[i] in ['A'..'Z','a'..'z'] then inc(kl)
  else if s[i] in ['0'..'9'] then inc(kc);
 end;
close(f);
pr:=kr/k*100;
pl:=kl/k*100;
pc:=kc/k*100;
writeln('Количество русских букв=',kr,' процент=',pr:0:2);
writeln('Количество латинских букв=',kl,' процент=',pl:0:2);
writeln('Количество цифр=',kc,' процент=',pc:0:2);
end.

Объяснение кода листинга программы

  1. Объявлены переменные: f: text; - файл s: string; - строка i: integer; - целочисленная переменная k, kr, kl, kc: integer; - счетчики pr, pl, pc: real; - процентные переменные
  2. Файл f открывается на чтение с помощью функций assign и reset.
  3. Переменные k, kr, kl, kc инициализируются нулями.
  4. В цикле while, который выполняется до конца файла, считывается строка s с помощью функции readln.
  5. Для каждой буквы в строке s проверяется ее принадлежность к определенной группе букв и, в зависимости от этого, увеличивается соответствующий счетчик (kr для русских букв, kl для латинских, kc для цифр).
  6. После окончания цикла, файл закрывается.
  7. Для получения процентного соотношения количества русских букв, латинских букв и цифр к общему количеству символов, счетчики kr, kl, kc делятся на общее количество символов (переменная k) и умножаются на 100.
  8. С помощью функции writeln выводятся значения переменных kr, kl, kc и соответствующие им проценты.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы