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 el siguiente problema usando Node.js y el lenguaje de programación JavaScript. Crea un directorio llamado lab1
y coloca ahí tu archivo fuente con la solución del problema.
Tu archivo fuente debe 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 la programación asíncrona * Fecha: 27-Agosto-2014 * Autores: * 1166611 Pepper Pots * 1160611 Anthony Stark *----------------------------------------------------------*/
El archivo movies.csv es un archivo con formato CSV (comma-separated values) que contiene información sobre varias películas. Cada película se encuentra en su propio renglón dentro del archivo. Los datos de cada película son: nombre, año de estreno y director. Dentro de un mismo renglón, los datos están separados entre sí a través de comas.
Usando Node.js, escribe un programa que lea de manera asíncrona el archivo movies.csv del sistema local de archivos y produzca un nuevo archivo de manera asíncrona llamado sorted.csv
con el mismo formato que el archivo de entrada pero con los renglones ordenados de manera ascendente por el año de estreno de las películas.
Para leer y escribir los archivos debes utilizar las siguientes funciones asíncronas:
Otras funciones que pueden ser de utilidad para resolver el problema son las siguientes:
Al final, el archivo sorted.csv
debe quedar con el siguiente contenido:
name,year,director In the Heat of the Night,1967,Norman Jewison Oliver!,1968,Carol Reed Midnight Cowboy,1969,John Schlesinger Patton,1970,Franklin J. Schaffner The French Connection,1971,William Friedkin The Godfather,1972,Francis Ford Coppola The Sting,1973,George Roy Hill The Godfather Part II,1974,Francis Ford Coppola One Flew Over the Cuckoo's Nest,1975,Miloš Forman Rocky,1976,John G. Avildsen Annie Hall,1977,Woody Allen The Deer Hunter,1978,Michael Cimino Kramer vs. Kramer,1979,Robert Benton Ordinary People,1980,Robert Redford Chariots of Fire,1981,Hugh Hudson Gandhi,1982,Richard Attenborough Terms of Endearment,1983,James L. Brooks Amadeus,1984,Miloš Forman Out of Africa,1985,Sydney Pollack Platoon,1986,Oliver Stone The Last Emperor,1987,Bernardo Bertolucci Rain Man,1988,Barry Levinson Driving Miss Daisy,1989,Bruce Beresford Dances with Wolves,1990,Kevin Costner The Silence of the Lambs,1991,Jonathan Demme Unforgiven,1992,Clint Eastwood Schindler's List,1993,Steven Spielberg Forrest Gump,1994,Robert Zemeckis Braveheart,1995,Mel Gibson The English Patient,1996,Anthony Minghella Titanic,1997,James Cameron Shakespeare in Love,1998,John Madden American Beauty,1999,Sam Mendes Gladiator,2000,Ridley Scott A Beautiful Mind,2001,Ron Howard Chicago,2002,Rob Marshall The Lord of the Rings: The Return of the King,2003,Peter Jackson Million Dollar Baby,2004,Clint Eastwood Crash,2005,Paul Haggis The Departed,2006,Martin Scorsese No Country for Old Men,2007,Joel Coen Slumdog Millionaire,2008,Danny Boyle The Hurt Locker,2009,Kathryn Bigelow The King's Speech,2010,Tom Hooper The Artist,2011,Michel Hazanavicius Argo,2012,Ben Affleck 12 Years a Slave,2013,Steve McQueen
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
Para entregar el archivo lab1.tgz
, ingresa los siguientes datos:
Fecha límite: Miércoles, 27 de agosto.
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. |