За какое время Пунтик одолел первую половину пути, после чего запланировал привал? - 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();
}

Объяснение кода листинга программы

  1. Объявление переменных: float t1, v1, t2, v2, t3, v3, vesryx, polovryxy;
  2. Ввод данных с помощью функции scanf:
    • t1 = вводимое значение скорости первого участка пути;
    • v1 = вводимое значение времени первого участка пути;
    • t2 = вводимое значение скорости второго участка пути;
    • v2 = вводимое значение времени второго участка пути;
    • t3 = вводимое значение скорости третьего участка пути;
    • v3 = вводимое значение времени третьего участка пути;
  3. Вычисление суммы площадей: vesryx = (t1v1)+(t2v2)+(t3*v3);
  4. Вычисление половины суммы площадей: polovryxy = vesryx/2;
  5. Вычисление расстояний по каждому участку:
    • distance1 = t1*v1;
    • distance2 = t2*v2;
    • distance3 = t3*v3;
  6. Проверка, является ли половина суммы площадей меньше первого расстояния:
    • Если условие выполняется, то значение половины суммы площадей делится на скорость первого участка и выводится на экран, а затем программа завершается;
  7. Если половина суммы площадей меньше второго расстояния, но больше первого, то вычисляется время, затраченное на второй участок:
    • result = t1+(polovryxy-distance1)/v2;
    • Значение result выводится на экран, а затем программа завершается;
  8. Если половина суммы площадей больше второго расстояния, то вычисляется общее время пути:
    • result = t1+t2+(polovryxy-distance1-distance2)/v2;
    • Значение result выводится на экран, а затем программа завершается;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы