Volver a la portadaCiencias de la Computación · 1.er año de bachillerato · Cambiar asignatura
Empezar gratis
1° bach · Ciencias de la Computación
La creación de contenidos digitales · Creación y programación sencilla

Algoritmos y pensamiento computacional

Un sábado tu familia quiere hacer pupusas para la cena y a vos te toca explicarle los pasos a un primo que nunca ha hecho una. Si le decís «amasá un rato y cocinalas hasta que estén», se va a quedar con mil dudas. Para que cualquiera (o una computadora) pueda seguir las instrucciones, hay que escribirlas con exactitud. Esa lista exacta de pasos es un algoritmo, y la forma de pensar para construirlo es el pensamiento computacional. Al final de la página volvemos a la receta de las pupusas.

Qué es un algoritmo

Un buen algoritmo tiene cuatro características:

  • Ordenado: cada paso va en su lugar.

  • Preciso: no deja nada a la interpretación («al gusto» no sirve).

  • Finito: siempre termina.

  • Con resultado: produce una salida útil.

Son importantes porque las computadoras no tienen sentido común: solo hacen lo que se les dice, paso a paso. Antes de programar, hay que tener claro el algoritmo.

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: juntar ingredientes Paso 2: mezclar Paso 3: servir Fin

Entrada, proceso y salida

Todo algoritmo se puede ver en tres partes: la entrada (con qué datos o materiales empieza), el proceso (qué se hace con ellos) y la salida (el resultado).

Practica★☆☆Sin empezar
Escribí el algoritmo, como una lista de pasos numerados, para preparar un pan con queso, de forma que una persona que nunca ha hecho uno pueda seguirlo sin dudas. Revisá…

Escribí el algoritmo, como una lista de pasos numerados, para preparar un pan con queso, de forma que una persona que nunca ha hecho uno pueda seguirlo sin dudas. Revisá tu lista y comprobá que no falten pasos que dabas por supuestos.

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

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

Resolver
Practica★☆☆Sin empezar
Escribí 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…

Escribí 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
Una receta dice «remové la salsa hasta que espese». Explicá por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescribí ese paso…

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

Resolver

Representar un algoritmo: pseudocódigo y diagrama de flujo

Un algoritmo se puede escribir de varias formas. Dos son las más usadas:

  • Pseudocódigo: instrucciones en español, parecidas a un programa pero sin las reglas estrictas de un lenguaje.

  • Diagrama de flujo: un dibujo con formas conectadas por flechas.

Decisión: si / si no

Una decisión elige entre dos caminos según se cumpla o no una condición. Es lo que necesita una lámpara automática: si hay poca luz, se enciende; si no, queda apagada.

Diagrama de flujo con una estructura condicional que bifurca el camino según una decisión mediante un rombo. Inicio ¿hay poca luz? sí encender lámpara no lámpara apagada fin

El mismo algoritmo en pseudocódigo:

Si hay poca luz Entonces

    Encender lámpara

Sino

    Mantener lámpara apagada

Fin Si

Si solo hay acción cuando se cumple la condición (sin «Sino»), es una decisión simple; con «Sino» es una decisión compuesta.

Ejemplo de decisión simple: si el celular tiene poca batería, activar el ahorro de energía; si no, no se hace nada.

Si batería < 20 Entonces

    Activar ahorro de energía

Fin Si
Diagrama de flujo de una decisión simple: si la batería es menor que 20 se activa el ahorro; si no, se sigue directo al fin. Inicio ¿batería < 20? sí activar ahorro no fin

Repetición: mientras / para

Una repetición (o bucle) ejecuta unos pasos varias veces. Hay dos formas:

  • Para: se sabe cuántas veces repetir.

  • Mientras: se repite mientras una condición sea verdadera, sin saber de antemano cuántas veces.

Para i desde 1 hasta 3 hacer

    Sumar 2 al valor

Fin Para

Mientras queden cartas en la mano hacer

    Repartir una carta

Fin Mientras

En un diagrama de flujo, la repetición usa un rombo con la condición y una flecha que vuelve hacia atrás.

Dos diagramas de flujo de bucles: Para, con un contador que sube hasta 3, y Mientras, que repite mientras queden cartas. Para i desde 1 hasta 3 Mientras queden cartas i = 1 ¿i ≤ 3? sí sumar 2; i = i + 1 no ¿quedancartas? sí repartir una carta no

Las repeticiones son importantes porque automatizan tareas: en vez de escribir el mismo paso cien veces, lo escribís una vez y le decís cuántas veces repetirlo o hasta cuándo.

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

Estos pasos del algoritmo «ir al insti» están desordenados: (a) entrar en clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta el insti. Ordenalos correctamente y agregá 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. Indicá…

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 ?

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

Resolver
Practica★☆☆Sin empezar
Muchos aparatos cotidianos siguen algoritmos. Elegí dos de esta lista —lavadora, microondas, semáforo— y describí para cada uno qué datos recibe (entrada), qué decide o…

Muchos aparatos cotidianos siguen algoritmos. Elegí dos de esta lista —lavadora, microondas, semáforo— y describí para cada uno qué datos recibe (entrada), qué decide o repite (proceso) y qué hace al final (salida).

Resolver
Practica★☆☆Sin empezar
Leé este algoritmo: (1) agarrá la baraja, (2) mientras queden cartas en la mano, repartí una a cada jugador empezando por tu izquierda, (3) cuando no queden cartas,…

Leé este algoritmo: (1) agarrá la baraja, (2) mientras queden cartas en la mano, repartí una a cada jugador empezando por tu izquierda, (3) cuando no queden cartas, anunciá «repartidas». Explicá con una frase qué hace el algoritmo y señalá qué parte es la repetición y cuándo termina.

Resolver
Practica★★☆Sin empezar
Hacé 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. Anotá el…

Hacé 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. Anotá el valor después de cada paso, dá el resultado final y explicá qué es una traza y para qué sirve hacerla a mano.

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

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

Resolver

Descomponer, reconocer patrones y abstraer

Descomposición

Organizar la fiesta de fin de año es demasiado grande para resolverlo de un solo golpe. Pero si lo dividís en comida, música, lugar y invitaciones, cada parte es más fácil, y hasta pueden repartirse entre varias personas.

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

Al descomponer también se ve qué tareas dependen de otras (no se puede servir el café antes de hacerlo) y cuáles pueden hacerse a la vez.

Patrones

Un patrón es una regla que se repite. En la secuencia $3, 6, 9, 12, \dots$ la regla es «sumar 3», y lo que sigue es $15$. Los patrones pueden ser de números, figuras u objetos naturales (los pétalos de una flor, las rayas de un tigrillo). Si encontrás el patrón, podés escribir un algoritmo corto que lo genere, en vez de listar todos los casos.

Abstracción

El mapa de rutas de buses no dibuja la ciudad real: elimina curvas, distancias y edificios, y se queda solo con paradas y conexiones. Eso basta para decidir el viaje, que es lo único que importa en ese momento.

Un mismo problema, varios algoritmos

Ordenar una baraja puede hacerse de muchas formas: repartirla en montoncitos por palo y luego ordenar cada uno, o ir insertando cada carta en su lugar entre las que ya tenés. Todos resuelven el problema, pero unos son más rápidos, más fáciles de seguir o cometen menos errores. «Mejor» significa mejor según un criterio (tiempo, esfuerzo, errores), y conviene decir cuál usás para comparar.

Practica★★☆Sin empezar
Descomponé el problema «organizar la fiesta de fin de año» en cuatro subproblemas más pequeños y escribí dos pasos concretos para resolver cada uno. Explicá qué ventaja…

Descomponé el problema «organizar la fiesta de fin de año» en cuatro subproblemas más pequeños y escribí dos pasos concretos para resolver cada uno. Explicá qué ventaja tiene dividir así un problema grande.

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

Reconocer patrones es encontrar la regla que se repite. Descubrí el patrón de estas tres secuencias y expresalo 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, … Indicá 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. Explicá 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. Explicá qué es la abstracción usando este ejemplo y aplicala después al plano de tu colegio: qué tres cosas incluirías y qué tres cosas eliminarías.

Podés hacerlo en papel y enviar una foto con tu respuesta.

Resolver
Practica★★☆Sin empezar
Para ordenar una baraja de cartas existen varios algoritmos distintos, y unos son más rápidos que otros. Explicá 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. Explicá 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
Dos personas preparan juntas el desayuno para cuatro invitados: hay que hacer café, tostar pan, exprimir jugo y poner la mesa. Repartí las tareas entre los dos…

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

Resolver

Casos límite y depuración

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

Depurar: buscar y corregir errores

Depurar es encontrar y corregir los errores de un algoritmo. Se hace probando con distintos datos y haciendo trazas. Conviene probar tres tipos de casos:

  • Normales: los datos habituales.

  • Límite: los extremos (cero, el máximo permitido, nada que repartir).

  • Erróneos: datos que no deberían entrar (un número negativo donde va una cantidad de personas).

Practica★★☆Sin empezar
Una receta dice: «agregá sal y dejá cocer un rato a fuego medio». Explicá por qué una computadora no podría seguir esa instrucción y reescribila como un paso de…

Una receta dice: «agregá sal y dejá cocer un rato a fuego medio». Explicá por qué una computadora no podría seguir esa instrucción y reescribila 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 «lavar la ropa» tiene un error: (1) meter toda la ropa en la lavadora, blanca y de color junta, (2) agregar detergente, (3) elegir el programa largo de…

Este algoritmo de «lavar la ropa» tiene un error: (1) meter toda la ropa en la lavadora, blanca y de color junta, (2) agregar detergente, (3) elegir el programa largo de agua caliente, (4) tender. Encontrá dos pasos problemáticos, explicá qué puede salir mal en cada uno y reescribí el algoritmo corregido con un paso de clasificación previa.

Resolver
Practica★★★Sin empezar
El algoritmo de un comedor reparte un pan con frijoles a cada asistente, pero falla cuando hay más asistentes que panes con frijoles. Explicá qué es un «caso límite» en…

El algoritmo de un comedor reparte un pan con frijoles a cada asistente, pero falla cuando hay más asistentes que panes con frijoles. Explicá qué es un «caso límite» en un algoritmo, proponé cómo debería comportarse el reparto en esa situación y reescribí el paso conflictivo para que el algoritmo no falle.

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

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

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

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

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

Pensá en un programa que juega al tres en raya. Describí 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 le 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 le dé pistas al jugador.

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

Describí qué bloque (o bloques) colocarías en el hueco para que el juego le diga al jugador si su número es mayor o menor que el secreto, y explicá 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 recipientes, y (b) cada semana, por…

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 recipientes, y (b) cada semana, por turnos, una pareja clasifica lo acumulado. Evaluá ambos con criterios de tiempo total, errores de clasificación y reparto del esfuerzo, y elegí uno justificándolo.

Resolver

Volvé al principio: para explicarle las pupusas a tu primo escribirías la entrada (masa, frijoles, queso), el proceso con cantidades y tiempos medibles, y la salida (pupusas listas), y preverías casos límite como «se acabó el queso».

Resumen

Ver todos los ejercicios de este apartado