Паскаль помогите пожалуйста:(((( Каждый солнечный день улитка, сидящая ** дереве,...

0 голосов
48 просмотров

Паскаль помогите пожалуйста:(((( Каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2 см., а каждый пасмурный день опускается на 1 см. В начале наблюдений улитка находится на А см. от земли на В-метровом дереве. Имеется 30-элементный массив, содержащий сведения о том, был ли соответствующий день наблюдения пасмурным или солнечным. Написать программу, определяющую местоположение улитки к концу 30-го дня наблюдений.


Информатика (63 баллов) | 48 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Uses crt;
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.





(1.4k баллов)
0 голосов

Program Ulitka;
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 DoBegin
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 DoBegin
If SunnyDay[i] = True Then
WriteLn(i, '. Солнечный')
Else
WriteLn(i, '. Пасмурный')End;WriteLn('К концу 30 дня местоположение улитки равно ', a, ' см над землей');
ReadLn;
End.

(2.8k баллов)