Está en la página 1de 36

ALGORITMOS Y ESTRUCTURA DE DATOS

GUIA DE LABORATORIO
DE
ALGORITMO Y ESTRUCTURA DE
DATOS
ALGORITMOS Y ESTRUCTURA DE DATOS

LABORATORIO DE ALGORITMO Y ESTRUCTURA DE DATOS

CURSO : LENGUAJE DE PROGRAMACION I

LABORATORIO : 02

TEMA : ESTRUCTURAS DE CONTROL

(Decisiones simples, dobles, anidados, mltiples)

EJERCICIOS DIRIGIDOS

EJERCICIO # 01

En la universidad Tecnolgica del Per el rendimiento de un alumno lo clasifican de


acuerdo a lo siguiente:
CLASIFICACION PROMEDIOS
si su promedio est entre 16 y 20
BUENO
REGULAR si su promedio est entre 11 y 15
DEFICIENTE si su promedio est entre 6 y 10

PESIMO si su promedio est entre 0 y 5

Desarrollar un programa en java que me permita ingresar por teclado 3 notas de un


alumno y calcular su respectivo promedio.

Imprimir por pantalla la respectiva clasificacin del alumno, en funcin al rango de


prom||edios.

Solucin:

a) Primeramente tenemos que crear un programa en java de nombre Ejercicio1_1 que


implemente el mtodo main().

Implementando
dentro de la clase
el mtodo principal
(main)
ALGORITMOS Y ESTRUCTURA DE DATOS

b) Dentro del mtodo principal( main ) , tenemos que declarar localmente tres variable de
tipo de datos String y tres variables de tipo de dato int , una variable de tipo de
dato double.

Declarando
las variables
locales

c) Despus que hemos declarado las variables locales ,vamos a implementar cdigo que me
permita el ingreso de dato por teclado a travs de cajas de dialogo, para esto tenemos que
primeramente importar el paquete de nombre javax.swing.*

Utilizando el mtodo showInputDialog() de la clase JOptionPane.

1) Importando el
paquete que me
permite la
utilizacin de la
clase JOptionpane
ALGORITMOS Y ESTRUCTURA DE DATOS

2) Estos cdigo me permiten el ingreso


de datos por teclado a travs de la
clase JOption Pane y el mtodo es
showInputDialog()

d) A continuacin vamos a convertir todas las cadenas numricas ingresadas por el teclado a
valores enteros.

Convirtiendo
de una cadena
numrica a un
valor entero

e) Ahora vamos a calcular el promedio de las notas ingresadas por el teclado

Calculando el
promedio de
las notas
ingresadas
ALGORITMOS Y ESTRUCTURA DE DATOS

f) Para poder evaluar la clasificacin del alumno en funcin a su promedio , tenemos que
utilizar un conjunto de estructuras condicionales simples.

Conjunto de
condicionale
s simples,
que evalan
los
promedios,
con la
finalidad de
mostrar la
categora
del alumno

g) Finalmente vamos a compilar, ejecutar el programa.


ALGORITMOS Y ESTRUCTURA DE DATOS

Ingresando las notas por el teclado

Clculo y salida datos por pantalla


ALGORITMOS Y ESTRUCTURA DE DATOS

EJERCICIO # 02

Una empresa desea adquirir cierta cantidad de unidades de un producto para lo cual
cuenta con la oferta de dos proveedores A y B, tal como se explica a continuacin:

Costo unitario igual a s/ 25

15 % de descuento para ms de 50
unidades adquiridas
Proveedor A

Costo unitario igual a s/ 27.5

10 % de descuento para ms de 35
unidades adquiridas

Proveedor B

Desarrollar un programa en Java que determine quin de los proveedores es el ms


conveniente.

Solucin:

a) Primeramente tenemos que crear un programa en java de nombre Ejercicio2_1 que


implemente el mtodo principal (main).

Implementando
el mtodo
principal, dentro
de la clase

b) Dentro del mtodo principal ( main) ,tenemos que declarar localmente , una variable de
tipo de dato entero (cant) , una variable de tipo de dato String (cantCad), dos variables
de tipo de dato real(descA , descB).
ALGORITMOS Y ESTRUCTURA DE DATOS

Declarando dentro
del mtodo
principal (main),
variables locales.

c) Ahora que hemos declarado las variables locales, vamos implementar cdigo que me
permita ingresar por teclado la cantidad, para eso tenemos que importar el paquete
javax.swing.*

Adems este paquete importado nos proporciona un mtodo que me permite invocar una
caja de dialogo showInputDialog() de la clase JOptionPane.

