FUNAL SESION 03

May 1, 2018 | Author: italo tutorial | Category: Body Mass Index, Obesity, Triangle, Mathematics, Physics & Mathematics


Comments



Description

Curso: Fundamentos de Algoritmos – Sesión 03Operadores 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) > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual que != Diferente que Operadores lógicos: && Operador y || Operador o ! Operador negación if... else ( Si … Entonces ) Sirve para escoger una de dos caminos en un programa de acuerdo al resultado de una expresión relacional if(expresión) instruccion1; else instruccion2; Si la expresión es verdadera se ejecuta la instruccion1, si la expresión es falsa se ejecuta la instruccion2. También se puede utilizar if(expresión) { instrucciones1; } else { instrucciones2; } Donde instrucciones1 e instrucciones2, son bloques de instrucciones. - La sentencia else es opcional if(expresión) { instrucciones; } En este caso si expresión es verdadera se ejecutan instrucciones en caso contrario el programa continúa. Docente: Ing. Marcelino Torres Villanueva 1 Curso: Fundamentos de Algoritmos – Sesión 03 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 } - También 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 evalúa expresion2 si es verdadera se ejecuta bloque2 si es falsa se evalúa expresion3 si es verdad se ejecuta bloque3, si es falsa se ejecuta bloqueElse. If abreviado (?) variable = (expresion) ? verdadero : falso; 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 : Docente: Ing. Marcelino Torres Villanueva 2 Curso: Fundamentos de Algoritmos – Sesión 03 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; } 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 3 Curso: Fundamentos de Algoritmos – Sesión 03 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> using namespace std; 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; } 4) Ingresar un número 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 4 Curso: Fundamentos de Algoritmos – Sesión 03 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> 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 5 Curso: Fundamentos de Algoritmos – Sesión 03 6) Calcular el valor de la función de acuerdo a lo siguiente : y = x2 + 5 Si x<=0 y = 3x - 1 Si 0 < x < 5 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 6 Curso: Fundamentos de Algoritmos – Sesión 03 7) Hacer un programa para ingresar el valor de 3 ángulos en grados sexagesimales, y reportar si son los ángulos del triangulo, además decir si es rectángulo, obtusángulo o acutángulo. #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 continuación 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 7 Curso: Fundamentos de Algoritmos – Sesión 03 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') Docente: Ing. Marcelino Torres Villanueva 8 Curso: Fundamentos de Algoritmos – Sesión 03 { 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; } Docente: Ing. Marcelino Torres Villanueva 9 Curso: Fundamentos de Algoritmos – Sesión 03 Ejercicios Propuestos 1) Escriba un programa para determinar sí un número entero A es divisible por otro B. 2) 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 número entero y determine si es par, en caso de no serlo determine si es divisible por 3. 4) Calcule el interés mensual generado por un capital. La tasa de interés mensual depende del capital que fue depositado. Si el capital es menor de 500, la tasa de interés será del 2% mensual. Si el capital es mayor o igual que 500 pero menor o igual a 1500 entonces la tasa de interés es de 4.5%. Si el capital es mayor que 1500 la tasa de interés es del 9%. Se debe ingresar el capital y reportar el interés 5) Diseñe un programa que lea 3 números enteros y determine el número intermedio. No usar operadores lógicos. 6) Escriba un programa que pida una letra minúscula, el programa deberá imprimir si la letra es una vocal (a,e,i,o,u), semivocal (y) o una consonante. 7) Escriba un programa que pida el numero de mes (del 1 al 12) y el año e imprima el número de días que tiene el mes. 8) Un estudiante recibe una propina mensual de S/.100. A fin de mes el estudiante rinde 3 exámenes (Informática, cálculo, Física). El papa ha decidido incentivarlo dándole una propina adicional de 20 soles por cada examen aprobado. Hacer un programa que determine cuanto de propina recibe el estudiante después de dar los exámenes. 9) Calcule el valor de la función Fx, dada por x3 + x/2, para x < 0 Fx = 4x2 – 2 , para x ≥ 0 10) Dados 3 valores enteros X, Y, Z. Elaborar un algoritmo para determinar si esos valores son los lados de un triángulo. X, Y, Z, son los lados de un triángulo si cumplen con las siguientes condiciones: X>0, Y>0, Z>0, X+Y>Z, X+Z>Y, Y+Z>X Además clasificar el triángulo por sus lados: Equilátero, Escaleno e Isósceles 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? Docente: Ing. Marcelino Torres Villanueva 10 Curso: Fundamentos de Algoritmos – Sesión 03 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 Hacer un programa que determine el grado de obesidad de una persona conociendo su peso y su estatura. Docente: Ing. Marcelino Torres Villanueva 11 Curso: Fundamentos de Algoritmos – Sesión 03 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% - Descuento: respecto al sueldo + bonificación Estable: 6% No estable: 4% Se debe reportar bonificación, descuento y pago total. Docente: Ing. Marcelino Torres Villanueva 12
Copyright © 2024 DOKUMEN.SITE Inc.