5.instrucciones de control en c++ parte 2

24
Instrucciones de control: parte 2 Ramiro Estigarribia Canese

Transcript of 5.instrucciones de control en c++ parte 2

Page 1: 5.instrucciones de control en c++  parte 2

Instrucciones de control:parte 2

Ramiro Estigarribia Canese

Page 2: 5.instrucciones de control en c++  parte 2

Objetivos del Capítulo➔ Conocer los fundamentos acerca de la repetición

controlada por un contador.➔ Utilizar las instrucciones de repetición for y do...

while para ejecutar instrucciones de manera repetitiva en un programa.

➔ Comprender la selección múltiple utilizando la instrucción de selección switch.

➔ Utilizar las instrucciones de control de programa break y continue para alterar el flujo de control.

➔ Utilizar los operadores lógicos para formar expresiones condicionales complejas.

Page 3: 5.instrucciones de control en c++  parte 2

Introducción➔ El capítulo 4 nos introdujo a los tipos de bloques de

construcción disponibles para solucionar problemas.

➔ Utilizamos dichos bloques de construcción para emplear las técnicas, ya comprobadas, de la construcción de programas.

➔ En este capítulo continuaremos nuestra presentación de la teoría y los principios de la programación estructurada, presentando el resto de las instrucciones de control en C++.

Page 4: 5.instrucciones de control en c++  parte 2

Repetición whileEl ciclo while requiere 4 partes:1. Una variable de control.2. El valor inicial de la variable de control.3. El incremento (o decremento) .4. La condición, que determina si el ciclo debe continuar

o no.

Page 5: 5.instrucciones de control en c++  parte 2

Contador While#include <iostream>using namespace std;int main(){ int contador = 1; //declara y asigna 1while ( contador <= 10 ) //condición de continuación{ cout << contador << " "; ++contador; // incrementa en 1} // fin de whilereturn 0;}

Page 6: 5.instrucciones de control en c++  parte 2

Instrucción de repetición for➔ La instrucción for, especifica los detalles de la

repetición en una sola línea de código.➔ Se incrementa el contador de forma automática, y

finalmente se ejecuta la prueba de control.

Page 7: 5.instrucciones de control en c++  parte 2

Ejemplo:ContadorFor#include <iostream>using namespace std;int main(){ for ( int contador=1; contador <= 10; contador++ ){cout << contador << " ";} // fin de for return 0;}

Page 8: 5.instrucciones de control en c++  parte 2

Diagrama UML: Contador

Page 9: 5.instrucciones de control en c++  parte 2

Ejemplos sobre el uso de la instrucción for➔ De 1 a 100 en incrementos de 1.for ( int i = 1; i <= 100; i++ )

➔ De 100 a 1 en decrementos de 1.for ( int i = 100; i >= 1; i-- )

➔ De 7 a 77 en incrementos de 7.for ( int i = 7; i <= 77; i+= 7 )

➔ De 20 a 2 en decrementos de 2.for ( int i = 20; i >= 2; i-= 2 )

➔ La siguiente secuencia: 55, 44, 33, 22, 11, 0.for ( int i = 55; i >= 0; i -= 11 )

Page 10: 5.instrucciones de control en c++  parte 2

Sumar Números Pares: del 2 al 10#include <iostream>using namespace std;int main(){int total = 0; // inicializa el totalfor ( int numero = 2; numero <= 10; numero += 2 ){total += numero;}cout << "La suma es " << total; return 0;}

Page 11: 5.instrucciones de control en c++  parte 2

Ejemplo:Cálculo de InteresesUna persona invierte $1000 en una cuenta de ahorro que produce el 5% de interés. Calcule el dinero en la cuenta al final de cada año, durante 10 años, usando la fórmula:m = p(1 + r) ^ n ............ en donde:➔ p es el monto que se invirtió originalmente.➔ r es la tasa de interés anual (0.05)➔ n es el número de años➔ m es el monto obtenido.

Page 12: 5.instrucciones de control en c++  parte 2

#include <iostream>using namespace std;#include <cmath> // biblioteca de matemáticasusing std::pow; // permite utilizar la función powint main(){double monto; // monto final de cada añodouble principal = 1000; // monto inicialdouble tasa = 0.05; // tasa de interéscout << "Año \t Monto\n"; //Títulosfor ( int anio = 1; anio <= 10; anio++ ) { monto = principal * pow( 1.0 + tasa, anio ); cout << anio << " \t " << monto << "\n";} // fin de forreturn 0;}

Page 13: 5.instrucciones de control en c++  parte 2

Cálculo de Intereses➔ Utilizamos el método pow de la clase Math para

