Introducción
En esta sección vamos a hablar sobre algoritmos en programación, especificar las características de los algoritmos, el concepto de pseudocódigo, diagramas de flujo y por último un ejemplo de resolución de un problema, creando un algoritmo, escribiendo el pseudocódigo, dibujando el diagrama de flujo y finalmente implementando en C# en Unity.
En el siguiente vídeo vemos qué es un ALGORITMO en programación.
Artículos de la categoría Algoritmos
A continuación te dejo una lista de los artículos que tengo relacionados a ALGORITMOS.
- Algoritmo para separar frase en palabras y reordenarlasIntroducción En este artículo vamos a ver un algoritmo implementado en C# en Unity que se encarga de tomar un string que contiene una frase y separarlo en un array de strings que contiene las palabras que componen esa frase,… Leer más: Algoritmo para separar frase en palabras y reordenarlas
- Ejercicio 7 – Algoritmo para calcular área y perímetro de un rectánguloIntroducción En el ejercicio 7 de la serie de problemas básicos de programación en lenguaje C# para resolver en Unity tenemos como entrada dos lados de un rectángulo y tenemos crear un algoritmo para que calcular el perímetro y el… Leer más: Ejercicio 7 – Algoritmo para calcular área y perímetro de un rectángulo
- Ejercicio 6 – Calcular cantidad de horas y minutosIntroducción Para el problema que vamos a resolver en este artículo partimos de un valor entero que indica una cantidad de minutos y debemos crear un algoritmo para convertir esta información en una cantidad de horas y minutos restantes. Es… Leer más: Ejercicio 6 – Calcular cantidad de horas y minutos
- Ejercicio 5 – Resolver la suma de los n primeros númerosIntroducción En este problema tenemos como entrada un número natural y debemos realizar la suma de todos los números naturales menores o iguales al número de entrada, es decir los n primeros números naturales. Por ejemplo si la entrada es… Leer más: Ejercicio 5 – Resolver la suma de los n primeros números
- Ejercicio 4 – Algoritmo para determinar si un número es par o imparIntroducción El problema que vamos a resolver en este artículo consiste en crear un algoritmo que determine si un número entero ingresado por el usuario es par o impar. Es el ejercicio 4 de la serie de problemas básicos de… Leer más: Ejercicio 4 – Algoritmo para determinar si un número es par o impar
¿Qué es un algoritmo?
Un algoritmo es una serie finita de pasos ordenados que describen el pasaje desde un estado inicial a un estado final de algún proceso.
En general utilizamos algoritmos para resolver problemas, como realizar cálculos matemáticos u ordenar grandes listas de datos.
Dado un problema concreto, el algoritmo que lo resuelve será una serie finita de pasos secuenciales que conducen a la resolución del problema.
Características de un algoritmo
Un algoritmo consiste en una secuencia finita de pasos.
Sus instrucciones deben estar bien definidas y sin ambigüedades, es decir cada instrucción debe poder interpretarse de manera unívoca.
Las instrucciones de un algoritmo deben estar ordenadas de manera secuencial, es decir se trata de instrucciones ordenadas.
Pseudocódigo
El pseudocódigo es una descripción en lenguaje coloquial del algoritmo.
En este caso a las instrucciones del algoritmo le damos la forma que va a tener en el código, pero no usamos sintaxis de ningún lenguaje en particular.
Diagrama de Flujo y algoritmos
Los diagramas de flujo son representaciones gráficas de algoritmos.
Utilizando un conjunto de símbolos y conectando con flechas se puede describir la serie de pasos que describe un algoritmo.
Implementación de un algoritmo computacional
Para los pasos previos no necesitamos saber ningún lenguaje de programación. Es decir dado un problema concreto, idear un algoritmo que lo resuelve y luego plantear un diagrama de flujo para tener una representación visual, todo esto lo podemos hacer sin saber programar y de alguna forma lo hacemos mentalmente cada vez que nos enfrentamos a los problemas en la vida cotidiana.
Para implementar el algoritmo en un programa computacional debemos conocer un lenguaje de programación concreto y todo va a depender de qué es lo que queremos hacer.
Ejemplos: Algoritmos en Unity
Vamos a dar un ejemplo de un problema en el ámbito del desarrollo de videojuegos con Unity.
Supongamos que tenemos una serie de enemigos rodeando al jugador y queremos saber cuál de ellos es el que se encuentra más cerca.
Planteo del problema
El objetivo es crear una función o método que dado un conjunto de GameObjects nos devuelva el GameObject que se encuentre más cerca del jugador.
Algoritmo
La secuencia de pasos para resolver este problema sería:
-Asumir que el primer elemento del conjunto es el más cercano al jugador.
-Para los elementos de la posición 2 en adelante compararlos con el objeto más cercano hasta el momento, si es aún más cercano al jugador tomarlo como el nuevo objeto para comparar. Repetir para todos los elementos restantes.
Pseudocódigo
Para escribir el pseudocódigo tomamos el algoritmo y le damos una estructura de programación en lenguaje coloquial, teniendo en cuenta las asignaciones, operaciones, bucles, sentencias if y demás.
Diagrama de Flujo
El diagrama de flujo será una representación visual del pseudocódigo, utilizando símbolos predefinidos por convención. A continuación podemos ver el diagrama de flujo asociado al pseudocódigo anterior.
Implementación del algoritmo en Unity
En esta parte vamos a la aplicación concreta del algoritmo, como lo vamos a utilizar para una función en Unity (desarrollo de videojuegos) la implementación será en lenguaje C#.
Como vemos el resultado final es un método en C# que resuelve el problema propuesto.