Меню
Разработки
Разработки  /  Информатика  /  Подготовка к ЕГЭ  /  10 класс  /  Обработка текстовых файлов на языках программирования Pascal и Python на примере задач № 24

Обработка текстовых файлов на языках программирования Pascal и Python на примере задач № 24

В данной работе представлены решения некоторых задач из ЕГЭ по информатике по обработке строк на двух языках программирования - Pascal и Python
29.08.2025

Содержимое разработки

ЕГЭ 2022  Обработка текстовых файлов  на языках программирования Pascal и Python  на примере задач № 24 Ежова Ю.Л. МБОУ СШ № 13 17.03.2022

ЕГЭ 2022 Обработка текстовых файлов на языках программирования Pascal и Python на примере задач № 24

Ежова Ю.Л.

МБОУ СШ № 13

17.03.2022

Рекомендации к порядку решения задач Создать тестирующую строку и решить задачу для неё, например x: = ‘ABCCBAAAABCC’ или x = ‘ABCCBAAAABCC’ Разместить файл с текстом 24.txt в той же директории, что и файл программы Подгрузить файл и проверить значение первого элемента, например вывести его на экран write(a[1]) или print(a[0])

Рекомендации к порядку решения задач

  • Создать тестирующую строку и решить задачу для неё, например

x: = ‘ABCCBAAAABCC’ или x = ‘ABCCBAAAABCC’

  • Разместить файл с текстом 24.txt в той же директории, что и файл программы
  • Подгрузить файл и проверить значение первого элемента, например вывести его на экран

write(a[1]) или print(a[0])

