Коломиец Дмитрий Станиславович,Рура Виталий Александрович,Шуликин Илья Викторович.
Можете посмотреть задачу уровня 2.
Уровень 2
Операция "НЕ"
В математической логике существует операция "не". Обычно, её
обозначают символом "~". Тогда запись ~A обозначает "не А".
Если A ---
утверждение, может быть истинное или ложное. Если истину обозначить 1,
а ложь --- 0, то можно записать все возможные значения
выражения ~A при любых A.
~
A
1
0
0
1
Получилась таблица истинности для операции "~". Эту операцию ещё
называют "отрицание".
Теперь можно вычислять более сложные выражения. Например,
~(~(A&B)v~(BvC)), но нужно знать, приоритет операций. В логике приняты
следующие приоритеты, ~ имеет самый высокий приоритет, затем &, а
после них v. Заметим, что для изменения стандартного приоритета
применяются круглые скобки.
Задача: вычислить значение ~(~(A&B)v~(BvC)) для заданных A, B и C.
Технические требования
Выдать на экран строку значений ~(~(A&B)v~(BvC)) для заданных A, B
и C. A, B и C задаются в виде 0 и 1.
На вход подаётся:
строка значений A
строка значений B
строка значений C
Входные данные подаются во входной поток.
Это значит, что программа должна работать так,
чтобы команда "ИМЯ ИСПОЛНЯЕМОГО МОДУЛЯ < text.txt"
читала данные из файла text.txt.
Длины строк одинаковы и не более 100.
ПРИМЕР:
Если исполняемый модуль называется prog.exe, а в файле test.txt
содержится:
010101
111000
101010
то команда:
prog.exe < test.txt
выдаст строку "010000".