Está en la página 1de 20

Ejercicios propuestos

1. Construir un pseudocódigo que valide la nota de un estudiante, el programa debe pedir la nota y solo si esta se
encuentra en el rango de 0 a 20 se debe mostrar. Debe pedir la nota mientras esta se encuentre fuera de ese
rango.

SOLUCIÓN:

Algoritmo NotaEstudiante

Definir nota Como Entero

Repetir

Escribir "Ingrese nota del estudiante: "

Leer nota

Si nota < 0 O nota > 20 Entonces

Escribir "INGRESE NOTA CORRECTA"

Fin Si

Hasta Que nota >= 0 Y nota <= 20

Escribir "La nota del estudiantes es: ", nota

FinAlgoritmo

2. 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:

Algoritmo PromedioEstudiantes

Definir nombre Como Cadena

Definir n, i, j Como Entero


Definir calificacion, suma_nota, promedio Como Real

Repetir

Escribir "Ingrese la cantidad de estudiantes:"

Leer n

Si n < 10 O n > 20 Entonces

Escribir "ERROR, INGRESE CANTIDAD DE ESTUDIANTES CORRECTO:"

Fin Si

Hasta Que n >= 10 Y n <= 20

Para i <- 1 Hasta n Con Paso 1 Hacer

Escribir "Ingrese nombre del estudiante ", i, ":"

Leer nombre

suma_nota <- 0

Para j <- 1 Hasta 4 Con Paso 1 Hacer

Escribir "Ingrese calificación ", j, ":"

Leer calificacion

suma_nota <- suma_nota + calificacion

Fin Para

promedio <- suma_nota/4

Escribir "El promedio del estudiante ", nombre, " es: ", promedio
Fin Para

FinAlgoritmo

3. Se lanza un dado reiteradas veces hasta que el valor del tiro es 1. Determinar la cantidad de veces que se lanzó
el dado y el puntaje acumulado, si lo que se acumula es el valor del tiro.

SOLUCIÓN:

Algoritmo TiroDado

Definir tiro, cantidad_tiro, puntaje_acumulado Como Entero

cantidad_tiro = 0

puntaje_acumulado = 0

Repetir

Escribir "Ingrese el valor de tiro:"

Leer tiro

cantidad_tiro <- cantidad_tiro + 1

puntaje_acumulado <- puntaje_acumulado + tiro

Hasta Que tiro = 1

Escribir "La cantidad de veces que se lanzó el dado son: ", cantidad_tiro

Escribir "El puntaje acumulado es: ", puntaje_acumulado

FinAlgoritmo
4. Desarrolle un algoritmo que calcule el promedio de los primeros 10 números naturales usando la estructura
REPETIR – HASTA QUE

SOLUCIÓN:

Algoritmo Promedio10NúmerosNaturales

Definir num, sumanum Como Entero

Definir promedio Como Real

num <- 0

sumanum <- 0

Repetir

num <- num + 1

sumanum <- sumanum + num

Hasta Que num = 10

promedio <- sumanum/10

Escribir "El promedio de los promedios 10 números naturales es: ", promedio

FinAlgoritmo

5. Escribir un algoritmo que permita crear una matriz MxN donde el usuario ingresa los valores de M (filas) y N
(columnas). Todos los elementos se rellenan con el símbolo *
Por ejemplo, si el usuario ingres M=2 y N=3 se debe mostrar: ***
***

SOLUCIÓN:

Algoritmo MatrizMxN

Definir i, j, M, N Como Entero


Repetir

Escribir "Ingrese el número de filas:"

Leer M

Escribir "Ingrese el número de columnas:"

Leer N

Hasta Que M > 0 Y N > 0

Escribir " "

Para i <- 1 Hasta M Con Paso 1 Hacer

Para j <- 1 Hasta N Con Paso 1 Hacer

Escribir "*" Sin Saltar

Fin Para

Escribir " "

Fin Para

Escribir " "

FinAlgoritmo
PRUEBA DE ESCRITORIO

ProcesoPrueba

Definir i, j, k, l Como Entero

j <- 15

k <- 1

Para i <- 1 hasta j Con Paso k Hacer

j <- j + 1

k <- k + 1

l <- i + j + k

FinPara

FinProceso

15 1
Paso i j k l
1 1 16 2 19
2 3 17 3 23
3 6 18 4 28
4 10 19 5 34
5 15 20 6 41
EXAMEN 1

SOLUCIÓN:

Algoritmo PagoEmpleados

Definir condicion_obrero Como Cadena

Definir sueldo_base, mes Como Entero

Definir gratificacion, sueldo_bruto, sueldo_neto, tiempo_servicio, descuento Como Real

Escribir "Ingrese condición de obrero (Contratado/Estable):"

Leer condicion_obrero

Escribir "Ingrese tiempo de servicio del empleado:"

Leer tiempo_servicio

Escribir "Ingrese valor de mes (1-12):"

Leer mes
gratificacion <- 0

Segun condicion_obrero Hacer

"Contratado":

sueldo_base <- 1200.00

"Estable":

sueldo_base <- 1000.00

De Otro Modo:

Escribir "INGRESE CONDICIÓN DE OBRERO CORRECTO"

Fin Segun

Si (tiempo_servicio >= 0 Y tiempo_servicio <= 5) Y (mes = 7 O mes = 12) Entonces

gratificacion <- (60/100)*sueldo_base

SiNo

Si tiempo_servicio <= 10 Y (mes = 7 O mes = 12) Entonces

gratificacion <- (80/100)*sueldo_base

SiNo