Работа с текстовым файлом  (все данные в одной строке) Python Pascal Объявить файловую переменную 1 способ: var F : text; открыть файл для чтения связать переменную файлового типа с файлом на диске f = open(

Работа с текстовым файлом (все данные в одной строке)

Python

Pascal

  • Объявить файловую переменную

1 способ:

var F : text;

  • открыть файл для чтения
  • связать переменную файлового типа с файлом на диске

f = open("24.txt")

Assign(F ,’ 24.txt’);

  • считать всю строку из файла в переменную a
  • открыть файл для чтения

a = f.read()

Reset(F);

  • закрыть файл после считывания строки

f.close()

  • считать данные из файла в переменную a

2 способ:

Readln(F, a);

with open("24.txt") as f:

  • закрыть файл в конце программы

s = f.readline()

Close(F)

Задача 1: Текстовый файл состоит не более чем из 10 6  символов  X ,  Y  и  Z . Определите длину самой длинной последовательности , состоящей из символов  Y . (файл Задание 24 ) Python Pascal var m, k, i: integer; s: string; f:text; f = open(

Задача 1: Текстовый файл состоит не более чем из 10 6  символов  XY  и  Z . Определите длину самой длинной последовательности , состоящей из символов  Y . (файл Задание 24 )

Python

Pascal

var m, k, i: integer; s: string; f:text;

f = open("24.txt")

begin

a = f.readline()

f.close()

assign(f, '24.txt'); reset(f); readln(f, s);

k = 0

close(f)

m = 0

m := 0;

k := 0;

for i in a:

if i == "Y":

for i:=1 to Length(s) do

k += 1

if s[i] = 'Y' then

if m

begin

k := k + 1;

m = k

if m

else:

m := k;

k = 0

end

print (m)

else

k := 0;

writeln(m);

end.

Задача 2: Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Определите количество строк, в которых буква E встречается чаще, чем буква A . (файл Задание 24 ) Python Pascal f = open( a.count ("A"): begin k += 1 k := 0; f.close() for j := 1 to length(s) do print (k) if b = s[j] then k += 1; kol := k; end; begin assign(f, '24.txt'); reset(f); count := 0; // пока не конец файла, считываем построчно while not Eof(f) do begin readln(f, a); if kol ('E', a) kol ('A', a) then count += 1 end; write(count); close(f); end. " width="640"

Задача 2: Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Определите количество строк, в которых буква E встречается чаще, чем буква A . (файл Задание 24 )

Python

Pascal

f = open("24.txt")

Var count: integer; a: string; f: text;

// функция, определяющая количество символов b в строке s

k = 0

function kol(b, s: string): integer;

for i in range (1000):

Var j,k: integer;

a = f.readline()

if a.count ("E") a.count ("A"):

begin

k += 1

k := 0;

f.close()

for j := 1 to length(s) do

print (k)

if b = s[j] then k += 1;

kol := k; end;

begin

assign(f, '24.txt'); reset(f); count := 0;

// пока не конец файла, считываем построчно

while not Eof(f) do

begin

readln(f, a);

if kol ('E', a) kol ('A', a) then count += 1

end;

write(count); close(f); end.

Задача 3 : Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Необходимо найти строку, содержащую наименьшее количество букв G (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего . Если таких букв несколько, надо взять ту, которая позже стоит в алфавите. (файл Задание 24 ) f = open(= ma: ma = b.count(i) bu = i print(bu) Пример.  Исходный файл: GIGA GABLAB AGAAA В этом примере в первой строке две буквы G, во второй и третьей — по одной. Берём вторую строку, т. к. она находится в файле раньше. В этой строке чаще других встречаются буквы A и B (по два раза), выбираем букву B, т. к. она позже стоит в алфавите. В ответе для этого примера надо записать B. " width="640"

Задача 3 : Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Необходимо найти строку, содержащую наименьшее количество букв G (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего . Если таких букв несколько, надо взять ту, которая позже стоит в алфавите. (файл Задание 24 )

f = open("24.txt")

m = 100000

ins = 1

for i in range (1000):

a = f.readline()

if a.count("G")

b = a

m = a.count("G")

ins = i

x="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

ma = 0

for i in x:

if b.count(i)= ma:

ma = b.count(i)

bu = i

print(bu)

Пример.  Исходный файл:

GIGA

GABLAB

AGAAA

В этом примере в первой строке две буквы G, во второй и третьей — по одной. Берём вторую строку, т. к. она находится в файле раньше. В этой строке чаще других встречаются буквы A и B (по два раза), выбираем букву B, т. к. она позже стоит в алфавите. В ответе для этого примера надо записать B.

Задача 4 : Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более одной буквы A . (файл Задание 24 ) var i, count, maxlen, countA, k: integer; c: char; f: text; f = open( mh: mh = len(a[i]) + len(a[i+1]) + 1 k := k + 1; if c 'A' then begin print(mh) count := count + 1; if count maxlen then maxlen := count; end else if countA = 0 then begin countA := 1; i := k; count := count + 1; if count maxlen then maxlen := count; end else if countA = 1 then begin count := k - i; i := k; if count maxlen then maxlen := count; end ; end ; writeln(maxlen); end . " width="640"

Задача 4 : Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более одной буквы A . (файл Задание 24 )

var i, count, maxlen, countA, k: integer; c: char; f: text;

f = open("24.txt")

begin

s = f.read()

f.close()

assign(f,'24.txt'); reset(f);

a = s. split ("A")

maxlen := 0; count := 0;

countA := 0; k := 0;

mh = 0

while not eof(f) do begin

for i in range (len(a)-1):

read(f, c);

if len (a[i]) + len (a[i+1]) + 1 mh:

mh = len(a[i]) + len(a[i+1]) + 1

k := k + 1;

if c 'A' then begin

print(mh)

count := count + 1;

if count maxlen then

maxlen := count; end

else if countA = 0 then begin

countA := 1; i := k; count := count + 1;

if count maxlen then maxlen := count; end

else if countA = 1 then begin

count := k - i; i := k;

if count maxlen then maxlen := count;

end ; end ;

writeln(maxlen); end .

Пример CBD A MFKDB A JHBB A HJH A HGG CBD  MFKDB  JHBB  HJH  HGG

Пример

CBD A MFKDB A JHBB A HJH A HGG

CBD MFKDB JHBB HJH HGG

Задача 5. Текстовый файл содержит только заглавные буквы латинского алфавита (ABC...Z). Определите максимальное количество идущих подряд символов, среди которых нет ни одной буквы A и при этом не менее трёх букв E . (файл Задание 24 ) f=open(= 3: if len(a[i]) mh: mh = len(a[i]) print (mh) " width="640"

Задача 5. Текстовый файл содержит только заглавные буквы латинского алфавита (ABC...Z). Определите максимальное количество идущих подряд символов, среди которых нет ни одной буквы A и при этом не менее трёх букв E . (файл Задание 24 )

f=open("24.txt")

s=f.read()

f.close()

a = s.split("A")

mh=0

for i in range (len(a)-1):

if a[i].count("E") = 3:

if len(a[i]) mh:

mh = len(a[i])

print (mh)

Спасибо за внимание)

Спасибо за внимание)

-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Обработка текстовых файлов на языках программирования Pascal и Python на примере задач № 24 (88.14 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт