Está en la página 1de 14

ESTRUCTURA DE UN PROGRAMA EN C++

El objetivo de la presente sesin es:


Conocer las herramientas para el manejo de las estructuras
selectivas (Carta N-S, Diagrama de flujo y Pseudocodigo)
Codificar en C++ el algoritmo planteado en estas herramientas.
Conocer las sentencia if/else del C++

Conocer las sentencias if/else if/ else.


Resolver en cada caso ejemplos

ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Las sentencias se ejecutan una tras otra, en el orden
en el que se escribieron, pero es posible escribir que
el programador indique las instrucciones que se
debe ejecutar
Para ello se utiliza las estructuras de seleccin,
donde mediante esta podemos alterar el flujo del
control secuencial.
a) Sentencia if()
Sintaxis
if (<condicion>)
sentencia1(s);
[else
sentencia2(s);]
ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Si la condicin es verdadero, se ejecuta la sentencia1(s),
en caso contrario se ejecuta la sentencia2(s), es decir la
sentencia que esta despus de la clusula else.
REPRESENTACION EN PSEUDOCODIGO
Si (<condicion>) entonces
sentencia(s)
Sino

sentencia(s)
Fin Si
ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Representacin en carta N-S y diagrama de flujo.
N-S

D.F.

Condicin
Verdad

Si

Falso

Condicin
Sentencia(s)

Sentencia(s)

No

Sentencia2

Sentencia1

ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Diagrama de flujo

Diagrama carta N-S

Condicin
No

Condicin
Si

Verdad

Falso

Sentencia(s)

Sentencia1

ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


b) Setencia if() en Bloque
Sintaxis

if (<condicion1>)
sentencia1(s);
[else if(<condicion2>)
sentencia2(s);
else if(<condicion3>)
sentencia3(s);
....
else
sentencia(s);]
ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Representacion en Pseudocodigo
Si (<condicion1>) entonces

Sentencia1(s)
Sino Si(<Condicion2>) entonces
Sentencia2(s)

Sino Si(<Condicion3>) entonces


Sentencia3(s)

Sino
Sentencia(s)
Fin Si
ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Representacin en carta N-S y diagrama de flujo (D.F.).
Condicin1

Si

Condicin2

Sentencia1

No

Si

Sentencia3(s)

Sentencia2(s)

Sentencia1(s)

Condicin
1

Condicin2

Sentencia2

No
Sentencia3

ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Si la condicin1 es verdadero, se ejecuta la sentencia1(s), en
caso contrario prueba la condicion2, si es verdadero se procesa la
sentencia2(s), y as sucesivamente se va probando el resto de las
condiciones.
Si ninguna de las condiciones se cumple, entonces se ejecuta la
sentencia que viene despus de la clusula else.

Nota: En una instruccin if/else, while, do while, for. Si existe una


instruccin se llama sentencia simple, no es necesario delimitar
con llaves.
En cambio si existe mas de una instruccin, es sentencia
compuesta por lo tanto debe delimitarse con llaves ({ }).

ING. FLIX HUARI

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Inicio
Declarar variables a,b,resto como enteros
Escribir(Ingrese 2 numeros enteros:)
Leer(a,b)
Si(b<>0) entonces
restoa-a/b*b
Si(resto=0) entonces
Escribir(a, es divisible entre ,b)
Sino
Escribir(a, No es divisible entre ,b)
FinSi
Sino
Escribir(Error, Denominador es 0)
FinSi
Fin

Dado 2 nmeros
enteros, se pide
disear
un
algoritmo
en
pseudocodigo que
permita verificar si
es divisible el
primer numero con
el segundo, en
cada caso escribir
un
mensaje
adecuado. Luego
codificar en C ++
ING. FLIX HUARI

10

ESTRUCTURA SELECTIVA DE CONTROL EN C++


//Codificacion en C++
#include <iostream>
using namespace std;
//Programa principal
int main()
{ int a, b, resto;
cout<<"Ingrese primer numero:";cin>>a;
cout<<"Ingrese segundo numero:";cin>>b;
cout<<endl;
if(b!=0)
{ resto= a-a/b*b;

ING. FLIX HUARI

11

ESTRUCTURA SELECTIVA DE CONTROL EN C++


if(resto==0)
cout<<a<<" es divisible entre "<<b<<endl;
else
cout<<a<<" no es divisible entre "<<b<<endl;
}
else
cout<<"Error..., denominador debe ser diferente de cero\n";
cout<<endl;
system("pause");
}

ING. FLIX HUARI

12

ESTRUCTURA SELECTIVA DE CONTROL EN C++


#include <iostream>
using namespace std;
//Programa principal
int main()
{ int n,d,m;
cout<<"Ingrese primer numero:";
cin>>n;
cout<<endl;
if(n>=100 && n<1000)
{ m=n/10;
d=m-m/10*10;
cout<<"El digito central es "<<d<<endl;
}
else
cout<<"Error en ingreso de datos\n";
system("pause");
}
ING. FLIX HUARI

13

ESTRUCTURA SELECTIVA DE CONTROL EN C++


Ejemplo
#include <iostream>
using namespace std;
// Programa de conv. de temperaturas
int main()
{ char tipo;
float temp,celsius;
cout<<"Temperatura a convertir:"; cin>>temp;
cout<<"Digite F si la temperatyura esta en grados Fahrenheit"<<endl;
cout<<"o una C si la temperatura esta en grados Celsius: "; cin>>tipo;
if(tipo=='F')
{ celsius=5.0/9*(temp-32.0);
cout<<"Equivale a "<<celsius<<" grados celsius"<<endl;
}
else
cout<<"Equivale a "<<(9.0/5*temp+32.0)<<" grados Fahrenheit"<<endl;
}

ING. FLIX HUARI

14