• No se han encontrado resultados

OBJETIVOS: Al finalizar el curso, el alumno habrá adquirido las habilidades necesarias y suficientes para:

N/A
N/A
Protected

Academic year: 2021

Share "OBJETIVOS: Al finalizar el curso, el alumno habrá adquirido las habilidades necesarias y suficientes para:"

Copied!
9
0
0

Texto completo

(1)

ASIGNATURA: LENGUAJE DE PROGRAMACIÓN III Cód: 31-208 Horas Semanales: 4 Horas teóricas: 15 Horas prácticas: 45 Horas totales: 60 Carrera: Sistemas Año del programa: 2016 FUNDAMENTOS:

Para poder profundizar y afianzar los conocimientos ya adquiridos por los estudiantes, se realizara una implementación que se asemeje a la realidad. Para orientarlos en este universo, se incluye en esta asignatura, la investigación y el diseño, visualizando estos criterios y la comprensión de las estructuras y objetivo del lenguaje, así como su sintaxis y semántica.

También debe dar los conocimientos necesarios para poder comprender y cubrir los requerimientos del mercado laboral. La asignatura cubre con un balance adecuado la necesidad de preparar al futuro profesional en las pautas teórico prácticas y los criterios de complementación necesarios, como ser investigación, integración a un grupo de trabajo, para especificar, implementar, verificar y documentar un proyecto y desarrollar la habilidad oral y escrita en términos de informes. OBJETIVOS:

Al finalizar el curso, el alumno habrá adquirido las habilidades necesarias y suficientes para: Implementar y comparar en función del tiempo, sensibilidad, estabilidad y en eficiencia distintos tipos de algoritmos de ordenamiento y búsqueda, frente a diferentes tipos de datos.

Diseñar un proyecto mediante un programa que en forma interactiva (menú) que permita manejar información entre distintos archivos.

CONTENIDOS MINIMOS: Unidad Nª I: Archivos.

Unidad Nº II: Búsqueda en tabla Unidad Nº III: Ordenamiento (Sort) PROGRAMA ANALÍTICO:

Unidad I: Archivos

Concepto. Modos de apertura.

Archivos de texto y archivos binarios.

Organización secuencial. Organización directa. Organización indexada o relativa. Acceso secuencial y directo a información en archivos binarios.

(2)

Unidad II: Búsqueda en tabla

Búsqueda directa (por aplicación de un subíndice).

Búsqueda secuencial, con elementos desordenados y con elementos ordenados. Variantes de la búsqueda secuencial.

Técnica del "centinela". Búsqueda binaria.

Estimación de eficiencia de la búsqueda binaria al considerar el ordenamiento previo. Unidad III: Ordenamiento (Sort)

Necesidad y aplicaciones del ordenamiento.

Características de los métodos de ordenamiento: simplicidad, intercambios, corrimientos, sensibilidad, estabilidad, etc.

Métodos de ordenamiento: Selección, Burbujeo, Inserción, Shell, Quick Sort, Fusión, Cuenta de Distribución (Particular y General).

Comparación entre los mismos.

Comparación sobre tipos de datos diferentes en arreglos ordenados (mejor caso), desordenados (peor caso) o en forma aleatoria (caso promedio) en función del tiempo empleado. Relación con el

hadware.

METODOLOGIAS DE ENSEÑANZA Y APRENDIZAJE:

La materia se desarrollará integralmente en el ámbito del laboratorio de computación, con la modalidad de taller, en grupos de alumnos, con el seguimiento y coordinación del docente, consta de :

• Un trabajo practico, con la implementación de distintos métodos de ordenamiento, cuyas algoritmos son investigados por los alumnos, donde son comparados gráficamente (en Excel), con distintos tipos de datos. Ver ANEXO A

• Un proyecto interactivo propuesto por los propios alumnos (en grupos), manteniendo las normas establecidas por la cátedra, pero con la creatividad aportada por cada grupo en cada trabajo, generando alternativas de optimización.

VER ANEXO B

En el desarrollo de los temas se trabajará con conceptos ya incorporados en materias como Lenguaje de Programación II y se adicionaran temas de investigación por parte del alumno, para fomentar el concepto de búsqueda y recolección de información, siempre con el apoyo orientativo del docente.

La materia es netamente práctica desarrollándose en el laboratorio de computación, siendo el lenguaje en uso el Borland C/C++ 5.02 o posterior.

Los alumnos se organizaran en grupos para trabajar, en el Trabajo Practico y en un proyecto surgido por ellos mismos.

EVALUACION:

(3)

• Acotación de las condiciones impuestas para el Trabajo Practico y proyecto. • Presentación y cumplimiento con las pautas requeridas en las fechas de vencimiento para las distintas actividades.

• Opinión formada por el docente.

Durante la cursada se evaluará a cada alumno en cada grupo a través de: • Grado de participación en el desarrollo de Trabajo Practico y en el proyecto • Nivel de conocimientos adquiridos.

• Opinión formada por el docente.

Al finalizar la cursada, para obtener la regularidad académica, el Trabajo Practico y el Proyecto tiene que estar aprobado y además cada integrante del grupo en forma individual deberá aprobar una evaluación (coloquio) sobre conceptos desarrollados en ellos.

CRONOGRAMA:

Clase Nº 1: Presentación de la materia. Consignas para el desarrollo del TP y el Proyecto Armado de grupos de trabajo. Nivelación de conceptos. Prerrequisitos. Clase Nº 2: Relevamiento de información obtenida para realizar el TP.

Relevamiento del tema del proyecto. Clase Nº 3: Avance del TP.

Clase Nº 4: Entrega TP y coloquio. Clase Nº 5: Consulta Proyecto Clase Nº 6: Avance Proyecto Clase Nº 7: Consulta Proyecto Clase Nº 8: Avance Proyecto Clase Nº 9: Consulta Proyecto Clase Nº 10: Avance Proyecto Clase Nº 11: Consulta Proyecto Clase Nº 12: Avance Proyecto Clase Nº 13: Avance Proyecto

Clase Nº 14: Entrega Proyecto y coloquio. Clase Nº 15: Firma de libretas.

ANEXO A:

TRABAJO PRÁCTICO, CON LA IMPLEMENTACIÓN DE DISTINTOS MÉTODOS DE ORDENAMIENTO

Los métodos de ordenamientos sugeridos corresponden a los citados en la Unidad 3.

El trabajo consta en trabajar con distintos tipos de datos, estos son por ejemplo enteros, estructuras de 128 bytes y estructuras de 256 bytes. Para el segundo y tercer tipo, las estructuras en sus campos clave a ordenar son de tipo entero largo sin signo, lo que provoca un rango de valores de algunos cientos de Gbytes

(4)

Las pautas para el TP son:

1. Investigar por parte de los alumnos los distintos métodos de ordenamientos propuestos. Realiza una breve descripción funcional de cada método.

2. Implementación de un programa principal conteniendo un primer menú, mediante el cual se podrá seleccionar el algoritmo por el cual se quiere realizar el ordenamiento

3. Un segundo menú que permita elegir el tipo de estructuras que queremos ordenar (ya sean entero, 128 o 256 bytes), para pasar a indicar por teclado la cantidad de elementos de dicha estructura.

4. Se generará el arreglo en forma ordenada (mejor caso), desordenada (peor caso) o de forma aleatoria (caso promedio) siempre utilizando alguna función de generación de números aleatorios.

5. Una vez seleccionado todos los datos llamar a la función correspondiente de ordenamiento, de acuerdo a lo elegido previamente.

6. Al terminar de ordenarse todos los elementos se informaran por pantalla los 10 primeros y los 10 últimos y finalmente se imprimirá el tiempo ( grafico Excel) de cada uno.

7. Se confeccionara un breve comentario, según el funcionamiento, de cada método de algoritmo 8. Como conclusión se realizara un cuadro, indicando según tipo de ordenamiento, si es sensible,

estable, si tiene comparaciones o corrimientos. Considerar el hadware utilizado. ANEXO B

IMPLEMENTACIÓN DEL PROYECTO • Legibilidad del programa:

Se tendrá que respetar un buen estilo de programación (sangría, nombre de variables y funciones descriptivos de su objetivo, etc), comentarios apropiados para el desarrollo de cada función y en los casos en que se escriban algoritmos crípticos, realizar comentarios describiendo lo que hace.

Antes del desarrollo de cada función explicite brevemente el objetivo de la función, con indicación de que recibe, que devuelve, y que hace, de un modo algo mas extenso.

• Presentación:

El proyecto tiene como etapas:

1- Presentación preliminar en carpeta, del proyecto, donde se indica: a-) Carátula, indicando:

Integrantes (Apellido y Nombres) Tema del proyecto

Lugar y Fecha de realización Docentes a cargo

b-) Relevamiento (Cual es la necesidad de crear el proyecto?

c-) Objetivo (Para que?), Limite(Desde-Hasta) y Alcance(Que incluye?) d-) Lista de eventos- Diagrama en bloques o lógica.

e-) Tipos de datos utilizados.

f-) Condiciones del proyecto (Que se necesita ¿archivos, listados,…..) 2- A partir de que el proyecto es aceptado:

(5)

a-) Lista de variables utilizadas con su respectivo significado.

b-) Juegos de prueba, que puedan observarse todos los resultados esperados. c-) Presentaciones de seguimiento, planificados por cada docente.

d-) Medio de almacenamiento de la información. 3- Al ser aprobado

El proyecto tiene que ser entregado:

En un CD, donde conste la siguiente documentación: • Carátula

• Indice

• Relevamientos

• Objetivos- Limites – Alcance

• Lista de eventos – Diagrama en bloques o lógica • Lista de variables

• Programas fuentes. Funciones. • Juegos de pruebas

• Manual de usuario

• Conclusiones del proyecto

• Análisis de la experiencia de realizar el proyecto en la materia. • Condiciones:

