На этой странице дано решение примеров Begin35 - Begin37 из задачника Абрамяна, в которых рассматриваются простейшие школьные задачи связанные с движением.
Begin35. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Определить путь S, пройденный лодкой (путь = время · скорость). Учесть, что при движении против течения скорость лодки уменьшается на величину скорости течения.
var
V, U, T1, T2, S: real;
begin
write('Скорость лодки в стоячей воде V = ');
readln(V); { <-- вводим скорость лодки в стоячей воде }
write('Скорость течения реки U = ');
readln(U); { <-- вводим скорость реки }
write('Время движения лодки по озеру T1 = ');
readln(T1); { <-- вводим время движения лодки по озеру }
write('Время движения лодки по реке (против течения) T2 = ');
readln(T2); { <-- вводим время движения лодки против течения }
S := V * T1; { <== расстояние, пройденное лодкой по озеру }
V := V - U; { <== скорость лодки против течения }
S := S + V * T2; { <== общее расстояние, пройденное лодкой }
writeln;
writeln('Расстояние пройденное лодкой: S = ', S:0:3, ' км');
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Begin36. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга, двигаясь в противоположных направлениях. Данное расстояние равно сумме начального расстояния и общего пути, проделанного автомобилями; общий путь = время · суммарная скорость.
var
V1, V2, T, S: real;
begin
writeln('Введите скорости автомобилей (в км/ч):');
write(' V1 = ');
readln(V1); { <-- вводим скорость первого автомобиля }
write(' V2 = ');
readln(V2); { <-- вводим скорость второго автомобиля }
writeln('Введите расстояние между автомобилями (в км):');
write(' S = ');
readln(S); { <-- вводим начальное расстояние }
writeln('Введите время удаления автомобилей (в часах):');
write(' T = ');
readln(T); { <-- вводим время T удаления автомобилей }
V1 := V1 + V2; { <== скорость удаления автомобилей }
S := S + V1 * T; { <== расстояние через T часов удаления }
writeln;
writeln('Расстояние между автомобилями через ', T, ' часов:');
writeln(' S = ', S:0:3, ' км');
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Begin37. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу. Данное расстояние равно модулю разности начального расстояния и общего пути, проделанного автомобилями; общий путь = время · суммарная скорость.
Как видно из условия задачи, в этом примере автомобили движутся уже по направлению друг к другу, а это означает, что их скорости нужно суммировать. Так, допустим, едет грузовой автомобиль со скоростью 60 км/ч, имеет скорость 120 км/ч, а первоначальное расстояние между автомобилями равно 400 км. Каково расстояние между автомобилями через 2 часа?
Вот это и напишем в программе ниже:
var
V1, V2, T, S: real;
begin
write('V1 = ');
readln(V1); { <-- вводим скорость 1 автомобиля }
write('V2 = ');
readln(V2); { <-- вводим скорость 2 автомобиля }
write('S = ');
readln(S); { <-- вводим начальное расстояние между автомобилями }
write('T = ');
readln(T); { <-- вводим время сближения автомобилей }
S := abs(S - (V1 + V2) * T); { <== расстояние через T часов сближения }
writeln;
writeln(' S = ', S:0:3, ' км');
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308**function** Abs(x: real): real;
: Возвращает модуль числа x.