Задание 1
Даны высказывания: А = {2+3=5}, B = {2*2=4}.
Определить истинность высказываний:А, В, А&В, ¯А, ¯В, АvВ, А→В, А↔В.
Задание 2 Постройте отрицание для высказываний:
Невозможно создать вечный двигатель
Все грибы съедобны
Каждый человек поэт
Задание 3 Составить таблицу истинности для следующего логического выражения:
F = А̅ ∨ B&(A&A) ∨ B
Задание 4 Найти значение логического выражения: F = (0 & 0) & (1 & 1)
// Внимание! Если программа не работает, обновите версию!
function MyNum(a:array of integer;lim:integer):=a.Where(x->x<lim).Count;
begin
var p:=ArrRandom(ReadInteger('n='),-99,99); p.Println;
var k:=ReadInteger('Введите границу отсечения элементов:');
Writeln('Количество элементов, меньших ',k,', равно ',MyNum(p,k))
end.
Пример
n= 17
-50 -52 -98 1 99 27 -44 70 -65 -22 -64 48 91 3 -69 -69 52
Введите границу отсечения элементов: 23
Количество элементов, меньших 23, равно 11
const
n=14;
var
a,b,c:array[1..n] of integer;
i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(199)-99; // [-99;99]
Write(a[i],' ');
b[i]:=random(199)-99; // [-99;99]
end;
Writeln;
for i:=1 to n do Write(b[i],' ');
Writeln;
for i:=1 to n do begin c[i]:=a[i]*b[n+1-i]; Write(c[i],' ') end;
Writeln
end.
Пример
70 92 -92 19 -33 8 10 -37 -87 51 -29 -4 -3 25
20 -69 7 -36 -91 -74 -38 -16 49 -46 93 0 -73 40
2800 -6716 0 1767 1518 392 -160 1406 6438 -4641 1044 -28 207 500
В качестве бонуса и вопроса "в воздух" - та же самая программа, написанная с учетом современных возможностей PascalABC.NET 3.2
begin
var a:=ArrRandom(14,-99,99); a.Println;
var b:=ArrRandom(14,-99,99); b.Println;
var c:=a.Zip(b.Reverse,(x,y)->x*y).ToArray; c.Println
end.
И обещанный вопрос: Если Паскаль, как система программирования, в настоящее время используется только в целях обучения (следовательно, критерий "fpc шире распространен" отпадает), то зачем учиться на давным-давно устаревшей версии? Чтобы писать было сложнее, больше и допускать при этом больше ошибок?