El proyecto debe reunir esencialmente las siguientes condiciones :

1-) Trabajar por lo menos con dos archivos binarios, donde se pondrán realizar (alta, baja, modificación o actualización )

2-) Trabajar por lo menos con un archivo de texto, donde se pondrán grabar y/o consultar comentarios.

3-) Trabajar por lo menos con un archivo binario estadístico, que guardará la información (registro) que fue dado de baja física .

4-) Trabajar con un archivo de ogging, que guardará en una cadena de caracteres la fecha, hora actual (extraída del sistema), y el nombre el archivo, cuando se abre, y se cierra y si está OK o no. Por ejemplo Fecha <xx/xx/xx>Hora <xx:xx> Archivo “ xxxxx” en modo “wt” correctamente abierto. 5-) Los archivos se cargan en forma secuencial, pero el acceso tiene que ser secuencial y aleatorio. Se generará un vector con las direcciones(paht) de todos los archivos.

6-) Los campos de los registros de los archivos binarios, tienen que tener una configuración variada: tipo de datos primitivos, tipos de datos abstractos dimensionados y NO dimensionados.

Por ejemplo:

#define Max_Cantidad_Presentaciones valor typedef struct { int Dia, Mes, Anio;}InfFecha;

typedef struct { char Presentacion[20]; // máximo 20 caracteres válidos float Importe;

} InfStock;

typedef struct { long int Dni ; // Tipo de dato primitivo char Apellido_Nombre [51];

InfFecha Fecha; // TDA sin dimensión int Cantidad_Presentaciones;

(6)

//TDA con dimensión } InfDato;

7-) Trabajar el concepto de modulo de seguridad (poder acceder a una aplicación a través de un usuario y una password) . Los usuarios podrán tener diferentes jerarquías, lo que ocasionará distintos niveles de accesos permitidos o prohibidos.

8-) Trabajar la baja de un registro lógica y física.

9-) Durante el ingreso se validará, volviendo a ingresar todo aquel campo que no sea válido. Para ello desarrollar funciones para validar cada campo.

10-) Trabajar el concepto de listar información en forma ordenada por lo menos por dos campos. Por ejemplo ordenar por fecha y a igualdad de esta por DNI o Apellido y Nombre. Utilizar algún método de ordenamiento trabajado en el TP.

11-) Utilizar el concepto de búsqueda secuencial y búsqueda binaria. 12-) Trabajar el concepto de asignación dinámica de memoria.

13-) El proyecto tiene que estar desarrollado exclusivamente con funciones que realicen acciones específicas.

14-) Se deja a criterio del grupo de trabajo adicionar cualquier otro requerimiento que consideraría adecuado a su proyecto.

(7)

CRONOGRAMA:

CLASE UNIDAD TEMA TEORIA PRACTICA

1 Presentación de la materia. Consignas para el desarrollo del TP y el Proyecto Armado de grupos de trabajo. Nivelación de conceptos. Prerrequisitos. 1 3 2 Relevamiento de información obtenida para realizar

el TP. Relevamiento del tema del proyecto. 1 3 3 Avance del TP. 1 3 4 Entrega TP y coloquio 1 3 5 Consulta Proyecto 1 3 6 Avance Proyecto 1 3 7 Consulta Proyecto 1 3 8 Avance Proyecto 1 3 9 Consulta Proyecto 1 3 10 Avance Proyecto 1 3 11 Consulta Proyecto 1 3 12 Avance Proyecto 1 3 13 Avance Proyecto 1 3 14 Entrega Proyecto y coloquio. 1 3 15 Entrega Proyecto y coloquio. 1 3 TOTAL 15 45

(8)

BIBLIOGRAFÍA Básica:

• Ebook JOYANES AGUILAR LUIS - ZAHONERO MARTINEZ IGNACIO: Programación en C: Metodología Algoritmos y Estructura de Datos. McGraw Hill, México 2005 ISBN 9788448198442 • Ebook ALFRED V. AHO, JOHN E. HOPCROFT Y JEFFREY D. ULLMAN. Estructuras de

Datos y Algoritmos. Addison Wesley Iberoamericana. 1998. ISBN 0-201-64024-4

• Ebook DEITEL, H. M y DEITEL, P. J.: Cómo programar en C/C++. Prentice Hall Hispanoamericana. 1995. ISBN 9789688804711

Planeamiento Educativo

(9)

Referencias

Documento similar

muchedumbres, naciones y lenguas”, conforme a su uso en Apocalipsis 17:15, porque la Segunda Trompeta trata no tan solo del “mar” sino también de “los seres vivientes que estaban

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Sin embargo, mientras que la primera de tales actividades tiene lugar necesariamente siempre que exista una petición de referéndum, las otras dos no se llevan a cabo en todo caso,

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Primeros ecos de la Revolución griega en España: Alberto Lista y el filohelenismo liberal conservador español 369 Dimitris Miguel Morfakidis Motos.. Palabras de clausura

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados