SlideShare una empresa de Scribd logo
ETSI Telecomunicación

                                                                                                                                                                                                        PROGRAMACIÓN 1
PRÁCTICA EVALUABLE
En esta práctica se deberá desarrollar una aplicación para almacenar información sobre
distintos servicios disponibles en un área geográfica determinada. Este área se
representará por un mapa (del tipo TMapa) de tamaño NxN ocupando la zona superior
izquierda de una rejilla (del tipo TMatrizMapa) de 100x100 celdas. Los objetos del tipo
TMapa deberán guardar la rejilla y el número N (num_celdas) que determina la zona
ocupada por el mapa. Cada servicio estará situado en una celda del mapa y su ubicación
vendrá dada por sus coordenadas (posición de la celda) en el mapa que se expresarán




                                                                                                                                               
como dos números enteros correspondientes a la fila y la columna (tipo TCoordenadas).




                                                                                                                                             Grado en Sistemas Electrónicos (Grupo A)  Curso 2012-13
En cada celda del mapa se podrá guardar un número variable de servicios (como máximo
10), se utilizará para ello una estructura del tipo TListaServicios. Cada servicio (del
tipo TServicio) se identificará por el tipo de servicio, su ubicación en el mapa (tipo
TCoordenadas), su nombre y su identificador (ambos cadenas de caracteres). El tipo de
servicio vendrá dado mediante un enumerado (del tipo TTipoServicio), con los valores
HOTEL, GASOLINERA, HOSPITAL y COLEGIO.

                          En este caso concreto el mapa es de 5x5 celdas

                                0      1         2     3      4                                                      99

                      0


                      1


                      2


                      3


                      4

               mapa                                                                                                            TMatrizMapa
 TMapa




                      99


              num_celdas 5


                                                                       tipoServicio 0
                               0 1 2             9                         nombre      Hotel Málaga Plaza

    TListaServicios                        ...       TArrayServicios                   12320                                    TServicio
                                                                       identificador
                                                                               coord           fila   columna
                           5
                                                                                            0               3   TCoordenadas




