SlideShare una empresa de Scribd logo
1 de 3
Software Libre / Código Abierto
                                   Trabajo Final


                                          25 de marzo de 2009


Cuestionario
  Responda con sus palabras a las siguientes preguntas:

 1. ¿Cuáles son las cuatro libertades que deberían garantizarse sobre el software según R ICHARD S TALLMAN,
    fundador del movimiento de Software Libre?
 2. ¿Qué diferencia existe entre el movimiento del software libre y el movimiento de código abierto? ¿Cómo se
    benefician entre sí?
 3. A su criterio, ¿qué ventajas y qué desventajas presenta el desarrollo de software libre con respecto al desa-
    rrollo de software comercial clásico?
 4. Habiendo tomado contacto con productos de software libre, ¿qué diferencias notorias encuentra entre los
    productos de software libre y los productos de software comercial en general?
 5. ¿De qué manera ayudaría usted a una persona no relacionada directamente a la informática a iniciarse en el
    uso de productos de software libre/código abierto?
 6. ¿De qué manera ayudaría usted a una persona relacionada directamente a la informática a iniciarse en el uso
    de productos de software libre/código abierto?


Práctico
 1. Crear en un repositorio CVS el proyecto data2html e ingresar en el mismo un script de shell denominado
    de la misma forma: data2html que comience de la siguiente forma:
         #!/bin/bash
         #
         # $Id: trabajo.lyx,v 1.4 2007/03/14 21:32:34 hcurti Exp $
         # Breve párrafo explicando lo que hace este script
 2. A continuación escribir el código del script que debe construir un archivo html a partir de un archivo
    delimitado. El script debe aceptar dos sinopsis:
         data2html
         data2html archivo...
    En el primer caso se leerá el texto desde entrada estándar y se emitirá el código html por salida estándar. En
    el segundo caso se irán abriendo y procesando los archivos pasados como argumento, generando un archivo
    html para cada uno.
    Para generar el nombre del archivo de salida se utilizará el siguiente criterio: Si el nombre del archivo de
    entrada termina en ‘.txt’, se reemplazará ‘.txt’ por ‘.html’; en cualquier otro caso se agregará directamente
    la extensión ‘.html’. Ej: para mitabla.txt se debe generar mitabla.html; para otratabla se
    debe generar otratabla.html; para otracosa.dat se debe generar otracosa.dat.html. Los
    archivos de salida en todos los casos deben guardarse en el directorio desde donde se ejecutó el script.
    El archivo de entrada debe contener datos tabulares delimitados, utilizando el siguiente formato:

                                                       1
nombre de la tabla
        titulo1:titulo2:...:tituloN
        dato1.1:dato1.2:...:dato1.N
        .
        .
        .
        datoM.1:datoM.2:...:datoM.M

  El archivo de salida debe ser una tabla html válida, y el nombre de la tabla debe ser usado como título. Por
  ejemplo, para un archivo de entrada que contiene:

        Listado de alumnos
        Apellido:Nombre:Dni
        Perez:Jose:283949320
        Fernandez:Martín:30123456
        Gonzalez:Juan:23434403

  se debe generar:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
        <html>
         <head>
          <title>Listado de alumnos</title>
         </head>
         <body>
          <h1>Listado de alumnos</h1>
          <center><table border=1>
           <tr><th>Apellido</th><th>Nombre</th><th>Dni</th></tr>
           <tr><td>Perez</td><td>Jose</td><td>283949320</td></tr>
           <tr><td>Fernandez</td><td>Martín</td><td>30123456</td></tr>
           <tr><td>Gonzalez</td><td>Juan</td><td>23434403</td></tr>
          </table></center>
         </body>
        </html>

  No hace falta que el código html esté indentado, ni que siga ese orden de interlineado en particular. Sí es
  importante que estén todos los elementos mostrados. Para el procesamiento del nombre del archivo de salida
  se recomienda el uso de las sustituciones de parámetro, explicadas en la página de manual de BASH, en la
  sección ‘Expansión’.

3. Hacer un commit de este script a CVS y marcarlo (con cvs tag) como v_1_0.

4. Extender el script data2html para que acepte las siguientes opciones:

  -c |–css plantilla Agregar una línea de plantilla css en el encabezado utilizando la plantilla indicada. El
        parámetro plantilla es obligatorio.
  -d |–delimiter delim Utilizar delim en vez de dos puntos como delimitador de columna en el archivo de
        entrada. El parámetro delim es obligatorio, y debe ser un carácter. Si se recibiera más de un carácter,
        se debe utilizar el primero solamente.
  -e |–embedded Emitir solamente la tabla html (desde <table> hasta </table>), omitiendo el resto del
        código html, de manera tal que el archivo de salida pueda ser insertado en otro documento html.
  -t |–title titulo Utilizar titulo como título html en vez del título que figura en el archivo. El parámetro titulo
         es obligatorio.
  -H |–noh1 No imprimir el título con <h1> al principio de la tabla.
  -h |-? |–help No procesar archivos, en su lugar mostrar por salida de error las sinopsis aceptadas y una
        pequeña descripción de lo que hace cada opción (similar a la que se muestra aquí).
  -u |–usage No procesar archivos, en su lugar mostrar por salida de error las sinopsis aceptadas.

                                                      2
Para procesar las opciones se recomienda utilizar el comando getopt. (Hay documentación y ejemplos en
      man getopt; en Debian los ejemplos se guardan en /usr/share/doc/util-linux/examples)
      Para la opción -c (o --css), por ejemplo si se recibiera -c plantilla.css, se deberían agregar las
      siguientes líneas después de <head> y antes de <title>:

           <META http-equiv="Content-Style-Type" content="text/css">
           <LINK href="plantilla.css" type="text/css" rel="stylesheet">

      No es necesario que el script verifique la existencia del archivo plantilla.css.
   5. Escribir un Makefile que permita instalar y desinstalar este script en algún directorio del sistema (ej: /usr/local/bin);
      y que mediante el objetivo clean elimine cualquier archivo de respaldo generado por los editores de texto.
   6. Hacer un commit del script y del Makefile a CVS y marcarlo (con cvs tag) como v_2_0.


Entrega
    Se debe entregar el cuestionario y un pequeño informe con un ejemplo de uso del script en sus dos versiones.
El informe puede entregarse impreso o en un archivo con formato html, ps, pdf, txt o cualquier otro formato
estándar, preferentemente por correo electrónico a hcurti@exa.unicen.edu.ar.
    También se debe entregar un comprimido (.tgz, .tbz2 o .zip) del directorio data2html presente en el reposi-
torio CVS luego de terminado todo el trabajo.
   El trabajo debe entregarse terminado antes del 1er llamado a finales después de la finalización del curso.
   Por dudas o consultas dirigirse a H UGO C URTI (hcurti@exa.unicen.edu.ar) o C LAUDIO ACITI (caciti@exa.unicen.edu.ar).




                                                       3

Más contenido relacionado

La actualidad más candente

77 Php. AñAdir Nuevas Fuentes Para Pdf
77 Php. AñAdir Nuevas Fuentes Para Pdf77 Php. AñAdir Nuevas Fuentes Para Pdf
77 Php. AñAdir Nuevas Fuentes Para Pdf
José M. Padilla
 
4 file ownerships and permissions
4 file ownerships and permissions4 file ownerships and permissions
4 file ownerships and permissions
cyberleon95
 
Permisos de linux
Permisos de linuxPermisos de linux
Permisos de linux
bat18
 
Permisos basicos linux
Permisos basicos linuxPermisos basicos linux
Permisos basicos linux
eclipsotol
 
Sop u2 a1_alll
Sop u2 a1_alllSop u2 a1_alll
Sop u2 a1_alll
Alis Lu
 

La actualidad más candente (18)

File Find - Proyecto Programación 3 1992 - UFM - FISICC
File Find - Proyecto Programación 3 1992 - UFM - FISICCFile Find - Proyecto Programación 3 1992 - UFM - FISICC
File Find - Proyecto Programación 3 1992 - UFM - FISICC
 
Tuberías (PIPES). EN GNU-LINUX-CENTOS ::: http://leymebamba.com
Tuberías (PIPES).  EN GNU-LINUX-CENTOS  ::: http://leymebamba.comTuberías (PIPES).  EN GNU-LINUX-CENTOS  ::: http://leymebamba.com
Tuberías (PIPES). EN GNU-LINUX-CENTOS ::: http://leymebamba.com
 
19 usuarios gruposlinuxasoitson
19 usuarios gruposlinuxasoitson19 usuarios gruposlinuxasoitson
19 usuarios gruposlinuxasoitson
 
Acceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-phpAcceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-php
 
77 Php. AñAdir Nuevas Fuentes Para Pdf
77 Php. AñAdir Nuevas Fuentes Para Pdf77 Php. AñAdir Nuevas Fuentes Para Pdf
77 Php. AñAdir Nuevas Fuentes Para Pdf
 
4 file ownerships and permissions
4 file ownerships and permissions4 file ownerships and permissions
4 file ownerships and permissions
 
Administración y comandos básicos del sistema - diapositiva - IF04
Administración y comandos básicos del sistema - diapositiva - IF04Administración y comandos básicos del sistema - diapositiva - IF04
Administración y comandos básicos del sistema - diapositiva - IF04
 
Writer y Calc
Writer y CalcWriter y Calc
Writer y Calc
 
Ordenes del cmd
Ordenes del cmdOrdenes del cmd
Ordenes del cmd
 
Permisos de linux
Permisos de linuxPermisos de linux
Permisos de linux
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
 
PHP MYSQL - FIEI-UNFV Clase 01
PHP MYSQL - FIEI-UNFV Clase 01PHP MYSQL - FIEI-UNFV Clase 01
PHP MYSQL - FIEI-UNFV Clase 01
 
Permisos basicos linux
Permisos basicos linuxPermisos basicos linux
Permisos basicos linux
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Trabajo en porwer piont ana milena ahumedo
Trabajo en porwer piont ana milena ahumedoTrabajo en porwer piont ana milena ahumedo
Trabajo en porwer piont ana milena ahumedo
 
Introducción a MS-DOS.
Introducción a MS-DOS.Introducción a MS-DOS.
Introducción a MS-DOS.
 
Unidad 9:
Unidad 9: Unidad 9:
Unidad 9:
 
Sop u2 a1_alll
Sop u2 a1_alllSop u2 a1_alll
Sop u2 a1_alll
 

Destacado

2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...
2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...
2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...
Kronikoen Sarea La red vasca de pacientes
 
Weblogs
WeblogsWeblogs
Weblogs
juancm
 
Returns basedstyleanalysisinexcel mcdermott
Returns basedstyleanalysisinexcel mcdermottReturns basedstyleanalysisinexcel mcdermott
Returns basedstyleanalysisinexcel mcdermott
bfmresearch
 
The 2012 Channel Marketing Preference Survey
The 2012 Channel Marketing Preference SurveyThe 2012 Channel Marketing Preference Survey
The 2012 Channel Marketing Preference Survey
Ryan Bonnici
 
Criterio y funcionamiento de un sniffer (cain & abel) (www.dragon jar.us)
Criterio y funcionamiento de un sniffer (cain & abel)  (www.dragon jar.us)Criterio y funcionamiento de un sniffer (cain & abel)  (www.dragon jar.us)
Criterio y funcionamiento de un sniffer (cain & abel) (www.dragon jar.us)
Gabriel Romero Pastrana
 

Destacado (20)

Enfermedad de cutting
Enfermedad de cuttingEnfermedad de cutting
Enfermedad de cutting
 
Real Photography
Real PhotographyReal Photography
Real Photography
 
2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...
2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...
2ª Sesión Aprende a Cuidarte: Doctor estoy infoxicado, ¿es grave? Prevención,...
 
Machine Learning Concepts for Software Monitoring - Lior Redlus, Coralogix - ...
Machine Learning Concepts for Software Monitoring - Lior Redlus, Coralogix - ...Machine Learning Concepts for Software Monitoring - Lior Redlus, Coralogix - ...
Machine Learning Concepts for Software Monitoring - Lior Redlus, Coralogix - ...
 
ELIX Viviendas con encanto
ELIX Viviendas con encantoELIX Viviendas con encanto
ELIX Viviendas con encanto
 
Social media (ICT Month)
Social media (ICT Month)Social media (ICT Month)
Social media (ICT Month)
 
