clase 2 estructuras de control

18
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 2013-1

Upload: desiree-martez

Post on 30-Jun-2015

530 views

Category:

Technology


1 download

DESCRIPTION

Segunda Clase Programación(C4) . Análisis de Sistemas UCLA. Lapso 2013-1

TRANSCRIPT

Page 1: Clase 2 Estructuras de Control

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

Análisis de SistemasDepartamento de Sistemas

Programación

Elementos Básicos del Lenguaje C++

(Continuación…)

Coordinación del Área de ProgramaciónLapso 2013-1

Page 2: Clase 2 Estructuras de Control

Elementos Básicos de C++Agenda

Estructuras de Controlo Secuencialo Selectiva o Condicionalo Repetitivas

Page 3: Clase 2 Estructuras de Control

Elementos Básicos de C++UNIDAD I. Segunda Parte

Objetivo General

Implementar secuencia de instrucciones en un lenguaje de programación, utilizando los elementos básicos y las estructuras de flujos de control.

Objetivos Específicos• Reconocer el funcionamiento de las estructuras de flujo

de control, para desarrollar instrucciones de programación.

• Implementar secuencia de instrucciones de programación, utilizando los elementos básicos, los operadores, expresiones y las estructuras de flujo de control de un lenguaje de programación.

Page 4: Clase 2 Estructuras de Control

Estructuras de ControlSon aquellas que le permiten al programador especificar que la próxima instrucción a ejecutarse no necesariamente está en la línea que sigue, sino que puede cambiar el orden de ejecución o transferir el control a otra sentencia.

• Las instrucciones se ejecutan una tras otra.Secuencial

• Se utiliza para que el programa elija entre cursos de acción alternativos.

Selectivas

• Permiten repetir conjuntos de instrucciones. Una condición de control establece las veces que se ejecuta una instrucción repetitiva.

Repetitivas

Page 5: Clase 2 Estructuras de Control

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 6: Clase 2 Estructuras de Control

Estructuras de Control SelectivasEjemplos Selectivas if Anidadas

if (nota == 10)

return “Excelente";

else

if (nota >= 9)

return "Sobresaliente";

else

if (nota >= 7)

return "Notable";

else

if (nota >= 5)

return "Aprobado";

else

return "Suspenso";

if (nota == 10)

return “Excelente";

else if (nota >= 9)

return "Sobresaliente";

else if (nota >= 7)

return "Notable";

else if (nota >= 5)

return "Aprobado";

else

return "Suspenso";

Page 7: Clase 2 Estructuras de Control

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 8: Clase 2 Estructuras de Control

Estructuras de Control SelectivasEjemplo 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 9: Clase 2 Estructuras de Control

Estructuras de Control Repetitivas

Permite que una sentencia o varias sentencias se ejecuten un número determinado de veces. También conocidas como bucles, ciclos o lazos.• La sentencia o grupo de sentencias

que se repiten se llaman cuerpo del bucle

• Cada repetición del cuerpo del bucle se llama iteración del bucle.Entre las principales estructuras Repetitivas tenemos:

while do-while for

Page 10: Clase 2 Estructuras de Control

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) se repite mientras la condición 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 ó más

veces.

while (condición)Sentencia;

while (condición){Sentencia 1;Sentencia 2; :::::::::::::::::::Sentencia N;}

Page 11: Clase 2 Estructuras de Control

Estructuras de Control RepetitivasEjemplo de la Sentencia while• El siguiente extracto de programa calcula y

muestra la nota promedio de un estudiante.

char resp;

int nota, suma=0, 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 12: Clase 2 Estructuras de Control

Estructuras de Control RepetitivasSentencia 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 de la(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 13: Clase 2 Estructuras de Control

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 : ”; cin >> nota;

suma += nota; n++;

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

} while (resp == ‘s’);

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

Page 14: Clase 2 Estructuras de Control

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 de ejecutar, mientras sea verdadera.

• Incrementa o decrementa la variable de control del bucle.

for (inicializacion; condicion iteración; incremento ){ conjunto de sentencias;}

Page 15: Clase 2 Estructuras de Control

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 16: Clase 2 Estructuras de Control

Ejercicios Prácticos

Enunciados Sentencias

1.- Leer tres números y determinar el mayor de ellos. swicth

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

do-while

3.- Un restaurant desea mostrar a sus clientes los menús de cada día. if y operadores lógicos

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

5.- Una cafetería le da recibo a sus clientes siempre y cuando ellos la registren. Al final del día desean saber cuantos recibos emitieron.

if y operadores relacionales

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

Determinar ¿Cual secuencia está asociada al enunciado?

Page 17: Clase 2 Estructuras de Control

Referencias Bibliográficas

• JOYANES, L y ZAHONERO, I. 2010. Programación en C, C++, JAVA y UML. Mc Graw Hill, Interamericana Editores, S.A. DE C.V.

• JOYANES, L. 2006. Programación en C++. Algoritmos, estructuras de datos y objetos. 2a Edición. Mc Graw Hill, Interamericana de España, S.A.U.

Page 18: Clase 2 Estructuras de Control

Asignaciones Próxima Semana

Repasar lo visto en Clase.

Realizar la Autoevaluación de la Guía Didáctica Elementos Básicos del Lenguaje C++.

Realizar Ejercicios Propuestos.