Sentencias de control. Condiciones

Documentos relacionados
Estructuras de control

Estructuras de Control

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

TEMA 4. ESTRUCTURAS DE CONTROL

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

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

EJERCICIO 1. CREACIÓN DE UNA FUNCIÓN

Unidad 2: Ecuaciones, inecuaciones y sistemas.

fundamentos de programación (unidad 4) programación estructurada en Java

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

Introducción a las sentencias de control

Estructura Selectiva Múltiple

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

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Estructuras Repetitivas

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

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

Estatutos de Control C# Estatutos de Decisión (Selección)

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

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

Introducción a Matlab

Fundamentos de programación

Tema 7: Programación con Matlab

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Diseño Estructurado de Algoritmos

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Tema 2. El lenguaje JAVA

Actividad colaborativa Ejercicios de programación Programación básica C++

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Programación Estructurada

Tema 4: Estructuras de Control Estructura y Contenidos

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

Estructuras de Control 3

ESTRUCTURAS REPETITIVAS EN PHP

Operadores de comparación

ESTRUCTURAS REPETITIVAS

mientras (while-condicion-end)

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

Tema 4. Operadores y Expresiones

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Programación en java. Estructuras algorítmicas

Java para no Programadores

CONJUNTO DE LOS NÚMEROS NATURALES

Instituto Tecnológico de Celaya

PROGRAMAS PARA LA CLASSPAD MANAGER.

Sentencias o instrucciones en Visual BASIC

Estructuras de repetición

INSTITUCIÓN EDUCATIVA LICEO DEPARTAMENTAL ÁREA DE TECNOLOGÍA E INFORMÁTICA

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

5. Sentencias selectivas o condicionales

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

Introducción a la Programación en MATLAB

Algoritmos y estructuras de programación

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

Funciones & Estructuras de control

Tema 3.- Predicados y sentencias condicionales

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Pero nos están faltando otros operadores imprescindibles:

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

GUÍA BÁSICA DE SCHEME v.4

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

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Fundamentos de Programación Visual Basic

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

4.- Leer tres números y escribirlos en orden decreciente

Si salgo temprano hoy, me voy al cine.

Elementos de un programa en C

Práctica 4: Estructuras selectivas

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );

Introducción a MATLAB

Evidentemente, la superficie es un triángulo rectángulo de base 1 y altura también la unidad, por tanto su área es 1/2.

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Fundamentos de Informática

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

Guía número 1. Métodos numéricos. Universidad de san buenaventura de Cali

Capítulo 4 Procesos con estructuras de repetición

ARREGLOS EN. Nota: El autor.

UNIDAD 8 INECUACIONES. Objetivo general.

Anexo. Control de errores

Lenguaje C, segundo bloque: Sentencias de control

[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

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

Práctica 2ª : OPERADORES LÓGICOS Y RELACIONALES. CICLOS Y ESTRUCTURAS DE CONTROL. MÉTODOS DE RESOLUCIÓN DE UNA ECUACIÓN NO LINEAL.

Instrucciones de control

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

Estructuras en LabVIEW.

Operación que hiciste en la calculadora

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos o negativos), sin decimales. Incluye a los naturales.

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

Expresiones y sentencias

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Funciones como Subprogramas en C++

MATEMÁTICAS 1º DE ESO

Transcripción:

Sentencias de control Condiciones Son las preguntas básicas a las que se puede responder sí o no Para implementar el control del flujo, son muy útiles unas expresiones que permiten comparar dos variables entre sí o una variable con un valor fijo. En un programa, a veces es necesario preguntarse: es x mayor que y? Pues si x es mayor que y, entonces..., y si no,... ; o bien: caso de que la variable x sea menor que cero, hacer tal cosa. Las condiciones se construyen con operadores relacionales, como son los siguientes: > mayor que < menor que == igual que ~= diferente que <= menor o igual que >= mayor o igual que Una condición, como se ha indicado, sólo admite dos respuestas: verdadero o falso. Así, a la pregunta es x mayor o igual que y?, que en el lenguaje de Matlab se expresa x>=y, sólo caben dos respuestas posibles: sí, es cierto, x es mayor o igual que y; o bien, no, es falso, x no es mayor o igual que y. Dos observaciones. La primera: el operador relacional igual que se construye con dos símbolos ==. El motivo es el siguiente: si se escribe x=3, el resultado es que se le asigna a x el valor 3. No se hace ninguna pregunta. Si lo que se desea es preguntar es x igual a 3?, no se puede escribir x=3, pues en este caso x tomaría el valor 3, indepientemente de lo que valiera antes. En cambio,x==3 es el análogo en lenguaje informático a la pregunta: es x igual a 3?. Tras la pregunta x==3 la variable x sigue valio lo mismo que antes.la segunda observación es una pequeña astucia: la tilde ~ del operador diferente que se consigue apretando la tecla Alt y -sin soltarlaescribio con el teclado el número 126. En algunos sistemas operativos, también sirve apretar AltGr y, sin soltarla, apretar la tecla 4. Las condiciones se pueden agrupar en construcciones lógicas: condición1 Y condición2, condición1 O condición2, etcétera. Consúltese el manual de Matlab en lo relativo a este tópico. En resumen: con las expresiones relacionales se pueden realizar preguntas de respuesta unívoca (verdadero o falso), que permitan luego tomar una decisión.

Sentencia if La ramificación más simple, expresada en este diagrama de flujo, se obtiene con la siguente sintaxis: (if y son palabras clave del lenguaje informático, y no se pueden utilizar para otra cosa, p. ej. una variable no puede -no debería- llamarse if). Un caso concreto: if(length(sitios)>1) recta=polyfit(x,y,1); Leído en lenguaje corriente: si la longitud del vector sitios es mayor que 1, se realiza el ajuste lineal indicado en la instrucción recta=polyfit(x,y,1). Caso contrario (si la longitud del vector sitios es menor o igual a 1) esa instrucción no se ejecuta (y el programa sigue en la instrucción que venga después de ). Existe la posibilidad de ejecutar ciertas si la condición es verdadera, y otras diferentes si la condición es falsa: A else B A else B else C dicho de otra manera: si la condición se cumple, se ejecutan las A o B; si no, se ejecutan las C.

Sentencia switch Otra posibilidad de ramificación múltiple la ofrece la construcción switch. La sintaxis es: switch variable case valor1, A case valor2, B case...... Las palabras clave son switch, case,. La ramificación switch opera de la siguiente manera. Al llegar a la expresión switch variable, si variable tiene el valor valor1 se ejecutan las A; si variabletoma el valor valor2, las B; y así sucesivamente. Es importante notar que la variable sólo debe tomar unos pocos valores: valor1, valor2, etc. para que el programa se ramifique en unas pocas ramas. No tiene sentido intentar una ramificación switch con una variable que pueda tomar un número infinito de valores. Sentencia for Hay ocasiones en las que es necesario repetir el mismo conjunto de instrucciones muchas veces, cambiando algunos detalles. Pongamos un caso. Sea un vector x(i) con n componentes; se quiere construir la "media móvil" de x con tres elementos, que consiste en ir tomando la media aritmética de cada tres puntos consecutivos. Es decir: desde i=2 hasta n-1, media(i-1)=(x(i)+x(i-1)+x(i+1))/3. (Detalles: se empieza a contar en i=2 porque para el primer elemento de x no existe el elemento anterior; y se acaba en n-1 por análoga razón; además, el primer componente de media es el correspondiente a i=2, de ahí que se asigne el resultado a media(i-1)). Eso es lo que se consigue con un bucle for, cuya sintaxis es: for contador=inicio:paso:fin, Las palabras claves son for y. Este bucle pone en marcha una variable llamada contador que va desde inicio hasta fin de paso en paso. Cada vez que las se ejecutan, contador aumenta en un valor paso (que si se omite, se le asigna automáticamente el valor 1). Cuando contador llega al valor fin, el bucle se acaba y el programa continúa con las que haya más allá de.

Sentencia while Obsérvese que un bucle como el indicado se implementa un número fijo de veces: desde inicio hasta fin de paso en paso. En ocasiones, sin embargo, no se sabe de antemano cuántas veces habrá que ejecutar las del bucle. Por ejemplo: si es necesario repetir una serie de hasta que se cumpla una determinada condición, y no se sabe a priori cuántas veces será necesario realizar esas operaciones. En ese caso se emplea un bucle while: while(condición), Es posible sustituir la condición por una variable. En efecto: una variable que toma el valor cero corresponde a una condición falsa. Si la variable toma un valor diferente de cero, es equivalente a una condición verdadera. Así, se puede escribir x=10; while(x) x=x-1; Para x=10, la "condición" es verdadera puesto que x es diferente de cero. Nótese que el contador x hay que modificarlo manualmente (línea x=x-1) puesto que, al revés que lo que ocurre con el bucle for, este no gestiona ningún contador. En cuanto x tome el valor cero, la "condición" es falsa y el bucle acaba. Atención: es fácil caer en bucles infinitos. En el ejemplo anterior, si falta la línea x=x-1 y las no modifican el valor de x, la "condición" siempre será cierta (pues x=10) y el programa nunca saldrá del bucle: ejecutará una y otra vez las. El programa se "cuelga", y hay que interrumpirlo desde el teclado apretando las teclas Ctrl+C. Resultados y arreglos Los resultados pueden ser fácilmente mostrados en pantalla, pero en ocaciones resulta útil almacenar la información. Es comun obtener varios valores por lo que es importante capturar la respuesta en arreglos. (conjunto de datos) Un puede ser fácilmente definible como >> y = [ 1 2 3] Ahora podemos hacer >> 2*y Recuerde que matlab toma todo como arreglos y matrices. En el caso anterior la constante multiplica todos los elementos del arreglo.

Para acceder a un elemeneto puntual del arreglo debemos usar >> y(1) En este caso mostrara el elemento 1 del arreglo 1. Pruebe a ver otros elementos. Ahora veamos un ejemplo en el que los resultados de un bucle son almacenados en un arreglo. Adicionalmente usamos la función rand que genera un numero aleatorio y la función zeros que genera una matriz con todos sus elementos en zeros. funccion rand que genera números aleatorios h= rand(a,b) % genera un numero aleatorio entre a y b función zeros h=zeros(a,b) % genera un arreglo axb y todos sus elementos son cero Ejemplo for almacenando en cada casilla del arreglo N=10; x=rand(1,n); y=zeros(1,n); for i=1:n, y(i)=sum(x(1:i)); Ejercicios 1. Escribir un programa que tome un número entero al azar entre el 0 y el 9, pregunte un número al usuario y le informe si acertó o no. 2. Escribir un programa que tome un número entero al azar entre el 0 y el 9, y le pregunte un número al usuario hasta que acierte. 3. Escribir una función que devuelva el valor absoluto del argumento. (Nota.- Ya existe en Matlab: abs(x)). 4. Escribir un programa que, tras pedir al usuario un número, le informe de si es par, impar o no entero. 5. Escribir un programa que calcule las N primeras fracciones del tipo 1/i, tras pedir N al usuario. 6. Escribir un programa que calcule los cuadrados de los números enteros, hasta que el cuadrado sea mayor o igual que 100.