Ejercicios con PseInt de estructuras condicionales - Avanzado
EJERCICIO #1
Construir un pseudocódigo que permita el sueldo base de un trabajador (asumimos que el usuario ingresa un valor mayor a cero), su categoría (A,B o C) y la cantidad de hijos (asumimos que el usuario ingresa un valor mayor o igual que cero). Luego calcule y muestre su sueldo bruto de acuerdo a las siguientes tablas:
Categoría
Aumento
A
10% de su sueldo base
B
20% de su sueldo base
C
15% de su sueldo base
Número de hijos
Bono
Ninguno
0 soles
De 1 a 3
200 soles
De 4 a 6
350 soles
De 7 a más
500 soles
Proceso sueldo
//Variables
Definir hijos Como Entero
Definir sBruto, sBase Como Real
Definir cat Como Caracter
//ENTRADA DE DATOS
Escribir "Ingrese el sueldo base en soles"
Leer sBase
Escribir "Ingrese la categoria (A, B o C)"
Leer cat
Escribir "Ingrese el número de hijos"
Leer hijos
//PROCESO
Segun MAYUSCULAS(cat) hacer
Caso "A": sBruto <- sBase*1.1
Caso "B": sBruto <- sBase*1.2
Caso "C": sBruto <- sBase*1.15
FinSegun
Si hijos > 0 Entonces
Si hijos >= 1 & hijos <=3 Entonces
sBruto <- sBruto + 200
SiNo
Si hijos > 3 & hijos <=6 Entonces
sBruto <- sBruto + 350
SiNo
sBruto <- sBruto + 500
FinSi
FinSi
FinSi
//SALIDA
Escribir "El sueldo bruto es: S/", sBruto
FinProceso
EJERCICIO #2
Construir un pseudocódigo que permita ingresar la fecha de un año (valor mayor que cero) y muestre un mensaje indicando si es bisiesto o no. Nota: Mostrar una advertencia si se ingresa un valor menor igual que cero.
Proceso bisiesto
Definir anio Como Entero
Escribir "Ingresa el año"
Leer anio
Si anio > 0 Entonces
Si anio % 4 = 0 entonces
Si anio % 100 = 0 entonces
Si anio % 400 = 0 Entonces
Escribir "El año ", anio, " es bisiesto"
SiNo
Escribir "El año ", anio, " no es bisiesto"
FinSi
SiNo
Escribir "El año ", anio, " es bisiesto"
FinSi
SiNo
Escribir "El año ", anio, " no es bisiesto"
FinSi
SiNo
Escribir "AVERTENCIA: Año no válido"
FinSi
FinProceso
EJERCICIO #3
Realizar un pseudocódigo que permita calcular el sueldo semanal de un trabajador. El programa debe pedir el total de horas trabajadas en la semana y el pago por hora. Si el total de horas trabajadas es mayor a 48 la diferencia de horas se considera como horas extras y se pagan un 50% más que una hora normal. Si el sueldo obtenido es mayor a S/ 500.00 se descuenta un 11% en caso contrario el descuento es del 5%. El programa debe mostrar el total de horas laboradas, la cantidad de horas extra, el sueldo sin descuentos y su sueldo final
Proceso sueldo
//Variables
Definir horas, hExtra como Entero
Definir pagoHora, sBruto, sFinal como Real
//ENTRADA DE DATOS
Escribir "Ingrese en numero de horas trabajadas"
Leer horas
Escribir "Ingrese en monto de pago por hora"
Leer pagoHora
//PROCESO
hExtra<-0
Si horas > 48 entonces
hExtra<- horas - 48
horas<-48
FinSi
sBruto<-horas*pagoHora+hExtra*pagoHora*1.5
Si sBruto > 500 Entonces
sFinal<-sBruto*0.89
SiNo
sFinal<-sBruto*0.95
FinSi
//SALIDA
Escribir "Las horas trabajadas son : ", horas+hExtra, " horas"
Escribir "Las horas extra son : ", hExtra, " horas"
Escribir "El sueldo sin descuentos es: S/", sBruto
Escribir "El sueldo final es : S/", sFinal
FinProceso
EJERCICIO #4
Construir un pseudocódigo que permita ingresar un numero natural de dos a tres cifras y muestre el mensaje "Es capicúa" o "No es capicúa" según sea el caso. Nota: mostrar una advertencia si el número no es de 2 o 3 cifras.
Proceso capicua
Definir num como Entero
Escribir "Ingresa un número de dos o tres cifras"
Leer num
Si num >= 10 & num < 100 entonces
Si num % 11 = 0 Entonces
Escribir "Es capicúa"
SiNo
Escribir "No es capicúa"
FinSi
SiNo
Si num >= 100 & num < 1000 entonces
Si num % 10 = TRUNC(num/100) Entonces
Escribir "Es capicúa"
SiNo
Escribir "No es capicúa"
FinSi
SiNo
Escribir "ADVERTENCIA: Ingrese un numero de dos o tres cifras"
FinSi
FinSi
FinProceso
EJERCICIO #5
Desarrollar un pseudocódigo que permita ingresar un año, valide que sea mmayor que cero, luego un mes (validando que se encuentra entre 1 y 12). Finalmente el día y muestre un mensaje señalando si la fecha existe. Nota: en caso la fecha no exista mostrar una advertencia.
Proceso validarFecha
Definir d,m,a,aux Como Entero
Escribir "Ingrese el año"
Leer a
Si a > 0 Entonces
Escribir "Ingrese el mes"
Leer m
Si m>0 & m<=12 Entonces
Escribir "Ingrese el día"
Leer d
Segun m hacer
1,3,5,7,10,12:
Si d > 0 & d <=31 Entonces
Escribir "Fecha: ",d,"-",m,"-",a," válida"
SiNo
Escribir "AVERTENCIA: día no válido"
FinSi
2:
Si a % 4 = 0 entonces
Si a % 100 = 0 entonces
Si a % 400 = 0 Entonces
aux <- 29
SiNo
aux <- 28
FinSi
SiNo
aux <- 29
FinSi
SiNo
aux <- 28
FinSi
Si d > 0 & d <=aux Entonces
Escribir "Fecha: ",d,"-",m,"-",a," válida"
SiNo
Escribir "AVERTENCIA: día no válido"
FinSi
4,6,9,11:
Si d > 0 & d <=30 Entonces
Escribir "Fecha: ",d,"-",m,"-",a," válida"
SiNo
Escribir "AVERTENCIA: día no válido"
FinSi
FinSegun
SiNo
Escribir "AVERTENCIA: Mes no válido"
FinSi
SiNo
Escribir "AVERTENCIA: Año no válido"
FinSi
FinProceso
No hay comentarios:
Publicar un comentario