ANSI C

Programación en ANSI C

Adquisición y Tratamiento de Datos
Licenciatura en Ciencias y Técnicas Estadísticas

Apuntes de clase


Relaciones de ejercicios


Problemas y ejercicios resueltos

El juego de Nim

El juego de Nim (o juego de los palillos) consiste en que los jugadores vayan retirando palillos de un montón. Pierde el juego el jugador que se ve forzado a retirar el último palillo del montón.


Las siete y media

El juego de cartas de las siete y media consiste en ir pidiendo cartas intentando sumar 7.5 puntos sin pasarse. Gana el jugador que más se acerca a 7.5. Se utiliza una baraja española. Sota, caballo y rey valen medio punto. Las demás cartas puntúan según su valor numérico (de 1 a 7).


El problema de las N reinas

El problema consiste en colocar N reinas de ajedrez en un tablero de NxN de tal forma que ninguna reina esté amenazada (esto es, no puede haber dos reinas en la misma fila, ni en la misma columna, ni en la misma diagonal). El programa recibe como parámetro el número N de reinas que deseamos colocar en el tablero.


WC: Contador de caracteres, palabras y líneas

Un pequeño programa en C que cuenta el número de caracteres, palabras y líneas de un fichero de texto (que lee de stdin).


Frecuencias

Un programa en C que muestra cuál es la frecuencia de cada carácter en un fichero de texto (que se lee de stdin). El programa muestra como resultado una tabla con los caracteres ordenados de mayor a menor frecuencia.


Filtro

Un programa en C que sólo muestra las líneas de un fichero que incluyen una determinada cadena (que se le pasa como parámetro al programa).


Cadenas de Markov

El problema consiste en generar textos "aleatorios" a partir de un texto de entrada que se toma como modelo. Partimos de un texto T cuyas últimas palabras representamos por P. Para elegir la palabra que añadiremos al texto T, escogemos al azar una palabra de las que aparecen a continuación de P en el texto que tomamos como modelo.

Aquí puede encontrar algunos textos con los que se puede comprobrar el funcionamiento del programa, precursor de los LLM actuales (grandes modelos del lenguaje, como los usados en ChatGPT, Grok y sistemas similares).


Modelo de coste temporal de las operaciones de C

Medición del tiempo necesario para realizar cada una de las operaciones que se realizan al ejecutar un programa: operaciones aritméticas con números enteros y reales, funciones matemáticas, comparaciones, acceso a los elementos de un vector...



Cuaderno de prácticas

 

Exámenes


Web original en Internet Archive: https://elvex.ugr.es/decsai/c/

Proyectos de programación
(mayoritariamente en ANSI C)


Bases de datos en C

Este programa completo permite gestionar bases de datos al estilo de dBase (crear tablas, actualizarlas, buscar datos en ellas, ordenar los datos, etc.). Las bibliotecas para el manejo de ficheros están escritas por completo en ANSI C y pueden reutilizarse en la construcción de aplicaciones más complejas.


Módulos del sistema: El sistema está dividido en los siguientes módulos...

Programas

Bibliotecas de manejo de datos

Bibliotecas de algoritmos y TDAs

Bibliotecas auxiliares de E/S

Procesamiento de imágenes en C

Todos los algoritmos de procesamiento de imágenes están implementados en ANSI C y la interfaz gráfica ha sido desarrollada utilizando el C++Builder de Borland/Inprise.


Este software recoge algunos de los algoritmos más empleados en Procesamiento de Imágenes y en Visión Artificial:

Para obtener información adicional, se recomiendan los siguientes libros:

A. K. JAIN
"Fundamentals of Digital Image Processing"
Prentice Hall, 1989.

J. R. PARKER
"Algorithms for Image Processing and Computer Vision"
John Wiley & Sons, 1997