Upload
betocm911
View
19
Download
0
Embed Size (px)
DESCRIPTION
Algoritmos y Programas
Citation preview
Programación Estructurada
Dalton Noboa M.
Abril 2015
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
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.
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.
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.
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
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”.
ALGORITMO
Entrada Procesamiento Salida
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
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.
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
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
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:
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.
Tabla Depreciaciones:
Datos Entrada
ProcesoSalida Esperada
Programas & Lenguaje de Programación
Tipos de Lenguajes de programación
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.
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.
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.
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.
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
Programación Estructurada
Estructuras de Control:- Secuenciales- Selectivas- Iterativas
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.
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)
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.
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
Estructuras de Control (2) Repetitivas.-Son aquellas que repiten una
secuencia de instrucciones un número determinado de veces se denominan bucles.
Flujograma
Objetivos:Desarrollo de la lógica en la resolución de problemas mediante aplicación de algoritmos.
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.
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.
Ejemplo 2
Lea las tres dimensiones de un bloque rectangular. Encuentre las tres diagonales de sus caras diferentes.
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.
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.
Condicional Múltiple
Si anidado.- Expresa un condicional simple dentro otro condicional.
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.
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.
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.
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á.
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.
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.
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.
Referencias Bibliográficas
Texto Guía: Fundamentos de Programación, Autor
Luis Joyanes 4ª edición.