Anda di halaman 1dari 5

Universidad de Antioquia Facultad de Ingeniera Laboratorio de Informtica I Prctica 3 Anlisis de problemas y diseo de algoritmos

1. Objetivos
Afianzar las destrezas en la solucin de problemas a travs de un sistema de cmputo. Utilizar los diagramas de flujo y el pseudocdigo como herramientas para el diseo de algoritmos y agilizar las pruebas de escritorio con ayuda de software especializado. Realizar algoritmos que impliquen el uso de estructuras secuenciales y de decisin lgica.

2. Descripcin general
La presente prctica consiste en una serie de problemas para los cuales debe ser desarrollado el algoritmo de solucin usando las estrategias de desarrollo vistas a lo largo de las sesiones tericas del curso. Como herramientas de apoyo se har uso de software para el desarrollo de problemas con pseudocdigo (PseInt1).

3. Enunciado del problema


El desarrollo de la prctica se realizar inicialmente en el horario de laboratorio. Cada grupo debe codificar como mnimo la mitad de los ejercicios propuestos para el laboratorio usando Pseint. Al terminar cada problema, llamar al profesor de laboratorio para que revise la funcionalidad del mismo. Los problemas que no sea posible terminar en el laboratorio quedarn pendientes para ser entregados por correo electrnico con el formato establecido para la prxima semana.

4. Recomendaciones sobre condicionales


Las sesiones presenciales son un abrebocas de lo que se viene y solo permite introducirlos en el tema. Para realizar este taller se recomienda revisar la documentacin presentada en clase, la cual se detalla a continuacin: Libro lgica de programacin de Efran Oviedo. (Captulos 2,3 y 4). Fundamentos de programacin de Luis Joyanes Aguilar. (Captulos 2, 3 y 4).
1

http://pseint.sourceforge.net/

As mismo, se recomienda revisar (sobre todo los ejemplos resueltos) las siguientes pginas web: http://ayura.udea.edu.co/~jlsanche/index.htm: Mirar los ejemplos de las secciones 1 hasta la 6. http://sites.google.com/site/tutoriasdeingenieria/algoritmos: Secciones 7 hasta la 15. Tambin en las siguientes URLs se encuentran videos de cursos similares dictados a distancia por la universidad, aqu se colocan los enlaces: Algoritmos Ude@ - Profesor Roberto Florez. http://zonaudearroba.udea.edu.co/showcategoria.html?selector=12&categoria=12: Expresiones y operadores: Mdulos 4, 5, 6. Anlisis de algoritmos: Modulo 7. Estructura condicional (SI): 8, 9, 10. Informatica 1 - Yarumal Profesores Diego Serna y Sebastian Villa http://zonaudearroba.udea.edu.co/showcategoria.html?selector=25&categoria=25: Estructuras bsicas de un algoritmo: http://zonaudearroba.udea.edu.co/video/307

5. Recomendaciones sobre ciclos


Las sesiones presenciales son un abrebocas de lo que se viene y solo permite introducirlos en el tema. Para realizar este laboratorio se recomienda revisar la documentacin presentada en clase, la cual se detalla a continuacin: Libro lgica de programacin de Efran Oviedo. (Captulos 5 y 6). Fundamentos de programacin de Luis Joyanes Aguilar. (Captulo 5). As mismo, se recomienda revisar (sobre todo los ejemplos resueltos) las siguientes pginas web: http://ayura.udea.edu.co/~jlsanche/index.htm: Mirar los ejemplos de la seccin 7. http://sites.google.com/site/tutoriasdeingenieria/algoritmos: Secciones 17 hasta la 22. Tambin en las siguientes URLs se encuentran videos de cursos similares dictados a distancia por la universidad, aqu se colocan los enlaces: Algoritmos Ude@ - Profesor Roberto Florez. http://zonaudearroba.udea.edu.co/showcategoria.html?selector=12&categoria=12: Instruccin casos: Mdulo 11, 12. Estructura ciclo: Modulo 13. Instruccin MIENTRAS: Mdulos 14, 15. Ciclos anidados: Mdulo 16. Instruccin PARA: Mdulos 17 y 18. Instruccin REPETIR (o HAGA): Mdulo 19. Informatica 1 - Yarumal - Profesores Diego Serna y Sebastian Villa http://zonaudearroba.udea.edu.co/showcategoria.html?selector=25&categoria=25: Estructuras bsicas de un algoritmo: http://zonaudearroba.udea.edu.co/video/307 Estructura CASO: http://zonaudearroba.udea.edu.co/video/306

6. Problemas propuestos 5.1. Estructura de decisin lgica (condicional)


1. Leer un mes y un da de dicho mes, el sistema deber imprimir si ese da es vlido en ese mes. El caso ms especial es el 29 de febrero, en dicho caso imprimir "posiblemente ao bisiesto". 2. Leer 4 nmeros por el teclado, el sistema deber determinar qu porcentaje de ellos es par, que porcentaje es impar, que porcentaje es positivo y que porcentaje es negativo, asi mismo cual es el mayor y cul es el menor. 3. Dada una especificacin de tiempo en horas, minutos y segundos, calcule dicha especificacin un segundo despus. Nota: el mximo para el valor de las horas es 23, para los minutos es 59 y los segundos 59. 4. En la oficina de reclutamiento del ejrcito est en proceso de recoleccin de remisos. Para ello cuando le mandan la mano a un civil le solicitan el sexo, la edad, si tiene o no defectos fsicos, y se es hijo nico. Si el remiso es mujer, tiene defectos fsicos o es hijo nico se salva sino deber pagar servicio militar. 5. Leer una edad en el intervalo [18 a 24]. Si la persona est por fuera del intervalo siendo menor que 18, se debe pedir el nmero del registro civil y la partida de bautizo. Si la persona est por encima del rango mayor a 24 se debe pedir certificado de supervivencia. Si la persona est dentro del intervalo, solicitar ao de nacimiento y con base en el ao actual corroborar si el dato ingresado es correcto, de ser as decir muy bien puede ingresar, de lo contrario imprimir tramposo no me lograste engaar. 6. Disear un algoritmo que permita calcular la diferencia entre dos perodos de tiempo dados en: horas, minutos y segundos. Nota: el mximo para el valor de las horas es 23, para los minutos es 59 y los segundo 59.Adems siempre debe calcular la diferencia en el mismo orden: tiempo1 tiempo2. Nunca debe dar negativa: Ejemplo: 11h:40m:50s20h:55m:30s = 14h:45m:20s 7. Disear un algoritmo que permita calcular la suma entre dos perodos de tiempo dados en: horas, minutos y segundos. Nota: el mximo para el valor de las horas es 23, para los minutos es 59 y los segundo 59. Ejemplo: 11h:40m:50s + 20h:55m:30s =1d:8h:26m:20s. 8. Cierta universidad tiene un programa para estimular a los estudiantes con buen rendimiento acadmico. Si el promedio es de 4.5 o ms y el alumno es de pregrado entonces cursara 28 crditos y se le har un 25% de descuento. Si el promedio es mayor o igual a 4 pero menor que 4.5 y el alumno es de pregrado, entonces cursara 25 crditos y se le har un 10% de descuento. Si el promedio es mayor que 3.5 y menor que 4.0 y es de pregrado, cursar 20 crditos y no tendr ningn descuento. Si el promedio es mayor o igual a 2.5 y menor que 3.5 y es de pregrado, entonces cursar 15 crditos y no se le har ninguna descuento. Si el promedio es menor de 2.5 y es de pregrado, no podr matricularse. Si el promedio es mayor o igual a 4.5 y es de postgrado,

cursara 20 crditos y se le har un 20% de descuento. Si el promedio es menor de 4.5 y es de postgrado cursar 10 crditos y no tendr ningn descuento. Hacer un algoritmo que determine cuanto debe pagar el estudiante y cuantos crditos registra si el valor de cada crdito es de $50000 para pregrado y $300000 para postgrado.

5.2. Estructura repetitiva (ciclos)


9. Leer una serie de nmeros distintos de cero (el ltimo nmero de la serie es -99) y obtener el nmero mayor. Como resultado se debe visualizar el nmero mayor y un mensaje de indicacin de nmero negativo, caso de que se haya ledo un nmero negativo (exceptuando la condicin de parada). 10. Disee un algoritmo que escriba los n trminos de la siguiente serie: 1, 2, -3, -4, 5, 6, -7, -8, 9, 10, -11, -12,... 11. Elaborar un algoritmo que determine si un nmero N es Primo. 12. Una secuencia empieza con el nmero 7 y cada nmero sucesivo se obtiene del nmero previo multiplicando por 2 y restando 1. Por ejemplo, el segundo nmero en la secuencia es 7*2-1=13. Disee un algoritmo que calcule un nmero cualquiera de la secuencia. 13. Disee un algoritmo que dados N estudiantes de un colegio, determine cuntos pertenecen a cada uno de los siguientes rangos de edad: Estudiantes menores de 5 aos. Estudiantes entre 5 y 7 aos. Estudiantes entre 7 y 10 aos. Estudiantes entre 10 y 12 aos. Estudiantes mayores de 12 aos. 14. Elaborar un algoritmo que haga el siguiente censo en una empresa de transporte: Nmero de vehculos cuyo modelo sea anterior a 1995. Nmero de vehculos cuyo modelo sea de 19995 o posterior y cuya capacidad sea de 35 pasajeros. Numero de buses cuyo modelo sea posterior a 1995 con capacidad mayor de 35 pasajeros. Numero de busetas con capacidad menor de 35 pasajeros. Total de vehculos de la empresa. Por cada vehculo la empresa tiene la siguiente informacin: Tipo de vehculo (1: Buseta, 2: Bus). Modelo del vehculo. Capacidad del vehculo. 15. Disee un algoritmo que determine si un nmero ingresado por el usuario es capica. No restrinja la cantidad de dgitos que puede tener el nmero. El usuario debe ingresar todo el nmero y no digito por dgito.

16. Don Cecilio es un caminante que realiza un recorrido en varios das. Cada da por medio de su GPS observa la posicin (x,y) en la que se encuentra. Usted decide ayudarlo desarrollando un algoritmo que, al ingresarle estos datos, le permite calcular: Cuntos das camin Cunto camin en total Cul fue el da en que ms camin y cuanto fue Nota: Recuerde que la distancia entre dos puntos ) distancia entre puntos: )y ) . )) se calcula con la frmula de

17. Hacer un algoritmo que lea el valor de x y calcule los N primeros trminos de la serie:
3 5 7 9

21

34

56

78

18. Hacer un algoritmo que permita generar N trminos de la siguiente serie: 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, ...

6. Al entregar el informe de laboratorio tenga presente


Para desarrollar el laboratorio no olvide tener en cuenta las siguientes consideraciones: La evaluacin del laboratorio ser dividida en dos notas, la primera pertinente al trabajo realizado durante el laboratorio, la parte restante (en caso de no culminar) ser enviada va email al correo informatica1.udea@gmail.com. El correo debe tener el siguiente asunto INFO_20121_LAB3_ApellidoIntegrante1_ApellidoIntegrante2. por ejemplo si hay un alumno
llamado Juan Valdez y este realizo el informe con Leopoldo Prez, entonces el nombre de la carpeta enviada ser: INFO_20121_LAB3_Valdez_Perez.

La nota en clase tendr como factores de evaluacin (en orden de importancia): primero la calidad y funcionamiento de su trabajo, segundo el orden con el que haga entrega de cada uno de los problemas y por ltimo la cantidad de problemas que realice. Para la sustentacin, el profesor citar aleatoriamente a uno de los integrantes del equipo y en este recae la responsabilidad de la nota del grupo.
Quienes se ausenten al laboratorio sin causa justificada tienen automticamente una rebaja de 1.5 en la nota de la prctica. Las personas ponchadas por copia tendrn 0 en la nota del laboratorio.