Vous êtes sur la page 1sur 22

Tarea

MODALIDAD ABIERTA Y A DISTANCIA


La Universidad Católica de Loja

Programación de Algoritmos
4 créditos

Departamento de Ciencias de la Computación y Electrónica


Sección Tecnologías Avanzadas de la Web y SBC

Carrera Ciclo

§§ Informática III

Profesor autor:
Pedro Daniel Irene Robalino

Le recordamos que el envío de la tarea a través del EVA (Entorno Virtual de


Aprendizaje) es obligatorio; y, el ingreso se lo realiza en las fechas establecidas en el
calendario académico, que se encuentra en el siguiente enlace.
https://distancia.utpl.edu.ec/calendario-academico/

Octubre 2019 - Febrero 2020

TUTORÍAS: El profesor asignado publicará en el Entorno Virtual de Aprendizaje (EVA) su número telefónico y horario de tutoría.
Más información puede obtener llamando al Call Center 07 3701444, línea gratuita 1800 88758875 o al correo electrónico
callcenter@utpl.edu.ec

UTPL-TNCCO0202 Asesoría virtual:


www.utpl.edu.ec
Tarea: Programación de Algoritmos
Tarea
Primer bimestre

TEMA DE LA TAREA

Ensayo – “Escrutinios Presidenciales” – Programación en Java.

COMPETENCIA A LA QUE APORTA LA ACTIVIDAD

Identifica y aplica las estrategias de control de excepciones en flujos de código


propensos a fallos, así como conoce, comprende y programa algoritmos de búsqueda,
ordenamiento y recursividad sobre arreglos u otras estructuras.

ORIENTACIONES METODOLÓGICAS

▪▪ Para el desarrollo del presente ensayo, deberá revisar su guía de estudio,


texto básico, y anuncios/recursos que se publican en la plataforma virtual de
aprendizaje. Además, se sugiere participar de los foros, chats, cuestionarios
y video colaboraciones (códigos, sintaxis, temas adicionales, etc.) con los
cuales Ud. podrá mejorar sus competencias de análisis, diseño y codificación
de algoritmos.

▪▪ Solo una vez revisados los temas de: Excepciones, Arreglos y Recursividad,
inicie el desarrollo de este ensayo; no olvide que el fin de este trabajo, es
ofrecerle un indicador del nivel de conocimientos y competencias de cada
unidad y así, refuerce su práctica.

▪▪ Una vez desarrollada su solución Ud. debe presentar este componente de ensayo
considerando la siguiente ESTRUCTURA FORMAL DE PRESENTACIÓN,
para la cual se consideran la entrega de dos archivos (documento de informe
.docx, y Programación de la solución en .java – copiando al final los resultados
obtenidos en la ejecución). Las especificaciones, formatos, ejemplos, etc.
concretos para cada archivo las podrá encontrar en el siguiente apartado.

▪▪ Como parte del documento informe (.docx), Ud. debe adjuntar (al final del
mismo) la RÚBRICA DE EVALUACIÓN completada/llena con el fin de auto-
evaluación consciente y objetiva de las competencias por Ud. adquiridas en
el desarrollo del presente ensayo/tarea. Una vez completada la rúbrica, no
olvide seleccionar (en el encabezado del informe .docx) su escala general
obtenida (calificación cualitativa): Excelente (si alcanzo de entre 24 a 17 pts.

2
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

en la rúbrica adjunta al final), de Satisfactorio (si alcanzo de 16 a 11 pts.), En


progreso (de 10 a 7 pts.), e Iniciado (de 6 a 1 pt.); así como la estimación
consciente de una calificación final que crea merecer sobre 6pts. (calificación
cuantitativa).

▪▪ Su solución debe ser original, ya que el trabajo no es grupal, sino, individual.


En el caso de detectar el mínimo rastro de plagio (ya sea de páginas web,
videos, tutores/maestros, compañeros, familiares, entre otros.), su trabajo será
anulado adjuntando la evidencia del plagio, ante la cual Ud. no podrá refutar el
dictamen del docente, respaldado en el CÓDIGO DE ÉTICA INSTITUCIONAL
UTPL vigente, TITULO VII, Obligaciones éticas de los estudiantes, Art.19. inciso
6 que reza: “Evitar y denunciar todo tipo de prácticas de falta de honradez
académica, como plagio de trabajos, copia de exámenes, compraventa de
evaluaciones, falsificación de documentos o calificaciones, entre otros.”

