Sunteți pe pagina 1din 38

LENGUAJE

DE
PROGRAMACION
BORLAND C++

ESTRUCTURAS DE CONTROL

Septiembre 2010
ESTRUCTURAS DE CONTROL

El presente captulo trata de la sintaxis de las
principales Estructuras de Control del Lenguaje de
Programacin Borland C++

Los programa son escritos usando los tres tipos de
estructuras:
Secuenciales
Selectivas
Repetitivas

<sentencia_1>;

<sentencia_2>;

- - - - - - - - - - - --
< sentencia _n >;
ESTRUCTURAS SECUENCIALES

Definida como una secuencia finita de acciones hasta
obtener un resultado coherente. Su ejecucin se
realiza en el orden en que se presentan las
instrucciones, desde el inicio hasta el final del
programa.
ESTRUCTURA SECUENCIAL

Tipos de sentencias secuenciales:


Sentencia de entrada: cin >> n ;

Sentencia de salida: cout << n ;

Sentencia de asignacin: n = n +1;

La estructura de seleccin se utiliza para alterar el
flujo de control secuencial de un programa,
mediante la evaluacin de una condicin lgica.

Una condicin lgica se expresa como una
expresin relacional, donde cada operando
pueden ser una constante o una variable y los
operadores relacionales deben ser uno de los
expuestos en la tabla de operadores de relacin.
ESTRUCTURAS SELECTIVAS
LENGUAJE DE PROGRAMACION C++

Operadores de Relacin

Operador Significado Ejemplo en C++ Significado
a == b igualdad X = = y X es igual a y
a != b desigualdad X! = y X es diferente de y
a < b Menor que X >y X es mayor que y
a > b Mayor que X < y x es menor que y
a <= b Menor o Igual que X > = y

X es mayor o igual que
a >= b Mayor o Igual que X< = y X es menor o igual que
y
ESTRUCTURAS SELECTIVAS

Estructura Selectiva Simple: Sentencia if
(Una alternativa)

Estructura Selectiva Doble: Sentencia if-else
(Dos alternativas)

Estructura Selectiva Mltiple: Sentencia switch
(Varias alternativas)
LENGUAJE DE PROGRAMACION C++

Operadores Incremento y Decremento

Los casos en que una variable es incrementada o
disminuida en uno , C++ proporciona dos operadores
unitario.

Usando el operador de incremento, ++, -- (operador)

n = n + 1; se reemplaza por la expresin n++ ++n
n = n - 1; se reemplaza por la expresin n-- --n
numero = valor ++; // incrementa valor en 1

LENGUAJE DE PROGRAMACION C++
Jerarqua de operadores
Operador Asociatividad

( )

De izquierda a derecha

!

De izquierda a derecha

* / %

De izquierda a derecha

+ -

De izquierda a derecha

< <= > >=

De izquierda a derecha

== !=

De izquierda a derecha

&&


De izquierda a derecha

//


De izquierda a derecha

= += *= /n %=


De izquierda a derecha
LENGUAJE DE PROGRAMACION C++

Operadores Lgicos

!

Negacin lgica NOT lgico


&&
Y lgico AND ((5<13) &&(5>4)
Para que sea verdad sus dos operandos deben ser
verdad

||
O lgico OR (4<2) || (3<5)
Para que sea verdad basta que un operando sea
verdad.


ESTRUCTURA SELECTIVA SIMPLE
INICIO
C. L.
<sentencias_1>
Sentencia_2
V
F

La sentencia selectiva simple evala una (condicin lgica).
La evaluacin de la condicin lgica representa un slo valor
Verdad o Falso.

Si la condicin lgica es verdadera se ejecuta la sentencia_1 y luego la
sentencia_2.

Si al evaluar la condicin lgica es falsa slo se ejecuta la sentencia_2.
if (condicin lgica)
sentencia ;
SENTENCIA if
C. L.

ESTRUCTURA SELECTIVA DOBLE

C. L.
sentencia_1
V
sentencia_2
F
FIN
SENTENCIA if - else

if (condicin lgica )
sentencia_1 ;
else
sentencia_2 ;
La sentencia selectiva doble evala una condicin lgica
. Si la condicin lgica es verdadera se ejecuta la sentencia_1.
Si la condicin lgica es evaluada como falsa se ejecuta la sentencia_2


ESTRUCTURAS SELECTIVAS
a) SELECCION SIMPLE
if (nota > 10)
cout << curso aprobado ;
if (( numero%2)==0)
cout << El numero es par ;
else
cout << El numero es impar ;
b) SELECCION DOBLE

ESTRUCTURA SELECTIVA ANIDADA

Problema 1: Disear un programa que permita leer tres
notas y determinar la menor nota.
















ESTRUCTURAS SELECTIVAS























#include <iostream.h>// PARA USAR cin, cout
#include <conio.h>// PARA USAR gotoxy(), clrscr()
#include <stdlib.h>// PARA USAR exit (1)
void main ()
{
int pc1,pc2,pc3,menor,nc=0;
float pp;
char resp ='s';
while (resp =='s')
{nc++;
clrscr();
gotoxy(40,5);cout<<"ud. es el visitante numero="<<nc;
system ("title diseado por Luz");
system ("color 1b");
gotoxy(15,4);cout<<"Bienvnido";
gotoxy(15,6);cout<<"pc1="; cin>>pc1;
gotoxy(15,7);cout<<"pc2="; cin>>pc2;
gotoxy(15,8);cout<<"pc3="; cin>>pc3;
menor =pc1;
if (menor >pc2)
{ menor =pc2 ;
}
if (menor > pc3)
{ menor =pc3 ;
}
gotoxy (10,10);
cout<<"menor nota="<<menor;
pp=((pc1+pc2+pc3)-menor)/2;
gotoxy(10,12);
cout<<"promedio="<<pp;
gotoxy(20,20); cout<<"sr. desea continuar......? (s/n)" ;

cin>>resp ;
}
if (resp == 'n')
{ clrscr();
system ("title diseado por Luz");
system ("color 2b");
gotoxy(20,12); cout<<"gracias por consultar" ;
gotoxy(20,14); cout<<"ud ha realizado ="<<nc<<" consultas";
}
getch();
}
Problema2: Disear un programa que permita determinar
el promedio de prcticas luego de eliminar la
menor nota.
ESTRUCTURA SELECTIVA DOBLE
(Observaciones)

1. La condicin lgica es una expresin que ser evaluada
como verdadera o falsa. La expresin puede ser simple
(una condicin) o compuesta, la cual est formada por
varias condiciones simples conectadas por los
operadores lgicos.

2. Siempre se usa parntesis encerrando a la condicin
lgica a evaluarse.

3. Las estructuras if se pueden anidar, es decir; puede existir
una estructura if dentro de otra.
ESTRUCTURA SELECTIVA IF- ELSE
ANIDADAS
C. L.
V
F

if (condicin lgica 1)
sentencia1;

else if (condicin lgica 2)
sentencia2;

else if (condicin lgica 3)
sentencia3;

C. L.
F
V

ESTRUCTURA SELECTIVA MULTIPLE

SELECTOR
Instruccin_1
1
Instruccin_n
N
Instruccin _2
SENTENCIA switch
2
instruccin
default
FIN
La sentencia selectiva switch
se utiliza para seleccionar una
de varias alternativas.
La sentencia switch se utiliza
cuando la seleccin se basa
en el valor de una variable
Simple o de una expresin
Simple denominada expresin
de control o selector.
El valor del selector debe ser
entero.
ESTRUCTURA SELECTIVA MULTIPLE
(Reglas de Uso)

1. La variable selector o expresin de control no puede ser: string o
real.

2. La sentencia swith requiere un valor compatible con entero. El valor
puede ser variable, una constante, una llamada de funcin o una
expresin.

3. El valor despus de cada etiqueta case debe ser una constante.

4. El final del enunciado case est marcado tpicamente con un break.
Dicha sentencia permite que el programa abandone la estructura
switch omitiendo los dems casos.

5. La etiqueta default indica al programa lo mismo que la sentencia else
en la secuencia de if anidados, es decir; se ejecuta cuando el
usuario edita un valor que no esta en la lista de valores.

ESTRUCTURA SELECTIVA MULTIPLE
(Observaciones)


6. La variable selector o expresin de control no puede ser: string o real.
8. Cuando se requiere realizar una misma accin para distintos valores de la
expresin evaluada, se coloca una sentencia case por cada valor. Sin ninguna
accin, y la accin comn se pone al final. Ejemplo:

Switch (a) {
Case 1:case 2:case 3: cout<< sentencia para valor 1, 2 y 3 ;
break ;
Case 4: cout<<sentencia para valor 4 ; break;
}
7. La etiqueta default indica al programa lo mismo que la sentencia else
en la secuencia de if anidados, es decir; se ejecuta cuando el usuario
edita un valor que no esta en la lista de valores.
switch (selector) {
caso valor_ 1 : <sentencia_1> ;
break ;
caso valor_ 2 : <sentencia_2> ;
break ;
caso valor_n : <sentencia_n ;
break ;
default <sentencia_default> ;
break ;
}

ESTRUCTURA SELECTIVA MULTIPLE


Switch (da) {
case 1: cout<<Lunes ; break ;
case 2: cout<<Martes ; break ;
case 3: cout<<Miercoles ; break ;
case 4: cout<<Jueves ; break ;
case 5: cout<<Viernes ; break
case 6: cout<<Sbado ; break ;
case 7: cout<<Domingo ; break ;
default: cout<<No es un da de la semana ;
}




ESTRUCTURA SELECTIVA MULTIPLE



switch (c)
{
case 'A': fa++; break;
case 'E': fe++; break;
case 'I': fi++; break;
case 'O': fo++; break;
case 'U': fu++; break;
}

ESTRUCTURAS REPETITIVAS


Sentencia while

Sentencia do while

Sentencia for
Las estructuras que repiten una secuencia de sentencias
un nmero determinado de veces se denomina bucle o
lazos, y se llama ITERACCIN al hecho de repetir la
ejecucin de una secuencia de sentencias.

SENTENCIAS REPETITIVAS
Corresponde a la ejecucin repetida de una
secuencia de sentencias, mientras se cumple una
determinada condicin. Poseen una sola entrada y
una sola salida.
while (condicin lgica) sea verdad
{
Sentencia (s) ;
}
INICIO
C. L.

Sentencia_1
Sentencia_2
Sentencia_3

FIN
V
F
SENTENCIA WHILE
a) BUCLE CON ENTRADA
CONTROLADA

La sentencia WHILE permite
evaluar una condicin lgica y
ejecuta el cuerpo del bucle si la
condicin lgica es verdad.


Si la condicin lgica de control es
falsa
no se ejecuta
el cuerpo del
bucle.


B

U

C

L

E


#include<iostream.h>
#include<conio.h>
Void main()
{int fact=1,n,minumero;
gotoxy(8,4);cout<<" Ingrese un numero : ";cin>>n;
minumero=n;
while (n>0)
{ fact=fact*n;
n--; }
gotoxy(15,6);cout<<"El factorial de "<<minumero <<"
es ="<<fact;
getche();
}
Problema 3: Disear un programa que permita leer un nmero n
entero positivo, luego calcular su factorial e imprimir su
resultado.

SENTENCIA WHILE















Problema 4: Disear un programa que permita leer un nmero n
entero positivo, luego calcular su factorial e imprimir su
resultado.

SENTENCIA WHILE


while(n>0) // descompongo el numero n ingresado
{ d=n%10; nd=nd+1;
If (d%2==0)
{ par++;
sump+=d;
}
else { impar++;
sumimpar+=d;
}
inv=inv*10+d;
n=n/10; }
Problema 5: Escribir un programa que lea un nmero compuesto
por ms un dgito y luego mostrar: total de dgitos, total de
dgitos pares e impares, nmero invertido, total de suma de
dgitos pares e impares respectivamente.
.
SENTENCIA WHILE
do
{
sentencia_1;
sentencia_2;
sentencia _n;
} while (condicin lgica) (sea falsa)
INICIO
C. L.

Sentencia_1
Sentencia_2
Sentencia_3

F
V
FIN
SENTENCIA DO WHILE
b) BUCLE CON SALIDA CONTROLADA
La sentencias do - while evala una condicin lgica
despus de ejecutar el cuerpo del blucle do, que se
ejecutar en secuencia repetitiva hasta que, la
condicin lgica tome un valor de falso.

El cuerpo del bucle se ejecuta por lo menos una vez
porque la condicin se evala despus de la ejecucin
del bucle repetitivo.
B
U
C
L
E















Problema 6: Disear un programa que permita leer un nmero n
y calcule la suma acumulada de la serie: 1+2+3..n.
El usuario ingresa el nmero de trminos a sumar.
SENTENCIA WHILE


# include < iostream.h >
#include <conio.h>
Void main()
{ int cont=1,suma=0,n;
cout<<"Ingrese numero de trminos";
cin>>n;
do
{ suma+=cont;
cont++;
} while (cont<=n);
cout<<"la suma es :"<<suma;
getch();
}
SENTENCIA DO WHILE















SENTENCIA WHILE
INICIO
Sentencia_1
Sentencia_2
F
V
FIN
(i;<C. L.>;contador)
SENTENCIA FOR
c) REPETICION CON NUMERO DEFINIDO DE ITERACCIONES: for
B
U
C
L
E
PROCESO DE REPETICION
Sintaxis de la sentencia for :

for (inicializacin; <condicin lgica>; contador)
{

<sentencia_1>;

<sentencia_2>;

<sentencia_3>;

}
Inicializacin; indica las condiciones iniciales cuando
se inicia el bucle.

<condicin>; se evala antes de cada iteraccin. Si
es verdadera, se ejecuta el bloque
de instrucciones, en caso contrario
se termina la estructura y se
transfiere el control a la sentencia
siguiente.


Contador; es la instruccin a ejecutarse cuando se
termina cada interaccin.


PROCESO DE REPETICION
c) REPETICION CON NUMERO DEFINIDO DE ITERACCIONES


Solucion // factoria.cpp

#include<iostream.h>
#include<conio.h>
void main()
{ int n, factorial=1,i;
clrscr(); gotoxy(10,4);cout<<" CALCULANDO FACTORIAL";
gotoxy(12,6);cout<<" Ingrese un numero :" ;cin>>n;
for(i=1;i<=n;i++)
factorial=factorial*i;
gotoxy(12,8);cout<<"el factorial de "<<n<<" es = "<<factorial;
getche();
}
Problema 7: Disear un programa que permita leer un nmero n
Positivo y luego mostrar su factorial.
SENTENCIA DO WHILE















Problema 8: Disear un programa que permita leer un nmero n
Positivo y luego mostrar su factorial.
SENTENCIA DO WHILE

S-ar putea să vă placă și