MODULO SOBRE PROGRAMACION MATLAB

Documentos relacionados
MÓDULO SOBRE PROGRAMACIÓN MATLAB

MÓDULO SOBRE PROGRAMACIÓN MATLAB

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Programación MATLAB: Programas y Funciones.

Lección 3 Sentencias de control

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

CLASIFICACION DE LAS ESTRUCTURAS DE CONTROL

TEMA 4. ESTRUCTURAS DE CONTROL

ESTRUCTURAS DE CONTROL

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Sentencias de Procesamiento Iterativo: while y do-while

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Operadores aritméticos

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

Universidad Autónoma del Estado de México Facultad de Medicina

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

Operaciones aritméticas

Al igual que las instrucciones alternativas, las instrucciones repetitivas también se pueden anidar, permitiendo las siguientes combinaciones de

Programación: Estructuras de Control

Etapas en la solución de un problema

Programación Estructurada

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

PHP: Lenguaje de programación

Actividad. Un lenguaje gráfico en el entorno educativo que permite representar la lógica de un diagrama de flujo es Flowol.

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

1. PRINCIPIOS BÁSICOS DE PROGRAMACIÓN

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Estructuras Repetitivas

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Estructuras de Control

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Guía práctica de estudio 05: Pseudocódigo

Estructuras de control

Introduccion a la Programacion. Pablo Sevilla Jarquin

INTRODUCCIÓN. Diagrama de flujo:

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

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

ESTRUCTURAS DE CONTROL

Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1

Lógica de programación

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

PRESENTACIÓN DEL ALGORITMO

RECORDAR TIPOS DE DATOS

Tema 2. Concepto de Algoritmo

ESTRUCTURA DE ASIGNACIÓN

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

Tema#2. Tipos de Datos 10

Herramientas computacionales para la matemática MATLAB: Estructuras de control

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

Estructuras de Decisión Simples y Dobles. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Tema 7: Programación con Matlab

FACULTAD DE INGENIERIA

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Examen de Conocimientos sobre Algoritmos para el Ingreso a la Licenciatura en Ingeniería en Software GUÍA PARA EL SUSTENTANTE

Introducción a la Informática Estructuras de control repetitivas

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

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

Programación en java. Estructuras algorítmicas

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 2. Acciones Primitivas.

Operadores de comparación

Estructuras de Control 3

Programación Orientada Objetos. Estructuras de control if, If else, switch

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación. Test Autoevaluación Tema 4

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

REFERENCIA DEL LENGUAJE

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

Diseño Estructurado de Algoritmos

Ficha de Aprendizaje N 13

Fundamentos de Programación Visual Basic

Sentencias de control. Condiciones

Curso de Java Introducción a la Programación III

Estructuras de Control

Variables, expresiones y sentencias

LENGUAJE DE PSEUDOCÓDIGO

PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL. MILTRONICS CNC MACHINES Control Centurion 7. Ing. Roberto Spicacci

UNIDAD II: ESTRUCTURAS SECUENCIALES

Transcripción:

2 2 MODULO SOBRE PROGRAMACION MATLAB ESTRUCTURAS DE DECISION OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de: Utilizar proposición if para que ejecute una expresión si la condición es verdadera Utilizar estructura if para ramificar a un conjunto de proposiciones basandose en una condición Utilizar estructura if en forma anidadas para ramificar a un conjunto de proposiciones basandose en una condición Utilizar estructura if if en forma anidadas para ramificar a un conjunto de proposiciones basandose en una condición Utilizar ciclos con los condicionales if aritmético e if lógica Escribir los operadores lógicos correlacionandolos con expresiones relacionales Escribir expresiones lógicas INTRODUCCION En el módulo 1: Matlab elemental, se definen y analizan las proposiciones y operadores (aritméticos y lógicos) para poder escribir programas sencillos en Matlab, los cuales consistian en un número reducido de instrucciones que se ejecutaban secuencialmente en orden en el que aparecian en el listado del programa; esto es conocido como ejecución secuencial Una computadora no solo ejecuta instrucciones de forma secuencial fuera así, sería una calculadora de bolsillo Una computadora puede tomar decisiones basadas en pruebas especificas En otras palabras, depio del valor de una o varias variables especificas, cuando el programa es ejecutado, las decisiones pueden dar como resultado que una parte u otro del programa siga ejecutándose Las proposiciones que admiten las pruebas de decisión modifican el control dentro del programa Un concepto relativo es la capacidad que tienen las computadoras para ejecutar automaticamente un grupo de instrucciones una y otra vez, de manera repetitiva Esto es llamado un ciclo( o bucle) de programa En éste módulo estudiaremos las proposiciones en Matlab que alteran el control del programa, que son instrucciones cuyo resultado es una ejecución no secuencial de un conjunto de proposiciones Distinguiremos dos categorias de instrucciones: 1 Instrucciones de repetición -1-

2 Instrucciones de transferncia condicional PROPOSICION if lógica El if lógica es una proposición de transferencia condicional que evalúa una variable o una expresión aritmética y transfiere a una de las proposiciones asignadas, si la condición es verdadera o falsa La forma general para la proposición if lógica es: if expresión lógica Proposición ejecutable X <? La ejecución de la proposición if ocurre en el orden siguiente: 1 La expresión lógica se evalúa verdadera o falsa 2 la expresión lógica es verdadera, se efectúa la proposición ejecutable la proposición es de asignación (o cualquier otra permitida), se ejecuta proposición y el programa continúa con la primera proposición ejecutable despues de la if lógica 3 la expresión lógica es falsa, la corrida prosigue con la primera proposición ejecutable, luego de la if lógica El siguiente programa ejemplo ilustra el uso de esta proposición if EJEMPLO 21 USO CORRECTO DE UNA PROPOSICION if Considérese una situación donde el valor asignado a Y está en función del valor de N y el valor de Z= Y 2 Cuando N es menor o igual 2, Y es igual X N es mayor que 2, Y es igual 2 a 2X En uno u otro caso, Z debe tener un valor igual a Y Con los valores previamente definidos de N y X, el siguiente programa lo ayudará a analizar el uso de la proposición if lógica N<=2 N>2? Y=X Y=2X X=input( valor de X= ) N=input( valor de N= ) if N <= 2 Y=X; if N> 2 Y=2*X; Y,Z Z= Y 2-2-

ANALISIS: De acuerdo al diagrama de flujo, obsérvese que el simbolo de rombo se usa para la proposición if, pero solo dos trayectorias son necesarias para la ramificación Una ruta se identifica con un o verdadero, indicando la trayectoria lógica cuando la expresión lógica es verdadera, mientras que la otra se manifiesta con un o falso, señalando la ruta cuando la expresión es falsa Pueden usarse otras técnicas para alcanzar el mismo objetivo La fig 1 emplea una proposición if lógica y la fig 2 usa un if aritmético para tomar la decisión básica Fig 1 Algoritmo con if lógico Y=2X N 2 Y=X N=input( Valor de N= ) X=input( Valor de X= ) if N<=2 Y=X; Y=2*X; Z=Y 2 Y=2X N-2? Y=X N=input( Valor de N= ) X=input( Valor de X= ) if (N- 2) < 0 Y=X; Y=2*X; Z=Y 2 Fig 2 Algoritmo con if aritmético -3-

La fig 3 muestra un diagrama de flujo del uso incorrecto de la proposición if lógica para el programa Ejemplo 1: N 2 Y=2X Y= X N=input( Valor de N= ) X=input( Valor de X= ) if N<=2 Y=X; Y=2X; Y=2*X; Z= Y 2 Fig 3 Uso incorrecto de una proposición if lógica para el Ejemplo 1 CICLOS CON LA PROPOSICION if ARITMETICO La fig 4 contiene el segmento de programa para éste método Se inicializa un contador entero, N con un valor de 10 y a delta se le asigna su primer valor de 10 Se ejecuta la secuencia de operaciones la primera vez El valor de N se incrementa en 2 con N=N+1 La proposición if aritmética se ejecuta con N=2 y ya que N-2 es igual a cero se(proposición if es verdadera) hace la transferencia a la proposición que le asigna a delta un valor de 01 El valor de N se incrementa una vez más en 2 con N=N+1 Se ejecuta la proposición if aritmético con N=3 y a causa de que la expresión aritmética N-2 es mayor que cero(proposición if es falsa), la secuencia del programa continúa N=1 Delta=1 N= N+1 N-2? N =1; Delta = 1; N = N+1; if (N-2) == 0 Delta = 01; -4-