ESTRUCTURA FORMAL DE PRESENTACIÓN

En el EVA se le habilitará un espacio para subir obligatoriamente dos archivos,


y solo dos archivos, NO, MÁS, (por favor, no comprimir sus archivos en una sola
carpeta), súbalos por separado.

1er. archivo:

El archivo nro. 1. corresponde al informe del programa, el cual debe ser


un documento en Microsoft Word .docx con la siguiente información y
código con formato (tabulaciones, colores, etc.), bajo ningún caso se
deben pegar imágenes capturadas del código. El nombre del informe
debe ser suUsername_ProgAlg_O19F20_1B.docx ( _2B para el 2do. bimestre) y
su contenido es el siguiente:

3
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

Desarrollo de la solución (suUsername_ProgAlg_O19F20_1B.java)

1 /**

2 * Comentario breve, enunciados, estrategias, etc. de la solución

3 * @author Nombre del Autor

4 * @version 1.0 1/11/2019

5 */

6 public class suUsername_ProgAlg_O19F20_2B {

7 /**

8 * metodo1: permite sumar, restar, multiplicar y dividir los años plazo,

9 * etc. etc. etc.

10 * @param x para el valor 1 del año

11 * @param y para el valor 2 del mes

12 * @return el valor de cero si no hay, si hay, el valor mayor a 30

13 */

14 public int metodo1(int x, int y){

15 //AQUI TODO SU CÓDIGO ...


16 return 0;
17 }

18 }

19
20 class testMetodos{

21 public static void main(String[] args) {

22 MiClaseA objeto = new MiClaseA(1, 2);


23 objeto.metodo1(1, 2);
24 }

25 }

26
27 /**
28 * RUN
29 * PEGAR AQUI LO QUE SE OBTENGA POR PANTALLA EN RESULTADOS
30 * SI NO HAY RESULTADOS AQUÍ, SE ASUMIRA COMO PROGRAMA INVALIDO
31 */

Nota:
Este formato en Word puede ser descargado desde su plataforma virtual de
aprendizaje.
4
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

Copiar con formato el código del ÚNICO .java al informe en word suUsername_
ProgAlg_O19F20_1B.docx, desde NetBeans (o de cualquier framework con el que
trabaje), es decir, con la numeración, colores, sangrías, etc. típicos del lenguaje java,
para ello Ud. NO DEBE copiar del NetBeans (o del IDE que use) directamente al
documento .docx, sino, debe usar algún intermediario que le dé formato al código
para no perderlo al pegar en el .docx. De entre muchos intermediarios existentes en
la red o herramientas de escritorio aquí le proponemos tres (siéntase en la libertad
de usar el que mejor conozca/domine de esta lista, o cualquier otra herramienta):

▪▪ Notepad++: http://notepad-plus-plus.org/

▪▪ Highlight Code. By AntonShevchuk (online) http://highlight.hohli.com

▪▪ Made by Alexander Kojevnikov (online): http://hilite.me/

Nota: Éstos tres recursos fueron consultados el 17 de junio del 2019, 13H:00.

Y por favor, para no tener su código en muchas hojas dentro del documento .docx,
reduzca el tamaño de la letra mínimo 8pts, y con interlineado mínimo.

