Ищем в таблице истинности строку, дающую F=1. Это нижняя строка. Теперь надо из выражений 1-4 выбрать то, которое при указанном наборе значений x1-x7 даст истинное значение. Проверяем выражения, содержащие операции "И". Каждое такое выражение будет истино, если все его элементы истины. 1) х1 должно быть истинным, а у нас х1 ложно. Выражение отвергаем. 4) Должны быть ложны х1, х3, х6 и х7. В точности, как у нас. Походит. Два оставшихся выражения содержат операции "ИЛИ". Такое выражение будет истинно, если истинен хоть один его элемент. 2) х1 должен быть истинным, у нас он ложен, у нас он истинный, х3 должен быть истинный, у нас он должный, х4 должен быть ложный, у нас он истинный, х5,х6, х7 - все должны быть истинными и у нас х5 истинный. Подходит 3) х1 должен быть ложным, у нас он ложный. Подходит. Теперь проверяем, будут ли отобранные нами выражения 2), 3) и 4) давать ложное значение при наборе параметров из первых двух строчек. 4) х1 истинно в обоих проверяемых наборах параметров, а оно должно быть ложным. В связи с этим выражение вернет значение ложно, что и ожидается. Подходит, выражение 4 прошло все проверки. 2) х1 должно быть ложным, чтобы все выражение было ложным, а во втором наборе таблицы истинности указано истинное значение. Выражение отвергаем. 3) х1 должно быть истинным, чтобы все выражение было ложным, а в первом наборе таблицы истинности указано истинное значение. Выражение отвергаем.
Решение: только последнее (четвертое) выражение удовлетворяет условиям задачи.
Если элемент стоит выше главной диагонали, то его номер столбца больше, чем номер строки. Программа будет такая: PROGRAM Matrix77 var A: array [1..7][1..7] of real; // Объявляем переменные var i, j: integer BEGIN crt; for i:= 1 to 7 do begin for j:=1 1 to 7 do read (A[i][j]); // Вводим начальный массив readln; end;
for i:= 1 to 7 do begin // Проверяем, что элемент выше диагонали for j:=1 1 to 7 do if j > i then A[i][j]:=0; // Обнуляем его end;
for i:= 1 to 7 do begin for j:=1 1 to 7 do write (A[i][j]); // Выводим конечный массив writeln; end; END.
E Г Э 2 0 1 3 ----> всего 7 символов, i бит, чтобы закодировать каждый символ: 2^i =7 (ближайшая к 7 (бОльшая) степепень двойки =8) 2^i=8 ---> i=3 бита для кодирования одного символа. Пароль из 15 символов: 3*15=45 бит = 45:8 = 6 байт (целое количества байт) Всего 25 паролей: 6*25=150 байт ответ 150 байт