La cadena numrica ingresada por el teclado se almacena en la variable cantCad, para que
luego en la siguiente se convierta en un valor numrico entero a travs del mtodo parseInt
de la clase Integer.

1) En este cdigo
logramos ingresar por el
teclado a travs de una
caja de dialogo, que se
guarda en la variable
cantCad

2) En este cdigo
convertimos a un valor
entero el valor ingresado
por el teclado, y se
guarda lo convertido a
una variable cant
ALGORITMOS Y ESTRUCTURA DE DATOS

d) A continuacin vamos a calcular el descuento del proveedor A y B y para eso tenemos


que validar la cantidad.

Tenemos que implementar una primera condicional doble para calcular el descuento del
proveedor A y otra condicional doble para calcular el descuento del proveedor B.

1) Implementando la
primera condicional
doble, validando la
cantidad (cant>50)
con la finalidad de
calcular el descuento
del proveedor A

2) Implementando la
segunda condicional
doble, validando la
cantidad (cant>30)
con la finalidad de
calcular el descuento
del proveedor B

e) Para consolidar nuestro programa solo faltara comparar los respectivos descuentos de
ambos proveedores.

Vamos a implementar una condicional doble para poder validar el respectivo descuento de
ambos proveedores.
ALGORITMOS Y ESTRUCTURA DE DATOS

Implementado una
condicional doble
donde valide los
respectivos descuentos
de ambos proveedores
(descA>descB) ,
para mostrar cual de
los dos proveedores es
el ms conveniente

f) Finalmente vamos a compilar, ejecutar el programa.

Ingresando la cantidad por el teclado

Mostrar la salida por pantalla


ALGORITMOS Y ESTRUCTURA DE DATOS

EJERCICIO # 03

En la universidad Telesup existe una poltica de categorizacin de pensiones de sus


alumnos, en la siguiente tabla nos muestra las categoras y las pensiones
correspondientes:

CATEGORIA PENSION

A S/550

B S/500

C S/460

D S/400

Semestralmente la universidad efecta rebajas en las pensiones de sus estudiantes a partir


del segundo ciclo.

Estas rebajas estn en funcin al promedio ponderado que tiene el alumno en el momento de
matricularse al segundo ciclo.

A continuacin vamos a mostrar una tabla donde hay una serie de rangos de promedios con
sus respectivos descuentos.

PROMEDIO DESCUENTO

0 a 13.99 No hay descuento

14.00 a 15.99 10%

16.00 a 17.99 12%

18.00 a 20.00 15%

Desarrolle un programa en Java que determine cuanto de rebaja recibir un estudiante


sobre su pensin actual y a cuanto asciende su nueva pensin.

Solucion:

a) Primeramente tenemos que crear un programa en java de nombre Ejercicio3_1 que


implemente el mtodo principal (main).
ALGORITMOS Y ESTRUCTURA DE DATOS

Implementa
ndo el
mtodo
principal
(main)

b) Dentro del mtodo principal (main) ,tenemos que declarar localmente cuatro variable de
tipo de dato double (promedio , pensionueva , pensionactual , descuento ) , una
variable de tipo de dato String (categoriaCad) y una variable de tipo de dato int
(categora)

Declarando las
variables
locales

c) Ahora que hemos declarado las variables, vamos a poder ingresar la categora por el
teclado, para eso tenemos que importar el paquete javax.swing.*

Adems, este paquete importado nos proporciona un mtodo que me permite invocar una
caja de dialogo showInputDialog () de la clase JOptionPane.

La cadena numrica ingresada por el teclado se almacena en la variable categoriaCad, para


que luego en la siguiente lnea se convierta en un valor numrico entero a travs del
mtodo parseInt() de la clase Integer.
ALGORITMOS Y ESTRUCTURA DE DATOS

Ingresando por teclado


la categora a travs
de una caja de dialogo

2) Convirtiendo a un
nmero entero el valor
(categoraCad)
ingresado por el
teclado

d) A continuacin vamos a implementar una condicional mltiple (switch - case) para evaluar
la categora y determinar cul es la pensin actual.

Implementand
o la
condicional
mltiple
(switch) con
la finalidad de
calcular la
pensin
actual.
ALGORITMOS Y ESTRUCTURA DE DATOS

e) Cuando ya hemos determinado el monto de la pensin actual, entonces vamos ingresar por
teclado el promedio que tiene el alumno

Adems, tenemos que determinar cunto de descuento tiene el alumno, implementando una
condicional anidado (IF -ELSE-IF-ELSE)
ALGORITMOS Y ESTRUCTURA DE DATOS

1) Ingresando por
teclado el promedio a
travs de una caja de
dialogo.

2) Luego convertimos
a un nmero real

3) Implementando
una condicin anidado
para evaluar a travs
de rango el promedio,
con la finalidad de
calcular el descuento

4) Calculando la pensin
nueva

5) Mostrando por
pantalla la pensin actual
y la pensin nueva
f) Finalmente vamos a compilar, ejecutar el programa.

Ingresando la categora por el teclado

Ingresando por teclado el promedio ponderado del alumno


ALGORITMOS Y ESTRUCTURA DE DATOS

Mostrar la salida por pantalla

EJERCICIOS PROPUESTOS

EJERCICIO PROPUESTO # 01

Desarrollar un programa en Java que permita calcular la remuneracin del empleado.


Ingrese el bsico, nmero de hijos y cargo; si su cargo es obrero [O] recibir 100 por
Bonificacin, si su cargo es empleado [E] recibir una Bonificacin de 120. Si tiene hijos
recibir por cada uno 41 soles por concepto de Asignacin. El total ser la suma del bsico,
bonificacin y Asignacin.

EJERCICIO PROPUESTO # 02

Desarrollar un programa en Java que permita calcular la comisin total que recibe un
vendedor donde ingrese el monto de ventas, si el monto es menor a 10000 recibir
solamente 5% de su ventas por comisin; si sus ventas se encuentran entre 10000 a 50000 su
comisin ser de 7.5% de las ventas y 200 por bonificacin, pero si sus ventas es mayor a
50000 su comisin ser de 9% de sus ventas y su bonificacin es 300.Visualizar el total .

EJERCICIO PROPUESTO # 03

Ingrese por Teclado el Nombre del Obrero, las horas trabajadas y el Tipo de Actividad
(Pintado, Laqueado, Barnizado), por cada hora trabajada se le pagara:

a) Si el Servicio es Pintado se le pagara s/. 10


ALGORITMOS Y ESTRUCTURA DE DATOS

b) Si el Servicio es Laqueado se le pagara s/. 12

c) Si el Servicio es Barnizado se le pagara s/. 14

Por cada hora extra se le pagara 30% ms sobre el pago por hora trabajada, sabiendo que
semanalmente trabaja 40 horas. Calcule y visualice El Jornal Semanal que recibir el
Obrero, el Jornal Extra y el Total del Jornal.

EJERCICIO PROPUESTO # 04

Desarrollar un Algoritmo que permita calcular la remuneracin del trabajador donde ingrese
el bsico y cargo; Segn el Cargo recibir lo siguiente:
Si su cargo es obrero [O]: Bonificacin 100; Asignacin 120.
Si su cargo es empleado [E ]: Bonificacin 120; Asignacin 150 y Refrigerio 200.
Si su cargo es ejecutivo [ J ] : Bonificacin 250; Refrigerio 250 y Asignacin 500.
Calcule y Visualizar el total que es la Suma de todos los ingresos

EJERCICIO PROPUESTO # 05

Se desea implementar un Programa que permita calcular la Venta de Zapatillas. Ingrese por
teclado la Marca de la Zapatilla, la talla a Vender y el nmero de pares vendidas. A
continuacin, se muestra un Cuadro del precio de un par de Zapatillas.

Talla\Marca Nike Adidas Fila

38 150 140 80

40 160 150 85

42 160 150 90

La Venta es el producto del precio del par de Zapatilla por el nmero de pares vendidos. De
acuerdo al nmero de pares vendidas se le aplicara un Descuento tal como se muestra en el
Cuadro

Numero de Pares Descuento

2a5 5% de la Venta

6 a 10 8% de la Venta

11 a 20 10 de la Venta
ALGORITMOS Y ESTRUCTURA DE DATOS

Ms de 20 15 de la Venta

El neto de la Venta es la Diferencia de la Venta y el Descuento, Visualizar la Venta, el


Descuento y el Neto de la Venta.
ALGORITMOS Y ESTRUCTURA DE DATOS

LABORATORIO DE LENGUAJE DE PROGRAMACION

CURSO : ALGORITMO Y ESTRUCTURA DE DATOS

LABORATORIO : 03

TEMA : ESTRUCTURAS DE CONTROL

(Mientras-hacer, hacer- mientras, desde- hasta)

EJERCICIO DIRIGIDO

EJERCICIO # 01

Desarrollar un programa en Java que me permita calcular la sumatoria de la serie de


nmeros de N trminos

Solucin

a) Primeramente tenemos que crear un programa en java de nombre Ejercicio1_1 que


implemente el mtodo principal (main).

