Задание №6 (Понимание алгоритма на языке программирования)

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

Необходимая теория

Нужно будет вспомнить теорию из задания №3, а также из математики: как мы получаем остаток и вычисление целой части.

Правила логики

Таблица истинности

 

Правило раскрытия скобок с НЕ

 

В тексте программы могут встретиться операции, обозначаемые div , mod , abs

Оператор mod — получение остатка от деления

Остаток от деления — это то, что остаётся после того, как одно число (делимое) полностью разделено на другое число (делитель). 

Например: операция s mod 7 = k, где k — остаток

 

В Python операция получения остатка от деления обозначается как:   %

7 mod 2 = 1 (остаток от деления 7 на 2)

10 mod 2 = 0 (остаток от деления 10 на 5)

3 mod 8 = 3 (остаток от деления 3 на 8)

 

 

Операция div — целая часть от деления

Целая часть результата деления — это наибольшее целое число, которое можно получить при делении одного числа на другое. Это число также называется частным или результатом деления без учёта остатка .

DIV - это операция для вычисления целой части при делении.

7 div 2 = 3 (целая часть от деления 7 на 2)

10 div 2 = 5 (целая часть от деления 10 на 5)

3 div 8 = 0 (целая часть от деления 3 на 8)

 

 Операция DIV обозначается в Python как: //

 

Операция abs — абсолютное значение числа

abs(100) = 100

abs(-100) = 100

 

 

Алгоритм решения любой задачи шестого задания с параметром А в общем случае

  1. Упростить логическое выражение, если возможно
  2. Определить диапазон истинности первого неравенства, (которое без параметра А)
  3. Определить диапазон истинности второго неравенства (с параметром А)
  4. Определить результирующий диапазон истинности двух неравенств

Задача №1

1). Упрощаем выражение и избавляемся от НЕ:

s < 2 или t >= 5

 2). Находим подходящие пары значений из наших данных, при которых это выражение истинно:

Ответ: 4

 

 

Задача №2 (с дополнительным параметром A)

1). Упрощаем выражение, добавляем НЕ к выражению (s>10 или t> A), чтобы искать YES

НЕ(s>10 или t> A) = (s ≤10 И t ≤A)

 2). Так как нам нужны чтобы обе части этого логического высказывания были истинны, исключим из наших пар данных те, где s > 10:

3). Осталось семь пар. Из них мы выпишем все t, упорядочив их по возрастанию:

t = [-12, 1, 5 ,10, 11, 12, 12]

 4). Отсюда мы ищем все при каком A ≥ t. Видно, что это значение A = 12

 

Ответ: 12

 

Задача №3

Задача №4

Задача №5

Задача №6

Заключение

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

Назад к статьям Поделиться