Fie A şi B două puncte pe dreaptă şi d distanţa dintre ele. Din A şi B pornesc în mişcare uniformă pe dreaptă, în acelaşi sens, două mobile cu vitezele v1 si v2 (v1+ > v2), al doilea mobil cu timpul t0 mai târziu decât primul. Se consideră cunoscute: v şi t0. Se cere să se afle după cât timp t de la pornirea primului mobil, acesta îl ajunge pe al doilea şi distanțele1 şi d2 parcurse de mobile până la întâlnirea lor. Unitatea de măsură pentru viteze este m/s, pentru distanță m, iar pentru timp s. 2
#include <iostream>
using namespace std;
int main() {
double v1, v2, t0, d;
cout << „Introduceti viteza primului mobil (m/s): „;
cin >> v1;
cout << „Introduceti viteza celui de-al doilea mobil (m/s): „;
cin >> v2;
cout << „Introduceti timpul de avans al celui de-al doilea mobil (s): „;
cin >> t0;
cout << „Introduceti distanta intre mobile (m): „;
cin >> d;
double t1 = (d + v2 * t0) / (v1 – v2);
double d1 = v1 * t1;
double d2 = v2 * (t1 + t0);
cout << „Timpul de intalnire: ” << t1 << ” secunde\n”;
cout << „Distanta parcursa de primul mobil: ” << d1 << ” metri\n”;
cout << „Distanta parcursa de al doilea mobil: ” << d2 << ” metri\n”;
return 0;
}
Vom folosi formula distanței: d = v * t.
Pentru a determina timpul de întâlnire, putem folosi următoarea relație:
d = v1 * t1 – v2 * (t1 + t0)
deoarece primul mobil parcurge distanța d = v1 * t1, iar al doilea mobil parcurge distanța d = v2 * (t1 + t0) (deoarece are un avans inițial de t0).
Putem rezolva această ecuație pentru t1:
d + v2 * t0 = (v1 – v2) * t1
t1 = (d + v2 * t0) / (v1 – v2)
Pentru a determina distanțele parcurse de mobile, putem înlocui timpul t1 în formulele de distanță. Astfel, distanța parcursă de primul mobil este:
d1 = v1 * t1 = v1 * (d + v2 * t0) / (v1 – v2)
iar distanța parcursă de al doilea mobil este:
d2 = v2 * (t1 + t0) = v2 * ((d + v2 * t0) / (v1 – v2) + t0)
