Está en la página 1de 4

Estructura de datos.

Guía de recuperación.

Primer parcial.
Algoritmos y manejo de datos.
[Examen teórico]
Evaluación de algoritmos para manipular datos y efectuar análisis.
Ejemplos.

Ejemplo 1.
Se desea obtener la nomina semanal –salario neto- de los empleados de una empresa cuyo trabajo se paga por horas y del modo siguiente:
Las horas inferiores o iguales a 35 horas se pagan a una tarifa determinada que se debe introducir por teclado al igual que el número de
horas y el nombre del trabajador.
Las horas superiores a 35 se pagarán como extras a un predio de 1.5 horas normales,
Los impuestos a deducir a los trabajadores varían en función de su salario mensual,
o Salario menor o igual a 20.000, libre de impuestos
o Los siguientes 15.000, al 20 por 100
o El resto, al 30 por 100
Análisis,
1. Inicio
2. Leer nombre, horas trabajadas, tarifa horaria.
3. Verificar si horas trabajadas <= 35, en cuyo caso
a. Salario bruto = horas trabajadas * tarifa horaria,
b. En caso contrario, Salario bruto = 35 * horas trabajadas + ( ( horas trabajadas – 35 ) * 1.5 * tarifa )
4. Cálculo de impuestos
a. Si salario bruto <= 20000, entonces impuestos = 0
b. Si salario bruto > 20000 y <= 35000 , entonces impuestos = ( ( salario bruto – 20000 ) * 0.20
c. Si salario bruto > 35000, entonces impuestos = ( ( 15000 * 0.20) + ((salario – 35000) * 0.30 ))
5. Cálculo del salario neto
a. Salario neto = salario bruto - impuestos
6. Imprimir nombre, horas trabajadas, tarifa horaria, salario bruto, impuestos, salario neto
7. Fin

Pseudocódigo

Inicio
Declaración de variables
String: nombre
reales: horas, tarifa, salarioBruto, salarioNeto, impuestos
Leer nombre, horas, tarifa
si ( horas <= 35 ) entonces
salarioBruto ← horas * tarifa
si_no
salarioBruto ← ( 35 * tarifa ) + ( horas -35) * 1.5 * tarifa
fin_si
si salarioBruto <= 20000 entonces
impuestos ← 0
si_no
si ( salarioBruto > 20000 ) y ( salarioBruto <= 35000 ) entonces
impuestos ← ( salarioBruto – 20000 ) * 0.20
si_no
impuestos
fin_si
fin_si
salarioNeto ← salarioBruto – impuestos
imprimir nombre, horas, tarifa, salarioBruto, impuestos, salarioNeto
fin
Diagrama de flujo.
Problema 2.
Lea 3 números e imprima el mayor de ellos.
Pseudocódigo.
Inicio
Declaración de variables
enteros: A, B, C
Leer A, B, C
si ( A > B ) entonces
si ( A > C ) entonces
imprime A
fin_si
si_no
si ( B > C ) entonces
imprime B
si_no
imprime C
fin_si
fin_si
fin

Diagrama de flujo.
Segundo parcial.
Algoritmos de ordenamiento y búsqueda.
[Documentación]

Elabore, implemente y diseñe los siguientes algoritmos:


Algoritmos de búsqueda.
Búsqueda lineal
Búsqueda binaria

Algoritmos de ordenamiento
Ordenamiento por selección
Ordenamiento por inserción
Ordenamiento por combinación

Se entregará por cada algoritmo:


1. Documentación de qué hace y cómo lo hará.
2. Hoja de diagrama de flujo.
3. Pseudocódigo
4. Correspondiente programa en Java que simule el algoritmo con datos numéricos.

El uso de GUI es opcional.


Los datos a utilizar pueden ser dados arbitrariamente.
Se recomienda el uso de vectores o arreglos unidimensionales, pero si lo desean pueden usar arreglos
bidimensionales, lo cual dará mayor porcentaje de calificación.
Pueden usar como apoyo didáctico el libro Cómo programar en Java, de Deitel, 7ma Edición, capítulo 16, a
partir de la página 685.

Tercer parcial.
Formulas avanzadas.
[Implementación]
Implementación en lenguaje java de fórmulas para solución de problemas geométricos.
Documentar las soluciones en familia de clases y entregar para revisión de sintaxis e implementación.

También podría gustarte