Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Operadores de relación
Sirven para comparar dos expresiones del mismo tipo. En c++ el resultado de una comparación es un
número entero distinto de cero (verdadero) o cero (falso)
Operadores lógicos:
&& Operador y
|| Operador o
! Operador negación
if(expresión)
{
instrucciones1;
}
else
{
instrucciones2;
}
if(expresión)
{
instrucciones;
}
En este caso si expresión es verdadera se ejecutan instrucciones en caso contrario el programa continúa.
if anidados
Un if anidado es un if que es el objeto de otro if o else. Una sentencia else le corresponde el if más
próximo que esté en el mismo bloque.
Ejemplo:
if(expresion1)
if(expresion2)
{
Instrucciones21;
}
else
{
Instrucciones22
}
else
{
Instrucciones12
}
If abreviado (?)
Si expresión es verdadero se le asigna a variable lo que sigue a ¿ y si expresion es falsa variable toma el
valor que sigue a :
Ejercicios Resueltos
1) Ingresar un número entero y reportar si es par o impar.
#include<iostream>
using namespace std;
int main()
{
int n;
cout<<"ingrese el numero:";
cin>>n;
if(n%2==0)
cout<<"es par"<<endl;
else
cout<<"es impar"<<endl;
system("pause");
return 0;
}
2) Programa para ingresar un número real y reporte su valor absoluto.
#include<iostream>
using namespace std;
int main()
{
float x,va;
cout<<"ingrese numero:";
cin>>x;
if(x>0)
va=x;
else
va=-x;
cout<<"el valor absoluto es:"<<va<<endl;
system("pause");
return 0;
}
3) Hacer un programa para ingresar la edad y el sexo de una persona e imprima si es hombre o
mujer mayor o menor de edad.
#include<iostream>
int main()
{
char sexo;
int edad;
cout<<"Cuantos años tiene : ";
cin>>edad;
cout<<"Sexo (m/f) : ";
cin>>sexo;
if(edad>=18)
if (sexo=='f')
cout<<"Mujer mayor de edad"<<endl;
else
cout<<"Hombre mayor de edad "<<endl;
else
if (sexo=='f')
cout<<"Mujer menor de edad"<<endl;
else
cout<<"Hombre menor de edad"<<endl;
system("pause");
return 0;
}
#include<iostream>
int main()
{
float x;
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;
system("pause");
return 0;
}
5) Determinar las raíces de la ecuación de 2do grado del tipo Ax2 + Bx + C = 0. Considerar la
sgte formula:
X1 = (-B - raiz(B2 - 4AC)) / 2A
X2 = (-B +raiz(B2 - 4AC)) / 2A
Considere las raíces imaginarias. Se dice que las raíces son imaginarias cuando la discriminante
(B2 + 4AC) es negativa. De deben ingresar los coeficientes de la ecuación cuadrática.
#include<iostream>
#include<math.h>
int main()
{
float a,b,c,d,x1,x2,real,imag;
cout<<"Coeficiente a : ";
cin>>a;
cout<<"Coeficiente b : ";
cin>>b;
cout<<"Coeficiente c : ";
cin>>c;
if(a!=0)
{
d=pow(b,2)-4*a*c;
if(d>=0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
cout<<"x1 = "<<x1<<endl;
cout<<"x2 = "<<x2<<endl;
}
else
{
real=-b/(2*a);
imag=sqrt(-d)/(2*a);
cout<<"x1 = "<<real<<" + "<<imag<<"i" <<endl;
cout<<"x2 = "<<real<<" - "<<imag<<"i"<<endl;
}
}
else
cout<<"No se puede calcular"<<endl;
system("pause");
return 0;
}
y = x2 + 5 Si x<=0
y = 3x - 1 Si 0 < x < 5
y = x2 – 4 x + 5 Sí x>=5
#include<iostream>
#include<math.h>
int main()
{
float x,y;
cout<<"Valor de x : ";
cin>>x;
if(x<=0)
y=pow(x,2)+5;
else if(x<5)
y=3*x-1;
else
y=pow(x,2)-4*x+5;
cout<<"El valor de y es : "<<y<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<math.h>
int main()
{
float x,y;
cout<<"Valor de x : ";
cin>>x;
y= x<=0 ? pow(x,2)+5 : (x<5 ? y=3*x-1 : pow(x,2)-4*x+5);
cout<<"El valor de y es : "<<y<<endl;
system("pause");
return 0;
}
#include<iostream.h>
int main()
{
float 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<<"no pertenece a un triangulo"<<endl;
system("pause");
return 0;
}
8) Una inmobiliaria vende terrenos en diferentes zonas de la Ciudad tal como se detalla a
continuación
#include<iostream>
int main()
{
char zona;
float area,total;
cout<<"Ingrese la zona donde usted desea vivir A, B, C, D: ";
cin>>zona;
cout<<"Area de Terreno : ";
cin>>area;
if(zona=='A' || zona=='a')
{
total=area *70;
cout<<"Total a pagar es : "<<total<<" soles"<<endl;
}
else if(zona=='B' || zona=='b')
{
total=area*95;
cout<<"Total a pagar es : "<<total<<" soles"<<endl;
}
else if(zona=='C' || zona=='c')
{
total=area*45;
cout<<"Total a pagar es : "<<total<<" soles"<<endl;
}
else if(zona=='D' || zona=='d')
{
total=area*45;
cout<<"Total a pagar es : "<<total<<" soles"<<endl;
}
else
cout<<"Zona Incorrecta."<<endl;
system("pause");
return 0;
}
9)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>
using namespace std;
int main()
{
char talla;
int cantidad;
float total;zc
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"<<endl;
}
else if(talla=='m' || talla=='M')
{
total=cantidad*95;
cout<<"Total a pagar es : "<<total<<" soles"<<endl;
}
else if(talla=='l' || talla=='L')
{
total=cantidad*100;
cout<<"Total a pagar es : "<<total<<" soles"<<endl;
}
else
cout<<"Talla ingresada es incorrecta "<<endl;
system("pause");
return 0;
}
10) Programa para ingresar un año y reporte si es bisiesto o no. Un año es bisiesto si es múltiplo
de 4 pero no de 100 o es múltiplo de 400.
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Ingrese valor del año : ";
cin>>a;
if(( a % 4 == 0 && a % 100 != 0) || a % 400 == 0)
cout<<"El año es bisiesto"<<endl;
else
cout<<"El año no es bisiesto"<<endl;
system("pause");
return 0;
}
11) Ingresar 3 números y calcular el mayor de ellos
#include<iostream>
using namespace std;
int main()
{
float a,b,c,may;
cout<<"Ingrese 3 numeros : ";
cin>>a>>b>>c;
may=a;
if(b>may)
may=b;
if(c>may)
may=c;
cout<<"El mayor de los numeros es : "<<may<<endl;
system("pause");
return 0;
}
Ejercicios Propuestos
11) Dada la hora en Horas, Minutos y Segundos encuentre la hora del segundo anterior, por
ejemplo: se ingresó H=11; M=00; S=00, el segundo anterior es H =10, M=59, S=59
12) La tribuna de un estadio esta numerada del 1 al 500 en la parte superior horizontal que
corresponde al número de asiento por columna; y del 1 al 50 en la parte izquierda
vertical que corresponde al número de asiento por fila. Los boletos tienen una
numeración correlativa del 1 al 25000. Para cualquier número de boleto determinar el
número de fila y el número de columna que le correspondería a la ubicación de su asiento.
13) Un trabajador es contratado bajo las condiciones sgts: por las horas normales se le paga
una tarifa fija. Se consideran horas normales a todas las horas trabajadas hasta un
total de 140 al mes. Las horas adicionales a 140 se consideran como extras y una hora
extra se paga el 50% más que una hora normal. Los impuestos están en función del
monto obtenido por el trabajador. Si el sueldo es menor o igual a S/. 2000 no paga
impuestos, pero si es mayor paga el 15%. ¿Cuál es el sueldo neto del trabajador y cuál es
el monto en impuestos que debe pagar?
14) Ingresar un número entero de 4 dígitos y determinar si todos los dígitos del número son
pares. Por ejemplo si el número es: 7286 no cumple la condición ya que el digito 7 es
impar, por el contrario el número 8424 si cumple la condición pues todos los digitos son
pares.
15) Se repartirá la herencia entre los hijos de un señor como sigue: Si la cantidad de hijos
es menor que 4; se repartirá exactamente entre el número de hijos; si son 4 o más hijos,
la mitad le tocará al hermano mayor y el resto se dividirá entre los demás hermano.
Hacer un programa para que reporte cuando le corresponde a cada hijo. Se debe
ingresar la herencia y el número de hijos.
16) En un triángulo se cumple lo siguiente:
s>a, s>b, s>c donde s: semiperímetro a, b, c : Lados del triángulo
Hacer un programa para que se ingresen los valores de los lados del triángulo y si estos
valores cumplen las condiciones calcular el área del triángulo en caso contrario reportar
'DATOS INCORRECTOS'.
AREA= Raiz_Cuadrada_de(s(s-a)(s-b)(s-c))
17) En el curso de Algoritmos se rinden 4 exámenes de las cuales se elimina la menor nota.
Hacer un programa para ingresar las notas de los 4 exámenes y reportar la nota
eliminada y el promedio final del alumno
18) En un estacionamiento, se cobra SI. 2.5 por hora o fracción de hora. Dado el tiempo de
estacionamiento de un vehículo expresado en horas y minutos determine el importe a
pagar por concepto de estacionamiento.
19) Una empresa paga a sus vendedores un sueldo igual al 10% del monto total vendido más
S/. 25 por cada S/.500 de venta en exceso sobre S/. 5000. Diseñe un programa que
permita calcular el sueldo de un vendedor.
20) Dado un número natural de tres cifras, diseñe un algoritmo que determine si el número
es o no capicúa. Un número es capicúa si se lee igual de derecha a izquierda que de
izquierda a derecha. Así, por ejemplo, 363 es capicúa; pero, 356 no lo es.
21) Diseñe un programa que determine le categoría de un estudiante en base a su promedio
ponderado de acuerdo a la siguiente tabla:
PROMEDIO CATEGORIA
>=17 A
>=14 pero <17 B
>=12 pero <14 C
< 12 D
22) El índice de masa corporal (IMC) permite medir el grado de sobrepeso u obesidad de
una persona. El IMC de una persona se calcula con la fórmula:
IMC = peso/estatura2
Estando el peso en kilogramos y la estatura en metros. En base al valor del IMC, se
obtiene el grado de obesidad de la persona de acuerdo a la tabla adjunta.
IMC GRADO DE OBESIDAD
< 20 Delgado
>=20 pero <25 Normal
>=25 pero <27 Sobrepeso
>=27 Obesidad
23) Hacer un programa que permita calcular el pago total de un trabajador de acuerdo a lo
siguiente:
Bonificación: respecto al sueldo Descuento: respecto al sueldo + bonificación
Masculino Femenino Masculino Femenino
Soltero 8% 10% Soltero 6% 5%
Casado 10% 12% Casado 4% 3%
Se debe ingresar el sueldo del trabajador, sexo y estado civil y reportar bonificación,
descuento, y el pago total.
24) Hacer un programa que permita calcular el pago total de un trabajador de acuerdo a lo
siguiente: Se debe ingresar sueldo, categoría(A, B, C o D) y condición (estable, no
estable).
- La bonificación se calcula de acuerdo a lo siguiente:
Estable No Estable
A 20% 17%
B 18% 15%
C 15% 14%
D 12% 10%