Fundamentos de Informática



Documentos relacionados
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Soporte lógico de computadoras

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

Tema 4: Estructuras de Control Estructura y Contenidos

Ejercicios Tema 3. Estructuras de Selección

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

Tema 7: Programación con Matlab

NÚMEROS NATURALES Y NÚMEROS ENTEROS

ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)

Capítulo 4 Procesos con estructuras de repetición

Práctica 4: Estructuras selectivas

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

PHP y MySQL. Indice: Switch Bucles For While do...while

Tema 2. Software. Informática (1º Ingeniería Civil)

3.2 Operaciones aritmético-lógicas en Pascal

Curso 0 de Informática

Introducción a la Computación TFA

no descompone no descompone no descompone

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASES # 13 y #14

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

Prácticas de Análisis Matricial con MATLAB

Selectividad Septiembre 2009 SEPTIEMBRE Opción A

Sistemas de numeración y aritmética binaria

Estructuras de Repetición Repita Mientras

Curso de Excel Avanzado

PRACTICA 6. VECTORES Y MATRICES.

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

Matrices: Conceptos y Operaciones Básicas

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

UNIVERSIDADES DE ANDALUCIA PRUEBAS DE ACCESO A LA UNIVERSIDAD. Miguel A. Jorquera

Álgebra Lineal Ma1010

3.8 Construcción de una ALU básica

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

ÁLGEBRA DE MATRICES. Al consejero A no le gusta ninguno de sus colegas como presidente.

Centro de Capacitación en Informática

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas

Matrices Invertibles y Elementos de Álgebra Matricial

Centro de Capacitación en Informática

CLASE # 5 TÉCNICAS DE CAJA BLANCA

POR QUÉ EL VALOR PRESENTE NETO CONDUCE A MEJORES DECISIONES DE INVERSIÓN QUE OTROS CRITERIOS? ( Brealey & Myers )

UNIVERSIDAD DE ATACAMA FACULTAD DE INGENIERÍA / DEPARTAMENTO DE MATEMÁTICA

EXPRESIONES ALGEBRAICAS. POLINOMIOS

Te damos los elementos básicos de los vectores para que puedas entender las operaciones básicas.

8. Sentencia return y métodos

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios. Álgebra y Matemática Discreta Sesión de Prácticas 1

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

Para dudas, comentarios escribe a: C BASICO

Vectores en R n y producto punto

Funciones definidas a trozos

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

LINUX - Los archivos de órdenes I

Instructivo de Microsoft Excel 2003

Ecuación ordinaria de la circunferencia

CAPÍTULO 4. FÓRMULAS Y FUNCIONES

Semana Empecemos! Qué sabes de...? El reto es... Vamos al grano. Excel. Parte II

MATERIAL 2 EXCEL 2007

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

CHOQUE.(CANTIDAD DE MOVIMIENTO )

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Polinomios: Definición: Se llama polinomio en "x" de grado "n" a una expresión del tipo

Tema : ELECTRÓNICA DIGITAL

AUTOR CARLOS EDUARDO BUENO VERGARA JORGE ARMANDO BUENO VERGARA USO DE LOS OBJETOS DEL PROGRAMA. Dfd INFORMÁTICA II PROFESOR. JOSÉ FRANCISCO AMADOR

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Diseño Estructurado de Algoritmos

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x

Continuidad y ramas infinitas. El aumento A producido por cierta lupa viene dado por la siguiente ecuación: A = 2. lm í

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

VECTORES EN EL ESPACIO. 1. Determina el valor de t para que los vectores de coordenadas sean linealmente dependientes.

Modulo 1 El lenguaje Java

OPERATORIA CON NUMEROS NEGATIVOS

LÍMITES DE FUNCIONES. CONTINUIDAD Y RAMAS INFINITAS

Una breve introducción a Excel c

VECTORES. Módulo, dirección y sentido de un vector fijo En un vector fijo se llama módulo del mismo a la longitud del segmento que lo define.

Interpolación polinómica

Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009

CAPITULO 1. CONCEPTOS BÁSICOS. 1. Introducción. Este curso esta basado en un lenguaje de programación estructurada de propósito general.

Operaciones con vectores y matrices ECONOMETRÍA I OPERACIONES CON VECTORES Y MATRICES. Ana Morata Gasca

Claves para las fórmulas: Incrementos Decrementos Porcentajes Múltiplos - Partes - Diferencia

NÚMERO REAL. 1. Axiomas de cuerpo y propiedades operatorias. Axioma 2 La suma es asociativa:

Capítulo 1. Vectores en el plano Introducción

Lección 4: Suma y resta de números racionales

5 Ecuaciones lineales y conceptos elementales de funciones

Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES. ÁLGEBRA PARA INGENIEROS (Solucionario)

Manual Time One Software control de horarios

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Laboratorio Física I

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

Otros Lenguajes de Programación

TEMA 2 POLINOMIOS Y FRACCIONES ALGEBRAICAS

OPCION A ECONOMÍA Y ORGANIZACIÓN DE EMPRESAS - JUNIO DE

Orden y estructuras algebraicas mediante nuevas tecnologías

PROPORCIONALIDAD - teoría

Transcripción:

Fundamentos de Informática Parte III Programación en Matlab Titulación: Ingeniería Técnica Industrial Química Industrial Profesor: José Luis Esteban Escuela Superior de Ciencias Experimentales y Tecnología (ESCET) Universidad Rey Juan Carlos Curso académico 2008-2009 3/12/08 Ingeniería Técnica Industrial (Química) 2008-09 - "Fundamentos de Informática" - Tema 9 1

Tema 9 Sentencias de Selección 9.1. Las sentencias de selección 9.2. La sentencia de selección IF 9.3. La sentencia de selección SWITCH 3/12/08 Ingeniería Técnica Industrial (Química) 2008-09 - "Fundamentos de Informática" - Tema 9 2

Tema 9.1. Las sentencias de selección 3/12/08 Ingeniería Técnica Industrial (Química) 2008-09 - "Fundamentos de Informática" - Tema 9 3

Las sentencias de selección (1/2) Hasta ahora, las instrucciones de nuestros programas se ejecutan de forma secuencial una sola vez y en el orden en que se han escrito Instruccion1 Instruccion2 Instruccion3... InstrucciónN Las sentencias de selección permiten seleccionar la ejecución de actividades depio de si se cumple o no una condición dada, es decir, alteran el orden secuencial de ejecución y controlan el flujo del programa 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 4

Las sentencias de selección (2/2) Ejemplo: SI en el examen de mañana apruebo, haré las maletas me iré de vacaciones SI NO me quedaré en casa estudiaré para el examen de septiembre En lenguaje Matlab, estas estructuras tiene una sintaxis propia y permiten elegir qué sentencias se van a ejecutar depio de que se cumpla la condición especificada. 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 5

Tema 9.2. La sentencia de selección IF 3/12/08 Ingeniería Técnica Industrial (Química) 2008-09 - "Fundamentos de Informática" - Tema 9 6

La construcción del bloque IF Sintaxis: La estructura de este bloque es: if expresión lógica secuencia de instrucciones Semántica: 1. Se evalúa expresión lógica El resultado puede ser verdadero (1) o falso (0) 2. Si es verdadero (1), se ejecuta secuencia de instrucciones y después se siguen ejecutando las instrucciones que siguen al 3. Si es falso (0), se siguen ejecutando las instrucciones que siguen al 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 7

La construcción del bloque IF - Diagrama verdadero Expresión Lógica falso Secuencia de instrucciones Sentencia común 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 8

La construcción del bloque IF - Ejemplo % RAIZ: calcula la raíz cuadrada si el % número es positivo. Si no, no hace nada x = input('introduce un número: '); if x > 0 x = sqrt(x); disp(x); >> raiz Introduce un número: 4 2 >> raiz Introduce un número: -4-4 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 9

Expresiones lógicas matriciales Si la expresión lógica es matricial el resultado será verdadero cuando lo sea cada elemento del vector lógico resultante. Si la matriz lógica resultante es vacía, el resultado se trata como falso Las construcciones de los dos recuadros son equivalentes: Ejemplos utilizando el script raiz: if x > 0 instrucciones if all(x > 0) instrucciones >> raiz Introduce un número: [1 2 3 4] 1.0000 1.4142 1.7321 2.0000 >> raiz Introduce un número: [-1 0 1 2] -1 0 1 2 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 10

La construcción del bloque IF general Sintaxis: La estructura de este bloque es: if expresión lógica secuencia de instrucciones 1 secuencia de instrucciones 2 Semántica: 1. Se evalúa expresión lógica: El resultado puede ser verdadero (1) o falso (0) 2. Si es verdadero, se ejecuta secuencia de instrucciones 1. 3. Si es falso, se ejecuta secuencia de instrucciones 2. 4. Después se ejecutan la instrucciones que siguen al. 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 11

La construcción del bloque IF general - Diagrama verdadero Secuencia de instrucciones 1 Expresión Lógica falso Secuencia de instrucciones 2 Sentencia común 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 12

La construcción del bloque IF general - Ejemplo % EsPar: indica si un número es par n = input('introduce un número: '); if mod(n, 2) == 0 disp('par'); disp('impar'); >> espar Introduce un número: 3 impar >> espar Introduce un número: 10 par 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 13

IF anidados Es posible anidar estructuras IF generales en ambas ramas: if exprlog1 if exprlog2 secuencia_si1_si2 secuencia_si1_no2 if exprlog3 secuencia_no1_si3 secuencia_no1_no3 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 14

IF anidados Ejemplo (1/2) Enunciado: dadas las longitudes de tres lados (a, b y c), decidir si forman un triángulo y de qué tipo es: Es triángulo si la suma de dos lados cualesquiera es mayor que el otro lado Es equilátero si los lados son iguales Es isósceles si dos de los lados son iguales Es escaleno si los tres lados son distintos 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 15