JERARQUIAS DE OPERACIONES RELACIONALES EN LAS EXPRESIONES LOGICAS En una expresión lógica, como: A + B > C/D^3 primero se evalúan las expresiones aritméticas de uno y otro lado del operador relacional Luego se hace la comparación de la relación entre los dos valores En una expresión que incluye alguno de los operadores & y (AND y OR) como: A + B > C & D < F/67 Las expresiones aritméticas son las primeras que se evalúan, de izquierda a derecha Luego se hace la comparación de cada expresión relacional, de izquierda a derecha Después se hace la comparación con el operador lógico & y una expresión contiene los operadores lógicos & y, las expresiones aritméticas son las primeras que en evaluarse, de izquierda a derecha Después se hace la comparación en cada expresión relacional, de izquierda a derecha, luego se hace la comparación & y al final la comparación (OR) Asi la expresión: A > B C < D & D == 76 tiene el mismo valor lógico que: A > B ( C < D & D == 76) Si se incluye más de un operador & u, se hacen todas las comparaciones & de izquierda a derecha, después se hacen todas las comparaciones de izquierda a derecha Asi la expresión: A > B & B == 75 D ~= E & C > F A ~= G es equivalente a : (( A > B & B == 75 ) ( D ~= E & C > F )) A ~= G Un resumen de la jerarquia de operaciones relacionales y lógicas puede enunciarse en cinco niveles: 1 Paréntesis 2 Evaluación de expresiones aritméticas 3 Comparación con operadores relacionales, de izquieda a derecha 4 Confrontación con el operador lógico &, de iquierda a derecha 5 Comparación con el operador l (OR), de izquierda a derecha Una proposición if ( aritmética o lógica) en un programa indica una decisión importantepor tanto, es de utilidad un comentario explicativo ESTRUCTURAS if Las limitaciones de los procedimientos que se analizaron anteriormente, pueden mejorarse mediante el uso de estructuras if, las cuales consisten en dos o más bloques o conjunto de proposiciones ordenadas de manera que puedan realizar procesos de ramificación más complejos Estas ramificaciones, aunque tienen caracteristicas similares a las de la proposición if lógica, proporcionan más flexibilidad al programador -5-

ESTRUCTURAS if Si la expresión lógica es falsa, de inmediato el control se pasa a la proposición que sigue a Las proposiciones del conjunto 3 se ignoran En caso de que la expresión lógica es verdadera, se realiza el conjunto de proposiciones 3 y se transfiere el control a la proposición que sigue a La forma general de la proposición if es: if (expresión lógica) Conjunto de proposiciones 3 EJEMPLO 22 USO DE LA PROPOSICIÓN if Calcule la raíz cuadrada de 45 Escriba en la línea de comando de Matlab: A = 45; if A>0 Raiz = A^05; Raiz La salida es: Raiz = 21213 ESTRUCTURA if La estructura if, permite al programador controlar el flujo lógico reducio al mínimo el número de transferencias La forma genérica de la estructura if es: if (expresión lógica ) Conjunto de proposiciones 1 Conjunto de proposiciones 2 En esta estructura, la expresión lógica if es identica a la que se usa en la proposición if lógica Los conjuntos de proposición 1 y 2 por lo general consta de una o más proposiciones la expresión lógica es verdadera, el control se pasa a la primera proposición del conjunto 1 y se ejecutan las proposiones entre if y Cuando se termina -6-

la ejecución de las proposiciones del conjunto 1, el control se transfiere a la proposición que sigue a la proposición Las proposiciones del conjunto 2 se ignoran Sin embargo, si la expresión lógica es falsa, las proposiciones del conjunto 1 no se toman en cuenta y el control se pasa a la primera proposición del conjunto 2 Cuando finaliza la ejecución de estas proposiciones, el control se transfiere a la que sigue a la proposición La flexibilidad de la estructura if se ilustra con el cálculo de la raiz cuadrada de la diferencia de dos números, que se muestra en el siguiente programa Ejemplo 23: EJEMPLO 23 Asigne los siguientes valores para A= -32 y B= 78; A= input( Introduzca el valor de A= ) B= input( Introduzca el valor de B= ) if (A-B) >= 0 Raiz = (A-B)^05; fprintf ( La raiz real de (A-B) es %75f\n,Raiz) Raiz =(B-A)^05; fprintf( La raiz cuadrada imaginaria de A-B es %73f\n,Raiz) USO DE LA ESTRUCTURA if ESTRUCTURAS if anidadas Las estructuras if anidadas pueden colocarse en cualquier conjunto de proposiciones de otra estructura if mediante un procedimiento conocido como anidamiento La forma genérica para anidamiento de dos estructuras if es la siguiente: if (expresión lógica) Conjunto de proposiciones 4 if (expresión lógica) Conjunto de proposiciones 5 Conjunto de poposiciones 6 Conjunto de proposiciones 7-7-

