domingo, 9 de febrero de 2020

Ejercicios resueltos de pseudocódigos

Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Elaborar un pseudocódigo que permita ingresar la cantidad de varones y mujeres y muestre el porcentaje de estos para su grupo de estudiantes.

SOLUCIÓN

  1. Proceso procentajeAlumnos
  2. Definir varones, mujeres Como Entero
  3. Definir porcentajeVar, porcentajeMuj Como Real
  4. Escribir "Ingrese la cantidad de varones"
  5. Leer varones
  6. Escribir "Ingrese la cantidad de mujeres"
  7. Leer mujeres
  8. porcentajeVar <- varones / (varones + mujeres) * 100
  9. porcentajeMuj <- mujeres / (varones + mujeres) * 100
  10. Escribir "El porcentaje de varones es: ", porcentajeVar, "%"
  11. Escribir "El porcentaje de mujeres es: ", porcentajeMuj, "%"
  12. FinProceso



Digite el importe de una compra, en caso de que el importe sea 150 o más, se le descontará el 12%. Mostrar el descuento otorgado y el importe de compra final

SOLUCIÓN

  1. Proceso descuentos
  2. Definir impBase, dscto, impFinal Como Real
  3. Escribir "Ingrese el importe"
  4. Leer impBase
  5. dscto <- 0
  6. Si impBase >= 150 Entonces
  7. dscto <- impBase * 0.12
  8. FinSi
  9. impFinal <- impBase - dscto
  10. Escribir "Importe final S/", impFinal
  11. FinProceso



Ingrese el nombre de un alumno y las notas de su examen parcial, examen final y el promedio de prácticas; muestre el nombre del alumno y su promedio final solo si el alumno está aprobado. Tenga en cuenta que para el cálculo del promedio la nota del examen final tiene peso doble. Considere que para aprobar se debe tener una nota de 11.5 o más.

SOLUCIÓN

  1. Proceso aprobados
  2. Definir nombre Como Caracter
  3. Definir practicas, parcial, final Como Entero
  4. Definir promedio Como Real
  5. Escribir "Ingrese el nombre"
  6. Leer nombre
  7. Escribir "Ingrese las notas de las prácticas"
  8. Leer practicas
  9. Escribir "Ingrese la notas del parcial"
  10. Leer parcial
  11. Escribir "Ingrese la notas del final"
  12. Leer final
  13. promedio <- (practicas + parcial + 2*final)/4
  14. Si promedio >= 11.5 Entonces
  15. Escribir "Nombres ", nombre
  16. Escribir "Promedio ", promedio
  17. FinSi
  18. FinProceso



Ingrese un numero natural de dos cifras y muestre el mensaje “Es capicúa” o “No es capicúa” según sea el caso.

SOLUCIÓN

  1. Proceso capicua2
  2. Definir num Como Entero
  3. Escribir "Ingrese un número de dos cifras"
  4. Leer num
  5. Si num MOD 11 = 0 Entonces
  6. Escribir num, " es capicúa"
  7. SiNo
  8. Escribir num, " no es capicúa"
  9. FinSi
  10. FinProceso



Realizar un pseudocódigo que permita ingresar el nombre del cliente, la cantidad en soles a cambiar y el tipo de moneda a la que se desea cambiar, en este caso sólo será dólares o euros, se deberá visualizar la cantidad en la moneda extranjera cambiada. Tenga en cuenta el siguiente tipo de cambio $1 = S/ 2.35 y €1 = S/ 3.58.

SOLUCIÓN

  1. Proceso divisas
  2. Definir nombre, moneda Como Caracter
  3. Definir monto, cambio Como Real
  4. Escribir "Ingresa el nombre"
  5. Leer nombre
  6. Escribir "Ingrese el monto a cambiar en S/"
  7. Leer monto
  8. Escribir "Ingrese la moneda a cambiar dolares o euros"
  9. Leer moneda
  10. Si Mayusculas(moneda) = "DOLARES" Entonces
  11. cambio <- monto/2.35
  12. SiNo
  13. Si Mayusculas(moneda) = "EUROS" Entonces
  14. cambio <- monto/3.58
  15. FinSi
  16. FinSi
  17. Escribir "Cambio ", cambio
  18. FinProceso



Dado un número entero; determinar si el mismo es par, impar o nulo.

SOLUCIÓN

  1. Proceso ceros
  2. Definir num Como Entero
  3. Escribir "Ingresa un número"
  4. Leer num
  5. Si num = 0 Entonces
  6. Escribir "Es nulo"
  7. SiNo
  8. Si num MOD 2 = 0 Entonces
  9. Escribir "Es par"
  10. SiNo
  11. Escribir "Es impar"
  12. FinSi
  13. FinSi
  14. FinProceso



A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000, por encima de 1000 hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. Calcular el descuento y sueldo neto que recibe el trabajador dado un sueldo.

SOLUCIÓN

  1. Proceso descuentos
  2. Definir sueldo, dscto, sneto Como Real
  3. Escribir "Ingrese el sueldo"
  4. Leer sueldo
  5. Si sueldo <= 1000 Entonces
  6. dscto <- 0.1*sueldo
  7. SiNo
  8. Si sueldo <= 2000 Entonces
  9. dscto <- 0.05*(sueldo-1000)
  10. SiNo
  11. dscto <- 0.03*(sueldo-2000)
  12. FinSi
  13. FinSi
  14. sneto <- sueldo - dscto
  15. Escribir "Sueldo: S/", sueldo
  16. Escribir "Descuento: S/", dscto
  17. Escribir "Sueldo neto: S/", sneto
  18. FinProceso



Una agencia de seguros para autos asigna costos mensuales en base al sexo y edad del conductor. Los varones menores de 25 años pagan 1000 soles, los de 25 a más pagan 700 soles. Las mujeres de 21 años o menos pagan 500 y las que tienen más de 21 años paga 600 soles. Realizar un programa en pseudocódigo que solicite la edad y sexo de la persona, luego de acuerdo con lo mencionado muestre el costo mensual del seguro en pantalla.

SOLUCIÓN

  1. Proceso seguros
  2. Definir genero Como Caracter // V o M
  3. Definir edad Como Entero
  4. Definir precio Como Real
  5. Escribir "Ingrese el genero V o M"
  6. Leer genero
  7. Escribir "Ingrese la edad"
  8. Leer edad
  9. Segun Mayusculas(genero) Hacer
  10. "V":
  11. Si edad < 25 Entonces
  12. precio <- 1000
  13. SiNo
  14. precio <- 700
  15. FinSi
  16. "M":
  17. Si edad >= 21 Entonces
  18. precio <- 500
  19. SiNo
  20. precio <- 600
  21. FinSi
  22. De Otro Modo:
  23. Escribir "ERROR"
  24. FinSegun
  25. Escribir "El pago es: S/", precio
  26. FinProceso



Hacer un pseudocodigo que imprima los números pares entre 0 y 100

SOLUCIÓN

  1. Proceso pares1_100
  2. Para cont <- 1 Hasta 100 Con Paso 1 Hacer
  3. Si cont MOD 2 = 0 Entonces
  4. Escribir cont," - " Sin Saltar
  5. FinSi
  6. FinPara
  7. FinProceso



  1. Proceso pares1_100
  2. Para cont <- 2 Hasta 100 Con Paso 2 Hacer
  3. Escribir cont," - " Sin Saltar
  4. FinPara
  5. FinProceso



Calcular el salario total de un grupo de “n” trabajadores (el valor “n” se ingresa por teclado) dada la cantidad de horas trabajadas y la tarifa por hora para cada uno de los trabajadores.

SOLUCIÓN

  1. Proceso sueldos
  2. Definir horas, n Como Entero
  3. Definir tarifa, sueldo, sueldoTotal Como Real
  4. sueldoTotal <- 0//acumulador, aumenta de acuerdo a un valor "x"
  5. Escribir "Ingrese el numero de trabajadores"
  6. Leer n
  7. Para cont <- 1 hasta n Con Paso 1 Hacer
  8. Escribir "Ingrese las horas"
  9. Leer horas
  10. Escribir "Ingrese la tarifa por hora"
  11. Leer tarifa
  12. sueldo <- horas * tarifa
  13. sueldoTotal <- sueldoTotal + sueldo
  14. FinPara
  15. Escribir "Sueldo del grupo: S/",sueldoTotal
  16. FinProceso



Construir un programa que calcule el factorial de un número

