Сделайте алгоритм в 1. Имеются три множества символьного типа y1=[‘a,’b’,’d’,’r’,’m’], y2=[‘r’,’a’,’h’,’d’], y3=[‘a’,’r’]. Сформировать множество, полученное в результате X=(y1+y2)*(y1-y2). Вывести на экран элементы всех множеств. Далее проверить, включено ли множество y3 во множество x/
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