Sei sulla pagina 1di 19

Lenguale C++.

Sesion02 : Estructura Selectiva Simple

OPERADORES DE RELACION
En lenguaje C un valor distinto de cero puede ser interpretado como verdadero, y el valor cero se
considera como falso.

>

mayor que

>=

mayor o igual que

<

menor que

<=

menor o igual que

==

igual que

!=

diferente que

La comparacin entre datos numricos es una expresin que toma uno de los valores 1 o 0,
segn estos datos hagan verdadera o falsa la comparacin respectivamente
OPERADORES LGICOS

&&

||

negacin

ESTRUCTURA SELECTIVA SIMPLE


if... else
Sirve para escoger una de dos caminos en un programa

if(expresin) instruccion1;
else instruccion2;

Si la expresin toma un valor distinto de cero (verdadero) se ejecuta la instruccion1; si la


expresin toma el valor cero (falso) se ejecuta la instruccin2.

Tambin se puede utilizar

if(expresin)
{
Instrucciones1;
}
else
{
Instrucciones2;
}

donde Instrucciones1 e Instrucciones2 , son bloques de instrucciones.

La sentencia else es opcional

if(expresin)
{
Instrucciones;
}

En este caso se ejecuta las instrucciones si expresin toma un valor verdadero (no nulo) y
despus se contina con las otras instrucciones del programa.
Ejercicios Resueltos

1) Hacer un programa para ingresar un nmero entero y reporte si es par o impar.

#include<iostream.h>

void main()
{
int n;
cout<<"ingrese el numero:";
cin>>n;
if(n%2==0)
cout<<"es par"<<endl;
else
cout<<"es impar"<<endl;
}

2) Ingresar la edad de una persona y reportar si es mayor o menor de edad.

#include<iostream.h>

void main() {
int e;

cout << "Ingrese su edad: ";


cin >> e;
if(e >= 18)
cout << "Usted es mayor de edad." << endl;
else
cout << "Eres menor de edad." << endl;
cout << "Presione una tecla para continuar...";
}

3) Hacer un programa para ingresar un nmero y se reporte si es positivo, negativo o cero.

#include<iostream.h>
void main()
{
double x;
clrscr();
cout<<"ingrese numero:";
cin>>x;
if(x>0)
cout<<"es positivo"<<endl;
else

if(x<0)
cout<<"es negativo"<<endl;
else
cout<<"es cero"<<endl;
}

3) Programa para ingresar un numero real y reporte su valor absoluto.


#include<iostream.h>
void main()
{
float x,va;
cout<<"ingrese numero:";
cin>>x;
if(x>0)
va=x;
else
va=-x;
cout<<"el valor absoluto es:"<<va<<endl;
}

4) En un restaurante ofrecen un descuento del 5% para consumos de hasta S/. 50, un descuento
del 12% para consumos mayores y para ambos casos se aplica un impuesto del 10%. Determinar
el importe a pagar por lo consumido, mostrando todos los importes.

#include<iostream.h>

void main()
{
double m, d, i, p;
cout << "Ingrese monto del consumo: ";
cin >> m;
if(m <= 50)
d = 0.05 * m;
else
d = 0.12 * m;
i = 0.10 * m;
p = m - d + i;
cout << "El descuento obtenido es: " << d << endl;
cout << "El impuesto a pagar es: " << i << endl;
cout << "El total a pagar es: " << p << endl;
}
5) Hacer un programa para ingresar el valor de 3 ngulos en grados sexagesimales, y reportar si
son los ngulos del triangulo, adems decir si es rectngulo, obtusngulo o acutngulo.

#include<iostream.h>

void main()
{
double a,b,c;
cout<<"ingrese valor de tres angulos";
cin>>a>>b>>c;
if((a+b+c)==180)
{
cout<<"es un triangulo"<<endl;
if(a==90||b==90||c==90)
cout<<"es rectangulo"<<endl;
else
if(a>90||b>90||c>90)
cout<<"es obtusangulo"<<endl;
else
cout<<"es acutangulo"<<endl;
}
else
cout<<"Los ngulos no pertenecen a un triangulo"<<endl;

6) Una inmobiliaria vende terrenos en diferentes zonas de la Ciudad tal como se detalla a
continuacin
Zona

Precio (m2)

70

60

45

