Para tomar temperaturas y presiones atmosféricas se utilizan globos climatológicos que están
llenos de helio (menos denso que el aire). Según este helio sea más o menos denso por efecto de
la temperatura, el globo bajará o subirá de altura. Por el día, el globo sube debido al calentamiento
del gas (menos densidad), por la noche baja. El comportamiento de la altura del globo en las
primeras 48 horas desde el lanzamiento viene dado por (t viene expresado en horas y no puede
pasar de 48):
𝐴𝐴𝐴 (𝑡) = −0,13 × 𝑡4 + 12 × 𝑡3 − 378 × 𝑡2 + 4100 × 𝑡 + 219.55
La velocidad de subida o bajada viene dada por:
𝑉𝑉𝑉 (𝑡) = −0.48 × 𝑡2 + 456 × 𝑡 − 45
Se trata de hacer un programa en ANSI C que dé al usuario, de acuerdo a que haya pedido altura
o velocidad, y como parámetros de entrada, el tiempo inicio, el de final y el incremento en horas; los
resultados previstos, sabiendo que el tiempo no puede ser inferior a cero ni superior a 48 horas.
El tiempo dado al programa tendrá formato entero. Los resultados se darán en formato de doble flotante (ten en cuenta estos formatos y haz las conversiones explícitas que necesites).
Como ves debes tomar como referencia el programa anterior. Dividirás el programa en
funciones: una de entrada a la que se pasan por referencia los datos inicial, final y el paso.
Otra de cálculo a la que pasarás esos datos por valor y pintaran los resultados.
Bien, mi programa anterior es este:
Código C++:
Ver original
//Ejercicio1 #include<stdio.h> #include<math.h> #include<string.h> double Velocidad(int t); double Altura(int t); int main() { int tInicial; //tiempo incial int tFinal; //tiempo final int incremento; int dif; dif=tFinal-tInicial; if(dif<0 || dif>48 || tInicial<0 || tFinal>48) { } else { char funcion; int t=tInicial; switch(funcion) { case 'a': do { t+=incremento; } while(t<tFinal); break; case 'v': do { t+=incremento; } while(t<tFinal); break; default: { } } } } double Velocidad(int t) { return -0.48*(t*t)+456*t-45; } double Altura(int t) { return -0.13*(t*t*t*t)+12*(t*t*t)-378*(t*t)+4100*t+219.55; }
Y no se como hacer eso que está en negrita en el enunciado.
Muchas gracias