You are on page 1of 12

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas Operadores de relacin

Laboratorio 02 de Informtica

Sirven para comparar dos expresiones del mismo tipo. En c++ el resultado de una comparacin es un nmero entero distinto de cero (verdadero) o cero (falso) > >= < <= == != Mayor que Mayor o igual que Menor que Menor o igual que Igual que Diferente que

Operadores lgicos:
&& || ! Operador y Operador o Operador negacin

if... else ( Si Entonces )


Sirve para escoger una de dos caminos en un programa de acuerdo al resultado de una expresin relacional if(expresin) instruccion1; else instruccion2; Si la expresin es verdadera se ejecuta la instruccion1, si la expresin es falsa se ejecuta la instruccion2. 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 si expresin es verdadera se ejecutan instrucciones en caso contrario el programa contina.

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas

Laboratorio 02 de Informtica

if anidados Un if anidado es un if que es el objeto de otro if o else. Una sentencia else le corresponde el if ms prximo que est en el mismo bloque. Ejemplo: if(expresion1) if(expresion2) { Instrucciones21; } else { Instrucciones22 } else { Instrucciones12 } Tambin se puede tener if..else if if (expression1) { Bloque1 } else if(expression2) { Bloque2 } else { bloqueElse } En este caso si expresion1 es verdadera se ejecutara el bloque1, si es falsa se evala expresion2 si es verdadera se ejecuta bloque2 si es falsa se evala expresion3 si es verdad se ejecuta bloque3, si es falsa se ejecuta bloqueElse. If abreviado (?) variable = (expresion) ? verdadero : falso; Si expresin es verdadero se le asigna a variable lo que sigue a y si expresion es falsa variable toma el valor que sigue a :

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


1) Ejercicios Resueltos Ingresar un nmero entero y reportar si es par o impar.

Laboratorio 02 de Informtica

#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 nmero 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; } Este ejercicio lo podemos resolver de otra manera usando el if abreviado #include<iostream> using namespace std; int main() { float x,va; cout<<"ingrese numero:"; cin>>x; va= x>=0 ? x : -x; cout<<"el valor absoluto es:"<<va<<endl; system("pause"); return 0; }

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


3)

Laboratorio 02 de Informtica

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> using namespace std; int main() { char sexo; int edad; cout<<"Cuantos aos 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; } 4) Ingresar un nmero y reportar si es positivo negativo o cero.

#include<iostream> using namespace std; 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; }

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


5)

Laboratorio 02 de Informtica

Determinar las races de la ecuacin 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 races imaginarias. Se dice que las races son imaginarias cuando la discriminante (B2 + 4AC) es negativa. De deben ingresar los coeficientes de la ecuacin cuadrtica. #include<iostream> #include<math.h> using namespace std; 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; }

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


6) Calcular el valor de la funcin de acuerdo a lo siguiente : y = x2 + 5 y = 3x - 1 Si x<=0 Si 0 < x < 5

Laboratorio 02 de Informtica

y = x2 4 x + 5 S x>=5 Se debe ingresar el valor de x y reportar el valor de y. #include<iostream> #include<math.h> using namespace std; 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; } Otra manera de hacerlo usando if abreviado: #include<iostream> #include<math.h> using namespace std; 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; }

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


7)

Laboratorio 02 de Informtica

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> using namespace std; 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 continuacin Zona Precio (m2) A 70 B 60 C 45 D 30 Se pide ingresar la zona donde vive y el rea del terreno y calcular el precio de Venta #include<iostream> using namespace std; 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;

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


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; }

Laboratorio 02 de Informtica

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; } Docente: Ing. Marcelino Torres Villanueva 8

9)

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


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;

Laboratorio 02 de Informtica

10) 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> using namespace std; int 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; system("pause"); return 0; } 11) Ingresar 3 nmeros 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; }

Docente: Ing. Marcelino Torres Villanueva

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas


Ejercicios Propuestos

Laboratorio 02 de Informtica

Escriba un programa para determinar s un nmero entero A es divisible por otro B. 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. 3) Escriba un programa que ingrese un nmero entero y determine si es par, en caso de no serlo determine si es divisible por 3. 4) Calcule el inters mensual generado por un capital. La tasa de inters mensual depende del capital que fue depositado. Si el capital es menor de 500, la tasa de inters ser del 2% mensual. Si el capital es mayor o igual que 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 5) Una tienda que vende pantalones al menudeo y al mayoreo tiene las siguientes tarifas, si se compran menos de 5 pantalones estos se cobran a su precio normal, en caso de que se compren 5 o ms pero menos de 12 , se les descuenta el 15% en cada pantaln, si se compran mas de 12 se les descuenta 30% en cada pantaln. Escriba un programa que pida como dato de entrada el nmero de pantalones que se desean comprar y con ello imprima el total a pagar por la compra hecha. 6) Disee un programa que lea 3 nmeros enteros y determine el nmero intermedio. No usar operadores lgicos. 7) Escriba un programa que pida una letra minscula, el programa deber imprimir si la letra es una vocal (a,e,i,o,u), semivocal (y) o una consonante. 8) Escriba un programa que pida el numero de mes (del 1 al 12 ) y el ao e imprima el nmero de das que tiene el mes. 9) Un estudiante recibe una propina mensual de S/.100. A fin de mes el estudiante rinde 3 exmenes (Informtica, clculo, Fsica). El papa ha decidido incentivarlo dndole una propina adicional de 20 soles por cada examen aprobado. Hacer un programa que determine cuanto de propina recibe el estudiante despus de dar los exmenes. 10) Calcule el valor de la funcin Fx, dada por x3 + x/2, para x < 0 Fx = 4x2 2 , para x 0 11) Dados 3 valores enteros X, Y, Z. Elaborar un algoritmo para determinar si esos valores son los lados de un tringulo. X, Y, Z, son los lados de un tringulo si cumplen con las siguientes condiciones: X>0, Y>0, Z>0, X+Y>Z, X+Z>Y, Y+Z>X Adems clasificar el tringulo por sus lados: Equiltero, Escaleno e Issceles 12) 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 13) La tribuna de un estadio esta numerada del 1 al 500 en la parte superior horizontal que corresponde al nmero de asiento por columna; y del 1 al 50 en la parte izquierda vertical que corresponde al nmero de asiento por fila. Los boletos tienen una numeracin correlativa del 1 al 25000. Para cualquier nmero de boleto determinar el nmero de fila y el nmero de columna que le correspondera a la ubicacin de su asiento. 14) 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 Docente: Ing. Marcelino Torres Villanueva 10

1) 2)

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas

Laboratorio 02 de Informtica

total de 140 al mes. Las horas adicionales a 140 se consideran como extras y una hora extra se paga el 50% ms que una hora normal. Los impuestos estn en funcin 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%. Cul es el sueldo neto del trabajador y cul es el monto en impuestos que debe pagar? 15) Ingresar un nmero entero de 4 dgitos y determinar si todos los dgitos del nmero son pares. Por ejemplo si el nmero es: 7286 no cumple la condicin ya que el digito 7 es impar, por el contrario el numero 8424 si cumple la condicin pues todos los digitos son pares. 16) Dada la ecuacin de la recta ax + by = c, determinar si un punto (x, y) pertenece o no a dicha recta. 17) 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. 18) 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= Raiz_Cuadrada_de(s(s-a)(s-b)(s-c)) 19) En el curso de Algoritmos se rinden 4 exmenes de las cuales se elimina la menor nota. Hacer un programa para ingresar las notas de los 4 exmenes y reportar la nota eliminada y el promedio final del alumno 20) En un estacionamiento, se cobra SI. 2.5 por hora o fraccin de hora. Dado el tiempo de estacionamiento de un vehculo expresado en horas y minutos determine el importe a pagar por concepto de estacionamiento. 21) Una empresa paga a sus vendedores un sueldo igual al 10% del monto total vendido ms S/. 25 por cada S/.500 de venta en exceso sobre S/. 5000. Disee un programa que permita calcular el sueldo de un vendedor. 22) Dado un nmero natural de tres cifras, disee un algoritmo que determine si el nmero es o no capica. Un nmero es capica si se lee igual de derecha a izquierda que de izquierda a derecha. As, por ejemplo, 363 es capica; pero, 356 no lo es. 23) Disee un programa que determine le categora de un estudiante en base a su promedio ponderado de acuerdo a la siguiente tabla: PROMEDIO >=17 >=14 pero <17 >=12 pero <14 < 12 CATEGORIA A B C D

24) Una tienda vende-tres tipos de productos cuyos cdigos son 200, 300 Y 400 a los precios unitarios dados en la siguiente tabla: CODIGO 200 Docente: Ing. Marcelino Torres Villanueva
PRECIO UNITARIO

20 11

Universidad Nacional de Trujillo Facultad de Ingeniera Escuela de Ingeniera de Sistemas

Laboratorio 02 de Informtica

300 35 400 50 Como oferta la tienda ofrece un porcentaje de descuento sobre el importe de la compra de acuerdo a la siguiente tabla:
DESCUENTO IMPORTE DE COMPRA >= 1000 20 % >=800 pero <1000 16 % >=300 pero < 800 12 % < 300 8% Disee un algoritmo que determine el importe de la compra, el importe del descuento y el importe a pagar por la compra de cierta cantidad de unidades de un mismo tipo de producto. 25) 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 frmula: 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. GRADO DE OBESIDAD IMC < 20 Delgado >=20 pero <25 Normal >=25 pero <27 Sobrepeso >=27 Obesidad

Hacer un programa que determine el grado de obesidad de una persona conociendo su peso y su estatura. 26) Hacer un programa que permita calcular el pago total de un trabajador de acuerdo a lo siguiente: Bonificacin : respecto al sueldo Descuento : respecto al sueldo + bonificacin 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 bonificacin, descuento, y el pago total. 27) Hacer un programa que permita calcular el pago total de un trabajador de acuerdo a lo siguiente: Se debe ingresar sueldo, categora(A, B, C o D) y condicin (estable, no estable). - La bonificacin se calcula de acuerdo a lo siguiente: Estable No Estable A 20% 17% B 18% 15% C 15% 14% D 12% 10% - Descuento: respecto al sueldo + bonificacin Estable: 6% No estable: 4% Se debe reportar bonificacin, descuento y pago total.

Docente: Ing. Marcelino Torres Villanueva

12

You might also like