Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
demo-04#66970

По каналу связи передаются сообщения, содержащие только буквы А, Б, В, Г, Д, Е, Ж и З. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны.

 
Е 10
Ж 010
З 011
Д 11

Какое наименьшее количество двоичных знаков требуется для кодирования оставшихся букв? В ответе запишите суммарную длину кодовых слов для букв: А, Б, В, Г.

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

demo-03#66969

В файле приведён фрагмент базы данных «Молочные продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.

Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение октября 2023 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок внесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня.
Заголовок таблицы имеет следующий вид.
ID
операции
Дата ID
магазина
Артикул Количество
упаковок, шт.
Тип
операции
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул Отдел Наименование
товара
Ед_изм Количество
в упаковке
Цена за
упаковку
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
ID магазина Район Адрес
На рисунке приведена схема указанной базы данных.

Используя информацию из приведённой базы данных, определите, на какую сумму (в руб.) было продано варенца термостатного в магазинах Нагорного района за период с 5 по 14 октября включительно.
В ответе запишите только число.


Файл к заданию

demo-02#66968

Миша заполнял таблицу истинности логической функции F

\((x \lor y) \land \neg (y \equiv z) \land \neg w,\)

но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

        F
1   1   1
0 1   0 1
  1 1 0 1


Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Пример. Функция F задана выражением ¬x∨y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
    F
0 1 0
 

В этом случае первому столбцу соответствует переменная y, а второму столбцу – переменная x. В ответе следует написать: yx.

demo-01#66967

На рисунке схема дорог N-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).

Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова сумма протяжённостей дорог из пункта G в пункт E и из пункта F в пункт H.

В ответе запишите целое число.

 

66864#66864
Маша очень любила строить башенки из кубиков в детстве, но теперь она уже взрослая, потому башенки из простых кубиков её не интересуют. Она купила детали для башенки, которые представляют собой блок 3*3*1, который очень легко описать матрицей 3 на 3, так как толщина блока всего 1 кубик.
Маше точно известно, что:
  •  при использовании всех блоков, можно гарантированно построить башенку, которая не будет иметь пустот, включая нижнюю и верхнюю границы;
  •  используя все блоки, можно построить башенку только одним и не более способами;
  •  при строительстве башенки блоки нельзя вращать;
  •  только два блока во всём наборе имеют сплошную верхнюю или же нижнюю границу;
  •  глубина пустот в блоке может состоять из 1 или 2 элементов;
  •  блоков, имеющих пустоты, которые нельзя покрыть при сборе башенки не существует.
Напишите программу, помогающую Маше определить, в каком порядке нужно строить башню, исходя из всех ограничений, написанных выше.

Входные данные
В первой строке подаётся число N (1 <= N <= 10) – количество блоков для башенки, далее на 3*N строках вводится по 3 цифры через пробел(0 – у блока отсутствует элемент в этой позиции, 1 – сам блок), представляющие из себя N блоков, доступных для строительства.
Нумерация блоков начинается с 1 и увеличивается при описании каждого последующего блока (то есть первый блок, второй и так далее).
Выходные данные
Вывести в ответе в одну строку через пробел каждый элемент – номера блоков в порядке сбора башни снизу-вверх.

Пояснение
Пример №2

 
На школьной ярмарке вы собираете пожертвования. Волонтёры вводят суммы одну за другой (только целые неотрицательные числа, волонтёры не будут вводить отрицательные числа). Когда кто-то вводит 0 — сбор закрывается, нужно вывести общую сумму.

Напишите программу, которая запрашивает у пользователя ввод чисел в цикле (вводятся только неотрицательные числа), пока не будет введён ноль и выведет сумму чисел.
 
✓ 404✗ 894300лёгкаяВойти и решать
Чтобы найти последнюю цифру числа n необходимо вычислить остаток от деления этого числа на 10. 
d = n % 10
Чтобы уменьшить число в 10 раз (убрать последнюю цифру из записи числа) необходимо целочисленно разделить это число на 10.
n = n // 10
 
Контрольные суммы применяются в штрихкодах, билетах, банковских операциях и это не полный список их применения.

Чтобы быстро проверить, не ошиблись ли при вводе суммы в чеке, считают сумму цифр числа (так называемая контрольная сумма). Выберите программу, которая правильно найдёт сумму цифр числа 123.
 
1) 
n = 123
s = 0
while n > 0:
    n = n // 10
    d = n % 10
    s = s + d
print(s)
3)
n = 123
s = 0
while n > 0:
    d = n // 10
    s = s + d
    n = n % 10
print(s)
2) 
n = 123
s = 0
while n > 0:
    d = n % 10
    s = s + d
    n = n // 10
