Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Programación

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

Andre Bessa
Andre Bessa
17/10/2021

Compartir

Mira este artículo:
  1. Algoritmos
  2. Diagrama de flujo
  3. Pseudolenguaje
  4. Lógica de Programación
  5. Conclusión

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.

  • ¿Cómo representar un algoritmo?

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.

  • En nuestro caso, vamos a analizar las calificaciones de 3 bimestres para la disciplina de matemáticas y comprobar si el estudiante aprobó o reprobó con un promedio mayor o igual a 7:
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:

  • Lógica de programación parte 1: Primeros pasos en Alura Latam
  • Formación Principiante en Programación en Alura Latam

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.

Artículo Anterior
Convertir int a String en Java
Siguiente Artículo
Estudiar todos los días, ¿y qué más? Los consejos del Alumno de Alura Eduardo Branquinho

Ver otros artículos sobre Programación

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast