Sei sulla pagina 1di 11

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

UNIVERSIDAD NACIONAL DEL CALLAO


FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA ESCUELA DE INGENIERIA ELECTRONICA

SEPARATA
4.-INSTRUCCIONES DE CONTROL

CURSO : PROGRAMACION DIGITAL II

PROFESOR: FERNANDO MENDOZA APAZA

AO : 2007

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

3.- Instrucciones de control En esta separata estudiaremos las instrucciones que sirven para controlar el flujo de ejecucin de un programa en C++ . De acuerdo a las caractersticas de cada una, las clasificaremos en grupos de estructuras bsicas de: 3.1.- Instrucciones de secuencia. 3.2.- Instrucciones de seleccin. 3.3.- Instrucciones de iteracin. Las estructuras bsicas deben cumplir con la condicin bsica de la Programacin Estructurada de: slo una entrada, slo una salida. 3.1.- Secuencia A este grupo pertenecen las instrucciones que estn formadas por una o varias expresiones simples colocadas una a continuacin de la otra. La sintaxis para las instrucciones estructurados en secuencia es la siguiente:
instruccion_1 ; instruccion_2 ; ......... instruccion_N ;

Su diagrama de flujo se presenta en la figura 3.1.

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

3.2.-Seleccin A este grupo pertenecen aquellas instrucciones que sirven para que la ejecucin del programa tome una de varias opciones existentes en una ramificacin. En C++ se tienen las siguientes instruccins de seleccin: 3.2.1.- La instruccin if - else 3.2.2.- La instruccin switch 3.2.1.- La instruccin if - else Esta instruccin permite elegir entre dos opciones de ejecucin, y su sintaxis es :
if( condicin ) [else] [bloque_2] donde: bloque_1 y bloque_2 pueden estar formados por uno ms instrucciones. else es opcional, y en caso de no existir, bloque_2 tampoco existir.

Al ejecutarse esta estructura, primero se evala la condicin. En caso de que, de esta evaluacin, resulte un valor de verdad verdadero, se ejecutarn las instrucciones que forman el bloque_1; en caso contrario (si el valor de verdad es falso), se ejecutarn las instrucciones del bloque_2. El diagrama de flujo para la estructura if-else se presenta en la figura 3.2.

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

Esta estructura puede anidarse para elgir entre un grupo de ms de dos opciones, tomando la siguiente forma:
if(condicin_1) bloque_1; else if(condicin_2) bloque_2; else if(condicin_3) bloque_3; ............ else bloque_N;

A continuacin se muestran algunos ejemplos de aplicacin de la instruccin if-else


#include <iostream.h> void main() { long ncontrol; cout << "NUMERO DE CONTROL: "; cin>> ncontrol; if(ncontrol<=0) cout << "NUMERO INVALIDO........."; else cout << "CORRECTO !!" << "\n\n\n"; }

Listado 3.1.- Uso de if-else


#include <iostream.h> #include <conio.h> void main() { int calif; clrscr(); cout << "CALIFICACION: "; cin>> calif; if(calif > 100)

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

cout << "ERROR: CALIFICACION DEMASIADO ALTA ....."; else if(calif < 0) cout << "ERROR: CALIFICACION DEMASIADO BAJA ....."; else if( (calif>= 70) && (calif <=100)) cout << "CALIFICACION APROBATORIA."; else cout << "CALIFICACION REPROBATORIA."; }

Listado 3.2.- Uso de if-else-if

3.2.2.- La instruccin switch Esta instruccin es til cuando se tiene que elegir entre ms de dos opciones, como es el caso de manejo de mens. Esta instruccin es preferible que el uso de anidamientos de varios if-else. Su sintaxis es:
switch(expresin_entera) { case Const_1 : Bloque_1 ; break ; case Const_2 : Bloque_2 ; break ; ............................. ............................. ............................. case Const_N : Bloque_N ; break ; default : Bloque_X ; }

A la entrada en una instruccin switch, primero se evala la expresin_entera. En caso de que el resultado coincida con Const_1, se ejecuta el Bloque_1 y break interrumpe la ejecucin del instruccin; en caso de que coincida con el valor de Const_2, se ejecuta el Bloque_2 , se interrumpe la ejecucin de la instruccin. Lo mismo pasa en caso de que el resultado coincida con cualquiera de los otros valores constantes. En caso de existir default:, y si el resultado no coincide con ninguno de los valores constantes, se ejecutan las instrucciones contenidas en el Bloque_X. Esta estructura puede representarse con el diagrama mostrado en la figura 3.3.

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

Es recomendable el uso de la instruccin switch en el caso del manejo de un men de opciones como se observa en el listado 3.3.
#include <iostream.h> #include <conio.h> void main() { char opcion; clrscr(); gotoxy(30,5); cout << "MENU DE OPCIONES"; gotoxy(30,8); cout << "1.- CREACION"; gotoxy(30,10); cout << "2.- MODIFICACION"; gotoxy(30,12); cout << "3.- ELIMINACION"; gotoxy(30,14); cout << "0.- SALIDA"; gotoxy(30,18); cout << "SU OPCION ? "; opcion="getche();" cout << "\n\n"; switch(opcion) { case '1': clrscr(); cout << "RUTINA DE CREACION\n"; break; case '2': clrscr(); cout << "RUTINA DE MODIFICACION\n"; break; case '3': clrscr(); cout << "RUTINA DE ELIMINACION\n"; break; case '0': clrscr(); cout << "SALIDA AL SISTEMA OPERATIVO\n";break; default:clrscr(); cout << "OPCION INVALIDA.....\n"; } }

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

Listado 3.3.- Uso de switch 3.3.- Iteracin Las estructuras de iteracin se utilizan en la ejecucin repetida de un bloque de instruccins. En el Lenguaje C++, se tienen: 3.3.1.- La instruccin while 3.3.2.- La instruccin do - while 3.3.3.- La instruccin for Para el manejo de las estructuras de iteracin.

3.3.1.- La instruccin while Con esta instruccin se maneja una estructura en la que, de entrada, se evala una condicin. En caso de que el resultado de tal evaluacin sea un valor diferente de cero , se ejecuta un bloque de instrucciones, en el cual debe existir una instruccin que modifique la condicin, ya que de lo contrario ejecutar un ciclo infinito ( loop ). Si el resultado de la evaluacin es un valor igual a cero , el bloque de instrucciones no se ejecuta y finaliza la ejecucin de la instruccin.

La sintaxis de la instruccin while es la siguiente:


while(condicin) bloque;

En la figura 3.4 se presenta el diagrama de la instruccin while.

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

El listado 3.4 muestra el uso de la instruccin while.


#include <iostream.h> #include <conio.h> #define FALSO 0 void main() { int valor=1; clrscr(); while(valor!=FALSO) { cout << "\nTeclee un valor entero ( 0="salir" ) : "; cin>> valor; } }

Listado 3.4.- Uso de la instruccin while

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

3.3.2.- La instruccin do - while La instruccin do-while tiene un comportamiento similar a while, slo que en este caso primero se ejecuta el bloque de instrucciones y despus se evala la condicin. Con esto se asegura que el bloque se ejecutar al menos una vez. Esta es la sintaxis de la instruccin do-while :
do bloque; while(condicin);

La instruccin do-while puede representarse con el diagrama mostrado en la figura 3.5.

Como una aplicacin de la instruccin do-while , se presenta en el listado 3.5 una variante al problema resuelto en el listado 3.3 .
#include <iostream.h> #include <conio.h>

ING FERNANDO MENDOZA APAZA

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

void main() { char opcion; do{ // inicia ciclo 1 clrscr(); gotoxy(30,5); cout << "MENU DE OPCIONES"; gotoxy(30,8); cout << "1.- CREACION"; gotoxy(30,10); cout << "2.- MODIFICACION"; gotoxy(30,12); cout << "3.- ELIMINACION"; gotoxy(30,14); cout << "0.- SALIDA"; gotoxy(30,18); cout << "SU OPCION ? "; window(42,18,42,18); do{ // inicia ciclo 2 clrscr(); opcion="getche();" } while((opcion < '0')||(opcion>'3'));// fin ciclo 2 window(1,1,80,25); switch(opcion) { case '1': clrscr(); cout << "RUTINA DE CREACION\n"; break; case '2': clrscr(); cout << "RUTINA DE MODIFICACION\n"; break; case '3': clrscr(); cout << "RUTINA DE ELIMINACION\n"; break; case '0': clrscr(); cout << "SALIDA AL SISTEMA OPERATIVO\n"; break; } cout << "\n\nPULSE CUALQUIER TECLA PARA CONTINUAR.."; getch(); } while(opcion!="0" ); // fin ciclo 1 }

Listado 3.5.- Aplicacin de la instruccin do-while 3.3.3.- La instruccin for Entre las instrucciones de iteracin, for es la ms verstil, ya que, entre otras caractersticas, permite la declaracin de variables dentro de su estructura. La sintaxis de la instruccin for es la siguiente:
for(inicializacin ; condicin ; control) bloque; donde: inicializacin es un bloque de instrucciones que puede incluir la declaracin de las variables involucradas y la asignacin de valores iniciales. es una instruccin que puede evaluarse de tal forma que se obtenga como resultado un valor de verdad ( falso verdadero ). Mientras, se cumpla la condicin, se ejecutar el bloque de instrucciones. es un bloque de instrucciones separadas por comas y que controlan la variacin de los valores de las variables utilizadas.

condicin

control

ING FERNANDO MENDOZA APAZA

10

PROGRAMACION DIGITAL II

UNIVERSIDAD NACIONAL DEL CALLAO

Los bloques de inicializacin, condicin y control no son obligatorios, pero s lo son los tres punto y coma que los separan; de tal suerte que la forma mnima de una instruccin for quedara as:
for(;;) ; // ciclo infinito // no realiza tarea alguna

El diagrama para la instruccin for se muestra en la figura 3.6.

El listado 3.6 muestra el uso de la instruccin for.


#include <iostream.h> #include <conio.h> int main() { clrscr(); for(int x=1 ; x <= 25 ; x++) { for(int y="1" ; y <="80" ; y++) { gotoxy(y,x); if((x="=25)" && (y="=80))" getch(); cout << '.'; } } return 0; }

Listado 3.6.- Utilizacin de la instruccin for

ING FERNANDO MENDOZA APAZA

11

Potrebbero piacerti anche