IF anidados Ejemplo (2/2) % Triangulo: determina si tres lados pueden % formar un triangulo, y de que tipo % Entrada de datos l = input('vector con los tres lados, de la forma [a b c]: '); % Usamos tres variables por claridad del codigo a = l(1); b = l(2); c = l(3); % Operaciones y salida de datos if a+b>c && a+c>b && b+c>a % Es triángulo? if a==b && b==c % Todos los lados iguales? disp('equilátero'); if a~=b && b~=c && a~=c % Todos los lados diferentes? disp('escaleno'); disp('isosceles'); disp('no es un triángulo'); 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 16

Nota de estilo Sangrados Los sangrados no son obligatorios pero ayudan a enter un programa. Es habitual que cada bloque de instrucciones subordinado vaya desplazado a la derecha con respecto al if- que lo contiene. Compárese la legibilidad del código en estos dos ejemplos: if a+b>c && a+c>b && b+c>a if a==b && b==c disp('equilátero'); if a~=b && b~=c && a~=c disp('escaleno'); disp('isosceles'); disp('no es un triángulo'); if a+b>c && a+c>b && b+c>a if a==b && b==c disp('equilátero'); if a~=b && b~=c && a~=c disp('escaleno'); disp('isosceles'); disp('no es un triángulo'); 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 17

IF encadenados if (1/2) Cuando se comprueba una serie de condiciones excluyentes entre sí, puede producirse un excesivo anidamiento en las ramas del if. x = input('numero par entre 0 y 100: '); if x < 0 disp('error: Menor que cero'); if x > 100 disp('error: Mayor que 100'); if mod(x, 2) ~= 0 disp('error: No es par'); disp('bravo, por fin'); 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 18

IF encadenados if (2/2) En este caso es posible encadenar estructuras IF utilizando if: x = input('num par entre 0 y 100: '); if x < 0 disp('error: Menor que cero'); if x > 100 disp('error: Mayor que 100'); if mod(x, 2) ~= 0 disp('error: No es par'); disp('bravo, por fin'); x = input('num par entre 0 y 100: '); if x < 0 disp('error: Menor que cero'); if x > 100 disp('error: Mayor que 100'); if mod(x, 2) ~= 0 disp('error: No es par'); disp('bravo, por fin'); 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 19

Tema 9.3. La sentencia de selección SWITCH 3/12/08 Ingeniería Técnica Industrial (Química) 2008-09 - "Fundamentos de Informática" - Tema 9 20

SWITCH Se utiliza para determinar la ejecución de una secuencia de instrucciones entre múltiples alternativas. La secuencia de instrucciones a ejecutar se selecciona en función del resultado de evaluar una expresión criterio que puede tomar una colección predefinida de valores numéricos o cadenas de caracteres. 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 21

SWITCH Sintaxis (1/2) switch criterio case valor1 Secuencia sentencias 1 case valor2 Secuencia sentencias 2... case valorn Secuencia sentencias N otherwise Secuencia sentencias N+1 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 22

SWITCH Sintaxis (2/2) Criterio puede ser una expresión de tipo numérico o cadena de caracteres Conviene evitar expresiones que produzcan números reales porque el error de redondeo puede hacer que el resultado nunca coincida con un valor especificado en un case. Cada uno de los valor i es uno o más valores posibles que puede tomar el criterio. La forma de estos valores puede ser: Un único valor Una lista de valores entre llaves {v1, v2, v3...} 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 23

SWITCH Semántica Se evalúa la expresión criterio Si el resultado de evaluar criterio coincide con el valor o lista de valores de valor1 entonces se ejecuta el conjunto de instrucciones Secuencia sentencias 1 Si no, si el resultado de evaluar criterio coincide con el valor o lista de valores de valor2 entonces se el conjunto de instrucciones Secuencia sentencias 2... y así sucesivamente con cada CASE En caso de que expresión no satisfaga ningún valor de los especificados en alguno de los CASE, se ejecuta el conjunto de instrucciones Secuencia sentencias n+1 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 24

SWITCH Diagrama Valor 1 Valor 2 Criterio Valor N otherwise Secuencia sentencias 1 Secuencia sentencias 2 Secuencia sentencias N Secuencia sentencias N+1 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 25

SWITCH Ejemplo (1/2) En un ciclo de 24, podemos determinar cuál es cada una de las partes del día, según la tabla siguiente. Elaboraremos un script que pida al usuario una hora entera y que devuelva por pantalla el nombre de la parte del día: Hora 0 1 a 6 7 a 11 12 13 a 20 21 a 23 24 Otros Parte del día Medianoche Madrugada Mañana Mediodía Tarde Noche Medianoche Error 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 26

SWITCH Ejemplo (2/2) h = input('hora: '); switch h case {0, 24} disp('medianoche'); case {1, 2, 3, 4, 5, 6} disp('madrugada'); case {7, 8, 9, 10, 11} disp('mañana'); case 12 disp('mediodia'); case {13, 14, 15, 16, 17, 18, 19, 20} disp('tarde'); case {21, 22, 23} disp('noche'); otherwise disp('error'); 3/12/08 Ingeniería Técnica Industrial (Química) 2008-2009 - "Fundamentos de Informática" - Tema 9 27