42
Programación Estructurada Dalton Noboa M. Abril 2015

Clase 1. Algoritmos y Programas Doc

Embed Size (px)

DESCRIPTION

Algoritmos y Programas

Citation preview

Page 1: Clase 1. Algoritmos y Programas Doc

Programación Estructurada

Dalton Noboa M.

Abril 2015

Page 2: Clase 1. Algoritmos y Programas Doc

Instructor

Dalton Noboa Macías. Profesor Titular de ESPOL. Magister en Sistemas de Información Gerencial. Diplomado Superior en Auditoría Informática Ingeniero en Estadística Informática Líneas Investigación

Algoritmia Procesos y Sistemas

Profesor en posgrado: Maestría en Optimización y Gestión Logística, y Maestría en Seguros y Riesgos Financieros.

Profesor en grado: ESPOL y USM. Coordinador Académico de Ing. Auditoría Contacto: [email protected] Telf: 2269590

Page 3: Clase 1. Algoritmos y Programas Doc

Objetivos de la Materia

El participante de la materia pueda: Comprender y aplicar los conceptos de

programación estructurada. Desarrollar algoritmos computacionales de

gestión y aplicación matemáticas en matlab.

Crear funciones computacionales específicas con aplicación matemática.

Desarrollar algoritmos de simulación de escenarios mediantes números aleatorios en matlab.

Page 4: Clase 1. Algoritmos y Programas Doc

Contenido

1. Algoritmos.2. Programación Estructurada

Estructuras Secuencias, Selectivas y Repetitivas3. Estructura de datos para almacenamiento

de registros. Arreglos Unidimensionales y Bidimensionales

4. Funciones computacionales – Funciones estándar y función recursiva.

5. Introducción a la Simulación: Generación de Números Aleatorios uniformente distribuidos.

Page 5: Clase 1. Algoritmos y Programas Doc

Bibliografía

Texto Guía: Fundamentos de Programación, Autor

Luis Joyanes 4ª edición. Texto de Consulta:

Cómo programar, Autor Deitel y Deitel, 2º edición

Referencias: Tutorial de Matlab, Autor Luís Rodríguez

Ojeda.

Page 6: Clase 1. Algoritmos y Programas Doc

Políticas de Calificación

Actividad PuntosTrabajo Autónomo 10

Prácticas(Laboratorio) 10

Asistencia y Participación en clases

10

Evaluaciones Parciales 10

Proyecto(Aplicación Computacional)

20

Evaluación Final (Examen)

40

Page 7: Clase 1. Algoritmos y Programas Doc

Políticas de Calificación

Los trabajos de desarrollo autonómo serán enviados de forma semanal, y se recibirán el primer día de clases de la siguiente semana.

La asistencia se controlará al inicio y luego del receso de las clases.

Prácticas serán desarrolladas individualmente.

Las evaluaciones parciales se realizaran de forma semanal el primer día de clases “Jueves”.

Page 8: Clase 1. Algoritmos y Programas Doc

ALGORITMO

Entrada Procesamiento Salida

Page 9: Clase 1. Algoritmos y Programas Doc

Algoritmo

Es una técnica aplicada en la resolución de problemas mediante una serie de pasos que tienen un orden lógico, precisos, definidos y finitos.[1]

Características de un algoritmo: Preciso: Indica el orden de realización de cada

paso. Definido: Si se aplica dos veces , obtiene el

mismo resultado o solución. Finito : Tiene un número determinado de

pasos[1] Fundamentos de Programación

Page 10: Clase 1. Algoritmos y Programas Doc

Resolución de un problema de forma computacional

RESOLUCIÓN PROBLEMA

Análisis del problema

Diseño del algoritmo

Resolución del problema con computadora

Definir el problema:¿Qué entradas se requieren?¿Cuál es la salida deseada?¿Qué método produce la salida deseada?Diseño:Aplicación de estructuras de control: Captura de datos, presentación resultados, cálculo, operaciones, decisiones e iteraciones.Aplicación estructuras almacenamiento de datos.

Page 11: Clase 1. Algoritmos y Programas Doc

Fases en la Resolución de problemas con computadoras:

Definición y análisis del Problema

Diseño de algoritmos

Codificación del programa

Depuración y verificación del programa

Documentación

Mantenimiento

Page 12: Clase 1. Algoritmos y Programas Doc

Estructura de un programa

ENTRADA PROCESO SALIDA

Representa los datos que se requieren:-Ingresados por usuario-Asignados -Generados por PC-Recuperados de Files

Procesamiento: Tratamiento que se le da a los datos.-Operación de cálculo-Condicionales-Simulaciones-Iteraciones

Distribución de resultados:-Presentación-Impresión-Almacenamiento

Page 13: Clase 1. Algoritmos y Programas Doc

Ejemplo 1:

Se desea obtener una tabla con las depreciaciones acumuladas y los valores reales de cada año de un automóvil comprado en $18000 en el año 2007, durante seis años siguientes suponiendo un valor de recuperación o rescate de $11000. Considere que depreciación “D” es:

Page 14: Clase 1. Algoritmos y Programas Doc

Análisis del Problema

Entrada: ¿Qué datos se requieren? Coste original Vida útil Valor de recuperación

Salida: ¿Qué resultado se espera? Depreciación anual, depreciación acumulada por

año, valor comercial del automóvil. Proceso: ¿Qué métodos produce la salida

esperada? Cálculo depreciación acumulada Cálculo del valor del automóvil en cada año.

Page 15: Clase 1. Algoritmos y Programas Doc

Tabla Depreciaciones:

Datos Entrada

ProcesoSalida Esperada

Page 16: Clase 1. Algoritmos y Programas Doc

Programas & Lenguaje de Programación

Tipos de Lenguajes de programación

Page 17: Clase 1. Algoritmos y Programas Doc

Representación de los algoritmos

Un algoritmo puede ser representado mediante: Pseudocódigo: Conjunto de instrucciones

escritas en lenguaje natural que permiten establecer ordenes para el computador.

Flujogramas(DFD): Representación gráfica de un algoritmo por medio del uso de símbolos y líneas.

Programa: Representación computacional de un algoritmo.

Page 18: Clase 1. Algoritmos y Programas Doc

Programa

Es la representación computacional de un algoritmo.

Se trata de un conjunto de instrucciones escrita en lenguaje de programación, mediante las cuales se le da orden al computador para que este realice ciertas tareas.

Page 19: Clase 1. Algoritmos y Programas Doc

Lenguaje de Programación Un lenguaje de programación es un conjunto de

reglas y sintaxis que sirven para escribir programas que permiten la comunicación usuario/maquina.

Programas especiales Traductores(compiladores) convierten las instrucciones escritas en lenguaje programación en instrucciones en lenguaje de maquina (0 y 1 bits).

Se clasifican: Lenguaje de Maquinas, Bajo Nivel y Alto Nivel.

Page 20: Clase 1. Algoritmos y Programas Doc

Tipos Lenguaje

Lenguaje Maquinas.- Son aquellos que están escritos en lenguajes directamente inteligibles por la maquina, son cadenas binarias(series de dígitos 1 y 0).

Lenguaje Bajo Nivel.- Son instrucciones escritas en códigos nemotécnicos, ejemplo: ADD, SUB, DIV.

Lenguaje Alto Nivel.- Son independiente de las maquinas. Se basan en reglas sintácticas similares a los lenguajes humanos. Ej: Read, Write, Open, etc.

Page 21: Clase 1. Algoritmos y Programas Doc

Compilación

Programa Fuente

CompiladorTraductor

Programa Objeto

Enlazador

Lenguaje ejecutable en

Lenguaje de maquina

Código escrito en el lenguaje programación

Código Resultado de la compilación

Page 22: Clase 1. Algoritmos y Programas Doc

Programación Estructurada

Estructuras de Control:- Secuenciales- Selectivas- Iterativas

Page 23: Clase 1. Algoritmos y Programas Doc

Estructuras de control

Las estructuras de control son métodos que permiten controlar el flujo de la ejecución de instrucciones o pasos de un algoritmo.

Todas las estructuras de control tienen un único punto de entrada y un único punto de salida.

Las estructuras de control se puede clasificar en : secuenciales, selectivas e iterativas.

En mayo de 1966, Bohm y Jacopini demostraron que un programa propio puede ser escrito utilizando solamente tres tipos de estructuras.

Page 24: Clase 1. Algoritmos y Programas Doc

Instrucciones

En programación una instrucción es una orden que se le da al computador para que ejecute.

Las instrucciones son establecidas por comandos y palabras reservadas del lenguaje de programación.

Se clasifican:Instrucción Basic

Entrada: Ingreso de datos var= inputbox(‘mensaje’);

Salida: Presentación de resultados

Msgbox(“mensaje”)

Asignación: Operación x=10a = b * h

Comandos Matemáticos Parte entera int(3.56) = 3Residuo 5 mod 2Raíz cuadrada sqr(4)=2Redondear round(#,dec)Potencia b^eExponencial exp(x)

Page 25: Clase 1. Algoritmos y Programas Doc

Variables

Una variable en un objeto de almacenamiento de datos en memoria principal.

Los valores pueden cambiar a lo largo de la ejecución de un algoritmos.

Toda variable debe tener un nombre asociado que lo define el programador. Ejemplo: X=6

Las variables deben ser del tipo de dato que se almacene en la misma.

Page 26: Clase 1. Algoritmos y Programas Doc

Estructuras de Control (1)

Secuenciales.- Son instrucciones de ejecución directa, las cuales siguen una a la otra. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

Acción 1

Acción 2

Acción 3

Selectivas.- Es aquella donde se evalúa una condición y en función del resultado de la misma realiza una operación u otra.

Condición

Acción 2

Acción 1Si

No

Múltiple

Simple

Page 27: Clase 1. Algoritmos y Programas Doc

Estructuras de Control (2) Repetitivas.-Son aquellas que repiten una

secuencia de instrucciones un número determinado de veces se denominan bucles.

Page 28: Clase 1. Algoritmos y Programas Doc

Flujograma

Objetivos:Desarrollo de la lógica en la resolución de problemas mediante aplicación de algoritmos.

Page 29: Clase 1. Algoritmos y Programas Doc

DFD

X

X 12

Entrada: Instrucción aplicada para la captura de datos (ingreso de valores) por parte del usuario. El almacenamiento de estos valores se los realiza en los objetos denominados variables (Ej: X)

Salida: Instrucción aplicada para presentación de resultados por pantalla. El mensaje puede estar formado de texto y valores de variables. (Ej: El promedio es 7.59)

Proceso: Instrucción aplicada para realizar la asignación de valores en las variables. Estos pueden provenir de la aplicación de formulas matemáticas. (Ej: x y + 3 )

Inicio/Fin: Instrucción aplicada para indicar el inicio de la secuencia de pasos y la culminación de los mimos.

Page 30: Clase 1. Algoritmos y Programas Doc

DFD

Decisión: Instrucción aplicada para la toma de decisiones y direccionar el flujo de ejecución de las instrucciones respectivas. (Es conocido como el condicional)

Ciclo Mientas: Estructura aplicada para controlar la repetición de instrucciones sujeto a la verificación de una condición. En el caso de cumplirse la misma(Verdad) se vuelve a ejecutar, caso contrario (Falso) finaliza.)

Ciclo Para: Estructura aplicada para controlar la repetición de instrucciones sujeto a un número finito de iteraciones.

Page 31: Clase 1. Algoritmos y Programas Doc

Ejemplo 2

Lea las tres dimensiones de un bloque rectangular. Encuentre las tres diagonales de sus caras diferentes.

Page 32: Clase 1. Algoritmos y Programas Doc

Estructuras selectivas

Son conocidas como condicionales Se clasifican en:

Condicional Simple( máximo dos opciones)

Condicional Múltiple (varias opciones) Condicional Simple: Se evalúa una

condición y se la califica como verdadero o falso.

Page 33: Clase 1. Algoritmos y Programas Doc

Condicional Simple

La secuencia de instrucciones ejecutadas por la instrucción Si-Entonces-Sino depende del valor de una condición lógica.      Si <condición> Entonces            <instrucciones que se realizan por Condición Verdadera>      Sino            <instrucciones que se realizan por Condición Falsa>      FinSi

La condición debe ser una expresión lógica, que al ser evaluada retorna Verdadero o Falso.

La cláusula Entonces debe aparecer siempre, pero la clausula Sino puede no estar. En ese caso, si la condición es falsa no se ejecuta ninguna instrucción y la ejecución del programa continúa con la instrucción siguiente.

Page 34: Clase 1. Algoritmos y Programas Doc

Condicional Múltiple

Si anidado.- Expresa un condicional simple dentro otro condicional.

Page 35: Clase 1. Algoritmos y Programas Doc

Ejemplo 3

Cierta Institución Financiera para otorgar un préstamo hipotecarios requiere que sus clientes cumplan con los siguientes criterios:

1. La cuota mensual no debe exceder del 35% de los ingreso neto mensual(Ingresos – Gastos mensuales).

2. Monto del préstamo no sea mayor del 80% de la tasación del bien inmueble de garantía.

Page 36: Clase 1. Algoritmos y Programas Doc

Ejemplo 4

Solicite al usuario un número de 4 cifras y determine si es un número de valor simétrico (De derecha a izquierda como de izquierda a derecha representa el mismo valor), ejemplo 2112.

Page 37: Clase 1. Algoritmos y Programas Doc

Ejemplo 5

Se dice que el cuadrado de cualquier número terminado en 5 se forma como el producto de las decenas y (decenas+1), añadiendo a la derecha del resultado el 25. Si el número es menor que 100 se calcula fácilmente con la tabla de multiplicar como se muestra en los ejemplos:

1) 252, la decena es 2 multiplicado por 3 que es la (decena +1), se añade a la derecha 25 y su resultado es 625.2) 852 se calcularía como 8×9=72, añadiendo el complemento el resultado es 7225.

Page 38: Clase 1. Algoritmos y Programas Doc

Ejemplo 6

En un circuito eléctrico hay tres interruptores, los cuales pueden estar en estado cerrado(1) o abierto(0). Para que un equipo funcione, se requiere que al menos dos estén cerrados. Si los datos son el estado de los interruptores, determine si el equipo funcionará.

En un circuito eléctrico hay tres interruptores, los cuales pueden estar en estado cerrado(1) o abierto(0). Para que un equipo funcione, se requiere que al menos dos estén cerrados. Si los datos son el estado de los interruptores, determine si el equipo funcionará.

Page 39: Clase 1. Algoritmos y Programas Doc

Ejemplo 7

Considerando el ejemplo 2, determine la base con diagonal de menor distancia y determine si pudiera atravesar por un orificio circular de diámetro dado.

Page 40: Clase 1. Algoritmos y Programas Doc

Ejemplo 8

Cierta Casa Comercial ha establecido como política de descuento un % asociado al monto de la venta antes de impuesto.

Inicio Fin % Descuento

0 150

150 300 5

300 500 10

500 En adelante 15

Escriba un DFD que se utilice para determinar el valor total a pagar en una transacción de venta de producto. Considere el cálculo del descuento e IVA.

Page 41: Clase 1. Algoritmos y Programas Doc

Ejercicio 1

Fracción Básica

Exceso Hasta

Impuesto a la Fracción Básica

%Impuesto a la

fracción excedente

0 10180 0  10180 12970 0 5%12970 16220 140 10%16220 19470 465 15%19470 En Adelante 855 25%

Para el cálculo del Impuesto a la Renta se ha definido la siguiente tabla, considerando Fracción Básica es resultado de Ingresos – Gastos en el año.Escriba un DFD que permita determinar el Impuesto a la Renta dado los datos de ingresos y gastos anuales.

Page 42: Clase 1. Algoritmos y Programas Doc

Referencias Bibliográficas

Texto Guía: Fundamentos de Programación, Autor

Luis Joyanes 4ª edición.