Volver a la portadaCultura Digital · 1º de Preparatoria · Cambiar asignatura
Empezar gratis
Prepa 1º · Cultura Digital
La creación de contenidos digitales · Creación y programación sencilla

Algoritmos y pensamiento computacional

Imagina que Ximena llega a la tienda de la esquina y le encargan repartir tortas entre sus compañeros del equipo de futbol. Si solo piensa «las reparto», se puede topar con que faltan tortas, que alguien repite o que nadie sabe quién empieza. Antes de programar cualquier cosa hay que tener clarísimos los pasos. Esa lista exacta de pasos es un algoritmo, y pensar así (descomponer, buscar patrones, quedarse con lo importante) es el pensamiento computacional. Al final de la página resolvemos el caso de Ximena.

Qué es un algoritmo

Un algoritmo trabaja con datos (valores sueltos, como 7, «Diego» o 25 °C) y los transforma en información (datos con significado para quien los usa, como «hoy hace calor, enciende el ventilador»). Por eso conviene pensar siempre en tres partes: entrada (los datos con que empiezas), proceso (lo que haces con ellos) y salida (el resultado).

Diagrama de flujo lineal que muestra de arriba abajo los pasos ordenados de una receta: inicio, tomar ingredientes, mezclar, servir y fin. Inicio Paso 1: tomar ingredientes Paso 2: mezclar Paso 3: servir Fin

Para resolver un problema con medios digitales se siguen cinco pasos:

  1. Identificar el problema: qué quiero lograr.

  2. Comprenderlo: qué datos tengo y qué resultado espero.

  3. Analizar alternativas: qué maneras distintas hay de resolverlo.

  4. Seleccionar la mejor: la más rápida, sencilla o segura.

  5. Usar un método o técnica, como un diagrama de flujo, para escribir y probar la solución.

Un mismo problema puede tener varios algoritmos. Para ordenar una baraja, por ejemplo, puedes pasar carta por carta colocándola en su lugar, o separar primero en montones por palo. Uno es «mejor» si necesita menos pasos, menos tiempo o menos errores para el mismo resultado.

Practica★☆☆Sin empezar
Escribe el algoritmo, como una lista de pasos numerados, para preparar una torta de queso, de forma que una persona que nunca ha hecho una pueda seguirlo sin dudas.…

Escribe el algoritmo, como una lista de pasos numerados, para preparar una torta de queso, de forma que una persona que nunca ha hecho una pueda seguirlo sin dudas. Revisa tu lista y comprueba que no falten pasos que dabas por supuestos.

Resolver
Practica★☆☆Sin empezar
Escribe el algoritmo para preparar un vaso de leche con cacao en seis u ocho pasos, tan precisos que los pudiera seguir un robot: cantidades, orden de los pasos y cómo…

Escribe el algoritmo para preparar un vaso de leche con cacao en seis u ocho pasos, tan precisos que los pudiera seguir un robot: cantidades, orden de los pasos y cómo comprobar que el cacao se ha disuelto antes de terminar.

Resolver
Practica★☆☆Sin empezar
En la receta «freír un huevo» identifica la entrada (los ingredientes y utensilios), el proceso (los pasos con el fuego y la sartén) y la salida (el resultado). Explica…

En la receta «freír un huevo» identifica la entrada (los ingredientes y utensilios), el proceso (los pasos con el fuego y la sartén) y la salida (el resultado). Explica por qué pensar así ayuda a escribir algoritmos claros.

Resolver
Practica★☆☆Sin empezar
Una receta dice «remueve la salsa hasta que espese». Explica por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescribe ese paso…

Una receta dice «remueve la salsa hasta que espese». Explica por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescribe ese paso para que el cocinero no se quede removiendo para siempre.

Resolver

Decisiones y repeticiones en el diagrama de flujo

Un diagrama de flujo dibuja el algoritmo para verlo de un vistazo. Además de pasos en línea recta, tiene dos estructuras clave: la decisión (estructura condicional: si pasa tal cosa, hago A; si no, hago B) y la repetición (estructura repetitiva: repito un paso mientras se cumpla una condición).

Primero, una decisión: la lámpara de lectura automática.

