3
Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones Informática I ESTRUCTURAS ESTRUCTURAS En todos los programas deberá dar la información adecuada al usuario para su correcta ejecución. Cada programa deberá ser desarrollado mediante FUNCIONES y ESTRUCTURAS . Recuerde realizar el código y la presentación en pantalla de manera ordenada. 1. Una aplicación informática de un centro universitario dispone de la siguiente información sobre un programa: Por cada asignatura: a) Código de asignatura (único de 4 dígitos). b) Nombre de la asignatura. c) Créditos. Por cada profesor: a) Nombre del profesor. b) Años de experiencia. c) Categoría (catedrático(1), titular(2), asociado(3) o ayudante(4)). d) Código de asignatura. A. Realizar un algoritmo en C que tome el nombre del profesor e imprima los años de experiencia, la categoría y el código de la asignatura. B. Realizar un algoritmo en C que tome el nombre de la asignatura e imprima el código de la asignatura y el número de créditos. C. A partir de las estructuras de datos adecuadas calcular el sueldo medio al año de los profesores del centro. El sueldo base anual depende de la categoría: a) Catedrático: 2000 euros b) Titular: 1500 euros c) Asociado: 1000 euros d) Ayudante: 800 euros D. A partir del nombre de la asignatura, obtener el nombre, años de experiencia y categoría del profesor que imparte la asignatura. Devolverá FALSO si no se puede obtener la información por cualquier circunstancia. E. A partir del nombre del profesor, obtener el nombre, código y número de créditos de la asignatura. Devolverá FALSO si no se puede obtener la información por cualquier circunstancia. 2. Agenda telefónica. Diseña un programa C que gestione una agenda telefónica. Cada entrada de la agenda contiene el nombre de una persona y hasta 3 números de teléfono. El programa permitirá añadir nuevas entradas a la agenda y nuevos teléfonos a una entrada ya existente. El menú del programa permitirá, además, borrar entradas de la agenda, borrar números de teléfono concretos de una entrada o mostrar la lista de contactos. Las opciones disponibles de la agenda telefónica se mostrarán en un menú.

Lab13_estructuras

Embed Size (px)

Citation preview

Page 1: Lab13_estructuras

Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones

Informática I

ESTRUCTURAS

ESTRUCTURAS

En todos los programas deberá dar la información adecuada al usuario para su correcta ejecución.

Cada programa deberá ser desarrollado mediante FUNCIONES y ESTRUCTURAS. Recuerde

realizar el código y la presentación en pantalla de manera ordenada.

1. Una aplicación informática de un centro universitario dispone de la siguiente información sobre

un programa:

Por cada asignatura:

a) Código de asignatura (único de 4 dígitos).

b) Nombre de la asignatura.

c) Créditos.

Por cada profesor:

a) Nombre del profesor.

b) Años de experiencia.

c) Categoría (catedrático(1), titular(2), asociado(3) o ayudante(4)).

d) Código de asignatura.

A. Realizar un algoritmo en C que tome el nombre del profesor e imprima los años de

experiencia, la categoría y el código de la asignatura.

B. Realizar un algoritmo en C que tome el nombre de la asignatura e imprima el código de la

asignatura y el número de créditos.

C. A partir de las estructuras de datos adecuadas calcular el sueldo medio al año de los

profesores del centro. El sueldo base anual depende de la categoría:

a) Catedrático: 2000 euros

b) Titular: 1500 euros

c) Asociado: 1000 euros

d) Ayudante: 800 euros

D. A partir del nombre de la asignatura, obtener el nombre, años de experiencia y categoría del

profesor que imparte la asignatura. Devolverá FALSO si no se puede obtener la

información por cualquier circunstancia.

E. A partir del nombre del profesor, obtener el nombre, código y número de créditos de la

asignatura. Devolverá FALSO si no se puede obtener la información por cualquier

circunstancia.

2. Agenda telefónica. Diseña un programa C que gestione una agenda telefónica. Cada entrada de

la agenda contiene el nombre de una persona y hasta 3 números de teléfono. El programa

permitirá añadir nuevas entradas a la agenda y nuevos teléfonos a una entrada ya existente. El

menú del programa permitirá, además, borrar entradas de la agenda, borrar números de teléfono

