If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Los bloques de construcción de algoritmos

Un algoritmo es un proceso que describe paso a paso cómo resolver un problema, para que siempre dé una respuesta correcta. Cuando hay varios algoritmos para un problema particular (¡y con frecuencia los hay!), el mejor algoritmo es usualmente el que lo resuelve más rápido.
Como programadores de computadoras utilizamos algoritmos constantemente; ya sea un algoritmo existente para un problema común, como ordenar un arreglo, o un algoritmo completamente nuevo que sea único para nuestro programa. Al entender algoritmos podemos tomar mejores decisiones sobre cuáles algoritmos existentes utilizar y aprender a hacer otros nuevos que sean correctos y eficientes.
Un algoritmo se hace con tres bloques básicos de construcción: secuenciación, selección e iteración.
Secuenciación: un algoritmo es un proceso paso a paso, y el orden de esos pasos es crucial para asegurar que el algoritmo sea correcto.
He aquí un algoritmo para traducir una palabra a un idioma ficticio, como "mal" a "al-mente":
1. Añade "-".
2. Añade la primera letra
3. Añade "ente"
4. Elimina la primera letra
🔍Intenta seguir esos pasos en diferentes órdenes, y mira qué resulta. No es lo mismo, ¿o sí?
Selección: los algoritmos pueden utilizar selección para determinar un conjunto diferente de pasos a ejecutar según una expresión booleana.
He aquí un algoritmo mejorado para el idioma ficticio, que maneje mejor palabras que empiezan en vocal, de manera que "año" se convierta en "año-ante" en lugar de la impronunciable "ño-aente":
1. Añade "-"
2. Almacena la primera letra
3. Si la primera letra es vocal:
    a. Añade "ante"
4. Si no:
    a. Añade la primera letra
    b. Añade "ente"
    c. Elimina la primera letra
Iteración: los algoritmos suelen utilizar repetición para ejecutar los pasos un cierto número de veces, o hasta que se cumpla una condición determinada.
Podemos agregar iteración al algoritmo anterior para traducir una frase completa, de manera que "el dulce de leche" se convierta en "el-ante ulce-dente e-dente eche-lente":
1. Almacena la lista de palabras
2. Para cada palabra en la lista:
    a. Añade guión "-"
    b. Si la primera letra es vocal:
        i. Añade "ante"
    c. Si no:
        i. Añade la primera letra
        ii. Añade "ente"
        iii. Elimina la primera letra
Al combinar secuenciación, selección e iteración, hemos encontrado un algoritmo para la traducción al idioma ficticio.
🤔 ¿Puedes imaginar situaciones en las que se produce un resultado incorrecto?

🙋🏽🙋🏻‍♀️🙋🏿‍♂️¿TIenes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡solo pregunta en el área de preguntas más abajo!

¿Quieres unirte a la conversación?

¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.