Estructuras de control. Secuencial, condicional y repetitivas.



Documentos relacionados
Introducción a las sentencias de control

Algoritmos y Diagramas de flujo

CAPITULO III: METODOLOGIA. En el presente capítulo se describirá el conjunto de pasos a seguir para lograr el

Estructuras de control

Etapas para la solución de un problema por medio del computador

descripción del argumento identificador tipo longitud condición restricción

Ecuaciones. 3º de ESO

Complejidad de Algoritmos

LABORATORIO 4. Escribir el CÓDIGO y la INTERFAZ GRÁFICA (cuando proceda) de los correspondientes casos prácticos.

Complementos de Matemáticas, ITT Telemática

Análisis de problemas

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE

4. Método Simplex de Programación Lineal

Diagramas de Flujo Programación Estructurada. Diagramas de Flujo y Pseudocódigo

GUÍAS. Módulo de Razonamiento cuantitativo SABER PRO

Conocimientos previos

Programación de los problemas de Física en.

Capítulo 3. Prueba de escritorio 1: l a P S Salida por pantalla 1. Prueba de escritorio 2: l a P S Salida por pantalla 2 35

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO

Tema 2: Introducción a los algoritmos

INSTITUTO SUPERIOR DE FORMACIÓN TÉCNICA Nº 177

TEMA 2: EL INTERÉS SIMPLE

Ecuaciones de segundo grado

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE

Excel - Fórmulas y Funciones

1. Algoritmo, Pseudocódigo, Diagramas de flujo.

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

DIAGRAMAS DE FLUJOS. Qué son Los Diagramas de Flujo y Para qué se Usan?

Expresión, Operador, Operando, Asignación, Prioridad

Anexo C. Introducción a las series de potencias. Series de potencias

Prof. Dr. Paul Bustamante

Optimización en Ingeniería

Estructuras de control

Operando1 operador de relación Operando2

GUIA DE TRABAJO Materia: Matemáticas Guía # 26A. Tema: Máximo común divisor. Fecha: Profesor: Fernando Viso Nombre del alumno: Sección del alumno:

CAPÍTULO 3: DETERMINANTES Y SISTEMAS DE ECUACIONES

Capítulo 1. Algoritmos, diagramas de flujo y programas.

UNIDAD I. ALGORITMOS

1. Conocimientos previos. 1 Funciones exponenciales y logarítmicas.

Límites e indeterminaciones

Pruebas de Acceso a las Universidades de Castilla y León

La ecuación de segundo grado para resolver problemas.

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL. ASIGNATURA Programación I. Básica ETAPA DE FORMACIÓN.

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema # 6. revisado

Cálculo científico y técnico con HP49g/49g+/48gII/50g Módulo 3: Aplicaciones Tema 3.2 Determinación aproximada de extremos: Método de Newton-Raphson

83 ESO. 6x 4. «La clave de todo es la paciencia. Un pollo se obtiene empollando el huevo, no rompiéndolo.»

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD

Lógica y compuertas (Parte 2): Circuitos Combinacionales y Secuenciales

Proposiciones Condicionales

Ejercicios resueltos de progresiones aritméticas

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

LENGUAJES DE PROGRAMACION I. Propósito del curso :

Flujo del programa. Este flujo puede alterarse mediante: El ordenador ejecuta cada sentencia y va a la siguiente hasta el final del programa.

Expresiones algebraicas

OPERADORES LÓGICOS JAVASCRIPT. EJEMPLOS. RELACIONALES MAYOR, MENOR, IGUAL, DISTINTO. AND, OR, NOT. CORTO- CIRCUITO (CU01117E)

5 DIVISIÓN DE POLINOMIOS. RAÍCES

Computación III. Objetivo de aprendizaje del tema

Dada la proporción =, calcula el producto de extremos menos el producto de medios. 4. Halla los determinantes de las siguientes matrices: Solución:

VALORES EXACTOS DE FUNCIONES TRIGONOMÉTRICAS (SENO Y COSENO)

TEMA 6 ECUACIONES DE PRIMER GRADO

Resolver ecuaciones de segundo grado con WIRIS

Objetivos: Al inalizar la unidad, el alumno:

Estructuras de control condicionales

PROGRAMACIÓN LINEAL ENTERA

Números primos y compuestos

, y efectuar la multiplicación 10000

Sistemas de Ecuaciones Lineales

CLASE 11 USO DE CONDICIONALES Y VECTORES

Tema 1 Sistemas de numeración

MATEMÁTICAS I SUCESIONES Y SERIES

Ejercicios resueltos de trigonometría

Ecuaciones de la recta

PRIMITIVAS ALGORITMICAS Y METODOS DE REPRESENTACIÓN DE ALGORITMOS

Select Case Visual Basic. Palabras clave To, Is. Instrucción Según (Caso) Hacer. Ejemplos y ejercicios resueltos (CU00325A)

La ayuda y referencia de Visual Basic y otros recursos como herramientas para los programadores. (CU00306A)

GUÍA DE LABORATORIO #4. SENTENCIAS DE CONTROL EN C: CICLO for, while y do while. Realizar programas en Lenguaje C aplicando for, while y do while.

UNA ECUACIÓN, SU GRADO Y SU SOLUCIÓN

Síntesis de controladores discretos

1.4 SISTEMAS HOMOGÉNEOS DE ECUACIONES. 36 CAPÍTULO 1 Sistemas de ecuaciones lineales y matrices

GUÍAS. Módulo de Razonamiento cuantitativo SABER PRO

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Polinomios. 1.- Funciones cuadráticas

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 04: Diagramas de flujo

TEMA 4. Tecnologías de la Información 1ºBachillerato IES Zurbarán (Badajoz)

Matemática => Cálculo 1 variable => Mensaje iniciado por: Unlimited en 19/01/2008, 07:16:54 pm

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Introducción. Reglas para dibujar un diagramas de flujo.

Hemos visto cómo resolver algunas ecuaciones con regla y compás, aunque nuestra herramienta recomendada por su eficiencia será, de nuevo, Geogebra.

Prof. Dr. Paul Bustamante

Algoritmos y estructuras de programación

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

p(b, n) =b n, (b Z, n N) Esta definición matemática, recursiva, proporciona el procedimiento computacional

Cada función polinomial genera distintas gráficas en el plano cartesiano. Hay casos especiales de la función polinomial general.

A continuación estudiaremos a qué se refiere el término «programación», qué es un lenguaje de programación y veremos alguna terminología propia de

Trabajo Práctico N 1: Números enteros y racionales

MICROSOFT ACCESS 2007

GUIA PRACTICA PARA LA APLICACIÓN DE MS EXCEL TECNOLOGIA/ INFORMATICA

Transcripción:

Estructuras de control. Secuencial, condicional y repetitivas. 1

Estructuras de control. Hemos visto en los diagramas de flujo y pseudo-código que: 1) Se piden datos de entrada (al usuario) Asiganción de valores a las variables 2) Se hacen cálculos con los datos introducidos por el usuario, guardando el resultado deseado en una variables asignaciones. 3) Devolver al usuario los resultados almacenados en variables En pantalla sentencia print. La programación Top-Down (Paradigma estructural) serie de líneas que se ejecutan una 2 tras otra

Estructuras de control. El flujo de ejecución del programa es estrictamente secuencial. No obstante a esta linealidad, es posible alterar este flujo de ejecución de órdenes para conseguir: 1) tomar decisiones a partir de los datos y/o resultados intermedios y, en función de éstas, ejecuten ciertas sentencias y otras no; 2) tomen decisiones a partir de los datos y/o resultados intermedios y, en función de éstas, ejecuten ciertas sentencias más de una vez. 3

Estructuras de control. El primer tipo de alteración se efectúa con sentencias condicionales o de selección. El segundo tipo con sentencias iterativas o de repetición. Las sentencias que permiten alterar el flujo de ejecución se engloban en las denominadas estructuras de control de flujo estructuras de control. 4

Estructuras de control: Sentencias condicionales Ejemplo, resolver cualquier ecuación de primer grado ax + b = 0, Empezamos contestando: 1. Cuáles son los datos del problema? Se piden al usuario, los coeficientes a y b son los datos del problema y son conocidos. 2. Qué deseamos calcular? será mostrado al usuario mediante un print. En este caso es el valor de x. 5

Estructuras de control: Sentencias condicionales Conociendo los datos de entrada y el resultado que hemos de calcular (datos de salida), Cómo calcular la salida a partir de la entrada? En el ejemplo: basta con despejar x de la ecuación: x se obtiene calculando b/a. Pasos: 1. Pediremos el valor de a y el valor de b (que supondremos de tipo flotante). 2. Calcularemos el valor de x como b/a. 3. Mostraremos por pantalla el valor de x. 6

Estructuras de control: Sentencias condicionales Nuestro procedimiento presenta un punto débil: cuando a vale 0, se produce un error de división b/0=? NAN, INF, sistema colgado etc En la medida de lo posible se debe tratar de evitar los errores en tiempo de ejecución, ya que: detienen la ejecución del programa y muestran mensajes de error poco comprensibles para el usuario. 7

La sentencia condicional if En el ejemplo, se deberá detectar si a vale cero para, en ese caso, no continuar con la ejecución del cálculo, para prevenir un error de ejecución La sentencia condicional o de selección quiere decir: <<Al llegar a este punto, ejecuta esta(s) acción(es) sólo si esta(s) condición(es) es (son) cierta(s)>> Este es el condicional IF (Si) 8

La sentencia condicional if if a!= 0: x = -b/a print Solución:, x Si introducimos a=0, b=1, no pasará nada, no ocurre error, pero el procedimento no producirá salida 9

La sentencia condicional if if a!= 0: x = -b/a print Solución:, x if a == 0: print La ecuación no tiene solución. 10

Sentencias condicionales anidadas IF (Condición) THEN IF (Condición) THEN IF (Condición) THEN 11

La sentencia condicional if Ejemplo: Un capital de C euros a un interés del x por ciento anual durante n años se convierte en en C (1 + x/100)n euros. Diseñar el pseudo código que solicite la cantidad C y el interés x y n y calcule el capital final sólo si x es una cantidad positiva. 12

ELSE En caso contrario (else): if condición: acciones if condición contraria: otras acciones 13

ELSE Este tipo de combinación es muy frecuente, hasta el punto de que se ha incorporado al lenguaje de programación una forma abreviada que significa lo mismo: if condición: acciones else: otras acciones Else Si no, en caso contrario, además 14

Una estrategia de diseño: refinamientos sucesivos Construir mentalmente un programa tan complicado es muy dificil, pero posiblemente sea porque sigues una aproximación equivocada: no debes intentar construir mentalmente todo el programa de una vez. Es recomendable: a) Primero haz una versión sobre papel que resuelva el problema de forma directa ( tosca) Utilizar datos concretos y hacer un esquema con el orden de las operaciones a realiza y las desiciones tomada 15

Una estrategia de diseño: refinamientos sucesivos b) Analiza tu diseño y considera si realmente resuelve el problema planteado: es posible que se cometan errores en tiempo de ejecución?, hay configuraciones de los datos que son especiales y, para ellas, el cálculo debe ser diferente? CASOS PARTICULARES c) Cada vez que te plantees una de estas preguntas y tengas una respuesta, modifica el procedimiento en consecuencia. No hagas más de un cambio cada vez. 16

Una estrategia de diseño: refinamientos sucesivos d) Si el procedimiento funciona correctamente para todas las entradas posibles y eres capaz de anticiparte a los posibles errores de ejecución, Felcidades!, Si no es el caso, regresa al paso b) e)asegurando que todo funciona correctamente, al teclear en el programa el mayor número de pruebas posibles, comprobando cuidadosamente que el resultado calculado es correcto. 17

Una estrategia de diseño: refinamientos sucesivos e) Presta especial atención a configuraciones extremas o o singulares de los datos (los que pueden provocar divisiones por cero o valores muy grandes, o muy pequeños, o negativos, etc.). Si el programa calcula algo diferente de lo esperado o si se aborta la ejecución del programa por los errores detectados, vuelve a paso b). 18

Una estrategia de diseño: refinamientos sucesivos Un error frecuente es tratar de diseñar el programa directamente sobre el ordenador, escribiéndolo a bote pronto. Es más, hay estudiantes que se atreven a empezar con la escritura de un programa sin haber entendido bien el enunciado del problema que se pretende resolver. Es fácil descubrirlos en falta: no saben resolver a mano un caso particular del problema. Una buena práctica, pues, es solucionar manualmente unos pocos ejemplos concretos para estar seguros de que conocemos bien lo que se nos pide y cómo 19 calcularlo.

Ejemplo Diseña un programa que, dados cinco números enteros, determine cual de los cuatro ultimos números es más cercano al primero. (Por ejemplo, si el usuario introduce los números 2, 6, 4, 1 y 10, el programa responderá que el número más cercano al 2 es el 1 Diseñelo para un número indetermidado de números 20

Estructuras de control: Sentencias condicionales Evaluación con cortocircuitos: La evaluación de expresiones lógicas es algo especial. Observa la condición de este if : if a == 0 or 1/a > 1: Puede provocar una división por cero? NO 21

Evaluación con cortocircuitos: if a == 0 or 1/a > 1: Si a vale cero, el primer término del or es 1. Como la evaluación de una or lógica de 1 con cualquier otro valor, es necesariamente 1, El programa no evaluará el segundo término y se ahorra así un esfuerzo innecesario. 22

Evaluación con cortocircuitos: Algo similar ocurre en este otro caso: if a!= 0 and 1/a > 1: Si a es nulo, el valor de a!= 0 es 0, así que ya no se procede a evaluar la segunda parte de la expresión. Al calcular el resultado de una expresión lógica, se evalúa (siguiendo las reglas de asociatividad y precedencia oportunas) lo justo hasta conocer el resultado: 23

Evaluación con cortocircuitos: cuando el primer término de un or es cierto, se acaba y devuelve directamente cierto y cuando el primer término de un and es falso, se acaba y devuelve directamente falso. Este modo de evaluación se conoce como evaluación con cortocircuitos. 24

Método de la iteración simple II: Segundo ejemplo: g(x)=5x-exp(x) Cúantas raices tiene? cuáles aboramos directamente con el método de la iteración simple? Cómo solucionamos las demás? 25

Pseudocódigo de la iteración simple 26

iteración simple II: primera raiz 27

Método de la iteración simple: Valor de la primera raiz: 28

iteración simple: Convergencia Divergencia 29