print(s)
4)
n = 123
s = 1
while n > 0:
    d = n % 10
    s = s + d
    n = n // 10
print(s)
Что будет выведено после выполнения программы?
i = 1
while i <= 3:
    print("Шаг", i)
    i = i + 1
Выберите верный вариант ответа
1)
Шаг 1
Шаг 2
Шаг 3


2) 
Шаг 0
Шаг 1
Шаг 2


3)
Шаг 1
Шаг 2


4)
Ничего не выведет

Создайте программу для ресторана, где драконы заказывают еду.
Программа должна:

  • Запрашивать количество драконов
  • Для каждого дракона запрашивать размер порции (1-10)
  • Если общий заказ > 30, дать скидку 200 монет.
  • Цена за единицу еды = 50 монет

Формат входных данных
Программа в первой строке получает целое число n (количество драконов).
В следующих n строках программа получает размер порции каждого из дракона.

Формат выходных данных
Программа должна вывести в первой строке фразу: РЕСТОРАН ДРАКОНОВ
Во второй строке фразу: Сколько драконов пришло? n (вместо n - количество драконов)
Далее в n строках вывести фразу в каждой строке: Дракон i заказал порций k (где i - порядковый номер дракона (от 1 до n включительно), k - количество его порции). 
На следующей строке вывести фразу: ЧЕК
Затем вывести 4 строки
Всего порций: целое_число
Цена без скидки, монет: целое_число
Скидки нет (нужно больше 30 порций) (или Скидка есть, монет: 200)
К оплате, монет: целое_число


Смотри примеры организации вывода. 
На каждом уровне Марио может потерять жизнь (-1) или найти жизнь (+2). Что покажет счетчик жизней после ввода: -1, +2, -1, +2?

Программа для Марио:
lives = 5  # начальные жизни
n = 4      # количество уровней
for i in range(n):
    delta = int(input())
    lives = lives + delta
print("Жизней осталось:", lives)

Выберите верный вариант ответа:
  1. Жизней осталось: 5
  2. Жизней осталось: 7
  3. Жизней осталось: 9
  4. Жизней осталось: 3
Напиши программу для системы жизнеобеспечения.

Она должна: 
Запросить уровень кислорода (целое число от 0 до 100)
Вывести сообщение
  • Если кислорода меньше 30 - вывести "КРИТИЧЕСКИЙ УРОВЕНЬ!"
  • Если от 30 до 60 - вывести "Внимание! Низкий уровень"
  • Если больше 60 - вывести "Уровень в норме"


Что будет выведо на экран после выполнения алгоритма, изображенного на блок-схеме, если будет введено значение heart_pulse равное 100?

1) Пора отдохнуть
2) Продолжаем мерить...
3) Сообщи родителям о пульсе
Смарт-часы содержат два датчика:
  • Акселерометр - фиксирует отсутствие движения

  • Пульсометр - измеряет пульс, по которому можно судить об активности

Часы анализируют данные акселерометра и пульсометра. Если нет движения в течении 60 минут и, при этом, пульсометр показывает пульс менее 90, значит обладатель часов давно не двигался и ему надо выдать напоминание о разминке. 

Напишите программу, которая моделирует работу часов. 

Формат входных данных
Программа в первой строке должна получить целое число - показание акселерометра. 
Во второй строке программа получает целое число - показание пульсометра.

Формат выходных данных
Выведите на экран фразу "Пора делать разминку!", если аксерелометр показывает значение не менее 60 и пульсометр - менее 90, в противном случае нужно вывести на экран сообщение "Good".

Для проверки числа (num) на чётность можно использовать простое условие:  num % 2 == 0. Число чётное, если оно делится на 2 без остатка ( в математике мы говорит число кратно двум)
 
Напишите программу, которая запрашивает у пользователя целое число и выводит на экран чётное оно или нет. 

Формат входных данных
Программа запрашивает одно целое число

Формат выходных данных
Выведите:
  • слово чётное, если число чётное;
  • слово нечётное, если число нечётное;

Выбор — это как развилка в пути!  

Компьютер решает, какую инструкцию выполнить, в зависимости от условий — прямо как вы выбираете:

🌧️ Если на улице дождь → Взять зонтик ☔
☀️ А если солнечно → Надеть кепку🧢
 


Попробуйте догадаться, что выведет следующий код на экран
if ты_молодец:  
    print("🎉 Ура! Ты справился!")  
else:  
    print("😊 Попробуй ещё!")  
Выбери:
  1. 🎉 Ура! Ты справился!
  2. 😊 Попробуй ещё!
Поделиться
Класснуть