FACULTAD DE INGENIERÍA
Y ARQUITECTURA
GUÍA DE PRÁCTICAS
DE
PROGRAMACIÓN
ESTRUCTURADA II
2018
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 3 de 91
PROGRAMACIÓN ESTRUCTURADA II
Rector
Dr. Luis Alberto Colán Villegas
Vicerrector Académico
Dr. Anaximandro Odilo Perales Sánchez
OFICINA DE LABORATORIOS
Mg. Bernardino Morales Fernández
Revisado Por:
Decano de la Facultad de Ingeniería y Arquitectura
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 4 de 91
PROGRAMACIÓN ESTRUCTURADA II
PRESENTACIÓN
La presente Guía de Prácticas de Laboratorio, tiene por finalidad reforzar el aprendizaje
cubierto por la parte teórica, con el desarrollo de las prácticas en el Laboratorio. En las
páginas de este documento, la información se presenta de forma general, de modo tal, que
sirva a los docentes y a todos los estudiantes de las carreras que tengan como parte de su
programa el curso de Programación Estructurada II. Esta edición, cuenta con 9 que se
llevarán a cabo en el Laboratorio de Programación Estructurada II.
Lo que caracteriza a cada una de estas prácticas es una estructura común, que sea de fácil
entendimiento el hecho de que cada práctica planteada pueda ser reproducida en
Laboratorio. Tras plantear los objetivos, en los fundamentos teóricos se detallan los
contenidos básicos que ayudan a comprender mejor cada sesión de Laboratorio, los cuales
deben ser repasadas por el alumno antes de comenzar cada sesión de Laboratorio.
El objetivo del documento es otorgar una guía para planificar las prácticas y desarrollar la
motivación en los estudiantes, de forma que el estudiante encuentre su propia forma de
aprender a través de la experimentación. Cada una de las sesiones se ha ensayado
cuidadosamente por los docentes del curso con el apoyo de alumnos de la carrera
profesional, permitiéndoles comprobar que cada una de las prácticas en los Laboratorios se
realice en un tiempo prudente.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 5 de 91
PROGRAMACIÓN ESTRUCTURADA II
TABLA DE CONTENIDO
I. GENERALIDADES .............................................................................................................................................7
1. INTRODUCCIÓN ............................................................................................................................................................7
2. OBJETIVOS.....................................................................................................................................................................8
3. ALCANCES Y/O LIMITACIONES ...................................................................................................................................8
4. REGLAS DEL COMPORTAMIENTO DEL ALUMNO EN EL LABORATORIO DE PROG.ESTRUC. II ..........................9
5. ESTRUCTURA DE LOS INFORMES DEL LABORATORIO DE PROG. ESTRUC. II PARA EL ALUMNO .....................9
I. PLAN DE ACTIVIDADES .................................................................................................................................14
LABORATORIO Nº 01-MODELAMIENTO DE BASE DE DATOS ....................................................................................14
LABORATORIO Nº 02-PROGRAMA CON CLASES .........................................................................................................20
LABORATORIO Nº 03-PROGRAMA APLICACIÓN CON HERENCIAS Y OBJETOS .......................................................28
LABORATORIO Nº 04-PROGRAMA CON CLASES ABSTRACTAS Y ENCAPSULAMIENTO .......................................40
LABORATORIO Nº 05-PROGRAMA CON POLIFORMISMO Y EXCEPCIONES .............................................................51
LABORATORIO Nº 06-PROGRAMA CON FUNCIONES Y METODOS RECURSIVOS ...................................................65
LABORATORIO Nº 07-OPERACIONES CON DATOS DINAMICOS (PILAS Y COLAS) ..................................................69
LABORATORIO Nº 08-PROGRAMA CON LISTAS SIMPLEMENTE ENLAZADAS .........................................................73
LABORATORIO Nº 09-PROGRAMA CON ARBOLES, GRAFOS, LISTAS........................................................................81
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 6 de 91
PROGRAMACIÓN ESTRUCTURADA II
GLOSARIO
APA: Normas de la American Psychological Association - APA, son hoy en día uno de los
estándares más reconocidos para la transmisión del conocimiento científico y académico. El
Manual de publicaciones de la APA contiene directrices para todos los aspectos relacionados
con la redacción, especialmente en las ciencias sociales, desde la determinación de la autoría
hasta la construcción de un cuadro para evitar el plagio, y para la precisión en las referencias
bibliográficas.
Datos o datos brutos: Son los valores cualitativos o cuantitativos mediante los cuales se
miden las características de los objetos, sucesos o fenómenos a estudiar antes de ser
organizados y analizados. Los datos son colecciones de un número cualquiera de
observaciones relacionadas entre sí
VANCOUVER: Las normas Vancouver o el estilo Vancouver es un tipo de reglas que se han
conformado para buscar un criterio de uniformidad al momento de preparar y publicar un
manuscrito que esté vinculado con las Ciencias de la Salud. En ese orden de ideas, las
normas Vancouver son usadas como un medio para lograr una cierta unicidad al momento de
realizar citas bibliográficas.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 7 de 91
PROGRAMACIÓN ESTRUCTURADA II
I. GENERALIDADES
1. INTRODUCCIÓN
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 8 de 91
PROGRAMACIÓN ESTRUCTURADA II
2. OBJETIVOS
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 9 de 91
PROGRAMACIÓN ESTRUCTURADA II
Procurar no andar de un lado a otro sin motivo, y, sobre todo, no correr dentro
del laboratorio.
El informe del laboratorio debe redactarse con cohesión y claridad a fin de ser de
fácil entendimiento para el lector. Por ejemplo, cada sección del informe debe estar
resaltada y organizada en una secuencia apropiada que sea fácil de entender. En el
contexto del curso para el que se ha escrito, el informe del laboratorio sirve para
describir lo que realizó durante dicha sesión, de cómo manipuló los datos registrados
y cómo llegó a la conclusión de sus resultados. Si bien puede parecerle lógico escribir
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 10 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 11 de 91
PROGRAMACIÓN ESTRUCTURADA II
1 http://normasapa.com/formato-apa-presentacion-trabajos-escritos/
2 referenciar
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 12 de 91
PROGRAMACIÓN ESTRUCTURADA II
7) Análisis de Datos. Esta sección describe en forma de texto cómo se llevó a cabo
la manipulación de fórmulas de los datos y proporciona las ecuaciones y los
procedimientos utilizados. Si se usa más de una ecuación, todas las ecuaciones
se deben enumerar secuencialmente de forma que se les pueda hacer
referencia en otra parte del texto. Los resultados finales del análisis de datos se
informan en esta sección, usando figuras, gráficos, tablas u otras formas
convenientes. Esta sección debe incluir declaraciones sobre la exactitud de los
datos, respaldados cuando sea necesario por un análisis de errores.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 13 de 91
PROGRAMACIÓN ESTRUCTURADA II
10) Referencias. Utilizando el formato bibliográfico estándar, cite todas las fuentes
publicadas que consultó durante la realización del experimento y la preparación
de su informe de laboratorio. Enumere los autores, título del articulo o libro,
nombre de la revista o editorial, según corresponda, número (s) de página, si
corresponde, y la fecha. Si una fuente está incluida en la lista de referencias,
también debe referirse a los lugares apropiados en el informe.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 14 de 91
PROGRAMACIÓN ESTRUCTURADA II
I. PLAN DE ACTIVIDADES
LABORATORIO Nº 01
MODELAMIENTO DE BASE DE DATOS
I. OBJETIVOS
Comprender la estructura de un modelo UML de Rational Rose.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 15 de 91
PROGRAMACIÓN ESTRUCTURADA II
nombre lo indica, utiliza el Structured Query Language, un lenguaje que sirve para
administrar el servidor de la base de datos.
Computadora personal
Materiales
Documentos de trabajos.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 16 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 17 de 91
PROGRAMACIÓN ESTRUCTURADA II
Ir al Programas -> Microsoft SQL Server 2015 -> SQL Server Managament
Studio.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 18 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 19 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
V. CUESTIONARIO
Hojas electrónicas
a. http://http://www.lawebdelprogramador.com/
b. http://www.algoritmia.net/
c. http://www.slideshare.net/mario.storti/algoritmos-y-estructuras-de-datos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 20 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 02
PROGRAMA CON CLASES
I. OBJETIVOS
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 21 de 91
PROGRAMACIÓN ESTRUCTURADA II
Computadora personal
Materiales
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-02.
Implemente una clase de nombre Empleado con los siguientes atributos: código,
nombres, área laboral (Sistemas, Administración, Marketing), sueldo, horas extras,
afiliación a una AFP. Además, considere atributos de valores comunes para todos los
empleados, para los porcentajes de descuento por afiliación a una AFP (11% del
sueldo), por afiliación al sistema nacional de pensiones (6% de sueldo) y por salud
(3% del sueldo). Considere métodos de cálculo para el monto de horas extras (sueldo
básico*horas extras/240).
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 22 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 23 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 24 de 91
PROGRAMACIÓN ESTRUCTURADA II
Váyase al editor de código y agregue los siguientes códigos y los siguientes métodos que se
utilizaran para la solución al problema:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 25 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 26 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 27 de 91
PROGRAMACIÓN ESTRUCTURADA II
Sueldo Bruto= pago parcial + bonif. por Postgrado + bonif. por años de antiguedad
Además, considere atributos de valores comunes para todos los docentes como
descuento por AFP del 13%, y por un seguro de salud de 5% de su sueldo bruto.
V. CUESTIONARIO
Hojas electrónicas
a. http://http://www.lawebdelprogramador.com/
b. http://www.algoritmia.net/
c. http://www.slideshare.net/mario.storti/algoritmos-y-estructuras-de-datos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 28 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 03
PROGRAMA APLICACIÓN CON HERENCIAS Y OBJETOS
I. OBJETIVOS
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 29 de 91
PROGRAMACIÓN ESTRUCTURADA II
<tipo devuelto><nombreMétodo>(<parámetros>)
{
<instrucciones>
}
Variables.
Las variables locales son aquellas que se declaran dentro de un método y solo son
reconocidas dentro del método mismo, donde fueron declaradas, fuera de él el
compilador del programa, no las reconoce y marca como error.
Las variables globales son declaradas dentro de la clase, no dentro del método, pero,
son reconocidas por todos los métodos que existen dentro de la clase.
Constructor
Cada vez que se crea una clase o estructura, se llama a su constructor. Una clase o
estructura puede tener varios constructores que toman argumentos diferentes. Los
constructores permiten al programador establecer valores predeterminados, limitar
la creación de instancias y escribir código flexible y fácil de leer.
Estructura:
Instrucciones
Herencia
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 30 de 91
PROGRAMACIÓN ESTRUCTURADA II
Computadora personal
Materiales
Procedimiento
Implemente una clase de nombre Empleado con los siguientes atributos: DNI,
apellidos, nombres, así como su constructor correspondiente que actualice su
información y considere un método para mostrar la información de los atributos.
Luego construya una clase hija de nombre EmpleadoVendedor con los siguientes
atributos: monto vendido y la tasa de comisión y su respectivo constructor. Para esta
clase construya los siguientes métodos que permita:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 31 de 91
PROGRAMACIÓN ESTRUCTURADA II
Luego construya otra clase hija de nombre EmpleadoPermanente con los siguientes
atributos: sueldo base y afiliación (AFP y SNP) e incluya su constructor. Construya los
siguientes métodos permitan:
Retornar el sueldo base, método que llamara ingresos.
Calcular el descuento basado en: si la afiliación es AFP será el 15% del sueldo
base sino será el 11% del sueldo base.
El sueldo neto se calculará como: ingresos - descuentos
Considere los objetos necesarios para utilizar la funcionalidad de la clase
Utilice la paleta de componentes y construya el siguiente diseño:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 32 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 33 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 34 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 35 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 36 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 37 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
Construya una clase Persona que tiene los siguientes atributos, apellidos, nombres,
sexo y DNI, incluya sus constructores y un método que permita visualizar la
información de los atributos.
Luego construya la subclase Docente de la clase Persona que tiene los atributos
como: Código (que será autogenerado ejm: D0001, D0002, etc.), categoría (Principal,
Asociado, Auxiliar). Estudios de Postgrado (ninguno, Maestría, Doctorado, Ambas),
horas de clase. Construya su constructor y los siguientes métodos que permitan:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 38 de 91
PROGRAMACIÓN ESTRUCTURADA II
Luego construya una subclase hija Estudiante de la clase Persona que tendrá los
atributos como: Código (que será autogenerado ejm: E0001, E0002, etc.), Categoría
(A, B o C), Promedio ponderado, semestre de ingreso (2010-I, 2010-II o 2011-I)
colegio de Procedencia (Estatal o Particular). Construya su constructor y los
siguientes métodos que permitan:
NOTA: Ambas clases tendrán métodos recargados para mostrar la información de sus
datos.
Construya el aplicativo con los objetos necesarios para utilizar la funcionalidad de las
clases y subclases implementadas.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 39 de 91
PROGRAMACIÓN ESTRUCTURADA II
V. CUESTIONARIO
Hojas electrónicas
a. http://http://www.lawebdelprogramador.com/
b. http://www.algoritmia.net/
c. http://www.slideshare.net/mario.storti/algoritmos-y-estructuras-de-datos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 40 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 04
PROGRAMA CON CLASES ABSTRACTAS Y ENCAPSULAMIENTO
I. OBJETIVOS
Computadora personal
Materiales
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 41 de 91
PROGRAMACIÓN ESTRUCTURADA II
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-04.
Implemente una clase padre abstracta de nombre Empleado con los siguientes
atributos: DNI, apellidos, nombres, así como su constructor correspondiente que
actualice su información y así como sus métodos getter y setter (Encapsulamiento).
Así como también defina métodos abstractos para los ingresos, bonificación y
descuentos, y también métodos no abstractos para el sueldo neto y la impresión de
la información del empleado.
Luego construya una clase hija de nombre EmpleadoVendedor con los siguientes
atributos: monto vendido y la tasa de comisión y su respectivo constructor y los
métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos
abstractos heredados con las siguientes características y que permita hacer lo
siguiente:
Calcular sus ingresos basados en montovendido*tasacomision.
Calcular su bonificación de la siguiente manera: si el monto vendido es menor que
1000 no tendrá bonificación, si estas entre 1000 y 5000 será el 5% de sus ingresos, si
supera los 5000 su bonificación será del 10% de sus ingresos.
Calcular su descuento de la siguiente manera: si sus ingresos son menores a 1000 su
descuento será del 11% de sus ingresos sino será el 15% de sus ingresos.
Luego construya otra clase hija de nombre EmpleadoPermanente con los siguientes
atributos: sueldo base y afiliación (AFP y SNP) e incluya su constructor y los métodos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 42 de 91
PROGRAMACIÓN ESTRUCTURADA II
setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos
heredados con las siguientes características y que permita hacer lo siguiente:
Retornar el sueldo base, método que llamara ingresos.
Calcular el descuento basado en: si la afiliación es AFP será el 15% del sueldo
base sino será el 11% del sueldo base.
No hay bonificación es decir la bonificación es 0.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 43 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 44 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 45 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 46 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 47 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 48 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
Construya una clase abstracta de nombre Persona que tiene los siguientes atributos:
apellidos, nombres, sexo y DNI, incluya sus constructores. Además, construya sus
métodos getter y setter (Encapsulamiento) y también declare los métodos abstractos
como pago por hora, pago parcial, bonificación, sueldo bruto y construya métodos no
abstractos como cálculo del sueldo neto que se calcula de: sueldo bruto +
bonificaciones – descuentos, cálculo del descuento de AFP y por concepto de Essalud
y un método para mostrar información de la clase. Considere valores comunes para
las clases como el 17% del AFP y 5% por concepto de seguro que serán los
descuentos aplicables a los empleados.
Luego construya la subclase Docente de la clase Persona que tiene los atributos
como: Código (que será autogenerado ejm: D0001, D0002, etc.), categoría (Principal,
Asociado, Auxiliar). Estudios de Postgrado (ninguno, Maestría, Doctorado, Ambas),
horas de clase. Construya su constructor y los métodos setter y getter
(encapsulamiento). Para esta clase desarrolle los métodos abstractos heredados y
que permitan hacer lo siguiente:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 49 de 91
PROGRAMACIÓN ESTRUCTURADA II
% de Bonificación de acuerdo
Pago a los estudios de Postgrado en
Categoría por base al pago parcial
hora Con Con
Ambas
Doctorado Maestría
Principal 25.00 20% 17% 25%
Asociado 18.00 15% 10% 20%
Auxiliar 15.00 12% 8% 17%
Luego construya una subclase hija JefeDePracticas de la clase Persona que tendrá los
atributos como: Código (que será autogenerado ejm: JP0001, JP0002, etc.), Categoría
(A, B o C), Grado Académico (Bachiller o Titulado), horas asignadas, años de
experiencia, Certificación (Java Developer, o .Net). Construya su constructor y los
métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos
abstractos heredados y que permitan hacer lo siguiente:
Calcular el Pago Parcial que se calcula de: horas asignadas * pago por Hora
La bonificación que recibirá el jefe de prácticas está sujeta al siguiente cuadro
relacionado al pago parcial.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 50 de 91
PROGRAMACIÓN ESTRUCTURADA II
Certificación
Rango de los años
Java
de experiencia . Net
Developer
Menor a 3 6% 4%
Entre 4 y 7 8% 6%
Mayor a 7 10% 8%
NOTA: Ambas clases tendrán métodos recargados para mostrar la información de sus
datos.
Construya el aplicativo con los objetos necesarios para utilizar la funcionalidad de las
clases y subclases implementadas.
V. CUESTIONARIO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 51 de 91
PROGRAMACIÓN ESTRUCTURADA II
I. OBJETIVOS
Permitir obtener muchas múltiples formas con la finalidad de acceder a los
diferentes métodos y atributos a través de una solo declaración.
Computadora personal
Materiales
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 52 de 91
PROGRAMACIÓN ESTRUCTURADA II
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-05.
Implemente una clase padre abstracta de nombre Empleado con los siguientes
atributos: DNI, apellidos, nombres, así como su constructor correspondiente que
actualice su información y considere un método para mostrar la información de los
atributos, así como sus métodos getter y setter (Encapsulamiento). Así como también
defina métodos abstractos para los ingresos, bonificación y descuentos, y también
métodos no abstractos para el sueldo y la impresión de la información del empleado.
Luego construya una clase hija de nombre EmpleadoVendedor con los siguientes
atributos: monto vendido y la tasa de comisión y su respectivo constructor y los
métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos
abstractos heredados con las siguientes características y que permita hacer lo
siguiente:
Calcular sus ingresos basados en montovendido*tasacomision.
Calcular su bonificación de la siguiente manera: si el monto vendido es menor
que 1000 no tendrá bonificación, si estas entre 1000 y 5000 será el 5% de sus
ingresos, si supera los 5000 su bonificación será del 10% de sus ingresos.
Calcular su descuento de la siguiente manera: si sus ingresos son menores a
1000 su descuento será del 11% de sus ingresos sino será el 15% de sus
ingresos.
Calcular su sueldo neto como: ingresos + bonificaciones - descuentos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 53 de 91
PROGRAMACIÓN ESTRUCTURADA II
Luego construya otra clase hija de nombre EmpleadoPermanente con los siguientes
atributos: sueldo base y afiliación (AFP y SNP) e incluya su constructor y los métodos
setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos
heredados con las siguientes características y que permita hacer lo siguiente:
Retornar el sueldo base, método que llamara ingresos
Calcular el descuento basado en: si la afiliación es AFP será el 15% del sueldo
base sino será el 11% del sueldo base.
No hay bonificación es decir la bonificación es 0.
El sueldo neto se calculará como: ingresos – descuentos
Además, recibirá asignación de movilidad si sus ingresos son menores de 1000
soles recibirá 50 soles sino recibirá 40 soles.
Considere los objetos necesarios para utilizar la funcionalidad de la clase
Utilice la paleta de componentes y construya el siguiente diseño:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 54 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 55 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 56 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 57 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 58 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 59 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 60 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 61 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
Construya una clase abstracta de nombre Empleado que tiene los siguientes
atributos: apellidos, nombres, sexo y DNI, incluya sus constructores. Además,
construya sus métodos getter y setter (Encapsulamiento) y también declare los
métodos abstractos como sueldo base y bonificación, además construya métodos no
abstractos como cálculo del sueldo bruto: sueldo base + bonificación y del sueldo
neto que se calcula de: sueldo bruto – descuentos.
Construya una interfase que permita manejar las siguientes constantes el descuento
de porcentajes del 17% para el AFP y 5% para Essalud. Que serán solo aplicables a la
subclase Operario y Administrativo.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 62 de 91
PROGRAMACIÓN ESTRUCTURADA II
Luego construya la subclase Operario de la clase Empleado que tiene los atributos
como: Código (que será autogenerado ejm: O0001, O0002, etc.), categoría (A, B y C),
Turno de labor (Mañana, tarde y noche), horas adicionales laborables. Construya su
constructor y los métodos setter y getter (encapsulamiento). Para esta clase
desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
SUELDO BASE
Categoría
MAÑANA TARDE NOCHE
A 1200 1300 1800
B 1400 1500 2000
C 1600 1700 2200
Luego construya una subclase Administrativo de la clase Empleado que tendrá los
atributos como: Código (que será autogenerado ejm: A0001, A0002, etc.), Categoría
(secretaria y Asistente), Condición (Contratado, Estable, Servicios No personales).
Construya su constructor y los métodos setter y getter (encapsulamiento). Para esta
clase desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
Sueldo base
Categoría Servicios no
Contratado Estable
Personales
Secretaria 2000 3000 1800
Asistente 2500 3900 2200
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 63 de 91
PROGRAMACIÓN ESTRUCTURADA II
Luego construya una subclase abstracta Directivos de la clase Empleado que tendrá el
atributo: área (Contabilidad, Tecnologías de Información y Planificación) y un método
abstracto llamado Prima
Luego construya la subclase jefes de la clase Directivos que maneja los siguientes
atributos como: Código (que será autogenerado ejm: D0001, D0002, etc.) y cargo
(Gerente y Subgerente). Construya su constructor y los métodos setter y getter
(encapsulamiento). Para esta clase desarrolle los métodos abstractos heredados y
que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
SUELDO BASE
Cargo Tecnologías de
Contabilidad Planificación
Información
Gerente 6000 8000 7000
Subgerente 5000 7000 6000
Cargo Monto
Gerente 700
Subgerente 400
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 64 de 91
PROGRAMACIÓN ESTRUCTURADA II
Construya el aplicativo con los objetos necesarios para utilizar la funcionalidad de las
clases y subclases implementadas utilice el tratamiento de excepciones para verificar
los datos de entrada del tipo numérico y utilice polimorfismo.
V. CUESTIONARIO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 65 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 06
PROGRAMA CON FUNCIONES Y METODOS RECURSIVOS
I. OBJETIVOS
Estudio del esquema general recursivo.
Computadora
Proyector
Materiales
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 66 de 91
PROGRAMACIÓN ESTRUCTURADA II
Documentos de trabajos
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-06.
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 67 de 91
PROGRAMACIÓN ESTRUCTURADA II
Implementación de Métodos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 68 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
Programar un algoritmo recursivo que calcule el factorial de un número.
V. CUESTIONARIO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 69 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 07
OPERACIONES CON DATOS DINAMICOS (PILAS Y COLAS)
I. OBJETIVOS
Conocer y comparar las herramientas de pilas y colas.
Computadora
Proyector
Materiales
Documento de trabajo
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 70 de 91
PROGRAMACIÓN ESTRUCTURADA II
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-07.
package colaestatica;
import java.util.Scanner;
public class colaestatica {
public static int op;
public static int tope;
int cola[]= new int[10];
public void insertar(){
if(tope==10)
System.out.println("La cola está llena");
else
{
for(int i=0;i<cola.length;i++ ){
System.out.println("Proporciona el dato para la Cola");
System.out.println("dato " + tope);
Scanner cap= new Scanner(System.in);
cola[tope]=cap.nextInt();
tope++;
}}
}
public void imprimir(){
if(tope>0){
for(int topeL=0;topeL<10;topeL++){
System.out.println("\n\n" + cola [topeL]);
System.out.println(tope);
}
}
else
System.err.println("Cola vacía; no hay nada que mostrar");
}
public void eliminar(){
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 71 de 91
PROGRAMACIÓN ESTRUCTURADA II
if(tope<0){
System.out.println("cola vacia");
}
else
for(int topeL=0;topeL<10;topeL++){
cola[topeL]=0;
}
}
public static void main(String[] args) {
cola_estatica p = new cola_estatica();
String r;
Scanner cap1=new Scanner(System.in);
Scanner cap=new Scanner(System.in);
tope=0;
do{
System.out.println("Menu principal:\n¿Qué desea hacer con la pila?");
System.out.println("1.- Insertar");
System.out.println("2.- Eliminar");
System.out.println("3.- Imprimir");
System.out.println("4.- Salir");
op=cap.nextInt();
switch(op){
case 1: p.insertar();break;
case 2:p.eliminar();break;
case 3:p.imprimir();break;
case 4:break; default:
System.out.println("Opción no válida; intente de nuevo");break;
}
}while(op!=4);
}}
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 72 de 91
PROGRAMACIÓN ESTRUCTURADA II
V. CUESTIONARIO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 73 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 08
PROGRAMA CON LISTAS SIMPLEMENTE ENLAZADAS
I. OBJETIVOS
Desarrollo de ejercicios de Manejo de Cadenas usando Swing WT.
Computadora personal
Proyector
Materiales
Documentos de trabajos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 74 de 91
PROGRAMACIÓN ESTRUCTURADA II
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-08.
Ahora váyase al editor de código y genere el siguiente código haga doble click sobre
los botones y genere los métodos faltan:
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 75 de 91
PROGRAMACIÓN ESTRUCTURADA II
Aquí se muestran los métodos que tiene que crear antes ejecutar los códigos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 76 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 77 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 78 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 79 de 91
PROGRAMACIÓN ESTRUCTURADA II
EJERCICIO PROPUESTO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 80 de 91
PROGRAMACIÓN ESTRUCTURADA II
V. CUESTIONARIO
Hojas electrónicas
a. http://http://www.lawebdelprogramador.com/
b. http://www.algoritmia.net/
c. http://www.slideshare.net/mario.storti/algoritmos-y-estructuras-de-datos
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 81 de 91
PROGRAMACIÓN ESTRUCTURADA II
LABORATORIO Nº 09
PROGRAMA CON ARBOLES, GRAFOS, LISTAS
I. OBJETIVOS
Saber la forma de declarar un arreglo en lenguaje C#.
Computadora
Proyector
Materiales
Documento de trabajo
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 82 de 91
PROGRAMACIÓN ESTRUCTURADA II
Procedimiento
Antes de comenzar a manipular el NetBeans 8.2 crear siempre, una carpeta, donde se
guardarán todas las aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-UPT-09.
CLASES
ArbolBinarioA
Arbol
NodoBinario
Lista
NodosListaA
ArbolBinario
package adts;
class ArbolBinarioA{
public static void main (String[]args){
Arbol A = new Arbol();
A.InsertaNodo (10);
A.InsertaNodo (7);
A.InsertaNodo (8);
A.InsertaNodo (6);
A.InsertaNodo (12);
A.InsertaNodo (11);
A.InsertaNodo (5);
A.InsertaNodo (4);
A.InsertaNodo (3);
A.InsertaNodo (2);
System.out.print("El recorrido en Preorden es: ");
A.Preorden (A.Raiz);
System.out.println();
System.out.print("El recorrido en Inorden es: ");
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 83 de 91
PROGRAMACIÓN ESTRUCTURADA II
A.Inorden (A.Raiz);
System.out.println();
System.out.print("El recorrido en Postorden es: ");
A.PostOrden (A.Raiz);
System.out.println();
System.out.println("La altura del arbol es: " + A.Altura (A.Raiz));
A.Anchura (A.Raiz);
}
}
package adts;
//Definicion de la clase Arbol
class Arbol{
Cola Cola = new Cola();
NodoBinario Padre;
NodoBinario Raiz;
//Constructor
public Arbol(){
Raiz = null;
}
//Insercion de un elemento en el arbol
public void InsertaNodo(int Elem){
if(Raiz == null)
Raiz = new NodoBinario (Elem);
else
Raiz.InsertaBinario (Elem);
}
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 84 de 91
PROGRAMACIÓN ESTRUCTURADA II
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 85 de 91
PROGRAMACIÓN ESTRUCTURADA II
package javaapplication1;
//Definicion de la clase NodoBinario
class NodoBinario{
int dato;
NodoBinario Hizq, Hder;
//Constructores
NodoBinario (int Elem){
dato = Elem;
NodoBinario Hizq, Hder = null;
}
//Insercion de un elemento
public void InsertaBinario (int Elem){
if(Elem < dato){
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 86 de 91
PROGRAMACIÓN ESTRUCTURADA II
if (Hizq == null)
Hizq = new NodoBinario(Elem);
else
Hizq.InsertaBinario(Elem);
}
else{
if (Elem > dato){
if (Hder == null)
Hder = new NodoBinario (Elem);
else
Hder.InsertaBinario(Elem);
}
}
}
}
package adts;
//Definición de la Clase Lista
class Cola{
NodosListaA PrimerNodo;
NodosListaA UltimoNodo;
String Nombre;
//Constructor
public Cola (String s){
Nombre = s;
PrimerNodo = UltimoNodo =null;
}
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 87 de 91
PROGRAMACIÓN ESTRUCTURADA II
if(VaciaLista())
PrimerNodo = UltimoNodo = new NodosListaA (ElemInser);
else
PrimerNodo = new NodosListaA (ElemInser, PrimerNodo);
}
//Eliminar al Inicio
public void EliminaInicio(){
if(VaciaLista())
System.out.println ("No hay elementos");
// Restablecer las referencias de PrimerNodo y UltimoNodo
if(PrimerNodo.equals (UltimoNodo))
PrimerNodo = UltimoNodo = null;
else
PrimerNodo = PrimerNodo.siguiente;
}
//Elimina al final
public void EliminaFinal (){
if(VaciaLista())
System.out.println ("No hay elementos");
UltimoNodo =Actual;
Actual.siguiente = null;
}
}}
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 88 de 91
PROGRAMACIÓN ESTRUCTURADA II
package adts;
//Definición de la Clase NodoLista
class NodosListaA{
NodoBinario datos;
NodosListaA siguiente;
package adts;
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 89 de 91
PROGRAMACIÓN ESTRUCTURADA II
}
}
// Recorrido de un árbol binario en inorden public static void inorden(Nodo r) { if (r !=
null) {
inorden (r.subarbolIzdo());
r.visitar();
inorden (r.subarbolDcho());
}
}
// Recorrido de un árbol binario en postorden public static void postorden(Nodo r) { if
(r != null) {
postorden (r.subarbolIzdo());
postorden (r.subarbolDcho());
r.visitar();
}}
public static int altura(Nodo raiz)
{ if (raiz == null) return 0 ;
else {
int alturaIz = altura (raiz.subarbolIzdo());
int alturaDr = altura (raiz.subarbolDcho());
if (alturaIz > alturaDr)
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 90 de 91
PROGRAMACIÓN ESTRUCTURADA II
{
double x, y, valor;
char ch ;
Character nr;
valor = 0.0;
if (raiz != null) // no está vacío
{
nr = (Character) raiz.valorNodo();
ch = nr.charValue();
if (ch >= 'A' && ch <= 'Z')
case '/': if (y != 0) valor = x/y; else throw new Exception("Error: división por 0");
break;
case '^': valor = Math.pow(x, y);
}
}
}return valor;
}
}
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.
GUÍA DE PRÁCTICAS DE LABORATORIO DE Página 91 de 91
PROGRAMACIÓN ESTRUCTURADA II
V. CUESTIONARIO
Este documento es propiedad de la UPTELESUP, se prohíbe su reproducción total o parcial sin la autorización expresa (escrita) de la Gerencia General o de un
representante legal.