Bucles
Fundamentos de la programación y la informática
Grado en ingeniería aeroespacial en vehículos aeroespaciales 2019-2020
Escuela Técnica Superior de Ingeniería de Telecomunicación
Universidad Rey Juan Carlos


Práctica 7.1. Máximo y Mínimo desde teclado

Escribe un programa en un fichero llamado ~/fpi/practica07/maximo_minimo.pas que vaya pidiendo números reales positivos al usuario. Cuando se introduzca un 0, el programa debe terminar indicando antes el máximo y el mínimo de los números introducidos.

Si el usuario introduce algo diferente a lo solicitado (la entrada no es un número o no es un número real positivo) el programa debe ignorarlo, escribir un mensaje de error y seguir funcionando con normalidad, solicitando un nuevo número.

Si el usuario no introduce ningún número positivo antes del 0, el programa terminará pero no debe mostrar el máximo ni el mínimo, sino un mensaje de error específico.

Ejemplo de funcionamiento:

./maximo_minimo
Escribe un número positivo (0 para terminar): jj
Valor no válido.
Escribe un número positivo (0 para terminar): 12.5
Escribe un número positivo (0 para terminar): -1
Valor no válido.
Escribe un número positivo (0 para terminar): 8.0
Escribe un número positivo (0 para terminar): 23.9
Escribe un número positivo (0 para terminar): 0
Máximo: 23.9
Mínimo: 8.0
  

Observaciones

Práctica 7.2. Ángulo de ataque

En este ejercicio practicarás el uso de bucles while.

Tenemos un simulador de vuelo. Estamos trabajando en el control del ángulo de ataque. Nuestro programa recibe

  1. El ángulo actual del ala.

  2. El ángulo objetivo, que es el ángulo que tenemos que alcanzar.

  3. Una constante llamada tolerancia.

Estas tres magnitudes están en grados.

Nuestro programa tiene que conseguir que el ángulo actual se acerque lo suficiente al ángulo objetivo. Para ello deberá invocar a dos procedimientos:

Escribe un procedimiento llamado nivela que, si es necesario, invoque a los procedimientos incrementa_angulo y decrementa_angulo hasta que la distancia entre el ángulo actual y el objetivo esté dentro del margen de toleracia. Son aceptables los ángulos cuya diferencia con el ángulo objetivo sea menor o igual que el margen de tolerancia.

Ten en cuenta que es posible que el incremento o decremento producido sea mayor del necesario, y por tanto sea necesario rectificar.

Los procedimientos incrementa_angulo y decrementa_angulo ya están implementados. También un procedimiento inicia_valores que da valor inicial a angulo_actual y angulo_objetivo. Casi todo el problema está resuelto, lo tienes disponible en este enlace.

Lo que debes hacer es:

  1. Copiar el programa en tu cuenta, con el nombre ~/fpi/practica07/angulo_ataque.pas

  2. El programa indenta con tabuladores, si lo prefieres puedes convertirlos en espacios de alguna de estas formas:

    Recuerda que en ningún caso puedes mezclar tabuladores y espacios.

  3. Escribir el procedimiento nivela

El resto de detalles sobre el uso de los procedimientos inicia_valores, incrementa_angulo y decrementa_angulo, consúltalos en el mismo fuente del programa.

Revisión de los nombres de los ficheros

Ejecuta ~mortuno/revisa practicas fpi para comprobar que los nombres de los programas son los correctos.