Другие языки программирования и технологии

Turbo Pascal . Помогите составить простенькую програмку!

Скорость 1 автомобиля - v1 Скорость 2 автомобиля - v2 Расстояние - s Время -t Какое расстояние будет между автомобилями через t часов если изначально машины двигались в противоположном направлении мои наброски - program mashina; var s1,s2,s3,t,v1,v2:integer; begin writeln ('Vvedite Bpemya'); readln (t); s3(основное расстояние) := (s1+s2) * (v1+v2) * t; v1:= 8; (ЛЮБЫЕ ЗНАЧЕНИЯ ) v2:=12; writeln ('Rasstoyanie cherez',t,'chasov =',s3); end. При вводе времени мне результат постоянно выдаёт = 0 Пожалуйста, помогите! Что не так? Не добавляйте новых операторов,изучение паскаля началось недавно, учитель дал только пока что эти
Ворон
Ворон
300
Во-первых, лучше также ввести значения скоростей, программа будет более универсальной.

Во-вторых, ввод значений переменных должен быть ДО ТОГО, как производятся вычисления, иначе значение выражения будет вычисляться с учетом того, что переменные = 0. И даже если вы v1 и v2 зададите перед расчетом расстояния, у вас все равно получится 0, так как неизвестны s1 и s2, и произведение даст 0.

В-третьих, s1 и s2 вообще не нужны. Вам надо найти расстояние между автомобилями, и может быть, известно первоначальное расстояние между ними? Тогда его тоже лучше ввести, например, это будет s0. Тогда расстояние между автомобилями будет вычисляться по формуле s=s0+ (v1+v2)*t;

Вот примерно такая будет программка:

program mashina;
var s,s0,t,v1,v2:integer;
begin
writeln ('Введите время');
readln (t);
writeln ('Введите скорость первого автомобиля');
readln (v1);
writeln ('Введите скорость первого автомобиля');
readln (v2);
writeln ('Введите первоначальное расстояние между автомобилями');
readln (s0);
s:= s0+(v1+v2) * t;
writeln ('Rasstoyanie cherez ',t,' chasov = ',s);
end.
Андрей Алябьев
Андрей Алябьев
56 353
Лучший ответ
может не все переменные инициализированы (имеют значение) s1,s2,s3,t,v1,v2
Ришат Таймасов
Ришат Таймасов
13 816
s1 и s2 не дал значения, ну а переменные v1 и v2 ты присваиваешь ПОСЛЕ того как считаешь s3, а надо перед
v1 и v2 надо перед рассчетом инициализировать. А до этого они равны нулю. Вот и получается, что ты умножаеш на ноль и получаеш в ответе ноль
SS
S S
1 334