Grafos

Iniciado por Beginner Web, 10 Enero 2019, 06:00 AM

0 Miembros y 1 Visitante están viendo este tema.

Beginner Web

Hola, miren queria saber si estan bien definida mi estructura de datos, las cosas que me piden son medio raras para mi no conozco de satelites pro ejemplo  :huh:

48) Un equipo de programadores de la empresa DigitalHackers está desarrollando la aplicación MyAppWay para asistir a viajeros y turistas que quieran conocer Argentina. La aplicación será capaz de formular un plan de viaje para visitar ciudades y sitios históricos. Para ello, MyAppWay mantendrá registro de la siguiente información: ciudades (localidad, provincia), lista de sitios turísticos de la ciudad (nombre, dirección), plaza hotelera (cantidad de hoteles y cantidad de hostales), distancia entre ciudades, medios de transporte disponibles (tipo y costo). En virtud de ello, se pide:
a) defina la estructura de datos que permita representar la situación planteada y
b) desarrolle el algoritmo que inicialice la estructura definida.

Código (cpp) [Seleccionar]

typedef struct tcad[32];
typedef struct medio{
tcad tipo;
float costo;
};
typedef struct destino{
tcad localidad;
tcad provincia;
};
typedef struct lugares{
tcad nombre;
tcad direccion;
};
typedef lugares sitios[20];
typedef struct arco *parco;
typedef struct vertice *pvertice;
typedef struct arco{
pvertice destino;
float distancia;
medio transporte;
parco sig_arco;
};
typedef struct vertice{
destino ciudad;
sitios turisticos;
int plaza_hotelera[2];//Cantidad de hoteles y hostales
pvertice sig_vertice;
parco lista_ciudades;
};

void iniciar_grafo(pvertice &grafo)
{
grafo=NULL;
}

49) La empresa de transporte KillerBus realiza viajes entre distintos puntos del país ofreciendo 3 tipos de servicio a sus pasajeros: suit, cama y semicama. Para gestionar los viajes que realiza la empresa se registra la siguiente información: ciudad origen, ciudad destino, distancia entre las ciudades origen y destino, duración del viaje (horas), servicio (tipo y costo), consumo de combustible y número de estaciones de servicio en ruta. En virtud de ello, se pide:
a) defina la estructura de datos que permita representar el servicio de KillerBus y
b) desarrolle el algoritmo que inicialice la estructura definida.
Código (cpp) [Seleccionar]

typedef struct tcad[32];
typedef struct tipo{
tcad tipo_servicio;
float costo;
};
typedef struct tviaje *pviaje;
typedef struct tdestino *pciudad;
typedef struct tviaje{
pciudad destino;
tipo servicio;
float distancia;
int duracion;
float combustible;
int cantidad_estaciones;
pviaje sig;
};
typedef struct tdestino{
tcad ciudad;
pciudad sig;
pviaje lista_destinos;
};

void iniciar_grafo(pciudad &grafo)
{
grafo=NULL;
}


50) Un instituto de investigación meteorológica, mediante una red de satélites geoestacionarios, recopila información acerca de cambios climáticos alrededor de todo el mundo. Cada satélite tiene un área de cobertura (KM2), posición geoestacionaria (altura, latitud y longitud), nivel de energía y vida útil (años). Asimismo debe tenerse en cuenta la distancia entre satélites y la velocidad de transferencia de información (Gigabytes por segundo) entre ellos. Teniendo en cuenta esto, se le solicita:
a) defina la estructura de datos que permita modelar la situación planteada y
b) diseñe un algoritmo que inicialice la estructura definida.
Código (cpp) [Seleccionar]

typedef struct tcad[32];
typedef struct posicion{
int altura;
int latitud[2];
int longitud[2];
};
typedef struct arco *parco;
typedef struct vertice *pvertice;
typedef struct arco{
pvertice destino;
long int transferencia_datos;
parco sig_arco;
};
typedef struct vertice{
pvertice sig;
long int cobertura;
posicion geoestacionaria;
int nivel_energia;
int vida_util;
parco lista_satelites;
};

void iniciar_grafo(pvertice &grafo)
{
grafo=NULL;
}


51) En 2050 se prevé la construcción del sistema de transporte MetroSalta para comunicar distintos puntos de la ciudad de Salta. Cada uno de estos puntos contará con una estación para el arribo y abordaje de pasajeros. El sistema informático que controlará esta red utilizará la siguiente información: nombre de la estación, ubicación (dirección, barrio), distancia entre estaciones, cantidad de plataformas, cantidad de boleterías, duración del viaje y horario de atención al público (hora de inicio, hora de finalización). Considerando esto:
a) defina la estructura de datos más adecuada para el problema y
b) desarrolle el algoritmo que inicialice la estructura definida.
Código (cpp) [Seleccionar]

typedef struct tcad[32];
typedef struct lugar{
tcad direccion;
tcad barrio;
};
typedef struct horario{
int horas;
int minutos;
};
typedef struct arco *parco;
typedef struct vertice *pvertice;
typedef struct arco{
pvertice destino;
float distancia;
int cantidad_plataformas;
int cantidad_boleterias;
int duracion_viaje;
parco sig_estacion;
};
typedef struct vertice{
pvertice sig;
tcad nombre_estacion;
lugar ubicacion;
horario atencion_inicio;
horario atencion_fin;
parco lista_estaciones;
};

void iniciar_grafo(pvertice &grafo)
{
grafo=NULL;
}

52) FaseBoolstd es una red social que permite a sus usuarios mantenerse en contacto, realizar publicaciones, enviar mensajes y compartir archivos. Para ello, el sistema informático que da soporte a esta red almacena: información del perfil (nombre, apellido, nombre de usuario, fecha de creación, lugar de residencia, ocupación), número de contactos, número de comentarios a otro usuario, número de mensajes enviados a otro usuario, número de archivos compartidos a otro usuario, número de "me gusta" a los comentarios/fotos de otro usuario, tipo de relación (amigos, familia, novio/a). Teniendo en cuenta esto, se le solicita:
a) defina la estructura de datos que permita modelar la situación planteada y
b) diseñe un algoritmo que inicialice la estructura definida.
Código (cpp) [Seleccionar]

typedef char tcad[32];
typedef struct fecha{
int dia;
int mes;
int anyo;
};
typedef struct lugar{
tcad calle;
int numero;
tcad barrio;
tcad provincia;
tcad nacionalidad;
};
typedef struct perfil{
tcad nombre;
tcad apellido;
tcad nombre_usuario;
fecha creacion;
lugar residencia;
int numero_contactos;
};
typedef struct arco *parco;
typedef struct vertice *pvertice;
typedef struct arco{
pvertice amigo_destino;
int comentarios;
int mensajes;
int archivos_compartidos;
int megusta;
tcad tipo_relacion;
parco sig_amigo;};

typedef struct vertice{
perfil usuario;
pvertice sig_usuario;
parco lista_amigos;
};

void iniciar_grafo(pvertice &grafo)
{
grafo=NULL;
}

53) El sistema que controla el tráfico vehicular, entre otras tareas, se ocupa de monitorizar y sincronizar los semáforos distribuidos en toda la ciudad. Para verificar el correcto funcionamiento de los semáforos así como su sincronización respecto a otros semáforos cercanos, el sistema cuenta con sensores integrados. Para llevar a cabo esta tarea un sistema informático registra lo siguiente: número de semáforo, estado (en funcionamiento o no), sincronización (sincronizado o no), distancia entre semáforos y ubicación (calle, altura (número), barrio). En virtud de ello, se pide:
a) defina la estructura de datos más adecuada para el problema y
b) desarrolle el algoritmo que inicialice la estructura definida.
Código (cpp) [Seleccionar]

typedef char tcad[32];
typedef struct lugar{
tcad calle;
int altura_numero;
tcad barrio;
};
typedef struct arco *parco;
typedef struct vertice *pvertice;
typedef struct arco{
pvertice destino;
parco sig_semaforo;
};
typedef struct vertice{
int numero_semaforo;
bool funcionando;
bool sincronizado;
lugar ubicacion;
pvertice sig;
parco lista_semaforos;
};

void iniciar_grafo(pvertice &grafo)
{
grafo=NULL;
}

54) Un sistema de redes de computadoras está conformado por un conjunto de servidores que proporcionan acceso a estaciones de trabajo (computadoras). Cada servidor presenta diferentes características físicas y lógicas (id-servidor, dominio, microprocesador, memoria, espacio en disco, Nº de estaciones de trabajo que gestiona) y la conexión entre servidores puede realizarse por cable coaxil, fibra óptica o comunicación inalámbrica (debe existir al menos uno). El costo y velocidad asociado a las conexiones se determina en base a la distancia entre servidores y el tipo de medio utilizado. En virtud de ello, se pide:
a) defina la estructura de datos más adecuada para el problema y
b) desarrolle el algoritmo que inicialice la estructura definida.
Código (cpp) [Seleccionar]

typedef char tcad[32];
typedef struct caracteristicas{
tcad id;
tcad dominio;
tcad procesador;
int memoria;
int espacio_disco;
int numero_estaciones;
};
typedef struct tmedio{
tcad tipo_conexion;
bool existe;
};
typedef tmedio medios[3];
typedef struct arco *parco;
typedef struct vertice *pvertice;
typedef struct arco{
pvertice destino;
medios conexion;
parco sig_servidor;
};
typedef struct vertice{
caracteristicas servidor;
pvertice sig;
parco lista_servidores;
};

void iniciar_grafo(pvertice &grafo)
{
grafo=NULL;
}

:huh:
7w7

MAFUS

Para resolver estas cosas tal vez te interese aprender sobre diagramas de Entidad-Relación y el modelo relacional. Son herramientas muy usadas en el diseño de base de datos y sirven bastante para todas estas cosas. Son una forma de abstraer el mundo real en relación entre entidades (clases y structs en C++).