30

Se pide ingresar la zona donde vive y el rea del terreno y calcular el precio de Venta

#include<iostream.h>

void main()
{
char zona;
double area,pventa;

cout<<"Zona donde vive : ";


cin>>zona;
cout<<"area de terreno : ";
cin>>area;
if(zona=='a' || zona=='A')

{
pventa=area*70;
cout<<"El precio de Venta es : "<<pventa<<" dolares"<<endl;
}
else
if(zona=='b' || zona=='B')
{
pventa=area*60;
cout<<"El precio de Venta es : "<<pventa<<" dolares"<<endl;
}
else
if(zona=='c' || zona=='C')
{
pventa=area*45;
cout<<"El precio de Venta es : "<<pventa<<" dolares"<<endl;
}
else
if(zona=='d' || zona=='D')
{

pventa=area*30;
cout<<"El precio de Venta es : "<<pventa<<" dolares"<<endl;
}
else
cout<<"zona ingresada es incorrecta "<<endl;
}

7) Determinar el precio que debe pagarse por la compra de una cantidad de camisas del mismo
tipo, si el precio de las camisas talla S es de 85, de talla M es de 95, y la talla L es de 100. Se debe
ingresar la cantidad de camisas a comprar y la talla

#include<iostream.h>
#include<conio.h>

void main()
{
char talla;
int cantidad;
float total;
clrscr();
cout<<"Talla de las camisas S, M, L : ";
cin>>talla;
cout<<"cantidad de camisas a comprar : ";

cin>>cantidad;
if(talla=='s' || talla=='S')
{
total=cantidad*85;
cout<<"Total a pagar es : "<<total<<" soles";
}
else
if(talla=='m' || talla=='M')
{
total=cantidad*95;
cout<<"Total a pagar es : "<<total<<" soles";
}
else
if(talla=='l' || talla=='L')
{
total=cantidad*100;
cout<<"Total a pagar es : "<<total<<" soles";
}
else

cout<<"Talla ingresada es incorrecta ";


getch();
}

8) Programa para ingresar un ao y reporte si es bisiesto o no. Un ao es bisiesto si es mltiplo


de 4 pero no de 100 o es mltiplo de 400.

#include<iostream.h>
#include<conio.h>

void main()
{
int a;
cout<<"Ingrese valor del ao : ";
cin>>a;
if(( a % 4 == 0 && a % 100 != 0) || a % 400 == 0)
cout<<"El ao es bisiesto"<<endl;
else
cout<<"El ao no es bisiesto"<<endl;
}

9) Ingresar 3 nmeros y reportar el mayor de ellos si son diferentes, sino reportar que los 3
nmeros son iguales.

#include<iostream.h>

void main()
{
double a,b,c,may;
cout<<"Primer numero : ";
cin>>a;
cout<<"Segundo numero : ";
cin>>b;
cout<<"Tercer numero : ";
cin>>c;
if(a==b && b == c)
cout<<"Los numeros son iguales"<<endl;
else
{
may=a;
if(b>may)
may=b;
if(c>may)
may=c;

cout<<"El mayor de los 3 numeros es : "<<may<<endl;


}
}

10) La forma general de una ecuacion de 1er grado es Ax + B = 0. Resolver ecuaciones de este
tipo donde se debe ingresar los coeficientes A y B (A no puede ser 0).

#include<iostream.h>

void main()
{
double A, B, x;
cout << "Ingrese A: ";
cin >> A;
cout << "Ingrese B: ";
cin >> B;
if(A != 0)
{
x = -B / A;
cout << A << "x + " << B << " = 0" << endl;
cout << "x = " << x << endl;
}
else

cout << " Error A es cero !" << endl;


cout << "Presione una tecla para continuar...";
}

11) La empresa de suministro de energia, ha establecido las sgts reglas para la cobranza:
a) Si el consumo es menor o igual a 100kw, se paga S/. 0.80 por cada kw.
b)Si es mayor a 100kw, se pagan S/. 0.80 por cada uno de los 100 primeros kw, pero por cada
uno de los adicionales se paga S/. 0.99
c) Si el valor del pago es mayor a S/. 250, se realiza un descuento del 9%.
Determine cuanto debe pagar un cliente y si se le debe realizar dcto.

#include<iostream.h>

