Está en la página 1de 8

1

Facultad de Ingeniera Industrial y de Sistemas

Curso: Algoritmo y Estructura de Datos I


Docente : Cordova Neri Teodoro
Todo_Guia_Verano_LP_ Subprog_2010_Febrero.doc

APLICACION Solo se debe usar Procedimiento( Proceso) : No devuelve algn tipo de dato Funciones: Devuelven un tipo de dato definido por el usuario Pueden ser de dos tipos: No Recursivas: Dependen de estructuras iterativas. Recursivas : No dependen de las estructuras iterativas, sino del nombre de la funcin

I.-

Disee un Programa No Recursivo que contenga los siguientes subprogramas y donde cada uno realiza sus tareas especificas y desde el programa principal Llamar a cada subprograma. longitud(int ): Permite al usuario definir el tamao o longitud del vector lectura(int a[10], int pos[10], int l ) : Permite almacenar en cada vector, edades y su posicin respectiva: ordenar(int edad[10],int pos[10], int l ); Permite Ordenar en forma ascendente las edades, conservando su posicin original. reportes(int a[10],int pos[10], int l ) : Permite generar reportes de edades y su posicin original.

Docente: Crdova Neri, T. Datos I

Algoritmos y Estructura de

Programa Principal: permite llamar a los subprogramas. Debe ser Interactivo con el usuario. .

Docente: Crdova Neri, T. Datos I

Algoritmos y Estructura de

II.-

Disee un Programa Recursivo que contenga los siguientes subprogramas y donde cada uno realiza sus tareas especificas y desde el programa principal Llamar a cada subprograma. leer(int n, int x[ ] ): Es un proceso que permite al usuario definir el tamao o longitud del vector , asimismo realiza la Lectura de datos. sumad(int n, int x[ ]):Es una funcin Recursiva que devuelve la suma acumulada de los elementos del vector. Asimismo informa parcialmente el numero de llamada a la funcin. En la siguiente figura se ilustra tales procesos.

III.-

Disee un Programa Recursivo que contenga los siguientes subprogramas y donde cada uno realiza sus tareas especificas y desde el programa principal Llamar a cada subprograma. potencia(int base, int expon): Funcin que devuelve la potencia de un numero entero contar(int numero): Funcin que devuelve el numero de cifras de potencia Programa principal: Permite hacer la lectura de los nmeros; base y exponente, y luego llama a las funciones respectivas.
Docente: Crdova Neri, T. Datos I Algoritmos y Estructura de

IV.- Disee un programa compuesto por los siguientes subprogramas, donde cada subprograma realiza las tareas especficas que se le asigne: LeerCodigo() : Subprograma que permite al usuario ingresar un cdigo tipo entero formado solo por 6 dgitos respectivamente. Cantidad_Digitos() : Permite totalizar el numero de dgitos que tiene el cdigo ingresado. Por cada obtencin de un digito se debe mostrar la parte entera del digito y a la vez el nmero de veces del proceso respectivo. Forma_Suma() : Subprograma que permite formar una secuencia de digitos, que representa la suma Acumulada de estos los mismos que permiten obtener el resto del Modulo 11.

Resto_Modulo_11(): Funcin que calcula el resto de la suma acumulada de los dgitos del cdigo. El valor se divide entre 11 para calcular el resto, valor que permite hacer una correspondencia de su letra respectiva. imprimir(): Subprograma que imprime el cdigo ingresado y su letra generada bajo el concepto de Modulo 11.

Observacin:Despus del diseo de los subprogramas, defina el Programa Principal que permita llamar a los subprogramas respectivos.

Docente: Crdova Neri, T. Datos I

Algoritmos y Estructura de

V.- En un concurso de belleza participan 12 seoritas candidatas y el jurado calificador ha establecido 4 criterios de evaluacin que son: Belleza, inteligencia, cuerpo y desenvolvimiento; donde cada criterio tiene un puntaje de 1 a 10 puntos como mximos simular los resultados generando puntajes aleatorios para criterio de evaluacin y para todas las seoritas candidatas mostrando en un formato de salida adecuado los resultados obtenidos por cada participante y determinar el numero de la candidata ganadora(que obtuvo el mayor puntaje), enviando el siguiente mensaje " Gano la concursante Nro .., y si existe varias, dar un mensaje adecuado " Hay mas de una ganadora " en el caso de que hubiera mas de una ganadora este programa arroja su resultado y el anlisis del mismo. Debe usar los siguientes Subprogramas:

GeneraResultadosAleatorios(): Subprograma que almacena datos tipo enteros(Solo digitos) y en forma Aleatoria en una Matriz de Filas(Numero de Participantes) y Columnas(Criterios de Evaluacin). PuntajesParticipantes(): Determina Puntajes y por cada participante guarda en un vector Total[] Mayorpuntaje(): Busca numero de ganadoras e indica el lugar(ubicacin) respectiva. Asimismo, el mayor puntaje dentro del vector y totaliza si existe mas de una ganadora(Con igual puntaje). reportes(): Imprime valores generados aleatoria mente en la matriz, as como datos del vector Total[] que representan acumulados de evaluacin por participante. Asimismo los siguientes mensajes: "Hay mas de una ganadora": Si existe ms de una ganadora "Gano la concursante Nro---:" Observacin: El programa principal debe Llamar a los subprogramas VI.-Disear un programa que utilice los siguientes subprogramas: longitud(p) : Permite leer el tamao del vector; lectura(p,a[]): Permite leer elementos tipo enteros en el vector.
Docente: Crdova Neri, T. Datos I Algoritmos y Estructura de

max(p,a[]): En forma Recursiva permite devolver el mximo valor que se localice en el vector.

VII

La siguiente aplicacin, permita procesar informacion de un conjunto de n Alumnos(n<=1000), usando los siguientes atributos: Nombre(cadena 20), codigo(solo de 3 digitos). En esta aplicacin se ilustra la tecnica de Diseo tipos Top -Down : DISEO MODULAR DEPEMDIENTE, basado en el concepto de Procedimientos(Procesos) y Funciones. Tambien se resalta las tecnicas de Listas y Tablas(Matriz) para procesar cadenas. A continuacion se describe cada Modulo y su tarea especifica que estos realizan: .-Es un proceso para definir la cantidad de Alumnos. En la siguiente figura se ilustra la ejecucion de este modulo, donde para iniciar se ingrese 2 alumnos, pues existen procesos que requieren por lo menos 2 o mas alumnos para realizar instrucciones(ordenamiento): Asimismo, iniciar con dos alumnos es condicion necesaria y suficiente, mas adelante mediante el modulo de modulo de insercion se registrar nuevoa alumnos. Lectura() .-Es un proceso donde el usuario ingresa los datos de alumnos por Nombres(Cadena 20) y se almacena en una Matriz, su codigo se almacena en un vector segn el tamao de alumnos.En la siguiente figura se ilustra el proceso de entrada de deatos al sistema. .-Es un procedimiento que permita generar un listado de los alumnos y sus datos ingresados. Asimismo indica la posicion de cada registro, este dato es importante cuando se realiza el ordenamiento y permite concoer el lugar inicial de ingreso del registro. En la siguiente figura se ilustra el proceso de entrada de deatos al sistema.

Longitud()

Reportes()

Docente: Crdova Neri, T. Datos I

Algoritmos y Estructura de

OrdenarNombresAsc().-Es que
BuscarNombre() .- Es un proceso que usuario realizar de alumnos por En las figuras se ilustra y verifica Compiladores hacen diferencia entre Mayusculas de Minusculas.

proceso permita Ordenar datos de Alumnos por Nombre y en forma Ascendente. Usando el Proceso Reportes(), se genera el reporte respectivo.

un

permita al busquedas Nombre. adjuntas que los una letras

Asimismo este proceso permite al usuario en forma Interactiva informar la existencia del alumno y el reporte acumulado si hubiera varios alumnos con el igual nombre. OrdenarcodigoAsc().Es un procedimiento que permita generar un reporte de alumnos ordenados en forma Ascendente, tal como se ilustra en la siguiente figura.

InsertarDatos() .- Es un proceso que permite insertar nuevo registro(lo importante es mostrar como insertar una cadena en una matriz ). Observe que el codigo 100 se repite, pues se finalidad de codigos Despues de genera un

hace con la eliminar repetidos. Insertar, se reporte

Docente: Crdova Neri, T. Datos I

Algoritmos y Estructura de

donde se observa los registros ordenados en forma ascendente. Ver figura adjunta. Eliminacion() Es un procedimiento que permite eliminar registros que tienen igual codigo. Ver figuras adjuntas(Para esta aplicacin se considero el ingreso de codigos sin validar, debe cuidar que este dato es UNICo en sistemas reales)

Docente: Crdova Neri, T. Datos I

Algoritmos y Estructura de

También podría gustarte