Составьте блок-схемы для решения задач: 1. Найти сумму и произведение всех целых чисел от1 до 20.
2. Одноклеточная амеба каждые три часа делится на 2 клетки. Определить, сколько будет амеб через 3, 6, ,9,…., 24 часа.
Оформите блок-схемы в редакторе Word с использованием фигур
// PascalABC.NET 3.0, сборка 1073
const
sb='bcdfgjklmnpqrstvwxz';
s='Computer programming is a process of computer programs creation';
var
i,n:integer;
s1,sn,t:string;
begin
i:=1;
while s[i]<>' ' do Inc(i);
s1:=Copy(s,1,i-1);
n:=Length(s); i:=n;
while s[i]<>' ' do Dec(i);
sn:=Copy(s,i+1,n-i);
t:='';
for i:=1 to Length(s1) do
if Pos(s1[i],sb)>0 then t:=t+s1[i];
s1:=t;
t:='';
for i:=1 to Length(sn) do
if Pos(sn[i],sb)>0 then t:=t+sn[i];
sn:=t;
t:='';
for i:=1 to Length(s1) do
if Pos(s1[i],sn)>0 then
if Pos(s1[i],t)=0 then t:=t+s1[i];
for i:=1 to Length(t) do Write(t[i],' ');
Writeln
end.
Тестовый прогон:
t r
2. "Нормальное" решение
// PascalABC.NET 3.0, сборка 1073
const
sb='bcdfgjklmnpqrstvwxz';
s='Computer programming is a process of computer programs creation';
begin
var a:=s.ToWords(' ');
a[0].Intersect(a[a.Length-1]).Where(x->Pos(x,sb)>0).Println(',')
end.
Тестовый прогон:
t,r
¬А отрицание А, то есть х не принадлежит А
перепишем и упростим исходную формулу
P→((Q∧¬A)→P)
известно что X→Y=¬X∨Y (доказывается просто, например через таблицу истинности)
тогда:
P→(¬(Q∧¬A)∨P)
раскроем скобку ¬(Q∧¬A) с закона де Моргана (стыдно их не знать, если что это такие же основы как и таблицы истинности)
P→(¬Q∨¬¬A∨P) = P→(¬Q∨A∨P) = ¬P∨¬Q∨A∨P
¬P∨P=1 то есть всегда истинно и 1∨Х=Х значит ¬P и P можно убрать
остается ¬Q∨A
Значит х либо принадлежит А либо не принадлежит Q
для выполнения этого условия необходимо чтобы все значения Q принадлежали А, тогда минимальное А совпадает с Q
ответ А=[40,77]