Вы находитесь на странице: 1из 10

Ejercicios Decisin

Ejercicio 1:- En una playa de estacionamiento cobran S/. 2.5 por hora o fraccin. Disee un
algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehculo,
conociendo el tiempo de estacionamiento en horas y minutos.
Algoritmo 1
INICIO
// Declaracin de variables
ENTERO horas, minutos
REAL pago
// Entrada de datos
LEER horas, minutos
// Si hay alguna fraccin de hora, incrementa las horas a pagar en
una unidad
SI( minutos > 0 )
horas = horas + 1
// Determina el importe a pagar
pago = horas * 2.5

FIN

// Salida de resultados
IMPRIMIR pago

Algoritmo 2
INICIO
// Declaracin de variables
ENTERO horas, minutos, horasPagar
REAL pago
// Entrada de datos
LEER horas, minutos
// Determina el nmero de horas a pagar
SI( minutos > 0 )
horasPagar = horas + 1
SINO
horasPagar = horas
// Determina el importe a pagar
pago = horasPagar * 2.5

FIN

// Salida de resultados
IMPRIMIR pago

Ejercicio 2:- Disee un algoritmo que determine si n nmero es o no es, par positivo.
Algoritmo
INICIO
// Declaracin de variables
REAL numero
CADENA tipoNumero

Ejercicios Decisin
// Entrada de datos
LEER numero
// Determina si el nmero es o no es, par positivo
SI( (numero%2==0) && (numero>0) )
tipoNumero = "El nmero es par positivo"
SINO
tipoNumero = "El nmero no es par positivo"
// Salida de resultados
IMPRIMIR tipoNumero
FIN
Ejercicio 3:- Disee un algoritmo que lea tres nmeros y determine el nmero mayor.
Algoritmo
INICIO
// Declaracin de variables
REAL numero1, numero2, numero3, numeroMayor
// Entrada de datos
LEER numero1, numero2, numero3
// Determina el mayor
numeroMayor = numero1
SI( numero2 > numeroMayor )
numeroMayor = numero2
SI( numero3 > numeroMayor )
numeroMayor = numero3
// Salida de resultados
IMPRIMIR mayor
FIN
Ejercicio 4:- Una tienda ha puesto en oferta la venta al por mayor de cierto producto,
ofreciendo un descuento del 15% por la compra de ms de 3 docenas y 10% en caso contrario.
Adems por la compra de ms de 3 docenas se obsequia una unidad del producto por cada
docena en exceso sobre 3. Disee un algoritmo que determine el monto de la compra, el monto
del descuento, el monto a pagar y el nmero de unidades de obsequio por la compra de cierta
cantidad de docenas del producto.
Algoritmo
INICIO
// Declaracin de variables
REAL montopag, montocom, montodes, precio
ENTERO docenas, obsequio
// Entrada de datos
LEER docenas, precio
// Determina el monto de la compra
montocom = docenas*precio
// Determina el monto del descuento y el obsequio
SI( docenas > 3 ){
montodes = 0.15*montocom

Ejercicios Decisin
obsequio = docenas-3
}
SINO{
montodes = 0.10*montocom
obsequio = 0
}
// Determina el monto a pagar
montopag = montocom - montodes

FIN

// Salida de resultados
IMPRIMIR montocom, montodes, montopag, obsequio

Ejercicio 5:- Disee un algoritmo que lea un nmero de tres cifras y determine si es o no
capica. Un nmero es capica si es igual al revs del nmero.
Observacin
Como el nmero tiene tres cifras, para ser capica basta con que la cifra de las unidades sea
igual a la cifra de las centenas. Por ejemplo: 353, 878, etc.
Algoritmo
INICIO
// Salida de resultados
ENTERO numero, unidades, centenas
CADENA tipoNumero
// Entrada de datos
LEER numero
// Si el nmero tiene tres cifras...
SI(numero >= 100 && numero <= 999 ){
// Determina la cifra de las unidades y la cifra de las
centenas

unidades = numero%10
centenas = numero/100
// Determina el tipo de nmero entre capica o no capica
SI( unidades == centenas )
tipoNumero = "El nmero es capica"
SINO
tipoNumero = "El nmero no es capica"
// Muestra el tipo de nmero
IMPRIMIR tipoNumero

}
SINO
FIN

IMPRIMIR "Ingrese un nmero de tres cifras"

Ejercicio 6:- Disee un algoritmo que califique el puntaje obtenido en el lanzamiento de tres
dados en base a la cantidad seis obtenidos, de acuerdo a lo siguiente: tres seis, excelente; dos
seis, muy bien; un seis, regular; ningn seis, psimo.
Algoritmo

Ejercicios Decisin
INICIO
// Declaracin de variables
ENTERO dado1, dado2, dado3
CADENA calificacion
// Entrada de datos
LEER dado1, dado2, dado3
// Determina la calificacin
SI( dado1 + dado2 + dado3 == 18 )
calificacion = "Excelente"
SINO SI( dado1+dado2 == 12 || dado1+dado3 == 12 || dado2+dado3 ==
12 )

calificacion = "Muy bin"


SINO SI( dado1 == 6 || dado2 == 6 || dado3 == 6 )
calificacion = "Regular"
SINO
calificacion = "Psimo"

FIN

// Salida de resultados
IMPRIMIR calificacion

Ejercicio 7:- Una compaa dedicada al alquiler de automoviles cobra un monto fijo de $30
para los primeros 300 km de recorrido. Para ms de 300 km y hasta 1000 km, cobra un monto
adicional de $ 0.15 por cada kilmetro en exceso sobre 300. Para ms de 1000 km cobra un
monto adicional de $ 0.10 por cada kilmetro en exceso sobre 1000. Los precios ya incluyen el
18% del impuesto general a las ventas, IGV. Disee un algoritmo que determine el monto a
pagar por el alquiler de un vehculo y el monto includo del impuesto.
Algoritmo
INICIO
// Declaracin de variables
REAL kilomrec, montopag, montoigv, montofijo = 30, igv = 0.18
// Entrada de datos
LEER kilomrec
// Determina el monto a pagar
SI( kilomrec <= 300 )
montopag = montofijo
SINO SI( kilomrec <= 1000 )
montopag = montofijo + 0.15*(kilomrec-300)
SINO
montopag = montofijo + 0.15*700 + 0.10*(kilomrec-1000)
// Determina el monto del impuesto
montoigv = igv*montopag /(1+igv)
// Salida de resultados
IMPRIMIR montopag, montoigv
FIN
Ejercicio 8:- Disee un algoritmo que determine quienes son contemporneos entre Juan,
Mario y Pedro.
Algoritmo

Ejercicios Decisin
INICIO
// Declaracin de variables
ENTERO juan, mario, pedro
CADENA contemporaneos
// Entrada de datos
LEER juan, mario, pedro
// Determina quienes son contemporneos
SI( juan == mario && mario == pedro )
contemporaneos = "Los tres son contemporneos"
SINO SI( juan == mario )
contemporaneos = "Juan y Mario son contemporneos"
SINO SI( juan == pedro )
contemporaneos = "Juan y Pedro son contemporneos"
SINO SI( mario == pedro )
contemporaneos = "Mario y Pedro son contemporneos"
SINO
contemporaneos = "No hay contemporneos"

FIN

// Salida de resultados
IMPRIMIR contemporaneos

Ejercicio 9:- El promedio de prcticas de un curso se calcula en base a cuatro prcticas


calificadas de las cuales se elimina la nota menor y se promedian las tres notas ms altas.
Disee un algoritmo que determine la nota eliminada y el promedio de prcticas de un
estudiante.
Algoritmo
INICIO
// Declaracin de variables
REAL pc1, pc2, pc3, pc4, pcmenor, promedio
// Entrada de datos
LEER pc1, pc2, pc3, pc4
// Determina la nota menor
pcmenor = pc1
SI( pc2 < pcmenor )
pcmenor = pc2
SI( pc3 < pcmenor )
pcmenor = pc3
SI( pc4 < pcmenor )
pcmenor = pc4
// Determina el promedio
promedio = (pc1 + pc2 + pc3 + pc4 - pcmenor )/3
// Salida de resultados
IMPRIMIR promedio, pcmenor
FIN
Ejercicio 10:- Disee un algoritmo que lea tres longitudes y determine si forman o no un
tringulo. Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene
tres lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados

Ejercicios Decisin
desiguales). Considere que para formar un tringulo se requiere que: "el lado mayor sea menor
que la suma de los otros dos lados".
Algoritmo
INICIO
// Declaracin de variables
REAL L1, L2, L3, suma
CADENA tipoRectangulo
// Entrada de datos
LEER L1, L2, L3<
// Determina el lado mayor
mayor = L1
SI( L2 > mayor )
mayor = L2
SI( L3 > mayor )
mayor = L3
// Determina la suma de los lados a excepcin del lado mayor
suma = L1 + L2 + L3 - mayor
// Determina de que tipo de tringulo se trata
SI( mayor < suma ){
SI( ( L1 == L2 ) && ( L2 == L3 ) )
tipoRectangulo = "Tringulo equiltero"
SINO SI( ( L1 == L2 ) || ( L1 == L3 ) || ( L2 == L3 ) )
tipoRectangulo = "Tringulo issceles"
SINO
tipoRectangulo = "Tringulo escaleno"
}
SINO
tipoRectangulo = "No es un tringulo"
// Salida de resultados
IMPRIMIR tipoRectangulo
FIN
Ejercicio 11:- Disee un algoritmo que lea tres nmeros enteros y determine el menor valor
positivo. Si los nmeros positivos son iguales, dar como menor a cualquiera de ellos.
Algoritmo
INICIO
// Declaracin de variables
ENTERO a, b, c, menor
// Entrada de datos
LEER a, b, c
// Determina el menor
// Aqu a, b y c podran ser positivos
SI( a > 0 ){
menor = a
SI( b > 0 && b < menor )
menor = b

Ejercicios Decisin
SI( c > 0 && c < menor )
menor = c

}
// Aqu slo b y c podran ser positivos
SINO SI( b > 0 ){
menor = b
SI( c > 0 && c < menor )
menor = c
}
// Aqu slo c podran ser positivos
SINO SI( c > 0 ){
menor = c
}
// Guardamos el indicador -1 para saber que no hay positivos
SINO
menor = -1

FIN

// Salida de
SI( menor !=
IMPRIMIR
SINO
IMPRIMIR

resultados
-1 )
menor
"No se ingres ningn nmero positivo"

Ejercicio 12:- Disee un algoritmo que lea tres nmeros y los imprima de mayor a menor y de
menor a mayor.
Algoritmo
INICIO
// Declaracin de variables
REAL n1, n2, n3, mayor, menor, medio
// Entrada de datos
LEER n1, n2, n3
// Determina el menor
menor = n1
SI( n2 < menor )
menor = n2
SI( n3 < menor )
menor = n3
// Determina el mayor
mayor = n1
SI( n2 > mayor )
mayor = n2
SI( n3 > mayor )
mayor = n3
// Determina el medio
medio = n1+n2+n3-mayor-menor
// Imprime en orden ascendente
IMPRIMIR menor, medio, mayor
// Imprime en orden descendente
IMPRIMIR mayor, medio, menor
FIN

Ejercicios Decisin
Ejercicio 13:- Disee un algoritmo para obtener el grado de eficiencia de un operario de una
fbrica de tornillos, de acuerdo a las siguientes condiciones, que se le imponen para un perodo
de prueba:
- Menos de 200 tornillos defectuosos.
- Ms de 10000 tornillos producidos.
El grado de eficiencia se determina de la siguiente manera:
- Si no cumple niguna de las condiciones, grado 5.
- Si slo cumple la primera condicin, grado 6.
- Si slo cumple la segunda condicin, grado 7.
- Si cumple las dos condiciones, grado 8.
Las condiciones impuestas por la fbrica son:
torpro < 200
tordef > 10000

siendo torpro el nmero de tornillos producidos


siendo tordef el nmero de tornillos defectuosos

