Тема: Алгебра Логики.
1.Даны логические функции, необходимо построить логические таблицы по заданным функциям.
1. F=(AvB)v (A& ¬B)
2. F=(AvB) & (Av ¬B)
3. F=(A↔B) & C
4. F=(A≡B) & C
5. F=(С≡B) ↔ ¬C
2.Решите логические функции (таблицы строить не надо, подставляем значения, вычисляем результат согласно правилам логического действия)
1. F= A↔ (¬A v ¬B) если А=1, В=0
2. F= (X v Y) & Z если X=1, Y=0, Z=1
3. F= (A v B) & (A v ¬B) если А=1, В=1
4. F= ¬A & (A v B &C) если А=0, В=1, C=1
var c: string;
begin
writeln('Введите 1 число.');
readln(a);
writeln('Введите 2 число.');
readln(b);
writeln('Знак операции.');
readln(c);
if c='*' then writeln(a*b);
if c='/' then writeln(a/b);
if c='-' then writeln(a-b);
if c='+' then writeln(a+b);
end.
2 ЗАДАЧА
var a, b: real;
begin
writeln('Зарабаток Пети:');
readln(a);
writeln('Зарабаток Петрова:');
readln(b);
if a>b then writeln('Петя заработал больше Петрова.')
else if a=b then writeln('Петров и Петя заработали одинаково.')
else
writeln('Петров заработал больше Пети.');
writeln('Среднее: ', (a+b)/2);
end.
//Pascal ABC.NET 3.1 сборка 1256
Const
n=10;
Var
ar:array[1..n] of integer;
i,max,min:integer;
b:boolean;
begin
randomize;
b:=false;
max:=integer.MinValue;
min:=integer.MaxValue;
writeln('Array:');
for i:=1 to n do
begin
ar[i]:=random(-100,100);
if (ar[i]>max) and not(odd(ar[i])) and (ar[i]>0) then
begin
max:=ar[i];
b:=true;
end;
if (ar[i]<min) and not(odd(ar[i])) and (ar[i]>0) then
begin
min:=ar[i];
b:=true;
end;
write(ar[i]:4);
end;
writeln;
if b=false then writeln('Нет удовлетворяющих условиям чисел') else
begin
writeln('Max=',max);
writeln('Min=',min);
end;
end.
Пример работы программы:
Array:
98 60 -41 -88 63 -81 -77 -96 -18 51
Max=98
Min=60