Анализ ошибок егэ информатика

Информатика 24 задание

За это задание ты можешь получить 1 балл. На решение дается около 30 минут. Уровень сложности: Повышенный.
Средний процент выполнения: 52.2%
Ответом к заданию 24 по информатике может быть Развернутый ответ (полная запись решения с обоснованием выполненных действий).

Разбор сложных заданий в тг-канале

Задачи для практики

Задача 1

Текстовый файл состоит из символов A, B и D.

Определите максимальное количество символов последовательности в прилагаемом файле, среди которых нет пар символов BD или среди которых нет пар BA. только один вид из этих пар может присутствовать в подпоследовательности.

Для выполнения этого задания следует написать программу.

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

F = open('24_ABD. txt', 'r') s = f. readline().strip() s1 = s. replace('BD', 'B D') s2 = s. replace('BA', 'B A') x = s1.split() y = s1.split() max_not_bd = len(max(x, key=len)) max_not_ba = len(max(y, key=len)) print(max(max_not_ba, max_not_bd))

Другой способ решения

F = open('24_ABD. txt', 'r') s = f. readline().strip() max_len = 0 cur_len_notBA = 1 cur_len_notBD = 1 for i in range(len(s) - 1): if s[i] == 'B' and s[i + 1] == 'A': cur_len_notBA = 1 cur_len_notBD += 1 elif s[i] == 'B' and s[i + 1] == 'D': cur_len_notBA += 1 cur_len_notBD = 1 else: cur_len_notBA += 1 cur_len_notBD += 1 max_len = max(max_len, cur_len_notBA, cur_len_notBD) print(max_len)

Ответ: 96 Показать решение

Задача 2

Текстовый файл состоит из символов A, B и D.

Определите самую длинную последовательность символов в которой нет символа B. В ответе запишите количество символов в такой последовательности.

Искомая подпоследовательность должна состоять только из символов А или D.

Для выполнения этого задания следует написать программу.

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

F = open('24_ABD. txt', 'r') s = f. readline().strip() max_s = 0 k = 0 for i in range(len(s)): if s[i] != 'B': k += 1 max_s = max(k, max_s) else: k = 0 print(max_s)

Другой способ решения:

F = open('24_ABD. txt', 'r') s = f. readline().strip() s = s. replace('B', ' ') x = s. split() print(len(max(x, key=len)))

Ответ: Показать решение

Задача 3

Текстовый файл состоит из символов A, B и D.

Определите каких пар символов BD или BA больше в прилагаемом файле.

В ответе укажите количество таких пар и саму пару, без пробелов. Например: 143BD

Для выполнения этого задания следует написать программу.

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

F = open('24_4.txt', 'r') s = f. readline().strip() bd = s. count('BD') ba = s. count('BA') if bd > ba: print(f'BD') else: print(f'BA')

Ответ: Показать решение

Задача 4

Текстовый файл состоит из символов A, B и D.

Определите максимальное количество идущих подряд пар символов или BD или BA в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD.

Для выполнения этого задания следует написать программу.

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

F = open('24.txt', 'r') s = f. readline().strip() s = s. replace('BD', '1') s = s. replace('BA', '2') x1 = s. replace('A', '2') x1 = x1.replace('B', '2') x1 = x1.replace('D', '2') x2 = s. replace('A', '1') x2 = x2.replace('B', '1') x2 = x2.replace('D', '1') x = x1.split('2') max_s = len(max(x, key=len)) x = x2.split('1') max_s = max(max_s, len(max(x, key=len))) print(max_s)

Ответ: Показать решение

Задача 5

Текстовый файл состоит из символов A, B и D.

Определите максимальное количество идущих подряд пар символов BD или BA в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA в произвольном порядке следования этих пар.

Для выполнения этого задания следует написать программу.

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

F = open('24.txt', 'r') s = f. readline().strip() s = s. replace('BD', '1') s = s. replace('BA', '2') s = s. replace('A', ' ') s = s. replace('B', ' ') s = s. replace('D', ' ') x = s. split() print(len(max(x, key=len)))

Ответ: Показать решение

Задача 6

Текстовый файл состоит из символов A, B и D.

Определите максимальное количество идущих подряд пар символов BD или BA в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA в произвольном порядке следования этих пар.

Для выполнения этого задания следует написать программу.

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

F = open('24.txt', 'r') s = f. readline().strip() s = s. replace('BD', '1') s = s. replace('BA', '2') s = s. replace('A', ' ') s = s. replace('B', ' ') s = s. replace('D', ' ') x = s. split() print(len(max(x, key=len)))

Ответ: Показать решение

Задача 7

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.

Определите длину самой длинной цепочки, в которой каждые два соседних символа различны.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABC4).txt»)

If x!= prev1 and prev1 != «Z»:

If cur_len > max_len:

Для данного по условию файла программа должна вывести ответ 35.

Ответ: Показать решение

Задача 8

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B, C и D.

Определите длину самой длинной цепочки, состоящей из одинаковых символов.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABCD3).txt»)

If cur_len > max_len:

Пример решения задачи на С++:

#include 
#include

Using namespace std;

Int main() ifstream file("Задание 24 (ABCD3).txt");
If (file. is_open()) string text;
File >> text;
Int maxCount = 0, currentCount = 1;
For (int i = 1; i < text.length(); ++i) if (text[i - 1] == text[i]) currentcount += 1;
If (currentCount > maxCount)
MaxCount = currentCount;
> else
CurrentCount = 1;
>
Cout > else cout >
Return 0;
>

Для данного по условию файла программа должна вывести ответ 10.

Ответ: Показать решение

Задача 9

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B, C и D.

Определите количество цепочек, состоящих из 4-х символов, где каждые 2 соседних символа различны.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABCD2).txt»)

If (prev3 != «Z» and x!= prev1 and

Prev1 != prev2 and prev2 != prev3):

Пример решения задачи на C++:

#include 
#include

Using namespace std;

Int main() ifstream file("D:\\DOWNLOADS\\num3.txt");
Int count = 0;
If (file. is_open()) string text;
File >> text;
For (int i = 3; i < text.length(); ++i)
If ((text[i - 3] != text[i - 2])
&& (text[i - 2] != text[i - 1])
&& (text[i - 1] != text[i]))
Count++;
Cout > else cout return 0;
>

Для данного по условию файла программа должна вывести ответ 422169.

Ответ: Показать решение

Задача 10

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.

Сколько раз в файле встречается последовательность «CAB»?.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open("file. txt")
St = f. read()
F. close()
Count = 0
Prev1 = "Z"
Prev2 = "Z"
For x in st:
If prev2 == "C" and prev1 == "A" and x == "B":
Count += 1
Prev2 = prev1
Prev1 = x
Print(count)

Пример решения задачи на C++:

#include 
#include
Using namespace std;
Int main() ifstream file("D:\\YandexDisk\\YandexDisk\\ДОКУМЕНТЫ\\РЕПЕТИТОР\\ТУРБОПОДГОТОВКА\\Файлы для задач\\№24\\Задание 24 (ABC1).txt"); 
If (file. is_open()) string text;
File >> text;
Int count = 0;
For (int i = 2; i < text.length(); ++i)if (text[i - 2] == 'c' && text[i - 1] == 'a' && text[i] == 'b')
Count++;
>
Cout > else cout return 0;
>

Для данного по условию файла программа должна вывести ответ 37166.

Ответ: Показать решение

Задача 11

Скачайте текстовый файл, состоящий не более чем из $10^6$ прописных символов английского алфавита от A до Z.

Определите длину самой длинной цепочки, состоящей только из символов A, B и C.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (AZ3).txt»)

Для данного по условию файла программа должна вывести ответ 5.

Ответ: Показать решение

Задача 12

Скачайте текстовый файл, состоящий не более чем из $10^6$ прописных символов английского алфавита от A до Z.

Определите длину самой длинной цепочки, состоящей только из символов A, B и C.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (AZ1).txt»)

Для данного по условию файла программа должна вывести ответ 6.

Ответ: Показать решение

Задача 13

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B, C и D.

Определите количество цепочек длины 4, где все четыре символа различны.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABCD3).txt»)

If (x!= pred1_x and x!= pred2_x and

X!= pred3_x and pred1_x!= pred2_x and

Pred1_x!= pred3_x and pred2_x!= pred3_x

Пример решения задачи на C++:

#include 
#include

Using namespace std;

Bool check(string text) for (int i = 0; i < text.length() - 1; i++)
For (int j = i + 1; j < text.length(); j++)
If (text[i] == text[j])
Return false;
Return true;
>

Int main() ifstream file("D:\\DOWNLOADS\\num4.txt");
Int count = 0;
If (file. is_open()) string text;
File >> text;
For (int i = 3; i < text.length(); ++i)
If ((text[i - 3] != text[i - 2])
&& (text[i - 3] != text[i - 1])
&& (text[i - 3] != text[i])
&& (text[i - 2] != text[i - 1])
&& (text[i - 2] != text[i])
&& (text[i - 1] != text[i]))
// if(check(text. substr(i - 4, 4)))
Count++;
Cout > else cout return 0;
>

Пояснение к коду на C++: реализовано два варианта решения:
1) через проверку различия каждого из 4 символов, окружающих текущий (с номером i)
2) через функцию проверки различия всех символов в подстроке. На вход подаётся строка, циклы производят перебор всех символов и, если хотя бы пара символов равны, функция возвращает false. В функции main вызов этой функции закомментирован.

Для данного по условию файла программа должна вывести ответ 93896.

Ответ: Показать решение

Задача 14

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.

Определите количество цепочек-палиндромов длиной от 3 до 4 символов. Цепочка-палиндром — это такая цепочка, которая читается одинаково слева направо и справа налево.

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABC2).txt»)

If x == pred3_x and pred1_x == pred2_x:

Пример решения задачи на С++:

#include 
#include

Using namespace std;

Int main() ifstream file("D:\\DOWNLOADS\\num5.txt");
Int count = 0;
If (file. is_open()) string text;
File >> text;
For (int i = 3; i < text.length(); ++i)if ((text[i - 3] == text[i])
&& (text[i - 2] == text[i - 1]))
Count++;
If (text[i - 2] == text[i])
Count++;
>
Cout > else cout return 0;
>

Для данного по условию файла программа должна вывести ответ 445333.

Ответ: Показать решение

Задача 15

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.

Определите количество символов в самой длинной «восходящей» цепочке. Назовём цепочку «восходящей», если в ней сначала идёт любое (>0) количество символов A, затем любое (>0) количество символов B, а потом любое (>0) количество символов C, например «AABBBBC».

Для выполнения этого задания напишите программу.

Решение

Решение на Python:

F = open("file. txt")
Max_len = 0
Cur_len = 0
St = f. read()
Pred_x = "X"
For x in st:
If ((x == pred_x and cur_len > 0) or
(x == "B" and pred_x == "A")
Or (x == "C" and pred_x == "B" and cur_len > 0)):
Cur_len += 1
Else:
If x == "A":
Cur_len = 1
Else:
Cur_len = 0
If x == "C" and cur_len > max_len:
Max_len = cur_len
Pred_x = x
Print(max_len)
F. close()

Решение на С++:
Основано на том, что у каждого символа есть код и в восходящей цепочке у каждого следующего символа значение кода должно бытьт больше или рано коду предыдущего

#include 
#include

Using namespace std;

Int main() ifstream file ("file. txt");
String text;
File >> text;
Int maxLength = 0, curLength = 1;
For (int i = 1; i < text.length(); ++i) if (text[i-1] <= text[i]) curlength++;
If (curLength > maxLength)
MaxLength = curLength;
> else
CurLength = 1;
>
Cout return 0;
>

Для данного по условию файла программа должна вывести ответ 19.

Ответ: Показать решение

Задача 16

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.

Определите количество символов в самой длинной «восходящей» цепочке. Назовём цепочку «восходящей», если в ней сначала идёт любое (>0) количество символов A, затем любое (>0) количество символов B, а потом любое (>0) количество символов C, например «AABBBBC».

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABC2).txt»)

If ((x == pred_x and cur_len > 0) or

(x == «B» and pred_x == «A»)

Or (x == «C» and pred_x == «B» and cur_len > 0)):

If x == «C» and cur_len > max_len:

Для данного по условию файла программа должна вывести ответ 16.

Ответ: Показать решение

Задача 17

Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.

Определите количество символов в самой длинной «нисходящей» цепочке. Назовём цепочку «нисходящей», если в ней сначала идёт любое (>0) количество символов C, затем любое (>0) количество символов B, а потом любое (>0) количество символов А, например «CCBAAAAA».

Для выполнения этого задания напишите программу.

Решение

Пример решения задачи на Python:

F = open(«Задание 24 (ABC3).txt»)

If ((x == pred_x and cur_len > 0) or

(x == «B» and pred_x == «C»)

Or (x == «A» and pred_x == «B» and cur_len > 0)):

If x == «A» and cur_len > max_len:

Для данного по условию файла программа должна вывести ответ 17.

Ответ: Показать решение Показать еще

Необходимо зарегистрироваться

Для доступа к решениям необходимо включить уведомления от группы Турбо в вк — это займет буквально 10 секунд. Никакого спама, только самое важное и полезное для тебя. Ты всегда можешь запретить уведомления.

Подпишись на полезные материалы ЕГЭ по информатике: разбор реальных вариантов ЕГЭ и сложных заданий + авторские конспекты

Определить максимальное количество подряд идущих символов, среди которых нет сочетания символов PPP
F=open(’24.txt’)
S=f. readline()
While ‘PPP’ in s: s=s. perlace(‘PPP’, ‘PP PP’)
M=max(s. split(), key=len)
Print(len(m))

Задание 24. Анализ программ. Исправление ошибок в коде. ЕГЭ 2023 по информатике

За это задание ты можешь получить 1 балл. На решение дается около 30 минут. Уровень сложности: Повышенный.
Средний процент выполнения: 52.2%
Ответом к заданию 24 по информатике может быть Развернутый ответ (полная запись решения с обоснованием выполненных действий).

Разбор сложных заданий в тг-канале

F = open(«Задание 24 (ABC3).txt»)

Решение

Split, key len print len m.

Egeturbo. ru

16.11.2018 13:50:47

2018-11-16 13:50:47

Любые данныеЛюбые данныеЛюбые данные Любые данные Любые данные

Любые данные

Любые данные

ЕГЭ. Информатика. 24 задание.

Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт.

Строки содержат только заглавные буквы латинского алфавита (ABC…Z).

Необходимо найти строку, содержащую наименьшее количество букв N (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего.

Если таких букв несколько, надо взять ту, которая позже стоит в алфавите.

For i in range(len(ms)):

For w in sorted(d, key=d. get, reverse=True):

For i in range(len(f)):

If (f[i] == ‘L’ and k%3 == 0) or (f[i] == ‘D’ and k%3 == 1) or (f[i] == ‘R’ and k%3 == 2):

Elif f[i] == ‘L’: k = 1

В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке.
F = open(’24.txt’)
S = f. readlines()
Maxi = 0
For a1 in s:
If a1.count(‘A’) < 25:
M = 0
For i in range(len(a)):
If a1.count(a[i])>1:
R1=a1.find(a[i])
R2=a1.rfind(a[i])
R=r2-r1
If r>m:
M=r
If m > maxi:
Maxi = m
Print(maxi)

Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.
F = open(«24_demo. txt»)
P = f. read()
Ma = 1
Kur = 1
For i in range(1, len(p)):
If p[i]! = p[i-1]:
Kur = kur + 1
Else:
If kur > ma:
Ma = kur
Kur = 1
Print(ma)

Определите максимальное количество идущих подряд символов, среди которых не более одной буквы A.
F = open(’24.txt’)
S = f. read().split(‘A’)
M = 0
For i in range(len(s) — 1):
If len(s[i])+len(s[i+1])+1 > m:
M = len(s[i])+len(s[i+1])+1
Print(m)

Определите количество групп из идущих подряд не менее 12 символов, которые начинаются и заканчиваются буквой E и не содержат других букв E (кроме первой и последней) и букв F.
F = open(’24.txt’).readline().replace(‘E’, ‘E E’).split()
K = 0
For i in range(len(f)):
If f[i].count(‘F’) == 0 and len(f[i]) >= 12:
K+=1
Print(k)

Определите длину самой длинной последовательности, состоящей из символов R
F = open(«zadanie24.txt»)
MaxLen = 1
CurLen = 1
S = f. readline()
For i in range(2, len(s)):
If s[i] == s[i-1] and s[i]== ‘R’:
CurLen = curLen+1
If curLen > maxLen:
MaxLen = curLen
Else:
CurLen=1
Print(maxLen)

Определите количество строк, в которых буква E встречается чаще, чем буква A.
Result = 0
With open(’24.txt’, encoding=’utf-8′) as f:
For line in f:
If line. count(‘E’) > line. count(‘A’):
Result += 1
Print(result)

Найти длинну, состоящую из одинаковых символов
F =open(’24_demo. txt’)
S = f. readline()
C=0
M=0
Ch=[o]
For i in range(1,len(s)):
If s[i] == s[i+1]:
C = c + 1
If c>m:
M, ch =c, s[i]
Else:
C=1
Print(ch, m)

Определите символ, который чаще всего встречается в файле между двумя одинаковыми символами
F = open(‘24345.txt’, ‘r’)
S = f. read()
D = dict()
For i in range(1, len(s) — 1):
If s[i-1] == s[i+1]:
If s[i] not in d:
D[s[i]] = 1
Else:
D[s[i]] += 1
Print(max(d, key=lambda k: d[k]))

Найти длинну самой длинной подцепочки, состоящей из символов С
F =open(’24_demo. txt’)
S = f. readline()
C=0
M=0
For i in range(len(s)):
If s[i] == ‘C’:
C = c + 1
M=max(c, m)
Else:
C=0
Print(m)

F =open(’24_demo. txt’)
S = f. readline()
C=0
M=0
For i in range(len(s)):
If s[i] == ‘C’:
C = c + 1
Elif c>0:
M=max(c, m)
C=0
Print(m)

Определить максимальное количество подряд идущих символов, среди которых каждые два соседних символа различны
F=open(’24.txt’)
S=f. readline()
C= m = s[0]
For i in range(1,len(s):
If s[i-1]! = s[i]:
C+=s[i]
M=max(m, c, key=len)
Else:
C=s[i]
Print(m, len(m))

Определить максимальное количество подряд идущих символов, среди которых нет сочетания символов PPP
F=open(’24.txt’)
S=f. readline()
While ‘PPP’ in s: s=s. perlace(‘PPP’, ‘PP PP’)
M=max(s. split(), key=len)
Print(len(m))

F=open(’24.txt’)
S=f. readline()
C= m = s[0]+s[1]
For i in range(2,len(2,len(s)):
If s[i-2]+s=s[i-1]+s[i]! = ‘PPP’:
C+=s[i]
M=max(m, c, key=len)
Else:
C=s[i-1]+s[i]
Print(len(m))

Текстовый файл состоит из символов A B … Z. Определите максимальное количество идущих подряд символов, среди которых нет рядом стоящих букв A Z (в любом порядке).
F=open(’24.txt’)
S=f. readline()
S=replace(‘AZ’, ‘A Z’).replace(‘AZ’, ‘Z A’)
M=max(s. split(), key=len)
Print(m, len(m))

___________________________________________
F=open(’24.txt’)
S=f. readline()
S= m = s[0]
For i in range(1,len(s)):
If s[i-1]+s[i]! =’AZ’ and s[i-1]+s[i]! =’ZA’:
C +=s[i]
M=max(s. c, key=len)
Else:
C=s[i]
Print(len(m))

Текстовый файл состоит из символов A B … Z. Определите максимальное количество идущих подряд символов, среди которых нет сочетания ST.
1. При разбиении слева и справа от РАЗРЫВА должно оставаться как можно больше символов.
2. Слева НЕ включается последний сивол.
3. Справа НЕ включается первый символ.
F=open(’24.txt’)
S=f. readline()
S=replace(‘ST’, ‘S T’)
M=max(s. split(), key=len)
Print(m, len(m))
_______________________________
F=open(’24.txt’)
S=f. readline()
S= m = s[0]
For i in range(1,len(s)):
If s[i-1]+s[i]! =’ST’:
C +=s[i]
M=max(s, c, key=len)
Else:
C=s[i]
Print(len(m))

Текстовый файл состоит не более чем из 1 200 000 символов X, Y, и Z. Определите максимальное количество идущих подряд символов, среди которых нет подстроки XZZY.
With open(’24.txt’)as f: s = f. read()
S = s. replace(‘XZZY’, ’AAA AAA’)
Print(len(max(s. split(), key=len)))

Текстовый файл состоит не более чем из 1 200 000 символов X, Y, и Z. Определите максимальное количество идущих подряд символов, среди которых нет подстроки KEGE.
With open(’24.txt’)as f: s = f. read()
S = s. replace(‘KEGE’, ’KEG EGE’)
M = max(s. split(), key=len)
Print(len(m))

___________________________________________________
F=open(’24.txt’)
S=f. readline()
C= m = 3
For i in range(3,len(s)):
S[i-3]+s[i-2]+s[i]! = ‘KEGE’:
C +=1
M = max(m, c, key=len)
Else:
C=3
Print(m)

Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке.
With open (‘inf_26_04_21_24.txt’) as f:
Maximum = 0
For a in f. readlines():
If a. count(‘A’) < 25:
For i in range(len(a)):
T1 = a. find(a[i])
T2 = a. rfind(a[i])
T = abs(t1-t2)
Maximum = max(maximum, t)
Print(maximum)

Найти длинну самой длинной цепочки, состоящей из символов С.
F=open(’24.txt’)
S=f. readline()
S1=’C’
While s1 in s:
S1 += ‘C’
Print(len(s1)-1)

____________________________________________
F=open(’24.txt’)
S=f. readline()
L = lmax = 0
For i in range(len(s)):
L+=1
If l>lmax:
Lmax=l
Else:
L=0
Print(lmax)

Определите максимальную длину цепочки вида LDRLDRLDR… (составленной из фрагментов LDR, последний фрагмент может быть неполным).
F=open(’24.txt’)
S=f. readline()
S1=»
While s1 in s:
S1+=’LDR’
S2=’LDR’*2+’LD’
Print(len(s2))

__________________________________________________
F=open(’24.txt’)
S=f. readline()
S1=’E’
While s1 in s:
If s1[-1] ==’E’:
S1+= ‘A’
Elif s1[-1] ==’B’:
S1+= ‘B’
Else:
S1+=’E’
Print(len(s1)-1)

Найти длинну самой длинной подцепочки, состоящей из одинаковых символов. Если в файле несколько цепочек, взять первую из них. Вывести сначала символ, из которого строилась эта цепочка, а затем через пробел — длинну цепочки.
F=open(’24.txt’)
S=f. readline()
T=»
L = lmax = 1
For i in range(len(s)-1):
L+=1
If l>=lmax:
Lmax=l
T=s[i]
Else:
L=1
Print(lmax)

Определить самое большое число, состоящее только из нечетных цифр
F=open(’24.txt’)
S=f. readline()
A=’13579′
L = «
Lmax = 1
For i in range (len(s)):
If s[i] in s:
L=l+s[i]
If int(l>>lmax:
Lmax = int(l)
Else:
L=»
Print(lmax)

Опеределить максимальное число идущих подряд символов, среди которых каждые два соседних различны
F=open(’24.txt’)
S=f. readline()
Maxim = 1
K=1
For i in range(len(s)):
If s[i]! =s[i+1]:
K=k+l
Maxim=max(k, maxim)
Else:
K=1
Print(maxim)

В текстовом файле цепочка из символов A, B, C, D, E. Опеределить длинну самой длинной подцепочки, состоящей из символов A, B, или C — в произвольном порядке.
F=open(’24.txt’)
S=f. readline()
Maxim = 0
K=0
For i in range(len(s)):
If s[i] in ‘ABC’:
K=k+l
Maxim=max(k, maxim)
Else:
K=0
Print(maxim)

Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Необходимо найти строку, содержащую наименьшее количество букв G (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего. Если таких букв несколько, надо взять ту, которая позже стоит в алфавите.
From collection import counter
F=open(’24.txt’)
Line=f. readline()
S=’G’ * 100000
For line in lines:
If line. count(‘G’) < s.count(‘g’):
S=line
Print(Counter(s).most_counter())

_____________________________________________
F=open(’24.txt’)
Line=f. readline()
S=’G’ * 100000
For line in lines:
If line. count(‘G’) < s.count(‘g’):
S=line
A=[]
For i in range(len(s)):
If s[i] not in a:
A[s[i]] = 0
Else:
A[s[i]] += 1
Print(a)

В файле цепочка из символов A, B, C. Найти длинну самой длинной подцепочки, состоящей из символов B
F=open(’24.txt’)
S=f. readline()
S=replace(‘A’, ’ ‘).replace(‘B’, ’ ‘)
M =max(s. split(), key=len)
Print(len(m)

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

# С помощью списка

For stroka in f:

MinG, s = kcurrG, stroka

For i in range(0, len(s) — 1):

Cnt[ord(s[i]) — ord(‘A’)] += 1

For i in range(len(cnt)):

If cnt[i] >= maxCount:

# С помощью словаря

For stroka in f:

MinG, s = kcurrG, stroka

Определите длину самой длинной цепочки, состоящей только из символов A, B и C.

ЕГЭ. Информатика. 24 задание.

Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт.

Строки содержат только заглавные буквы латинского алфавита (ABC…Z).

Необходимо найти строку, содержащую наименьшее количество букв N (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего.

Если таких букв несколько, надо взять ту, которая позже стоит в алфавите.

For i in range(len(ms)):

For w in sorted(d, key=d. get, reverse=True):

For i in range(len(f)):

If (f[i] == ‘L’ and k%3 == 0) or (f[i] == ‘D’ and k%3 == 1) or (f[i] == ‘R’ and k%3 == 2):

Elif f[i] == ‘L’: k = 1

В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке.
F = open(’24.txt’)
S = f. readlines()
Maxi = 0
For a1 in s:
If a1.count(‘A’) < 25:
M = 0
For i in range(len(a)):
If a1.count(a[i])>1:
R1=a1.find(a[i])
R2=a1.rfind(a[i])
R=r2-r1
If r>m:
M=r
If m > maxi:
Maxi = m
Print(maxi)

Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.
F = open(«24_demo. txt»)
P = f. read()
Ma = 1
Kur = 1
For i in range(1, len(p)):
If p[i]! = p[i-1]:
Kur = kur + 1
Else:
If kur > ma:
Ma = kur
Kur = 1
Print(ma)

Определите максимальное количество идущих подряд символов, среди которых не более одной буквы A.
F = open(’24.txt’)
S = f. read().split(‘A’)
M = 0
For i in range(len(s) — 1):
If len(s[i])+len(s[i+1])+1 > m:
M = len(s[i])+len(s[i+1])+1
Print(m)

Определите количество групп из идущих подряд не менее 12 символов, которые начинаются и заканчиваются буквой E и не содержат других букв E (кроме первой и последней) и букв F.
F = open(’24.txt’).readline().replace(‘E’, ‘E E’).split()
K = 0
For i in range(len(f)):
If f[i].count(‘F’) == 0 and len(f[i]) >= 12:
K+=1
Print(k)

Определите длину самой длинной последовательности, состоящей из символов R
F = open(«zadanie24.txt»)
MaxLen = 1
CurLen = 1
S = f. readline()
For i in range(2, len(s)):
If s[i] == s[i-1] and s[i]== ‘R’:
CurLen = curLen+1
If curLen > maxLen:
MaxLen = curLen
Else:
CurLen=1
Print(maxLen)

Определите количество строк, в которых буква E встречается чаще, чем буква A.
Result = 0
With open(’24.txt’, encoding=’utf-8′) as f:
For line in f:
If line. count(‘E’) > line. count(‘A’):
Result += 1
Print(result)

Найти длинну, состоящую из одинаковых символов
F =open(’24_demo. txt’)
S = f. readline()
C=0
M=0
Ch=[o]
For i in range(1,len(s)):
If s[i] == s[i+1]:
C = c + 1
If c>m:
M, ch =c, s[i]
Else:
C=1
Print(ch, m)

Определите символ, который чаще всего встречается в файле между двумя одинаковыми символами
F = open(‘24345.txt’, ‘r’)
S = f. read()
D = dict()
For i in range(1, len(s) — 1):
If s[i-1] == s[i+1]:
If s[i] not in d:
D[s[i]] = 1
Else:
D[s[i]] += 1
Print(max(d, key=lambda k: d[k]))

Найти длинну самой длинной подцепочки, состоящей из символов С
F =open(’24_demo. txt’)
S = f. readline()
C=0
M=0
For i in range(len(s)):
If s[i] == ‘C’:
C = c + 1
M=max(c, m)
Else:
C=0
Print(m)

F =open(’24_demo. txt’)
S = f. readline()
C=0
M=0
For i in range(len(s)):
If s[i] == ‘C’:
C = c + 1
Elif c>0:
M=max(c, m)
C=0
Print(m)

Определить максимальное количество подряд идущих символов, среди которых каждые два соседних символа различны
F=open(’24.txt’)
S=f. readline()
C= m = s[0]
For i in range(1,len(s):
If s[i-1]! = s[i]:
C+=s[i]
M=max(m, c, key=len)
Else:
C=s[i]
Print(m, len(m))

Определить максимальное количество подряд идущих символов, среди которых нет сочетания символов PPP
F=open(’24.txt’)
S=f. readline()
While ‘PPP’ in s: s=s. perlace(‘PPP’, ‘PP PP’)
M=max(s. split(), key=len)
Print(len(m))

F=open(’24.txt’)
S=f. readline()
C= m = s[0]+s[1]
For i in range(2,len(2,len(s)):
If s[i-2]+s=s[i-1]+s[i]! = ‘PPP’:
C+=s[i]
M=max(m, c, key=len)
Else:
C=s[i-1]+s[i]
Print(len(m))

Текстовый файл состоит из символов A B … Z. Определите максимальное количество идущих подряд символов, среди которых нет рядом стоящих букв A Z (в любом порядке).
F=open(’24.txt’)
S=f. readline()
S=replace(‘AZ’, ‘A Z’).replace(‘AZ’, ‘Z A’)
M=max(s. split(), key=len)
Print(m, len(m))

___________________________________________
F=open(’24.txt’)
S=f. readline()
S= m = s[0]
For i in range(1,len(s)):
If s[i-1]+s[i]! =’AZ’ and s[i-1]+s[i]! =’ZA’:
C +=s[i]
M=max(s. c, key=len)
Else:
C=s[i]
Print(len(m))

Текстовый файл состоит из символов A B … Z. Определите максимальное количество идущих подряд символов, среди которых нет сочетания ST.
1. При разбиении слева и справа от РАЗРЫВА должно оставаться как можно больше символов.
2. Слева НЕ включается последний сивол.
3. Справа НЕ включается первый символ.
F=open(’24.txt’)
S=f. readline()
S=replace(‘ST’, ‘S T’)
M=max(s. split(), key=len)
Print(m, len(m))
_______________________________
F=open(’24.txt’)
S=f. readline()
S= m = s[0]
For i in range(1,len(s)):
If s[i-1]+s[i]! =’ST’:
C +=s[i]
M=max(s, c, key=len)
Else:
C=s[i]
Print(len(m))

Текстовый файл состоит не более чем из 1 200 000 символов X, Y, и Z. Определите максимальное количество идущих подряд символов, среди которых нет подстроки XZZY.
With open(’24.txt’)as f: s = f. read()
S = s. replace(‘XZZY’, ’AAA AAA’)
Print(len(max(s. split(), key=len)))

Текстовый файл состоит не более чем из 1 200 000 символов X, Y, и Z. Определите максимальное количество идущих подряд символов, среди которых нет подстроки KEGE.
With open(’24.txt’)as f: s = f. read()
S = s. replace(‘KEGE’, ’KEG EGE’)
M = max(s. split(), key=len)
Print(len(m))

___________________________________________________
F=open(’24.txt’)
S=f. readline()
C= m = 3
For i in range(3,len(s)):
S[i-3]+s[i-2]+s[i]! = ‘KEGE’:
C +=1
M = max(m, c, key=len)
Else:
C=3
Print(m)

Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке.
With open (‘inf_26_04_21_24.txt’) as f:
Maximum = 0
For a in f. readlines():
If a. count(‘A’) < 25:
For i in range(len(a)):
T1 = a. find(a[i])
T2 = a. rfind(a[i])
T = abs(t1-t2)
Maximum = max(maximum, t)
Print(maximum)

Найти длинну самой длинной цепочки, состоящей из символов С.
F=open(’24.txt’)
S=f. readline()
S1=’C’
While s1 in s:
S1 += ‘C’
Print(len(s1)-1)

____________________________________________
F=open(’24.txt’)
S=f. readline()
L = lmax = 0
For i in range(len(s)):
L+=1
If l>lmax:
Lmax=l
Else:
L=0
Print(lmax)

Определите максимальную длину цепочки вида LDRLDRLDR… (составленной из фрагментов LDR, последний фрагмент может быть неполным).
F=open(’24.txt’)
S=f. readline()
S1=»
While s1 in s:
S1+=’LDR’
S2=’LDR’*2+’LD’
Print(len(s2))

__________________________________________________
F=open(’24.txt’)
S=f. readline()
S1=’E’
While s1 in s:
If s1[-1] ==’E’:
S1+= ‘A’
Elif s1[-1] ==’B’:
S1+= ‘B’
Else:
S1+=’E’
Print(len(s1)-1)

Найти длинну самой длинной подцепочки, состоящей из одинаковых символов. Если в файле несколько цепочек, взять первую из них. Вывести сначала символ, из которого строилась эта цепочка, а затем через пробел — длинну цепочки.
F=open(’24.txt’)
S=f. readline()
T=»
L = lmax = 1
For i in range(len(s)-1):
L+=1
If l>=lmax:
Lmax=l
T=s[i]
Else:
L=1
Print(lmax)

Определить самое большое число, состоящее только из нечетных цифр
F=open(’24.txt’)
S=f. readline()
A=’13579′
L = «
Lmax = 1
For i in range (len(s)):
If s[i] in s:
L=l+s[i]
If int(l>>lmax:
Lmax = int(l)
Else:
L=»
Print(lmax)

Опеределить максимальное число идущих подряд символов, среди которых каждые два соседних различны
F=open(’24.txt’)
S=f. readline()
Maxim = 1
K=1
For i in range(len(s)):
If s[i]! =s[i+1]:
K=k+l
Maxim=max(k, maxim)
Else:
K=1
Print(maxim)

В текстовом файле цепочка из символов A, B, C, D, E. Опеределить длинну самой длинной подцепочки, состоящей из символов A, B, или C — в произвольном порядке.
F=open(’24.txt’)
S=f. readline()
Maxim = 0
K=0
For i in range(len(s)):
If s[i] in ‘ABC’:
K=k+l
Maxim=max(k, maxim)
Else:
K=0
Print(maxim)

Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Необходимо найти строку, содержащую наименьшее количество букв G (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего. Если таких букв несколько, надо взять ту, которая позже стоит в алфавите.
From collection import counter
F=open(’24.txt’)
Line=f. readline()
S=’G’ * 100000
For line in lines:
If line. count(‘G’) < s.count(‘g’):
S=line
Print(Counter(s).most_counter())

_____________________________________________
F=open(’24.txt’)
Line=f. readline()
S=’G’ * 100000
For line in lines:
If line. count(‘G’) < s.count(‘g’):
S=line
A=[]
For i in range(len(s)):
If s[i] not in a:
A[s[i]] = 0
Else:
A[s[i]] += 1
Print(a)

В файле цепочка из символов A, B, C. Найти длинну самой длинной подцепочки, состоящей из символов B
F=open(’24.txt’)
S=f. readline()
S=replace(‘A’, ’ ‘).replace(‘B’, ’ ‘)
M =max(s. split(), key=len)
Print(len(m)

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

# С помощью списка

For stroka in f:

MinG, s = kcurrG, stroka

For i in range(0, len(s) — 1):

Cnt[ord(s[i]) — ord(‘A’)] += 1

For i in range(len(cnt)):

If cnt[i] >= maxCount:

# С помощью словаря

For stroka in f:

MinG, s = kcurrG, stroka

Пример решения задачи на Python:

Решение

Скачайте текстовый файл, состоящий не более чем из 10 6 прописных символов английского алфавита от A до Z.

Zojkin. ru

11.02.2017 10:19:27

2017-02-11 10:19:27

Любые данныеЛюбые данные Любые данные Любые данные

Любые данные

Любые данные

Источники:

Https://egeturbo. ru/ege/inf/tasks/24

Https://zojkin. ru/ege-informatika-24-zadanie

Политика конфиденциальности и использования файлов сookie: Этот сайт использует файлы cookie. Продолжая пользоваться этим сайтом, вы соглашаетесь с их использованием.
Дополнительную информацию, в том числе об управлении файлами cookie, можно найти здесь: Политика использования файлов cookie

Определите максимальное количество подряд идущих пар скобок “()”, а также общее количество ().

Для отправки комментария вам необходимо авторизоваться.

(3) (20)

    (5) (2)
    (2)

Политика конфиденциальности и использования файлов сookie: Этот сайт использует файлы cookie. Продолжая пользоваться этим сайтом, вы соглашаетесь с их использованием.
Дополнительную информацию, в том числе об управлении файлами cookie, можно найти здесь: Политика использования файлов cookie

Добавить комментарий Отменить ответ

Генератор подстрок, количество вхождений, самая длинная подстрока.

Infikt. ru

27.02.2019 9:38:25

2019-02-27 09:38:25

Источники:

Https://infikt. ru/varianty-ege/zadanie-24-kege-2021-skobki. html

Информатика ЕГЭ 24 задание разбор » /> » /> .keyword { color: red; } Информатика егэ 24 задание

Информатика ЕГЭ 24 задание разбор старое

Информатика ЕГЭ 24 задание разбор старое

24-е задание: «Вторая часть: программирование»
Уровень сложности — повышенный,
Максимальный балл — 3,
Примерное время выполнения — 30 минут.

Последовательности чисел

На обработку поступает последовательность из Четырёх целых неотрицательных чисел. Нужно написать программу, которая выводит на экран Количество чисел, остаток от деления на 10 которых равен 0, и Сумму таких чисел. Если таких чисел нет, требуется вывести на экран «NO». Программист написал программу неправильно.

Var p, i, x, count: integer; begin count := 0; p := 0; for i := 1 to 4 do begin read(x); if x mod 10 = 0 then begin count := count + 1; p := x; end end; if p > 0 then begin writeln(count); writeln(p); end else writeln(‘NO’) end.

Последовательно выполните следующее:

Напишите, что выведет эта программа при вводе 13, 20, 37, 40. Приведите пример входных данных, при вводе которых программа выведет верный ответ. Среди вводимых чисел должно быть хотя бы одно, удовлетворяющее условию отбора. Укажите этот ответ. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

В программе есть две ошибки. Исправления приведены для языка Pascal.
1) Неверное накопление суммы.
Строка с ошибкой:

2) Неверная проверка наличия чисел в последовательности, удовлетворяющих условию.
Строка с ошибкой:

Работа с цифрами числа

Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, равное количеству Цифр 4 в Десятичной записи числа N. Программист написал программу неправильно. Ниже эта написанная им программа для Вашего удобства приведена на нескольких языках программирования.
Паскаль:

Var N: longint; R, d: integer; begin readln(N); R := 0; while N > 0 do begin d := N mod 10; if d <> 4 then R := R + d; N := N div 10; end; writeln(R); end.

DIM N AS LONG DIM R, d AS INTEGER INPUT N R = 0 WHILE N > 0 d = N MOD 10 IF d <> 4 THEN R = R + d END IF N = N \ 10 WEND PRINT R END

N = int(input()) R = 0 while N > 0: d = N % 10 if d!= 4: R = R + d N = N // 10 print(R)

#include using namespace std; int main() < long int n; int r, d; cin >> N; R = 0; while (N > 0) < d = n % 10; if (d != 4) < r = r + d; >N = N / 10; > cout

Последовательно выполните следующее:

Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:

Программа выведет число 3.

Примечание для эксперта. Программа выводит сумму цифр, отличных от 4.

Первая ошибка: неверная проверка условия увеличения счетчика – переменной R.
Строка с ошибкой:

Вторая ошибка: неверно увеличивается значение переменной R.
Строка с ошибкой:

Решение 24 задания ЕГЭ по информатике 2018 года ФИПИ вариант 1 (Крылов С. С., Чуркина Т. Е., «Типовые экзаменационные варианты», 10 вариантов):

Дано натуральное число N, не превосходящее 10000. Требуется найти и напечатать минимальную четную цифру в десятичной записи числа N. Гарантируется, что в десятичной записи числа N есть хотя бы одна четная цифра.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

Var n, mi, m: integer; begin read(n); mi := n mod 10; while n > 0 do begin m := n mod 10; if (m < mi) and (m mod 2 = 0) then mi := m; n = n div 10 end; writeln(m) end.

Последовательно выполните следующее:

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

Обратите внимание: Вам нужно исправить приведенную программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки.

При вводе числа 187 программа выведет 1. Например, число 4. Программа содержит две ошибки:

1) неверная инициализация mi;
2) неверная печать результата.
Пример исправления для языка Паскаль:

Первая ошибка:

Исправленная строка:

Комментарий для экспертов: В качестве начального значения подходит любое число, большее 8. Инициализация правой цифрой числа является неверной, поскольку она может быть нечетной. Так, например, даже при условии исправления ошибки вывода инициализация mi правой цифрой для числа 187 даст неверный результат (7 вместо 8).

Вторая ошибка:

Исправленная строка:

Ученик написал программу, которая находит максимальную цифру заданного числа, кратную 6 (Примечание: 0 кратен любому числу). Если таких чисел нет, то программа должна напечатать NO. Но его программа оказалась неверной.

Var N, digit, maxDigit:integer; begin readln(N); maxDigit := N mod 10; while N>0 do begin digit:= N mod 10; if (digit > maxDigit) and (digit mod 6 = 0) then maxDigit:=digit; N:=N div 10; end; if maxDigit = 0 then writeln(‘NO’) else writeln(maxDigit); end.

Последовательно выполните следующее:

Напишите, что выведет эта программа при вводе числа 143. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой сделана ошибка и укажите, как исправить ошибку, т. е. приведите правильный вариант строки.

    Алгоритм предназначен для поиска максимальной цифры числа, кратной 6. Переменная MaxDigit предусмотрена для хранения максимальной цифры. Изначально ей в программе присвоена крайняя справа цифра (разряд единиц) — maxDigit := N mod 10; . Т. е. остаток при делении числа на 10 — это и есть крайняя справа цифра. В цикле пока N > 0 : от N «отсекается» каждая цифра справа и сохраняется в переменную Digit; осуществляется проверка: если «отсеченная» цифра больше максимальной ( digit > maxDigit ) и кратна 6 ( digit mod 6 = 0 ), то устанавливаем ее максимальной ( maxDigit:=digit; ); сохраняем N без «отсеченной» цифры ( N:=N div 10; , т. е. целочисленно делим на 10, таким образом отсекая цифру справа). После цикла осуществляется проверка: если максимальным числом был 0, то выводим слово NO, иначе выводим максимальное число.

?Дальнейшее объяснение НЕ нужно писать на экзамене:

    В четвертой строке программы в MaxDigit сохранится крайняя справа цифра числа, т. е. 3. В цикле в условном операторе (строка 7) больше не найдется ни одной цифры, удовлетворяющей условию, т. е. ни 4, ни 1 не будут кратными 6. В результате программа выведет значение MaxDigit, т. е. цифру 3.

Рассмотрим подробно каждый шаг:

?Дальнейшее объяснение НЕ нужно писать на экзамене:

В MaxDigit сохранится цифра 6, которая максимальна в числе и кратна 6.
?

1) неверная инициализация переменной maxDigit:
Ошибочная строка: maxDigit := N mod 10; (№ 4)
Исправление: maxDigit := -1;
?Дальнейшее объяснение НЕ нужно писать на экзамене:
Изначально максимальным необходимо назначить наименьшую возможную цифру, которая не кратна 6 (0 кратен любому числу, поэтому -1)
?

2) неверное условие:
Ошибочная строка: if maxDigit = 0 then (№ 11)
Исправление: if maxDigit = -1 then
?Дальнейшее объяснение НЕ нужно писать на экзамене:
Вытекает из предыдущего пункта
?

Делители числа

24_5: Разбор 24 задания ЕГЭ по информатике 2019 года ФИПИ вариант 12 («Типовые экзаменационные варианты», Крылов С. С., Чуркина Т. Е.):

Дано натуральное число N, не превосходящее 1000. Среди всех его делителей, кратных трём, необходимо найти Максимальный, не равный самому числу N, и напечатать его. Если у числа N нет делителей, кратных трём, то программа должна напечатать «Не существует».
Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

Var n, k, m: integer; begin read(n); m := 0; k := 3; while k 0 then writeln(m) else writeln(‘He существует’) end.

Последовательно выполните следующее:

Напишите, что выведет эта программа при вводе числа 15. Приведите пример натурального числа, при вводе которого приведённая программа напечатает то, что требуется. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. При вводе числа 15 программа выведет число 15. Например, число 2.

Для всех чисел, не кратных трём, и самого числа 3 программа будет выдавать верный ответ «Не существует». Для остальных N программа будет выдавать само число N, что неверно.

1) неверное условие цикла;
2) неверная проверка делимости n на k.
Пример исправления для языка Паскаль:
Первая ошибка:

Степень числа

Разбор 24 задания ЕГЭ по информатике 2019 года ФИПИ вариант 9 («Типовые экзаменационные варианты», Крылов С. С., Чуркина Т. Е.):

Дано натуральное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 5. То есть требуется определить, существует ли такое целое число К, что 5 К = N, и вывести это число либо сообщение, что такого числа не существует.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

Var n, k: integer; begin read(n); k := 0; while n > 1 do begin k := k + 1; n := n div 5; end; if k > 0 then writeln(k) else writeln(‘He существует’) end.

Последовательно выполните следующее:

Напишите, что выведет эта программа при вводе числа 21. Приведите пример натурального числа, не превосходящего 1000, при вводе которого приведённая программа напечатает то, что требуется. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. При вводе числа 21 программа выведет число 2. Примеры чисел, при вводе которых программа выводит корректный ответ: 5, 25, 125, 625. Программа содержит две ошибки:

1) неверное условие цикла;
2) неверное условие при печати результата.
Пример исправления для языка Паскаль:
Первая ошибка:

Существует ли такое число

Дано натуральное число N, не превосходящее 1000. Необходимо определить, существует ли такое натуральное число M, что N можно представить в виде произведения (M-1)(M+1). Если это возможно, то следует напечатать число M, в противном случае вывести сообщение, что такого числа не существует.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

Последовательно выполните следующее:

Напишите, что выведет эта программа при вводе числа 3. Приведите пример натурального числа, при вводе которого приведенная программа напечатает то, что требуется. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

Достаточно указать ошибки и способ их исправления для одного языка программирования.

Программа выведет ‘Не существует’

?Дальнейшее объяснение НЕ нужно писать на экзамене:

1) ошибочное условие цикла:
Ошибочная строка: while ((m-1)*(m+1) = n)
Исправление: while ((m-1)*(m+1) <> n)

    В четвертой строке программы в MaxDigit сохранится крайняя справа цифра числа, т. е. 3. В цикле в условном операторе (строка 7) больше не найдется ни одной цифры, удовлетворяющей условию, т. е. ни 4, ни 1 не будут кратными 6. В результате программа выведет значение MaxDigit, т. е. цифру 3.

Информатика ЕГЭ 24 задание разбор старое

24-е задание: «Вторая часть: программирование»
Уровень сложности — повышенный,
Максимальный балл — 3,
Примерное время выполнения — 30 минут.

На обработку поступает последовательность из Четырёх целых неотрицательных чисел. Нужно написать программу, которая выводит на экран Количество чисел, остаток от деления на 10 которых равен 0, и Сумму таких чисел. Если таких чисел нет, требуется вывести на экран «NO». Программист написал программу неправильно.

Var p, i, x, count: integer; begin count := 0; p := 0; for i := 1 to 4 do begin read(x); if x mod 10 = 0 then begin count := count + 1; p := x; end end; if p > 0 then begin writeln(count); writeln(p); end else writeln(‘NO’) end.

Последовательно выполните следующее:

Напишите, что выведет эта программа при вводе 13, 20, 37, 40. Приведите пример входных данных, при вводе которых программа выведет верный ответ. Среди вводимых чисел должно быть хотя бы одно, удовлетворяющее условию отбора. Укажите этот ответ. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

В программе есть две ошибки. Исправления приведены для языка Pascal.
1) Неверное накопление суммы.
Строка с ошибкой:

2) Неверная проверка наличия чисел в последовательности, удовлетворяющих условию.
Строка с ошибкой:

Напишите, что выведет эта программа при вводе 13, 20, 37, 40. Приведите пример входных данных, при вводе которых программа выведет верный ответ. Среди вводимых чисел должно быть хотя бы одно, удовлетворяющее условию отбора. Укажите этот ответ. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

, Типовые экзаменационные варианты, 10 вариантов.

Labs-org. ru

02.03.2018 17:04:18

2018-03-02 17:04:18

Источники:

Https://labs-org. ru/ege-24-practice_/

В этой подборке рассказываем о частых ошибках, которые допускают ученики на ЕГЭ по информатике.

Ошибки на ЕГЭ по информатике можно разделить на две группы.

Ошибки по невнимательности

👉  Путаница возникает в заданиях, где нужно найти количество каких-либо чисел, максимум, минимум. 


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

Чтобы не допустить такую ошибку, внимательно читайте условия заданий, даже если вам кажется, что вы миллион раз такое решали. 

Также на экзамене нужно максимально собраться и не позволить стрессу захватить над собой власть. Безусловно, сдача ЕГЭ — это волнительно. Но если вы чувствуете, что перенапряжены, то оставьте трудное задание, попейте воды, выйдете из аудитории, сделайте глубокий вдох и выдох и только после этого возвращайтесь к решению.

Учиться только по учебникам и пособиям — скучно! В этой статье мы собрали полезные сайты, мобильные приложения и группы для подготовки к ЕГЭ по информатике, которые станут отличным дополнением. 

👉 Следующий тип ошибок по невнимательности, как их называет преподаватель Вебиума Коля Касперский — это «забыл единицу». Часто эта ошибка встречается в 8 задании, где спрашивают количество слов. 

Чтобы её не допустить, рекомендуем перерешивать задачу, но не сразу, а по следующей схеме:

  1. Решить таску способом, в котором уверен.
  2. Выписать ответ на черновик.
  3. Забыть на время этот ответ, не фокусироваться на нём.
  4. Решить остальные таски.
  5. Спустя время вернуться к задаче и решить её другим способом.
  6. Сравнить два получившихся ответа.
  7. Ответы одинаковые — смело записать решение в бланк.


Не знаете с чего начать подготовку к ЕГЭ по информатике? Читайте наш
пошаговый план для подготовки ЕГЭ с нуля.

👉 Ещё один вариант ошибок по невнимательности — ошибки, вызванные человеческим фактором. Все люди могут ошибиться: неправильно заполнить бланк, выписать не тот ответ, запутаться.

Чтобы на отлично справиться со всеми заданиями нужна самопроверка. Находите ответ и подставляете в решение, анализируете всё ли сходится. 

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

👉  Также выпускники часто допускают на ЕГЭ по информатике смысловые ошибки. 

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

Как избежать подобной ситуации: уделите больше времени своей подготовке к ЕГЭ, подойдите к ней более системно. Например, можно записаться на наши курсы подготовки. Чтобы познакомиться с форматом и оценить преподавателей, начните с бесплатного демокурса.

Ошибки по незнанию

Если работа над ошибками из первой группы решается тренировкой внимательности при чтении заданий и заполнении бланков, то со второй гораздо сложнее: если не выучил какую-нибудь тему, например, матлогику, то вряд ли получится решить 2 и 15 задание.

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

Главная ошибка ЕГЭ по информатике: 

На что обратить внимание при подготовке к ЕГЭ по информатике 

  • Уделите внимание разделу «Логика», в нём допускают много ошибок.
  • Научитесь решать задачи с использование простейших таблиц.
  • Научитесь создавать собственные программы для анализа числовых последовательностей.
  • 27 задача относится к заданиям высокого уровня сложности. Как показывают данные ФИПИ, средний процент выполнения этого задания среди учеников — 3%. Внимательно отнестись к этому номеру во время вашей подготовки: спланируйте варианты решения, отработайте способы на практике, чтобы не потерять драгоценные баллы. 
  • Для решения заданий из второй части нужно уметь работать с массивами, файлами и строками, числовыми алгоритмами.
  • Также обратите внимания на 11 и 12 задания которые вызывают затруднения у учеников.

Общие советы при решении любых задач по информатике 

1️⃣ Максимально рисуйте задачу. Не сразу переходите к решению, написанию кода или внесению каких-либо цифр. Сначала визуализируйте задачу — схематично зарисуйте её на черновике.

2️⃣ Не пытайтесь удержать всё в уме. Выписывайте на черновик числа и вводные данные, рисуйте рисунки, стройте математические модели. Это упростит решение заданий и избавит от путанницы.

3️⃣ Не бойтесь ошибок!  Допускать ошибки во время подготовки — это нормально. Но помните, научиться исправлять их, устранять пробелы в знаниях и нарабатывать навыки — это ваша ответственность. От качества подготовки и усердия зависят будущие баллы.


В разделе «
Шпаргалки» на нашем сайте вы найдёте много справочных материалов для подготовки к ЕГЭ по информатике. 😎

В видео на YouTube Коля Касперский разобрал самые частые ошибки на ЕГЭ по информатике. Посмотрите, чтобы не повторять их!

Анализ программы с
циклами и условными операторами

Разбор заданий №
20 ЕГЭ (11 кл)

 

Проверяемые
элементы содержания
: Знание основных конструкций
языка программирования, понятия пере- менной, оператора присваивания.

(базовый
уровень, время – 3 мин)

 

Что нужно знать:

Pascal

Python

Цикл

while <условие>
do

begin 

  <тело
цикла>  end
;

while <условие>

     <тело
цикла>

Ветвление

if  <условие>
then

           
<действие 1>
else

           
<действие 2>
;

if  <условие>:

       
<действие 1>
else:

       
<действие 2>

Алгоритм решения:

1.    
Определить для каждой переменной M и L соответствующее
значение (т.е.
какое число печатается первым M или L).

2.    
Определить какая величина обозначается переменной M, а какая –  L:

a.       
например, Mлибо разрядность числа x, либо количество
цифр (чётных или нечётных) в записи числа
x;

b.       
например, L – результат действий над коэффициентами развёрнутой записи

M−1

числа
x: x = ∑ aipi, 0 ≤ ai
< p .

i=0

3.    
По операции x mod p определить систему
счисления
p, в которую переводится число x. [например, p = 8]

4.    
Определить алгоритм получения значения переменной L:

a.       
Lлибо произведение или
сумма  p-ричных чётных или
нечётных цифр в
записи числа
x

Тогда
разложить
L на множители (слагаемые) и получить множество Q возможных коэффициентов ai.

b.       
L – количество нулей или единиц в записи числа x, при p = 2. 

Тогда
множество
Q составляют L двоичных цифр (нулей или единиц).

5.    
В соответствии с задачей поиска min или max значения числа x, дополнить множество Q цифрами aj < p
‘противоположной’ чётности.

6.    
Из полученного множества Q выбрать M цифр в порядке,
соответствующем задаче поиска
min или max значения числа x.

7.    
Вычислить x по формуле x     aipi
[например,
x = a2•p2 + a1•p 1 + a0•p
0]

i=0

используемые обозначения:

Целая часть[1]
– [
x]

Дробная часть2
– {x
}

Pascal

Python

описание
операции

div

//

оставляет только целую
часть
от деления, при делении на 10 это
равносильно отсечению последней цифры.

mod

%

оставляет только остаток
от деления, при делении на 10 это последняя цифра
x.

Информационные ресурсы:

1.    
Теория:
Программирование циклических алгоритмов
Программирование разветвляющихся алгоритмов

2.    
Задания
для тренировки:
https://inf-ege.sdamgia.ru/?redir=1

3.     Онлайн-тест
Константина Полякова для подготовки к ЕГЭ: 
B20
— Анализ программы с циклами и ветвлениями

Задание № 20 (ДЕМО
ЕГЭ-2020 ФИПИ)

На языках программирования записан
алгоритм. 

Получив на вход натуральное
десятичное
число x,
этот алгоритм печатает два

числа: L
и
M.
Укажите
наименьшее число
x,
при вводе которого алгоритм печатает

сначала 6,
а потом
7.

Бейсик

Python

Паскаль

DIM X, L, M AS INTEGER

INPUT X

L  
= 0

M 
= 0

WHILE X > 0

   M = M + 1

   IF X MOD 2 = 0 THEN

      L = L + 1

   END IF

   X = X \ 2

WEND

PRINT L

PRINT M

x = int(input())

L = 0 M = 0 while x > 0:     M = M +
1     if x % 2 == 0:         L = L +  1     x = x // 2 print(L) print(M)

var x, L,
M: integer;

begin

    readln(x);     L := 0; M := 0;     while x > 0 do    
begin

        M
:= M + 1;

       
if x mod 2 = 0 then

           
L :=  L + 1;         x := x div 2     end;     writeln(L);     writeln(M)
end.

Решение:

1.     L
= 6, M = 7.

2.     M
– разрядность числа
x
в двоичном представлении. 

3.     p
= 2,
min(10000002
 ≤

x
≤ 1111111
2)
– ?

4.     L
– количество чётных двоичных цифр (количество нулей в двоичной записи числа).

5.     Q
= {0, 0, 0, 0, 0, 0}

6.     дополним
множество нечётными цифрами: 

7.     Q
= {1, 0, 0, 0, 0, 0, 0}

8.     x
= 1000000
2 = 26
= 64
10 Ответ:
64.

Задание № 20 (ДЕМО
ЕГЭ-2019 ФИПИ)

На языках программирования записан
алгоритм. 

Получив на вход натуральное
десятичное
число x,
этот алгоритм печатает два

числа: L
и
M.
Укажите
наибольшее число
x,
при вводе которого алгоритм печатает

сначала 21,
а потом
3.

Бейсик

Python

Паскаль

DIM X, L, M AS INTEGER

INPUT X

L  
= 1

M 
= 0

WHILE X > 0

   M = M + 1

   IF X MOD 2 <> 0 THEN

      L = L * (X MOD 8)

   END IF

   X = X \ 8

WEND

PRINT L

PRINT M

x = int(input())

L = 1 M = 0 while x > 0:     M = M +
1     if x % 2 != 0:         L = L * (x % 8)      x = x // 8 print (L) print
(M)

var x, L,
M: integer;

begin

    readln(x);     L := 1; M := 0;     while x > 0 do    
begin

       
M := M + 1;         if x mod 2 <> 0 then             L := L * (x mod
8);         x := x div 8     end;     writeln(L);     writeln(M) end.

Решение:

1.                 
L
= 21, M = 3.

2.                 
М
– разрядность числа
x
x
трёхзначное число; 99 < x

999.

3.                 
p = 8, 10010 


x
≤ 777
8 = 511​  10

4.                 
ai
– нечётные, L = 21 = 7•3•1
​ 

5.                 
Q
= {
7, 6, 3,
1}

6.                 
x
= 763
8 = 7•82 +
6•8 + 3 = 448 + 48 + 3 = 499
10. Ответ:
499.

Задание № 20 (ДЕМО
ЕГЭ-2018 ФИПИ)

На языках программирования записан
алгоритм. Получив на вход число
x,
этот

алгоритм печатает два числа: L
и

M.
Укажите
наименьшее
число
x,
при вводе

которого алгоритм печатает сначала 5, а потом 7.

Паскаль

 Python

Решение:

var x, L,
M: integer;

begin

    readln(x);     L := 0;  M := 0;     while x>0 do    
begin

        M
:= M + 1;

        if
x mod 2 <> 0 then

           
L := L + 1;         x := x div 2;     end;     writeln(L);     writeln(M);
end.

x = int(input())

L = 0 M = 0 while x >
0:     M = M + 1     if x % 2 != 0:         L = L + 1     x = x // 2 print
(L) print (M)

1.     L
= 5, M = 7.

2.     M
– разрядность числа x в двоичном представлении. 

3.     p
= 2,
min
(1000000
2  ≤
x ≤ 1111111
​    2)
– ?

4.     L
– количество нечётных двоичных цифр.

5.     Q
= {1, 1, 1, 1, 1}

6.     дополним
множество чётными цифрами: 

7.     Q
= {1, 0, 0, 1, 1, 1, 1}

8.     x
= 1001111
2
= 2
6 +
23
+
2
2
+
2
1
+
20
=

= 64 + 8 + 4 + 2 + 1 = 7910

Ответ:
79.                              

Разбор заданий № 20. СтатГрад. Подготовка к ЕГЭ 2019[2]

Вариант 1

  На языках программирования записан
алгоритм. Получив на вход число
x,
этот

алгоритм печатает два числа: a
и
b.
Укажите
наибольшее
из таких чисел
x,
при вводе

которого алгоритм печатает сначала 3, а потом 14.

Паскаль

 Python

Решение:

var x, a,
b: integer;

begin    readln(x);    a := 0; b := 0;    while x > 0
do    begin       a := a + 1;       if x mod 2= 0 then          b := b + x
mod 10;

      x
:= x div 10;

  
end;    writeln(a); write(b); end.

x = int(input()) a = 0  b =
0 while x > 0:     a = a + 1     if x%2 == 0:         b += x % 10     x =
x // 10 print(a, b)

1.     a
= 3, b = 14.

2.     a
– разрядность числа x
10. 
max
(100 ≤ x ≤ 999)
– ? 

3.     b
– сумма чётных десятичных цифр.

4.     b
= 8+6+0, Q = {8, 6, 0}

5.     дополним
множество нечётными цифрами:  Q = {
9, 8, 6, 0}

6.     x
= 986

Ответ:
986.                                      

Вариант 2

 На языках программирования  записан
алгоритм. Получив на вход число
x
этот

алгоритм
печатает два числа:
a
и
b
. Укажите
наибольшее 
из таких чисел
x,
при вводе

которого алгоритм печатает сначала
3, а потом 12.

Паскаль

Python

Решение:

var x, a,
b: integer;

begin

    readln(x);     a := 0; b := 0;     while x > 0 do    
begin         a := a + 1;

        if x mod 2 = 0 then             b := b + x mod 10;

        x
:= x div 10;

   
end;     writeln(a); write(b); end.

x = int(input()) a = 0; b =
0 while x > 0:    a = a + 1    if x % 2 == 0:        b += x % 10    x = x
// 10 print(a, b)

1.     a
= 3, b = 12.

2.     a
– разрядность числа x
10. 

100 ≤ x ≤ 999 → max

3.     b
– сумма чётных десятичных цифр.

4.     b
= 8+4+0, Q = {8, 4, 0}

5.     дополним
множество нечётными цифрами:  Q = {
9, 8, 4, 0}

6.     x
= 984

Ответ:
984.                             

Вариант 3

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа:
a
и b
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала
2,
а потом
4.

Паскаль

Python

Решение:

var x, a,
b: longint;

begin    readln(x);    a := 0; b := 0;    while x > 0 do
begin       if x mod 2 = 0 then

a                
:= a + 1      
else

b                
:= b + x mod
10;          x := x div 10;       end; writeln(a); write(b); end.

x = int(input()) a = 0  b =
0 while x > 0:    if x%2 == 0:

a          
+=
1    else:

b          
+=
x % 10       x = x // 10 print (a, b)

1.     a
= 2, b = 4.

2.     a
– количество чётных цифр в записи числа x. 

3.     x
min,
a – 2 нуля

4.     b
– сумма нечётных десятичных цифр.

5.     b
= 3+1, Q = {1, 3}

6.     дополним
множество двумя минимальными цифрами: 

 Q = {1,
3,
0,
0}
или  Q = {
1,
1, 1, 1, 0, 0
}

7.     x
= 1003

Ответ: 1003.

Вариант 4

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм
печатает два числа:
a
и
b
. Укажите
наибольшее 
из таких чисел
x
, при вводе

которого алгоритм печатает сначала 2,
а потом
4.

Паскаль

Python

Решение:

var x, a,
b: longint;

begin

    readln(x);     a := 0; b := 0;     while x > 0 do    
begin

        if x mod 2= 0 then             a := a + 1        
else

           
b := b + x mod 10;

        x
:= x div 10;

   
end;     writeln(a); write(b); end.

x = int(input()) a = 0; b =
0 while x > 0:     if x % 2 == 0:

a          
+=
1     else:

b          
+=
x % 10     x = x // 10 print(a, b)

1.     a
= 2, b = 4.

2.     a
– количество чётных цифр в записи числа x. 

3.     x
max

4.     b
– сумма нечётных десятичных цифр.

5.     b
= 1+1+1+1, Q = {1, 1, 1, 1}

    ( или b = 3+1, Q = {1, 3})

6.     дополним
множество двумя максимальными чётными цифрами: 

 Q = {1, 1, 1, 1, 8, 8}

7.     x
= 881111
Ответ: 881111.

Вариант 5

 На
языках программирования записан алгоритм. Получив на вход число
​ 
x
,  этот

алгоритм печатает два числа: a
и
b
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала 2,
а потом
4.

Паскаль

Python

Решение:

var x, a,
b: longint;

begin    readln(x);    a := 0; b := 0;    while x > 0 do
begin       if x mod 2 = 0 then

a                
:= a + 1      
else

b                
:= b + x mod 6;

      x
:= x div 6;

  
end;    writeln(a); write(b); end.

x = int(input()) a = 0  b =
0 while x > 0:     if x % 2 == 0:

a          
+=
1     else:

b          
+= x % 6     x = x // 6 print (a, b)

1.     a
= 2, b = 4.

2.     a
– количество чётных цифр в записи числа x. 

3.     x
min

4.     b
– сумма нечётных шестиричных
цифр.

5.     b
= 3+1, Q = {1, 3}

6.     дополним
множество двумя минимальными цифрами: 

 Q = {1, 3, 0, 0}

7.     x
= 1003
6 =
6
3+3
= 219
10 Ответ:
219.

Вариант 6

 На
языках программирования записан алгоритм. Получив на вход число
​   
x
, этот

алгоритм печатает два числа: a
и
b
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала 1, а потом
6.

Паскаль

Python

Решение:

var x, a,
b: longint;

begin    readln(x);    a := 0; b := 0;    while x > 0 do
begin       if x mod 2 = 0 then

a                
:= a + 1      
else

b                
:= b + x mod 6;

      x
:= x div 6;

  
end; writeln(a); write(b); end.

x = int(input()) a=0; b=0
while x > 0:     if x%2 == 0:

a          
+= 1     else:

b          
+= x%6     x = x//6 print(a, b)

1.     a
= 1, b = 6.

2.     a
– количество чётных цифр в записи числа x. 

3.     x
min

4.     b
– сумма нечётных шестиричных
цифр.

5.     b
= 5+1, Q = {1, 5}

    
(или b = 3+3, Q = {3, 3})  6. дополним множество одной минимальной цифрой: 

 Q = {1, 5, 0}

7. x
= 105
6 =
6
2+5
= 4110
Ответ:
41.

Разбор заданий № 20. ЕГЭ 2020. Информатика. Ушаков Д.М. 10
тренировочных вариантов[3]

Вариант № 1

На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: a
и
b
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала 3,
а потом
11.

Паскаль

Python

Решение:

var x, a,
b: integer;

begin    readln(x);    a := 0; b := 0;    while x > 0 do
begin

      if x mod 2 = 0 then          a := a + 1;       b := b
+ x mod 6;       x := x div 6;

  
end; writeln(a); write(b); end.

x = int(input()) a = 0; b =
0 while x > 0:     if x % 2 == 0:

        a += 1     b += x % 6     x = x //
6 print (a, b)

1.     a
= 3, b = 11.

2.     x
min

3.     a
– количество чётных цифр в записи числа x
6. 

4.     b
– сумма шестиричных цифр

5.     b
= 0+2+4+5; b = 2+4+4+1

6.     x
= 2045
6=
432+24+5 = 461
10

7.     x
= 1244
6
= 316
​      10

Ответ: 316

Вариант № 2

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: L
и

M
. Укажите
наибольшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала 4,
а потом
13.

Паскаль

Python

Решение:

var x, M,
L: integer;

begin

    readln(x);     M := 0; L := 0;     while x > 0 do

    begin

       
M := M + x mod 10;         if x mod 10 < L then             L :=  x mod
10;         x := x div 10     end;     writeln(L); write(M) end.

x = int(input()) M = 0; L=
0 while x > 0:

     M = M + x % 10     if
x % 10 < L:         L =  x % 10     x = x // 10 print(L) print(M)

1.     L
= 4, M = 13.

2.     M
– сумма десятичных цифр в записи числа
x

3.     L
– минимальная цифра в записи числа
x.

4.     x
max

5.     M
= 9+4, Q = {9, 4} или 

M = 5+4+4, Q = {5, 4, 4}

6.     Q
= {5, 4, 4} 7. x
= 544

Ответ: 544.

Вариант № 3

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: L
и

M
. Укажите
наибольшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала 3,
а потом
7.

Паскаль

Python

Решение:

var x, L,
M: integer;

