inicio de programacion por computadora, ucsm

16
UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA Página:1/16 Jefes de Prácticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Christian Collado Oporto Laboratorio de Mecánica Computacional I Tema: Algoritmos y Herramientas de Programación Código: 4E03017 Semestr e: III Grupo: FECHA: Apellidos y Nombres: Lab. Nº: 02 16 al 20 MAR/2014 I. OBJETIVOS Comprender las fases básicas en el proceso de resolución de problemas con computadora. Comprender la necesidad del diseño de algoritmos en el estudio y resolución de programas. Identificar la forma de elaborar algoritmos y su aplicación para la solución de problemas determinados. Utilizar correctamente las reglas para la construcción de identificadores. II. MARCO TEORICO Fases en la resolución de problemas por computadora: El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es esencialmente creativo, podemos considerar una serie de fases o pasos comunes, a saber: Análisis del problema El problema se analiza teniendo presente las especificaciones y los requisitos dados. Diseño del algoritmo Analizado el problema se diseña una solución que conducirá a un algoritmo que resuelva el problema. Codificación (Implementación) La solución se escribe en la sintaxis del lenguaje de programación de alto nivel obteniéndose el programa. La resolución de un programa con una computadora se hace escribiendo un programa, que exige al menos los siguientes pasos:

Upload: jeankarlo-solorzano-valdivia

Post on 21-Dec-2015

21 views

Category:

Documents


0 download

DESCRIPTION

programar en computadora bases iniciales

TRANSCRIPT

Page 1: inicio de programacion por computadora, ucsm

UNIVERSIDAD CATOLICA DE SANTA MARIAFACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES

PROGRAMA PROFESIONALINGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA

Página:1/13

Jefes de Prácticas:Ing. Juan Carlos CuadrosIng. Henry Zegarra Gago

Ing. Christian Collado OportoLaboratorio de Mecánica Computacional I

Tema: Algoritmos y Herramientas de ProgramaciónCódigo: 4E03017Semestre: IIIGrupo: FECHA:

Apellidos y Nombres: Lab. Nº: 02 16 al 20 MAR/2014

I. OBJETIVOS

Comprender las fases básicas en el proceso de resolución de problemas con computadora.

Comprender la necesidad del diseño de algoritmos en el estudio y resolución de programas.

Identificar la forma de elaborar algoritmos y su aplicación para la solución de problemas determinados.

Utilizar correctamente las reglas para la construcción de identificadores.

II. MARCO TEORICO

Fases en la resolución de problemas por computadora:

El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su

ejecución en la misma. Aunque el proceso de diseñar programas es esencialmente creativo, podemos considerar

una serie de fases o pasos comunes, a saber:

• Análisis del problema

– El problema se analiza teniendo presente las especificaciones y los requisitos dados.

• Diseño del algoritmo

– Analizado el problema se diseña una solución que conducirá a un algoritmo que resuelva el

problema.

• Codificación (Implementación)

– La solución se escribe en la sintaxis del lenguaje de programación de alto nivel obteniéndose el

programa.

La resolución de un programa con una computadora se hace escribiendo un programa, que exige al menos los

siguientes pasos:

1. Definición o análisis del problema

2. Diseño del algoritmo

3. Transformación del algoritmo en un programa

4. Ejecución y validación del programa

Algoritmo

Un algoritmo es un método para resolver un problema. Describe la solución de un problema computacional,

mediante una serie de pasos precisos, definidos y finitos.

Los pasos para la resolución de un problema mediante un algoritmo son:

1. Diseño del algoritmo, que describe la secuencia ordenada de pasos.

2. Expresar el algoritmo como un programa.

3. Ejecución y validación del programa por la computadora.

Page 2: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 2/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

• Sin algoritmo no puede existir un programa

• Los algoritmos son independientes del lenguaje de programación.

• Los algoritmos son independientes de la computadora que los ejecuta.

• Los algoritmos son más importantes que los lenguajes de programación o las computadoras.

La solución de un algoritmo debe describir tres partes:

1. Entrada: datos que se necesita para poder ejecutarse.

2. Proceso: Acciones y cálculos a realizar.

3. Salida: Resultado esperado.

Características obligatorias de los Algoritmos

• Preciso à indicar el orden de realización 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 algún momento (debe tener un número finito de pasos)

Características aconsejables para los Algoritmos

• Validez à un algoritmo es válido si carece de errores. Un algoritmo puede resolver un problema para el que

se planteó y sin embargo no ser válido debido a que posee errores.

• Eficiencia à un algoritmo es eficiente si obtiene la solución del problema en poco tiempo. No lo es si es lento

en obtener el resultado.

• Óptimo à Un algoritmo es óptimo si es el más eficiente posible y no contiene errores. La búsqueda de este

algoritmo es el objetivo prioritario del programador.

Fases en la creación de algoritmos

Problema

Diseño del Algoritmo

Programa de Computadora

Entrada Proceso Salida

Page 3: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 3/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

Hay tres fases en la elaboración de un algoritmo:1. Análisis: En esta fase se determina cuál es exactamente el problema a resolver; que datos forman la entrada

del algoritmo y cuáles deberán obtenerse como salida.

2. Diseño: Elaboración del algoritmo.

3. Prueba: Comprobación del resultado. Se observa sis el algoritmo obtiene la salida esperada para todas las

entradas.

Diseño del Algoritmo

Podemos adoptar dos etapas bien definidas en el diseño de nuestro algoritmo:

• Diseño descendente (top-down design): consiste en la descomposición del problema original en sub-

problemas más simples y a continuación dividir estos sub-problemas en otros más simples.

• Refinamiento del algoritmo (stepwise refinement): Tras el diseño descendente, se amplía la descripción

hecha en una descripción más detallada con pasos más específicos.

Ejemplo: Cálculo de la circunferencia y superficie de un circulo.

Ventajas del diseño descendente

• El problema se comprende más fácilmente al dividirse en partes más simples denominadas módulos.

• Las modificaciones en los módulos son más fáciles.

• La comprobación del problema se puede verificar fácilmente.

Page 4: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 4/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

Escritura de Algoritmos

Algoritmo narrado: El sistema para escribir (“describir”) un algoritmo, consiste en realizar una descripción 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 operación a la vez. (¡Importante!)

Diagramas de Flujo: Es una representación gráfica que utiliza símbolos normalizados por ANSI, y expresa las

sucesivas instrucciones que se debe realizar para resolver el problema. Estas instrucciones no dependen de la

sintaxis de ningún lenguaje de programación, sino que debe servir fácilmente para su transformación (codificación)

en un lenguaje de programación.

Algunos símbolos empleados en Diagramas de Flujo.

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

Indica la entrada y salida de datos.

Símbolo de proceso y nos indica la asignación de un valor en la memoria

y/o la ejecución de una operación aritmética.

Símbolo de decisión indica la realización de una comparación de valores.

Conector dentro de página. Representa la continuidad del diagrama

dentro de la misma página.

Conector fuera de página. Representa la continuidad del diagrama en

otra página.

Diseño

Diseño descendente Refinamiento Representación

Diagrama de flujo Pseudocódigo Diagrama N-S

Page 5: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 5/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

Indica la salida de información por impresora

Indica la salida de información en la pantalla o Monitor.

Símbolo de repetición.

Líneas de flujo o dirección. Indican la Secuencia en que se realizan las

operaciones.

Algunas recomendaciones para el diseño de Diagramas de Flujo son:

1. Se deben de usar solamente líneas de flujo horizontal y/o vertical.

2. Se debe evitar el cruce de líneas utilizando los conectores.

3. Se deben usar conectores solo cuando sea necesario.

4. No deben quedar líneas de flujo sin conectar.

5. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.

6. Todo texto escrito dentro de un símbolo 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 más

comunes son las siguientes:

Instrucción de inicio/fin: representa el inicio y el fin de un algoritmo.

Diagrama de Flujo Pseudocódigo

Inicio

Fin

Instrucción de asignación: representa la asignación de un valor a una variable, se puede representar usando

una flecha o el símbolo de igualdad, que es el símbolo empleado por muchos lenguajes de programación.

Diagrama de Flujo Pseudocódigo

N 10

Inicio

Fin

Page 6: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 6/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

N = 10

Instrucción de lectura: representa el ingreso de datos mediante un dispositivo de entrada, que muchas veces

es representado por un símbolo de teclado.

Diagrama de Flujo Pseudocódigo

Leer N

Leer N

Instrucción de escritura: representa la salida de información mediante un dispositivo de salida, puede ser

representado por el símbolo de entrada/salida, por el símbolo de pantalla o impresora.

Diagrama de Flujo Pseudocódigo

Escribir R

Escribir R

Escribir R

N 10

N = 10

Leer N

Leer N

Escribir R

Escribir R

Escribir R

Page 7: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 7/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

Pseudocódigo: Mezcla de lenguaje de programación y español que se emplea, dentro de la programación

estructurada, para realizar el diseño de un programa. En esencia, el pseudocódigo se puede definir como un

lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un

algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a

realizar. Entonces, todo pseudocódigo debe posibilitar la descripción de:

- Instrucciones de entrada y salida

- Instrucciones de proceso.

- Sentencias de control del flujo de ejecución.

- Acciones compuestas a refinar posteriormente

Identificadores: Son los nombres que utiliza el programador para referenciar los datos y otros elementos del

programa (constantes simbólicas, variables, funciones y procedimientos u otros objetos que manipulan el

algoritmo), permitiendo así su definición en una posición de la memoria del ordenador.

La regla para construir un identificador establece que:

- Debe resultar significativo. Es decir, el nombre asignado debe tener relación con la información que contiene,

pudiéndose emplear abreviaturas que sean significativas.

- No podrá coincidir con palabras reservadas, propias del lenguaje algorítmico.

- La longitud no debe ser excesivamente larga. De todos modos, el número máximo de caracteres que se

pueden emplear dependen del compilador utilizado.

- Comenzará siempre por un carácter alfabético y los siguientes podrán ser letras, dígitos o el símbolo de

subrayado. Sólo se permitirán los caracteres alfabéticos correspondientes a los códigos ASCII menores de

127.

- No deben contener espacios.

- Según el lenguaje de programación podrá ser utilizado indistintamente o no, en mayúsculas o en minúsculas.

- 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. Levantarse2. Bañarse3. Vestirse4. Desayunar5. Cepillarse los dientes

Page 8: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 8/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

6. Salir de casa7. Tomar el autobús8. Llegar a la universidad.9. Buscar el aula10. Ubicarse en un asiento

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

1.ventana rota.2.recoger restos.3.limpiar partículas de vidro.4.botar restos.5.comprar ventana nueva.6.comprar pegamento de ventana.7.colocar ventana en posición.8.colocar pegamento en vntana.9.limpiar empañadura de vidrio.10.guardar demás accseorios.

2. Pseudocódigo

2.1. Elabore el pseudocódigo para calcular e imprimir el área de un triángulo.

1. Iniciar el proceso.2. Declarar variables: H (Altura), B (Base), A (Área).3. Mostrar “Ingresar base y altura”4. Leer B y H5. Hacer: A = (B*H)/26. Escribir A7. Finalizar proceso.

2.2. Elabore el pseudocódigo para que dado el valor de venta de un producto, hallar el IGV (19%) y el precio

de venta

Page 9: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 9/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

3. Diagramas de flujo:

3.1. Realizar el diagrama de flujo del pseudocódigo del problema 2.1

Page 10: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 10/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

3.2. Realizar el diagrama de flujo del pseudocódigo del problema 2.2

Page 11: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 11/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

Page 12: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 12/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

4. Pseudocódigo y diagrama de flujo

4.1. Diseñe un algoritmo que permita el cálculo del área de un triángulo dados sus tres lados, según la

fórmula siguiente:

A=√S∗(S−L1 )∗(S−L2 )∗(S−L3 )

donde:

S=(L1+L2+L3)

2

Escriba su algoritmo en pseudocódigo y dibuje su diagrama de flujo.

Page 13: inicio de programacion por computadora, ucsm

Laboratorio de Mecánica Computacional I Página: 13/13

Tema: Algoritmos y Herramientas de Programación LAB N° 2 JP: Ings.JCC-HZG -CCO

V. CUESTIONARIO FINAL

1. Escriba un algoritmo narrado para medir exactamente cuatro litros de agua si solo están disponibles baldes de

cinco litros y tres litros.

2. Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.

Escriba su algoritmo en forma de pseudocódigo 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).

________________________________________________________________________________________

________________________________________________________________________________________

________________________________________________________________________________________