Program zzz; var A,B,C: array[1..20] of integer; SB,SC: integer; i,kb,kc: byte; begin kb:=0; //количесво элементов в массиве B kc:=0; //количесво элементов в массиве C SB:=0; //сумма элементов массива B SC:=0; //сумма элементов массива C For i:=1 to 20 do begin writeln('введите ',i,'-й элемент массива'); readln (A[i]); if A[i]>=0 then begin kb:=kb+1; B[kb]:=A[i]; SB:=SB+B[kb] end else begin kc:=kc+1; C[kc]:=A[i]; SC:=SC+C[kc] end end; writeln(kb:4, sb:8, kc:4, sc:8); end.
Ищем в таблице истинности строку, дающую 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 истинно в обоих проверяемых наборах параметров, а оно должно быть ложным. В связи с этим выражение вернет значение ложно, что и ожидается. Подходит, выражение все проверки. 2) х1 должно быть ложным, чтобы все выражение было ложным, а во втором наборе таблицы истинности указано истинное значение. Выражение отвергаем. 3) х1 должно быть истинным, чтобы все выражение было ложным, а в первом наборе таблицы истинности указано истинное значение. Выражение отвергаем.
Решение: только последнее (четвертое) выражение удовлетворяет условиям задачи.
n = int(input("N: "))
for i in range(n):
print("@ " * n)