Sei sulla pagina 1di 9

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Laboratorio de Mecnica Computacional I Tema: Algoritmos y Herramientas de Programacin


Apellidos y Nombres:

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.

Laboratorio de Mecnica Computacional I

Pgina: 2/9

Tema: Algoritmos y Herramientas de Programacin

LAB N 2

JP: Ings. JCC-HZG

Problema Diseo del Algoritmo

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.

La solucin de un algoritmo debe describir tres partes:

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.

Fases en la creacin de algoritmos Hay tres fases en la elaboracin de un algoritmo:

Laboratorio de Mecnica Computacional I

Pgina: 3/9

Tema: Algoritmos y Herramientas de Programacin

LAB N 2

JP: Ings. JCC-HZG

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.

Ejemplo: Clculo de la circunferencia y superficie de un circulo.

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

Laboratorio de Mecnica Computacional I

Pgina: 4/9

Tema: Algoritmos y Herramientas de Programacin


Escritura de Algoritmos

LAB N 2

JP: Ings. JCC-HZG

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.

Algunos smbolos empleados en Diagramas de Flujo.

Indica el inicio y el final de nuestro diagrama de flujo.

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.

Smbolo de decisin indica la realizacin de una comparacin de valores.

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.

Indica la salida de informacin por impresora

Indica la salida de informacin en la pantalla o Monitor.

Smbolo de repeticin. Lneas de flujo o direccin. Indican la Secuencia en que se realizan las operaciones.

Laboratorio de Mecnica Computacional I

Pgina: 5/9

Tema: Algoritmos y Herramientas de Programacin


Algunas recomendaciones para el diseo de Diagramas de Flujo son:

LAB N 2

JP: Ings. JCC-HZG

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.

Laboratorio de Mecnica Computacional I

Pgina: 6/9

Tema: Algoritmos y Herramientas de Programacin


Diagrama de Flujo Pseudocdigo

LAB N 2

JP: Ings. JCC-HZG

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

Laboratorio de Mecnica Computacional I

Pgina: 7/9

Tema: Algoritmos y Herramientas de Programacin

LAB N 2

JP: Ings. JCC-HZG

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

III. MATERIAL Y EQUIPO Una PC con SO Windows XP, Internet

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. . .

Laboratorio de Mecnica Computacional I

Pgina: 8/9

Tema: Algoritmos y Herramientas de Programacin


2. Pseudocdigo 2.1. Elabore el pseudocdigo para calcular e imprimir el rea de un tringulo. 1. Iniciar el proceso. 2. Declarar variables: H (Altura), B (Base), A (rea). 3. Mostrar b 4. Leer B y H 5. Hacer: A = (B*H)/2 6. Escribir A 7. Finalizar proceso.

LAB N 2

JP: Ings. JCC-HZG

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

3.2. Realizar el diagrama de flujo del pseudocdigo del problema 2.2

Laboratorio de Mecnica Computacional I

Pgina: 9/9

Tema: Algoritmos y Herramientas de Programacin


4. Pseudocdigo y diagrama de flujo

LAB N 2

JP: Ings. JCC-HZG

4.1. Disee un algoritmo que permita el clculo del rea de un tringulo dados sus tres lados, segn la frmula siguiente:

donde:

) (

) (

Escriba su algoritmo en pseudocdigo y dibuje su diagrama de flujo.

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).

________________________________________________________________________________________ ________________________________________________________________________________________ ________________________________________________________________________________________

Potrebbero piacerti anche