4.instrucciones de control en c++

24
Instrucciones de Control Ramiro Estigarribia Canese

Upload: ramiro-estigarribia-canese

Post on 20-Jul-2015

112 views

Category:

Technology


0 download

TRANSCRIPT

Instrucciones de Control

Ramiro Estigarribia Canese

Objetivos del Capítulo1. Comprender técnicas para solucionar problemas.2. Utilizar las estructuras de selección if...else para

elegir entre distintas acciones alternativas.3. Utilizar la estructura de repetición while para

ejecutar instrucciones de manera repetitiva.4. Comprender la repetición controlada por un

contador y la repetición controlada por un centinela.5. Utilizar los operadores de asignación.

Antes de Programar➔ Antes de escribir un programa que dé solución a un

problema, es imprescindible tener una comprensión detallada de todo el problema, además de una estrategia planeada para resolverlo.

➔ Al escribir un programa, es igualmente esencial comprender los tipos de bloques de construcción disponibles, y emplear las técnicas comprobadas para construir programas.

El Orden en los Algoritmos➔ Cualquier problema puede resolverse ejecutando

una serie de acciones en un orden específico.➔ Considere el “algoritmo para levantarse y

arreglarse” que sigue un ejecutivo para levantarse de la cama e ir a trabajar:

1. Levantarse. 2. Quitarse la ropa de dormir.3. Bañarse. 4. Vestirse.5. Desayunar.

Esta rutina logra que el ejecutivo llegue al trabajo bien preparado para tomar decisiones críticas.

¿Qué es el Pseudocódigo?➔ Es un lenguaje informal que ayuda a los

programadores a desarrollar algoritmos sin tener que preocuparse por los estrictos detalles de la sintaxis del lenguaje C++.

➔ El pseudocódigo es similar al lenguaje cotidiano; es conveniente y amigable.

➔ No se ejecuta en las computadoras. En vez de ello, ayuda al programador a “organizar” un programa antes de que intente escribirlo en un lenguaje de programación como C++.

Ejecución Secuencial➔ Generalmente, en un programa las instrucciones se

ejecutan una después de otra, en el orden en que están escritas.

➔ Este proceso se conoce como ejecución secuencial. Existen instrucciones en C++, que permiten especificar que la siguiente instrucción a ejecutarse tal vez no sea la siguiente en la secuencia. Esto se conoce como transferencia de control

Estructura de secuencia ➔ A menos que se le indique lo contrario, la

computadora ejecuta las instrucciones una después de otra.

➔ Como veremos pronto, en donde quiera que se coloque una sola acción, podrán colocarse varias acciones en secuencia.

Instrucciones de Selección➔ La instrucción if realiza (selecciona) una acción si la

condición es verdadera, o evita la acción si la condición es falsa.

➔ La instrucción if...else realiza una acción si la condición es verdadera, o realiza una acción distinta si la condición es falsa.

➔ La instrucción switch (capítulo 5) realiza una de entre varias acciones distintas, dependiendo del valor de una expresión.

Instrucción de selección if➔ Los programas utilizan instrucciones de selección

para elegir entre los cursos alternativos de acción.➔ Por ejemplo, suponga que la calificación para

aprobar un examen es 60. ➔ Imprimir “Aprobado” determina si la condición “la

calificación del estudiante es mayor o igual a 60” es verdadera o falsa.

Instrucción de selección ifif ( calificacion >= 60 )cout << "Aprobado";

➔ Si calificación es mayor o igual a 60, imprime “Aprobado” y luego se dirige al final.

➔ Si es menor a 60, el programa se dirige inmediatamente al final sin mostrar mensaje.

Instrucción de selección doble if...else➔ La instrucción if de selección simple realiza una

acción indicada solamente cuando la condición es verdadera; de no ser así, se evita dicha acción.

➔ La instrucción if...else permite especificar una acción a realizar cuando la condición es verdadera, y otra cuando la condición es falsa. Por ejemplo: Si calificación es mayor o igual a 60 Imprimir “Aprobado”De lo contrarioImprimir “Reprobado”

Instrucción de selección doble if...elseAsí es en C++:if ( calificacion >= 60 )cout << "Aprobado";elsecout << "Reprobado";

Operador CondicionalPuede utilizarse en lugar de if...else:

cout << (calificacion >= 60 ? "Aprobado" : "Reprobado");

➔ Produce como resultado la cadena "Aprobado" si la expresión es verdadera, o "Reprobado" si es falsa.

➔ Por lo tanto, realiza en esencia la misma función que la instrucción if...else.

Instrucciones if...else anidadasUn programa puede evaluar varios casos colocando instrucciones if...else dentro de otras instrucciones.

➔ Si calificación es mayor o igual a 90Imprimir “Cinco” de lo contrario

➔ Si calificación es mayor o igual a 80Imprimir “Cuatro” de lo contrario

➔ Si calificación es mayor o igual a 70Imprimir “Tres” de lo contrario

➔ Si calificación es mayor o igual a 60Imprimir “Dos” de lo contrario

➔ Imprimir “Uno”

Instrucciones if...else anidadasif ( calificacion >= 90 )cout << "Cinco";elseif ( calificacion >= 80 )printf( "Cuatro" );else if ( calificacion >= 70 )printf( "Tres" );elseif ( calificacion >= 60 )printf( "Dos" );elseprintf( "Uno" );

Muchos programadores en prefieren escribir así:if ( calificacion >= 90 )printf( "Cinco" );else if ( calificacion >= 80 )printf( "Cuatro" );else if ( calificacion >= 70 )printf( "Tres" );else if ( calificacion >= 60 )printf( "Dos" );elseprintf( "Uno" );Las dos formas son idénticas.

#include <iostream>using namespace std;int main(){int calificacion = 75;if ( calificacion >= 90 )cout << "Cinco";else if ( calificacion >= 80 )cout << "Cuatro";else if ( calificacion >= 70 )cout << "Tres";else if ( calificacion >= 60 )cout << "Dos";else cout << "Uno";return 0;}

BloquesLa instrucción if puede incluir varias instrucciones entre llaves { }. A este conjunto de instrucciones se le llama bloque. El siguiente ejemplo incluye un bloque:if ( calificacion >= 60 )cout << "Aprobado";else{cout << "Reprobado.";cout << "Debe tomar este curso otra vez.";}

Bloques➔ Las llaves son importantes. ➔ Sin ellas, la instrucción printf ("Debe tomar este

curso otra vez."); estaría fuera del cuerpo de la parte else de la instrucción if...else y se ejecutaría sin importar que la calificación fuera menor a 60.

➔ Los errores de sintaxis (como cuando se omite una llave en un bloque del programa) los atrapa el compilador.

➔ Un error lógico (como cuando se omiten ambas llaves en un bloque del programa) tiene su efecto en tiempo de ejecución.

Instrucciones de Repetición ➔ C++ cuenta con tres instrucciones de repetición

que permiten a los programas ejecutar instrucciones en forma repetida, siempre y cuando una condición siga siendo verdadera.

➔ Las instrucciones de repetición se implementan con las instrucciones while, do...while y for.

Instrucción de repetición whilePermite especificar que un programa debe repetir una acción mientras cierta condición sea verdadera. Ejemplo:Mientras existan artículos en mi lista de compras:Comprar el siguiente artículo.

➔ La condición “existan artículos en mi lista de compras” puede ser verdadera o falsa.

➔ Esta acción se realizará en forma repetida mientras la condición sea verdadera.

While (product <= 100)Este ciclo sigue ejecutándose hasta que la condición producto > 100 se vuelva verdadera. Entonces, la instrucción while termina.

Ejemplo: Promedio de Notas.➔ A una clase de diez estudiantes se les aplicó un

examen. ➔ Las calificaciones (enteros en el rango de 0 a 100)

de este examen están disponibles para su análisis.

Determine el promedio de la clase para este examen.

#include <iostream>using namespace std;int main(){int total=0, contador=1, nota, promedio;while ( contador <= 10 ) // itera 10 veces{cout << "Escriba la nota:";cin >> nota; // lee la notatotal = total + nota; // suma calificación a totalcontador = contador + 1; //incrementa contador en 1}promedio = total / 10;cout << "\nEl total de las 10 notas es " << total;cout << "\nEl promedio es " << promedio ;return 0;}