1 # Algoritmos y Estructuras de Datos 2 3 En este repositorio usted encontrara mis notas y resoluciones de la materia 4 Algoritmos y Estructuras de Datos (CB100) cátedra Schmidt. Esta materia es 5 equivalente a Algoritmos y Programación 2 en planes de estudios anteriores al 6 Plan 2020 7 8 ## Códigos de Escape ANSI 9 10 Los códigos de escape ANSI sirven para controlar el comportamiento de una 11 terminal (la cual soporte códigos de escape ANSI). Utilizando estos códigos se 12 puede controlar el color de impresión, la posición del cursor, entre otras 13 cosas. 14 15 ### Links Útiles 16 17 * [wikipedia: ANSI escape code](https://en.wikipedia.org/wiki/ANSI_escape_code) 18 * [ANSI Escape Sequences Cheatsheet](https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797) 19 20 ## Librería Termios 21 22 > **NOTA**: La cátedra no recomienda utilizar librerías de C en C++ 23 24 La librería `termios.h` permite cambiar la configuración de las interfaces de 25 entrada y salida de la terminal. Esta librería en conjunto con los codigos de 26 escape ANSI, resultan útiles en casos en los que se quiera hacer un programa 27 interactivo como el que se muestra a continuación: 28 29  30 31 La aplicación anterior corresponde con la [solución del ejercicio 32 11](https://github.com/mjkloeckner/CB100/blob/main/solutions/ej11.cpp) el cual 33 pide formar un menú de 4 opciones 34 35 ## Recursos Recomendados 36 37 * [Standard C++ Library reference](https://cplusplus.com/reference/) 38 * [C++ reference](https://en.cppreference.com ) 39 * [Deitel & Deitel - C how to program with an Introduction to C++](https://deitel.com/c-how-to-program-8-e/) 40 41 ### Recursos Recomendados Sobre `termios.h` y Manejo de Señales 42 43 * [termios(3) — Linux manual page](https://man7.org/linux/man-pages/man3/tcsetattr.3.html) 44 * [Terminal Input Modes](https://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/html_node/libc_352.html) 45 * [Setting Terminal Modes Properly](https://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/html_node/libc_351.html#SEC360) 46 * [Serial Programming/termios](https://en.wikibooks.org/wiki/Serial_Programming/termios) 47 * [Characters that Cause Signals](https://www.gnu.org/software/libc/manual/html_node/Signal-Characters.html) 48 * [Install a Signal Handler ](https://www.csl.mtu.edu/cs4411.ck/www/NOTES/signal/install.html)
