Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prueba 5 S FP Curso20-21
Prueba 5 S FP Curso20-21
Curso 2020-2021
ÍNDICE
INTRODUCCIÓN .................................................................................................................. 2
ENUNCIADO ........................................................................................................................ 3
EJEMPLO DE OPERACIONES ............................................................................................ 5
ENTREGABLES Y PLAZOS .............................................................................................. 17
APARTADOS DE LA MEMORIA ..................................................................................... 19
EVALUACIÓN .................................................................................................................... 21
ANEXO 1. INSTALACIÓN DE LA LIBRERÍA BGI Graphic Emulation ......................... 23
ANEXO 2. DIA EN CURSO ............................................................................................... 26
INTRODUCCIÓN
SUBPROGRAMA DESCRIPCIÓN
0. IniciarGestion Inicializa el sistema Mantener_FarmaDron
con una información mínima de arranque
que se ha definido en el párrafo anterior:
- 3 drones.
EJEMPLO DE OPERACIONES
GESTIÓN DE MantenimientoDrones:
Listar almacen (Pulsar I)
Alta dron (Pulsar A)
Alta paciente (Pulsar P)
Baja dron (Pulsar B)
Nuevo pedido (Pulsar N)
Asignar drones (Pulsar D)
Lista mensual de pedidos por dron (Pulsar L)
Informe de mantenimiento (Pulsar R)
Dibujar gráficas del dron (Pulsar G)
Salir (Pulsar S)
Teclear una opción válida (I|A|P|B|N|D|L|R|G|S)?
Todos estos datos deberán estar declarados como valores constantes en el código
fuente.
.- 3 drones.
No hay ningún dato de entrada por teclado y simplemente se deben copiar los
valores constantes en las variables del programa. El objetivo de esta opción es
evitar la introducción por teclado de los datos cada vez que se arranca el programa.
1.- La opción “Listar almacén” mostrará toda la información del almacén, sus
pacientes, sus pedidos y sus drones, con el siguiente formato:
Datos ACTUALES
Descripción: Torrelaguna
Altura: 737 mts
Clientes
Ref. Identificador Distancia Ángulo Altura
Pedidos
Drones
Siendo:
KmH: Kilómetros totales en horizontal.
KmRevH: Kilómetros entre revisiones de motores en horizontal.
MetrosV: Metros totales en vertical.
MetrosRevV: Metros entre revisiones de motores en vertical.
2.- La opción “Alta dron” permite dar de alta en el sistema un nuevo dron. La opción
busca uno de los quince registros disponibles que esté libre y pide la información de
alta del dron. En caso de estar los quince registros ocupados se borrará el dron con
más kilómetros horizontales recorridos.
Número de serie del dron (tres letras + cuatro numeros)? ABC 9976
Alias? (entre 1 y 10 caracteres) SYMA76
KM iniciales horizontal? (=0 si es nuevo) 0
KM horizontales entre revisiones? 600
Metros iniciales vertical? (=0 si es nuevo) 0
Metros verticales entre revisiones? 5000
4.- La opción “Baja Dron” borrará los datos de un determinado dron y listará los
datos de drones que quedan y tendrá el siguiente formato:
Baja Dron:
Drones
Drones
Nuevo pedido:
6.- La opción de “Asignar drones” solicita un día y asigna los pedidos de ese día a
los drones disponibles en el almacén, con el siguiente formato
Día?4
Mes?5
Año?2021
En esta opción cada alumno podrá emplear para fijar las rutas de un dron cualquier
algoritmo que asegure que el dron nunca pierde su autonomía y vuelve al almacén
teniendo en cuenta las cargas. El incremento de autonomía dependiendo de la
carga se puede considerar lineal entre 20 kilómetros a plena carga y 25 kilómetros
en vacío. El desplazamiento vertical supondremos que tiene un consumo 0.
Respecto al número de rutas para atender los pedidos, se puede optar desde
realizar una ruta (ida y vuelta) por cada pedido, que sería la solución más cara,
hasta conseguir el número mínimo de rutas posibles optimizando la conexión entre
las distintas ubicaciones.
Mes? 5
Año? 2021
ESTADO DRON:
Inicio distancia acumulada horizontal = 3045 Km - Final = 3090 Km
Inicio distancia acumulada vertical = 34160 mt - Final = 35540 mt
8.- La opción de “Informe mantenimiento” presenta los datos de todos los drones
del almacén actualizados al día actual con los datos de las rutas asignadas con las
distancias totales y los datos de las siguientes revisiones:
Informe de Mantenimiento:
MOTORES HORIZONTALES
DRON S/N KMTOTALESH PRÓXIMA REVISION % UTIL
GGH4451 3044 3500 91.2
GGK4451 3090 3500 82
ABC9976 27 600 95.5
MOTORES VERTICALES
DRON S/N MTOTALESV PRÓXIMA REVISION % UTIL
GGH4451 35572 36000 7.1
GGK4451 35440 36000 9.3
ABC9976 88 5000 98.2
Por ejemplo, para el dron GGK4451 el último mes MAYO 2021 con los datos de la
inicialización podrían representarse los siguientes gráficos:
Representar Gráfico XY
InicioH : 3045 km
InicioV : 34160 mt
Se puede usar cualquier librería gráfica de las que se pueden integrar con el entorno
C+/- y el compilador MinGW. Por ejemplo, la librería WINBGIM que se puede incluir
en el entorno tal y como se comenta en el ANEXO1.
B. Práctica 5: Todos los alumnos deben incluir todos los ficheros fuentes,
objetos y ejecutables que resuelven la funcionalidad de la práctica 5.
El .zip contendrá:
• Una carpeta llamada codigo_p5 con todos los ficheros con el código
de la práctica (el/los fichero/s C o H).
• PRUEBA_5_SEPT_CODIGO.
• PRUEBA_5_SEPT_MEMORIA.
• PRACTICA_4-SEPT_FARMADRON.
b.- Objeto del módulo. Descripción textual de para qué sirve el módulo
o TAD.
d.- Relación con otros módulos (en qué módulos o TADs se utiliza y
en qué módulos o TADs utiliza).
b.- Pruebas (al menos 10) ejecutadas sobre el programa con sus
correspondientes descripciones que incluya:
1. Descargar la librería:
http://winbgim.codecutter.org/V6_0/WinBGIm_Library6_0_Nov2005.zip
Documentación de la librería:
http://winbgim.codecutter.org/V6_0/doc/index.html
int main()
setcolor(255);
setcolor(LIGHTBLUE);
line ( 52,150, 52, 200);
line ( 148,150, 148, 200);
setcolor (YELLOW);
moveto( 70,200);
outtext("ALMACÉN");
getch();
return 0;
Para el acceso a la fecha actual puede utilizarse los recursos de la librería del entorno, en
concreto la estructura “tm” de “time.h”, como se muestra en el siguiente ejemplo C+/-:
#include <stdio.h>
#include <time.h>
int main()
{
cadena fecha;
time_t tiempo;
Mitipotime s_tiempo;
int mes;
int ano;
int dia;
tiempo = time(0);
s_tiempo = localtime(&tiempo);
ano=s_tiempo->tm_year + 1900;
mes=s_tiempo->tm_mon + 1;
dia=s_tiempo->tm_mday;