El siguiente código surgió de aplicar el ciclo de desarrollo para resolver el problema. La solución es modular, escalable, documentada y aplica otras buenas prácticas de programación. Soluciones con menos instrucciones son posibles, pero el código es menos escalable. Programas "hechos a la carrera" son convenientes para situaciones de emergencia o programación competitiva. No es la norma en el ejercicio de la disciplina.
Aunque el ejemplo se ubica en la sección de expresiones y condicionales, se agregan ciclos y subrutinas, dado que son conceptos conocidos del curso Programación I.
Indirección, arreglos y matrices
Imprimir rango de números
Recibe los valores de un rango e imprime los valores separados por un delimitador. Si el rango está invertido, intercambia los valores con punteros.
Mediana estadística (arreglo automático)
El siguiente programa almacena el arreglo en el segmento de pila y para números grandes, el arreglo desborda este segmento.
Mediana estadística (arreglo estático)
En la siguiente versión el arreglo se almacena en el segmento de datos, pero se puede acceder sólo dentro de la función main().
En la siguiente versión el arreglo también se almacena en el segmento de datos, pero se puede acceder dentro de varias funciones por ser una variable global.
Mediana estadística (arreglo con alojamiento dinámico)
En la siguiente versión el arreglo se almacena en memoria dinámica. Esta programa es menos propenso a fallar que las versiones anteriores. Puede fallar para grandes volúmenes de datos que no pueden alojarse en la máquina donde corre.
Tipos de arreglos en C
Cadenas de caracteres y registros
chext: cambiar la extensión
chext es un comando en C para renombrar archivos, en especial para cambiarles la extensión. Para descargar el proyecto completo en un archivo comprimido:
El archivo de configuración de Doxygen se generó con el comando doxygen -g. Se le hicieron los siguientes cambios para configurarlo como un proyecto de C:
Programación orientada a objetos (C++)
Clases y objetos
Espacios de nombres (namespaces)
Calculadora fraccional (versión 1)
Sobrecarga de operadores
Calculadora fraccional (versión 2)
Clase String
Programación genérica
Arreglo dinámico
Clase fracción para mediana
Permite comparar fracciones con el operador < para poder ordenarlas y dividir fracciones para poder calcular el promedio.
Lista doblemente enlazada
Mapa (diccionario/arreglo asociativo)
Herencia y polimorfismo
Trivia
trivia3.txt
Juego de Trivia en línea de comandos que carga las preguntas de este archivo: