codigos_y_diapositivas_C


 * Códigos y diapositivas de Lenguaje C**

Fuente: no fuí capaz de encontrarla... esta caricatura es de FOXTROT (http://www.foxtrot.com/). Finalmente observe que falta un \n al final del printf; aun mejor, debió haber utilizado un puts en vez del printf, simplemente para hacer el código más veloz.

Para descargar los archivos haga click en "**Download**" con el botón derecho del mouse y luego haga click en la opción "**Descargar como ...**" o "**Save link as ...**"

=01 - Introducción al lenguaje C= (versión que usa #include" ")
 * Diapositivas: [[file:01 - Introduccion a C.pdf]]

=02 - Conceptos fundamentales sobre el tratamiento de datos=
 * Diapositivas: [[file:02 - Tipos de datos.pdf]]

=03 - Entrada y salida en lenguaje C=
 * Diapositivas: [[file:03 - Entrada y salida en lenguaje C.pdf]]


 * Programas con curses.h/ncurses.h:**

=04 - Sentencias de control condicionales y ciclos=
 * Diapositivas: [[file:04_-_Sentencias_de_control_condicionales_y_ciclos.pdf]]

=05 - Funciones=
 * Diapositivas: [[file:05_-_Funciones.pdf]]

Escriba un programa el cual contiene una función que evalúa el coseno de su argumento. Utilice la siguiente serie de funciones para aproximar la respuesta: math \cos \theta = \sum^{\infty}_{m=0} \frac{(-1)^m}{(2m)!} \theta^{2m} = 1 - \frac{\theta^2}{2!} + \frac{\theta^4}{4!} - \cdots\quad\text{ para todo } \theta math La función debe diferir a lo más en 1e-10 del valor verdadero. Cree una función recursiva llamada factorial(n) la cual retorna n! y otra función llamada potencia(x,n) la cual retorna el valor de x^n; utilice ambas funciones en el programa anterior.

=06 - Arrays y matrices=
 * Diapositivas: [[file:06_-_Arrays_y_matrices.pdf]]


 * Ted Jensen (2003) - A tutorial on pointers and arrays in C

Sin invocar a la librería string.h, escriba un programa que contiene una función que reciba como argumento dos cadenas y retorne lo siguiente: si ambas cadenas son iguales, retorne 0; si la primera cadena va antes que la segunda cadena al ordenarlas alfabéticamente, retorne un número negativo. Si la primera cadena va después que la segunda cadena al ordenarlas alfabéticamente, retorne un número positivo.

Sin invocar a la librería string.h, escriba un programa que contiene una función que reciba como argumento dos cadenas y retorne lo siguiente: si la primera cadena es una subcadena de la segunda, retorne un puntero a la primera ocurrencia de esta en el segundo argumento, de lo contrario retorne el puntero NULL.

=07 - Tipos de datos definidos por el programador= file07_funciones_retornando_arrays.c
 * Diapositivas: [[file:07_-_Tipos_de_datos_definidos_por_el_programador.pdf]]

=08 - Punteros=
 * Diapositivas: [[file:08_-_Punteros.pdf]]

Ejemplos con restrict:


 * Ted Jensen (2003) - A tutorial on pointers and arrays in C

(NOTA: este código se puede mejorar)

=09 - Archivos=
 * Diapositivas: [[file:09_-_Archivos.pdf]]

=Códigos varios de programación=
 * Juego para adivinar un número entre 0 y 100:


 * Mastermind (tambien conocido como "picas y palas")


 * Detector de minas


 * Programa para resolver laberintos (como lo debería hacer alguien que está dentro de uno)


 * Programa para resolver sudokus


 * Programa para resolver laberintos (encontrando la ruta más corta)

(requiere de: la librería pdcurses )
 * Buscaminas


 * Pong

(requiere de: la librería pdcurses )
 * Snake

(requiere de: la librería pdcurses )
 * Pacman


 * Sokoban + FBS


 * rotar3d (SDL)


 * Programa para administrar una video tienda (base de datos)


 * Programa para comprimir/descomprimir archivos

Organizar numeros como el juego de niños ... tuvieron que aprender a ordenar primero