Informática II Objetivos de la Asignatura • Ampliar y profundizar las habilidades en programación y algoritmia mediante la puesta en práctica de métodos numéricos, así como adquirir dominio del manejo de la interfaz gráfica del usuario. 1 Contenido de la Asignatura • Tema 1. El cálculo de errores. • • • • Sistemas numéricos y cambios de base Representación numérica de datos en el computador Errores de cálculo en el computador. Interfaz gráfica: Formas, etiquetas, botones, cuadros de texto • Tema 2. Interpolación • • • • • Interpolación lineal Fórmula de interpolación de Lagrange Interpolaciones de Newton hacia delante y hacia atrás. Extrapolaciones Interfaz gráfica: El uso de menús. • Tema 3. Solución de ecuaciones no lineales • • • • • • Método de la bisección Método de Newton Método de la secante. Método de sustitución sucesiva Método de Regula Falsi Interfaz gráfica: Uso de ListBox, ComboBox Contenido de la Asignatura • Tema 4.- Integración numérica. • Regla del trapecio • Reglas de Simpson ( 1/3 y 3/8 ) • Fórmulas de Newton-Cotes • Cuadraturas de Gauss • Interfaz gráfica: el objeto manejador de directorios y el manejo de archivos secuenciales • Tema 5.- Algebra lineal numérica. • • • • • • Manejo de matrices en Visual Basic Eliminación de Gauss y Gauss-Jordan Pivoteo y eliminación canónica de Gauss. Inversión de matrices. Descomposición LU. Solución de N ecuaciones con M incógnitas. 2 Plan de Evaluación − − − − Parcial 1 ( Tema 1 – Tema 3 ) 25 % Parcial 2 ( Tema 4 - Tema 5 ) 25 % Quices, talleres y Asignaciones 30 % Proyecto Final 20 % Plan de Evaluación • Quices − − − − Teóricos Cortos Max. 30 Min. Materia hasta la clase anterior No anunciados 3 Plan de Evaluación • Talleres − − − − − Prácticos En parejas Las 2 horas de laboratorio Materia hasta la clase anterior En cada sesión de laboratorio Plan de Evaluación • Asignaciones − En parejas − Código y/o Algoritmos 4 Plan de Evaluación • Reglamento Interno − Puntualidad − Prohibido uso de Celulares − Prohibido Ingresar con Alimentos Repaso Informática I • Resolución de Problemas Planteamiento Del Problema Diseño del Algoritmo Desarrollo De Programa Ejecución y Validación ¿Qué es un Algoritmo? 5 Repaso Informática I • Algoritmo Definición 1 (Diccionario): El término algoritmo es un procedimiento o fórmula para resolver un problema. La palabra se deriva del nombre del matemático árabe Al-Juarismi (825 DC) Repaso Informática I • Algoritmo − Todo Algoritmo debe: • Ser Preciso • Estar definido • Ser Finito ¿Heurística? Definición 2: Consiste en una secuencia ordenada y finita de pasos que conducen a la solución de un problema. 6 Repaso Informática I • Heurística • Todo Heurística: • Reglas simples • Rapidez • Sub-optimalidad Definición: La palabra "heurística" se deriva del verbo griego heuriskein, que significa "encontrar" o "descubrir" y consiste en la utilización de reglas prácticas que arrojan buenas soluciones subóptimas. Repaso Informática I TSP (Traveling Salesman Problem) 10 Alternativa 1: 1339 11 160 9 Total Soluciones= (n-1)! 39.916.800 12 Para 100 Nodos= 8 1 9,33x10+155 7 2 5 6 3 4 7 Repaso Informática I Diseño de Algoritmos Diseño de un Algoritmo Diseño descendente Refinamiento por Pasos •Diagrama de flujo •Pseudocódigo •Diagrama N-S Codificación Repaso Informática I Diseño de Algoritmos Reglas a seguir • Debe consistir en una serie de pasos hasta obtener un resultado coherente. • Sólo se puede ejecutar un paso a la vez 8 Repaso Informática I Diseño de Algoritmos SÍMBOLO FUNCIÓN Terminal SÍMBOLO FUNCIÓN Decisión Múltiple Entrada/Salida Proceso Decisión Conectores Línea de Flujo Línea Conectora Ejemplo 1: •Diseñar un algoritmo que calcule las raíces reales de un polinomio de 2do grado por el método de la resolvente. − b ± b 2 − 4a ⋅ c 2⋅a 9 Ejemplo 1: • Diseño Descendente 1) 2) 3) 4) Solicitar Coeficientes Chequear si hay raíces reales Calcular Raíces Mostrar Raíces − b ± b 2 − 4a ⋅ c 2⋅a Ejemplo 1: • Refinamiento Por Pasos 1) Solicitar Coeficientes A. Solicitar a B. Solicitar b C. Solicitar c 2) Chequear si hay raíces reales − b ± b 2 − 4a ⋅ c 2⋅a A. Calcular b2 −4a⋅ c y asignárselo a variable DISC B. Si DISC < 0 Mostrar Raíces no Reales FIN C. Si DISC >= 0 ir a paso 3 3) Calcular Raíces A. Calcular (–b + DISC)/(2a) y asignárselo a Raiz1 B. Calcular (–b - DISC)/(2a) y asignárselo a Raiz2 4) Mostrar Raíces A. Mostrar Raíz1 y Raíz2 10 Inicio Solución: Leer a,b, c DISC← b2-4a*c DISC<0 Si No Raiz1 ←( -b + DISC )/2a Raiz2← (-b - DISC )/2a Escribir ”Raíces no Reales” Escribir Raiz1, Raiz2 Fin Ejemplo 2: •Diseñar un algoritmo que calcule y muestre la suma del valor absoluto de dos números. Ejemplo: Si a=-2 y b=3 entonces |a| + |b| = 5 Nota: No debe usar la función ABS 11 Repaso Informática I • Visual Basic − Basic (Beginners All-Purpose Symbolic Instruction Code) − Visual (Graphical User Interface) Repaso Informática I • Variable: − Una variable es un objeto cuyo valor puede cambiar durante el desarrollo de un algoritmo o la ejecución de un programa. 12 Tipos de Datos • Numéricos − − • Reales Integer 216 Bits con Signo Desde -32768 Hasta 32767 Long 232 Bits con Signo Desde -2.147.483.648 Hasta 2.147.483.647 Single 232 Bits Punto Flotante -3.4028235E+38 Hasta -1.401298E-45 1.401298E-45 Hasta 3.4028235E+38 Double 264 Bits con Signo -1.79769313486231570E+308 Hasta -4.94065645841246544E-324 4.94065645841246544E-324 Hasta 1.79769313486231570E+308 Lógicos − • Enteros Booleanos Boolean Verdadero (True) O Falso (False) Caracter − Cadena String Hasta 65535 caracteres Repaso Informática I Operadores Aritméticos OPERADOR SIMBOLO VBASIC PRIORIDAD Exponenciación ^ 1 Cociente y Producto /,* 2 Cociente Entero \ 3 Módulo de División Entera mod 3 Suma y Resta +,- 4 Paréntesis de Prioridad () 13 Repaso Informática I Ejemplo 3: ¿Cuál será el resultado de evaluar la siguiente expresión Aritmética 1.2 Algoritmica? 1.1 12 24 6 * 3 − 6^ 2 + 6 / 2 + (−12 + 6 * 4) 3 18 2 36 4 3 1 12 18 – 36 + 3 + 12 = - 3 Repaso Informática I Operadores Relacionales Operadores Lógicos < Menor Que Not NO > Mayor Que And Y(Conjunción) = Igual a Or O(Disyunción) <= Menor o Igual que Xor O(Exclusivo) >= Mayor o Igual que <> Diferente a 14 Ejemplo: Valor X Valor Y Operador Expresión Resultado 2 2 > x>y Falso 2 3 < x<y Verdadero 3 3 = x=y Verdadero 3 3 <= x<=y Verdadero 2 4 >= x>=y Falso 4 5 <> x<>y Verdadero 2 2 Not Not(x>y) Verdadero 3 2 And (x<4) and (y<x) Verdadero 3 2 Or (x<4) or (y<4)) Verdadero 3 2 Xor (x<4) Xor (y<4)) Falso Repaso Informática I Bifurcación (If, Else) • Simple: Si…Entonces • Doble: Si…Entonces…Sino…Finsi • Anidada: Si…Ent…SinoSi…Ent…Sino…Finsi Simple Doble Si Anidada No Si No Si No Si 15 Ejemplo 1: •Diseñar un algoritmo que calcule las raíces reales de un polinomio de 2do grado por el método de la resolvente. − b ± b 2 − 4a ⋅ c 2⋅a En Visual Basic Inicio Solución: Imput, ImputBox, TextBox Leer a,b, c DISC← b2-4a*c DISC<0 DIM DISC, b,a,c as Single Si IF, Else No Raiz1 ←( -b + DISC )/2a Raiz2← (-b - DISC )/2a Escribir Raiz1, Raiz2 Escribir ”Raíces no Reales” Print, Msgbox Print, Msgbox Fin 16 Repaso Informática I Ciclos (Estructuras Repetitivas) • Hacer Mientras/Regresar (Do While/Loop) • Hacer/Regresar Hasta (Do/LoopUntil) • Ciclo Desde Siguiente (For/Next) Hacer Mientras/Regresar Hacer/Regresar Hasta Ciclo Desde (Do While/Loop) (Do/LoopUntil) Siguiente (For/Next) Inicio Inicio Mientras CONDICION Inicio Fijar Valor Inicial y Final de Índices Sí SubRutina Variable Índice Sí >Valor Final No SubRutina Hasta CONDICION No SubRutina Fin Fin Inicio 17 Hacer Mientras/Regresar Hacer/Regresar Hasta Ciclo Desde (Do While/Loop)* (Do/LoopUntil) Siguiente (For/Next)* Inicio Inicio Mientras CONDICION Inicio Fijar Valor Inicial y Final de Índices SubRutina Desde x Hasta y SubRutina Hasta CONDICION SubRutina Fin Fin Inicio *Representación Simplificada Ejemplo 5: •Diseñar un algoritmo que sume los números pares comprendidos entre 4 y 100 18 Ejemplo 5: • Diseño Descendente 1) Inicializar variables SUMA y NUM 2) Sumar los pares entre 4 y 100 3) Mostrar Resultado Ejemplo 1: • Refinamiento Por Pasos 1) Iniciarlizar Variables SUMA y NUM A. SUMA = 2 B. NUM = 4 2) Sumar los pares entre 4 y 100 A. B. C. D. Iniciar bucle desde 4 hasta 100 Sumar SUMA y NUM y Asignárselo a SUMA Incrementar NUM en 2. Si NUM > 100 ir a paso 3 3) Mostrar Resultado A. Mostrar SUMA 19 Solución: Inicio En Visual Basic SUMA←2 NUM ←4 SUMA=2 NUM=4 Mientras Num<=100 Do While NUM<=100 SUMA← SUMA+NUM SUMA=SUMA+2 NUM← NUM+2 NUM=NUM+2 Escribir SUMA Print, Msgbox Fin Repaso Informática I A Repasar: • Algoritmia • Variables, Tipos de Datos • Operadores Aritméticos, Lógicos y Relacionales • Bifurcaciones (Condicionales) • Bucles (Ciclos) 20