En lo sucesivo, tendrás tus prácticas tanto en casa como en el laboratorio.
Crea en tu ordenador de casa una carpeta llamada fpi. Guárdala en el lugar abitual donde tengas tu trabajo: escritorio, mis documentos, carpeta personal, etc. Usando FreeFileSync, sincroniza esta carpeta con el directorio fpi de tu cuenta del laboratorio.
Si tienes pensado trabajar siempre en el laboratorio (bien de forma presencial o bien con una sesión remota: ssh, VNCWeb, etc), entonces puedes usar sincronización en espejo.
Si vas a editar también los ficheros en tu máquina de casa, tendrás que usar una sincronización bidireccional.
Sincroniza tu cuenta todos los días, sin necesidad de que el enunciado lo diga explícitamente.
Tener las prácticas en tu máquina de casa también será necesario para lo siguiente: es posible que quieras enviarle un correo al profesor consultando algo sobre tus ejercicios. Teniendo los ficheros en tu ordenador, podrás enviarlos como fichero adjunto. No envíes tus ejercicios en forma de captura de pantalla: no se pueden analizar con comodidad y ocupan espacio en la cuenta de correo de forma innecesaria.
Muy importante. A partir de ahora, eres responsable de guardar una copia de tus prácticas. La versión de tus prácticas que está en el laboratorio, podría perderse completamente por un fallo en el sistema. Esto sería raro, pero no imposible. Lo que no sería tan raro es que se perdieran los ficheros y el administrador los recuperara desde una copia de seguridad algo desfasada. En ese caso perderías varios días de trabajo.
Para evitar esto, es imprescindible que mantengas tu propia copia. Si en el laboratorio hay problemas y no tienes copias actualizadas de tu trabajo, puedes suspender la asignatura.
En wikipedia podemos leer lo siguiente:
Hipotermia: Cuando la temperatura axilar es inferior a 36 ºC.
Febrícula: Cuando la temperatura axilar se encuentra entre 37.0 °C y 37.5 °C.
Fiebre: Cuando la temperatura axilar se encuentra entre 37.5 °C y 41 °C.
Hiperpirexia: Cuando la temperatura axilar es igual o mayor que 41 °C.
La medicina no es una ciencia exacta así que posiblemente esta definición es válida. Pero en informática es una ambiguedad inaceptable, porque si la temperatura es exactamente 37.5 ºC no sabemos si es febrícula, fiebre o ambas. Y si la temperatura es exactamente 41 ºC , también hay ambigüedad entre fiebre e hiperpirexia.
Escribe un programa llamado
~/fpi/practica04/temperatura.pas
que contenga una función
que
Tenga como argumento una temperatura
Devuelva la cadena de texto hipotermia, temperatura normal, febrícula, fiebre o hiperpirexia, según corresponda. Aplica el criterio definido anteriormente, pero resuelve las ambigüedades (de la manera que creas conveniente)
El programa escribirá mensajes similares a este:
35.7 ºC es hipotermia.
37.2 ºC es febrícula.
Observaciones:
Si la temperatura es superior a la hipotermia pero inferior a la febrícula, es normal.
Hasta ahora, has escrito funciones que devolvían números. Pero esta función devuelve una cadena. Recuerda que las funciones bien escritas no pueden tener efectos laterales, y por tanto no pueden escribir nada en pantalla. La función devolverá una cadena, el cuerpo del programa principal escribirá esta cadena en pantalla.
El cuerpo principal del programa invocará a menos 5 veces a esta función, con diferentes valores.
Las especificaciones (el enunciado) dicen exactamente lo que dicen, y no otra cosa. La especificación hay que seguirla de forma muy rigurosa, siempre. Si el enunciado dice que la función devolverá, por ejemplo, la cadena hipotermia, y tu función devuelve la cadena 35.7 ºC es hipotermia, tu programa está mal.
Escribe un programa llamado ~/fpi/practica04/edad1.pas
que sea equivalente al programa case_en_funcion
de la pg 42
del tema 4, pero:
Empleando sentencias else if, dentro de una función.
Escribiendo estas sentencias dentro de una función, que devuelva una cadena. Como en el programa anterior, será el cuerpo del programa principal quien escriba estos resultados en pantalla.
Escribe un programa llamado
~/fpi/practica04/edad2.pas
.
Este programa será equivalente a edad1.pas
, pero sin
usar ningún else. Solo con sentencias if then. Dentro
de una función.
Compara tus programas edad1.pas
y
edad2.pas
. ¿cuál te parece más claro? ¿Cuál te ha resultado
más cómodo de escribir? ¿cuál prefieres?. Contesta a estas preguntas, de
forma breve, en un comentario de edad2.pas
.