SOLUCIÓN

  1. Proceso factoriales
  2. Definir n,fact,aux Como Entero
  3. fact<-1
  4. Escribir "Ingrese n"
  5. Leer n
  6. Para i<-1 hasta n Con paso 1 Hacer
  7. fact<-fact*i
  8. FinPara
  9. Escribir n,"! = ", fact
  10. FinProceso

  1. Proceso factoriales
  2. Definir n,fact,aux Como Entero
  3. fact<-1
  4. aux<-1
  5. Escribir "Ingrese n"
  6. Leer n
  7. Mientras aux<=n Hacer
  8. fact<-fact*aux
  9. aux<-aux+1
  10. FinMientras
  11. Escribir n,"! = ", fact
  12. FinProceso



Dado un número entero positivo cualquiera, invertirlo y mostrarlo en pantalla

SOLUCIÓN

  1. Proceso invertido
  2. Definir num, cf, inv, aux Como Entero
  3. Leer num
  4. aux<-num
  5. Mientras aux>0 Hacer
  6. cf <- aux MOD 10
  7. aux <- (aux - cf)/10
  8. inv<-inv*10+cf
  9. FinMientras
  10. Escribir "numero inicial :", num
  11. Escribir "numero invertido:", inv
  12. FinProceso



Se desea crear un algoritmo para un sistema de votación. Supóngase en este caso que hay cuatro candidatos, con identificadores 1, 2, 3, 4. Usted habrá de calcular mediante un programa, el número de votos correspondiente a cada candidato y el porcentaje que obtuvo respecto al total de los votantes. El usuario ingresara los votos de manera desorganizada, tal y como se obtuvieron en la elección. El conteo de votos se detiene si se ingresa el valor cero. Observe, como ejemplo, la siguiente lista: 1 3 1 4 2 2 1 3 1 1 1 3 4 1 2 4 4 0

SOLUCIÓN

  1. Proceso votaciones
  2. Definir v,a,b,c,d Como Entero
  3. // Contadores para cada cantidato
  4. a<-0
  5. b<-0
  6. c<-0
  7. d<-0
  8. Repetir
  9. Escribir "ingrese voto"
  10. leer v
  11. Si v=1 Entonces
  12. a<-a+1
  13. FinSi
  14. Si v=2 Entonces
  15. b<-b+1
  16. FinSi
  17. Si v=3 Entonces
  18. c<-c+1
  19. FinSi
  20. Si v=4 Entonces
  21. d<-d+1
  22. FinSi
  23. Hasta Que v=0 //Se detiene si v es CERO
  24. Escribir "votos del candidato 1=", a
  25. Escribir "votos del candidato 2=", b
  26. Escribir "votos del candidato 3=", c
  27. Escribir "votos del candidato 4=", d
  28. FinProceso



Construir un algoritmo que permita ingresar un número “n” de estudiantes (se cumple que: 1<=n<=50), cada uno de los cuáles cursa 5 materias. Para cada alumno se ingresa, clave y las 5 calificaciones. Escriba un algoritmo para calcular el promedio de cada estudiante luego de ingresar sus notas.

SOLUCIÓN

  1. Proceso clase
  2. Definir n, notas Como Entero
  3. Definir clave Como Caracter
  4. Definir prom Como Real
  5. prom<-0
  6. Repetir
  7. Escribir "Ingrese la cantidad de alumnos"
  8. Leer n
  9. Hasta Que n>=1 Y n <=50
  10. Para i<-1 Hasta n Con Paso 1 Hacer
  11. Escribir "Ingrese la clave del alumno#",i
  12. Leer clave
  13. Para j<-1 Hasta 5 Con Paso 1 Hacer
  14. Repetir
  15. Escribir "Ingrese la nota #",j
  16. Leer notas
  17. Hasta Que notas>=0 Y notas<=20
  18. prom<-prom+notas
  19. FinPara
  20. prom<-prom/5
  21. Escribir "Codigo: ", clave, " Promedio: ", prom
  22. prom<-0
  23. FinPara
  24. FinProceso



Ejercicio con PseInt usando funciones

Las funciones dentro de PseInt se pueden crear mediante la palabra reservada SubProceso, SubAlgortimo o Función. Esto dependerá del estilo d...