concretos de una entrada o mostrar la lista de contactos. Las opciones disponibles de la agenda

telefónica se mostrarán en un menú.

Page 2: Lab13_estructuras

Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones

Informática I

ESTRUCTURAS

NOTA: Al momento de eliminar un contacto, no mostrar espacios en blanco en la lista, sino

que se debe hacer un corrimiento de los datos. Solo se sale de la agenda con una opción de

salida.

3. Números complejos: Diseñar e implementar, por medio de un menú, los siguientes

procedimientos para la manipulación de complejos:

Leer un complejo de teclado

Mostrar un complejo por pantalla

La magnitud de un complejo

El conjugado de un complejo

La suma de dos complejos

La diferencia de dos complejos

El producto de dos complejos

La división de dos complejos

Estructura del número complejo:

Typedef struct {

float real;

float imag;

}complejo;

4. Gestión de una colección de CDs: De cada CD almacenar los siguientes datos:

a) el título (una cadena con, a lo sumo, 80 caracteres),

b) el intérprete (una cadena con, a lo sumo, 40 caracteres),

c) la duración (en minutos y segundos – cree otra estructura para este campo),

d) el año de publicación.

El programa permitirá, por medio de un menú, efectuar las siguientes acciones:

Añadir un CD a la base de datos.

Listar toda la base de datos.

Listar los CDs de un intérprete.

Suprimir un CD dado su título y su intérprete.

Salir

5. Una empresa de transporte aéreo tiene un archivo con el siguiente diseño:

Descripción del campo Tipo campo Observaciones

Nombre de la ciudad de destino Alfanumérico Ciudades de Colombia

Valor del pasaje Numérico

Número de pasajeros que viajaron en

cada mes del año por ciudad destino.

Numérico Arreglo de doce (12)

elementos.

Hacer un algoritmo para hallar el total recaudado por transporte en la empresa.

a) ¿En cuál mes se recaudó más dinero en la empresa?. (Tomando en cuenta todas las ciudades

destino).

Page 3: Lab13_estructuras

Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones

Informática I

ESTRUCTURAS

b) ¿En cuál mes se recaudó menos dinero en la empresa?. (Tomando en cuenta todas las ciudades

destino).

c) Nombre de la ciudad de destino, número de pasajeros que viajaron en el año y valor recaudado

por transporte a esa ciudad destino.

d) ¿A cuál ciudad viajaron menos pasajeros en el año?.

e) ¿A cuál ciudad viajaron mas pasajeros en el año?.

f) Salir

NOTA: Hacer un arreglo de estructuras con al menos 5 ciudades destino y el arreglo debe ser

manejado con apuntadores a estructuras. El usuario llena todos los campos de la estructura: ciudad

destino, valor pasaje a esa ciudad y número de pasajeros que viajaron en cada mes a esa ciudad

destino. Cuando termine de ingresar toda la información, debe salir un menú que permita escoger

entre las operaciones posibles (según requerimientos del algoritmo).

6. Una librería dispone de un archivo de ventas de la semana con el siguiente diseño de registro:

Descripción de campo Tipo Observaciones

Título del libro Alfanumérico

Editorial Alfanumérico 1. Springer.

2. Santillana.

3. Norma.

Valor venta Numérico

Área Numérico 1. Informática

2. Cálculo

3. Vivamos la física

Cantidad vendida Numérico

Hacer un algoritmo para hallar la siguiente información solicitada por el administrador:

a) Título del libro del área de Informática, de menor cantidad vendida.

b) De qué área entre Cálculo y Vivamos la física, se vendieron más libros.

c) Título del libro, editorial y total de ventas de cada libro.

d) Total de ventas en la semana y promedio de venta de cada área.

e) Salir

NOTA: El algoritmo debe permitir llenar un arreglo de estructuras hasta que el usuario decida no

ingresar más libro. A través de un menú de selección se debe permitir llenar la estructura. Cuando

se está llenando la información de un libro debe salir un menú que permita escoger entre las

editoriales y otro entre las áreas posibles. Cuando termine de ingresar todos los libros con su

respectiva información, debe salir un menú que permita escoger entre las operaciones posibles

(según requerimientos del algoritmo).