Главная страница

Информатика подготовка к ЕГЭ. ЕГЭ по информатике 2021 Задание. Егэ по информатике 2021. Задание 24 (Обработка символьной информации)


Скачать 15.44 Kb.
НазваниеЕгэ по информатике 2021. Задание 24 (Обработка символьной информации)
АнкорИнформатика подготовка к ЕГЭ
Дата12.11.2022
Размер15.44 Kb.
Формат файлаdocx
Имя файлаЕГЭ по информатике 2021 Задание.docx
ТипДокументы
#784182

ЕГЭ по информатике 2021. Задание 24

(Обработка символьной информации)


Двадцать четвёртое задание из ЕГЭ по информатике нацелено на обработку символьной информации. При его разборе с учащимися необходимо повторить работу с файлами и файловыми переменными. Учащиеся должны четко понимать: как назначить файл для чтения, как открыть файл для чтения, как считываются данные из файла с помощью файловой переменной и как при этом формируется строка символов, полученных из файла. Работа с данными, полученными из файла используется и при выполнении последующих заданий. Поэтому важно, чтобы участники ЕГЭ отработали данную часть программного кода до автоматизма.

После получения символьной строки содержащей данные из файла пережодим к решению сформулированной в условии задачи. В качестве примера расмотрим пример из демоверсии ЕГЭ по информатики 2021 года.

Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны. Для выполнения этого задания следует написать программу. Скачать файл

Главное здесь правильно понять задание. Обязательно надо привести пример и с его помощью пояснить - в чем заключаеися поиск решения данного задания. К примеру расмотрим последовательность символов: XYZZYXZYYXZXYXZXY. Найдем в этой цепочке максимальную длину идущих подряд символов, среди которых каждые два соседних различны. В нашем примере оказалось три фрагмента идущих подрям символов, у которых нет двух «одинаковых соседей». Наибольшее количство символов содержит желтая цепочка символов. Задание стало понятным, переходим к разработке алгоритма.

Алгоритм будет следующий: Берём символ, сравниваем его со следующим, если они разные, то добавляем к счётчику 1. Счётчик начинает работать с 1, чтобы засчитать самый первый символ. Если символы одинаковые, то сбрасываем счётчик на 1 (первоначальное значение).

Таким образом, у нас будет разная длина цепочек не повторяющихся символов в нашем файле. Но нам нужно в ответе написать наибольшую длину. Количество символов в первой цепочке надо запомнить, чтобы в последствии сравнить с количеством следующей и запомниить максимальное с целью вывода ответа на консоль. В начале количество символов, удовлетворяющих условию задачи, равно нулю. Если в строке не окажеся цепочки из не повторяющихся символов, то ответ к заданию. будет нулевым. Но такая ситуация маловероятна. Как только обнаружилась цепочкка сравниваем её количество символов с первоначальны значением и делаем замену на большее найденное количество символов цепочки. И так повторяем до тех пор, пока не проверим всю строку.

Так выглядит программа на языке Pascal, которая решит нашу задачу.

prugramm z24;

var

f: file of char;

c1, c2: char;

c, m : integer;

begin

assign (f, 'c:\24.txt');

reset (f);

c := 1;

m := 0;

read (f, c1);

while not eof (f) do begin

read (f, c2);

if c1 <> c2 then begin

c := c + 1;

if c > m then m := c;

end

else begin

c := 1;

end;

c1:=c2;

end;

Writeln(m);

close (f);

end.

В ответе получится число 35.

Ответ 35


написать администратору сайта