Паскаль : каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2 см., а каждый пасмурный день опускается на 1 см. в начале наблюдений улитка находится на а см. от земли на в-метровом дереве. имеется 30-элементный массив, содержащий сведения о том, был ли соответствующий день наблюдения пасмурным или солнечным. написать программу, определяющую местоположение улитки к концу 30-го дня наблюдений.
const n=30;
var c: array[1..n] of integer;
a,b,i:integer;
begin
randomize;
writeln('на какой высоте была улитка');
readln(a);
writeln('ведите длину ветки');
readln(b);
for i:=1 to n do
begin
c[i]:=random(2)-0;{1-солнечно;0-пасмурно}
writeln(c[i]);
end;
writeln;
for i:=1 to n do
if (c[i]=0) then a:=a-1 else a:=a+2;
writeln(a,'см');
if a>b then writeln('улитка переползла ветку');
if a=b then writeln('улитка вернулась в начальное положение');
if a=0 then writeln('улитка спустилась до земли');
end.
Var SunnyDay: Array [1..30] Of Boolean;
a, b, c, i: Integer;
Begin
WriteLn('a = ');
ReadLn(a);
WriteLn('b = ');
ReadLn(b);
b := b * 100;
Randomize;
For i := 1 To 30 Do
Begin
If Random(2) = 1 Then
SunnyDay[i] := True
Else SunnyDay[i] := False;
End;
For i := 1 To 30 Do Begin
If SunnyDay[i] = True Then
Begin
a := a + 2;
If a > b Then
a := b;
End
Else
Begin
a := a - 1;
If a < 0 Then
a := 0;
End;
End;
WriteLn('Дни месяца были таковы:');
For i := 1 To 30 Do Begin
If SunnyDay[i] = True Then
WriteLn(i, '. Солнечный')
Else
WriteLn(i, '. Пасмурный') End; WriteLn('К концу 30 дня местоположение улитки равно ', a, ' см над землей');
ReadLn;
End.