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.
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.😉
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.
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.
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:
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
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.
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.
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",¬a1);
printf("Ingrese nota 2: ");
scanf("%f",¬a2);
printf("Ingrese nota 3: ");
scanf("%f",¬a3);
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.
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:
"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.
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
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
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
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
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
487.37
BOB |
68314.51
CLP |
305385.67
COP |
65.90
USD |
265.11
PEN |
1424.44
MXN |
2977.87
UYU |
Plan Anual |
738.82
BOB |
103560.24
CLP |
462944.29
COP |
99.90
USD |
401.89
PEN |
2159.35
MXN |
4514.26
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana