[ Foro de C ]

Lectura de telemetría en C

15-Nov-2020 18:48
Invitado (JJJ)
1 Respuestas

Necesito un algoritmo para resolver la siguiente problemática:
Dada una secuencia de lecturas de telemetría de un satélite que tienen la
siguiente estructura:
<t0 l0 t1 l1 t2 l2 ... tn ln -1> donde
? t i es un entero positivo que indica el número de segundos desde el inicio
en que se toma la lectura l i
? l i es un real positivo que indica la lectura telemétrica en metros realizada
en el instante t i .
Los datos están ordenados cronológicamente a la secuencia.
En caso de que la secuencia no presente incoherencias, el programa debería
mostrar la media de las lecturas telemétricas. Una incoherencia se produce
cuando la diferencia entre dos lecturas consecutivas es superior al 20%. En caso que se presente una incoherencia, el programa debería mostrar los
valores de lectura máximo y mínimo de toda la secuencia y el instante en que
se realizaron estas lecturas. En caso de que los valores máximo y mínimo de
lecturas estén repetidos, nos interesa únicamente la primera vez que se
produjo esta lectura.
Así pues el algoritmo, dada la siguiente secuencia:
<32 45.4 35 50.2 37 47.6 40 37.7 41 42.0 47 45.3 -1>
Debería escribir: 35 50.2 40 37.7
Ello es debido a la incoherencia entre la tercera y cuarta lectura. La lectura 37.7
está por debajo de 47.6 en más de un 20%. En este caso la salida debe ser el
instante de lectura del valor máximo, el valor máximo, el instante de lectura del
valor mínimo y el valor mínimo.
En cambio, ante la secuencia:
<32 45.4 35 50.2 37 47.6 40 38.7 41 42.0 47 45.3 -1>
La salida debe ser: 44.86667
Que es el valor de la media de lecturas pues no hay incoherencias.
Nota : La secuencia tendrá al menos un par de lecturas telemétricas.


16-Nov-2020 14:35
Nacho Cabanes (+75)

¿Qué sabes hacer de C y de este problema concreto, y qué no sabes hacer?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)