realizar el cálculo del interés.➔ pow( x, y ) calcula el valor de x elevado a la y-

ésima potencia. El método recibe dos argumentos double y devuelve un valor double .

➔ Después de cada cálculo, se imprime en pantalla el año y el monto depositado al final de ese año.

Page 14: 5.instrucciones de control en c++  parte 2

Instrucción de repetición do...while➔ La instrucción de repetición do...while

evalúa la condición de continuación después de ejecutar el cuerpo del ciclo.

➔ Por lo tanto, el cuerpo siempre se ejecuta por lo menos una vez.

➔ Cuando termina una instrucción do...while , la ejecución continúa con la siguiente instrucción en la secuencia.

Page 15: 5.instrucciones de control en c++  parte 2

Imprimir del 1 al 10.#include <iostream>using namespace std;int main(){int contador = 1; // inicializa contadordo{cout << " " << contador;++contador; // incrementa en 1} while ( contador <= 10 ); // fin de do...whilereturn 0;}

Page 16: 5.instrucciones de control en c++  parte 2

Instrucción de selección múltiple switch➔ En el capítulo 4 hablamos de la instrucción if. ➔ La instrucción switch permite seleccionar para

muchos valores de una variable. Ejemplo:switch ( valor ){case 999: // valor=999 cout << "999"; break; //corta el switchcase 777: // valor=777 cout << "777"; ......}

Page 17: 5.instrucciones de control en c++  parte 2

#include <iostream>using namespace std;int main() {int calificacion=7;switch ( calificacion ){case 9: // calificación es 9cout << "Cinco"; break; case 8: // calificación es 8cout << "Cuatro"; break;case 7: // calificación es 7cout << "Tres"; break;case 6: // calificación es 6cout << "Dos"; break;default: // todos los demás casoscout <<"Uno"; } return 0; }

Page 18: 5.instrucciones de control en c++  parte 2

Instrucciones break ➔ Además de las instrucciones de selección y

repetición, C++ cuenta con las instrucciones break y continue.

➔ La instrucción break para terminar la ejecución de una instrucción switch.

➔ Cuando break se ejecuta en una instrucción while , for , do...while , o switch , ocasiona la salida inmediata de esa instrucción.

➔ Los usos comunes de break son para escapar anticipadamente del ciclo.

Page 19: 5.instrucciones de control en c++  parte 2

#include <iostream>using namespace std;int main(){int valor;for ( valor = 1; valor <= 10; valor++ ) // itera 10 veces{ if ( valor == 5 ) // si valor es 5, break; // corta el ciclo} // fin de forcout << "\nCortó en: " << valor;return 0;} // fin de main

Page 20: 5.instrucciones de control en c++  parte 2

Instrucción continue➔ La instrucción continue omite las instrucciones

restantes de un ciclo y continúa con la siguiente iteración del ciclo.

➔ En las instrucciones while y do...while , la aplicación evalúa la prueba de continuación de ciclo justo después de que se ejecuta la instrucción continue .

➔ En una instrucción for se ejecuta la expresión de incremento y después el programa evalúa la prueba de continuación de ciclo.

Page 21: 5.instrucciones de control en c++  parte 2

#include <iostream>using namespace std;int main(){for ( int valor = 1; valor <= 10; valor++ ) // itera 10 veces{if ( valor == 5 ) // si valor es 5,continue; // omite el resto del ciclocout << valor << " ";} // fin de for return 0;}

Resultado: 1 2 3 4 6 7 8 9 10

Page 22: 5.instrucciones de control en c++  parte 2

Operador AND && ➔ if, while y for requieren una condición.

Hasta ahora hemos estudiado condiciones simples.➔ Suponga que deseamos asegurar que dos

condiciones sean ambas verdaderas.En este caso, podemos utilizar el operador && (AND condicional) de la siguiente manera:

➔ if ( genero == ‘FEMENINO’ && edad > 65 )La cual es verdadera si ambas son verdaderas.

Page 23: 5.instrucciones de control en c++  parte 2

Operador OR || Ahora deseamos que cualquiera o ambas condiciones sean verdaderas. En este caso, utilizamos el operador ||.if ( ( promedio >= 90 ) || ( examenFinal >= 90 ) )cout >> “Materia Aprobada”;

La única vez que no se imprime el mensaje: “Materia Aprobada” es cuando ambas condiciones son falsas.

Page 24: 5.instrucciones de control en c++  parte 2

Operador de negación !El operador !, también conocido como negación lógica “invierte” el significado de una condición.Este operador se coloca antes de una condición.

Puede escribirse de estas 2 maneras:

if (!( nota == 5 )) //si nota es distinto a 5.

if ( nota != 5 ) //si nota es distinto a 5.