Давно не писал собственно по профилю. Решил немного разбавить этот пробел.
Начну с "ужасного" задания №2 ЕГЭ по информатике.
Почему ужасного? Потому что раньше предполагалось составителями его решение через алгебру логики и таблицы истинности, но сложность заданий ЕГЭ всё увеличивается, а время на решение неизменно. Вот например уважаемый Стив Май разбирал это задание 3 года назад:
Зачем делать это таким образом в условиях дефицита времени я не знаю, ведь у нас есть компьютер, а он сильный, но тупой, но зато мощный.
Пусть сам всё решит.
Для решения нужен Pyton
Качаем тут.
Устанавливаем.
Скачать и установить его сможет каждый учитель и ученик. Но часто этого не делают, говоря про себя: "я не знаю Pyton, и поэтому не буду этим заморачиваться"
А зря. Для выполнения этого задания не нужно знание языка программирования, нужно уметь написать выражение и потом сопоставить ответ компьютера с исходным фрагментом таблицы истинности.
Для примера я выберу первый вариант из ноябрьских заданий на Решу ЕГЭ:
Запускаем Pyton
Запускается оболочка:
Тут и будем писать код. Ну как код, фактически мы должны указать цикл для каждого значение х, у, w и z которые будут принимать значения от 0 до 1, то есть два раза, поэтому пишем
Первая строка с комментарием под решёткой # это выражение из задания, я его скопировал из РЕШУ ЕГЭ
Вторая строка - перечисляем переменные ('x y w z')
Строки 3-6 - собственно цикл по каждой переменной.
Самое сложное во втором задании переписать логическое выражение указанное в задании.
Помним что не Х пишется как not (x), логическое умножение - or
Следование y->z мы запишем как (не y или z) (not (y) or z)
тождество записывается как два равно (w==z)
Всё 7 строка записана.
В 8 строке пусть выдаёт ответ Print (х, y, w, z)
Запускаем программу через команду меню Run (F5)
Питон спросит сохранить или нет программу, вы пишете сохранить,
называем например 2 zad
Всё, откроется отдельное окно оболочки и будет ответ:
Теперь надо тупо сопоставить с тем фрагментом таблицы что есть в задании:
Пошагово это делаем начиная с известной строчки со всеми данными (голубой цвет), потом красный и потом жёлтый.
Ответ: zwyx
Я знаю что многие не любят эту самую импликацию которая следование,
тогда представим её в виде неравенства y<=z
Так проще. Код программы немного упростится:
Ответ разумеется точно такой же:
Самое долгое в данной задаче всё же расшифровать из всех семи строчек таблиц истинности нужные нам три.
Итак мы с вами не зная языка программирования Pyton решили данное задание в лоб с помощью компьютера.
Правильно, мы же информатику сдаём, пусть компьютер сам всё решает, а нам нужно немножечко только подумать и правильно всё записав расшифровать.
Спасибо за внимание.