Skip to content

Projects of the subject algorithms and data structure II

Notifications You must be signed in to change notification settings

MilenaPellegrino/AyED2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algoritmos y estructuras de datos II

Laboratorios entregados y examenes resueltos de la materia.

Laboratorio 0

  1. Repaso de programación básica en lenguaje C
  2. Repaso de compilación de programas
  3. Uso de editor de texto para trabajar
  4. Repaso de arreglos y estructuras en C.
  5. Repaso de uso de las librerías assert.h, stdio.h, stdbool.h
  6. Lectura y comprensión de código

Laboratorio 1

  1. Familiarizarse con vocabulario informático: directorio, archivo, array, path, etc
  2. Reforzar cómo compilar programas con gcc
  3. Tener manejo de las instrucciones básicas del lenguaje de programación C
  4. Comenzar a manejar archivos como fuente de datos
  5. Tener manejo de standard input y standard output.
  6. Tener nociones del manejo de parámetros a través de la función principal main()
  7. Trabajar con módulos en C

Laboratorio 2

  1. Introducir las cadenas en C
  2. Repaso de typedef
  3. Implementar el algoritmo de ordenación por inserción (insertion-sort)
  4. Implementar el algoritmo de ordenación rápida (quick-sort)
  5. Comparar desempeño de los algoritmos selection-sort, insertion-sort y quick-sort en distintos ejemplos
  6. Lectura y comprensión del código entregado por la cátedra
  7. Trabajar con implementaciones opacas de funciones leyendo su documentación
  8. Abstraer la noción de orden
  9. Usar procedimientos en C
  10. Uso de funciones locales en módulos en C

Laboratorio 3

  1. Ejercitar la resolución de problemas
  2. Uso de arreglos multidimensionales y tipos enum
  3. Uso de arreglos con elementos de tipo struct
  4. Uso de redirección de stdout por línea de comandos
  5. Lectura robusta de archivos

Laboratorio 4

  1. Comenzar a trabajar con punteros en C
  2. Simular variables de salida con punteros
  3. Comprender uso de punteros para mayor desempeño
  4. Administración de memoria dinámica (malloc(), calloc(), free())
  5. Llevar a lenguaje C los conceptos de TAD estudiados en el Teórico-Práctico
  6. Comprender conceptos de encapsulamiento vs acoplamiento
  7. Comprender concepto de implementación opaca

Laboratorio 5

  1. Trabajar con cadenas en C como char*
  2. Introducir redirección de entrada estándar
  3. Implementa el TAD Pila con distintas representaciones
  4. Concepto y verificación de invariantes de representación
  5. Creación de arreglos dinámicos
  6. Funciones calloc() y realloc()
  7. Usar valgrind para detectar problemas de manejo de memoria
  8. Usar gdb para ayudar a solucionar bugs de programación

Laboratorio 6

  1. Implementar el TAD ABB con sus operaciones elementales
  2. Familiarizarse con una interfaz de usuario básica TUI
  3. Definir la invariante de representación de un ABB
  4. Manejo de Strings en C
  5. Implementar un TAD String
  6. Implementar un TAD Diccionario
  7. Utilizar valgrind para eliminar memory leaks
  8. Utilizar gdb para erradicar bugs en los programas