begin

    readln(x);     L := 0; M := 9;     while x > 0 do    
begin

        L
:= L + 1;

        if M > (x mod 10) then             M :=  x mod 10;

       
x := x div 10     end;     writeln(L); write(M) end.

x = int(input()) L= 0; M =
9 while x > 0:     L = L + 1      if M > x % 10:         M =  x %
10     x = x // 10 print (L) print (M)

1.     L
= 3, M = 7.

2.     L
– количество разрядов в записи числа
x

3.     M
– минимальная цифра в записи числа
x.

4.     x
max

5.     M
= 7, Q = {9, 9, 7}  6. x
= 997

Ответ: 997.

Вариант № 4

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: L
и

M
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которого алгоритм печатает сначала 2,
а потом
4.

Паскаль

Python

Решение:

var x, L,
M: integer;

begin

    readln(x);     L := 0; M := 0;     while x > 0 do    
begin

        M
:= M + 1;

       
if x mod 4 > 1 then

            L :=  L + 1;         x := x div 4

   
end;     writeln(L); write(M) end.

x = int(input()) L= 0; M =
0 while x > 0:     M = M + 1      if x % 4 > 1:         L =  L + 1     x
= x // 4 print(L) print(M)

1.     L
= 2, M = 4.

2.     M
– количество разрядов в четырехричной записи числа
x

3.     L
– количество цифр в записи числа x
больших
1.

4.     x
min,
1000
4
x ≤ 3333
4

5.     Q
= {2, 2, 0, 0} или Q = {0, 1, 2, 2}

6.     10224
= 1•4
​   3+2•41+2•40=64+8+2=7410

7.     x
= 74
10

Ответ: 74.

Вариант № 5

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает число L.
Известно, что x > 50. Укажите
​ ​наименьшее 
из таких чисел

x
(больших 50), при вводе которых алгоритм печатает
6.

Паскаль

Python

Решение:

var x, L,
M: integer;

begin

    readln(x);     M := 32; L := x;     if L mod 7 = 0
then         M := 36;     while M <> 0 do     begin

        x
:= L mod M;

       
L := M;         M := x     end;     write(L) end.

x = int(input()) M = 32; L
= x if L % 7 == 0:     M = 36 while M != 0:     x = L % M

    L = M     M = x
print(L)

1.       Данная
программа (цикл
while)
реализует алгоритм Евклида (поиск наибольшего общего делителя): L = НОД(M,
x)
= 6

2.       M
= 36, т.к. {32/6} ≠ 0. 

3.       Из
условия (L % 7 == 0)
{x/7}
= 0.

4.       Т.к.
x
min
и
x
> 50 имеем: 

x = 6 × 7 × 5 = 210 Ответ:
210.

Вариант № 6

  На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: L
и

M
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которых алгоритм печатает сначала 8,
а потом
13.

Паскаль

Python

Решение:

var x, M,
L: integer;

begin

    readln(x);     M := 0; L := 0;     while x > 0 do

    begin

       
M := M + x mod 10;         if x mod 10 > L then             L :=  x mod
10;         x := x div 10     end;     writeln(L); write(M) end.

x = int(input()) M = 0; L =
0 while x > 0:

    M = M + x % 10      if
x % 10 > L:         L =  x % 10     x = x // 10 print(L) print(M)

1.     L
= 8, M = 13.

2.     M
– сумма цифр записи числа
x

3.     L
– максимальная цифра в записи числа
x.

4.     13
— 8 = 5; Q = {5, 8}  

5.     x
min,
x
= 58
10
Ответ:
58.

Вариант № 7

  На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: L
и

M
. Укажите
наименьшее 
из таких чисел
x
, при

вводе которых алгоритм печатает сначала 0,
а потом
24.

Паскаль

Python

Решение:

var x, M,
L: integer;

begin

    readln(x);     M := 1; L := 0;     while x > 0 do

    begin

        M
:= M * ( x mod 10);

       
if x mod 10 > 5 then

           
L := L + 1;         x := x div 10     end;     writeln(L); write(M) end.

x = int(input()) M = 1; L =
0 while x > 0:

    M = M * (x % 10)     
if x % 10 > 5:         L =  L + 1     x = x // 10 print(L) print(M)

1.     L
= 0, M = 24.

2.     M
произведение
цифр записи числа
x

3.     L
– количество цифр, больших 5, в записи числа
x.

4.     24
= 4 × 3 × 2; 

5.     Q
= {2, 3, 4}  6. x
min,
x
= 234
10
Ответ:
234.

Вариант № 8

  На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает два числа: L
и

M.
Укажите
наименьшее 
из таких чисел
x
, при

вводе которых алгоритм печатает сначала 3,
а потом
5.

Паскаль

Python

Решение:

var x, L,
M: integer;

begin

    readln(x);     L := 0; M:= 9;     while x > 0 do    
begin

        L
:= L + 1;

        if M > x mod 10 then            M := x mod
10;            x := x div 10

   
end;     writeln(L); write(M) end.

x = int(input()) L = 0; M =
9 while x > 0:     L =  L + 1     if M > x % 10:          M = x %
10     x = x // 10 print(L) print(M)

1.     L
= 3, M = 5.

2.     L
количество
цифр в записи числа
x.
(разрядность)

3.     M
минимальная
цифра в записи числа
x.

4.     x
min

x
= 555
10
Ответ:
555.

Вариант № 9

  На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм
печатает два числа:
a
и
b.
Укажите
наименьшее 
из таких чисел
x
, при вводе

которого алгоритм печатает сначала 6,
а потом
9.

Паскаль

Python

Решение:

var x, a,
b: integer;

begin

    readln(x);     a := 1; b:= 0;     while x > 0 do
begin         if x mod 2 = 0 then             a := a* (x mod 8)         
else            b := b + x mod 8;

        x
:= x div 8

   
end;     writeln(a); write(b) end.

x = int(input()) a = 1; b =
0 while x > 0:     if x % 2 == 0: 

a          
=
a * (x % 8)     else:

b          
= b + x % 8

    x = x // 8 print(a)
print(b)

1.           
a = 6, b = 9.

2.           
a
произведение
остатков от деления на 8 четного числа (части числа)
x.

3.           
b
сумма
остатков от деления на 8 нечётного числа (части числа)
x.

4.           
a
= 6

5.           
b = 7 + 1 + 1

6.           
x
= ((1×8+1)×8+6)×8+7= 631
10
Ответ:
631.

Вариант № 10

 На языках программирования записан
алгоритм. Получив на вход число
x
этот

алгоритм печатает число M.
Известно, что x > 50. Укажите
наименьшее 
из таких

чисел x
(больших 50), при вводе которых алгоритм печатает
14.

Паскаль

Python

Решение:

var x, L,
M: integer;

begin

    readln(x);     M := 42; L := x;     if L mod 2 = 0
then         M := 28;     while L <> M do       if L > M then         L
:= L — M       else

       
M := M — L;     write(M) end.

x = int(input()) M = 42; L
= x if L % 2 == 0:     M = 28 while L != M:     if L > M:         L = L —
M     else:

        M = M — L print(M)

1.     Данная
программа (цикл
while)
реализует алгоритм Евклида (поиск наибольшего общего делителя): НОД(M,
x)
= 14

2.     Если
x
– четное, тогда M = 28

3.     По
условию
x
> 50:
x
= 14 × 5 = 70

4.     Если
x
– нечетное, тогда {
x
/14} ≠ 0
Ответ: 70.

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

Ошибки ЕГЭ, которых стоит избегать в информатике

Где чаще всего совершают ошибки

В 2021 году экзамен состоит из 27 заданий, проверяющих владение основными навыками:

  • кодирование информации,
  • логическое мышление,
  • работа с информационными моделями
  • алгоритмизация,
  • программирование,
  • поиск данных в файле.

Ежегодно самыми сложными разделами экзамена являются алгоритмизация, программирование и логическое мышление. Типичные ошибки в ЕГЭ по информатике касаются в основном заданий повышенного уровня сложности, однако иногда возникают проблемы и с базовыми типами заданий.

Основные ошибки первой части ЕГЭ по информатике

При подготовке к экзамену по информатике стоит уделить особое внимание разделу логики, так как терять на нем баллы очень обидно. Следует заранее разобраться с составлением таблиц истинности. Чтобы не допустить ошибки в ЕГЭ по информатике, достаточно уметь решать задачи с использованием простейших таблиц. Также в разделе математической логики стоит обратить внимание на выражения и операторов, которые помогут также и в написании кода.

Особо следует остановиться на теории игр: это одна из сложнейших тем для выпускников.

Также ошибки в ЕГЭ по информатике допускаются в задачах на кодирование: по-прежнему представляет сложности перевод чисел в различные системы счисления, составление комбинаций и работа с формулами.

Реже возникают проблемы в заданиях на информационные модели: выпускники путаются в таблицах, графах и масках файлов. Почти каждый сдающий верно решает задание на работу с таблицами и поиск информации в текстовом файле.

Ошибки на ЕГЭ в заданиях по информатике

Типичные ошибки второй части ЕГЭ по информатике

Стоит отметить, что в 2021 году из экзамена убрали задания с развернутым ответом, поэтому технически второй части в ЕГЭ по информатике нет. Однако задания № 25-27 могут принести выпускнику по два балла за каждый номер, тогда как все предыдущие — максимум один.

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

  • алгоритмический,
  • С++,
  • Паскаль,
  • Python;
  • Java (только для написания программ),
  • С# (только для написания программ).

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

Таким образом, можно отметить, что тематически экзамен практически не изменился, а потому ошибки в ЕГЭ по информатике прошлых лет остаются актуальными и для выпускников 2021 года. Изучение типичных проблем и сложных тем поможет преодолеть трудности еще на этапе подготовки и впоследствии написать экзаменационную работу на высокие баллы.

Понравилась статья? Поделить с друзьями:
  • Анализ основных ошибок и капканов егэ
  • Анализ врачебных ошибок при определении центрального соотношения челюстей
  • Альфа банк произошла ошибка попробуйте повторить позднее
  • Анализ новеллы двойная ошибка мериме
  • Анализ впр математика 4 класс типичные ошибки