lunes, 20 de diciembre de 2021

Nivel 3 Algoritmos - Estructura repetitiva

 PROBLEMA 1

 

Construir un pseudocódigo que solo permita ingresar números pares, en caso de que el número no sea par debe volver a pedir que se ingrese el número hasta que el usuario ingrese un número par, luego mostrar el número.

 

SOLUCIÓN:

 

Proceso NumerosPares
    Definir n Como Entero
    Escribir "Ingrese número par:"
    Leer n
    Si n MOD 2=0
        Escribir "El número ingresado es: ", n
    SiNo
        Mientras n MOD 2>0 Hacer
            Escribir "Ingrese número par:"
            leer n
        FinMientras
    FinSi
    Escribir "El número ingresado es: ", n
FinProceso

Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------

PROBLEMA 2

 

Desarrollar un pseudocódigo que permita calcular el sueldo mensual de "n" empleados de una empresa. Se ingresa el nombre, categoría y número horas trabajadas. Si la categoría es A, el pago por hora es de 50 soles, si es B es de 80 soles, si es C es de 90 soles y si es D es de 120 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 5000 soles, el total que ganan desde 5000 soles a 9000 soles y los que ganan más de 9000 soles.

 

SOLUCIÓN:

Proceso SueldoMes
    Definir nombre, categoria Como Caracter
    Definir n, ht, Ptrab, Ptotal, cont1, cont2, cont3 como Entero
    Ptrab<-0
    Ptotal<-0
    cont1<-0
    cont2<-0
    cont3<-0
    Para i<-1 hasta n
        Escribir "Ingrese nombre:"
        Leer nombre
        Escribir "Ingrese categoria:"
        Leer categoria
        Escribir "Ingrese horas trabajadas:"
        Leer ht
        si categoria="A"
            Ptrab<- 50*ht
        FinSi
        Si categoria="B"
            Ptrab<- 80*ht
        FinSi
        Si categoria="C"
            Ptrab<- 90*ht
        FinSi
        Si categoria="D"
            Ptrab<- 120*ht
        FinSi
        
        Si Ptrab<5000
            cont1<-cont1+1
        FinSi
        Si Ptrab>=5000 y Ptrab<=9000
            cont2<-cont2+1
        FinSi
        Si Ptrab>9000
            cont3<- cont3+1
        FinSi
        Escribir "El pago del trabajador ", nombre, " es S/", Ptrab
        Ptotal<-Ptotal+Ptrab
    FinPara
    Escribir "El pago total es S/", Ptotal
    Escribir "Número de trabajadores que ganan menos de S/5000 es ", cont1
    Escribir "Número de trabajadores que ganan entre S/5000 y S/9000 es ", cont2
    Escribir "Número de trabajadores que ganan mas de S/9000 es ", cont3
    
FinProceso

Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------


PROBLEMA 3

Escribir un algoritmo que permita ingresar un número “n” de estudiantes (se cumple que: 10<=n<=20), cada uno de los cuáles cursa 4 materias. Para cada alumno se ingresa el nombre y sus calificaciones. Escriba un algoritmo para calcular el promedio de cada estudiante luego de ingresar sus notas.

SOLUCIÓN:

Proceso Algoritmonota5

Definir n, i Como Entero

Definir nombre como Caracter

Definir n1, n2, n3, n4, Promedio como Real

Mientras n<10 o n>20 Hacer

      Escribir “Digite la cantidad de alumnos”

      Leer n

Fin mientras

Escribir “Alumnos registrados: “, n

Para i<-1 Hasta n Con Paso 1 Hacer

Escribir “Digite el nombre del estudiante: ”

Leer nombre

Escribir “Digite la nota #1:”

Leer n1

Escribir “Digite la nota #2:”

Leer n2

Escribir “Digite la nota #3:”

Leer n3

Escribir “Digite la nota #4:”

Leer n4

Promedio<- (n1+n2+n3+n4)/4

Escribir “Promedio del estudiante ”, nombre,  “ es ”, Promedio 

FinPara

FinProceso

Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------

Nivel 2 Algoritmos - Estructura condicional

 PROBLEMA 1.

Construir un algoritmo que permita ingresar un número y nos informe si es o no múltiplo de 7.
SOLUCIÓN:

Proceso Multiplo

Definir x Como Real

Escribir "Ingrese número:"

Leer x

Si x MOD 7 = 0

       Escribir "El número", x, "es multiplo de 7"

Sino

       Escribir "El número", x, "no es multiplo de 7"

FinSi

FinProceso


Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------


PROBLEMA 2.

En un hospital se ha hecho un estudio con el objeto de hacer una aproximación de los costos diarios de internamiento por paciente. Se obtuvo un costo promedio diario según el tiempo que el enfermo esta sin atención por una enfermedad que aqueja al paciente, además se pudo determinar que en promedio todos los pacientes con edad entre 18 y 27 años implican un costo adicional del 19%. La siguiente tabla expresa los costos diarios según el tipo de enfermedad.

Tiempo sin atención

Costo diario por paciente en soles

Menos de 1 hora

10

De 1 hora a menos de 4

20

De 4 horas a menos de 10

30

De 10 horas a más

36



Construir un algoritmo que permita ingresar el tiempo de exposición del paciente en horas y su edad, para luego mostrar el costo diario de su hospitalización.

SOLUCIÓN:

Proceso Costohosp

Definir t, edad, costo Como Real

Definir categoria Como Entero

Escribir "Ingrese edad del paciente"

Leer edad

Escribir "Ingrese tiempo de exposición del paciente en horas"

Leer t

Si t<1 entonces

     categoria<-1

Sino

        Si 1<=t<4 entonces

              categoria<- 2

        Sino

                Si 4<=t<10 entonces

                     categoria <-3

                Sino           

                      Si t>=10

                          categoria <-4

                      FinSi

                 FinSi

         FinSi

FinSi

Segun categoria Hacer:

1: Si 18<=edad<=27 entonces 

        costo<- 10*(1.19)

    SiNo

         costo<- 10

    FinSi

2: Si 18<=edad<=27 entonces

        costo<- 20*(1.19)

    SiNo

         costo<- 20

    FinSi

3: Si 18<=edad<=27 entonces

        costo<- 30*(1.19)

    SiNo

         costo<- 30

    FinSi

4: Si 18<=edad<=27 entonces

        costo<- 36*(1.19)

    SiNo

         costo<- 36

    FinSi

De otro modo:

Escribir "No contempla categoría"

FinSegun

Escribir "El costo diario de hospitalización es S/", costo

FinProceso


Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------

PROBLEMA 3.

Un comerciante se dedica a la venta de líquidos de frenos. Vende tres tipos de líquidos de frenos: clásico, premium y super premium los precios son 40, 70 y 100 soles respectivamente. Sí compra más de tres líquidos de frenos de los tipos clásico, premium o super premium, los clientes reciben un descuento de 2%, 6% o 10% respectivamente en toda su compra. Hacer un programa que, al ingresar el tipo de líquidos de frenos a comprar y el número de líquidos de frenos muestre en pantalla un reporte con el importe a pagar.


SOLUCIÓN:


Proceso descuento

Definir clasico, premium, superprem Como Entero

Definir tot, totp Como Real

Definir tipliq Como Caracter

Escribir "Ingresar tipo de liquido de freno a comprar"

Leer tipliq

Escribir "Ingrese cantidad de liquido de freno", tipliq

Leer clasico, premium, supreprem

tot <- 40*clasico+70*premium+100*superprem

Si clasico>3

     totp<- 98*tot/100

SiNo

      Si premium>3

          totp<- 94*tot/100

      SiNo

             Si supreprem>3

                   totp<- 90*tot/100

              Sino

                   totp<- tot

               FinSi

       FinSi

FinSi

Escribir "Importe a pagar:  S/", totp

FinProceso


Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------