Diagrama de flujo con una decisión: si hay poca luz se enciende la lámpara y si no se deja apagada; los dos caminos terminan en el fin. Inicio ¿hay poca luz? sí encender lámpara no lámpara apagada Fin

Ahora, una repetición: la flecha regresa al rombo mientras la condición se cumpla.

Diagrama de flujo con una repetición: mientras queden tortas se reparte una y la flecha vuelve al rombo; cuando no quedan, termina. Inicio ¿quedan tortas? sí repartir una repetir no Fin

Para seguir un algoritmo a mano se usa una variable: un espacio con nombre donde se guarda un dato que puede cambiar (como un «contador» que empieza en 0 y sube de uno en uno). Anotar el valor de las variables después de cada paso se llama hacer la traza.

Practica★☆☆Sin empezar
Estos pasos del algoritmo «ir a la escuela» están desordenados: (a) entrar a clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta la…

Estos pasos del algoritmo «ir a la escuela» están desordenados: (a) entrar a clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta la escuela. Ordénalos correctamente y agrega al algoritmo una decisión: qué hacer si está lloviendo al salir de casa.

Resolver
Practica★☆☆Sin empezar
La figura muestra, con bloques encajados, el algoritmo de una lámpara de lectura automática que debe encenderse solo cuando hay poca luz, pero falta un bloque. Indica…

La figura muestra, con bloques encajados, el algoritmo de una lámpara de lectura automática que debe encenderse solo cuando hay poca luz, pero falta un bloque.

al empezar repetir siempre si hay poca luz encender la lámpara si no ?

Indica qué bloque colocarías en el hueco y explica con tus palabras cómo funciona el algoritmo completo, paso a paso.

Resolver
Practica★☆☆Sin empezar
Lee este algoritmo: (1) toma la baraja, (2) mientras queden cartas en la mano, reparte una a cada jugador empezando por tu izquierda, (3) cuando no queden cartas,…

Lee este algoritmo: (1) toma la baraja, (2) mientras queden cartas en la mano, reparte una a cada jugador empezando por tu izquierda, (3) cuando no queden cartas, anuncia «repartidas». Explica con una frase qué hace el algoritmo y señala qué parte es la repetición y cuándo termina.

Resolver
Practica★★☆Sin empezar
Haz la traza de este algoritmo con $n = 7$: (1) empezar con el valor de $n$, (2) repetir tres veces: sumarle 2, (3) restarle 5, (4) escribir el resultado. Anota el valor…

Haz la traza de este algoritmo con $n = 7$: (1) empezar con el valor de $n$, (2) repetir tres veces: sumarle 2, (3) restarle 5, (4) escribir el resultado. Anota el valor después de cada paso, da el resultado final y explica qué es una traza y para qué sirve hacerla a mano.

Resolver
Practica★★☆Sin empezar
Escribe el algoritmo para contar cuántas personas entran por la puerta del aula usando solo una variable «contador» que empieza en 0: qué haces cada vez que entra…

Escribe el algoritmo para contar cuántas personas entran por la puerta del aula usando solo una variable «contador» que empieza en 0: qué haces cada vez que entra alguien, cómo sabes cuándo parar de contar y qué valor tendrá el contador al final.

Resolver

Descomponer, reconocer patrones y abstraer

Un problema grande, en forma de pieza de puzle, se divide por un corte en dos subproblemas más pequeños que encajan entre sí. problema grande subproblema 1 subproblema 2

Descomponer ayuda porque cada parte pequeña es más fácil de resolver, de probar y de repartir entre varias personas. Reconocer patrones te deja escribir una regla en lugar de una lista larga: en 5, 10, 15, 20… la regla es «suma 5»; en 1, 2, 4, 8… es «multiplica por 2».

También hay que comparar algoritmos. Si buscas «murciélago» en un diccionario, avanzar página por página puede costar cientos de pasos; abrir por la mitad y descartar la mitad que no toca necesita muy pocos, pero solo funciona si las páginas están ordenadas. Cada apertura divide las páginas entre 2: de 500 pasas a 250, 125, 63… y en unas 9 aperturas llegas a una sola página.

Practica★★☆Sin empezar
Descompón el problema «organizar la fiesta de fin de curso» en cuatro subproblemas más pequeños y escribe dos pasos concretos para resolver cada uno. Explica qué ventaja…

Descompón el problema «organizar la fiesta de fin de curso» en cuatro subproblemas más pequeños y escribe dos pasos concretos para resolver cada uno. Explica qué ventaja tiene dividir así un problema grande.

Resolver
Practica★★☆Sin empezar
Para ordenar una baraja de cartas existen varios algoritmos distintos, y unos son más rápidos que otros. Explica con un ejemplo de la vida diaria que un mismo problema…

Para ordenar una baraja de cartas existen varios algoritmos distintos, y unos son más rápidos que otros. Explica con un ejemplo de la vida diaria que un mismo problema puede tener varios algoritmos que lo resuelven y qué significa que uno sea «mejor» que otro.

Resolver
Practica★★☆Sin empezar
Reconocer patrones es encontrar la regla que se repite. Descubre el patrón de estas tres secuencias y exprésalo como una regla clara: (a) 5, 10, 15, 20, …, (b) 100, 90,…

Reconocer patrones es encontrar la regla que se repite. Descubre el patrón de estas tres secuencias y exprésalo como una regla clara: (a) 5, 10, 15, 20, …, (b) 100, 90, 80, 70, …, (c) lunes: 1 flexión, martes: 2, miércoles: 4, jueves: 8, … Indica qué valor vendría después en cada una.

Resolver
Practica★★☆Sin empezar
El mapa del metro no dibuja la ciudad real: elimina distancias, curvas y calles, y se queda solo con estaciones y conexiones. Explica qué es la abstracción usando este…

El mapa del metro no dibuja la ciudad real: elimina distancias, curvas y calles, y se queda solo con estaciones y conexiones. Explica qué es la abstracción usando este ejemplo y aplícala después al plano de tu escuela: qué tres cosas incluirías y qué tres cosas eliminarías.

Resolver
Practica★★★Sin empezar
Buscas la palabra «murciélago» en un diccionario de 500 páginas. Compara estos dos algoritmos: abrir por la primera página y avanzar de una en una, o abrir por la mitad…

Buscas la palabra «murciélago» en un diccionario de 500 páginas. Compara estos dos algoritmos: abrir por la primera página y avanzar de una en una, o abrir por la mitad e ir descartando la mitad que no toca. Explica cuál es más eficiente, por qué funciona solo si las páginas están ordenadas y estima cuántas «aperturas» necesita cada método.

Resolver

Dependencias y tareas que van a la vez

Cuando descompones un problema en tareas, no todas se pueden hacer en cualquier orden. Una tarea depende de otra si no puede empezar hasta que la otra termine: no puedes servir el agua de jamaica antes de prepararla. Dos tareas son independientes si ninguna necesita a la otra; entonces pueden hacerse a la vez (en paralelo) si hay dos personas, o dos procesos en una computadora.

Ejemplo: Diego y Regina preparan una cena de quesadillas y agua de jamaica para cuatro invitados.

Gráfica de dependencias: hervir jamaica lleva a endulzar y enfriar; calentar el comal lleva a hacer quesadillas; poner la mesa no depende de nada. Hervir la jamaica Endulzar y enfriar Calentar el comal Hacer quesadillas Poner la mesa sin flechas: independiente
Practica★★★Sin empezar
Dos personas preparan juntos el desayuno para cuatro invitados: hay que hacer café, tostar pan, exprimir jugo y poner la mesa. Reparte las tareas entre los dos…

Dos personas preparan juntos el desayuno para cuatro invitados: hay que hacer café, tostar pan, exprimir jugo y poner la mesa. Reparte las tareas entre los dos respetando las dependencias (no se puede servir el café antes de hacerlo) y explica qué tareas pueden hacerse a la vez y cuáles no, con su orden.

Resolver

Casos límite y errores en los algoritmos

Diagrama de flujo que ilustra un caso límite mediante una comprobación previa antes de ejecutar una acción. Inicio ¿quedan tortas? sí repartir una no avisar: no hay más

Así cerramos el caso de Ximena: antes de repartir cada torta, el algoritmo comprueba si quedan; si no quedan, avisa y reparte por turnos lo que haya. Ya no falla con más compañeros que tortas.

Practica★★☆Sin empezar
Una receta dice: «añade sal y deja cocer un rato a fuego medio». Explica por qué una computadora no podría seguir esa instrucción y reescríbela como un paso de algoritmo…

Una receta dice: «añade sal y deja cocer un rato a fuego medio». Explica por qué una computadora no podría seguir esa instrucción y reescríbela como un paso de algoritmo preciso, indicando cantidades, tiempos y cómo comprobar que el paso ha terminado.

Resolver
Practica★★☆Sin empezar
Este algoritmo de «hacer la colada» tiene un error: (1) meter toda la ropa en la lavadora, blanca y de color junta, (2) añadir detergente, (3) elegir el programa largo…

Este algoritmo de «hacer la colada» tiene un error: (1) meter toda la ropa en la lavadora, blanca y de color junta, (2) añadir detergente, (3) elegir el programa largo de agua caliente, (4) tender. Encuentra dos pasos problemáticos, explica qué puede salir mal en cada uno y reescribe el algoritmo corregido con un paso de clasificación previa.

Resolver
Practica★★★Sin empezar
El algoritmo de un comedor reparte una torta a cada asistente, pero falla cuando hay más asistentes que tortas. Explica qué es un «caso límite» en un algoritmo, propón…

El algoritmo de un comedor reparte una torta a cada asistente, pero falla cuando hay más asistentes que tortas. Explica qué es un «caso límite» en un algoritmo, propón cómo debería comportarse el reparto en esa situación y reescribe el paso conflictivo para que el algoritmo no falle.

Resolver
Practica★★★Sin empezar
Un cajero automático solo tiene billetes de $\$400$ y su algoritmo reparte la cantidad pedida en billetes. Explica qué ocurre cuando alguien pide $\$1\,500$, por qué es…

Un cajero automático solo tiene billetes de $\$400$ y su algoritmo reparte la cantidad pedida en billetes. Explica qué ocurre cuando alguien pide $\$1\,500$, por qué es un caso límite y reescribe las reglas del cajero para que responda siempre algo razonable.

Resolver
Practica★★★Sin empezar
Diseña el algoritmo completo, con pasos numerados que incluyan decisiones y repeticiones, de un semáforo peatonal con botón: qué ocurre desde que alguien pulsa el botón…

Diseña el algoritmo completo, con pasos numerados que incluyan decisiones y repeticiones, de un semáforo peatonal con botón: qué ocurre desde que alguien pulsa el botón hasta que el semáforo vuelve a su estado inicial, incluyendo los tiempos de cada luz.

Resolver
Practica★★★Sin empezar
Piensa en un programa que juega al tres en raya. Describe la estrategia que seguiría en cada turno: qué datos del tablero debe mirar, en qué orden, y qué reglas usarías…

Piensa en un programa que juega al tres en raya. Describe la estrategia que seguiría en cada turno: qué datos del tablero debe mirar, en qué orden, y qué reglas usarías para decidir dónde colocar la ficha. No hace falta escribir código: basta con las reglas en lenguaje natural.

Resolver
Practica★★★Sin empezar
La figura muestra, con bloques encajados, el esqueleto de un juego de adivinar un número secreto, pero dentro del bucle falta una pieza para que el juego dé pistas al…

La figura muestra, con bloques encajados, el esqueleto de un juego de adivinar un número secreto, pero dentro del bucle falta una pieza para que el juego dé pistas al jugador.

al empezar repetir hasta acertar preguntar un número ? decir ¡Acertaste!

Describe qué bloque (o bloques) colocarías en el hueco para que el juego diga al jugador si su número es mayor o menor que el secreto, y explica el funcionamiento completo del algoritmo: qué se repite, cuándo termina y qué pasa si el jugador acierta a la primera.

Resolver
Practica★★★Sin empezar
Para el reciclaje del aula se proponen dos algoritmos: (a) cada día, la persona responsable separa toda la basura del día en los tres contenedores, y (b) cada semana,…

Para el reciclaje del aula se proponen dos algoritmos: (a) cada día, la persona responsable separa toda la basura del día en los tres contenedores, y (b) cada semana, por turnos, una pareja clasifica lo acumulado. Evalúa ambos con criterios de tiempo total, errores de clasificación y reparto del esfuerzo, y elige uno justificándolo.

Resolver

Resumen

Ver todos los ejercicios de este apartado