Integracion de Temas-fundamentos de Programacion

2
  Ejercicios de algorítmica - Integración de t emas por Alicia Beatriz Paur Este documento adapta ejercitación de la Guía de Trabajos Prácticos de la asignatura Algorítmica y Programación I, carrera: Licenciatura en Sistemas y Analista Programador Universitario-Facultad de Ingeniería (UNPSJB, sede Trelew) con la finalidad de generar objetos de aprendizaje (OA) de menor granularidad y mayor modularidad tendientes a aumentar su reusabilidad en diferentes contextos. La guía de trabajos prácticos de Algorítmica y Programación I ha sido desarrollada por los docentes de esa cátedra entre los que se incluye la autora de esta adaptación. El propósito de este OA es integrar temas propios de algorítmica y programación como son: estructuras de datos: registro, acceso a campos en registros, arreglos, recorrido de arreglos, archivos, listados. Registros - arreglos 1- Se ha censado una población registrando información sobre sexo (masculino, femenino), estado civil (soltero, casado, viudo, separado) y edad (0..120 años), en un archivo censo . Con los datos del archivo censo , haz un algoritmo que permita consultar rápidamente la cantidad de personas de: a) Un sexo determinado. b) Un estado civil determinado. c) Un rango de edad determinado (por décadas). d) Sexo y estado civil determinado. 2- Se necesita mantener la siguiente información relativa a los alumnos de la Facultad: apellido y nombre, libreta universitaria, domicilio, teléfono, código de carrera, cantidad de materias aprobadas y fecha de ingreso. Sobre esta información se desean realizar las siguientes operaciones: a) Mostrar en pantalla la información sobre un alumno en particular, a partir de su número de libreta. b) Modificar la dirección y/o teléfono de un alumno, dado su número de libreta. c) Realizar las modificaciones necesarias en los datos de un alumno en caso de que solicite un cambio de Carrera, es decir, el código de carrera y cantidad de materias aprobadas. d) Dado un archivo que contiene los números de libreta de alumnos que rindieron una determinada materia, actualizar la cantidad de materias aprobadas por cada uno de ellos. e) Incorporar un nuevo alumno. f) Dar de baja a un alumno. Elige y define la estructura de datos que a tu criterio resulta conveniente para dicha aplicación e implementa mediante procedimientos o funciones, según corresponda, cada una de las operaciones mencionadas. Archivos 1- Dado el archivo agenda.dat  cuya estructura fue definida en el práctico anterior, desarrolla un algoritmo que permita: a) Generar un índice por nombre: deberá levantar en una lista los nombres y la posición del registro en el archivo. La lista debe quedar ordenada por nombre en forma ascendente (esta lista funcionará como un índice de agenda ). b) Imprimir la agenda por orden alfabético, recorriendo la lista índice. c) Solicitar un nombre para buscarlo en la lista índice y mostrar todos los datos de la persona. 2- La facultad desea un programa que le permita realizar ciertos procesos sobre los datos diarios de inscripción de los alumnos a los cursos que dicta. Para ello cuenta con 2 archivos con la siguiente información: MATERIAS.DAT : ordenado por Código de Materia  (comienza en 1 y son nºs. correlativos). Código de Materia, Nombre de Materia, Cantidad de Horas ALUMNOS.DAT : ordenado por Nro. de Legajo del Alumno (comienza en 1 y son nºs. correlativos). Nro. de Legajo del Alumno, Nombre y Apellido, DNI Desarrolla un programa que tenga opciones para: a) Realizar la inscripción de los alumnos en las materias :  se deberá solicitar el código de materia y número de legajo de alumno, validando que correspondan a materias y alumnos existentes y que no esté ya inscripto ese alumno en esa materia. Optimizar el proceso para el supuesto que un alumno se inscribe en varias materias de una vez.

description

programacion basica en C

Transcript of Integracion de Temas-fundamentos de Programacion

  • Ejercicios de algortmica - Integracin de temas

    por Alicia Beatriz Paur

    Este documento adapta ejercitacin de la Gua de Trabajos Prcticos de la asignatura Algortmica y Programacin I, carrera: Licenciatura en Sistemas y Analista Programador Universitario-Facultad de Ingeniera (UNPSJB, sede Trelew) con la finalidad de generar objetos de aprendizaje (OA) de menor granularidad y mayor modularidad tendientes a aumentar su reusabilidad en diferentes contextos. La gua de trabajos prcticos de Algortmica y Programacin I ha sido desarrollada por los docentes de esa ctedra entre los que se incluye la autora de esta adaptacin. El propsito de este OA es integrar temas propios de algortmica y programacin como son: estructuras de datos: registro, acceso a campos en registros, arreglos, recorrido de arreglos, archivos, listados.

    Registros - arreglos 1- Se ha censado una poblacin registrando informacin sobre sexo (masculino, femenino), estado civil (soltero,

    casado, viudo, separado) y edad (0..120 aos), en un archivo censo. Con los datos del archivo censo, haz un algoritmo que permita consultar rpidamente la cantidad de personas de:

    a) Un sexo determinado. b) Un estado civil determinado. c) Un rango de edad determinado (por dcadas). d) Sexo y estado civil determinado.

    2- Se necesita mantener la siguiente informacin relativa a los alumnos de la Facultad: apellido y nombre, libreta universitaria, domicilio, telfono, cdigo de carrera, cantidad de materias aprobadas y fecha de ingreso. Sobre esta informacin se desean realizar las siguientes operaciones:

    a) Mostrar en pantalla la informacin sobre un alumno en particular, a partir de su nmero de libreta. b) Modificar la direccin y/o telfono de un alumno, dado su nmero de libreta. c) Realizar las modificaciones necesarias en los datos de un alumno en caso de que solicite un cambio de

    Carrera, es decir, el cdigo de carrera y cantidad de materias aprobadas. d) Dado un archivo que contiene los nmeros de libreta de alumnos que rindieron una determinada materia,

    actualizar la cantidad de materias aprobadas por cada uno de ellos. e) Incorporar un nuevo alumno. f) Dar de baja a un alumno. Elige y define la estructura de datos que a tu criterio resulta conveniente para dicha aplicacin e implementa mediante procedimientos o funciones, segn corresponda, cada una de las operaciones mencionadas.

    Archivos 1- Dado el archivo agenda.dat cuya estructura fue definida en el prctico anterior, desarrolla un algoritmo que permita:

    a) Generar un ndice por nombre: deber levantar en una lista los nombres y la posicin del registro en el archivo. La lista debe quedar ordenada por nombre en forma ascendente (esta lista funcionar como un ndice de agenda).

    b) Imprimir la agenda por orden alfabtico, recorriendo la lista ndice. c) Solicitar un nombre para buscarlo en la lista ndice y mostrar todos los datos de la persona.

    2- La facultad desea un programa que le permita realizar ciertos procesos sobre los datos diarios de inscripcin de los alumnos a los cursos que dicta. Para ello cuenta con 2 archivos con la siguiente informacin:

    MATERIAS.DAT: ordenado por Cdigo de Materia (comienza en 1 y son ns. correlativos). Cdigo de Materia, Nombre de Materia, Cantidad de Horas

    ALUMNOS.DAT: ordenado por Nro. de Legajo del Alumno (comienza en 1 y son ns. correlativos). Nro. de Legajo del Alumno, Nombre y Apellido, DNI

    Desarrolla un programa que tenga opciones para: a) Realizar la inscripcin de los alumnos en las materias: se deber solicitar el cdigo de materia y nmero de

    legajo de alumno, validando que correspondan a materias y alumnos existentes y que no est ya inscripto ese alumno en esa materia. Optimizar el proceso para el supuesto que un alumno se inscribe en varias materias de una vez.

  • b) Confeccionar el listado de inscriptos en cada materia: el nombre de la materia y su cdigo figura en el encabezado. Los alumnos son listados de a uno por regln, en orden alfabtico, con la informacin de su nombre y apellido, nmero de legajo y DNI. Para cada materia debe figurar al final, la cantidad de alumnos inscriptos. Las inscripciones realizadas deben quedar almacenadas en el archivo inscripciones.dat con los siguientes campos Cdigo de Materia, Nro. de Legajo del Alumno, ordenado por Cdigo de Materia, Nro. de Legajo del Alumno.

    3- Construye una estructura de datos para manejar un horario, dado en la siguiente forma: horas (entre 0 y 23), minutos (entre 0 y 59) y segundos (entre 0 y 59). Utilizando esta estructura y considerando que debe ser guardarla en un archivo, escribe subprogramas para: a) Dado un horario, pasarlo a segundos. b) Dados dos horarios, calcular su diferencia en horas, minutos y segundos.

    4- Escribe un subalgoritmo que permita insertar un registro reg en un archivo ordenado por el campo clave. 5- Escribe un subalgoritmo que devuelva la posicin en que se encuentra un registro de clave val en un archivo

    ordenado por el campo clave. Debes aplicar el algoritmo de bsqueda binaria. 6- Se tiene informacin referente a los empleados de un laboratorio en un archivo con la siguiente estructura: nmero

    de empleado, nombre y apellido, categora, bonificacin por antigedad, sueldo bsico. Si la categora es tcnico o profesional tendr adems los siguientes datos: Colegio o Universidad a la que asisti, ttulo obtenido, ao. Si la categora es administrativo: titulo secundario. Escribe un algoritmo que: a) Ingrese los datos (el nmero de empleado se lo pide al usuario y es considerado el campo clave (archivo

    ordenado por ese campo) finaliza cuando ingresa un 0). b) Muestre un men de opciones que permita:

    i) Calcular y mostrar el sueldo real promedio de una determinada categora. ii) Mostrar el nombre y apellido de los empleados con un sueldo dado.

    Listadoscorte de control 1- Un banco cuenta con un archivo con la siguiente informacin:

    Nro. Sucursal, Nro. Departamento, Nro. Sector, Nro. Empleado, Fecha de Ingreso, Categora, Sueldo Ordenado por: Nro. Sucursal, Nro. Departamento, Nro. Sector, Nro. Empleado. Realiza un listado que muestre la cantidad de empleados de cada sector, calcule el promedio de sueldo de cada departamento, por cada sucursal: muestre la cantidad de empleados y el promedio de sueldos, y termine totalizando la cantidad de empleados del banco. Ejemplo: