Подсчет количества строк, содержащих больше буквы A чем буквы
Информатика

Сколько строк в текстовом файле содержит больше букв A, чем букв E? Общий размер файла не превышает 1 Мбайт. String

Сколько строк в текстовом файле содержит больше букв A, чем букв E? Общий размер файла не превышает 1 Мбайт. String содержит только заглавные буквы латинского алфавита (ABC...Z). Нужно написать программу на языке Паскаль.
Верные ответы (1):
  • Milana_7623
    Milana_7623
    26
    Показать ответ
    Тема занятия: Подсчет количества строк, содержащих больше буквы "A" чем буквы "E"

    Описание: Для решения данной задачи необходимо написать программу на языке Паскаль, которая будет считывать текстовый файл построчно и анализировать содержимое каждой строки. В каждой строке необходимо подсчитать количество букв "A" и "E" и сравнить их значения.

    1. Откроем файл с помощью команды `Reset`, указав путь к файлу в кавычках.
    2. Используем цикл `while not Eof(file)` для чтения каждой строки файла.
    3. Внутри цикла, создадим переменные `countA` и `countE` и инициализируем их нулем.
    4. Перебираем каждый символ в текущей строке и проверяем, является ли он буквой "A" или "E". Если это так, то увеличиваем соответствующий счетчик на единицу.
    5. После проверки всех символов в строке, сравниваем значения `countA` и `countE`. Если `countA` больше `countE`, то увеличиваем общий счетчик строк `totalCount` на единицу.
    6. На следующей итерации цикла переходим к следующей строке файла.
    7. По окончании чтения всех строк у файла, закрываем файл с помощью команды `Close`.
    8. Выводим значение `totalCount` - количество строк, содержащих больше буквы "A" чем буквы "E".

    Например:
    pascal
    var
    file: TextFile;
    line: string;
    countA, countE, totalCount: integer;
    begin
    AssignFile(file, "путь_к_файлу.txt");
    Reset(file);

    totalCount := 0;
    while not Eof(file) do
    begin
    countA := 0;
    countE := 0;

    ReadLn(file, line);

    for i := 1 to Length(line) do
    begin
    if line[i] = "A" then
    countA := countA + 1
    else if line[i] = "E" then
    countE := countE + 1;
    end;

    if countA > countE then
    totalCount := totalCount + 1;
    end;

    Close(file);

    writeln("Количество строк содержащих больше буквы "A" чем буквы "E": ", totalCount);
    end.


    Совет: При решении подобных задач, всегда разбивайте задачу на осмысленные шаги, чтобы понять все детали и обеспечить корректность и эффективность программы.

    Задание: Напишите программу на языке Паскаль, которая будет подсчитывать количество строк в текстовом файле, содержащих больше буквы "A" чем буквы "E". Файл может содержать до 10 строк. Создайте файл test.txt и запишите в него несколько строк для тестирования программы.
Написать свой ответ: