Такие задания очень легко решаются, если заменить логические знаки на арифметические. Сейчас я напишу логические знаки и их аналогичные арифметические.
∧ или & - * (умножение)
∨ - + (сложение)
¬ - отрицание (1 превращается в 0, а 0 в 1)
Запишу в качестве примера последнюю таблицу первую строчку
при A=0 B=0 C=0
A&B меняем на A*B
получается 0*0 ответ 0
A&B∨C меняем на A*B+C
получается 0*0+0 ответ 0
¬(A&B∨C) меняем на ¬(A*B+C)
получается ¬(0*0+0) сначала решаем в скобках, будет ¬(0) или ¬0 ответ: 1
Подробнее - на -
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses GraphABC;
type point=record
x,y:integer;
end;
procedure plitk(x,y,r:integer);
var p:array[1..9]of point;
a,da:real;
i:byte;
begin
a:=pi/2;
da:=pi/4;
for i:=1 to 9 do
begin
p[i].x:=x+round(r*cos(a));
p[i].y:=y-round(r*sin(a));
a:=a+da;
end;
polygon(p,9);
end;
var r,i,j,x,y,d:integer;
begin
r:=20;
y:=r;
while y<=windowheight do
begin
x:=r;
while x<=windowwidth do
begin
plitk(x,y,r);
x:=x+2*r;
end;
y:=y+2*r
end;
end
n = 4;
var
a : array [1..n,1..n] of integer;
i,j,max : integer;
begin
randomize;
for i := 1 to n do
for j := 1 to n do
a[i,j] := -50 + random (101);
for i := 1 to n do
begin
max := a[i,1];
for j := 2 to n do
if a[i,j] > max then
max := a[i,j];
writeln (max);
end;
end.