Использовать Робот
алг
нач цел k
k:=1
| 1-пришел снизу
| 2-пришел справа
| 3-пришел слева
| 4-пришел сверху
нц пока k>0
нц пока справа свободно и k<>2
вправо
счет
k:=3
кц
нц пока сверху свободно и k<>4
вверх
счет
k:=1
кц
нц пока снизу свободно и k<>1
вниз
счет
k:=4
кц
нц пока слева свободно и k<>3
влево
счет
k:=2
кц
кц
кон
алг счет
нач цел i
i:=0
| i-число стенок вокруг
если сверху стена то i:=1 все
если слева стена то i:=i+1 все
если справа стена то i:=i+1 все
если снизу стена то i:=i+1 все
если i=3 то стоп все
если i=1 то закрасить все
кон<span>
</span>
1) <span>¬((x >3)→(x >4)) = ¬(¬(x>3)∨(x>4)) = ¬(x≤3 ∨ x>4) = (x>3) ∧ (x≤4)
Истинно для x ∈ (3;4]
<u>Ответ 4) 4</u>
2) </span><span>¬((x >56)→(x>198)) ∧(x<369) = ¬((x≤56)∨(x>198))∧(x<369) =
(x>56)∧(x<=198)∧(x<369) = </span><span>(x>56)∧(x<=198)
</span><span>Истинно для x ∈ (56;198]
<u>Ответ 1) 100</u>
</span>
//PascalABC.NET
//Версия 3.3, сборка 1627
function f(x: integer): boolean;
begin
f:=false;
var c:=0;
foreach var item in x.ToString.Select(t->t.ToDigit()).Where(r->r<>0) do
if (x mod item=0) then inc(c);
if c=x.ToString.Count then f:=true;
end;
begin
var n:=ReadInteger;
range(1,n).Where(x->f(x)).Println;
end.
В данной программе k - это количество шагов, т. е. от 6 до 12 включительно. Получается 7 шагов. Если совсем не понимаешь, то проще расписать каждый шаг от 6 до 12.
Например,
k:= 6; s:= 0+10
k:= 7; s:= 10+10
k:= 8; s:= 20+10
...
k:= 12; s:= 60+10
Свойство алгоритма Дискретность<span> (прерывность, раздельность) </span> - алгоритм разбит на шаги и эти шаги исполняются в определенном порядке