Implementando
el mtodo
principal (main)
ALGORITMOS Y ESTRUCTURA DE DATOS

b) Ahora vamos a declarar dentro del mtodo principal (main) tres variables(i , numterm ,
sumatoria ) de tipo de dato int , una variable (numtermCad)de tipo de dato String.

Declarando
dentro del
mtodo principal
(main), variables
locales.

c) La variable numtermCad almacena un dato ingresado por teclado a travs de una caja de
dialogo para que luego sea convertido a un numero entero almacenado en la variable
numterm.

1) Primeramente guardamos en
la variable numtermCad un valor
que ingresamos por el teclado a
travs de una caja de dialogo.

2) Despus ese valor lo


convertimos a un nmero entero
ALGORITMOS Y ESTRUCTURA DE DATOS

d) Despus que hemos ingresado el nmero de trminos, implementamos una estructura


repetitiva cuyo nmero de interacciones es igual al nmero de trminos que previamente
hemos definido.

Implementando un
bucle while con una
condicin
(i<=numterm) y
dentro del bucle un
contador i++.

e) Dentro de la estructura repetitiva implementamos una condicional doble que me permita


evaluar los numero pares e impares que va tomando la variable i, adems a medida que el
bucle funcione se va calculando la sumatoria de estos.

Implementando
una condicional
Acumula doble cuya
ndo los condicin es i
valores %2==0, a
de i medida que
alternand funcione el bucle
o esta condicional
operacio valida los valores
nes p que toma la
variable i, si es
par e impar
ALGORITMOS Y ESTRUCTURA DE DATOS

f) Finalmente colocamos el cdigo que me permita el mostrado del resultado por pantalla

Mostrando el
resultado a travs
de una caja de
dialogo

Vamos a compilar y ejecutar el programa


ALGORITMOS Y ESTRUCTURA DE DATOS

EJERCICIO # 03

Ingrese por teclado un nmero de 3 cifras calcule y visualice, la cantidad de dgitos pares e
impares que tiene el numero

a) Primeramente tenemos que crear un programa en java de nombre Ejercicio3_1 que


implemente el mtodo principal ( main )

Implementando el
mtodo principal
(main)

b) Ahora vamos a declarar dentro del mtodo principal (main) cinco variables (num,
numero,par,digito ) de tipo de dato int , una variable (numeroCad)de tipo de dato
String.

Declarando dentro del


mtodo principal
(main), variables
locales.

c) En el programa importamos un paquete javax.swing y adems implementamos una


estructura repetitiva(do - while)

Implementando un bucle
(do while) con una
condicin (num<100) ||
(num>999)
ALGORITMOS Y ESTRUCTURA DE DATOS

d) Dentro del bucle (do - while) implementamos un cdigo que lea un dato ingresado por
teclado que representa un numero de tres cifras , para que luego sea convertido a un
valor entero

1) En la variable numeroCad
se almacena un valor
ingresado por teclado a travs
de una caja de dialogo.

2) La variable numeroCad es
convertido a un valor entero

e) A continuacin, vamos a implementar otra estructura repetitiva (while)cuya condicin es


num>0

Implementand
o un bucle
cuya
condicin es
num>0
ALGORITMOS Y ESTRUCTURA DE DATOS

f) Dentro de esta ltima estructura repetitiva implementamos el siguiente cdigo :

Justamente aqu hay un


cdigo dentro de la
estructura repetitiva
(while) que me permite
definir los dgitos pares
e impares.

g) Luego mostramos por pantalla el resultado final del programa

Mostrando por
pantalla los
resultados finales
ALGORITMOS Y ESTRUCTURA DE DATOS

h) Compilando y ejecutando el programa


ALGORITMOS Y ESTRUCTURA DE DATOS

EJERCICIO # 04

Desarrollar un programa en java que me permita simular el movimiento de un almacn


de bolsas de cemento.

Al comenzar la ejecucin del programa, inicializar el stock de bolsas de cemento en 2000


bolsas y la capacidad del almacn en 3500 bolsas.

Luego, el programa permitir efectuar operaciones de depsito y de retiro, mostrando en


todo momento:

El stock actual del almacn

La capacidad libre del almacn

El numero de depsitos y de retiros efectuados

La cantidad total de bolsas depositadas y retiradas

La cantidad mxima de bolsas retiradas y depositadas

La cantidad mnima de bolsas retiradas y depositadas.

Solucin:

a) Primeramente tenemos que crear un programa en java de nombre Ejercicio1_1 que


implemente el mtodo principal ( main )

Implementando el
mtodo principal
(main)

