Ejercicios con PseInt de estructuras repetitivas - Avanzado
EJERCICIO #1
Crear una calculadora de MCD en pseudocódigo, que permita ingresar dos números y muestre el MCD. Solo se debe permitir ingresar números enteros positivos
Proceso maximoComunDivisor
//Variables de entrada
Definir a, b Como Real
//Variable auxiliar
Definir aux Como Entero
//Variable de salida
Definir mcd Como Entero
//CAPTURA DE DATOS
Repetir
Escribir "Ingrese un número"
Leer a
Hasta Que a > 0
Repetir
Escribir "Ingrese otro número"
Leer b
Hasta Que b > 0
//PROCESO y SALIDA
Si a<b Entonces
aux <- b
SiNo
aux <- a
FinSi
mcd <- 1
Para i<-2 Hasta aux Con Paso 1 Hacer
Mientras a % i = 0 & b% i = 0 Hacer
a<-a/i
b<-b/i
mcd <- mcd * i
FinMientras
FinPara
Escribir mcd
FinProceso
EJERCICIO #2
Realizar un pseudocódigo que permita ingresar un número positivo, luego una base menor a 10 y devuelva el número en dicha base.
Proceso base10aBaseMenor
//Variables de entrada
Definir a,b Como Entero
//Variable auxiliar
Definir aux Como Entero
//Variable de salida
Definir bin Como Entero
//Inicializar contador
aux<-1
//Inicializar acumulador
bin<-0
//CAPTURA DE DATOS
Repetir
Escribir "Ingrese un número positivo"
Leer a
Hasta Que a > 0
Repetir
Escribir "Ingrese la base menor de 10"
Leer b
Hasta Que b > 0 & b < 10
//PROCESO y SALIDA
Escribir a Sin Saltar
Mientras a>=b Hacer
bin<-bin+(a%b)*aux
aux<-aux*10
a<-(a-a%b)/b
FinMientras
bin<-bin+(a)*aux
Escribir " en base ",b," es: ", bin
FinProceso
EJERCICIO #3
Crear un pseudocódigo que permita ingresar una frase u oración y devuelva la cantidad de vocales que hay.
Proceso buscarVocales
Definir frase Como Caracter
Definir cont Como Entero
Dimension vocales(5)
vocales[1] <- ["a"]
vocales[2] <- ["e"]
vocales[3] <- ["i"]
vocales[4] <- ["o"]
vocales[5] <- ["u"]
cont<-0
Escribir "Ingrese una frase u oración"
Leer frase
Para i<-1 hasta Longitud(frase) Con Paso 1 Hacer
Para j<-1 hasta 5 Con Paso 1 Hacer
Si Subcadena(frase,i,i)=vocales[j] Entonces
cont<-cont+1
FinSi
FinPara
FinPara
Escribir "La cantidad de vocales es: ", cont
FinProceso
EJERCICIO #4
Crear un algoritmo que simule "n" lanzamientos de un dado y muestre el valor que salió en cada lanzamiento. Finalmente debe mostrar una tabla resumen de cuantas veces salio cada valor. Nota: use arreglos
Proceso buscarVocales
Definir lanzamientos Como Entero
Definir aux Como Entero
Dimension valores(6)
//Inicializar la matriz
Para j <- 1 Hasta 6 Con Paso 1 Hacer
valores[j] <- 0
FinPara
//CAPTURA DE DATOS
Repetir
Escribir "Ingrese el número de lanzamientos del dado"
Leer lanzamientos
Hasta Que lanzamientos > 0
//PROCESO
Para i<-1 hasta lanzamientos Con Paso 1 Hacer
aux <- azar(6)+1
Escribir "Lanzamiento #",i," salió ",aux
valores[aux]<-valores[aux]+1
FinPara
//SALIDA
Escribir "==============================================="
Escribir "=================== RESUMEN ==================="
Escribir "==============================================="
Para k <- 1 Hasta 6 Con Paso 1 Hacer
Escribir "Lanzamientos que salieron ",k," : ", valores[k]
FinPara
FinProceso
EJERCICIO #5
Desarrollar un pseudocódigo que permita calcular el sueldo mensual de "n" empleados de una empresa. Se ingresa el nombre, categoria y número horas trabajadas. Si la categoría es A, el pago por hora es de 50 soles, si es B es de 35 soles, si es C es de 25 soles y si es D es de 21 soles. Luego mostrar el pago que le corresponde a cada trabajador, el pago total que se debe hacer, el total de trabajadores que ganan menos de 1000 soles, el total que ganan desde 1000 soles a 4000 soles y los que ganan más de 4000 soles.
Proceso resumen
Definir n, horas, t1k, t1k_4k, t4k Como Entero
Definir nombre, categ Como Caracter
Definir sueldo, tSueldo Como Real
//Inicializar contadores
t1k <- 0 //Menos de 1000
t1k_4k <- 0 //De 1000 a 4000
t4k <- 0 //Más de 4000
//Inicializar acumulador
tSueldo <- 0
Repetir
Escribir "Ingrese el número de empleados"
Leer n
Hasta Que n > 0
Dimension trab_dat[n,2]
Dimension trab_num[n,2]
Para i<-1 Hasta n Con Paso 1 Hacer
Repetir
Escribir "Ingrese el nombre del trabajador #",i
Leer nombre
Hasta Que longitud(nombre)>0
Repetir
Escribir "Ingrese el número de horas del trabajador #",i
Leer horas
Hasta Que horas>=0
Repetir
Escribir "Ingrese la categoria del trabajador #",i
Leer categ
categ <- Mayusculas(categ)
Hasta Que categ="A" | categ="B" | categ="C" | categ="D"
Segun categ Hacer
"A": sueldo <- horas*50
"B": sueldo <- horas*35
"C": sueldo <- horas*25
"D": sueldo <- horas*21
FinSegun
trab_dat[i,1]<-nombre
trab_num[i,1]<-horas
trab_dat[i,2]<-categ
trab_num[i,2]<-sueldo
tSueldo <- tSueldo + sueldo
Si sueldo < 1000 Entonces
t1k <- t1k + 1
SiNo
Si sueldo <= 4000 Entonces
t1k_4k <- t1k_4k + 1
SiNo
t4k <- t4k + 1
FinSi
FinSi
FinPara
Escribir "==========LISTA DE EMPLEADOS=========="
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir "NOMBRE: ", trab_dat[i,1]
Escribir "CAT | HORAS | SUELDO"
Escribir " ",trab_dat[i,2], " | " Sin Saltar
Escribir trab_num[i,1], " " Sin Saltar
Escribir " S/",trab_num[i,2]
FinPara
Escribir "======================================"
Escribir "===============RESUMEN================"
Escribir "PAGO TOTAL : S/",tSueldo
Escribir "Menos de S/1000 : ",t1k, " trabajadores"
Escribir "De S/1000 a S/4000 : ",t1k_4k, " trabajadores"
Escribir "Más de S/4000 : ",t4k, " trabajadores"
Escribir "======================================"
Escribir "======================================"
FinProceso
No hay comentarios:
Publicar un comentario