domingo, 19 de diciembre de 2021

Nivel 1 Algoritmos - Aplicación de conceptos básicos y Estructura secuencial

PROBLEMA 1. 

Elabora un algoritmo en pseudocódigo que reciba como datos de entrada el radio y la altura de un cilindro debe calcular el área total y mostrarlo en pantalla. Considere que todas las medidas están en metros y la siguiente fórmula:



Donde: “R” es el radio y “h” la altura 

 

SOLUCIÓN:

 

Proceso AreaTotalCilindro 

    //Variable de entrada

    Definir radio, altura Como Real;

    //Variable de salida

    Definir areat Como Real;

    //Captura de datos

    Escribir "Ingrese el radio en metros";

    Leer radio;

    Escribir "Ingrese la altura en metros";

    Leer altura;

    //Proceso

    areat <- 2*PI*radio*(altura+radio);

    //Salida

    Escribir "El Área total es:", areat, " metros cuadrados";

FinProceso

 

Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar

---------------------------------------------------------------------------------------------------------------------------

 

PROBLEMA 2. 

Completar el siguiente código

 

Proceso suma_resta_producto    

       _____ var1, var2, suma, resta, producto Como Entero;     

       Escribir "Ingrese el primer número: ";

       _____ var1; 

       Escribir "Ingrese el segundo número: ";     

       Leer var2;  

       suma _____ var1 + var2;  

       resta <- var1 - var2;    

       producto <- var1 ___ var2;      

       Escribir "La suma es: ", suma; 

       Escribir "La resta es: ", resta;

       _____ "El producto es: ", producto;   

FinProceso

 

SOLUCIÓN

 

Proceso suma_resta_producto    

       Definir var1, var2, suma, resta, producto Como Entero;     

       Escribir "Ingrese el primer número: ";

       Leer var1; 

       Escribir "Ingrese el segundo número: ";     

       Leer var2;  

       suma <- var1 + var2;  

       resta <- var1 - var2;    

       producto <- var1 * var2;      

       Escribir "La suma es: ", suma; 

       Escribir "La resta es: ", resta;

       Escribir "El producto es: ", producto;   

FinProceso

 

Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar.

---------------------------------------------------------------------------------------------------------------------------

 

PROBLEMA 3

Se debe permitir ingresar un valor en metros, luego mostrar su valor en centímetros y en milímetros.

Datos:

1 metro es 100 centímetros

1 centímetro es 10 milímetros

 

SOLUCIÓN:

Proceso Conversión
//VARIABLE DE ENTRADA
Definir numero Como Real
//VARIABLES DE SALIDA
Definir numcem, nummil Como Real
//CAPTURA DE DATOS
Escribir “Ingrese el número en metros: ”,
Leer numero
//PROCESO
numcem <- numero*100
Nummil <- numero*1000
//SALIDA
Escribir “El número en centímetros es: “, numcem
Escribir “El número en milímetros es: “, nummil
FinProceso

 

Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar.

---------------------------------------------------------------------------------------------------------------------------

 

PROBLEMA 4.

Ingresando la base y la altura de un triángulo, se pide hallar el área del mismo.

Formula: 

 


SOLUCIÓN:

 

Proceso Triangulo 

//VARIABLE DE ENTRADA 

Definir base, altura Como Real 

//VARIABLE DE SALIDA 

Definir area Como Real 

//CAPTURA DE DATOS 

Escribir “Ingrese la base en metros” 

Leer base 

Escribir “Ingrese la altura en metros” 

Leer altura 

//PROCESO 

area <- base*altura/2 

//SALIDA 

Escribir “El área del triángulo es: ”, area, “metros cuadrados.” 

FinProceso 


Nota: Para comprobar la solución del problema puedes usar el programa PSeInt u otro similar.

Nivel 3 Algoritmos - Estructura repetitiva

 PROBLEMA 1   Construir un pseudocódigo que solo permita ingresar números pares, en caso de que el número no sea par debe volver a pedir que...