За какое время Пунтик одолел первую половину пути, после чего запланировал привал? - C (СИ)
Формулировка задачи:
Путник двигался t1 часов со скоростью v1,затем t2 часов-со скоростью v2 и t3 часов со скоростью v3.
За какое время он одолел первую половину пути,после чего запланировал привал?
t1 t2 t3 и v1 v2 v3 - вводим с клавиатуры.
#include <stdio.h> #include <conio.h> #include <math.h> main () { float t1,v1,t2,v2,t3,v3,vesryx,polovryxy; printf ("vvedit shvudkist i 4as ryxy pytnuka(vsi chusla dodatni) \n"); printf ("t1="); scanf ("%f",&t1); printf ("v1="); scanf ("%f",&v1); printf ("t2="); scanf ("%f",&t2); printf ("v2="); scanf ("%f",&v2); printf ("t3="); scanf ("%f",&t3); printf ("v3="); scanf ("%f",&v3); vesryx=(t1*v1)+(t2*v2)+(t3*v3); polovryxy=vesryx/2; getch(); }
Решение задачи: «За какое время Пунтик одолел первую половину пути, после чего запланировал привал?»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <math.h> main () { float t1,v1,t2,v2,t3,v3,vesryx,polovryxy; printf ("vvedit shvudkist i 4as ryxy pytnuka(vsi chusla dodatni) \n"); printf ("t1="); scanf ("%f",&t1); printf ("v1="); scanf ("%f",&v1); printf ("t2="); scanf ("%f",&t2); printf ("v2="); scanf ("%f",&v2); printf ("t3="); scanf ("%f",&t3); printf ("v3="); scanf ("%f",&v3); vesryx=(t1*v1)+(t2*v2)+(t3*v3); polovryxy=vesryx/2; float distance1=t1*v1, distance2=t2*v2, distance3=t3*v3,result; if(polovryxy<=distance1) { result=polovryxy/v1; printf("%f",result); getch(); return 1; } if(polovryxy<=distance2&&polovryxy>distance1) { result=t1+(polovryxy-distance1)/v2; printf("%f",result); getch(); return 1; } result=t1+t2+(polovryxy-distance1-distance2)/v2; printf("%f",result); getch(); }
Объяснение кода листинга программы
- Объявление переменных: float t1, v1, t2, v2, t3, v3, vesryx, polovryxy;
- Ввод данных с помощью функции scanf:
- t1 = вводимое значение скорости первого участка пути;
- v1 = вводимое значение времени первого участка пути;
- t2 = вводимое значение скорости второго участка пути;
- v2 = вводимое значение времени второго участка пути;
- t3 = вводимое значение скорости третьего участка пути;
- v3 = вводимое значение времени третьего участка пути;
- Вычисление суммы площадей: vesryx = (t1v1)+(t2v2)+(t3*v3);
- Вычисление половины суммы площадей: polovryxy = vesryx/2;
- Вычисление расстояний по каждому участку:
- distance1 = t1*v1;
- distance2 = t2*v2;
- distance3 = t3*v3;
- Проверка, является ли половина суммы площадей меньше первого расстояния:
- Если условие выполняется, то значение половины суммы площадей делится на скорость первого участка и выводится на экран, а затем программа завершается;
- Если половина суммы площадей меньше второго расстояния, но больше первого, то вычисляется время, затраченное на второй участок:
- result = t1+(polovryxy-distance1)/v2;
- Значение result выводится на экран, а затем программа завершается;
- Если половина суммы площадей больше второго расстояния, то вычисляется общее время пути:
- result = t1+t2+(polovryxy-distance1-distance2)/v2;
- Значение result выводится на экран, а затем программа завершается;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д