5.instrucciones de control en c++ parte 2

Post on 21-Jul-2015

78 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Instrucciones de control:parte 2

Ramiro Estigarribia Canese

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.

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++.

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.

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;}

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.

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

Diagrama UML: Contador

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 )

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;}

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.

#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;}

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.

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.

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;}

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"; ......}

#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; }

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.

#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

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.

#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

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.

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.

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.

top related