Контрольная работа по "Информатике"
Автор: Viktosha • Май 23, 2023 • Контрольная работа • 1,610 Слов (7 Страниц) • 102 Просмотры
Задание 2
//Базовый вариант решения для задачи №2
print('x y w z')
for x in range(2):
for y in range(2):
for z in range(2):
for w in range(2):
if ((y <= (x == w)) and (z <= x)) == False:
print(x, y, w, z)
//Упрощенный вариант решения для задачи с использованием модуля itertools
//В функцию task2 вводим данную нам в задаче формулу
from itertools import product
def task2(x, y, w, z):
return not(y <= (x == w)) and (z <= x)
print('x y w z')
for (x, y, w, z) in product([0, 1], repeat = 4):
if task2(x, y, w, z):
print(x, y, w, z)
Задание 5
//Программа решения конкретного 5-го задания, реализован вариант с дублированием цифры и добавлением остатка от деления суммы цифр на 2
def R(N):
n_bin = bin(N)[2:]
n_bin = n_bin + n_bin[-1]
n_bin += str(n_bin.count("1") % 2)
return int(n_bin, 2)
for n in range(1, 1000):
if R(n) > 97:
print(R(n))
break
Задание 6
//Переборный вариант решения 6-го номера
for i in range(1,10000):
s = i
n = 0
while s <= 375:
s = s + 5
n = n + 2
if n < 295:
print(i)
Задание 7
//Обрати внимание на комментарии внутри кода
import math
'''
N - разрешение экрана (отправлять в функцию тьюплом, либо списком)
V - объем изображения
I - количество цветов в палитре изображения
M - величина объема изображения (0 - БИТ, 3 - БАЙТ, 13 - КБАЙТ, 26 - МБАЙТ)
'''
def func(N, V, I, M):
if V: # Перевод объема изображения в биты, если объем НЕ в битах
V *= 2**M
if N: # Нахождение общего кол-ва точек изображения (?)
N = math.prod(N)
if N and V and not I: # Если просят найти количество цветов в палитре, также поможет для нахождения кол-во бит на пискель
I = 2**(V // N)
if I: # Если есть количество цветов в палитре, определит кол-во бит на пиксель (глубину)
i = math.ceil(math.log(I) / math.log(2))
if N and i and not V: # Если просят найти объем изображения
V = N * i
V //= 2**M
if V and i and not N: # Если просят найти разрешение изображения
N = V // i
return N, V, i, I
'''
Пример задания
Какой минимальный объём памяти (в Кбайт) нужно зарезервировать,
чтобы можно было сохранить любое растровое изображение размером 64×64 пикселов при условии,
что в изображении могут использоваться 256 различных цветов?
Известно: N = (64, 64) / [64, 64] - по условию
V = None (т.к. нам надо найти объем изображения)
I = 256 - по условию
M = 13 - объем просят выразить в КБайтах (смотрим пояснение к аргументу M)
'''
print(func((64, 64), None, 256, 13))
'''
Получим (4096, 4, 8, 256): за второй параметр отвечает V = 4, записываем в ответ
'''
...