Sol Talks n.7
Sol Talks n.7Sol Talks n.7
Sol Talks n.7
 
Bitcoin: salto tecnológico en los sistemas de pago
Bitcoin: salto tecnológico en los sistemas de pagoBitcoin: salto tecnológico en los sistemas de pago
Bitcoin: salto tecnológico en los sistemas de pago
 
Instal·lació solar aïllada
Instal·lació solar aïlladaInstal·lació solar aïllada
Instal·lació solar aïllada
 
Solinex
SolinexSolinex
Solinex
 
Applicative style programming
Applicative style programmingApplicative style programming
Applicative style programming
 
Grow digital
Grow digitalGrow digital
Grow digital
 
Weblogs
WeblogsWeblogs
Weblogs
 
Presentación t2.pptx a 1per audi
Presentación t2.pptx a 1per audiPresentación t2.pptx a 1per audi
Presentación t2.pptx a 1per audi
 
Trabajo y economia humana
Trabajo y economia humanaTrabajo y economia humana
Trabajo y economia humana
 
Returns basedstyleanalysisinexcel mcdermott
Returns basedstyleanalysisinexcel mcdermottReturns basedstyleanalysisinexcel mcdermott
Returns basedstyleanalysisinexcel mcdermott
 
The 2012 Channel Marketing Preference Survey
The 2012 Channel Marketing Preference SurveyThe 2012 Channel Marketing Preference Survey
The 2012 Channel Marketing Preference Survey
 
SEO Audit Workshop: Framework, Techniques And Tools
SEO Audit Workshop: Framework, Techniques And ToolsSEO Audit Workshop: Framework, Techniques And Tools
SEO Audit Workshop: Framework, Techniques And Tools
 
Criterio y funcionamiento de un sniffer (cain & abel) (www.dragon jar.us)
Criterio y funcionamiento de un sniffer (cain & abel)  (www.dragon jar.us)Criterio y funcionamiento de un sniffer (cain & abel)  (www.dragon jar.us)
Criterio y funcionamiento de un sniffer (cain & abel) (www.dragon jar.us)
 
Ha 2000 Anos
Ha 2000 AnosHa 2000 Anos
Ha 2000 Anos
 

Similar a Software Libre/Código Abierto - Enunciado

Ficheros de cabecera
Ficheros de cabeceraFicheros de cabecera
Ficheros de cabecera
ManuelJDavila
 
Archivos de Cabecera.
Archivos de Cabecera.Archivos de Cabecera.
Archivos de Cabecera.
Luis Stifler
 
Comandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directoriosComandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directorios
karlosp316
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
victdiazm
 
Introducción al html
Introducción al htmlIntroducción al html
Introducción al html
LOCUER21
 
Primera Clase
Primera ClasePrimera Clase
Primera Clase
mandres
 

Similar a Software Libre/Código Abierto - Enunciado (20)

Curso de diseño CSS
Curso de diseño CSSCurso de diseño CSS
Curso de diseño CSS
 
Ficheros de cabecera
Ficheros de cabeceraFicheros de cabecera
Ficheros de cabecera
 
XHTML
XHTMLXHTML
XHTML
 
Archivos de Cabecera.
Archivos de Cabecera.Archivos de Cabecera.
Archivos de Cabecera.
 
Ficheros de cabecera
Ficheros de cabecera Ficheros de cabecera
Ficheros de cabecera
 
Ficheros de cabecera
Ficheros de cabecera Ficheros de cabecera
Ficheros de cabecera
 
linux comando
linux comandolinux comando
linux comando
 
Comandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directoriosComandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directorios
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Comando de linux
Comando de linuxComando de linux
Comando de linux
 
tutorial0.pdf
tutorial0.pdftutorial0.pdf
tutorial0.pdf
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
40 Comandos básicos de Linux.docx
40 Comandos básicos de Linux.docx40 Comandos básicos de Linux.docx
40 Comandos básicos de Linux.docx
 
Instrucciones básicas para c++
Instrucciones básicas para c++Instrucciones básicas para c++
Instrucciones básicas para c++
 
Desarrolla aplicaciones-web
Desarrolla aplicaciones-webDesarrolla aplicaciones-web
Desarrolla aplicaciones-web
 
Introducción al html
Introducción al htmlIntroducción al html
Introducción al html
 
Tutrorial batch de hackxcrak
Tutrorial batch de hackxcrakTutrorial batch de hackxcrak
Tutrorial batch de hackxcrak
 
Primera Clase
Primera ClasePrimera Clase
Primera Clase
 
Marco teórico
Marco teórico Marco teórico
Marco teórico
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 

Más de martinp

Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semáctica
martinp
 
Extraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History ReportsExtraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History Reports
martinp
 
IA - Redes Neuronales
IA - Redes NeuronalesIA - Redes Neuronales
IA - Redes Neuronales
martinp
 
Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1
martinp
 
The Deep Web
The Deep WebThe Deep Web
The Deep Web
martinp
 

Más de martinp (11)

Evolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An IntroductionEvolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An Introduction
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semáctica
 
Extraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History ReportsExtraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History Reports
 
IA - Redes Neuronales
IA - Redes NeuronalesIA - Redes Neuronales
IA - Redes Neuronales
 
Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1
 
The Deep Web
The Deep WebThe Deep Web
The Deep Web
 
Hofstede’s Cultural Dimensions
Hofstede’s Cultural DimensionsHofstede’s Cultural Dimensions
Hofstede’s Cultural Dimensions
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectos
 
Patrimonio dell'umanità in Italia
Patrimonio dell'umanità in ItaliaPatrimonio dell'umanità in Italia
Patrimonio dell'umanità in Italia
 
Int. a la Computación Evolutiva - Informe para cursada
Int. a la Computación Evolutiva - Informe para cursadaInt. a la Computación Evolutiva - Informe para cursada
Int. a la Computación Evolutiva - Informe para cursada
 
Software Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe FinalSoftware Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe Final
 

Último

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 

Último (20)

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 

Software Libre/Código Abierto - Enunciado

  • 1. Software Libre / Código Abierto Trabajo Final 25 de marzo de 2009 Cuestionario Responda con sus palabras a las siguientes preguntas: 1. ¿Cuáles son las cuatro libertades que deberían garantizarse sobre el software según R ICHARD S TALLMAN, fundador del movimiento de Software Libre? 2. ¿Qué diferencia existe entre el movimiento del software libre y el movimiento de código abierto? ¿Cómo se benefician entre sí? 3. A su criterio, ¿qué ventajas y qué desventajas presenta el desarrollo de software libre con respecto al desa- rrollo de software comercial clásico? 4. Habiendo tomado contacto con productos de software libre, ¿qué diferencias notorias encuentra entre los productos de software libre y los productos de software comercial en general? 5. ¿De qué manera ayudaría usted a una persona no relacionada directamente a la informática a iniciarse en el uso de productos de software libre/código abierto? 6. ¿De qué manera ayudaría usted a una persona relacionada directamente a la informática a iniciarse en el uso de productos de software libre/código abierto? Práctico 1. Crear en un repositorio CVS el proyecto data2html e ingresar en el mismo un script de shell denominado de la misma forma: data2html que comience de la siguiente forma: #!/bin/bash # # $Id: trabajo.lyx,v 1.4 2007/03/14 21:32:34 hcurti Exp $ # Breve párrafo explicando lo que hace este script 2. A continuación escribir el código del script que debe construir un archivo html a partir de un archivo delimitado. El script debe aceptar dos sinopsis: data2html data2html archivo... En el primer caso se leerá el texto desde entrada estándar y se emitirá el código html por salida estándar. En el segundo caso se irán abriendo y procesando los archivos pasados como argumento, generando un archivo html para cada uno. Para generar el nombre del archivo de salida se utilizará el siguiente criterio: Si el nombre del archivo de entrada termina en ‘.txt’, se reemplazará ‘.txt’ por ‘.html’; en cualquier otro caso se agregará directamente la extensión ‘.html’. Ej: para mitabla.txt se debe generar mitabla.html; para otratabla se debe generar otratabla.html; para otracosa.dat se debe generar otracosa.dat.html. Los archivos de salida en todos los casos deben guardarse en el directorio desde donde se ejecutó el script. El archivo de entrada debe contener datos tabulares delimitados, utilizando el siguiente formato: 1
  • 2. nombre de la tabla titulo1:titulo2:...:tituloN dato1.1:dato1.2:...:dato1.N . . . datoM.1:datoM.2:...:datoM.M El archivo de salida debe ser una tabla html válida, y el nombre de la tabla debe ser usado como título. Por ejemplo, para un archivo de entrada que contiene: Listado de alumnos Apellido:Nombre:Dni Perez:Jose:283949320 Fernandez:Martín:30123456 Gonzalez:Juan:23434403 se debe generar: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> <title>Listado de alumnos</title> </head> <body> <h1>Listado de alumnos</h1> <center><table border=1> <tr><th>Apellido</th><th>Nombre</th><th>Dni</th></tr> <tr><td>Perez</td><td>Jose</td><td>283949320</td></tr> <tr><td>Fernandez</td><td>Martín</td><td>30123456</td></tr> <tr><td>Gonzalez</td><td>Juan</td><td>23434403</td></tr> </table></center> </body> </html> No hace falta que el código html esté indentado, ni que siga ese orden de interlineado en particular. Sí es importante que estén todos los elementos mostrados. Para el procesamiento del nombre del archivo de salida se recomienda el uso de las sustituciones de parámetro, explicadas en la página de manual de BASH, en la sección ‘Expansión’. 3. Hacer un commit de este script a CVS y marcarlo (con cvs tag) como v_1_0. 4. Extender el script data2html para que acepte las siguientes opciones: -c |–css plantilla Agregar una línea de plantilla css en el encabezado utilizando la plantilla indicada. El parámetro plantilla es obligatorio. -d |–delimiter delim Utilizar delim en vez de dos puntos como delimitador de columna en el archivo de entrada. El parámetro delim es obligatorio, y debe ser un carácter. Si se recibiera más de un carácter, se debe utilizar el primero solamente. -e |–embedded Emitir solamente la tabla html (desde <table> hasta </table>), omitiendo el resto del código html, de manera tal que el archivo de salida pueda ser insertado en otro documento html. -t |–title titulo Utilizar titulo como título html en vez del título que figura en el archivo. El parámetro titulo es obligatorio. -H |–noh1 No imprimir el título con <h1> al principio de la tabla. -h |-? |–help No procesar archivos, en su lugar mostrar por salida de error las sinopsis aceptadas y una pequeña descripción de lo que hace cada opción (similar a la que se muestra aquí). -u |–usage No procesar archivos, en su lugar mostrar por salida de error las sinopsis aceptadas. 2
  • 3. Para procesar las opciones se recomienda utilizar el comando getopt. (Hay documentación y ejemplos en man getopt; en Debian los ejemplos se guardan en /usr/share/doc/util-linux/examples) Para la opción -c (o --css), por ejemplo si se recibiera -c plantilla.css, se deberían agregar las siguientes líneas después de <head> y antes de <title>: <META http-equiv="Content-Style-Type" content="text/css"> <LINK href="plantilla.css" type="text/css" rel="stylesheet"> No es necesario que el script verifique la existencia del archivo plantilla.css. 5. Escribir un Makefile que permita instalar y desinstalar este script en algún directorio del sistema (ej: /usr/local/bin); y que mediante el objetivo clean elimine cualquier archivo de respaldo generado por los editores de texto. 6. Hacer un commit del script y del Makefile a CVS y marcarlo (con cvs tag) como v_2_0. Entrega Se debe entregar el cuestionario y un pequeño informe con un ejemplo de uso del script en sus dos versiones. El informe puede entregarse impreso o en un archivo con formato html, ps, pdf, txt o cualquier otro formato estándar, preferentemente por correo electrónico a hcurti@exa.unicen.edu.ar. También se debe entregar un comprimido (.tgz, .tbz2 o .zip) del directorio data2html presente en el reposi- torio CVS luego de terminado todo el trabajo. El trabajo debe entregarse terminado antes del 1er llamado a finales después de la finalización del curso. Por dudas o consultas dirigirse a H UGO C URTI (hcurti@exa.unicen.edu.ar) o C LAUDIO ACITI (caciti@exa.unicen.edu.ar). 3