
Aizhan
6 год назад
Решить, используя массив+for+randomДано:- массив Days из 30 элементов - солнечные/пасмурная дни- высота дерева -B метров (1,5-10)- улитка находится на высоте A см от земли (60-100)- на каком расстоянии от земли будет улитка через месяц, если в солнечный день она ползет вверх на 3 см в день, а в пасмурный опускается на 2 см в день?Заранее спасибо! =)
ОТВЕТЫ

Antip
Oct 24, 2020
Const
N = 30;
Var
Days:array[1..N] of boolean;
B,A,i:integer;
Begin
B:=random(15,100);
A:=random(60,100);
WriteLn('Высота дерева: ',B/10,' м');
WriteLn('Высота подъёма улитки: ',A,' см');
Write('Погода: ');
For i:= 1 to N do
Begin
if random(2) = 1 then Days[i]:=true
else Days[i]:=false;
if Days[i] then Write('солнечно ')
else Write('пасмурно ')
End;
WriteLn;
For i:= 1 to N do
Begin
if Days[i] then
Begin
if A+3<=B then A:=A+3
else A:=B;
End
else
Begin
if A-2>=0 then A:=A-2
else A:=0;
End
End;
Write('Высота поъёма улитки: ',A/10,' м')
End.
N = 30;
Var
Days:array[1..N] of boolean;
B,A,i:integer;
Begin
B:=random(15,100);
A:=random(60,100);
WriteLn('Высота дерева: ',B/10,' м');
WriteLn('Высота подъёма улитки: ',A,' см');
Write('Погода: ');
For i:= 1 to N do
Begin
if random(2) = 1 then Days[i]:=true
else Days[i]:=false;
if Days[i] then Write('солнечно ')
else Write('пасмурно ')
End;
WriteLn;
For i:= 1 to N do
Begin
if Days[i] then
Begin
if A+3<=B then A:=A+3
else A:=B;
End
else
Begin
if A-2>=0 then A:=A-2
else A:=0;
End
End;
Write('Высота поъёма улитки: ',A/10,' м')
End.
590
Смежные вопросы: