1-Estructuras de Control

17
 Universidad Centroccidental “Lisandro Alvarado” Decanato de Ciencias y Tecnología Análisis de Sistemas Departamento de Sistemas Programación Elementos Básicos del Lenguaje C++ (Continuación…) Coordinación del Área de Programación Lapso 2012-1

description

Estructuras de Control

Transcript of 1-Estructuras de Control

Page 1: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 1/17

 

Universidad Centroccidental “Lisandro Alvarado” Decanato de Ciencias y Tecnología

Análisis de SistemasDepartamento de Sistemas

Programación

Elementos Básicos delLenguaje C++(Continuación…) 

Coordinación del Área de Programación

Lapso 2012-1

Page 2: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 2/17

 

Elementos Básicos de C++

Agenda

Estructuras de Control

o Secuencial

o Selectiva o Condicional

o Repetitivas

Page 3: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 3/17

 

Estructuras de Control

Son aquellas que le permiten al programadorespecificar que la próxima instrucción a ejecutarseno necesariamente está en la línea que sigue, sinoque puede cambiar el orden de ejecución otransferir el control a otra sentencia. 

• Las instrucciones se ejecutan una trasotra.Secuencial

• Se utiliza para que el programa elija entrecursos de acción alternativos. Selectivas

• Permiten repetir conjuntos deinstrucciones. Una condición de controlestablece las veces que se ejecuta unainstrucción repetitiva. 

Repetitivas

Page 4: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 4/17

 

Estructuras de Control Selectivas

Sentencia if• Permite elegir entre dos alternativas en base al valor de

una expresión booleana. 

if (<expres_bool>) <sentencia>  

if (<expres_bool>)

 <sentencia> 

else

 <sentencia>  

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

if (<expres_bool>){ <sentencia 1> 

:::::

 <sentencia n> }else { <sentencia 1> :::::

 <sentencia n> 

if

Caso 1

Caso 2

Caso 3

Caso 4

Page 5: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 5/17

 

Estructuras de Control Selectivas

Ejemplos Selectivas if Anidadas if (nota == 10)

 m ensaje = “Excelente"; 

else

if (nota >= 9) mensaje = "Sobresaliente";

else

if (nota >= 7)

 mensaje = "Notable";

elseif (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"; 

Page 6: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 6/17

 

Estructuras de Control Selectivas

Condicional switch• Se utiliza para hacer una selección entre múltiples

alternativas.

• La sintaxis es la siguiente: 

switch ( <expresion> ) {

case <const1> : <sentencia1>; <break>;

case <const2> : <sentencia2>; <break>;

.

.

.

case <constN> : <sentenciaN>; <break>;

[default : <sentenciaD>; ]

Page 7: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 7/17

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 número u otro carácter: 

char caracter;

::: // de alguna manera caracter toma un valor

switch (caracter) {

case „0‟: case „1‟: case „2‟: case „3‟: case „4‟: 

case „5‟: case „6‟: case „7‟: case „8‟: case „9‟: 

 mensaje = "Dígito";

 break;

case „a‟: case „e‟: case „i‟: case „o‟: case „u‟: case „A‟: case „E‟: case „I‟: case „O‟: case „U‟: 

 mensaje = "Vocal";

 break;

default:

 mensaje = "Otro carácter";

}  

Page 8: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 8/17

Estructuras de Control Repetitivas

Permite que una sentencia o varias sentencias seejecuten un número determinado de veces.También conocidas como bucles, ciclos o lazos. 

• La sentencia o grupo de sentencias que serepiten se llaman cuerpo del bucle 

• Cada repetición del cuerpo del bucle se llamaiteración del bucle. 

Entre las principales estructuras Repetitivas tenemos:

while do-while for

 

Page 9: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 9/17

Estructuras de Control RepetitivasSentencia while• Un bucle while tiene una condición de control (expresión lógica) que

indica la cantidad de repetición. La ejecución de la(s) sentencia(s) serepite mientras la condición del bucle permanece verdadera y terminacuando sea falsa. 

• Primero se pregunta y luego se ejecuta.

• Es un bucle Pre Test, es decir, se ejecuta cero ó más veces.

 while (condición)

Sentencia; 

 while (condición)

{

Sentencia 1;

Sentencia 2;

:::::::::::::::::::

Sentencia N;

 

Page 10: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 10/17

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;  

Page 11: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 11/17

Estructuras de Control Repetitivas

Sentencia do-while• Se utiliza para especificar un bucle condicional que se ejecuta al menos

una vez. Si la condición es verdadera, entonces se repite la ejecución dela(s) sentencia(s), este proceso continúa hasta que la condición sea falsa.

• Primero se ejecuta y luego se pregunta.

Es un bucle Post Test, es decir, se ejecuta una ó más veces.

do{ 

Sentencia;

}while (condición);

do{

Sentencia 1;

Sentencia 2;::::::::::::::::::::Sentencia N;

} while (condición);

 

Page 12: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 12/17

Estructuras de Control Repetitivas

Ejemplos de la Sentencias do-whileint 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 : ”; cin >> nota;

suma += nota; n++;

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

} while (resp == „s‟); 

cout << “El promedio de notas es:” << suma/n <<

endl; 

 

Page 13: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 13/17

Estructuras de Control Repetitivas

Sentencia for• Es un método para ejecutar un bloque de sentencias un número

fijo de veces, ya que en el encabezado permite especificar todo.

• Se debe inicializar la variable de control del bucle 

• La expresión lógica determina si las sentencias se han deejecutar, mientras sea verdadera. 

• Incrementa o decrementa la variable de control del bucle. 

for (inicializacion; condicion iteración; incremento )

{

conjunto de sentencias;

 

Page 14: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 14/17

Estructuras de Control RepetitivasEjemplos 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

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

cout << i; 

int i = 0;

 while (i < 10)

{

cout << i << endl;

++i;

 

Page 15: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 15/17

Estructuras de Control RepetitivasComparación entre las sentencias for, while y do-while

  while for do-w

La condición se

chequea antes de entrar al

bucle, si la evaluaciónresulta verdadera se

ejecutan las sentencias.

El bucle finaliza

cuando la condición es

falsa

Se ejecuta cero o más

veces, por ser de tipo pre-

test

 Se recomienda

cuando el número de

repeticiones se conocepor anticipado.

Es controlado por

un contador.

En una misma línea

contiene variasinstrucciones.

Es adecuada cuando se

debe asegurar que al

menos se ejecute el bucleuna vez.

La condición del bucle

se chequea después de

que se ha(n) ejecutado

la(s) sentencia(s).

Las sentencias se

repiten mientras la

condición sea verdadera.

 

Page 16: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 16/17

Ejercicios Prácticos

Enunciados Sentencias1.- Leer tres números y determinar elmayor de ellos.

swicth

2.- Se conoce el número de notas aprocesar. Se desea saber el total de las

notas.

do-while

3.- Un restaurant desea mostrar a susclientes los menús de cada día.

if y operadores lógicos

4.- Una Librería desea registrar al día almenos un usuario.

while

5.- Una cafetería le da recibo a sus clientessiempre y cuando ellos la registren. Al finaldel día desean saber cuantos recibosemitieron.

if y operadores relacionales

6.-Dada la nota final de un alumnodeterminar si esta aprobado o reprobado. for

Determinar ¿Cual secuencia está asociada al enunciado?

 

Page 17: 1-Estructuras de Control

5/14/2018 1-Estructuras de Control - slidepdf.com

http://slidepdf.com/reader/full/1-estructuras-de-control 17/17

Asignaciones Próxima Semana

Repasar lo visto en Clase.

Realizar la Autoevaluación de laGuía Didáctica Elementos Básicosdel Lenguaje C++.

Realizar Ejercicios Propuestos.