Меня добьёт эта информатика. прошу помощи у высших умов! Задача 1. Лягушка прыгнула в реку и поплыла против течения реки со скоростью Vl км/час. Но с каждым часом она уставала, и скорость её падала на 1 км/час. Определите время, через которое лягушка окажется в том месте, с которого начала свой заплыв, если скорость реки VR. Задача 2. Лягушка, завидев цаплю, попрыгала к озеру, которое находилось от неё на расстоянии S метров. Первый прыжок её был в 1 м, каждую следующую минуту длину прыжка лягушка удваивала. Цапля через T минут подойдёт к озеру. Определите спасётся лягушка, нырнув в воду, или не успеет. Программы составьте на алгоритмическом языке Паскаль так, чтобы в одной был использован цикл с предусловием, а в другой с постусловием. Сохраните коды программ на Паскале или в текстовом редакторе Блокнот.
Программа на алгоритмическом языке Паскаль с использованием цикла с предусловием для задачи 1:
program FrogRiverPreWhileLoop; var Vl, VR, time, distance: integer; begin writeln('Введите скорость лягушки (км/ч): '); readln(Vl); writeln('Введите скорость реки (км/ч): '); readln(VR); distance := 0; time := 0; while distance >= 0 do begin distance := distance + Vl - VR; Vl := Vl - 1; time := time + 1; end; writeln('Лягушка вернется через ', time, ' часов'); end.
Программа на алгоритмическом языке Паскаль с использованием цикла с постусловием для задачи 2:
program FrogLakePostRepeatLoop; var S, T, distance: integer; jump: real; begin writeln('Введите расстояние до озера (м): '); readln(S); writeln('Введите время до прихода цапли (мин): '); readln(T); distance := 0; jump := 1; repeat distance := distance + round(jump); jump := jump * 2; until distance >= S; if distance <= T * 60 then writeln('Лягушка спасется!') else writeln('Лягушка не успеет.'); end.
Программа на алгоритмическом языке Паскаль с использованием цикла с предусловием для задачи 1:
program FrogRiverPreWhileLoop;var
Vl, VR, time, distance: integer;
begin
writeln('Введите скорость лягушки (км/ч): ');
readln(Vl);
writeln('Введите скорость реки (км/ч): ');
readln(VR);
distance := 0;
time := 0;
while distance >= 0 do
begin
distance := distance + Vl - VR;
Vl := Vl - 1;
time := time + 1;
end;
writeln('Лягушка вернется через ', time, ' часов');
end.
Программа на алгоритмическом языке Паскаль с использованием цикла с постусловием для задачи 2:
program FrogLakePostRepeatLoop;var
S, T, distance: integer;
jump: real;
begin
writeln('Введите расстояние до озера (м): ');
readln(S);
writeln('Введите время до прихода цапли (мин): ');
readln(T);
distance := 0;
jump := 1;
repeat
distance := distance + round(jump);
jump := jump * 2;
until distance >= S;
if distance <= T * 60 then
writeln('Лягушка спасется!')
else
writeln('Лягушка не успеет.');
end.