void main()
{
double c,p,d;
cout << "Ingrese consumo (en kw): ";
cin >> c;
if(c <= 100)
p = 0.8 * c;
else
p = 0.8 * 100 + 0.99 * (c - 100);

cout << "Debe pagar: " << p << endl;


if(p > 250)
{
d = .09 * p;
cout << "Obtiene descuento de: " << d << endl;
}
else
cout<<"No obtiene descuento"<<endl;
}

Ejercicios Propuestos

Escriba un programa para determinar s un nmero entero A es divisible por otro B.

Hacer un programa para que calcule e imprima los valores de las races reales de una
ecuacin de segundo grado:

Ax2 + Bx + C =0
Se debe ingresar los coeficientes de la ecuacin A, B y C.

Calcule el inters mensual generado por un capital. La tasa de inters mensual depende
del capital que fue depositado. Si el capital es mayor que cero pero menor de 500, la tasa de
inters ser del 2% mensual. Si el capital es al menos 500 pero menor o igual a 1500 entonces la
tasa de inters es de 4.5%. Si el capital es mayor que 1500 la tasa de inters es del 9%. Se debe
ingresar el capital y reportar el inters

Hacer un programa de tal manera que se ingrese las 2 evaluaciones de un alumno y


reporte APROBADO si el promedio es mayor o igual a 10.5 y DESAPROBADO en caso contrario.

La comisin de las ventas totales es como sigue:

Si VENTAS < S/.80, entonces no hay comisin.

Si S/.80 <= VENTAS <= S/.600 entonces la comisin es igual al 12% de


las ventas.

Si VENTAS > 600 entonces la comisin es igual al 15% de las ventas.

Hacer un programa para que se ingrese las ventas y se reporte la comisin.

Hacer un programa para calcular el pago semanal de un trabajador. Se debe ingresar el


nombre, pago por hora y el nmero de horas trabajadas. Si normalmente se trabaja 40 horas a la
semana y por cada hora extra trabajada se paga 1.5 veces la hora normal, reportar el nombre y el
pago semanal del trabajador.

Se repartir la herencia entre los hijos de un seor como sigue: Si la cantidad de hijos es
menor que 4; se repartir exactamente entre el nmero de hijos; si son 4 o ms hijos, la mitad le
tocar al hermano mayor y el resto se dividir entre los dems hermano. Hacer un programa
para que reporte cuando le corresponde a cada hijo. Se debe ingresar la herencia y el nmero de
hijos.

Una empresa comercial desea hacer un programa para calcular el precio neto de un
artculo de acuerdo a lo siguiente:

Si la venta es al contado se le da el 40% de descuento.

Si la venta es a plazos y:

T=6 se recarga el 20 %
T=12 se recarga el 40%
T=18 se recarga el 60%

Se debe ingresar el precio del artculo, el codigo de venta (c) contado, (p) plazos y si la venta es a
plazos se debe ingresar el tiempo de pago.

En un tringulo se cumple lo siguiente:

s>a, s>b, s>c

donde s: semipermetro

a, b, c : Lados del tringulo

Hacer un programa para que se ingresen los valores de los lados del tringulo y si estos valores
cumplen las condiciones calcular el rea del tringulo en caso contrario reportar 'DATOS
INCORRECTOS'.
AREA= s(s-a)(s-b)(s-c)

Calcular el valor de la funcin de acuerdo a lo siguiente :

y = x 2 + 5 Si x<=0

y = 3x - 1 Si 0 < x < 2

y = x2 - 4x + 5 S x>=2

Se debe ingresar el valor de x y reportar el valor de y.

Los empleados de una fbrica trabajan en dos turnos: diurno y nocturno. Se desea
calcular el jornal diario de acuerdo a los siguientes puntos:

La tarifa de las horas diurnas es de S/.1.5

La tarifa de las horas nocturnas es de S/. 2.25

En caso de ser domingo la tarifa aumentar en S/.1 en el turno diurno y S/. 1.25 en el
turno nocturno.

Se debe leer el turno, las horas trabajadas y el da de la semana.

Ingresar el valor de 3 lados y reportar si forman un triangulo. Si estos forman un


triangulo reportar si es equiltero, issceles o escaleno. Si no forman un triangulo reportar
Datos no forman triangulo.

Potrebbero piacerti anche