Contenido principal
Principios de ciencias de la computación avanzados (AP Computer Science Principles)
Curso: Principios de ciencias de la computación avanzados (AP Computer Science Principles) > Unidad 4
Lección 1: Construir algoritmosLos 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?
- ¿Hola cómo se puede hacer un algoritmo más veloz ?(2 votos)