Презентация - "Презентация по информатике на тему "Решение задач по теме 5 КЕГЭ по информатике." (11 класс)"
- Презентации / Другие презентации
- 0
- 16.07.23
Просмотреть и скачать презентацию на тему "Презентация по информатике на тему "Решение задач по теме 5 КЕГЭ по информатике." (11 класс)"
Тема 5. Решу ЕГЭ. Раздел 1. № 1
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия — справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, которое превышает 43 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.
Решение.
Если в числе было нечётное количество единиц, то в конец допишется 10. Если количество единиц чётное, то допишется 00.
Рассмотрим числа, большие 43. Имеем:
4410 = 1011002 — не может являться результатом работы алгоритма,
4510 = 1011012 — не может являться результатом работы алгоритма,
4610 = 1011102 — может являться результатом работы алгоритма, количество единиц (кроме последних двух разрядов) нечетное, и в последних двух разрядах 10.
Ответ: 46.
№5. Демо 2023.
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;
б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.
Полученная таким образом запись является двоичной записью искомого числа R.
Например, для исходного числа 610 = 1102 результатом является число
10002 = 810, а для исходного числа 410 = 1002 результатом является число 11012 = 1310.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 40. В ответе запишите это число в десятичной системе счисления.
n=6
r = bin(n)
print(r)
n=6
r = bin(n)[2:]
print(r)
for n in range(1,50):
r = bin(n)[2:]
if r.count('1') % 2 == 0:
r = '10' + r[2:] + '0'
else:
r = '11' + r[2:] + '1'
if int(r,2)>40:
print(n,r)
r - строка
0b – показатель основания сс
bin - двоичная запись
метод r.count('1') - считает количество единиц в строке r
16 110001
19 110111
21 111011
22 111101
23 101110
25 110011
26 110101
28 111001
29 101010
30 101100
31 111111
32 1100001
33 1000010
34 1000100
35 1100111
36 1001000
37 1101011
38 1101101
39 1001110
40 1010000
41 1110011
42 1110101
43 1010110
44 1111001
45 1011010
46 1011100
47 1111111
48 1000000
49 1100011
int(r,2) - перевод десятичную сс
2 – основание сс
if r > 40:
a.append(n)
print(min(a))
a = []
for n in range(1,50):
r = bin(n)[2:]
if r.count('1') % 2 == 0:
r = '10' + r[2:] + '0'
else:
r = '11' + r[2:] + '1'
if int(r,2)>40:
a.append(n)
print(min(a))
Тема 5. Решу ЕГЭ. Раздел 1. № 51
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число чётное, то к двоичной записи числа слева дописывается 10;
б) если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01.
Полученная таким образом запись является двоичной записью искомого числа R.
Например, для исходного числа 410 = 1002 результатом будет являться число 2010 = 101002, а для исходного числа 510 = 1012 результатом будет являться число 5310 = 1101012.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее, чем 441. В ответе запишите это число в десятичной системе счисления.
for n in range(1,100):
r = bin(n)[2:]
if r.count('1') % 2 == 0:
r = '10' + r
else:
r = '1' + r + '01'
if int(r,2) > 441:
print(n)
break
Тема 5. Решу ЕГЭ. Раздел 1. № 48
Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:
1. Строится двоичная запись числа N.
2. Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется та цифра, которая встречается реже.
3. Шаг 2 повторяется ещё два раза
4. Результат переводится в десятичную систему.
Пример. Дано число N = 19. Алгоритм работает следующим образом:
1. Двоичная запись числа N: 10011.
2. В полученной записи нулей меньше, чем единиц, в конец записи добавляется 0. Новая запись: 100110.
3. В текущей записи нулей и единиц поровну, в конец записывается последняя цифра, это 0. Получается 1001100. В этой записи единиц меньше, в конец добавляется 1: 10011001.
4. Результат работы алгоритма R = 153.
При каком наименьшем числе N > 104 в результате работы алгоритма получится число, кратное 4?
Решение. Заметим, что чтобы число было кратно четырём, его двоичная запись должна оканчиваться на «00».
Число на выходе должно превышать 10410 = 11010002. Рассмотрим числа N, большие или равные 105, и определим наименьшее из них, при котором результат
на экране автомата будет кратным 4:
10510 = 11010012, результатом работы алгоритма будет число 11010010012, что не кратно 4;
10610 = 11010102, результатом работы алгоритма будет число 11010100012, что не кратно 4.
10710 = 11010112, результатом работы алгоритма будет число 11010110002, что кратно 4.
Таким образом, ответ — 107.
Ответ: 107.
for n in range(105, 1000):
s = bin(n)[2:] # перевод в двоичную систему
for i in range(3):
if s.count("1") == s.count("0"):
s += s[-1]
elif s.count("1") > s.count("0"):
s += "0"
else:
s += "1"
r = int(s, 2) # перевод в десятичную систему
if r % 4 == 0:
print(n)
break
for n in range(1,50):
r = bin(n)[2:]
if r.count('1') % 2 == 0:
r = r + '0'
else:
r = r + '1'
if r.count('1') % 2 == 0:
r = r + '0'
else:
r = r + '1'
if int(r,2)>83:
print(int(r,2))
break
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи числа N, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, которое превышает число 83 и может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.
Решение.
Рассмотрим числа, большие 83, и найдем меньшее число, которое является результатом работы алгоритма.
84 = 10101002 — не является результатом работы алгоритма.
85 = 10101012 — не является результатом работы алгоритма.
86 = 10101102 — является результатом работы алгоритма для числа 101012.
Таким образом, искомое число — 86.
Ответ: 86.
1 вариант с.р.
for n in range(1,50):
r = bin(n)[2:]
if r.count('1') % 2 == 0:
r = r + '00'
else:
r = r + '10'
if int(r,2)>83:
print(int(r,2))
break
2 вариант
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу: складываются все цифры двоичной записи, если
а) сумма нечетная к числу дописывается 11,
б) сумма четная, дописывается 00.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите такое наименьшее число R, которое превышает 114 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе счисления.
Решение.
Переведем число 11410 в двоичную систему: 11410 = 111 00102. Отсюда узнаем число на входе — 111002. Следуя алгоритму, нужно проверить четность единиц. Количество единиц нечетно, следовательно, нужно добавить две единицы. Получаем число 115, оно и является ответом, так как оно больше 114 и наименьшее из возможных.
Ответ: 115.
for n in range(1,50):
r = bin(n)[2:]
if r.count('1') % 2 == 0:
r = r + '00'
else:
r = r + '11'
if int(r,2)>114:
print(int(r,2))
break