La estructura de datos necesaria para resolver el problema descrito se muestra en la
figura anterior, donde aparece un ejemplo concreto con un mapa de 5x5 celdas. La
estructura principal será del tipo TMapa. En la figura, aparecen en negrita todos los
tipos de datos básicos que es necesario definir para poder resolver el problema,
aunque se podrá definir algún tipo de dato adicional si se considera necesario.
Teniendo en cuenta ja descripción anterior del problema, así como la estructura de datos de la figura, se
pide:

   1. (1 punto) Definir todos los tipos de datos necesarios para poder resolver el problema.
   2. Definir los siguientes subalgoritmos (funciones) para el manejo de un servicio:
          a. (0.25 puntos) leerTipoServicio: Lee el tipo de servicio como un número natural hasta
              que el usuario introduzca un valor correcto, es decir, un valor que esté entre 0 y 3, y
              genera el correspondiente valor del tipo enumerado TTipoServicio.
          b. (0.75 puntos) leerServicio: Lee los datos de un servicio (su tipo, sus coordenadas, su
              nombre y su identificador). Este subalgoritmo devuelve el servicio leído (del tipo
              TServicio) como un parámetro de salida. Habrá que asegurarse de que el tipo de servicio
              introducido por el usuario es correcto. Si no lo es se le volverá a preguntar hasta que
              introduzca un tipo de servicio correcto.
          c. (0.5 puntos) mostrarServicio: Muestra por pantalla todos los datos de un servicio (del
              tipo TServicio) pasado como parámetro. Para el tipo de servicio se mostrará una cadena
              de caracteres con el nombre del tipo de servicio. Toda la información se mostrará en una
              sola línea en el formato del ejemplo siguiente:
               HOTEL, posicion=(0,3), identificador=12320, nombre=Hotel Málaga Plaza

   3. Definir los siguientes subalgoritmos (funciones) para el manejo de la lista de servicios localizada
      en una celda determinada de un mapa:
          a. (0.25 puntos) Definir la igualdad de servicios (función iguales) teniendo en cuenta que
              dos servicios se consideran iguales cuando son del mismo tipo y tienen el mismo
              identificador. No se tiene en cuenta ni el nombre ni la ubicación de cada uno.
          b. (0.75 puntos) existeServicio: Dada una lista de servicios (del tipo TListaServicios)
              y un servicio concreto (del tipo TServicio) devuelve true o false dependiendo de si
              existe o no ese servicio (u otro igual) en la lista de servicios.
          c. (0.5 puntos) insertarServicioEnLista: Dada una lista (del tipo TListaServicios) y
              un servicio concreto (del tipo TServicio) inserta el servicio dado en la lista si la lista
              tiene menos de 10 servicios y no existe dicho servicio en la lista; en tal caso devuelve true
              en un tercer parámetro OK de tipo bool. De lo contrario, no inserta y devuelve false en
              el parámetro OK.
          d. (1.0 puntos) insertarServicio: Dado un mapa (del tipo TMapa) y un servicio (del tipo
              TServicio) inserta el servicio en la lista de la celda correpondiente a las coordenadas del
              servicio, respetando las condiciones del apartado anterior y siempre que las coordenadas
              estén dentro del mapa. En caso de no poder insertarse el servicio por alguno de los
              motivos anteriores, se indicará devolviendo false en un parámetro OK de tipo bool. Si la
              inserción tiene éxito en OK se devuelve true.
          e. (1 punto) mostrarServicios: Dado un mapa (tipo TMapa) y el tipo de servicio en el que
              estamos interesados, este procedimiento muestra todos los servicios de dicho tipo que
              haya en el mapa.
   4. Definir los siguientes subalgoritmos (funciones) para el manejo del mapa:
          a. (2 puntos) leerMapa: Lee los datos de un mapa (tipo TMapa) desde la consola. Debe pedir
              la dimensión N del mismo (será un mapa NxN) y el número de servicios con el que se va a
              inicializar el mapa. Después se solicitará al usuario que introduzca, uno a uno, tantos
              servicios como haya indicado. Si por alguno de los motivos descritos en el apartado d un
              servicio no puede ser insertado en el mapa, se mostrará el error en la pantalla y se pedirá
              que se vuelva a introducir.
          b. (2 puntos) servicioMasCercano: Dado un mapa (del tipo TMapa), un tipo de servicio (del
              tipo TTipoServicio) y una determinada posición (del tipo TCoordenadas) devuelve el
servicio (del tipo TServicio) del tipo solicitado que se encuentre más cercano a la
                posición introducida. Si se encuentra, se devuelve además true en un parámetro OK de
                tipo bool. Si no se encuentra ningún servicio de ese tipo en el mapa se devolverá false
                en OK. Para localizar el servicio más cercano se buscará primero en la celda del mapa
                correspondiente a la posición proporcionada (celda a distancia 0). Si en esa celda no hay
                ningún servicio del tipo solicitado se buscará en las celdas adyacentes (celdas a distancia
                1) y así se irá desplazando a distancia 2, 3, etc… hasta encontrar el servicio o hasta
                terminar de recorrer todo el mapa sin encontrarlo. Si se encuentra una celda con más de
                un servicio del tipo buscado, se devolverá el primero que se aparezca.
NOTA:

  1. Se proporciona un posible esquema de programa principal (main) para probar el correcto
     funcionamiento de los subprogramas (funciones) implementados. Para utilizarlo se deberá
     completar las declaraciones de datos y prototipos de funciones y “destapar” (quitar las marcas de
     comentario /* */ de) las zonas que se quiera probar, en el orden en el que aparecen, a medida que
     se van completando las definiciones de las funciones pedidas.

  ==================================================================

  // -- Importaciones ---------------------------------------------------
        // Completar con las importaciones necesarias

  // -- Declaraciones de tipos ----------------------------------------
        // Completar con las declaraciones de los tipos de datos necesarios

  // -- Declaraciones de funciones ---------------------------------
        // Completar con los prototipos de las funciones que se piden

  // -- Programa principal --------------------------------------------
  int main() {
  // Escenario de pruebas nivel 2 ..................
  /*
      TServicio servicio;
      leerServicio(servicio);
      cout << endl;
      cout << "Se ha creado el servicio: n";
      mostrarServicio(servicio);
  */

  // Escenario de pruebas nivel 3 ..................
  /*
     TListaServicios ls;
     ls.num_servicios = 0;
     bool OK;
     cout << "Insertamos el servicio en una listan";
     insertarServicioEnLista(ls, servicio, OK);
     if (OK and existeServicio(ls, servicio)) {
         cout << "El servicio se ha insertadon";
     } else {
         cout << "No se ha podido insertarn";
     }
  */
// Escenario de pruebas nivel 4 (1) ..................
  /*
     TMapa mapa;
     leerMapa(mapa);
     cout << "Hoteles del mapa: n";
     mostrarServicios(mapa, HOTEL);
     cout << "Gasolineras del mapa: n";
     mostrarServicios(mapa, GASOLINERA);
  */

  // Escenario de pruebas nivel 4 (2) ..................
   /*
      cout << "Hotel más próximo a la posicion (3,4)n";
      TTipoServicio ts = HOTEL;
      TCoordenadas coor = {3, 4};
      servicioMasCercano(mapa, ts, coor, servicio, OK);
      if (OK) {
        mostrarServicio(servicio);
      } else {
        cout << "No hay servicio de este tipon";
      }
   */
      return 0;
   }

  // -- Definiciones de funciones
        // Completar con las definiciones de las funciones pedidas
        // y funciones auxiliares que se considere necesarias

================================================================

Más contenido relacionado

Destacado

Global carbon-pricing-we-will-if-you-will book
Global carbon-pricing-we-will-if-you-will bookGlobal carbon-pricing-we-will-if-you-will book
Global carbon-pricing-we-will-if-you-will book
ngocjos
 
Negociacions
NegociacionsNegociacions
Negociacions
elpropiio
 
Curso de project
Curso de projectCurso de project
Curso de project
Esdras Tzoc
 
La migración en el estado de puebla...
La migración en el estado de puebla...La migración en el estado de puebla...
La migración en el estado de puebla...
abbamu
 
Revista Boa Vontade, edição 198
Revista Boa Vontade, edição 198Revista Boa Vontade, edição 198
Revista Boa Vontade, edição 198
Boa Vontade
 
Seguimiento a efe
Seguimiento a efeSeguimiento a efe
Seguimiento a efe
Yeshiva Torah
 
Dieznuevascompetenciasparaenseñar
DieznuevascompetenciasparaenseñarDieznuevascompetenciasparaenseñar
Dieznuevascompetenciasparaenseñar
Roberto Villagómez
 
Diagrama de Actividades
Diagrama de ActividadesDiagrama de Actividades
Diagrama de Actividades
Universidad Técnica del Norte
 
11046 guia practica energia 3 ed.rev y actualizada a2011
11046 guia practica energia 3 ed.rev y actualizada a201111046 guia practica energia 3 ed.rev y actualizada a2011
11046 guia practica energia 3 ed.rev y actualizada a2011
SATE VIPAL CANALS
 
Familias numerosas angel jimenez oar
Familias numerosas   angel jimenez oarFamilias numerosas   angel jimenez oar
Familias numerosas angel jimenez oar
abello67
 
Predicate-Preserving Collision-Resistant Hashing
Predicate-Preserving  Collision-Resistant HashingPredicate-Preserving  Collision-Resistant Hashing
Predicate-Preserving Collision-Resistant Hashing
Philippe Camacho, Ph.D.
 
Practicum Jorge Moreno: WRF-CAMX
Practicum Jorge Moreno: WRF-CAMXPracticum Jorge Moreno: WRF-CAMX
Practicum Jorge Moreno: WRF-CAMX
Jorge Moreno Palenzuela
 
Factores de riesgo quimico camilo
Factores de riesgo quimico camiloFactores de riesgo quimico camilo
Factores de riesgo quimico camilo
Juan Camilo Orozco
 
The Really Nice Economy
The Really Nice EconomyThe Really Nice Economy
The Really Nice Economy
How Do You Do Marketing
 
2
22
E portafolio
E portafolioE portafolio
E portafolio
angiefajardooviedo
 
Programa De Salud Ocupacional
Programa De Salud OcupacionalPrograma De Salud Ocupacional
Programa De Salud Ocupacional
Miguel Antonio Romero
 
Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347
Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347
Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347
feshugo
 
New crepés-proyecto
New crepés-proyectoNew crepés-proyecto
New crepés-proyecto
danyy15
 
El sena
El senaEl sena
El sena
Maricela Lara
 

Destacado (20)

Global carbon-pricing-we-will-if-you-will book
Global carbon-pricing-we-will-if-you-will bookGlobal carbon-pricing-we-will-if-you-will book
Global carbon-pricing-we-will-if-you-will book
 
Negociacions
NegociacionsNegociacions
Negociacions
 
Curso de project
Curso de projectCurso de project
Curso de project
 
La migración en el estado de puebla...
La migración en el estado de puebla...La migración en el estado de puebla...
La migración en el estado de puebla...
 
Revista Boa Vontade, edição 198
Revista Boa Vontade, edição 198Revista Boa Vontade, edição 198
Revista Boa Vontade, edição 198
 
Seguimiento a efe
Seguimiento a efeSeguimiento a efe
Seguimiento a efe
 
Dieznuevascompetenciasparaenseñar
DieznuevascompetenciasparaenseñarDieznuevascompetenciasparaenseñar
Dieznuevascompetenciasparaenseñar
 
Diagrama de Actividades
Diagrama de ActividadesDiagrama de Actividades
Diagrama de Actividades
 
11046 guia practica energia 3 ed.rev y actualizada a2011
11046 guia practica energia 3 ed.rev y actualizada a201111046 guia practica energia 3 ed.rev y actualizada a2011
11046 guia practica energia 3 ed.rev y actualizada a2011
 
Familias numerosas angel jimenez oar
Familias numerosas   angel jimenez oarFamilias numerosas   angel jimenez oar
Familias numerosas angel jimenez oar
 
Predicate-Preserving Collision-Resistant Hashing
Predicate-Preserving  Collision-Resistant HashingPredicate-Preserving  Collision-Resistant Hashing
Predicate-Preserving Collision-Resistant Hashing
 
Practicum Jorge Moreno: WRF-CAMX
Practicum Jorge Moreno: WRF-CAMXPracticum Jorge Moreno: WRF-CAMX
Practicum Jorge Moreno: WRF-CAMX
 
Factores de riesgo quimico camilo
Factores de riesgo quimico camiloFactores de riesgo quimico camilo
Factores de riesgo quimico camilo
 
The Really Nice Economy
The Really Nice EconomyThe Really Nice Economy
The Really Nice Economy
 
2
22
2
 
E portafolio
E portafolioE portafolio
E portafolio
 
Programa De Salud Ocupacional
Programa De Salud OcupacionalPrograma De Salud Ocupacional
Programa De Salud Ocupacional
 
Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347
Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347
Dialnet valoracion economicadelimpactoambientaldelmanejoder-2887347
 
New crepés-proyecto
New crepés-proyectoNew crepés-proyecto
New crepés-proyecto
 
El sena
El senaEl sena
El sena
 

Similar a Practica evaluable sistemas electronicos

Excel estadísticos1
Excel estadísticos1Excel estadísticos1
Excel estadísticos1
marlon ponce
 
Lugar geometrico
Lugar geometricoLugar geometrico
Lugar geometrico
itcc
 
Registro
RegistroRegistro
Registro
marcia-marti
 
Operaciones básicas barra de dibujo.pptx diapo
Operaciones básicas barra de dibujo.pptx diapoOperaciones básicas barra de dibujo.pptx diapo
Operaciones básicas barra de dibujo.pptx diapo
ANA ENI ESTELA HERRERA
 
Proyectobd
ProyectobdProyectobd
Proyectobd
guestc5fa4b
 
