16 апреля 2025 г.

Программирование. Задание № 6 "Анализ программ с циклами"

(Досрочный ЕГЭ-2025) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения.

Черепахе был дан для исполнения следующий алгоритм:

Направо 30 
Повтори 3 [Направо 150 Вперёд 6 Направо 30 Вперёд 12]

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

Решение: напишем программу на языке Phyton

import turtle as t
k = 20 # масштаб
t.left( 90 ) # развернуть Черепаху "на север"
t.right( 30 )
for i in range (3):
    t.right( 150 )
    t.forward( k*6 )
    t.right( 30 )
    t.forward( k*12 )
t.up()
for x in range(-7,1):
    for y in range (-17,1):
        t.goto( k*x, k*y)  # в точку с заданными координатами
        t.dot( 3,'red' )      # ставим точку  
done()

Вывод:

5 вертикальных рядов по 6 точек с целочисленными координатами
Ответ: 30

Информация. Задание № 7 "Кодирование графической информации"

(Досрочный ЕГЭ-2025) Маша делает цветные фотографии на телефон, который сохраняет снимки с размером 3840×2160 пикселей и разрешением 17 бит на пиксель. После сохранения снимков в памяти телефона Маша отправляет фотографию через мессенджер, который сжимает снимок до размера 1280×720 пикселей с разрешением 5 бит на пиксель. Какое количество Кбайт удастся сэкономить при отправке 120 фотографий? В ответе запишите целое число.

Решение:

1. Размер одного фото на телефоне в килобайтах

(3840 * 2160 * 17) / (8*1024) = 17212,5

2. Размер одного фото после сжатия мессенджером в килобайтах

(1280 * 720 * 5) / (8*1024) = 562,5

3. На сколько килобайт 120 фото с телефона больше 120 фото, обработанных мессенджером

120 * (17212,5 - 562,6) = 1998000

Ответ: 1998000

15 апреля 2025 г.

Информация. Задание № 8 "Комбинаторика"

(Досрочный ЕГЭ-2025) Виктор составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Виктор использует 5-буквенные слова, в которых могут быть только буквы Д, Г, И, А, Ш, Э, причём слово не должно начинаться с гласной и не должно заканчиваться согласной. Сколько различных кодовых слов может использовать Виктор?

Решение:

1. В наборе Д, Г, И, А, Ш, Э три гласных и три согласных буквы.

2. В 5-буквенном слове на первом месте может стоять одна из 3 букв, на втором, третьем и четвертом месте одна из 6 букв и на пятом месте - одна из 3 букв.

3. 3 * 6 * 6 * 6 * 3 = 1 944

Ответ: 1944


2 апреля 2025 г.

Программирование. Задание № 6 "Анализ программ с циклами" (ЕГЭ-2024)

 Черепахе был дан для исполнения следующий алгоритм:

Повтори 2 [Вперед 6 Направо 90 Вперед 12 Направо 90]
Поднять хвост
Вперед 1 Направо 90 Вперед 3 Налево 90
Опустить хвост
Повтори 2 [Вперед 77 Направо 90 Вперед 45 Направо 90]
Определите периметр области пересечения фигур, ограниченных заданными алгоритмом линиями.

Решение: Напишем программу на языке Phyton

import turtle as t
k = 20 # масштаб
t.left( 90 ) # развернуть Черепаху "на север"
for i in range(2):
    t.forward( 6*k )
    t.right( 90 )
    t.forward( 12*k )
    t.right( 90 )

t.up()

t.forward( 1*k )
t.right( 90 )
t.forward( 3*k )
t.left( 90 )

t.down()

for i in range(2):
    t.forward( 77*k )
    t.right( 90 )
    t.forward( 45*k )
    t.right( 90 )
t.up()

for x in range(3,13):
    for y in range (1, 7):
        t.goto( x*k, y*k )  # в точку с заданными координатами
        t.dot( 5, 'red')      # ставим точку  

done()

Вывод: Фрагмент рисунка

Периметр равен 2 * ( 5 + 9 ) = 28

Ответ:
 28

31 марта 2025 г.

Программирование. Задание № 6 "Анализ программ с циклами" (ЕГЭ-2023)

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.

Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Направо 90
Повтори 3 [Направо 45 Вперёд 10 Направо 45]
Направо 315 Вперёд 10
Повтори 2 [Направо 90 Вперёд 10]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, которая ограничена линией, заданной алгоритмом. Точки на линии учитывать не следует.

Решение: Напишем программу на языке Phyton
#стартовые данные
import turtle as t #подключение "Черепашьей графики"
k = 20 #масштаб
t.left (90) #разворот "на север"
#1
t.right (90)
#2
for i in range (3):
  t.right (45)
  t.forward (k*10)
  t.right (45)
#3
t.right (315)
t.forward (k*10)
#4
for i in range (2):
  t.right (90)
  t.forward (k*10)
#построение сетки
for x in range (-15,8):
for y in range (-15,8):
     t.goto( x*k, y*k )  # в точку с заданными координатами
     t.dot( 2.5, 'red')  # ставим точку
done ()

Ответ: 203

21 марта 2025 г.

Программирование. Задание № 5 "Анализ алгоритмов для исполнителей"

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
  1. Строится двоичная запись числа N
  2. Далее эта запись обрабатывается по следующему правилу:
  • если сумма цифр двоичной записи чётная, то к этой записи справа дописывается 0, а два левых разряда заменяются на 10;
  • если сумма цифр двоичной записи нечётная, то к этой записи справа дописывается 1, а два левых разряда заменяются на 11.
Полученная таким образом запись является двоичной записью искомого числа R. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 50. В ответе запишите это число в десятичной системе счисления.

Решение. Напишем программу на языке Phyton

for n in range (2,25):
#1
  a = bin (n) [2:]
#2
  if a.count('1') % 2 == 0:
    a = '10' + a [2:] + '0'
  else:
    a = '11' + a [2:] + '1'
#3
  r = int(a,2)
  if r > 50:
    print (n,r)

Вывод:

19 55
21 59
22 61

Ответ: 19

16 марта 2025 г.

Программирование. Задание № 5 "Анализ алгоритмов для исполнителей"

Автомат обрабатывает десятичное натуральное число N по следующему алгоритму:

  1. Строится двоичная запись числа N.
  2. К полученному числу справа дописывается 0, если в числе единиц больше, чем нулей; иначе дописывается 1.
  3. Из середины двоичного числа убирается 2 разряда, если количество разрядов получилось четным, и 3 разряда, если нечетное.
  4. Результат переводится в десятичную систему.
Для скольких различных значений N в результате работы автомата получается число 46?

Решение. Напишtм программу на языке Phyton

k=0
for n in range (4,1000):
#1
  a = bin (n) [2:]
#2
  if a.count('1') > a.count('0'):
    a = a + '0'
  else:
    a = a + '1'
#3
  if len(a) % 2 == 0:
    d = int(len(a)/2)
    a = a [:d-1] + a [d+1:]
  else:
    d = int(len(a)//2) + 1
    a = a [:d-2] + a [d+1:]
#4
  x = int(a,2)
  if x == 46: 
    k+=1
print (k)

Ответ: 11