При составлении расписания на вторник учителя высказали свои пожелания по поводу расположения первых пяти уроков. Учитель математики (М) хочет иметь первый или второй урок, учитель физики (Ф) – второй или третий, учитель информатики (И) – первый или четвертый, учитель биологии (Б) – третий или четвертый. Какое расписание устроит всех учителей?
const max=15;
var a : array[1..max] of integer;
i,k0,k1,k3 : integer;
k:boolean;
begin
randomize;
k0:=0;
k1:=0;
writeln('исходные:');
for i:=1 to max do
begin
a[i]:=random(2);
write(a[i]:4);
end;
for i:=1 to 15 do
begin
if a[i]=0 then inc(k0) else inc(k1);
if a[i]<>0 then k:=true;
if k=false then inc(k3);
end;
writeln;
writeln('количество нулей = ',k0);
writeln('количество единиц = ',k1);
writeln('количество нулей до первой единицы = ',k3);
End.
---
Решение
Для начала определим значение переменных
А=1 (высказывание истинно)
B=1 (высказывание истинно)
C=1 (высказывание истинно)
D=0 (высказывание ложно)
E=0 (высказывание ложно)
Перейдем к выражениям.
¬ - логическое отрицание (не)
˅ - логическое сложение (или)
˄ - логическое умножение (и)
Как это выглядит в формулах привычными для нас символами (кроме "не". отрицание остается), замени сразу же переменные известными нам значениями:
1. A˄B˅¬C = A*B+ ¬C =1*1+ ¬1=1*1+0 = 1+0 = 1
2. A˄D˅¬E = A*D+ ¬E = 1*0+ ¬0=1*0+1 = 0+1 = 1
3. A˄B˅¬D = A*B+ ¬D = 1*1+ ¬0=1*1+1 = 1+1 = 1 (у нас же логическое выражение)
4. D˄E˅A = D*E+A = 0*0+1 = 0+1 = 1
Таким образом, получаем 1111