Artículos de Tecnología > Programación

Algoritmos y Lógica de programación: ¿Qué es y porque es importante?

Andre Bessa
Andre Bessa

Notebook sobre a mesa no fundo e a frente uma mão segurando um papel com fluxograma.

Cada vez que decidimos hacer alguna actividad en nuestro día a día, terminamos siguiendo una secuencia lógica. La mayor parte del tiempo, lo hicimos con tanta naturalidad que ni siquiera dimos cuenta, pero cuando damos cuenta, podemos ver los pasos que nos llevaron al resultado final.

En la imagen es presentado un notebook sobre una mesa con un editor de código abierto en la pantalla.

Ahora imagine la siguiente situación, quieres hacer un pastel:

1. Seleccionar los ingredientes de la receta;
2. Seleccionar la taza;
3. Añadir harina según la medida;
4. Seleccionar los huevos;
5. Añadir mantequilla y azúcar al gusto;
6. Añadir la leche;
7. Mezclar todos los ingredientes en la taza;
8. Verter la masa en el molde;
9. Llevar al horno;
10. Esperar 40 minutos;
11. Retirar del horno;
12. Servir el pastel.

Cada persona establece una secuencia de pasos para realizar un pastel, pudiendo incluir o quitar algunos de estos pasos ya definidos. Esa lógica se aplica a todo lo que hacemos a diario y muchas veces no nos damos cuenta.

En las actividades cotidianas, no tenemos que prestar atención cuando seguimos el mismo orden para realizar las tareas. Sin embargo, cuando se trata de programar, definir los pasos de lo que se tiene que hacer con mucha importancia, ya que instruir a una computadora es muy diferente que instruir a una persona.

Cuando se necesita desarrollar un programa o rutina para ser ejecutado por la computadora, es necesario dejar clara la secuencia que se debe seguir para lograr el resultado esperado. Esta cadena lógica en programación, la llamamos Lógica de Programación, y la descripción de cómo hacerla, la definimos como Algoritmos.

¿Desea saber más? Acompáñame a leer este artículo.😉

Algoritmos

¿Qué es?

Los algoritmos son secuencias de pasos que seguimos con la intención de lograr un objetivo, puede ser desde cruzar una calle, hacer un pastel o definir que criterio usar para aprobar o reprobar a un alumno por ejemplo.

¿Qué se necesita para desarrollar un algoritmo?

En el desarrollo de un algoritmo, debemos definir con claridad y precisión el conjunto de reglas o instrucciones que se utilizarán para resolver este problema específico.

Por tanto, antes de programar necesitamos saber qué hacer y planificar paso a paso, y decidir, crear el algoritmo y evaluar si el resultado obtenido es la solución esperada. Habiendo entendido esto, definimos un lenguaje de programación para implementar nuestros algoritmos.

Hay algunas formas de representar algoritmos que se presentan como un paso de preparación antes de la programación. Podemos crear, por ejemplo, una narrativa similar al ejemplo del pastel, que describa la secuencia de ejecución hasta obtener el resultado deseado.

Para mostrar las formas de representar un algoritmo, vamos a usar un algoritmo de cálculo del promedio como ejemplo.

1. Obtener la nota del 1º bimestre;
2. Obtener la nota del 2º bimestre;
3. Obtener la nota del tercer bimestre;
4. Realizar el cálculo del promedio para cada alumno (mayor o igual a 7 para la aprobación);
5. Indicar si el alumno ha sido "aprobado o reprobado";
6. Informar el promedio obtenido por el alumno.

Diagrama de flujo

Tenga en cuenta que en forma de texto narrativo o incluido en otras formas de representación, se desea que el algoritmo sea objetivo y preciso en la descripción de cada paso. También existe la opción de usar un diseño visual como diagrama de flujo, como se ve en la siguiente imagen:

Imagen 3 - diagrama de flujo

Pseudolenguaje

Otra forma muy interesante de representar algoritmos es utilizar un pseudolenguaje, que hemos escrito en español (también llamado español estructurado) sin ambigüedades y sin toda la rigidez de un lenguaje de programación.

Es importante notar que en un pseudo-código se escribe con oraciones que corresponden a estructuras usadas en un lenguaje de programación, representadas en mayúsculas en el siguiente ejemplo:

Algoritmo CalcularPromedioAlumnos
LEER Nota1
    LEER Nota2
    LEER Nota3
    promedio = (Nota1+Nota2+Nota3)/3
    SI PROMEDIO >= 6 ENTONCES
        IMPRIME "Aprobado"
    SINO
        IMPRIME "Reprobado"
SE TERMINA
IMPRIME el valor del promedio
Fin-Algoritmo CalcularPromedioAlumnos

Lógica de Programación

¿Cuál es la lógica de programación?

En la lógica de programación es donde aplicamos todos los conceptos de algoritmos, la definición paso a paso y trasladamos toda la lógica del algoritmo desarrollado a un lenguaje de programación.

En términos generales, la lógica de programación es un conjunto de reglas y conceptos que necesitamos aplicar para crear códigos que serán interpretados y ejecutados por una computadora.

¿Lo que falta?

Para lograr el objetivo de instruir a la computadora para que haga algo, necesitamos un lenguaje de programación, que es un medio estructurado para enviar instrucciones a la máquina.

Para eso, tenemos disponible una gama muy amplia de lenguajes como: C, Java, PHP, Python, JavaScript, entre otros. Cada uno de ellos tiene sus características, particularidades y escenarios de aplicación.

Ejemplos de código y algoritmos

Vayamos ahora a un ejemplo de la codificación del algoritmo promedio usando un lenguaje de programación. Elegido para representación fue lengua C.**

//Lenguaje C

int main(int argc, char *argv[]) {  

setlocale(LC_ALL, "Spanish"); 

float nota1=0;  

float nota2=0;   

float nota3=0;    

float media=0;

printf("Ingrese nota 1: ");  

scanf("%f",&nota1);

printf("Ingrese nota 2: ");  

scanf("%f",&nota2);

printf("Ingrese nota 3: ");  

scanf("%f",&nota3);

promedio = (nota1+nota2+nota3)/3; 

if(promedio>=6){

printf("Alumno aprobado.\n");

}

else{

printf("Alumno reprobado.\n");

}

printf("Promedio del alumno es: %f",media);

}

En términos de codificación en C, tenemos la implementación del algoritmo previamente desarrollado, pero ahora después de elegir un lenguaje de programación, debemos ajustarnos a sus propias reglas de sintaxis (estructura de escritura) y semántica ( significado de los símbolos y comandos).

Es importante señalar que el lenguaje de programación elegido es solo una herramienta pero, como desarrollador o desarrolladora, necesitará saberlo. La idea del algoritmo no está vinculada a ningún lenguaje específico, tenga en cuenta el mismo algoritmo para calcular el promedio usando el lenguaje C#:

// Lenguaje C#
static void Main(string[] args)
        {
            float nota1; float nota2; float nota3; float media;

            Console.WriteLine("Ingrese nota 1");
            nota1 = float.Parse(Console.ReadLine());

            Console.WriteLine("Ingrese nota 2:");
            nota2 = float.Parse(Console.ReadLine());

            Console.WriteLine("Ingrese nota 3:");
            nota3 = float.Parse(Console.ReadLine());

            promedio = (nota1 + nota2 + nota3) / 3;

            if(promedio>=6)
            {
                Console.WriteLine("APROBADO");
            }
            else
            {
                Console.WriteLine("REPROBADO");
            }

            Console.WriteLine("El promedio del alumno es: " + media);
        }

A ver que el algoritmo es el mismo, el paso a paso está ahí, sin embargo, escrito en otro lenguaje. Por lo tanto, después de definir la secuencia de instrucciones, elija el lenguaje que sea más adecuado para implementar el algoritmo.

La lógica de programación utilizada para desarrollar una solución, ya sea un sistema web, de escritorio o móvil, se estructura toda a partir de la definición de los algoritmos, debido a su importancia y la relación entre estos temas. 😉

En la práctica

¿Cómo aprender a programar?

Mira nuestro episodio de #AluraTips sobre el tema que te ayudará a dar el primer paso a practicar la lógica de programación, decidir tu primer lenguaje, - evitar los más complejos - y conocer las posibles novedades para iniciar una inmersión en el mundo de la programación.

Observo aquí que una posible indicación es comenzar con un lenguaje que facilita tu aprendizaje, que en este caso es JavaScript.

Conclusión

Estudiar algoritmos y lógica de programación es el paso inicial para todo aquel que quiera adentrarse en el mundo del desarrollo de software y empezar a crear sus primeras aplicaciones. Con estos conceptos bien establecidos, hay mucho más preparación para el uso de un lenguaje de programación.

¿Quieres profundizar en algoritmos y lógica de programación?

Echa un vistazo a nuestros cursos y formaciones:

Autor: André Bessa

"Soy programador e instructor de programación en C# y .NET. Licenciado en Sistemas de Información y especializaciones en Ingeniería de Software y Educación Superior. Tengo experiencia con desarrollo usando Java, PHP, PostgreSQL y MySQL, además de haber actuado con soporte e implementación siempre trato de aprender más. También me gusta contribuir a la enseñanza y difusión de la tecnología. En mi tiempo libre estoy viendo alguna serie o leyendo historias de superhéroes."

Adaptado para Alura Latam por Priscila Storck.

Puedes leer también:

Artículos de Tecnología > Programación

En Alura encontrarás variados cursos sobre Programación. ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 270 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 270 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana