Sentencias de Control

Add to Favourites
Post to:

1 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. 2 1 Introducción a las sentencias de control INSTRUCCIONES DE CONTROL3 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. Secuenciales Entrada Salida Asignación Condicionales Simples Múltiples Cíclicas Hacer para Hacer mientras Repetir hasta Estructuras Algorítmicas INSTRUCCIONES DE CONTROL 4 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. 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 IF y SWITCH Sentencias WHILE, DO-WHILE y FOR INSTRUCCIONES DE CONTROL5 2 Instrucciones o sentencias condicionales IF, IF-ELSE, SWITCH INSTRUCCIONES DE CONTROL 6 Instrucción condicional simple: IF Se corresponde con la estructura algorítmica El formato general de una sentencia if es la siguiente: Instrucciones Condicionales si ? condición Instrucción (es ) no if (condición) instrucción; if (condición) { instrucción 1; … instrucción n; } Si se cumple la condición, entonces se ejecuta la instrucción ó el bloque de instrucciones; en caso contrario, no se ejecutan. Atención !!!7 Instrucción condicional simple: IF Ejemplos: Instrucciones Condicionales #include int main() { int a, x = 0, y; cin >> a; if (a==0) x = 1; cout << x; return 0; } #include int main() { ... if (cantidad > 100) { descuento = 0.2; precio = n*descuento; } ... return 0; } 8 Instrucción condicional doble : IF-ELSE no si ? condición Instrucción(es )1 Instrucción(es )2 Instrucciones Condicionales Estructura algorítmica asociada: Formato general de la sentencia if-else if (condición) instrucción 1; else instrucción 2; if (condición) { varias instrucciones 1; } else { varias instrucciones 2; } Si se cumple la condición, se ejecutan las instrucciones del primer bloque; si no, se ejecutan las instrucciones del segundo bloque.9 Instrucción condicional IF, IF-ELSE Instrucciones Condicionales Diagrama sintáctico: if ( ) condición instrucción ; { } instrucción ; else instrucción ; { } instrucción ; 10 Instrucción condicional doble : IF-ELSE Ejemplos: Instrucciones Condicionales #include int main() { int a, x; cin >> a; if (a==0) x = 1; else x= 0; cout << x; return 0; } #include int main() { ... if (cantidad > 100) { descuento = 0.2; precio = n*descuento; } else precio = n; ... return 0; }11 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. Instrucciones Condicionales no si ? condición1 Acción (es) no si ? condición2 Acción (es) Acción (es) 12 Instrucción condicional doble : IF-ELSE anidadas . Instrucciones Condicionales if (condición1) instrucción 1; else if (condición2) instrucción 2; else instrucción 3; La sintaxis de instrucciones IF-ELSE anidadas if (condición1) instrucción 1; else if (condición2) instrucción 2; else if (condición3) instrucción 3; else instrucción 4; La escritura en sangría facilita la comprensión del código así como el chequeo del buen funcionamiento.13Instrucciones Condicionales #include int main() { int a, b, c, max; cin >> a >> b >> c; if (a > b) if (a > c) cout << a; else cout << c; else if (b > c) cout << b; else cout << c; return 0; } #include int main() { int a, b, c, max; cin >> a >> b >> c; if (a > b) if (a > c) cout << a; else cout << c; else if (b > c) cout << b; else cout << c; cout << “fin del programa”; return 0; } A B ¿Qué hacen éstos códigos ? 14 Instrucción condicional múltiple : SWITCH Instrucciones Condicionales Estructura algorítmica asociada 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ón2 ó bloque de instrucciones } Constante 1 ? DATO Acción (es) Acción (es) Constante 2. . . Acción (es) ConstanteN . . . Permiten comparar una ‘variable’ con distintos valores posibles, ejecutando para cada caso una serie de instrucciones específicas.15 Instrucción condicional múltiple : SWITCH Instrucciones Condicionales 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 ? 16 Instrucción condicional múltiple : SWITCH Instrucciones Condicionales #include 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º”; } return 0; } 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’ Ejemplo17 3 Instrucciones o sentencias repetitivas o iterativas WHILE, DO-WHILE, FOR INSTRUCCIONES DE CONTROL 18 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 Instrucciones Iterativas o repetitivas19 Instrucción de control repetitiva : WHILE Instrucciones Iterativas o repetitivas Se corresponde con la estructura algorítmica hacer_mientras: while ( condición ) instrucción; no ? condición si Acción(es) Cuerpo del bucle 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. while ( condición ) { instrucción 1; … instrucción n; } Cada repetición del cuerpo del bucle se denomina iteración Formato general de la sentencia while 20 Instrucción de control repetitiva : WHILE Ejemplo: #include int main() { … contador = 0; while (contador < 100) { cout << “Hola”; contador ++; } ... return 0; } cuerpo El cuerpo del bucle while se repite mientras la condición sea cierta. La condición será evaluada siempre antes de cada iteración. El cuerpo de un bucle while se ejecutará cero o más veces. Instrucciones Iterativas o repetitivas21 La variable que representa la condición del bucle se denomina variable de control del bucle. Dicha variable debe ser: -inicializada -comprobada -actualizada … contador = 0; while (contador < 100) { cout << “Hola”; contador ++; } ... cuerpo Inicialización Se realiza antes de la instrucción while Comprobación Se comprueba el valor de la variable antes de comenzar la repetición Actualización Se realiza dentro del cuerpo del bucle durante cada iteración Instrucción de control repetitiva : WHILE Instrucciones Iterativas o repetitivas 22 int main() { const bool continuar = true; bool a = true; int n; while (a ==continuar) { cin >> n; if (n<0) { cout << "No se admiten negativos"; a = false; } else cout << "Muy bien, otro más: " ; } return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : WHILE Inicialización Comprobación Actualización Es importante comprobar que en algún momento, la condición del bucle se hace falsa, de forma que no obtengamos bucles infinitos.23 Instrucción de control repetitiva : DO-WHILE Instrucciones Iterativas o repetitivas Se corresponde con la estructura algorítmica do instrucción; while ( 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. do { instrucción 1; … instrucción n; } while ( condición ); Formato general de la sentencia do-while si ? condición Acción(es) no 24 #include int main() { char n; do { cout << "introducir número: "; cin >> n; if ((isdigit(n))== false) cout << ”Solo se admiten números"; } while ((isdigit(n)) != false); return 0; } Instrucción de control repetitiva : DO-WHILE Ejemplo: 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. El cuerpo de un bucle do-while se ejecutará una o más veces. cuerpo Instrucciones Iterativas o repetitivas25 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 Acción(es) no no ? condición si Acción(es) En do-while primero se ejecuta el bloque de instrucciones y luego se comprueba la condición. Instrucciones Iterativas o repetitivas 26 Traducción de WHILE a DO-WHILE Instrucciones Iterativas o repetitivas while ( condición ) { instrucción 1; … instrucción n; } if (condición) do { instrucción 1; … instrucción n; } while ( condición );27 Instrucción de control repetitiva : FOR Instrucciones Iterativas o repetitivas Se corresponde con la estructura algorítmica hacer_para: for ( inicialización ; condición ; actualización ) { instrucción 1; … instrucción n; } Formato general de la sentencia for no Se utiliza para ejecutar un bloque de instrucciones un número fijo de veces que se conoce de antemano. si ? i ≤ sup Acción(es) i i + 1 i inf 28 Instrucción de control repetitiva : FOR Instrucciones Iterativas o repetitivas for ( inicialización; condición; actualización ) { instrucción 1; … instrucción n; } 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. 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. Cabecera del for29 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. Instrucción de control repetitiva : FOR En la cabecera del for nos podemos encontrar con 3 partes o secciones: Instrucciones Iterativas o repetitivas int main() { …. for (int i = 0; i<10; i++) { cout << “Número: ” << i ; cout << << endl; } …. return 0; } 30 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. int main() { …. for (int n = 1; n<=10; n=n+2) { cout << “Número: ” << n <<“\t” << n*n ; cout << << endl; } …. return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR Ejemplo: La variable de control es n 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 931 int main() { …. for ( int i = 0, j = 100; i> x; if ( x < 0 ) continue; cout << x; }while (x !=100); …. return 0; } Instrucciones break y continue Instrucciones Iterativas o repetitivas Ignora lo que sigue y vuelve a comprobar la condición. Ejemplo

Description
Documento para iniciar el aprendizaje de sentencias de control, secuenciales, decisión, repetitivas. este documento consta la explicación de cómo opera y ejemplos claros en los que se aplican los conceptos estudiados.
Se inicia desde lo básico hasta un nivel más avanzado en los cuales se exponen ejercicios con sentencias if, switch, for, while, do-while.
Se recomienda revisar esté documento para la evaluación presencial del primer y segundo parcial.

Comments

Want to learn?

Sign up and browse through relevant courses.

Name:
Your Email:
Password:
Country:
Contact no:


Area code Number
Subjects you are interested in:
Word verification: (Enter the text as in image)


Sign Up Already a member? Sign In
I agree to WizIQ's User Agreement & Privacy Policy

Your Facebook Friends on WizIQ

Give live classes, create & sell online courses

Try it free Plans & Pricing

Connect