En éste módelo genérico, la ejecución se inicia con la primera proposición if lógica, la primera de la estructura if externa la expresión lógica de esta proposición es verdadera, se realizan las proposiciones del conjunto 4, luego se hace una transferencia de control a la primera proposición ejecutable después del último la expresión lógica es falsa, las proposiciones del conjunto 4 se ignoran y el control se pasa a la proposición que sigue al primer que, en esta forma general, es la if lógica de la estructura if interna La ejecución de la estructura if interna ocurre de manera normal y el control de modo eventualmente se transfiere a la primera proposición del conjunto 7 Cuando termina la ejecución de las proposiciones del conjunto 7, el control se transfiere a la primera proposición ejecutable después del último El siguiente programa ejemplo 24 muestra el uso de esta variedad de estructura if en un programa muy sencillo EJEMPLO 24 Asignéle a A y B los valores dados en el recuadro: A = input( Valor de A= ) B = input( Valor de B= ) if A== 0 A B disp( Elcociente de Bdividido entre A es indefinido ) 3 3 if B< A disp( El cociente de B dividido entre A es menor que 1 ) if (A B) >= 0 disp( El cociente de B dividido entre A es 1 ) disp( El cociente de B dividido entre A es mayor que 1 ) USO DE LA PROPOSICIÓN if anidadas La salida del programa es: El cociente de B dividido entre A es 1 El cociente de B dividido entre A es mayor que 1 El cociente de B dividido entre A es menor que 1 El cociente de B dividido entre A es indefinido -8-

ESTRUCTURA if if anidadas Pueden obtenerse mejoras adicionales mediante la proposición if de una estructura if interna para iniciar una estructura if externa La forma general de la estructura if anidadas utilizando la proposición if es: if (expresión lógica) Conjunto de proposiciones 8 if (expresión lógica) Conjunto de proposiciones 9 Conjunto de proposiciones 10 En esta forma general, si la expresión lógica de la estructura if externa es verdadera, se lleva a cabo las proposiciones del conjunto 8 y el control se transfiere a la siguiente proposición ejecutable, después de la expresión lógica de la estructura if externa es falsa, las proposiciones del conjunto 8 se ignoran y el control se pasa a la proposición if La primera del if interno La estructura if interna se ejecuta en la forma normal, utilizando la proposición externa para terminar su ejecución El siguiente programa Ejemplo 25 muestra el uso de esta variedad de estructura if if anidadas EJEMPLO 25 USO DE LA PROPOSICIÓN if if Asignéle a A los valores siguientes: [35 69 124 50 10] A =input( Valor de A= ) if A < 5 & A > 0 fprintf( \n %53f Es menor que 5 pero mayor que 0\n,A) if A< 10-9-

fprintf( \n %53f Es menor que 10 pero mayor que o igual a5\n,a) fprintf( \n %53f Es mayor que o igual a 10\n,A) EJEMPLO 26 Incremento del valor de una variable con un ciclo contador de ciclo clear,clc % Este programa calcula el perimetro y el area % de un ciculo para diferentes valores sucesivos % del diámetro Diam = [1:05:3]ʹ; N =0; Circun = pi*diam; Area = pi*(diam/2)^2; N = N+1; disp( ʹ RESULTADOS FINALESʹ ) disp(ʹ N Diam Circun Area ʹ) disp( [ N, Diam, Circun, Area]) RESULTADOS FINALES N Diam Circun Area 1 1000 31416 07854 2 1500 47124 17671 3 2000 62832 31416 4 2500 78540 49087 5 3000 94248 70686 Otra forma de resolver el problema del circulo es adicionar una variable contadora LVAL en el programa Se proporcionan dos valores en cada arreglo, el segundo valor en todos salvo, en el último arreglo, es cero Mientras que el valor asignado a LVAL es cero, las repeticiones continúan En el último arreglo se da a LVAL un valor mayor que cero Cuando LVAL es mayor que cero, se hace la transferencia a la proposición break El siguiente programa Ejemplo 7 ilustra éste método: -10-

INICIO Abrir Archivo De datos Encabezado de columnas Diam LVAL Circun = pi(diam) Area = pi(diam/2)^2 LVAL,Diam,Circun, Area EJEMPLO 27 USO DE LA VARIABLE CONTADORA % Este programa calcula el perimétro y % el área de un circulo clear,clc Diam = [1:05:3]ʹ; LVAL = [0 0 0 0 1]ʹ; % Comienza el conteo N= 0; % Perimetro del circulo Circun = pi*diam; % Area del circulo Area = pi*(diam/2)^2; % Comienza el primer conteo N = N + 1; % Encabezados de columnas disp(ʹ RESULTADOS FINALESʹ) disp(ʹ LVAL Diam(cm) Circun(cm) Area(cm2) ʹ) disp ([LVAL,Diam,Circun,Area]) % Decision if logica if LVAL >0 break LVAL >0 FIN RESULTADOS FINALES LVAL Diam(cm) Circun(cm) Area(cm2) 0 10000 314159 785398e00-1 0 15000 471239 1767147 0 20000 628318 3141594 0 25000 785398 4908741 1 30000 942478 7068586-11-