Skip to content

leandrojsandoval/Programacion

Repository files navigation

Programación

Proyectos e implementacion de bibliotecas de la materia Programacion (2009). Realizados en el Primer / Segundo Cuatrimestre 2022.

Unidad 1 - Arrays y archivos

  • Introducción a la abstracción de datos y ocultamiento de información.
  • Funciones de búsqueda, conversión, ordenamiento, etc.
  • Manejo de arrays con notación y aritmética de punteros.
  • Recursividad.
  • Funciones de las bibliotecas string.h, ctype.h, math.h, stdlib.h, stdio.h, etc.
  • Arrays bidimensionales.
  • Arrays de punteros.
  • Punteros a funciones.
  • Funciones de biblioteca qsort, bsearch y lsearch.
  • Archivos binarios y de texto, su creación, modos de acceso, posicionamiento, cierre, eliminación, y funciones relacionadas.
  • Creación de tipos de datos, uniones, enumeraciones, macroreemplazos.
  • Generación de arrays en tiempo de ejecución.
  • Argumentos variables.

Unidad 2 - TDA o Estructura de datos Pila

  • Asignación dinámica de memoria vs. asignación estática de memoria.
  • Primitivas para el manejo de Pilas, compatibilidad de primitivas entre la implementación estática y dinámica de Pilas.
  • Su relación con la recursividad.

Unidad 3 - TDA o Estructura de datos Cola como un TDA

  • Asignación dinámica de memoria vs. asignación estática de memoria.
  • Primitivas para el manejo de Colas, compatibilidad entre la implementación estática y dinámica de Colas.
  • Su relación con el "bufer" de teclado.

Unidad 4 - TDA o Estructura de datos Lista como un TDA

  • Primitivas para el manejo de Listas.
  • Creación, inserción, ordenamiento, búsqueda, eliminación, etc., con asignación dinámica de memoria.
  • Listas circulares, su importancia en la implementación de colas y su parecido y diferencia con la implementación de pilas.
  • Listas doblemente enlazadas.

Unidad 5 - TDA o Estructura de datos Árbol

  • Árbol binario, creación, recorridas EnOrden, PreOrden y PosOrden.
  • Árbol binario de búsqueda, su relación con la búsqueda binaria en arrays.
  • Determinación de altura, y otras funciones.
  • Árboles AVL y balanceados, determinación.

Unidad 6 - Introducción a C++ – Programación Orientada a Objetos (POO)

  • Modificaciones menores con respecto al Lenguaje C.
  • Comentarios, punteros constantes, sobrecarga de funciones, parámetros por defecto, parámetros por alias (referencia).
  • Asignación y liberación dinámica de memoria, operadores new y delete.
  • Flujos de entrada/salida, manipuladores.
  • Programación Estructurada frente a la POO.
  • Arquitectura y evolución del diseño de software.
  • Clases, objetos, métodos y mensajes.
  • Lenguajes que soportan la POO y su evolución.

Unidad 7 - Programación Orientada a Objetos con C++

  • Clases, objetos, métodos de la clase (funciones miembro), funciones amigas.
  • Especificación inline y const.
  • Constructores y destructores, su ejecución automática.
  • Puntero this.
  • Sobrecarga de operadores.
  • Arrays, punteros y objetos.

Unidad 8 - Herencia Conceptos de herencia, y su por qué.

  • Introducción a herencia simple y herencia múltiple.
  • Clases derivadas.
  • Diagramas de Jerarquía.
  • Control de acceso a la clase base.
  • Especificador protected.

Unidad 9 - Excepciones

  • Manejo de excepciones, throw, catch, try.
  • Especificación de excepciones.
  • Funciones estándar assert, terminate y unexpected.

Unidad 10 - Introducción al Lenguaje Java

  • Escritura, compilación y ejecución de programas sencillos desde la línea de comando.
  • Uso de un Entorno de Desarrollo Integrado para la generación de aplicaciones de consola e interactivas.
  • Tipos de datos, operadores, precedencia de operadores, clases predefinidas en el lenguaje (String y otras).