Introducción a la programación competitiva

Ahora que ya conoces qué es un lenguaje de programación y qué es el lenguaje C++ con el que estaremos trabajando, tal vez pasó por tu cabeza la idea de ¿por qué programar?

Haciendo magia

Como ya se decía antes, hasta ahora, una computadora no es capaz de crear algo que venga sólo de ella, sin que nadie se lo haya enseñado, sino que necesita de alguien que sí pueda hacerlo y le diga paso a paso qué hacer. Con esa descripción seguramente podamos pensar de primera instancia ¿por qué nos molestamos en hacer computadoras si no hacen nada por sí solas? La respuesta tras esto es un factor muy simple y a la vez muy importante; la velocidad a la que trabajan y la capacidad que tienen de manejar mucha información.

Nosotros podríamos contar del uno al millón sin mayores dificultades, sin embargo, si le enseñamos a una máquina a hacer eso, podrá hacerlo mucho más rápido que nosotros. Aunque este ejemplo es algo tonto, es sólo la idea básica del porqué hacemos programas. Todo lo que la máquina hace lo hace porque alguien se sentó un día frente a ella, le dijo qué hiciera y lo hizo únicamente porque, aunque esta persona que lo creó también sabe hacerlo, la máquina lo hará mucho más rápido y con una mínima probabilidad de equivocarse.

Sin embargo, hacer cosas increíblemente rápido no tiene ninguna utilidad si esas cosas que hace no son las correctas o son inútiles, es ahí donde entra la magia del programador, en saber exactamente qué decirle a la computadora que haga.

Motivo principal

Todo programa nace con un mismo y universal propósito; resolver un problema de la forma más rápida posible. Volvamos a nuestro ejemplo de contar, es un problema que podríamos resolver relativamente fácil, sin embargo, generalmente buscamos resultados rápidos y buenos.

Hoy en día existen muchísimos problemas y todos pueden ser resueltos total o parcialmente con un programa informático, esto es una gran herramienta, más en un mundo en el que cada día nos hacemos más dependientes a los sistemas informáticos y digitales.

Cómo programar

Independientemente de aprender un lenguaje de programación son necesarias otras herramientas para poder ser programador competitivo. Lo principal es el pensamiento lógico y de abstracción que aunado a la paciencia, gusto por aprender y solucionar problemas nos dan ese pensamiento característico.

No se necesita realmente saber un lenguaje de programación para desarrollar este tipo de razonamiento, otras disciplinas como las matemáticas nos ayudan enormemente para lograr este tipo de pensamiento, en el que principalmente enriqueces la capacidad de razonar diversas situaciones de la mejor manera posible para poder resolver un problema de la manera más sencilla, sea este problema de cualquier tipo.

Saber estructurar todas las partes que conforman un problema es uno de los principios fundamentales de la programación competitiva además de saber estructurar todas las partes de una posible solución. Organizar todos los elementos y plasmarlos de la manera más sencilla, clara y específica posible (diría yo, de la manera más elegante) debe ser una prioridad al programar. Claramente, para todo esto es necesario (y como en todo) practicar mucho, tener mucha paciencia y gusto por ello.

Si continúas creciendo y participando en competencias de programación competitiva entonces notarás rápidamente que tu forma de enfrentar toda clase de problemas cambia, buscarás las soluciones óptimas (que requieren menos tiempo y esfuerzo) y podrás evaluar la efectividad de diversas soluciones de forma eficiente.

Si aún te quedan dudas de porqué aprender a programar, es porque aún te falta ir acá

Cita esta página

Include Poetry - Code. (2020, 4 de enero). Introducción a la programación competitiva. Obtenido de https://www.include-poetry.com/Code/C++/Introduccion/

/* Comentarios */