• Lenguaje

    C

  • Descripción

    Debido a la alta accidentalidad presentada en el último año en las carreteras del territorio nacional, el gobierno colombiano ha decidido implementar controles que permitan sancionara a los conductores que no respeten los límites de velocidad establecidos por los organismos de control. Con este fin, el ministerio de transporte ha decidido implementar radares de tramo en las carreteras con mayores índices de accidentalidad en el país.

    Los radares de tramo funcionan colocando dos cámaras en dos puntos alejados de una carretera con el fin de comprobar cuánto tiempo tarda un conductor recorrer dicho tramo. Estos radares no miden la velocidad de paso, sino el tiempo de paso representado como la velocidad media de un conductor en un trayecto con una longitud determinada.

    La interpretación del funcionamiento de los radares es simple: si colocamos las cámaras separadas 10 km en un tramo cuya velocidad máxima es de 110 km/h y un conductor tarda 5 minutos en ser visto por la segunda cámara, sabremos que su velocidad media ha sido de 120 km/h, y por tanto, en algún sitio ha superado la velocidad permitida.

    Usted hace parte del equipo de desarrollo encargado de construir el software que procesará los datos registrados por las cámaras. Su misión es saber si un conductor debe ser multado o no.

    Entrada
    El programa recibirá 3 parámetros:
    - La distancia en metros que separa dos cámaras.
    - La velocidad máxima permitida en ese tramo en (km/h).
    - El tiempo en segundos que tarda el conductor en recorrer el trayecto.

    Salida
    El programa imprimirá una línea indicando si el conductor debe ser multado o no. Se debe considerar lo siguiente:
    - Imprimirá 'OK' si el conductor no superó la velocidad máxima.
    - Imprimirá 'MULTA' si se superó la velocidad máxima en menos de un 20% de la velocidad permitida.
    - Imprimirá 'CURSO SENSIBILIZACION' si la velocidad fue superada en un 20% o más de la velocidad permitida. En este caso además de la multa deberá realizar un curso de sensibilización.
    - Debido a que los sistemas pueden fallar y registrar valores errados (por ejemplo, indicando que el tiempo que ha tardado el conductor es negativo). En esos casos, se deberá imprimir 'ERROR'.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    float distancia_en_metros, tiempo_en_segundos, velocidad, velocidad_maxima;
    printf ("Ingresa el valor de distancia en metros: ");
    scanf ("%f", &distancia_en_metros);
    (void) getchar ();
    printf ("Ingresa el valor de tiempo en segundos: ");
    scanf ("%f", &tiempo_en_segundos);
    (void) getchar ();
    printf ("Ingresa el valor de velocidad maxima: ");
    scanf ("%f", &velocidad_maxima);
    (void) getchar ();
    if(tiempo_en_segundos==0)
        velocidad=0;
    else
        velocidad=distancia_en_metros*60*60/tiempo_en_segundos/1000;
    if(velocidad<=0)
        printf ("ERROR\n");
    if(velocidad>0&&velocidad<=velocidad_maxima)
        printf ("OK\n");
    if(velocidad>velocidad_maxima&&velocidad<=velocidad_maxima*1.2)
        printf ("MULTA\n");
    if(velocidad>velocidad_maxima*1.2)
        printf ("CURSO SENSIBILIZACION\n");
    printf ("Valor de velocidad: %g\n", velocidad);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}