Durante esta práctica, los alumnos serán capaces de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
NOTA IMPORTANTE: Las actividades de la práctica se pueden elaborar de manera individual o en parejas. El reporte de la práctica de laboratorio debe ser desarrollado de manera individual.
Resuelve los siguientes problemas usando Node.js y el lenguaje de programación JavaScript. Crea un directorio llamado lab1
y coloca ahí todos los archivos fuente con las soluciones a los problemas.
Todos tus archivos fuente deben comenzar con un comentario que contenga el título de la práctica, la fecha y los datos personales de los autores (nombre y matrícula). Por ejemplo:
/****************************************************************************** * * Laboratorio 1: Introducción a JavaScript * Fecha: 23-Ene-2013 * Autores: * 456654 Steve Rogeres * 1160611 Anthony Stark * ******************************************************************************/
Con un grupo de 10,000 bolas se forma una pirámide de base cuadrada, con una única bola en su vértice superior y un número cuadrado perfecto de ellas en cada capa.
Escribe un programa en JavaScript llamado bolas.js
que calcule e imprima en la salida estándar la solución de las siguientes preguntas:
Cuando a Paco “el perezoso” se le pidió que simplificara la fracción 16/64, sencillamente tachó el seis del numerador y del denominador. Para asombro de su profesor, la técnica de simplificación empleada dio un resultado correcto:
Escribe un programa en JavaScript llamado perezoso.js
que determine e imprima en la salida estándar las fracciones con numerador y denominador de dos cifras, para las cuales la técnica de Paco da resultados correctos.
Escribe en JavaScript un programa llamado rectangulos.js
que permita crear objetos que representan rectángulos. Para ello deberás definir las siguientes operaciones:
Operación | Descripción |
---|---|
rectangle(width, height)
|
Función que crea un nuevo objeto que representa un rectángulo de un cierto ancho y altura. |
getWidth()
|
Método que devuelve el ancho del objeto receptor. |
getHeight()
|
Método que devuelve la altura del objeto receptor. |
perimeter()
|
Método que devuelve el perímetro del objeto receptor. |
area()
|
Método que devuelve el área del objeto receptor. |
draw()
|
Método que “dibuja” en la salida estándar el objeto receptor usando asteriscos (ver ejemplos). |
Ejemplos:
var a = rectangle(4, 3); var b = rectangle(5, 10); console.log("Primer rectángulo"); console.log("Ancho:", a.getWidth()); console.log("Altura:", a.getHeight()); console.log("Perímetro:", a.perimeter()); console.log("Área:", a.area()); console.log(); a.draw(); console.log("Segundo rectángulo"); console.log("Ancho:", b.getWidth()); console.log("Altura:", b.getHeight()); console.log("Perímetro:", b.perimeter()); console.log("Área:", b.area()); console.log(); b.draw();
Al ejecutar el código de arriba se debe producir la siguiente salida:
Primer rectángulo Ancho: 4 Altura: 3 Perímetro: 14 Área: 12 * * * * * * * * * * * * Segundo rectángulo Ancho: 5 Altura: 10 Perímetro: 30 Área: 50 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Para entregar tu trabajo individual, sigue las siguientes instrucciones:
reporte_lab1_A0MMMMMMM.txt
, en donde A0MMMMMMM
corresponde a tu matrícula. A partir del código fuente de AsciiDoc debes generar el archivo de HTML5 correspondiente. Dicho archivo se debe llamar reporte_lab1_A0MMMMMMM.html
. Coloca ambos archivos dentro del directorio lab1
.
lab1
. Nombra a este archivo lab1.tgz
.
Este archivo se puede crear desde la terminal tecleando lo siguiente (asegúrate que te encuentres en el mismo nivel que el directorio lab1
):
tar czf lab1.tgz lab1
Fecha límite: Martes, Enero 29.
Esta actividad será evaluada usando los siguientes criterios:
50% | Implementación de los requerimientos. |
---|---|
50% | Reporte de la práctica de laboratorio. |
DA | El programa y/o reporte es un plagio. |