Si tiempo_servicio > 11 Y (mes = 7 O mes = 12) Entonces

gratificacion <- (100/100)*sueldo_base

Fin Si

Fin Si

Fin Si

descuento <- (12/100)* sueldo_base

sueldo_bruto <- sueldo_base + gratificacion

sueldo_neto <- sueldo_bruto - descuento

Escribir "El sueldo bruto del empleado es: S/ ", sueldo_bruto


Escribir "La gratificación del empleado es: S/ ", gratificacion

Escribir "El sueldo neto del empleado es: S/ ", sueldo_neto

FinAlgoritmo

SOLUCIÓN:

Algoritmo SeparaciónNúmero

Definir i, j, num1, num2, suma_1, suma_2, multiplo_3, multiplo_5 Como Entero

Escribir "Ingrese el primer número:"

Leer num1

Escribir "Ingrese el segundo número:"

Leer num2

suma_1 <- 0

suma_2 <- 0
Si num1 < num2 Entonces

Escribir "Los múltiplos de 3 son: "

Para i <- num1 Hasta num2 Con Paso 1 Hacer

suma_1 <- suma_1 + 1

Si i mod 3 = 0 Entonces

Escribir i

Fin Si

Fin Para

Escribir "La cantidad de números ascendente son: ", suma_1

Fin Si

Si num1 > num2 Entonces

Escribir "Los múltiplos de 2 son:"

Para j <- num1 Hasta num2 Con Paso -1 Hacer

suma_2 <- suma_2 + 1

Si j mod 2 = 0 Entonces

Escribir j
Fin Si

Fin Para

Escribir "La cantidad de números descendientes son: ", suma_2

Fin Si

FinAlgoritmo
SOLUCIÓN:

Proceso Prueba

Definir i, j, k Como Entero

j <- 8

Para i <- 16 Hasta 2 Con Paso -4 Hacer

k <- i mod j

Si j mod 2 = 0 Entonces

j <- j + 2

FinSi

FinPara
k <- j – i

Escribir i, j, k

FinProceso
8
Paso i j k
1 16 10 0
2 12 12 2
3 8 14 8
4 4 16 4
5 0 16 16
EXAMEN 2
SOLUCIÓN:

Algoritmo OfertaLibrería

Definir tipo_libro Como Cadena

Definir precio, cantidad_libros Como Entero

Definir descuento, importe_neto Como Real

Escribir "Ingrese tipo de libro (Java/C#/Pyhton/Swift):"

Leer tipo_libro

Escribir "Ingrese la cantidad de libros comprados del mismo tipo:"

Leer cantidad_libros

Segun tipo_libro Hacer

"Java":

precio <- 39.00*cantidad_libros

"C#":

precio <- 35.00*cantidad_libros

"Pyhton":

precio <- 40.00*cantidad_libros

"Swift":

precio <- 38.00*cantidad_libros

De Otro Modo:

Escribir "INGRESE TIPO DE LIBRO CORRECTO"

Fin Segun

Si precio < 100 Entonces

descuento <- (5/100)*precio

SiNo
Si precio <= 200 Entonces

descuento <- (8/100)*precio

SiNo

descuento <- (10/100)*precio

Fin Si

Fin Si

importe_neto <- precio - descuento

Escribir "El importe de la compra es: ", precio

Escribir "El importe del descuento es: ", descuento

Escribir "El importe neto a pagar es: ", importe_neto

FinAlgoritmo
SOLUCIÓN:

Algoritmo ÁreaImprimible

Definir tamaño_papel, respuesta Como Cadena

Definir area_imprimible Como Real

Repetir

Escribir "Ingrese el tamaño de papel (A4/B5/A5/Carta/Legal/Ejecutivo/Media Carta):"

Leer tamaño_papel

Segun tamaño_papel Hacer

"A4":
area_imprimible <- (297/10 -2.5) * (210/10 - 3)

"B5":

area_imprimible <- (182/10 -2.5) * (257/10 - 3)

"A5":

area_imprimible <- (148/10 -2.5) * (210/10 - 3)

"Carta":

area_imprimible <- (8.5*2.54 -2.5) * (11*2.54 - 3)

"Legal":

area_imprimible <- (8.5*2.54 -2.5) * (14*2.54 - 3)

"Ejecutivo":

area_imprimible <- (7.25*2.54 -2.5) * (10.5*2.54 - 3)

"Media Carta":

area_imprimible <- (5.5*2.54 -2.5) * (8.5*2.54 - 3)

De Otro Modo:

Escribir "INGRESE TAMAÑO DE PAPEL CORRECTO"

Fin Segun

Escribir "El área imprimible del tamaño de papel ", tamaño_papel, " es: ", area_imprimible, "
cm^2"

Escribir "¿Desea que finalice el programa?"

Leer respuesta

Hasta Que respuesta = "Sí"

FinAlgoritmo
SOLUCIÓN:

Sea el siguiente seudocódigo, determine el valor de las variables F, J, M, N en cada paso.


INICIO

F <- 6

J <- 2

Para M <- 6 HASTA 0 CON PASO -J

N <- F ^ M

FinPara

N <- N ^ 3;

ESCRIBIR F, J, M, N

FIN
6 2
Paso F J M N
1 6 2 6 46 656
2 6 2 4 1 296
3 6 2 2 36
4 6 2 0 1

Ejecutar el seudocódigo y completar el cuadro anterior y obtener lo siguiente:

1. Prueba de escritorio correcta


2. Valor final de F: 6 , J: 2, M: -2 , N: 3

También podría gustarte