Importante: No olvide que al final del código dentro del .docx y del .java, en un
comentario insertado con los caracteres /**, Ud. debe copiar y pegar lo que obtenga
por pantalla como resultado del RUN (resultados de la ejecución, bien tabulados por
el mismo .java – Netbeans – para lo cual Ud. puede revisar el apéndice G Formatted
Output de su libro base); esta última sección demandará la mayor calificación, ya que
ésta, nos certifica que su aplicación si funciona y genera los resultados correctos/
solicitados.

2do. archivo:

El archivo nro. 2. corresponde al código en sí, para el cual Ud. únicamente


debe adjuntar el único archivo .java (un solo archivo .java) perfectamente
documentado (comentado), organizado y limpio (sin variables que no use,
sin espacios en blanco innecesarios y con las tabulaciones incorrectas).

Por favor, es importante que todo el código este dentro de un solo archivo .java,
tenga o no tenga más de una clase/class; bajo ninguna circunstancia Ud. podrá subir
todo un proyecto comprimido, SI NO, SOLO UN ÚNICO ARCHIVO .java, compilable,
ejecutable y no empaquetado, para lo cual, el único archivo .java que entregue/suba
en la plataforma, será compilado usando directamente el comando javac y ejecutado
con el comando java desde consola (los recursos publicados en su plataforma le

5
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

permitirán conocer más detalle de cómo realizar esto), por tanto, antes de subir su
.java, Ud. deberá validar que si compila y ejecuta desde cualquier directorio o PC
donde se lo mueva; por lo tanto, se le recomienda:

▪▪ No empaquetar la(s) clase(s).

▪▪ Configurar correctamente las variables de entorno de su sistema para el JDK.

▪▪ Compilar y ejecutar su programa sin usar ningún IDE (sino directamente en


CMD con los comandos javac y java) – esto al final – antes de subirlo a la
plataforma.

▪▪ Como nombre del único archivo .java se le pide el siguiente formato, ello
con fines de facilitar la revisión de su código y el registro de su calificación:
suUsername_ProgAlg_O19F20_1B.java

▪▪ Si requiere codificar varias clases, hágalo dentro de un solo archivo .java,


para ello, no olvide que solo una clase debe ser public (con la que guarde su
archivo .java) las demás clases solo las definirá con class, caso contrario se
generará un error de compilación.

▪▪ La ejecución de su solución NO DEBERÁ requerir la intervención de un usuario,


es decir, no necesitará el ingreso de dato alguno, TODOS los datos Ud. LOS
DEBE AUTO-GENERAR de forma aleatoria, o quemarlos/inicializarlos en el
código o de la forma que considere más conveniente.

▪▪ Implemente el manejo de excepciones y algoritmos sobre arreglos (métodos


de búsqueda y ordenamiento) en función de su análisis y necesidades.

▪▪ Su aplicación se debe ejecutar bajo consola, Ud. no debe desarrollar soluciones


con interfaz gráfica.

▪▪ Bajo ningún caso se le receptarán/revisarán soluciones/proyectos en Netbeans


(o cualquier framework) completos/comprimidos, Ud. únicamente debe subir
un solo .java, compilable y ejecutable en consola.

6
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

ENUNCIADO DEL ENSAYO

Escrutinios Presidenciales

En nuestro país Ecuador se elige presidente de la republica cada cuatro años, por ello,
el Consejo Nacional Electoral (CNE) le ha contratado como experto en sistemas para
programar la solución informática que les permita realizar el escrutinio general de los
candidatos presidenciales a nivel nacional de forma automatizada, considerando los
siguientes parámetros.

1. u sistema deberá digitalizar las actas de escrutinio según el formato (datos)


S
que constan en la Figura nro. 1.: “Ejemplo de Borrador de Escrutinio”.

Importante: ni un solo dato debe ser solicitado por el sistema (programa) al


usuario, TODO (con fines académicos y de ejemplificación), TODO debe ser
autogenerado por su .java. con la clase Ramdon o de la forma que mejor crea
conveniente.

2. e debe totalizar los Votos Blancos, Votos Nulos, y de cada Candidato por
S
Provincia. Es irrelevante conocer los totales por Cantón, Circunscripción,
Parroquia, Zona o Junta.

3. Se debe totalizar los Votos Blancos, Votos Nulos, y de cada Candidato a


nivel Nacional, y dado estos totales, concluir si en la primera vuelva ya existe
un triunfador dadas las siguientes reglas:

●● 1ra. Regla: Se declara a X, Y o Z candidato como triunfador, si y solo si,


obtuviera “la mitad más un”, votos válidos del total contabilizado a nivel
nacional. Para esto (y solo en este primer momento) se excluyen los
Votos Blancos o Votos Nulos.

●● 2da. Regla: Si alguno de los candidatos (X, Y o Z) no obtuviera la


mitad mas un, votos válidos del total, verificamos si alguno de ellos ha
obtenido al menos el 40% del total de la votación, y para declararlo a este
triunfador, confirmamos que el candidato que le antecede, este atrás con
más del 10% del total de la votación.
Por ejemplo: de un total del 100% de votos válidos, supongamos que X
tiene 45% de votos válidos, Y tiene el 34% de votos válidos, y Z tiene el
21% de votos válidos, no podríamos declarar a X como ganador por la
1ra. regla de “la mitad más uno”, ya que el 45% no lo representa; pero si
lo pudiéramos declarar ganador con esta 2da. regla, ya que X si obtuvo

7
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

al menos el 40% de los votos válidos, y, X si supera a Y con más del 10%
del total de votos validos, de hecho, en este ejemplo X gana a Y con el
11% de votos válidos de diferencia (45% - 34% = 11%).

●● En caso de existir un triunfador en la primera vuelta por cualquiera


de las dos reglas anteriores (1ra. o 2da. regla), los Votos Nulos no se
contabilizan a ninguno, pero si, los Votos en Blanco, los cuales se le
acreditan al Candidato Ganador.

4. Si en la primera vuelva no existiera un triunfador, se pasa a una segunda


vuelta (2da. autogeneración de datos/actas de escrutinios de manera aleatoria/
randómica) entre los dos candidatos más votados de la primera vuelta.

5. Para declarar un candidato (de dos) triunfador en la segunda vuelta, basta con
verificar cuál de los dos candidatos posee la mayor cantidad de votos, al cual
se le acreditan también el total de Votos en Blanco.

6. Adicional a lo anterior, y como fin de análisis estadístico, Ud. debe presentar


en orden de votación los candidatos por cada una de las provincias del País, y
de esta forma cada postulante a la silla presidencial tenga una apreciación de
su nivel de aceptación en cada una de las provincias.

7. Finalmente, es importante para el candidato ganador, visualizar en que


provincias a sido triunfador y con que porcentaje de votación.

BORRADOR DE ESCRUTINIO
PRESIDENTE DE LA REPUBLICA

PROVINCIA: PARROQUIA:
CANTÓN: ZONA:
CIRCUNSCRIPCIÓN: JUNTA N.:
TOTAL DE FIRMAS Y HUELLAS
QUE CONSTAN EN EL PADRÓN
ELÉCTORAL
(Total de Votantes)
VOTOS BLANCOS

(Papeletas en blanco utilizadas)

8
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

VOTOS NULOS

(Papeletas anuladas utilizadas)


VOTACIÓN OBTENIDA POR CANDIDATO

LISTA CANDIDATO VOTOS EN NÚMERO

A Candidato 1

B Candidato 2
C Candidato 3

Figura nro. 1.: “Ejemplo de Borrador de Escrutinio”

Importante: Si en el transcurso del desarrollo de este trabajo a distancia


Ud. tuviera inconvenientes, con todo gusto le atenderemos en los medios
compartidos (por ejemplo, foros) que su Tutor disponga en la plataforma virtual
de aprendizaje.

Estimado(a) estudiante, una vez resuelta su tarea en el documento impreso


(borrador), acceda al Entorno Virtual de Aprendizaje (EVA) en www.utpl.edu.ec
e ingrese las respuestas respectivas.

SEÑOR ESTUDIANTE:
Le recordamos que para presentarse a rendir las evaluaciones presenciales no
está permitido el uso de ningún material auxiliar (calculadora, diccionario, libros,
Biblia, formularios, códigos, leyes, etc.)
Las pruebas presenciales están diseñadas para desarrollarlas sin la utilización
de estos materiales.

9
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos
Tarea
Segundo bimestre

TEMA DE LA TAREA

Ensayo – “Facturación de Electrodomésticos” – Programación en Java.

COMPETENCIA A LA QUE APORTA LA ACTIVIDAD

Evalúa técnicas de gestión de archivos de acceso secuencial adoptando la más


eficiente para la entrada/salida de datos persistentes y entiende y aplicar los
conceptos de Programación Orientada a Objetos, Herencia en el desarrollo de
programas en lenguaje Java.

ORIENTACIONES METODOLÓGICAS

▪▪ Para el desarrollo del presente ensayo, deberá revisar su guía de estudio,


texto básico, y anuncios/recursos que se publican en la plataforma virtual de
aprendizaje. Además, se sugiere participar de los foros, chats, cuestionarios
y video colaboraciones (códigos, sintaxis, temas adicionales, etc.) con los
cuales Ud. podrá mejorar sus competencias de análisis, diseño y codificación
de algoritmos.

▪▪ Solo una vez revisados los temas de: Archivos en Java, POO y Herencia, inicie
el desarrollo de este ensayo; no olvide que el fin de este trabajo, es ofrecerle
un indicador del nivel de conocimientos y competencias de cada unidad y así,
refuerce su práctica.

▪▪ Una vez desarrollada su solución Ud. debe presentar este componente de ensayo
considerando la siguiente ESTRUCTURA FORMAL DE PRESENTACIÓN,
para la cual se consideran la entrega de dos archivos (documento de informe
.docx, y Programación de la solución en .java – copiando al final los resultados
obtenidos en la ejecución). Las especificaciones, formatos, ejemplos, etc.
concretos para cada archivo las podrá encontrar en el siguiente apartado.

▪▪ Como parte del documento informe (.docx), Ud. debe adjuntar (al final del
mismo) la RÚBRICA DE EVALUACIÓN completada/llena con el fin de auto-
evaluación consciente y objetiva de las competencias por Ud. adquiridas en
el desarrollo del presente ensayo/tarea. Una vez completada la rúbrica, no
olvide seleccionar (en el encabezado del informe .docx) su escala general

10
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

obtenida (calificación cualitativa): Excelente (si alcanzo de entre 24 a 17 pts.


en la rúbrica adjunta al final), de Satisfactorio (si alcanzo de 16 a 11 pts.), En
progreso (de 10 a 7 pts.), e Iniciado (de 6 a 1 pt.); así como la estimación
consciente de una calificación final que crea merecer sobre 6pts. (calificación
cuantitativa).

▪▪ Su solución debe ser original, ya que el trabajo no es grupal, sino, individual.


En el caso de detectar el mínimo rastro de plagio (ya sea de páginas web,
videos, tutores/maestros, compañeros, familiares, entre otros.), su trabajo será
anulado adjuntando la evidencia del plagio, ante la cual Ud. no podrá refutar el
dictamen del docente, respaldado en el CÓDIGO DE ÉTICA INSTITUCIONAL
UTPL vigente, TITULO VII, Obligaciones éticas de los estudiantes, Art.19. inciso
6 que reza: “Evitar y denunciar todo tipo de prácticas de falta de honradez
académica, como plagio de trabajos, copia de exámenes, compraventa de
evaluaciones, falsificación de documentos o calificaciones, entre otros.”

ESTRUCTURA FORMAL DE PRESENTACIÓN

En el EVA se le habilitará un espacio para subir obligatoriamente dos archivos,


y solo dos archivos, NO, MÁS, (por favor, no comprimir sus archivos en una sola
carpeta), súbalos por separado.

1er. archivo:

El archivo nro. 1. corresponde al informe del programa, el cual debe ser


un documento en Microsoft Word .docx con la siguiente información y
código con formato (tabulaciones, colores, etc.), bajo ningún caso se
deben pegar imágenes capturadas del código. El nombre del informe
debe ser suUsername_ProgAlg_O19F20_2B.docx y su contenido es el siguiente:

11
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

Análisis y diseño de la solución (Diagrama de clases)

A continuación, un ejemplo de cómo se debe presentar el diagrama de clase UML,


el cual Ud. lo puede generar con cualquier herramienta (NetBeans, Eclipse, IntelliJ
IDEA, etc.), caso contrario, Visio, o el mismo Word son aplicables. Dicho diagrama
es obligatorio, por cuanto su .java debe aplicar conceptos de Herencia. Borrar este
comentario al redactar su informe.

Documentación del diagrama de clases UML:

Nombre
de la Descripción
Clase
ClaseX La clase <ClaseX> permite definir a un estudiante con sus atributos a, b, c, etc

Métodos Descripción
MiMetodoA Este método/función retorna el promedio de las calificaciones
xyz para el ciclo C1, etc, etc..
MiMetodoB Este método/función retorna el promedio de las calificaciones
xyz para el ciclo C1, etc, etc..
ClaseY La clase <ClaseY> hereda de la súper clase <ClaseX> para permitir procesar
los datos a, b, c, etc …
Métodos Descripción
MiMetodoA Este método/función retorna el promedio de las calificaciones
xyz para el ciclo C1, etc, etc..
MiMetodoB Este método/función retorna el promedio de las calificaciones
xyz para el ciclo C1, etc, etc..

12
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

Desarrollo de la solución suUsername_ProgAlg_O19F20_2B.java

1 /**

2 * Comentario breve, enunciados, estrategias, etc. de la solución

3 * @author Nombre del Autor

4 * @version 1.0 1/11/2019

5 */

6 public class suUsername_ProgAlg_O19F20_2B {

7 /**

8 * metodo1: permite sumar, restar, multiplicar y dividir los años plazo,

9 * etc. etc. etc.

10 * @param x para el valor 1 del año

11 * @param y para el valor 2 del mes

12 * @return el valor de cero si no hay, si hay, el valor mayor a 30

13 */

14 public int metodo1(int x, int y){

15 //AQUI TODO SU CÓDIGO ...


16 return 0;
17 }

18 }

19
20 class testMetodos{

21 public static void main(String[] args) {

22 MiClaseA objeto = new MiClaseA(1, 2);


23 objeto.metodo1(1, 2);
24 }

25 }

26
27 /**
28 * RUN
29 * PEGAR AQUI LO QUE SE OBTENGA POR PANTALLA EN RESULTADOS
30 * SI NO HAY RESULTADOS AQUÍ, SE ASUMIRA COMO PROGRAMA INVALIDO
31 */

Nota:
Este formato en Word puede ser descargado desde su plataforma

13
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

Copiar con formato el código del ÚNICO .java al informe en Word suUsername_
ProgAlg_AA19_2B.docx, desde NetBeans (o de cualquier framework con el que
trabaje), es decir, con la numeración, colores, sangrías, etc. típicos del lenguaje java,
para ello Ud. NO DEBE copiar del NetBeans (o del IDE que use) directamente al
documento .docx, sino, debe usar algún intermediario que le dé formato al código
para no perderlo al pegarlo en el .docx. De entre muchos intermediarios existentes
en la red o herramientas de escritorio aquí le proponemos tres (siéntase en la libertad
de usar el que mejor conozca/domine de esta lista, o cualquier otra herramienta):

