Está en la página 1de 17

Universidad Centroccidental Lisandro Alvarado Decanato de Ciencias y Tecnologa Anlisis de Sistemas Departamento de Sistemas Programacin

Elementos Bsicos del Lenguaje C++ (Continuacin)


Coordinacin del rea de Programacin Lapso 2012-1

Elementos Bsicos de C++


Agenda
Estructuras de Control o Secuencial o Selectiva o Condicional o Repetitivas

Estructuras de Control
Son aquellas que le permiten al programador especificar que la prxima instruccin a ejecutarse no necesariamente est en la lnea que sigue, sino que puede cambiar el orden de ejecucin o transferir el control a otra sentencia.

Secuencial Selectivas Repetitivas

Las instrucciones se ejecutan una tras otra. Se utiliza para que el programa elija entre cursos de accin alternativos. Permiten repetir conjuntos de instrucciones. Una condicin de control establece las veces que se ejecuta una instruccin repetitiva.

Estructuras de Control Selectivas


Sentencia if
Permite elegir entre dos alternativas en base al valor de una expresin booleana.
Caso 1 if (<expres_bool>)
<sentencia>
if (<expres_bool>) <sentencia>

else
<sentencia>

Caso 3
if (<expres_bool>){ <sentencia 1> ::::: <sentencia n> }

if

Caso 2
if (<expres_bool>){ <sentencia 1>
:::::

<sentencia n> }else { <sentencia 1>


:::::

Caso 4

<sentencia n>
}

Estructuras de Control Selectivas


Ejemplos Selectivas if Anidadas
if (nota == 10) mensaje = Excelente"; else if (nota >= 9) mensaje = "Sobresaliente"; else if (nota >= 7) mensaje = "Notable"; else if (nota >= 5) mensaje = "Aprobado"; else mensaje = "Suspenso"; if (nota == 10) mensaje = Excelente"; else if (nota >= 9) mensaje = "Sobresaliente"; else if (nota >= 7)

mensaje = "Notable"; else if (nota >= 5) mensaje = "Aprobado"; else mensaje = "Suspenso";

Estructuras de Control Selectivas


Condicional switch
Se utiliza para hacer una seleccin entre mltiples alternativas. La sintaxis es la siguiente:
switch ( <expresion> ) { case <const1> : <sentencia1>; <break>; case <const2> : <sentencia2>; <break>; . . . case <constN> : <sentenciaN>; <break>; [default : <sentenciaD>; ]

Estructuras de Control Selectivas


Ejemplo de la Selectiva switch
El siguiente extracto de programa guarda un mensaje indicando si lo que contiene la variable caracter es una vocal, un nmero u otro carcter:
char caracter; ::: // de alguna manera caracter toma un valor switch (caracter) { case 0: case 1: case 2: case 3: case case 5: case 6: case 7: case 8: case mensaje = "Dgito"; break; case a: case e: case i: case o: case case A: case E: case I: case O: case mensaje = "Vocal"; break; default: mensaje = "Otro carcter"; }

4: 9:

u: U:

Estructuras de Control Repetitivas


Permite que una sentencia o varias sentencias se ejecuten un nmero determinado de veces. Tambin conocidas como bucles, ciclos o lazos. La sentencia o grupo de sentencias que se repiten se llaman cuerpo del bucle Cada repeticin del cuerpo del bucle se llama iteracin del bucle.

Entre las principales estructuras Repetitivas tenemos:

while

dowhile

for

Estructuras de Control Repetitivas


Sentencia while
Un bucle while tiene una condicin de control (expresin lgica) que indica la cantidad de repeticin. La ejecucin de la(s) sentencia(s) se repite mientras la condicin del bucle permanece verdadera y termina cuando sea falsa. Primero se pregunta y luego se ejecuta. Es un bucle Pre Test, es decir, se ejecuta cero ms veces.

while (condicin) {

while (condicin) Sentencia;

Sentencia 1; Sentencia 2;

::::::::::::::::::: Sentencia N;
}

Estructuras de Control Repetitivas


Ejemplo de la Sentencia while
El siguiente extracto de programa calcula y muestra la nota promedio de un estudiante.
char resp; int suma, nota, n = 0; cout << Hay datos: ; cin >> resp; while (resp == s){ cout << Nota : ; cin >> nota; suma += nota; n++; cout << Hay mas datos: ; cin >> resp; } cout << El promedio de notas es: << suma/n << endl;

Estructuras de Control Repetitivas


Sentencia do-while
Se utiliza para especificar un bucle condicional que se ejecuta al menos una vez. Si la condicin es verdadera, entonces se repite la ejecucin de la(s) sentencia(s), este proceso contina hasta que la condicin sea falsa. Primero se ejecuta y luego se pregunta. Es un bucle Post Test, es decir, se ejecuta una ms veces.

do{
Sentencia; }while (condicin);

do{
Sentencia 1; Sentencia 2; :::::::::::::::::::: Sentencia N;

} while (condicin);

Estructuras de Control Repetitivas


Ejemplos de la Sentencias do-while
int pot=50; do { pot = pot * 2; cout << La potencia obtenida es: <<pot<< endl;

} while (pot < 500);


char resp;

int suma, nota, n = 0;


do { cout << Nota suma += nota; : ; n++; cin >> nota;

cout << Hay mas datos: ; cin >> resp;

} while (resp == s);


cout << El promedio de notas es: << suma/n << endl;

Estructuras de Control Repetitivas


Sentencia for
Es un mtodo para ejecutar un bloque de sentencias un nmero fijo de veces, ya que en el encabezado permite especificar todo. Se debe inicializar la variable de control del bucle La expresin lgica determina si las sentencias se han de ejecutar, mientras sea verdadera. Incrementa o decrementa la variable de control del bucle.

for (inicializacion; condicion iteracin; incremento ) { conjunto de sentencias; }

Estructuras de Control Repetitivas


Ejemplos de Sentencias for
for ( int count = 1; count <= 5; count ++) cout<< Valor obtenido es: << 2 * count << endl; Una sentencia for se puede reescribir como una sentencia while int i = 0; while (i < 10) { cout << i << endl; ++i; }

for (int i=0; i<10; i++) cout << i;

Estructuras de Control Repetitivas


Comparacin entre las sentencias for, while y do-while

while
La condicin se chequea antes de entrar al bucle, si la evaluacin resulta verdadera se ejecutan las sentencias. El bucle finaliza cuando la condicin es falsa Se ejecuta cero o ms veces, por ser de tipo pretest

for Se recomienda

do-while

Es adecuada cuando se cuando el nmero de debe asegurar que al repeticiones se conoce menos se ejecute el bucle una vez. por anticipado. La condicin del bucle Es controlado por se chequea despus de un contador. que se ha(n) ejecutado En una misma lnea la(s) sentencia(s). contiene varias Las sentencias se instrucciones. repiten mientras la condicin sea verdadera.

Ejercicios Prcticos
Determinar Cual secuencia est asociada al enunciado?
Enunciados 1.- Leer tres nmeros y determinar el mayor de ellos. 2.- Se conoce el nmero de notas a procesar. Se desea saber el total de las notas. 3.- Un restaurant desea mostrar a sus clientes los mens de cada da. 4.- Una Librera desea registrar al da al menos un usuario. 5.- Una cafetera le da recibo a sus clientes siempre y cuando ellos la registren. Al final del da desean saber cuantos recibos emitieron. 6.-Dada la nota final de un alumno determinar si esta aprobado o reprobado. Sentencias swicth do-while if y operadores lgicos while if y operadores relacionales

for

Asignaciones Prxima Semana


Repasar lo visto en Clase.

Realizar la Autoevaluacin de la Gua Didctica Elementos Bsicos del Lenguaje C++.


Realizar Ejercicios Propuestos.