17 de mayo de 2016

29. PR09 PR10. Programas

A partir de este momento, se exigirá que por lo menos en las funciones claves o importantes se especifiquen las pre-condiciones, las post-condiciones y las invariantes de ciclo si existen.

PR09: Extensión del programa de números primos

Modifica el programa que generaba los números primos para que grabe los números primos en el intervalo [2,1000] en un fichero que llamarás "primos.txt".
Y ahora diseña un nuevo programa que haga lo siguiente:
  1. Abrir el fichero "primos.txt".
  2. Generar una frase con los caracteres UNICODE correspondientes a los números primos.
  3. Presentar esta frase en pantalla y,
  4. Guardarla en un fichero de texto.

PR09BIS: Codificaciones y errores.

Basado en el programa anterior, genera otro programa que haga lo siguiente:
  1. Pregunte por el nombre del fichero. Detecte si el nombre del mismo es correcto o incorrecto, programando una excepción. si es incorrecto, sale del programa.
  2. Si el fichero existe, que lea el contenido y lo presente en pantalla.
  3. A partir de la cadena de caracteres, que obtenga los números de código UNICODE que los representa... ¿Es la lista de números primos?

PR10: Formulario meteorológico

Desarrolla un programa que haga lo siguiente:
  1. Solicite al usuario una contraseña.
    1. La contraseña es una cadena de 8 caracteres, mezcla exclusivamente de letras sin acentuar y de números, sin caracteres tipográficos. No valen ( ] { / & % $ # @....
    2. La contraseña es insensible a mayúsculas o minúsculas, es decir, da igual que las letras se introduzcan en mayúsculas o minúsculas.
    3. Se debe validar, tanto en longitud, como en valor, un máximo de tres veces. A la cuarta, se debe interrumpir el programa.
  2. Abrir un fichero en modo "añadir"
    1. Comprobar que el fichero existe previamente, para avisar al usuario de que si no existe el modo añadir lo va a crear.
    2. Pedir al usuario la siguiente información
      1. Estación meteorológica. Por ejemplo, "Aeropuerto de Jerez"
      2. Fecha
      3. Temperatura máxima. Rechazar si no está en el intervalo entre -50ºC y 60ºC.
      4. Temperatura mínima. Rechazar si no está en el intervalo entre -50ºC y 60ºC.
      5. Cantidad de lluvia. Rechazar si es un número negativo.
    3. Comprobar si la temperatura mínima es mayor que la máxima, y si es así, intercambiar (swap) los datos, informando al usuario
  3. Guardar el dato.
  4. Cerrar el fichero y acabar el programa.

PR10BIS: Formulario meteorológico, ampliación

Basado en el programa anterior, este nuevo programa deberá hacer:
  1. Pedir la contraseña del usuario de la misma forma y condiciones que lo hacía el programa anterior.
  2. Abrir el fichero en modo lectura. Comprobar que existe, y si no, salir del programa.
  3. Calcular lo siguiente:
    • La más baja de todas las temperaturas mínimas.
    • La media de las temperaturas mínimas.
    • La más alta de todas las temperaturas máximas.
    • La media de las temperaturas máximas.
    • La mayor variabilidad térmica (la mayor diferencia entre unas temperaturas mínimas y máximas)
    • El día de mayor variabilidad térmica.
    • La cantidad de lluvia media
    • La máxima cantidad de lluvia caída en un día.
  4. Presentar los datos al usuario, de la forma más elegante posible y cerrar el fichero. Acabar el programa.

No hay comentarios:

Publicar un comentario