You are on page 1of 13

UNIVERSIDAD CATOLICA DE SANTA MARIA Pgina:1/13

FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES


PROGRAMA PROFESIONAL Jefes de Prcticas:
Ing. Juan Carlos Cuadros
INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA Ing. Henry Zegarra Gago
Ing. Christian Collado Oporto
Laboratorio de Mecnica Computacional I
Cdigo: 4E03017
Tema: Algoritmos y Herramientas de Programacin Semestre: III
Grupo: FECHA:
Apellidos y Nombres: Lab. N: 02 16 al 20 MAR/2014

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/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

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


Laboratorio de Mecnica Computacional I Pgina: 3/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

Hay tres fases en la elaboracin de un algoritmo:


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 sub-problemas
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.
Laboratorio de Mecnica Computacional I Pgina: 4/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

Diseo

Diseo
Refinamiento Representacin
descendente

Diagrama de
Pseudocdigo Diagrama N-S
flujo

Escritura de Algoritmos

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


Laboratorio de Mecnica Computacional I Pgina: 5/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

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.

Algunas recomendaciones para el diseo de Diagramas de Flujo son:

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
Laboratorio de Mecnica Computacional I Pgina: 6/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

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.

Diagrama de Flujo Pseudocdigo

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 Escribir R
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
Laboratorio de Mecnica Computacional I Pgina: 7/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

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

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
Laboratorio de Mecnica Computacional I Pgina: 8/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

1.2. Escribir un algoritmo narrado para cambiar un vidrio roto de una ventana

1. quitar los restos de vidrio de la ventana


2. sacar la silicona que sujeta el vidrio
3. tomar las medidas del tamao de la ventana
4. comprar los vidrios con las medidas tomadas
5. calzar los vidrios en la ventana rota
6. tomar una pistola de silicona y echarle a los contornos del vidrio
7. fin

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 Ingresar base y altura
4. Leer B y H
5. Hacer: A = (B*H)/2
6. Escribir A
7. Finalizar proceso.

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. inicio de proceso
2. declarar variable IGV, precio de venta, costo del producto
3. mostrar ingresar precio de costo
4. Leer PC
5. hacer: IGV= 0,19*(C.P)
6. escribir IGV
7. hacer: PV = CP+IGV
8. Escribir PV
9. finalizar proceso

3. Diagramas de flujo:
Laboratorio de Mecnica Computacional I Pgina: 9/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

3.1. Realizar el diagrama de flujo del pseudocdigo del problema 2.1


Laboratorio de Mecnica Computacional I Pgina: 10/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

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

4. Pseudocdigo y diagrama de flujo

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

frmula siguiente:

= ( 1) ( 2) ( 3)

donde:

(1 + 2 + 3)
=
2

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


Laboratorio de Mecnica Computacional I Pgina: 11/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

Pseudocdigo
1. inicio de proceso
2. declarar variables S (el valor de la constante), L1 (lado 1), L2 (lado 2), L3 (lado 3), A (rea del
tringulo)
3. mostrar ingresar L1, L2, L3
4. leer L1, L2 Y L3
4. hacer S= (L1+L2+L3)/2
5. escribir S
6 hacer A=sqrt(s*(s-L1)*(s-L2)*(s-L3)
8. escribir A
9. FIN
Laboratorio de Mecnica Computacional I Pgina: 12/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

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.

INICIAR PROCESO

LLENAR EL BALDE DE 5 LITROS

ECHAR EL AGUA DEL BALDE DE 5 LITROS EN EL DE 3 LITROS

NOS QUEDA 2 LITROS DE AGUA EN EL BALDE DE 5 LITROS LOS GUARDAMOS

REPETIMOS LA MISMA OPERACIN Y OBTENEMOS LOS 4 LITROS

FIN

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.

o Iniciar proceso

o declarar variables: V1, V2, V3, V4

o mostrar: ingresar datos

o leer V1, V2, V3, V4

o hacer P= V1*V2*V3*V4

o el producto es P

o hacer: S= V1+V2+V3+V4

o la suma es S

o hacer: M= (V1+V2+V3+V4)/4

o la media aritmtica es M

o fin

2 OBSERVACIONES Y CONCLUSIONES

Emita al menos tres conclusiones en torno al trabajo realizado


Laboratorio de Mecnica Computacional I Pgina: 13/13

JP: Ings.
Tema: Algoritmos y Herramientas de Programacin LAB N 2 JCC-HZG -CCO

1. Lo que hemos realizado en el programacin nos da una nocin sobre el lenguaje de las computadoras y nos
ser de mucha utilidad para crear algoritmos ms complejos
2. Lo que hemos visto son algunas herramientas de programacin lo que ms adelante nos ayudaran en las
resoluciones de problemas que se nos presenten con relacin a programacin
3. Los programas DFD Y RFFLOW estos programas son auxiliares para poder comprender mejor el lenguaje de
programacin

Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).

El problema con el programa DFD es que no aparecen los caracteres escritos en los cuadros de texto por lo
cual no se puede saber muy bien lo que est escrito aparte de ello es muy til

You might also like