Скачиваний:
62
Добавлен:
16.01.2016
Размер:
229.85 Кб
Скачать

Задача 2

Постановка задачи: Запишите логическое выражение (в формате одного из языков программирования или табличного редактора Excel), истинное только при выполнении указанных условий. Так, например, условию «x принадлежит отрезку [a, b]» соответствует логическое выражение If (x>=a) and (x<=b) then write('Yes' ) else write('No' );

  1. ровно одно число из двух чисел А и В кратно 6;

  2. треугольник со сторонами а, b и с является тупоугольным и равнобедренным;

  3. цифры данного трехзначного числа образуют арифметическую прогрессию.

Решение: рассмотрим первое выражение. Составить полное логическое выражения можно с помощью отдельных, более маленьких выражений:

if (( a mod 6 = 0) and (b mod 6 <> 0) or (a mod 6 <> 0) and (b mod 6 = 0)) then

writeln ('Yes') else writeln ('No');

Рассмотрим выражение В. Полным логическим выражением будет являться:

if (((c>a*a+b*b) or (a>b*b+c*c) or (b>a*a+c*c)) and ((a=b) or (a=c) or (c=b)) then

writeln(' Треугольник тупоугольный и равнобедренный ')

else

writeln ('Треугольник не обладает данными свойствами')

Рассмотрим последнее выражение. Полным логическим выражением будет являться:

if(N mod 10)-(N mod 100 div 10)=(N mod 100 div 10)-(N div 100) then write('yes')

else write('no');

Задача 3

Постановка задачи: Найдите наипростейшую из равносильных формул от трех логических переменных (отдельно для каждого из пункта), которая принимает указанные значения при заданных значениях аргументов. Аргументировать, что найденная функция удовлетворяет заданному условию.

  • принимает значение 1 тогда и только тогда, когда большинство ее аргументов принимают значение 1;

  • принимает значение 0 тогда и только тогда, когда принимают значение 1 первый аргумент и один, и только один из двух оставшихся.

Составим выражение для первого условия. В нем сказано, что функция должна принимать значение 1 при условии, что это значение примут 3 аргумента, следовательно функция будет иметь вид F(x, y, z)=x and y and z

Составим логическое выражение для второго условия. Для того, что бы функция принимала значение 0 достаточно выполнить логическое умножение на 0, а так как нам известно, что первый аргумент всегда принимает значение 1 функция будет иметь вид F(x, y ,z)=not x and y and z

Задача 4

Постановка задачи: Для данного логического уравнения и системы уравнений определить все решения. Рассмотреть несколько подходов к их решению – путем упрощения, путем решения обратного уравнения, путем анализа отдельных его частей, путем введения соответствующей замены, анализ через таблицу истинности. Сравнить по сложности отдельные методы между собой.

Выражение 1:

Вариант 1.

  1. Перепишем уравнение используя более простые обозначения

  1. Из таблицы истинности операции «импликация» следует, что это равенство верно тогда, когда

А) и

Б) и

В) и

Рассмотрим случай А.

Из него следует, что 0 должно равняться либо К либо скобка с инверсией. Следовательно, достаточно всего одного решения.

Второе уравнение будет равняться 0 в том случае, если и скобка и N примут значение 0. Это возможно в трех вариантах: когда К=1, М=0;

Когда К=0 и М=1; когда К=1 и М=1. Для выражения А возможно 4 решения.

Рассмотрим выражение Б.

Для выполнения первой части так же достаточно что бы К приняло значение 0. Второе уравнение примет значение 1 при условии что N будет равно 1 либо скобка примет значение 1, а это возможно при условии , что и К и М будут равны 0. Следовательно данное выражение будет иметь 2 решения

Рассмотрим выражение В.

Первая часть этого выражения будет равна 1 только тогда, когда и скобка, и К примут значение 1. Это возможно только в случае, когда М и L будут равны 0. Следовательно данное уравнение будет иметь 1 решение.

Итоговое количество решений будет равно 4+2+1=7 решений.

Вариант 2.

  1. Перепишем выражение, используя более простые обозначения:

  1. Построим таблицу для логического выражения и подсчитаем количество нулей, это и будет ответом

Так же получили 7 решений.

Вариант 3(упрощение).

  1. Повторим первый пункт предыдущего варианта

  1. Заменим импликацию на сумму:

  1. Логическая сумма двух слагаемых равна 1 в случае если одно из слагаемых равно 1.

  2. Упростим выражение:

5. Это равенство выполняется тогда, когда любой из неизвестных равен 1 Это может быть в 16 различных случаях:

Рассмотрим второе выражение.

Решим данную систему с помощью таблицы истинности.

  1. Обозначим действия в системе

  1. Далее вычисляем по формуле 2i сколько строк будет в таблице истинности:

i- количество переменных. Так как переменных 4, следовательно i=4. Подставляем и получаем 24=16.

В таблице истинности должно быть 256 строк.

Таблица будет выглядеть следующим образом:

Отсюда видим, что система будет иметь 6 решений.

При сравнивании методов можно отметить, что построение таблицы истинности будет наиболее лёгким методом для выражений имеющих максимум 4 переменных. Если переменных будет больше, то таблица будет получаться огромной по размеру. Так же при её построении не сложно ошибиться.

При решении методом упрощения нужно хорошо знать логические свойства.

При решении примеров, используя свойства импликации нужно хорошо знать эти свойства и таблицу истинности для импликации.

Я считаю, что каждый метод необходим для решения разных по типу уравнений. У каждого метода есть свои плюсы и минусы, но если правильно подобрать способ решения, то все они будут лёгкими.

Соседние файлы в предмете Алгоритмические языки и основы программирования