Algoritmo 1
INICIO
// Declaracin de variables
ENTERO torpro, tordef, grado
// Entrada de datos
LEER torpro, tordef
// Determina el grado de eficiencia
SI( tordef < 200 ){
SI( torpro > 10000 )
grado = 8
SINO
grado = 6
}
SINO{
SI( torpro > 10000 )
grado = 7
SINO
grado = 5
}
// Salida de resultados
IMPRIMIR grado
FIN
Algoritmo 2
INICIO
// Declaracin de variables
ENTERO torpro, tordef, grado
// Entrada de datos
LEER torpro, tordef
// Determina el grado de eficiencia
SI( tordef < 200 && torpro > 10000 )
grado = 8

Ejercicios Decisin
SINO SI( tordef < 200 )
grado = 6
SINO SI( torpro > 10000 )
grado = 7
SINO
grado = 5
// Salida de resultados
IMPRIMIR grado
FIN
Ejercicio 14:- Se cuenta con los votos obtenidos por Juan, Pedro y Maria en una eleccin
democrtica a la presidencia de un club. Para ganar la eleccin se debe obtener como mnimo
el 50% de los votos ms 1. En caso que no haya un ganador se repite la eleccin en una
segunda vuelta. Van a la segunda vuelta los dos candidatos que obtengan la ms alta votacin.
Se anula la eleccin en caso de producirse un empate doble por el segundo lugar o un empate
triple. Disee un algoritmo que determine el resultado de la eleccin.

Algoritmo
INICIO
// Declaracin de variables
ENTERO vjuan, vpedro, vmaria, vmingan
CADENA resultado
// Entrada de datos
LEER vjuan, vpedro, vmaria
// Determina la votacin mnima para ganar
vmingan = (vjuan + vpedro + vmaria)/2 + 1
// Determina el resultado de la eleccin
SI( vjuan >= vmingan )
resultado = "Gana Juan "
SINO SI( vpedro >= vmingan )
resultado = "Gana Pedro"
SINO SI( vmaria >= vmingan )
resultado = "Gana Mara"
SINO SI( vpedro > vjuan && vmaria > vjuan )
resultado = "Pasan a la segunda vuelta Pedro y Mara"
SINO SI( vpedro > vmaria && vjuan > vmaria )
resultado = "Pasan a la segunda vuelta Pedro y Juan"
SINO SI( vmaria > vpedro && vjuan > vpedro )
resultado = "Pasan a la segunda vuelta Mara y Juan "
SINO
resultado = "Eleccin anulada"
// Salida de resultados
IMPRIMIR resultado
FIN
Ejercicio 15:- Disee un algoritmo que lea un nmero entero de 3 cifras, y forme el mayor
nmero posible con las cifras del nmero ingresado. El nmero formado debe tener el mismo
signo que el nmero ingresado.
Algoritmo

Ejercicios Decisin
INICIO
// Declaracin de variables
ENTERO num1, num2, numaux, uni, dec, cen, menor, mayor,medio
// Entrada de datos
LEER num1
// Si el nmero tiene tres cifras...
SI( ( num1 >= 100 && num1 <= 999 ) && ( num1 >= -999 && num1 <=
-100 ) ){
// Guarda el nmero en una variable auxiliar para preservar el

signo

numaux = num1
// Cambia el signo de num1 en caso de ser negativo
SI( num1 < 0 )
num1 = -num1
// Determina las cifras del nmero
cen = num1/100
dec = (num1%100)/10
uni = (num1%100)%10
// Determina la cifra menor
menor = cen
SI( dec < menor )
menor = dec
SI( uni < menor )
menor = uni
// Determina la cifra mayor
mayor = cen
SI( dec > mayor )
mayor = dec
SI( uni > mayor )
mayor = uni
// Determina la cifra del medio
medio = cen+dec+uni-mayor-menor
// Forma el nuevo nmero
SI( numaux > 0 )
num2 = mayor*100 + medio*10 + menor
SINO
num2 = -1*(menor*100 + medio*10 + mayor)
// Imprime el nuevo nmero
IMPRIMIR num2
}
SINO
FIN

IMPRIMIR "El nmero no tiene tres cifras"

10

Вам также может понравиться