b) Ahora vamos a declarar dentro del mtodo principal (main) tres variables( op, cantidad ,
seguir,stock,capacidad ) de tipo de dato int , una variable (cantCad,opCad)de tipo de dato
String.

Declarando dentro del


mtodo principal
(main), variables
locales.
ALGORITMOS Y ESTRUCTURA DE DATOS

c) En el programa importamos un paquete javax.swing y adems implementamos una


estructura repetitiva (do - while) que me permite que el programa siga funcionando en el
momento que el usuario decida.

1) Importando la
librera Javax.swing

2) Implementando
la estructura
repetitiva do-while

d) Dentro de la estructura repetitiva, agregamos lneas de cdigo que me permitan ingresar


una opcin, eligiendo el depsito o el retiro.

Esta opcin despus se tiene que convertir a un valor entero.

Lnea de cdigo que me


permite digitar una opcin
(opcionCad) entre el
depsito y el retiro, luego se
convierte la opcin a un
nmero entero (op)
ALGORITMOS Y ESTRUCTURA DE DATOS

e) A continuacin agregamos una serie de lneas de cdigos que me permita ingresar por
teclado la cantidad (cantCad) , a travs de una caja de dialogo.

La cantidad (cantCad) se tendr que convertir en un numero entero, donde ser almacenado
en una variable cuyo identificador es cantidad.

Luego tenemos que implementar una condicional mltiple (switch), que lea la opcin que
hemos escogido.

1) Lnea de
cdigo que
me permite
digitar una
cantidad
(cantCad),
luego se
convierte la
variable a un
nmero
entero
(cantidad)

2) Implementando
una estructura
condicional mltiple
con la finalidad de
realizar las
operaciones de
depsito y retiro

3) Lnea de cdigo
que me permite
mostrar por pantalla
el nmero de stock
ALGORITMOS Y ESTRUCTURA DE DATOS

f) Los respectivos casos de la condicional mltiple(switch) , se tiene que colocar


condicionales dobles con la finalidad de validar la cantidad ingresada en el clculo del
stock en las diferentes opciones de retiro y deposito.

1)
Implement
ando
dentro del
case 1 la
condicional
doble con
la finalidad
de validar
la cantidad
y el
clculo del
stock

2)
Implem
entando
dentro
del case
2 la
condicio
nal
doble
con la
finalidad
de
validar
la
cantidad
y el
clculo
del
stock
ALGORITMOS Y ESTRUCTURA DE DATOS

g) Ahora declaramos en la clase una serie de variables de clase y adems dentro de los
respectivos case de la condicional mltiple(switch) implementamos 2 contadores que me
permiten calcular la cantidad de depsitos efectuados y la cantidad de retiros efectuados.

1)
Declarando
las variables

2)
Implementa
ndo un
contador de
la cantidad
del depsito
efectuado

3)
Implementan
do un
contado de la
cantidad del
retiro
efectuado

4) Mostrando por
pantalla el nmero
de depsitos
efectuados y el
nmero de retiros
efectuados
ALGORITMOS Y ESTRUCTURA DE DATOS

h) En la clase declaramos tres variables enteras (maximodeposito ,minimodeposito


,maximoretiro ,minimoretiro), adems en el case 1 de la condicional mltiple(switch)
implementamos dentro de la condicional doble un cdigo que me permite calcular el
mximo y mnimo deposito.

1) Declarando
variables
enteras

2) Aqu hemos logrado


implementar este cdigo
que me permite en
primer lugar inicializar
las variables
maximodeposito y
minimodesposito,
cuando la cantidad de
depsitos es igual a
uno.

Adems calculamos el
mximo y mnimo
deposito

3) Mostramos
por pantalla la
cantidad
mxima
depositada y
cantidad
mnima
depositada
ALGORITMOS Y ESTRUCTURA DE DATOS

h) Ahora dentro de la condicional mltiple en su respectivo case 2, implementamos dentro


de la condicional doble un cdigo que me permite calcular el mximo y mnimo retiro.

1) Aqu hemos logrado


implementar este cdigo
que me permite en
primer lugar inicializar
las variables
maximoretiro y
minimoretiro, cuando la
cantidad de depsitos es
igual a uno.

Adems calculamos el
mximo y mnimo retiro
ALGORITMOS Y ESTRUCTURA DE DATOS

2) Mostrando por
pantalla la cantidad
mxima retirada y la
cantidad mnima
retirada

i) Compilando y ejecutando el programa

SALIDA POR PANTALLA


ALGORITMOS Y ESTRUCTURA DE DATOS
ALGORITMOS Y ESTRUCTURA DE DATOS

También podría gustarte