▪▪ Notepad++: http://notepad-plus-plus.org/

▪▪ Highlight Code. By AntonShevchuk (online) http://highlight.hohli.com

▪▪ Made by Alexander Kojevnikov (online): http://hilite.me/

Nota: Éstos tres recursos fueron consultados el 17 de junio del 2019, 13H:00.

Y por favor, para no tener su código en muchas hojas dentro del documento .docx,
reduzca el tamaño de la letra mínimo 8pts, y con interlineado mínimo.

Importante: No olvide que al final del código dentro del .docx y del .java, en un
comentario insertado con los caracteres /**, Ud. debe copiar y pegar lo que obtenga
por pantalla como resultado del RUN (resultados de la ejecución, bien tabulados por
el mismo .java – Netbeans – para lo cual Ud. puede revisar el apéndice G Formatted
Output de su libro base); esta última sección demandará la mayor calificación, ya que
ésta, nos certifica que su aplicación si funciona y genera los resultados correctos/
solicitados.

2do. archivo:

El archivo nro. 2. corresponde al código en sí, para el cual Ud. únicamente


debe adjuntar el único archivo .java (un solo archivo .java) perfectamente
documentado (comentado), organizado y limpio (sin variables que no use,
sin espacios en blanco innecesarios y con las tabulaciones correctas).

Por favor, es importante que todo el código este dentro de un solo archivo .java,
tenga o no tenga más de una clase/class; bajo ninguna circunstancia Ud. podrá subir
todo un proyecto comprimido, SI NO, SOLO UN ÚNICO ARCHIVO .java, compilable,
ejecutable y no empaquetado, para lo cual, el único archivo .java que entregue/suba
en la plataforma, será compilado usando directamente el comando javac y ejecutado
con el comando java desde consola (los recursos publicados en su plataforma le

14
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

permitirán conocer más detalle de cómo realizar esto), por tanto, antes de subir su
.java, Ud. deberá validar que si se compila y ejecuta desde cualquier directorio o PC
donde se lo mueva; por lo tanto, se le recomienda:

▪▪ No empaquetar la(s) clase(s).

▪▪ Configurar correctamente las variables de entorno de su sistema para el JDK.

▪▪ Compilar y ejecutar su programa sin usar ningún IDE (sino directamente en


CMD con los comandos javac y java) – esto al final – antes de subirlo a la
plataforma.

▪▪ Como nombre del único archivo .java se le pide el siguiente formato, ello
con fines de facilitar la revisión de su código y el registro de su calificación:
suUsername_ProgAlg_O19F20_2B.java

▪▪ Si requiere codificar varias clases, hágalo dentro de un solo archivo .java,


para ello, no olvide que solo una clase debe ser public (con la que guarde su
archivo .java) las demás clases solo las definirá con class, caso contrario se
generará un error de compilación.

▪▪ La ejecución de su solución NO DEBERÁ requerir la intervención de un usuario,


es decir, no necesitará el ingreso de dato alguno, TODOS los datos Ud. LOS
DEBE AUTO-GENERAR de forma aleatoria, o quemarlos/inicializarlos en el
código o de la forma que considere más conveniente.

▪▪ Su aplicación se debe ejecutar bajo consola, Ud. no debe desarrollar soluciones


con interfaz gráfica.

▪▪ Bajo ningún caso se le receptarán/revisarán soluciones/proyectos en Netbeans


(o cualquier framework) completos/comprimidos, Ud. únicamente debe subir
un solo .java, compilable y ejecutable en consola.

15
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

ENUNCIADO DEL ENSAYO

Venta de electrodomésticos

Los Almacenes “Mi Casa S.A” desean contratarlo como Desarrollador para elaborar
su Sistema de Facturación, considerando que se comercializa únicamente 2
electrodomésticos Lavadoras y Refrigeradores. Para ello, un arquitecto de sistemas,
ya realizo un previo levantamiento y análisis de los requerimientos, y le ha dejado
gran parte del trabajo de modelado plasmado en las siguientes indicaciones.

Se requiere de una superclase llamada Electrodomestico con las siguientes


características:

1. Sus atributos son: precio base, color, consumo energético (letras entre A y F) y
peso. Indicar, que se podrán heredar.

2. Por defecto, el color será blanco, el consumo energético será F, el precio base
es de $100 y el peso de 5 kg. Usar constantes para ello.

3. Los colores disponibles son: blanco, negro, rojo, azul y gris. No importa si el
nombre esta en mayúsculas o en minúsculas.

4. Los constructores que se implementarán serán:

●● Un constructor por defecto.

●● Un constructor con el precio y peso. El resto por defecto.

●● Un constructor con todos los atributos.

5. Los métodos que implementarán serán:

●● Métodos get/set de todos los atributos.

●● comprobarConsumoEnergetico(char letra): que comprueba que la


letra es correcta, sino es correcta usa la letra por defecto. Se invocará al
crear el objeto y no será visible.

●● comprobarColor(String color): comprueba que el color es correcto, sino


lo es usa el color por defecto. Se invocará al crear el objeto y no será
visible.

16
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

●● precioFinal(): según el consumo energético, aumentara su precio, y


según su tamaño, también. Esta es la lista de precios:

LETRA PRECIO

A 100
B 80
C 60
D 50
E 30
F 10

TAMAÑO PRECIO

Entre 0 y 19 kg 10
Entre 20 y 49 kg 50
Entre 50 y 79 kg 80
Mayor que 80 kg 100

Se requiere de una subclase llamada Lavadora con las siguientes características:

1. Su atributo es carga, además de los atributos heredados.

2. Por defecto, la carga es de 5 kg. Usar una constante para ello.

3. Los constructores que se implementarán serán:

●● Un constructor por defecto.

●● Un constructor con el precio y peso. El resto por defecto.

●● Un constructor con la carga y el resto de los atributos heredados.


Recuerde que debe llamar al constructor de la clase padre.

4. Los métodos que se implementarán serán:

●● Método get/set de carga.

●● precioFinal(): si tiene una carga mayor de 30 kg, aumentara el precio en


$50, sino es así no se incrementara el precio. (Llame al método padre
y añada el código necesario. Recuerde que las condiciones que hemos
visto en la clase Electrodomestico también deben afectar al precio.)

17
La Universidad Católica de Loja UTPL
Tarea: Programación de Algoritmos

Se requiere de una subclase llamada Television con las siguientes características:

1. Sus atributos son resolución (en pulgadas) y sintonizador TDT (booleano),


además de los atributos heredados.

2. Por defecto, la resolución será de 20 pulgadas y el sintonizador será falso.

3. Los constructores que se implementarán serán:

●● Un constructor por defecto.

●● Un constructor con el precio y peso. El resto por defecto.

●● Un constructor con la resolución, sintonizador TDT y el resto de los


atributos heredados. Recuerde que debe llamar al constructor de la clase
padre.

4. Los métodos que se implementarán serán:

●● Método get/set de resolución y sintonizador TDT.

●● precioFinal(): si tiene una resolución mayor de 40 pulgadas, se


incrementara el precio en un 30% y si tiene un sintonizador TDT
incorporado, aumentara $50. Recuerde que las condiciones que hemos
visto en la clase Electrodomestico también deben afectar al precio.

Con el fin de probar la jerarquía de clases anterior, se requiere de una clase ejecutable
que realice lo siguiente:

▪▪ Crear un array de Electrodomesticos de 10 elementos.

▪▪ Asignar a cada posición un objeto de las clases anteriores con los valores que
desees.

▪▪ Ahora, recorrer este array y ejecutar el método precioFinal().

▪▪ Mostrar el precio de cada clase, es decir, el precio de todos los televisores,


por un lado, el de las lavadoras por otro y la suma de los Electrodomesticos
(puede crear objetos Electrodomestico, pero recuerde que Television y Lavadora
también son electrodomésticos). Recuerde el uso operador instanceof.

18
MODALIDAD ABIERTA Y A DISTANCIA
Tarea: Programación de Algoritmos

Por ejemplo, si tenemos un Electrodomestico con un precio final de $300,


una lavadora de $200 y una televisión de $500, el resultado final será de $1000
(300+200+500) para electrodomésticos, $200 para lavadora y $500 para televisión.

Importante: Si en el transcurso del desarrollo de este trabajo a distancia Ud. tuviera


inconvenientes, con todo gusto le atenderemos en los medios compartidos (por
ejemplo, foros) que su Tutor disponga en la plataforma virtual de aprendizaje.

RÚBRICA DE EVALUACIÓN

Las rúbricas son una de las herramientas más importantes para evaluar de una
manera objetiva, precisa y realista, es oportuno validar los ensayos con criterios
bien definidos calificando el esfuerzo y resultados de todo un bimestre, evidenciando
así el nivel de competencias adquiridas en la asignatura de Programación de
Algoritmos.

19
La Universidad Católica de Loja UTPL
20
ASPECTOS /
Excelente satisfactorio en progreso iniciado Ausente Puntaje
ESCALA
4 pts. 3 pts. 2 pts. 1 pt. 0 pts.
Legibilidad y La estructura del La estructura del La estructura del La estructura del Código sin __ / 4pts.
Documentación código es bastante código es clara código no es muy código es confusa, estructura,
clara y limpia, y limpia, con clara ni limpia, la casi no documenta totalmente
con suficiente documentación / documentación es ni comenta. confuso, sin
Tarea: Programación de Algoritmos

documentación / comentarios mínima documentación


comentarios ni comentarios
Datos de entrada Definidos, Definidos, Definidos, ingresados Definidos, No define, __ / 4pts.
ingresados y/o ingresados y/o y/o auto generados de ingresados y/o auto ingresa y/o
auto generados de auto generados manera parcialmente generados de forma auto genera
forma totalmente de forma clara y clara y con escaso totalmente confusa, datos de
clara y organizada organizada orden ausente y/o sin entrada alguno
orden
Resultados Procesados y Procesados y Procesados y Casi no procesa ni No procesa __ / 4pts.
visualizados de visualizados de visualizados de visualiza resultado ni visualiza
forma totalmente forma clara y manera parcialmente alguno resultado
clara y organizada organizada clara y con escaso alguno
orden
Resolución del Resuelve todos Resuelve los Resuelve algunos No resuelve todos No resuelve __ / 4pts.
problema los requerimientos requerimientos requerimientos los requerimientos, ningún
con una lógica con una lógica con una lógica su lógica es confusa requerimiento
totalmente comprensible parcialmente y/o lógica
comprensible comprensible totalmente
confusa

MODALIDAD ABIERTA Y A DISTANCIA


ASPECTOS /
Excelente satisfactorio en progreso iniciado Ausente Puntaje
ESCALA
Funcionamiento La solución compila La solución La solución no compila La solución no No adjunta la __ / 4pts.
y ejecuta de forma compila y/o ejecuta de forma compila y/o ejecuta solución para
sencilla, según las y ejecuta sencilla, según las su compilación
especificaciones según las especificaciones y/o ejecución

La Universidad Católica de Loja


especificaciones
Informe Es totalmente Es claro y/u Es parcialmente claro Es totalmente No adjunta __ / 4pts.
claro y organizado, organizado y organizado, casi no confuso, sin informe
guardando con formatos guarda formatos y/o formatos e solicitado
formatos e e información información solicitada información
información solicitada solicitada
solicitada

Puntaje total de la rúbrica según la escala seleccionada para cada aspecto: ___ / 24pts.

UTPL
21
Tarea: Programación de Algoritmos
Tarea: Programación de Algoritmos

Estimado(a) estudiante, una vez resuelta su tarea en el documento impreso


(borrador), acceda al Entorno Virtual de Aprendizaje (EVA) en www.utpl.edu.ec
e ingrese las respuestas respectivas.

SEÑOR ESTUDIANTE:
Le recordamos que para presentarse a rendir las evaluaciones presenciales no
está permitido el uso de ningún material auxiliar (calculadora, diccionario, libros,
Biblia, formularios, códigos, leyes, etc.)
Las pruebas presenciales están diseñadas para desarrollarlas sin la utilización
de estos materiales.

22
MODALIDAD ABIERTA Y A DISTANCIA

Vous aimerez peut-être aussi