Proyectobd
ProyectobdProyectobd
Proyectobd
oneidamarsel
 
Proyectobd
ProyectobdProyectobd
Proyectobd
guestc5fa4b
 
Proyectobd
ProyectobdProyectobd
Proyectobd
oneidamarsel
 
EXCEL ESTADISTICA
EXCEL ESTADISTICAEXCEL ESTADISTICA
EXCEL ESTADISTICA
CESAR TORRES DIAZ
 
F unciones exel
F unciones exelF unciones exel
F unciones exel
Johana Guajala
 
Lógica difusa utilizando matlab para un control de voltajes de un motor
Lógica difusa utilizando matlab para un control de voltajes de un motorLógica difusa utilizando matlab para un control de voltajes de un motor
Lógica difusa utilizando matlab para un control de voltajes de un motor
camaleon81
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
Pauly778
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
Pauly778
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
Alejo De Robles
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
Lauti Gomez
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
crisschwab
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
Franco Maggi
 
211 matlab senales
211 matlab senales211 matlab senales
211 matlab senales
Allan Sullivan
 
Consultas de resumen
Consultas de resumenConsultas de resumen
Consultas de resumen
Juan Luis Hernández
 
Lenguaje de simulacion
Lenguaje de simulacionLenguaje de simulacion
Lenguaje de simulacion
lilijessica
 

Similar a Practica evaluable sistemas electronicos (20)

Excel estadísticos1
Excel estadísticos1Excel estadísticos1
Excel estadísticos1
 
Lugar geometrico
Lugar geometricoLugar geometrico
Lugar geometrico
 
Registro
RegistroRegistro
Registro
 
Operaciones básicas barra de dibujo.pptx diapo
Operaciones básicas barra de dibujo.pptx diapoOperaciones básicas barra de dibujo.pptx diapo
Operaciones básicas barra de dibujo.pptx diapo
 
Proyectobd
ProyectobdProyectobd
Proyectobd
 
Proyectobd
ProyectobdProyectobd
Proyectobd
 
Proyectobd
ProyectobdProyectobd
Proyectobd
 
Proyectobd
ProyectobdProyectobd
Proyectobd
 
EXCEL ESTADISTICA
EXCEL ESTADISTICAEXCEL ESTADISTICA
EXCEL ESTADISTICA
 
F unciones exel
F unciones exelF unciones exel
F unciones exel
 
Lógica difusa utilizando matlab para un control de voltajes de un motor
Lógica difusa utilizando matlab para un control de voltajes de un motorLógica difusa utilizando matlab para un control de voltajes de un motor
Lógica difusa utilizando matlab para un control de voltajes de un motor
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
 
Repaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculosRepaso de conceptos de planilla de cálculos
Repaso de conceptos de planilla de cálculos
 
211 matlab senales
211 matlab senales211 matlab senales
211 matlab senales
 
Consultas de resumen
Consultas de resumenConsultas de resumen
Consultas de resumen
 
Lenguaje de simulacion
Lenguaje de simulacionLenguaje de simulacion
Lenguaje de simulacion
 

Último

EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
AngelCristhianMB
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
ranierglez
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 

Último (20)

EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 

Practica evaluable sistemas electronicos

  • 1. ETSI Telecomunicación PROGRAMACIÓN 1 PRÁCTICA EVALUABLE En esta práctica se deberá desarrollar una aplicación para almacenar información sobre distintos servicios disponibles en un área geográfica determinada. Este área se representará por un mapa (del tipo TMapa) de tamaño NxN ocupando la zona superior izquierda de una rejilla (del tipo TMatrizMapa) de 100x100 celdas. Los objetos del tipo TMapa deberán guardar la rejilla y el número N (num_celdas) que determina la zona ocupada por el mapa. Cada servicio estará situado en una celda del mapa y su ubicación vendrá dada por sus coordenadas (posición de la celda) en el mapa que se expresarán  como dos números enteros correspondientes a la fila y la columna (tipo TCoordenadas). Grado en Sistemas Electrónicos (Grupo A)  Curso 2012-13 En cada celda del mapa se podrá guardar un número variable de servicios (como máximo 10), se utilizará para ello una estructura del tipo TListaServicios. Cada servicio (del tipo TServicio) se identificará por el tipo de servicio, su ubicación en el mapa (tipo TCoordenadas), su nombre y su identificador (ambos cadenas de caracteres). El tipo de servicio vendrá dado mediante un enumerado (del tipo TTipoServicio), con los valores HOTEL, GASOLINERA, HOSPITAL y COLEGIO. En este caso concreto el mapa es de 5x5 celdas 0 1 2 3 4 99 0 1 2 3 4 mapa TMatrizMapa TMapa 99 num_celdas 5 tipoServicio 0 0 1 2 9 nombre Hotel Málaga Plaza TListaServicios ... TArrayServicios 12320 TServicio identificador coord fila columna 5 0 3 TCoordenadas La estructura de datos necesaria para resolver el problema descrito se muestra en la figura anterior, donde aparece un ejemplo concreto con un mapa de 5x5 celdas. La estructura principal será del tipo TMapa. En la figura, aparecen en negrita todos los tipos de datos básicos que es necesario definir para poder resolver el problema, aunque se podrá definir algún tipo de dato adicional si se considera necesario.
  • 2. Teniendo en cuenta ja descripción anterior del problema, así como la estructura de datos de la figura, se pide: 1. (1 punto) Definir todos los tipos de datos necesarios para poder resolver el problema. 2. Definir los siguientes subalgoritmos (funciones) para el manejo de un servicio: a. (0.25 puntos) leerTipoServicio: Lee el tipo de servicio como un número natural hasta que el usuario introduzca un valor correcto, es decir, un valor que esté entre 0 y 3, y genera el correspondiente valor del tipo enumerado TTipoServicio. b. (0.75 puntos) leerServicio: Lee los datos de un servicio (su tipo, sus coordenadas, su nombre y su identificador). Este subalgoritmo devuelve el servicio leído (del tipo TServicio) como un parámetro de salida. Habrá que asegurarse de que el tipo de servicio introducido por el usuario es correcto. Si no lo es se le volverá a preguntar hasta que introduzca un tipo de servicio correcto. c. (0.5 puntos) mostrarServicio: Muestra por pantalla todos los datos de un servicio (del tipo TServicio) pasado como parámetro. Para el tipo de servicio se mostrará una cadena de caracteres con el nombre del tipo de servicio. Toda la información se mostrará en una sola línea en el formato del ejemplo siguiente: HOTEL, posicion=(0,3), identificador=12320, nombre=Hotel Málaga Plaza 3. Definir los siguientes subalgoritmos (funciones) para el manejo de la lista de servicios localizada en una celda determinada de un mapa: a. (0.25 puntos) Definir la igualdad de servicios (función iguales) teniendo en cuenta que dos servicios se consideran iguales cuando son del mismo tipo y tienen el mismo identificador. No se tiene en cuenta ni el nombre ni la ubicación de cada uno. b. (0.75 puntos) existeServicio: Dada una lista de servicios (del tipo TListaServicios) y un servicio concreto (del tipo TServicio) devuelve true o false dependiendo de si existe o no ese servicio (u otro igual) en la lista de servicios. c. (0.5 puntos) insertarServicioEnLista: Dada una lista (del tipo TListaServicios) y un servicio concreto (del tipo TServicio) inserta el servicio dado en la lista si la lista tiene menos de 10 servicios y no existe dicho servicio en la lista; en tal caso devuelve true en un tercer parámetro OK de tipo bool. De lo contrario, no inserta y devuelve false en el parámetro OK. d. (1.0 puntos) insertarServicio: Dado un mapa (del tipo TMapa) y un servicio (del tipo TServicio) inserta el servicio en la lista de la celda correpondiente a las coordenadas del servicio, respetando las condiciones del apartado anterior y siempre que las coordenadas estén dentro del mapa. En caso de no poder insertarse el servicio por alguno de los motivos anteriores, se indicará devolviendo false en un parámetro OK de tipo bool. Si la inserción tiene éxito en OK se devuelve true. e. (1 punto) mostrarServicios: Dado un mapa (tipo TMapa) y el tipo de servicio en el que estamos interesados, este procedimiento muestra todos los servicios de dicho tipo que haya en el mapa. 4. Definir los siguientes subalgoritmos (funciones) para el manejo del mapa: a. (2 puntos) leerMapa: Lee los datos de un mapa (tipo TMapa) desde la consola. Debe pedir la dimensión N del mismo (será un mapa NxN) y el número de servicios con el que se va a inicializar el mapa. Después se solicitará al usuario que introduzca, uno a uno, tantos servicios como haya indicado. Si por alguno de los motivos descritos en el apartado d un servicio no puede ser insertado en el mapa, se mostrará el error en la pantalla y se pedirá que se vuelva a introducir. b. (2 puntos) servicioMasCercano: Dado un mapa (del tipo TMapa), un tipo de servicio (del tipo TTipoServicio) y una determinada posición (del tipo TCoordenadas) devuelve el
  • 3. servicio (del tipo TServicio) del tipo solicitado que se encuentre más cercano a la posición introducida. Si se encuentra, se devuelve además true en un parámetro OK de tipo bool. Si no se encuentra ningún servicio de ese tipo en el mapa se devolverá false en OK. Para localizar el servicio más cercano se buscará primero en la celda del mapa correspondiente a la posición proporcionada (celda a distancia 0). Si en esa celda no hay ningún servicio del tipo solicitado se buscará en las celdas adyacentes (celdas a distancia 1) y así se irá desplazando a distancia 2, 3, etc… hasta encontrar el servicio o hasta terminar de recorrer todo el mapa sin encontrarlo. Si se encuentra una celda con más de un servicio del tipo buscado, se devolverá el primero que se aparezca. NOTA: 1. Se proporciona un posible esquema de programa principal (main) para probar el correcto funcionamiento de los subprogramas (funciones) implementados. Para utilizarlo se deberá completar las declaraciones de datos y prototipos de funciones y “destapar” (quitar las marcas de comentario /* */ de) las zonas que se quiera probar, en el orden en el que aparecen, a medida que se van completando las definiciones de las funciones pedidas. ================================================================== // -- Importaciones --------------------------------------------------- // Completar con las importaciones necesarias // -- Declaraciones de tipos ---------------------------------------- // Completar con las declaraciones de los tipos de datos necesarios // -- Declaraciones de funciones --------------------------------- // Completar con los prototipos de las funciones que se piden // -- Programa principal -------------------------------------------- int main() { // Escenario de pruebas nivel 2 .................. /* TServicio servicio; leerServicio(servicio); cout << endl; cout << "Se ha creado el servicio: n"; mostrarServicio(servicio); */ // Escenario de pruebas nivel 3 .................. /* TListaServicios ls; ls.num_servicios = 0; bool OK; cout << "Insertamos el servicio en una listan"; insertarServicioEnLista(ls, servicio, OK); if (OK and existeServicio(ls, servicio)) { cout << "El servicio se ha insertadon"; } else { cout << "No se ha podido insertarn"; } */
  • 4. // Escenario de pruebas nivel 4 (1) .................. /* TMapa mapa; leerMapa(mapa); cout << "Hoteles del mapa: n"; mostrarServicios(mapa, HOTEL); cout << "Gasolineras del mapa: n"; mostrarServicios(mapa, GASOLINERA); */ // Escenario de pruebas nivel 4 (2) .................. /* cout << "Hotel más próximo a la posicion (3,4)n"; TTipoServicio ts = HOTEL; TCoordenadas coor = {3, 4}; servicioMasCercano(mapa, ts, coor, servicio, OK); if (OK) { mostrarServicio(servicio); } else { cout << "No hay servicio de este tipon"; } */ return 0; } // -- Definiciones de funciones // Completar con las definiciones de las funciones pedidas // y funciones auxiliares que se considere necesarias ================================================================