Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pgina:1/9
Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Cdigo: Semestre: Grupo: Lab. N: 4E03017 III FECHA: 02 19 al 23 MAR/2012
I. OBJETIVOS Comprender las fases bsicas en el proceso de resolucin de problemas con computadora. Comprender la necesidad del diseo de algoritmos en el estudio y resolucin de programas. Identificar la forma de elaborar algoritmos y su aplicacin para la solucin de problemas determinados. Utilizar correctamente las reglas para la construccin de identificadores.
II. MARCO TEORICO Fases en la resolucin de problemas por computadora: El proceso de resolucin de un problema con una computadora conduce a la escritura de un programa y a su ejecucin en la misma. Aunque el proceso de disear programas es esencialmente creativo, podemos considerar una serie de fases o pasos comunes, a saber:
Anlisis del problema El problema se analiza teniendo presente las especificaciones y los requisitos dados.
Diseo del algoritmo Analizado el problema se disea una solucin que conducir a un algoritmo que resuelva el problema.
Codificacin (Implementacin) La solucin se escribe en la sintaxis del lenguaje de programacin de alto nivel obtenindose el programa.
La resolucin de un programa con una computadora se hace escribiendo un programa, que exige al menos los siguientes pasos: 1. Definicin o anlisis del problema 2. Diseo del algoritmo 3. Transformacin del algoritmo en un programa 4. Ejecucin y validacin del programa
Algoritmo Un algoritmo es un mtodo para resolver un problema. Describe la solucin de un problema computacional, mediante una serie de pasos precisos, definidos y finitos. Los pasos para la resolucin de un problema mediante un algoritmo son: 1. Diseo del algoritmo, que describe la secuencia ordenada de pasos. 2. Expresar el algoritmo como un programa. 3. Ejecucin y validacin del programa por la computadora.
Pgina: 2/9
LAB N 2
Programa de Computadora
Sin algoritmo no puede existir un programa Los algoritmos son independientes del lenguaje de programacin. Los algoritmos son independientes de la computadora que los ejecuta. Los algoritmos son ms importantes que los lenguajes de programacin o las computadoras.
1. Entrada: datos que se necesita para poder ejecutarse. 2. Proceso: Acciones y clculos a realizar. 3. Salida: Resultado esperado.
Entrada
Proceso
Salida
Caractersticas obligatorias de los Algoritmos Preciso indicar el orden de realizacin de cada paso. Definido si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Finito si se sigue un algoritmo, se debe terminar en algn momento (debe tener un nmero finito de pasos)
Caractersticas aconsejables para los Algoritmos Validez un algoritmo es vlido si carece de errores. Un algoritmo puede resolver un problema para el que se plante y sin embargo no ser vlido debido a que posee errores. Eficiencia un algoritmo es eficiente si obtiene la solucin del problema en poco tiempo. No lo es si es lento en obtener el resultado. ptimo Un algoritmo es ptimo si es el ms eficiente posible y no contiene errores. La bsqueda de este algoritmo es el objetivo prioritario del programador.
Pgina: 3/9
LAB N 2
1. Anlisis: En esta fase se determina cul es exactamente el problema a resolver; que datos forman la entrada del algoritmo y cules debern obtenerse como salida. 2. Diseo: Elaboracin del algoritmo. 3. Prueba: Comprobacin del resultado. Se observa sis el algoritmo obtiene la salida esperada para todas las entradas. Diseo del Algoritmo Podemos adoptar dos etapas bien definidas en el diseo de nuestro algoritmo:
Diseo descendente (top-down design): consiste en la descomposicin del problema original en subproblemas ms simples y a continuacin dividir estos sub-problemas en otros ms simples. Refinamiento del algoritmo (stepwise refinement): Tras el diseo descendente, se ampla la descripcin hecha en una descripcin ms detallada con pasos ms especficos.
Ventajas del diseo descendente El problema se comprende ms fcilmente al dividirse en partes ms simples denominadas mdulos. Las modificaciones en los mdulos son ms fciles. La comprobacin del problema se puede verificar fcilmente.
Diseo
Diseo descendente
Refinamiento
Representacin
Diagrama de flujo
Pseudocdigo
Diagrama N-S
Pgina: 4/9
LAB N 2
Algoritmo narrado: El sistema para escribir (describir) un algoritmo, consiste en realizar una descripcin paso a paso con un lenguaje natural del citado algoritmo. Un algoritmo es un conjunto de reglas para solucionar un problema. Estas reglas tienen las siguientes propiedades: Deben estar seguidas de alguna secuencia definida de pasos. Solo puede ejecutarse una operacin a la vez. (Importante!)
Diagramas de Flujo: Es una representacin grfica que utiliza smbolos normalizados por ANSI, y expresa las sucesivas instrucciones que se debe realizar para resolver el problema. Estas instrucciones no dependen de la sintaxis de ningn lenguaje de programacin, sino que debe servir fcilmente para su transformacin (codificacin) en un lenguaje de programacin.
Indica la entrada y salida de datos. Smbolo de proceso y nos indica la asignacin de un valor en la memoria y/o la ejecucin de una operacin aritmtica.
Conector dentro de pgina. Representa la continuidad del diagrama dentro de la misma pgina. Conector fuera de pgina. Representa la continuidad del diagrama en otra pgina.
Smbolo de repeticin. Lneas de flujo o direccin. Indican la Secuencia en que se realizan las operaciones.
Pgina: 5/9
LAB N 2
1. Se deben de usar solamente lneas de flujo horizontal y/o vertical. 2. Se debe evitar el cruce de lneas utilizando los conectores. 3. Se deben usar conectores solo cuando sea necesario. 4. No deben quedar lneas de flujo sin conectar. 5. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. 6. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.
Instrucciones: Son las acciones que debe realizar un algoritmo para resolver un problema. Las instrucciones ms comunes son las siguientes: Instruccin de inicio/fin: representa el inicio y el fin de un algoritmo.
Diagrama de Flujo
Pseudocdigo
Inicio
Inicio
Fin
Fin
Instruccin de asignacin: representa la asignacin de un valor a una variable, se puede representar usando una flecha o el smbolo de igualdad, que es el smbolo empleado por muchos lenguajes de programacin.
Diagrama de Flujo
Pseudocdigo
N 10
N 10
N = 10
N = 10
Instruccin de lectura: representa el ingreso de datos mediante un dispositivo de entrada, que muchas veces es representado por un smbolo de teclado.
Pgina: 6/9
LAB N 2
Leer N
Leer N
Leer N
Leer N
Instruccin de escritura: representa la salida de informacin mediante un dispositivo de salida, puede ser representado por el smbolo de entrada/salida, por el smbolo de pantalla o impresora.
Diagrama de Flujo
Pseudocdigo
Escribir R
Escribir R
Escribir R
Escribir R
Escribir R
Escribir R
Pseudocdigo: Mezcla de lenguaje de programacin y espaol que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. En esencia, el pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El pseudocdigo utiliza palabras que indican el proceso a realizar. Entonces, todo pseudocdigo debe posibilitar la descripcin de:
Instrucciones de entrada y salida Instrucciones de proceso. Sentencias de control del flujo de ejecucin. Acciones compuestas a refinar posteriormente
Pgina: 7/9
LAB N 2
Identificadores: Son los nombres que utiliza el programador para referenciar los datos y otros elementos del programa (constantes simblicas, variables, funciones y procedimientos u otros objetos que manipulan el algoritmo), permitiendo as su definicin en una posicin de la memoria del ordenador. La regla para construir un identificador establece que: Debe resultar significativo. Es decir, el nombre asignado debe tener relacin con la informacin que contiene, pudindose emplear abreviaturas que sean significativas. No podr coincidir con palabras reservadas, propias del lenguaje algortmico. La longitud no debe ser excesivamente larga. De todos modos, el nmero mximo de caracteres que se pueden emplear dependen del compilador utilizado. Comenzar siempre por un carcter alfabtico y los siguientes podrn ser letras, dgitos o el smbolo de subrayado. Slo se permitirn los caracteres alfabticos correspondientes a los cdigos ASCII menores de 127. No deben contener espacios. Segn el lenguaje de programacin podr ser utilizado indistintamente o no, en maysculas o en minsculas. Podremos utilizar nombres completos o abreviaturas
IV. PROCEDIMIENTO
1. Algoritmos narrados 1.1. Escribir un algoritmo narrado para asistir a clases a la UCSM: 1. Levantarse 2. Baarse 3. Vestirse 4. Desayunar 5. Cepillarse los dientes 6. Salir de casa 7. Tomar el autobs 8. Llegar a la universidad. 9. Buscar el aula 10. Ubicarse en un asiento 1.2. Escribir un algoritmo narrado para cambiar un vidrio roto de una ventana 1. 2. 3. 4. . .
Pgina: 8/9
LAB N 2
2.2. Elabore el pseudocdigo para que dado el valor de venta de un producto, hallar el IGV (19%) y el precio de venta 1. 2. 3. 4. . .
3. Diagramas de flujo: 3.1. Realizar el diagrama de flujo del pseudocdigo del problema 2.1
Pgina: 9/9
LAB N 2
4.1. Disee un algoritmo que permita el clculo del rea de un tringulo dados sus tres lados, segn la frmula siguiente:
donde:
) (
) (
V.
CUESTIONARIO FINAL
1. Escriba un algoritmo narrado para medir exactamente cuatro litros de agua si solo estn disponibles baldes de cinco litros y tres litros. 2. Disear un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmtica. Escriba su algoritmo en forma de pseudocdigo y dibuje su diagrama de flujo.
VI. OBSERVACIONES Y CONCLUSIONES Emita al menos tres conclusiones en torno al trabajo realizado 1. ________________________________________________________________________________________ ________________________________________________________________________________________ ________________________________________________________________________________________ 2. ________________________________________________________________________________________ ________________________________________________________________________________________ ________________________________________________________________________________________ 3. ________________________________________________________________________________________ ________________________________________________________________________________________ ________________________________________________________________________________________
Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).