Curso de programación

Introducción a los algoritmos y al pseudocódigo

Capítulo 3: Algoritmos y Pseudocódigo

Los algoritmos y el pseudocódigo juegan un papel fundamental en el mundo de la programación. Estas herramientas son utilizadas por los programadores para resolver problemas de forma estructurada y eficiente. En este apartado te explico como funcionan.

¿Qué es un algoritmo?

Un algoritmo es un conjunto ordenado de pasos o instrucciones que resuelven un problema o realizan una tarea específica. ¿Recuerdas la "receta" del apartado anterior? pues bien, es esto, un conjunto de operaciones lógicas que se realizan de forma precisa y sistemática. Los algoritmos se utilizan en muchos campos diferentes para resolver problemas complejos, por lo que se encuentran en muchos campos, no solo en la programación.

De forma simplificada, un programa informático, se puede definir como un conjunto de algoritmos.

¿Qué es una instrucción en programación?

Se ha hablado unas líneas más arriba, de pasos o instrucciones. Pues bien, cada vez que oigas hablar de instrucción en programación, se refiere a una acción o paso del propio algoritmo. Por lo tanto, un algoritmo puede estar formado por varias instrucciones.

Aquí tienes un algoritmo de sumas que no tienes que entender todavía, es solo para que veas las diferentes instrucciones que lo forman.

Primero, contamos con 3 instrucciones en las líneas 3, 4 y 5. Estas están dando la instrucción al intérprete de PSeInt de que defina una serie de variables de una forma concreta.

En las líneas 8,9,10 y 11, tenemos 2 instrucciones que le dan la orden al intérprete de que escriba cierto texto en la consola y también 2 instrucciones para que lea lo que escribe el usuario en la consola.

En la línea 14, otra instrucción más para realizar la suma y almacenarla en una variable.

Finalmente, otra instrucción en la línea 17 para indicar al intérprete que debe mostrar el resultado al usuario.

Algoritmo suma
	// Variables del algoritmo
	Definir numero1 como Entero
	Definir numero2 como Entero
	Definir resultado como Entero
	
	// Solicitudes de números
	Escribir "Por favor, introduzca el primer número a sumar:"
	Leer numero1
	Escribir "Por favor, introduzca el segundo número a sumar:"
	Leer numero2
	
	// Calcula el resultado de la suma
	resultado <- numero1 + numero2
	
	// Muestra el resultado de la suma
	Escribir "El resultado de la suma entre ", numero1, " + ", numero2, " es igual a ", resultado, "."
FinAlgoritmo

La programación es eso, aprender a dar órdenes a un intérprete o compilador que entiende un lenguaje y unas normas determinadas. Si nos comunicamos con él de la forma adecuada, podemos hacer lo que queramos.

Características de un algoritmo

Precisión en los algoritmos

Un algoritmo debe ser preciso. Cada paso que se necesita para resolver un problema debe estar claramente definido sin dejar lugar a ambigüedades. Supón que estás siguiendo una receta para cocinar pan. Cada paso en la receta debe ser específico y no puede haber ambigüedad. Si una instrucción es vaga o confusa, podrías cometer errores y obtener un resultado no deseado.

Con vaga o confusa, me refiero a que por ejemplo, si una instrucción de la receta dice "agrega sal al gusto", eso no sería preciso porque no especifica la cantidad exacta de sal que se necesita y podríamos producir un pan más salado que el mar muerto. En cambio, una instrucción precisa sería "agrega 3 gramos de sal". De esta manera, si sigues la receta al pie de la letra, debería salir bien (no voy a contemplar la experiencia en cocina para que salga mejor o peor el resultado, creo que con este símil queda claro).

Eficiencia en los algoritmos

Un algoritmo eficiente se ejecuta en un tiempo razonable y utiliza los recursos disponibles de manera óptima. Los programadores buscan algoritmos que resuelvan los problemas de forma rápida y con el menor consumo posible de recursos, como memoria o energía.

Además, Un algoritmo debe tener un número finito de pasos. Esto significa que debe terminar en algún momento y no entrar en un ciclo infinito.

Finalización de algoritmos

Los algoritmos deben diseñarse para que dejen de ejecutarse en condiciones normales en algún momento. Esto significa que las condiciones de salida deben definirse antes de que se complete el algoritmo.

En el mundo del software, se utilizar el término en inglés "crash" para describir el hecho de que un programa finalice de forma abrupta, dejando incluso pérdidas de datos o errores críticos.
Es de aquí que sale el anglicismo "crashear", el cuál se usa para decir que el programa ha finalizado de esta forma.

Generalización en los algoritmos

Un algoritmo general se puede aplicar a una variedad de situaciones similares. Más que diseñar algoritmos específicos para cada caso, es preferible desarrollar soluciones más generales y reutilizables.

Con esto te harás una idea muy general y todavía no muy definida de lo que es un algoritmo. No te preocupes, seguirás aprendiendo mucho sobre ellos. De momento, quédate con que son una serie de pasos que hacen alguna acción, y cuanto mejor definidos estén esos pasos, mejor será (más óptimo).

¿Qué es el pseudocódigo?

El pseudocódigo es una forma de escribir instrucciones de programación utilizando un lenguaje simplificado y cercano al lenguaje humano. No es un lenguaje de programación real, pero se utiliza para planificar y describir algoritmos de manera comprensible antes de escribir el código en un lenguaje de programación específico. Es una herramienta útil para organizar la lógica de un programa y comunicar ideas de manera clara sin preocuparse por la sintaxis exacta del lenguaje de programación real.

Entonces, gracias a este pseudocódigo, ya podemos empezar a aprender a programar y diseñar algoritmos sin saber programar. De hecho, los algoritmos se suelen diseñar en pseudocódigo, de forma que la definición de dicho algoritmo sirva para implementarlo en cualquier lenguaje de programación, adaptando solo la sintaxis.

El pseudocódigo también es útil para explicar la sintaxis de algún tema de programación. Es algo que utilizaremos hasta el final, siempre estará presente en los diferentes módulos de este gran curso.

Anterior Siguiente

Comentarios

Si te quedan dudas sobre el temario, sobre Programación, PseInt, Python o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.