Introducción a las sentencias de control



Documentos relacionados
PROGRAMACIÓN I C++ 2. Programación estructurada 4. Sentencias condicionales. Sentencias iterativas o repetitivas. Tema 3.- Programación estructurada

Computación III. Objetivo de aprendizaje del tema

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES.

Sentencias de Control en C++

Lenguaje C, segundo bloque: Sentencias de control

TEMA 4: Programación estructurada

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.

Estructuras de control repetitivas/iterativas

VGOC"6<"Rtqitcocekôp"guvtwevwtcfc

TIPOS DE BUCLES O CICLOS DE REPETICIÓN EN PHP: WHILE, DO WHILE Y FOR. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00822B)

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

Estatutos de decisión

Algoritmos y Diagramas de flujo

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

Lección 3 Sentencias de control

Sentencias de control de flujo

Tema 3. Estructuras de control en C++

Programación. Test Autoevaluación Tema 4

Programación: Estructuras de Control

Estructuras de control. Secuencial, condicional y repetitivas.

Tema 3. Estructuras de control

Estructuras de Control 3

El lenguaje C. 3. Una instrucción que se ejecutará si la condición es verdadera.

Prof. Dr. Paul Bustamante

Tema 4: Estructuras de Control Estructura y Contenidos

TEMA 4. ESTRUCTURAS DE CONTROL

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

Estructuras de control

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Fundamentos de programación

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

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

1.9. SENTENCIAS DE CONTROL DE PROGRAMA

FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO

Operando1 operador de relación Operando2

Estructuras de control. Dept. Ciencias de la Computación e I.A. Universidad de Granada

Sentencias de Procesamiento Iterativo: while y do-while

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

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

ESTRUCTURAS DE CONTROL

Análisis de problemas

Programación 1 Tema 5. Instrucciones simples y estructuradas

Métodos con Parámetros

Estructuras de control y DFDs

ESTRUCTURAS REPETITIVAS

TEMA 4: Estructuras de Control

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

ESTRUCTURAS DE CONTROL

Estructuras de control Agosto de Facultad de Ingeniería. Universidad del Valle

Facultad de Ciencias de la Computación. Abraham Sánchez López Grupo MOVIS

Programación 1 Tema 5. Instrucciones simples y estructuradas

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

3. Estructuras iterativas

Clase adicional 2. Estructuras básicas de control. Temas

Estructuras de repetición

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

Estructuras de control condicionales

CONDICIONALES EN PHP: IF ELSE, IF ELSE IF. CONDICIONAL TERNARIO. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00817B)

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

Capítulo 3. Sentencias condicionales

Capítulo 4. Control de flujo. Continuar

Estructuras de Repetición: Repita Mientras.

Proposiciones Condicionales

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

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

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

Tema 07: Programación estructurada en C

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

Tema 1: Sentencias de Control

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

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

PYTHON. Programación estructurada

Introducción a los Computadores ITTELSI. Curso

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

LENGUAJES DE PROGRAMACION I. Propósito del curso :

Laboratorio de Arquitectura de Redes. Sentencias de control en lenguaje C

3.3 Bifurcaciones en Pascal

Programación 2. Grado en Estadística Aplicada. Curso Generación de números pseudoaleatorios. Manejo de ficheros de texto.

Conocimientos previos

Informática Ingeniería en Electrónica y Automática Industrial

5. Sentencias selectivas o condicionales

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

Tema 4: Estructura y Contenidos

AMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F)

MÚLTIPLES Estructuras condicionales anidadas if(expresion1 o condición1){ Sentencias1 } else { if (expresion2){ Sentencias2

Curso Informática Lección 4. Instrucciones de control

Tema 3. Estructuras de control en C++

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

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Estructuras de control

Sentencia for : Ejemplo de Uso

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

Complejidad de Algoritmos

1. Qué se muestra en pantalla si se ejecutan las siguientes sentencias (suponiendo que el resto del programa que no se presenta es correcto)?

Fundamentos de Informática 6. Estructuras de control (y sus algoritmos)

Introduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias. Emma Rollón Departament of Computer Science

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

EJEMPLOS DE EJERCICIOS RESUELTOS

Transcripción:

INSTRUCCIONES DE CONTROL CONTENIDOS 1. Introducción a las sentencias de control. 2. Instrucciones o sentencias condicionales: IF, IF-ELSE, SWITCH. 3. Instrucciones o sentencias repetitivas o iterativas: WHILE, DO-WHILE, FOR. 4. Sentencias BREAK y CONTINUE. 1 INSTRUCCIONES DE CONTROL 1 Introducción a las sentencias de control 2

INSTRUCCIONES DE CONTROL Introducción Hasta ahora solo hemos visto la codificación en el lenguaje C++ de las estructuras secuenciales, lo que nos proporciona programas lineales, es decir, comienzan por la primera instrucción y acababan por la última, ejecutándose todas una sola vez. Estructuras Algorítmicas Secuenciales Condicionales Cíclicas Entrada Salida Asignación Simples Múltiples Hacer para Hacer mientras Repetir hasta 3 INSTRUCCIONES DE CONTROL Esta forma de programación sólo me permite resolver problemas sencillos. Para resolver problemas más complejos, nos puede interesar que dependiendo de los valores de los datos, se ejecuten unas instrucciones u otras. Las instrucciones condicionales nos van a permitir representar éste tipo de comportamiento. Sentencias IF y SWITCH En otro casos, nos encontraremos con la necesidad de repetir una instrucción ó instrucciones un número determinado de veces. En éstos casos utilizaremos instrucciones de control iterativas ó repetitivas (ciclos). Sentencias WHILE, DO-WHILE y FOR 4

INSTRUCCIONES DE CONTROL 2 Instrucciones o sentencias condicionales IF, IF-ELSE, SWITCH 5 Instrucciones Condicionales Instrucción condicional simple: IF Se corresponde con la estructura algorítmica El formato general de una sentencia if es la siguiente: Instrucción (es ) si? condición no if (condición) instrucción n; Atención!!! if (condición) instrucción; Si se cumple la condición, entonces se ejecuta la instrucción ó el bloque de instrucciones; en caso contrario, no se ejecutan. 6

Instrucciones Condicionales Instrucción condicional simple: IF Ejemplos: #include <iostream.h> int a, x = 0, y; cin >> a; if (a==0) x = 1; cout << x; #include <iostream.h>... if (cantidad > 100) descuento = 0.2; precio = n*descuento;... 7 Instrucciones Condicionales Instrucción condicional doble : IF-ELSE Estructura algorítmica asociada: si? condición no Formato general de la sentencia if- Instrucción(es ) 1 Instrucción(es ) 2 if (condición) varias instrucciones 1; varias instrucciones 2; if (condición) instrucción 2; Si se cumple la condición, se ejecutan las instrucciones del primer bloque; si no, se ejecutan las instrucciones del segundo bloque. 8

Instrucciones Condicionales Instrucción condicional IF, IF-ELSE Diagrama sintáctico: if ( condición ) instrucción ; instrucción ; instrucción ; instrucción ; 9 Instrucciones Condicionales Instrucción condicional doble : IF-ELSE Ejemplos: #include <iostream.h> int a, x; cin >> a; if (a==0) x = 1; x= 0; #include <iostream.h>... if (cantidad > 100) descuento = 0.2; precio = n*descuento; precio = n; cout << x;... 10

Instrucciones Condicionales Instrucción condicional doble : IF-ELSE anidadas Hemos visto dos tipos de instrucciones condicionales, con una o dos alternativas. Podemos utilizar las instrucciones IF-ELSE anidadas, es decir, que alguna de las ramas sea a su vez otra instrucción IF-ELSE. Así podemos implementar decisiones que implican más de dos alternativas. Acción (es) si? condición1 no si? condición2 Acción (es) no Acción (es) 11 Instrucciones Condicionales Instrucción condicional doble : IF-ELSE anidadas. if (condición1) if (condición2) instrucción 2; instrucción 3; La escritura en sangría facilita la comprensión del código así como el chequeo del buen funcionamiento. La sintaxis de instrucciones IF-ELSE anidadas if (condición1) if (condición2) instrucción 2; if (condición3) instrucción 3; instrucción 4; 12

Instrucciones Condicionales #include <iostream.h> int a, b, c, max; cin >> a >> b >> c; A #include <iostream.h> int a, b, c, max; cin >> a >> b >> c; B if (a > b) if (a > c) cout << a; cout << c; if (b > c) cout << b; cout << c; Qué hacen éstos códigos? if (a > b) if (a > c) cout << a; cout << c; if (b > c) cout << b; cout << c; cout << fin del programa ; 13 Instrucciones Condicionales Instrucción condicional múltiple : SWITCH Estructura algorítmica asociada Formato general de la sentencia witch Constante 1? DATO Acción (es) Constante 2 ConstanteN Acción (es) switch (selector) case constante1: instrucción1 ó bloque de instrucciones break; case constante2: instrucción2 ó bloque de instrucciones break; defeault: instrucción2 ó bloque de instrucciones Acción (es)...... Permiten comparar una variable con distintos valores posibles, ejecutando para cada caso una serie de instrucciones específicas. 14

Instrucciones Condicionales Instrucción condicional múltiple : SWITCH Formato general de la sentencia witch switch (selector) case constante1: instrucción1 ó bloque de instrucciones break; case constante2: instrucción2 ó bloque de instrucciones break; defeault: instrucción3 ó bloque de instrucciones El valor de selector debe ser un número entero. Puede ser una variable, una expresión ó una llamada a una función. Cada caso comienza con un case y termina con un break Qué ocurre si se me olvida algún break? 15 Instrucciones Condicionales Instrucción condicional múltiple : SWITCH #include <iostream.h> int main () cin>> num; switch (num) case 1: cout << Ha introducido el nº 1\n ; case 2: cout << Ha introducido el nº 2\n ; break; defeault: cout << Ha introducido otro nº ; Ejemplo Si al ejecutar el programa introducimos un 2, obtenemos el mensaje: Ha introducido el nº 2 Si al ejecutar el programa introducimos un 1, obtenemos el mensaje: Ha introducido el nº 1 Ha introducido el nº 2 16

INSTRUCCIONES DE CONTROL 3 Instrucciones o sentencias repetitivas o iterativas WHILE, DO-WHILE, FOR 17 Instrucciones Iterativas o repetitivas Instrucciones de control repetitivas Son aquellas que controlan la repetición de un conjunto de instrucciones denominado bloque o cuerpo del bucle, mediante la evaluación de una condición o mediante un contador. Sentencias WHILE, DO-WHILE y FOR 18

Instrucción de control repetitiva : WHILE Se corresponde con la estructura algorítmica hacer_mientras: si? condición no Formato general de la sentencia while while ( condición ) instrucción n; Cuerpo del bucle while ( condición ) instrucción; Acción(es) Controla la ejecución de un bloque de instrucciones de tal forma que éstas se ejecutan mientras se cumpla la condición, que será evaluada siempre antes de cada repetición. Cada repetición del cuerpo del bucle se denomina iteración 19 Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : WHILE Ejemplo: #include <iostream.h> contador = 0; while (contador < 100) cout << Hola ; contador ++;... cuerpo La condición será evaluada siempre antes de cada iteración. El cuerpo del bucle while se repite mientras la condición sea cierta. El cuerpo de un bucle while se ejecutará cero o más veces. 20

Instrucción de control repetitiva : WHILE Inicialización Se realiza antes de la instrucción while contador = 0; while (contador < 100) cout << Hola ; contador ++;... cuerpo Actualización Se realiza dentro del cuerpo del bucle durante cada iteración La variable que representa la condición del bucle se denomina variable de control del bucle. Dicha variable debe ser: - inicializada - comprobada - actualizada Comprobación Se comprueba el valor de la variable antes de comenzar la repetición 21 Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : WHILE const bool continuar = true; bool a = true; int n; while (a ==continuar) cin >> n; if (n<0) cout << "No se admiten negativos"; a = false; cout << "Muy bien, otro más: " ; Inicialización Comprobación Es importante comprobar que en algún momento, la condición del bucle se hace falsa, de forma que no obtengamos bucles infinitos. Actualización 22

Instrucción de control repetitiva : DO-WHILE Se corresponde con la estructura algorítmica Acción(es) Formato general de la sentencia do-while do instrucción n; while ( condición ); do instrucción; while ( condición );? condición Se utiliza para ejecutar un bloque de instrucciones al menos una vez. El cuerpo del bucle se repite mientras se verifica la condición. Dicha condición será evaluada después de cada repetición. no si 23 Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : DO-WHILE Ejemplo: #include <iostream.h> char n; do cout << "introducir número: "; cin >> n; if ((isdigit(n))== false) cout << Solo se admiten números"; cuerpo while ((isdigit(n))!= false); El cuerpo de un bucle do-while se ejecutará una o más veces. El cuerpo del bucle do-while se repite mientras la condición sea cierta. La condición será evaluada siempre después de cada iteración. 24

Diferencias entre las instrucciones WHILE y DO-WHILE En while primero se tiene que cumplir la condición, y luego se ejecuta el bloque de instrucciones. si? condición no Acción(es) Acción(es) no? condición si En do-while primero se ejecuta el bloque de instrucciones y luego se comprueba la condición. 25 Instrucciones Iterativas o repetitivas Traducción de WHILE a DO-WHILE while ( condición ) instrucción n; if (condición) do instrucción n; while ( condición ); 26

Instrucción de control repetitiva : FOR Se utiliza para ejecutar un bloque de instrucciones un número fijo de veces que se conoce de antemano. Se corresponde con la estructura algorítmica hacer_para: Acción(es) i i + 1 i inf si? i sup no for ( inicialización ; condición ; actualización ) instrucción n; Formato general de la sentencia for 27 Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR La instrucción for se vale de una variable de control del ciclo. El ciclo se repite desde el límite inferior, hasta que la variable de control llegue la límite superior. for ( inicialización; condición; actualización ) instrucción n; Cabecera del for Una diferencia con el bucle while es que en el for, las operaciones de control del bucle (inicialización, comprobación y actualización ) se realizan en un solo sitio: la cabecera del for. 28

Instrucción de control repetitiva : FOR En la cabecera del for nos podemos encontrar con 3 partes o secciones: Parte de inicialización: Inicializa la variable de control del bucle. Se pueden utilizar una o varias variables. Parte de iteración: Expresión lógica. El cuerpo del bucle se repite mientras la expresión sea verdadera. Parte de incremento: Incrementa o decrementa el valor de la variable o variables de control. for (int i = 0; i<10; i++) cout << Número: << i ; cout << << endl; 29 Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR Ejemplo: La variable de control es n for (int n = 1; n<=10; n=n+2) cout << Número: << n << \t << n*n ; cout << << endl; Es de tipo entero, su valor inicial es 1 Su valor final es 10 Se incrementa de 2 en 2. Pasada Valor de n 1 1 2 3 3 5 4 7 5 9 En la primera iteración ó pasada, el valor de n es 1, en la segunda pasada n vale 3. La última pasada se realiza cuando n vale 9. 30

Instrucción de control repetitiva : FOR Se puede inicializar más de una variable, se puede poner más de una condición ó más de un incremento. for ( int i = 0, j = 100; i<j ; i++, j--) int k; k = i+2*j ; cout << k << endl; Se declaran 2 variables de control: i y j Se inicializan a 0 y 100 respectivamente El cuerpo se ejecutará mientras i sea menor que j Se incrementa la variable i y se decrementa la variable j 31 Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR for ( int i = 0, j = 5; i+j <100 ; i++, j =j+5 ) cout << i << \t <<j << (i+j) ; cout << endl; Se realizan un total de 16 pasadas. Se ejecuta el cuerpo de la instrucción for mientras se cumpla la condición. Valor de las variables de control en cada pasada valor de i valor de j i+j 0 5 5 1 10 11 2 15 17 3 20 23 4 25 29 5 30 35 6 35 41 7 40 47 8 45 53 9 50 59 10 55 65 11 60 71 12 65 77 13 70 83 14 75 89 15 80 95 32

Instrucción de control repetitiva : FOR Se puede omitir cualquiera de las partes de la cabecera del for (inicialización, condición o incremento). contador = 1; for ( ; contador <10 ; ) cout << contador ; contador++ ; Se comporta igual que un while Bucle infinito for ( ; ; )... 33 INSTRUCCIONES DE CONTROL 4 Sentencias BREAK y CONTINUE 34

Instrucciones break y continue La instrucción break, además de terminar los case de una instrucción switch, sirve para forzar la terminación inmediata de un bucle. break; instrucción n;... continue; instrucción n;... La instrucción continue, interrumpe la ejecución del cuerpo del bucle y fuerza una nueva iteración. 35 Instrucciones Iterativas o repetitivas Instrucciones break y continue for ( int t = 0; t <100 ; t++ ) cout << t; if (t==10) break; // salir del for Ejemplos for ( int t = 0; t <100 ; t++ ) if (t%10==0) continue; cout << t; 36

Instrucciones break y continue Ejemplo do cin >> x; if ( x < 0 ) continue; cout << x; Ignora lo que sigue y vuelve a comprobar la condición. while (x!=100); 37