Pensamiento computacional y resolución de problemas

Aprende cómo abordan los problemas los especialistas en ciencias de la computación (informática). Descubre qué estudia esta disciplina y practica las cuatro técnicas del pensamiento computacional: dividir un problema en partes, reconocer patrones, conservar solo los detalles relevantes y escribir una solución precisa paso a paso. Escribe algoritmos en pseudocódigo con variables, decisiones y bucles (ciclos), represéntalos mediante diagramas de flujo, compruébalos con tablas de seguimiento y datos de prueba, y crea tus primeros programas con bloques en Scratch.

PrincipianteUnidad 1 de 7 del curso Curso de Introducción a la informática

Lo que aprenderás

  1. Describe qué estudian las ciencias de la computación, en qué se diferencian de la programación por sí sola y cómo el pensamiento computacional transforma un problema en una solución que puede ejecutar una persona o una computadora.
    • Describe qué estudian las ciencias de la computación
      Explica las ciencias de la computación como el estudio de la computación y la información, nombra sus áreas principales y describe toda computación como una transformación de entradas en salidas.
    • Describe el pensamiento computacional y sus cuatro técnicas
      Define el pensamiento computacional, nombra la descomposición, el reconocimiento de patrones, la abstracción y el diseño de algoritmos, y úsalos conjuntamente en un proceso de resolución de problemas.
  2. Usa la descomposición, el reconocimiento de patrones y la abstracción para transformar un problema grande y poco claro en partes pequeñas y generales, fáciles de resolver.
    • Descompón un problema en partes manejables
      Divide un problema en subproblemas, organízalos en una jerarquía y decide cuándo una parte es lo bastante pequeña para resolverla directamente.
    • Reconoce patrones y generaliza soluciones
      Encuentra semejanzas dentro de un problema y entre problemas, reutiliza soluciones para las partes repetidas y generaliza un patrón para que una solución cubra muchos casos.
    • Usa la abstracción para centrarte en lo relevante
      Conserva los detalles necesarios para un propósito, oculta los demás y usa modelos y procedimientos con nombre como abstracciones con entradas y salidas claras.
  3. Describe qué hace que un algoritmo sea correcto y útil, y escribe algoritmos en pseudocódigo con variables, entradas y salidas, decisiones y bucles.
    • Explica qué es un algoritmo y qué características debe tener un buen algoritmo
      Define un algoritmo, comprueba que las instrucciones sean precisas y completas, y compara distintos algoritmos para el mismo problema según su corrección y número de pasos.
    • Almacena y modifica datos mediante variables, entradas y salidas
      Escribe pseudocódigo que lea entradas, almacene y actualice valores en variables, calcule con operadores y produzca salidas.
    • Toma decisiones mediante la selección
      Escribe condiciones con operadores de comparación y lógicos, y usa IF, ELSE y ELSE IF para que un algoritmo siga el camino correcto con cada entrada.
    • Repite pasos mediante bucles
      Usa bucles controlados por contador y por condición, lleva sumas y recuentos acumulados, y evita los bucles infinitos y los errores de desfase de una unidad.
  4. Dibuja y lee diagramas de flujo, convierte entre diagramas de flujo y pseudocódigo, y comprueba algoritmos siguiendo su ejecución y probándolos con datos bien elegidos.
    • Lee y dibuja diagramas de flujo
      Usa los símbolos estándar de los diagramas de flujo y las líneas de flujo para mostrar los pasos de un algoritmo y leer el camino que sigue.
    • Representa decisiones y bucles en diagramas de flujo y pseudocódigo
      Dibuja la selección y la iteración en diagramas de flujo y convierte un algoritmo entre diagrama de flujo y pseudocódigo en ambos sentidos.
    • Sigue, prueba y depura un algoritmo
      Comprueba un algoritmo a mano con una tabla de seguimiento, elige datos de prueba normales, de valores límite y no válidos, y encuentra y corrige los tres tipos de errores.
  5. Usa un entorno de programación por bloques como Scratch para crear programas con secuencia, bucles, decisiones, variables, eventos y bloques personalizados, y relaciónalos con el pseudocódigo y el código textual.
    • Familiarízate con un entorno de programación por bloques
      Explica cómo funciona la programación por bloques, nombra las partes de un proyecto de Scratch y usa las formas y categorías de los bloques para construir un programa de bloques.
    • Crea programas con bucles, decisiones y variables mediante bloques
      Usa bloques repetir, por siempre, si-entonces-si no y repetir hasta que, variables y el bloque preguntar para crear programas interactivos, y léelos como algoritmos.
    • Usa eventos y bloques personalizados y da el paso al código textual
      Inicia programas de bloques mediante eventos, coordina objetos con mensajes, define bloques personalizados con entradas y aplica las mismas ideas a los lenguajes textuales.

Guía de estudio de Pensamiento computacional

5 capítulos

1

Qué preguntas plantean las ciencias de la computación y cómo abordar un problema

Las ciencias de la computación comienzan con preguntas sobre la información y los procesos usados para manejarla. Describir una tarea mediante sus entradas y salidas aclara el objetivo antes de escribir código. El pensamiento computacional aporta formas de organizar el trabajo, reconocer estructuras reutilizables, seleccionar los detalles relevantes y construir una solución que pueda comprobarse. Estos métodos son útiles tanto en la planificación cotidiana como en los programas.

1.1 La computación, la información y los problemas que resuelven

Una computadora puede calcular una ruta, reproducir un sonido u organizar una lista de nombres. Las ciencias de la computación estudian los procesos que hay detrás de estas tareas: cómo se representa y maneja la información, qué problemas pueden resolverse y cómo construir sistemas que ejecuten las soluciones.

Describe una computación

Un modelo inicial útil es entrada → proceso → salida. Un planificador de rutas recibe un punto de partida y un destino. Busca información sobre carreteras y después devuelve una ruta, una distancia en kilómetros y un tiempo de viaje. La información sobre carreteras también son datos que necesita el proceso. El resultado visible es solo una parte de la computación.

Enuncia un problema computacional antes de elegir su método. Por ejemplo: «Entrada: una lista de nombres. Salida: los mismos nombres en orden alfabético». Esto especifica cómo debe ser un resultado correcto. Deja margen para distintos métodos de producirlo. Si la salida omite un nombre, no resuelve el problema, aunque los nombres restantes estén ordenados.

Más que escribir código

La programación consiste en escribir instrucciones en un lenguaje que una computadora pueda ejecutar. Es una actividad importante dentro de las ciencias de la computación. La disciplina también se pregunta si existe una solución, cuánto trabajo requiere y cómo pueden usarla las personas de forma segura y sencilla.

ÁreaUna pregunta que estudia
Algoritmos y teoría¿Qué pasos resuelven un problema y qué se puede computar?
Lenguajes de programación¿Cómo pueden expresarse las instrucciones con claridad?
Sistemas informáticos¿Cómo sustentan la computación el hardware, los sistemas operativos y las redes?
Datos y bases de datos¿Cómo puede almacenarse, organizarse y recuperarse la información?
Inteligencia artificial y aprendizaje automático¿Cómo pueden los sistemas realizar tareas como reconocer patrones?
Interacción persona-computadora¿Cómo pueden las personas comprender y usar un sistema?
Seguridad¿Cómo pueden protegerse los datos y los sistemas?
Gráficos por computadora¿Cómo pueden crearse y mostrarse imágenes?
Ingeniería de software¿Cómo pueden los equipos construir y mantener programas fiables?

Los límites se solapan. Diseñar un editor de imágenes puede implicar gráficos, interacción con el usuario e ingeniería de software a la vez. La computación también apoya otras disciplinas: los biólogos comparan secuencias de ADN, los científicos del clima modelan la atmósfera y los artistas usan software para crear imágenes y música.

Disciplinas relacionadas y límites prácticos

La ingeniería de computadores se centra en dispositivos físicos como procesadores y placas de circuitos. Las tecnologías de la información, o TI, se centran en seleccionar, configurar y mantener en funcionamiento los sistemas de una organización. La ciencia de datos combina la estadística y la computación para extraer conclusiones de los datos. Estas disciplinas comparten métodos con las ciencias de la computación, pero ponen el énfasis en trabajos distintos.

Las computadoras ejecutan instrucciones precisas con rapidez, a menudo miles de millones de operaciones sencillas por segundo. La velocidad no arregla una instrucción poco clara. «Añade un poco de sal» deja una cantidad sin especificar; un proceso destinado a ejecutarse automáticamente necesita una acción precisa.

También hay límites más allá de la velocidad. Algunos problemas enunciados con precisión no tienen solución algorítmica. Otros tienen soluciones que requieren demasiados pasos para ser prácticas. Preguntarse qué puede conseguir una computadora forma parte de las propias ciencias de la computación.

Puntos clave

  • Las ciencias de la computación estudian la computación, la información y los sistemas que la procesan.
  • El enunciado de un problema define las entradas válidas y las salidas requeridas antes de elegir un método.
  • La programación expresa instrucciones; las ciencias de la computación también estudian la corrección, la facilidad de uso, la seguridad y los límites computacionales.
  • Entrada, proceso y salida describen las funciones de los datos y los pasos en una computación.

1.2 Convierte un problema en un plan que puedas comprobar

El pensamiento computacional aclara un problema lo suficiente para resolverlo paso a paso. Una persona puede ejecutar la solución, una computadora puede ejecutarla o ambas pueden repartirse el trabajo. Ese pensamiento incluye decidir qué significa el problema y cómo debe comprobarse un resultado.

Cuatro técnicas que funcionan juntas

La descomposición divide un problema en partes más pequeñas. El reconocimiento de patrones encuentra semejanzas o trabajo repetido. La abstracción conserva los detalles necesarios para un propósito y omite los demás. El diseño de algoritmos transforma una solución en pasos precisos y ordenados.

Estas técnicas son herramientas a las que puedes volver cuando sea necesario. No son cuatro casillas que deban completarse en un orden fijo. Una prueba fallida puede revelar un subproblema que falta. Un subproblema repetido puede sugerir un procedimiento reutilizable. Un modelo puede necesitar un detalle más antes de que el algoritmo funcione.

Jeannette Wing ayudó a popularizar el término «pensamiento computacional» en un ensayo de 2006. Su mensaje central era que este enfoque es útil para todos, más allá de las personas que trabajan como programadores.

Comprende, planifica, ejecuta y comprueba

El matemático George Pólya describió cuatro etapas de resolución de problemas en 1945. En informática, llevan a acciones concretas:

  1. Comprende el problema. Identifica entradas, salidas, restricciones y criterios de éxito.
  2. Elabora un plan. Elige tareas más pequeñas, patrones útiles y un algoritmo.
  3. Ejecuta el plan. Exprésalo y ejecútalo mediante pseudocódigo, un diagrama de flujo o un programa.
  4. Revisa. Compara el resultado con los criterios de éxito y modifica la solución donde haga falta.

Una restricción es una regla que la solución debe respetar, como un tiempo máximo disponible. Un criterio de éxito es una forma de juzgar el resultado. «Producir una lista de compras combinada con las cantidades necesarias» se puede comprobar. «Mejorar las compras» deja el resultado poco claro.

Desarrolla un plan de comidas

Supón que necesitas cenas para una semana. Las entradas incluyen las recetas, el número de personas y los alimentos ya disponibles. La salida es un plan y una lista de compras. Las necesidades alimentarias y el tiempo disponible para cocinar son restricciones.

Descompón el trabajo en elegir las comidas, elaborar la lista y cocinar. El reconocimiento de patrones muestra que varias recetas usan arroz y cebolla. La abstracción representa un ingrediente mediante su nombre y su cantidad, como «arroz, 1 kg», sin conservar una marca cuando esta no afecta al plan.

Ahora puede ordenarse el algoritmo de compras: elegir las comidas, enumerar sus ingredientes, combinar los ingredientes repetidos, restar lo que ya hay en la despensa y comprar lo que falta. Combinar las cantidades antes de comprobar la despensa evita restar las mismas existencias por separado para cada receta.

Comprueba el resultado comparándolo con las comidas. Todos los ingredientes necesarios deben estar disponibles en cantidad suficiente. Si falta un ingrediente, sigue cómo se elaboró la lista y modifica el paso correspondiente.

Un fallo habitual es empezar a programar antes de decidir qué resultado se necesita. Un programa rápido puede resolver fielmente el problema equivocado. Las personas siguen eligiendo el modelo, las restricciones y los pasos; la computadora ejecuta las instrucciones que expresan esas decisiones.

Puntos clave

  • El pensamiento computacional hace que las soluciones sean lo bastante precisas para que las ejecuten personas o computadoras.
  • La descomposición, el reconocimiento de patrones, la abstracción y el diseño de algoritmos pueden usarse en cualquier orden que resulte útil.
  • Anota las entradas, las salidas, las restricciones y los criterios de éxito antes de implementar una solución.
  • Usa las pruebas para orientar las modificaciones del plan, el modelo o los pasos.
  • El enfoque se aplica tanto a la planificación cotidiana como al software.
2

Divide los problemas en partes útiles y reutilizables

Una tarea complicada resulta más fácil de resolver cuando se ven sus partes, sus estructuras repetidas y sus detalles esenciales. La descomposición asigna una función a cada parte, el reconocimiento de patrones revela métodos que puedes reutilizar y la abstracción permite trabajar con un modelo más sencillo. Estos ejemplos muestran cómo elegir esos límites y comprobar que el plan simplificado siga conteniendo todo lo necesario para completar la tarea original.

2.1 Divide el trabajo en partes que encajen

Puede ser difícil tener presente un problema grande en su totalidad. La descomposición lo sustituye por subproblemas más pequeños que puedes comprender, resolver y comprobar por separado. Las partes deben seguir combinándose para formar una solución al problema original.

Avanza del conjunto a los detalles

Empieza por la tarea principal. Divídela en unas pocas responsabilidades con sentido y después detalla cada responsabilidad. Esto es la descomposición descendente. Un diagrama de descomposición con forma de árbol sitúa el problema completo arriba y las tareas más pequeñas debajo. Las ramas muestran a qué tarea pertenece cada tarea más pequeña.

Para una aplicación de cuestionarios, las partes principales son almacenar preguntas y respuestas, formular preguntas, comprobar respuestas, y mantener y mostrar la puntuación. La parte «formular una pregunta» puede dividirse en mostrar el texto de la pregunta, mostrar las opciones de respuesta y leer la elección del estudiante.

Un diagrama de estructura textual podría ser así:

Run a quiz
    Store questions and answers
    Ask a question
        Show question text
        Show answer options
        Read the choice
    Check the answer
    Keep and show the score

Estas ramas describen responsabilidades. Su posición vertical por sí sola no da el orden completo de ejecución. Por ejemplo, la aplicación repite la formulación y la comprobación mientras queden preguntas. Un algoritmo aparte describe ese flujo.

Decide cuándo dejar de dividir

Una parte es lo bastante pequeña cuando puedes ver cómo resolverla directamente o cuando un método o herramienta existente se encarga de ella. «Leer la elección» puede ser una tarea utilizable una vez que sabes cómo recoge la entrada la interfaz. Dividirla en movimientos individuales de las manos añadiría detalles que no ayudan a diseñar la aplicación.

Haz primero la división principal. Si empiezas describiendo acciones diminutas, es fácil dedicar tiempo a una pantalla y olvidar una responsabilidad completa, como decidir cuándo termina el cuestionario.

Identifica las dependencias

Una dependencia significa que una tarea necesita el resultado de otra. El cuestionario debe obtener una elección antes de comprobarla y comprobarla antes de actualizar la puntuación. Anota qué recibe y qué produce cada parte. Esto aclara cómo se transmite la información entre ellas.

Las partes deben ser lo más independientes posible. Si la visualización cambia de cuatro botones de respuesta a otro método de entrada, el cálculo de la puntuación debería seguir funcionando con el resultado comprobado. Unos límites claros permiten que distintas personas construyan partes separadas al mismo tiempo y facilitan los cambios posteriores.

La independencia no significa que las partes nunca intercambien información. Necesitan entradas y salidas acordadas. Una parte de puntuación que espera VERDADERO o FALSO no puede usar directamente el texto sin procesar de la parte que muestra preguntas sin un paso que compruebe la respuesta.

Busca huecos y solapamientos

Vuelve a leer el problema original y pregúntate si completar todas las partes terminaría el trabajo completo. El primer diagrama no muestra cuándo se detiene el cuestionario. Añade esa responsabilidad al control general del cuestionario. Pregúntate también si dos partes modifican ambas la puntuación, lo que podría contar una respuesta correcta dos veces.

Comprueba cada parte pequeña por separado y después el proceso combinado. Una visualización correcta de preguntas y un comprobador correcto de respuestas pueden fallar al trabajar juntos si uno envía la elección en un formato distinto del que espera el otro.

Puntos clave

  • La descomposición separa un problema completo en responsabilidades más pequeñas.
  • Detalla las partes principales antes de describir sus acciones más pequeñas.
  • Detente cuando una parte pueda resolverse directamente o mediante una solución existente.
  • Las dependencias determinan qué resultados deben estar disponibles antes de que empiece otra tarea.
  • Comprueba que las partes combinadas no dejen huecos ni realicen ninguna tarea dos veces.
  • Unas entradas y salidas claras facilitan la construcción y combinación de partes separadas.

2.2 Encuentra el patrón y hazlo reutilizable

El trabajo repetido suele ocultar un método reutilizable. El reconocimiento de patrones consiste en buscar semejanzas, repeticiones o tendencias dentro de un problema y entre problemas distintos. La pregunta útil es qué permanece igual y qué cambia.

Encuentra repeticiones dentro de una tarea

Para dibujar un cuadrado, un lápiz en movimiento puede avanzar 100 pasos y girar a la derecha 90 grados, cuatro veces. El par de acciones se repite. Un bucle expresa ese par una vez y establece el número de repeticiones:

REPEAT 4 TIMES
    Move forward 100 steps
    Turn right 90 degrees

Este patrón facilita ver la estructura. También facilita un cambio: modificar la distancia de avance en un solo lugar cambia todos los lados.

Sustituye los detalles que cambian por parámetros

La generalización hace que una solución funcione para una familia de casos. Un parámetro es una entrada con nombre que representa un detalle que puede cambiar. Para los polígonos regulares, el número de lados y la longitud del lado pueden ser parámetros.

Un lápiz que recorre el contorno de un polígono regular gira una vuelta completa. El giro en cada vértice es:

aˊngulo de giro=360∘/n

Aquí, n es el número de lados. Repite el par de avanzar y girar n veces, manteniendo la misma longitud de lado y el mismo giro cada vez.

Polígono regularLadosGiro en cada vértice
Triángulo3120°
Cuadrado490°
Pentágono572°
Hexágono660°

El giro es el cambio en la dirección del lápiz, no el ángulo interior del polígono. Para un triángulo, usar un giro de 60 grados no produciría el recorrido de tres lados deseado.

Reconoce el mismo método en problemas distintos

Encontrar el vuelo más barato, la ruta más corta y la nota más alta implica recordar el mejor candidato visto hasta el momento. Empieza con un candidato. Examina cada candidato siguiente y sustituye el recordado cuando el nuevo sea mejor. El sentido de la comparación cambia entre el menor y el mayor, pero el patrón general sigue siendo útil.

Los patrones también pueden organizar datos. Agrupar los gastos en alimentación, transporte y vivienda hace visibles las características comunes. Si las ventas de paraguas aumentan repetidamente cuando se pronostica lluvia, una tienda puede usar la tendencia para planificar sus existencias. Una tendencia es un indicio que debe examinarse; la razón por la que se cumple importa al decidir si continuará.

Comprueba el patrón propuesto

Los números 1, 2, 4 no determinan de forma única el siguiente número. Duplicar da 8. Aumentar las diferencias de uno en uno da 7, porque las diferencias hasta ahora son 1 y 2. Se necesitan más casos o una regla que explique la secuencia para decidir qué patrón encaja con el problema.

Busca diferencias relevantes antes de reutilizar una solución. Dividir una cuenta a partes iguales y dividirla según lo que pidió cada persona implican un total compartido. La división a partes iguales resuelve la primera tarea, pero la segunda necesita el pedido de cada persona. Reutiliza la estructura común solo después de identificar el detalle que cambia el resultado requerido.

Puntos clave

  • El reconocimiento de patrones encuentra estructuras reutilizables dentro de los problemas y entre ellos.
  • La generalización sustituye los detalles que cambian por parámetros con nombre.
  • Un polígono regular de n lados usa n avances iguales y giros de 360° / n.
  • Comprueba más casos y las diferencias relevantes antes de confiar en un patrón.

2.3 Conserva los detalles necesarios para el propósito

Un modelo puede ser más sencillo que la realidad y seguir siendo útil. La abstracción conserva la información necesaria para un propósito concreto y omite otros detalles. Su calidad depende de si puede responder a las preguntas que plantea la tarea.

Elige un modelo para la tarea

Un mapa del metro conserva las estaciones, su orden en cada línea y los lugares donde conectan las líneas. Esos detalles ayudan a planificar un viaje. Puede distorsionar las distancias y omitir el trazado de las calles porque su propósito principal es mostrar conexiones.

Ese mismo mapa es una mala herramienta para decidir qué distancia hay que caminar entre dos estaciones. El modelo omitió un detalle necesario para el nuevo propósito. Un detalle es relevante por el problema, no porque resulte interesante en general.

Considera dos modelos del mismo automóvil:

PropósitoDetalles que necesita el modelo
Juego de carrerasVelocidad, posición y dirección
Sistema de estacionamientoMatrícula, hora de llegada y plaza

El juego de carreras necesita actualizar el movimiento. El estacionamiento necesita identificar el automóvil y registrar su estancia. Ninguno de los modelos debe conservar todas las características físicas del automóvil.

Oculta pasos detrás de un nombre claro

La abstracción también permite usar lo que hace un componente sin repasar cómo funciona cada vez. Elegir un programa de la lavadora no requiere controlar directamente su motor.

En un algoritmo, un procedimiento es un grupo de pasos con nombre. Llamarlo por ese nombre ejecuta esos pasos. Un nombre como average(list) comunica una tarea y oculta las operaciones aritméticas repetidas. Un procedimiento que envía un resultado de vuelta a quien lo llama devuelve un valor. Quien lo llama puede guardar ese valor o usarlo en otro cálculo.

Un parámetro da a un procedimiento una entrada que puede cambiar. drawPolygon(sides, length) tiene dos parámetros. La llamada drawPolygon(6, 100) proporciona seis lados y una longitud de 100 pasos. Esto combina la abstracción, que oculta los pasos de dibujo, con la generalización, que admite distintas formas y tamaños.

Los límites de un procedimiento deben estar claros: ¿qué entradas acepta y qué resultado o acción produce? Para una media, una lista vacía necesita un tratamiento especial porque no hay un recuento por el que dividir. Ocultar los pasos no elimina la necesidad de definir entradas utilizables.

Construye capas de comprensión

Una aplicación de chat ofrece una forma de enviar un mensaje. Debajo, el sistema operativo ofrece servicios que la aplicación puede usar. Más abajo, el hardware ejecuta operaciones. Cada capa se apoya en el comportamiento de la siguiente sin exponer todos los detalles internos a su usuario. Un cambio interno puede quedar limitado a una capa si se mantiene el comportamiento prometido.

Las técnicas se apoyan mutuamente. La descomposición identifica partes. El reconocimiento de patrones encuentra partes con una estructura común. La abstracción da a esas partes nombres y límites claros para que puedan combinarse.

Un error habitual de abstracción es eliminar un dato que determina si un resultado funciona. Un planificador de rutas que ignore las calles de sentido único puede proponer un recorrido imposible en vehículo. Para comprobar un modelo, enumera las decisiones que debe permitir tomar y confirma que los datos conservados bastan para cada una.

Puntos clave

  • La abstracción conserva la información relevante para un propósito y oculta los detalles innecesarios.
  • Un mismo objeto puede necesitar modelos distintos para tareas distintas.
  • Un procedimiento da nombre a pasos reutilizables; los parámetros proporcionan entradas y un valor devuelto regresa a quien lo llama.
  • Un procedimiento con parámetros puede proporcionar tanto abstracción como generalización.
  • Las capas permiten que un componente se apoye en el comportamiento de otro sin exponer todos sus pasos internos.
3

Expresa algoritmos con variables, decisiones y bucles

Un algoritmo transforma un plan en instrucciones cuyo comportamiento puede seguirse con exactitud. Las variables guardan el estado cambiante, las condiciones eligen caminos y los bucles repiten el trabajo hasta que un recuento o una condición lo termina. Recorrer estas estructuras línea por línea muestra por qué importa el orden de las instrucciones. También compararás métodos según su corrección y número de pasos, y usarás pseudocódigo para expresar cálculos, decisiones y procesamiento repetido.

3.1 Escribe un método que termine y dé el resultado correcto

Un algoritmo es un conjunto finito y ordenado de instrucciones precisas para resolver un problema o completar una tarea. Para una entrada válida, produce la salida requerida tras un número finito de pasos. Una receta, unas instrucciones de montaje y la división larga usan esta idea.

Comprueba las propiedades del método

Un algoritmo útil tiene entradas y salidas definidas. Cada paso debe ser lo bastante preciso para tener un único significado y lo bastante efectivo para poder ejecutarse. Los pasos deben terminar y su resultado debe ser correcto para toda entrada válida.

«Encuentra el número mayor» nombra un objetivo, pero no especifica un método. «Examina cada número y conserva el mayor visto hasta el momento» proporciona un método que puede desarrollarse en instrucciones. También plantea una pregunta sobre la entrada: ¿qué debería ocurrir si la lista está vacía? Definir la entrada válida evita dejar el método incompleto.

Las instrucciones cotidianas pueden dejar huecos que las personas completan con su experiencia. «Pon la mermelada en el pan» omite abrir el frasco y extender una cantidad sobre una superficie. Al diseñar un método para su ejecución automática, indica las acciones que necesita el sistema ejecutor y colócalas en un orden utilizable.

Separa el método de su expresión

Un algoritmo es el método de solución. Un programa expresa un método en un lenguaje de programación para que una computadora pueda ejecutarlo. El mismo algoritmo puede aparecer en pseudocódigo, en un diagrama de flujo y en programas escritos en distintos lenguajes.

Tres estructuras de control organizan la ejecución:

EstructuraQué ocurre
SecuenciaLos pasos se ejecutan uno tras otro.
SelecciónUna condición elige un camino.
IteraciónSe repite un bloque de pasos.

Junto con las variables, estas estructuras bastan para expresar cualquier algoritmo. Esta es la idea de un resultado clásico publicado por Böhm y Jacopini en 1966. Un algoritmo puede combinarlas: recorrer repetidamente una lista, comprobar cada valor y actualizar un resultado almacenado mediante una secuencia.

Compara métodos correctos

Supón que una guía telefónica ordenada alfabéticamente tiene 1000 páginas. Comprobar las páginas de una en una puede requerir 1000 comprobaciones. Pasar dos páginas cada vez y comprobar solo una de cada dos requiere hasta unas 500 comprobaciones, más un paso atrás si se ha pasado el nombre.

Otro método abre la sección restante por la mitad y conserva la mitad que puede contener el nombre. Como máximo, 10 divisiones por la mitad reducen 1000 páginas posibles a una:

1000 → 500 → 250 → 125 → 63 → 32
     → 16 → 8 → 4 → 2 → 1

El orden permite descartar una mitad con seguridad. Sin ese orden, la mitad descartada podría contener el nombre. Este supuesto sobre la entrada forma parte del método.

Para 2000 páginas, comprobar cada página puede requerir el doble de comprobaciones, mientras que dividir por la mitad requiere solo una división más: 11. Comparar cómo aumenta el número de pasos explica más que cronometrar una ejecución en una máquina.

Comprueba la corrección antes de valorar la velocidad. Un método que examina solo el primer y el último número de una lista encuentra por casualidad 12 en [7, 3, 12]. No encuentra 12 en [7, 12, 3]. Un ejemplo exitoso no puede demostrar que el método funciona con todo el rango de entradas.

Puntos clave

  • Un algoritmo debe ser preciso, efectivo, finito y correcto, con entradas y salidas definidas.
  • Un algoritmo es un método; un programa expresa instrucciones en un lenguaje que puede ejecutarse.
  • La secuencia, la selección y la iteración organizan los pasos de un algoritmo.
  • Los supuestos de un algoritmo sobre su entrada deben cumplirse para que su razonamiento sea válido.
  • Compara métodos correctos según cómo aumenta su trabajo al crecer la entrada.

3.2 Almacena valores y actualízalos en orden

El pseudocódigo describe un algoritmo mediante instrucciones estructuradas y legibles. No está ligado a un lenguaje de programación. Permite trabajar en la lógica antes de ocuparse de la puntuación y otras reglas de escritura de un lenguaje.

Lee la notación

Las palabras clave se escriben en mayúsculas: INPUT, OUTPUT, IF, WHILE y FOR. Cada instrucción tiene su propia línea. La sangría muestra qué instrucciones pertenecen a un bloque. Un comentario empieza por // y explica el código sin añadir una acción.

La flecha ← significa asignación. Otros estilos de pseudocódigo usan = o SET … TO para la asignación. Aquí, = compara valores. Lee count ← 0 como «count recibe cero». Una variable es un espacio con nombre que guarda un valor que puede cambiar. Una constante tiene un nombre, pero conserva el mismo valor, como PASS_MARK ← 50.

Primero se evalúa el lado derecho de una asignación. Su resultado sustituye al valor anterior del lado izquierdo. Si count contiene 4, count ← count + 1 lee el 4 anterior, suma 1 y guarda 5. Es una instrucción para cambiar datos almacenados, no una ecuación que afirma que un número es igual a sí mismo más uno.

Relaciona los datos con las operaciones
TipoSignificado y ejemplo
EnteroNúmero entero, como 17
Real o de coma flotanteNúmero que puede tener una parte fraccionaria, como 21,5
Cadena de caracteresTexto, como «Lima»
BooleanoVERDADERO o FALSO
Lista o arregloValores ordenados, como [18, 21, 19, 22, 20]

Sumar los números 12 y 3 da 15. Unir las cadenas «12» y «3» da «123». Elige nombres descriptivos, como temperature y total, para que la función de un valor siga siendo visible.

Los operadores aritméticos incluyen +, −, * y /. DIV da el cociente entero, mientras que MOD da el resto. Así, 17 DIV 5 es 3 y 17 MOD 5 es 2. La prueba n MOD 2 = 0 identifica un entero par. Las comparaciones como =, ≠, <, >, ≤ y ≥ producen valores booleanos.

Lee, calcula y muestra
INPUT minutes
hours ← minutes DIV 60
rest ← minutes MOD 60
OUTPUT hours, "h", rest, "min"

Para 135 minutos, dos grupos completos de 60 usan 120 minutos y dejan 15. La salida es «2 h 15 min». INPUT recibe datos, las dos asignaciones los procesan y OUTPUT envía el resultado.

Conserva un valor antes de sustituirlo

Supón que a contiene 5 y b contiene 8. Las instrucciones a ← b y después b ← a dejan ambas variables con el valor 8. La primera instrucción sobrescribió la única copia almacenada de 5.

Usa una variable temporal:

temp ← a
a ← b
b ← temp

Después de la primera línea, temp contiene 5. La segunda línea coloca 8 en a. La tercera coloca el 5 guardado en b. La asignación copia un valor actual; no crea un vínculo permanente entre variables.

Da a cada variable un valor inicial antes de leerla. Una suma acumulada necesita total ← 0 antes de su primera suma. Colocar la asignación después de la suma deja el primer paso sin un valor inicial definido.

Puntos clave

  • El pseudocódigo usa una notación coherente para expresar la lógica sin elegir un lenguaje de programación.
  • La asignación evalúa el lado derecho y sustituye el valor almacenado en el lado izquierdo.
  • Los tipos de datos influyen en qué operaciones tienen sentido.
  • DIV da un cociente entero; MOD da un resto.
  • INPUT recibe datos y OUTPUT envía un resultado.
  • Una variable temporal conserva el valor anterior durante un intercambio.
  • Inicializa una variable antes de usar su valor.

3.3 Elige el camino correcto mediante condiciones

La selección elige qué instrucciones se ejecutan. Una condición es una expresión con el valor VERDADERO o FALSO. La comparación score ≥ 50 pregunta si la puntuación actual es al menos 50.

Usa IF y ELSE
IF score ≥ 50 THEN
    OUTPUT "Pass"
ELSE
    OUTPUT "Fail"
END IF

Se ejecuta exactamente una rama. Con 50, la condición es VERDADERA y la salida es «Pass». Con 49, es FALSA y la salida es «Fail». Un IF sin ELSE simplemente omite su bloque cuando su condición es FALSA.

La comparación debe corresponder a la regla. «Al menos 50» incluye 50, por lo que necesita ≥. Usar > rechazaría esa puntuación límite. Probar valores en el umbral es una forma directa de detectar este error.

Ordena varios casos

Una cadena ELSE IF comprueba las condiciones en orden y ejecuta la primera rama que se cumple:

IF temperature ≥ 30 THEN
    OUTPUT "Hot"
ELSE IF temperature ≥ 20 THEN
    OUTPUT "Warm"
ELSE IF temperature ≥ 10 THEN
    OUTPUT "Mild"
ELSE
    OUTPUT "Cold"
END IF

Para 24 °C, la primera prueba no se cumple y la segunda sí. La salida es «Warm». Para 10 °C, se ejecuta la tercera rama. Para −3 °C, se ejecuta el ELSE final.

Una temperatura de 35 °C satisface las tres comparaciones escritas, pero solo se ejecuta la primera rama que se cumple. Si temperature ≥ 10 apareciera primero, aceptaría 35 y produciría «Mild». Cuando uses umbrales «al menos» que se solapen, comprueba primero el más alto. Las ramas inferiores se encargan entonces de los valores que no cumplieron los umbrales superiores.

Combina condiciones
OperadorCuándo el resultado es VERDADERO
A AND BTanto A como B son VERDADERAS.
A OR BAl menos una de A y B es VERDADERA.
NOT AA es FALSA.

Para incluir temperaturas desde 10 °C hasta 20 °C, sin incluir el extremo superior, usa temperature ≥ 10 AND temperature < 20. Deben cumplirse ambos límites. Con 15, ambos son VERDADEROS. Con 20, el segundo es FALSO.

Usar OR para este intervalo da temperature ≥ 10 OR temperature < 20. Eso acepta todos los números: un valor inferior a 10 sigue cumpliendo la segunda parte, mientras que cualquier valor de al menos 10 cumple la primera. OR es útil cuando basta con cualquiera de las dos vías, no cuando deben cumplirse ambos límites.

Coloca una decisión dentro de otra

Un IF anidado coloca una decisión dentro de una rama de otra. Podrías comprobar primero si una contraseña es lo bastante larga y después, dentro de la rama en que se cumple esa condición, comprobar si contiene un dígito. Solo se llega a la decisión interior cuando la condición exterior lo permite.

Aplica sangría al bloque interior para que los caminos sean visibles. Si varias decisiones anidadas dificultan la lectura de una regla sencilla, considera combinar condiciones con AND o usar una cadena ELSE IF. Sigue un valor a través del orden real antes de suponer que se llega a todas las pruebas escritas.

Puntos clave

  • Una condición tiene un resultado booleano: VERDADERO o FALSO.
  • IF … ELSE elige uno de dos caminos; una cadena ELSE IF elige el primer caso que se cumple.
  • Los umbrales que incluyen o excluyen su valor límite necesitan el operador de comparación correspondiente.
  • AND exige ambas condiciones, OR exige al menos una y NOT invierte una condición.
  • Ordena los umbrales que se solapan para que una rama anterior no abarque un caso posterior.
  • Una decisión interior solo se ejecuta cuando la ejecución llega a la rama que la contiene.

3.4 Repite el trabajo manteniendo el estado correcto

La iteración repite un bloque de instrucciones. Un bucle permite expresar una sola vez el trabajo repetido, pero aún debes decidir cuándo empieza, cuándo termina y qué valores cambian en cada pasada.

Elige cómo controlar la repetición
BucleCómo se ejecuta
FOR i ← 1 TO 5Se ejecuta cinco veces, de 1 a 5 incluidos.
FOR EACH item IN listSe ejecuta una vez por cada elemento de la lista.
WHILE condition DOComprueba antes de cada pasada; repite mientras sea VERDADERA.
REPEAT … UNTIL conditionComprueba después de cada pasada; se detiene cuando es VERDADERA.

Un bucle FOR es adecuado para un número conocido de repeticiones. Un bucle controlado por condición es adecuado para una tarea cuyo punto de parada depende de valores o de nuevas entradas. El cuerpo de un WHILE puede ejecutarse cero veces. El cuerpo de un REPEAT … UNTIL con condición al final se ejecuta al menos una vez.

Sigue una cuenta atrás
n ← 3
WHILE n > 0 DO
    OUTPUT n
    n ← n − 1
END WHILE
OUTPUT "Go!"

En la primera prueba, n es 3. El bucle muestra 3 y cambia n a 2. Las siguientes pasadas muestran 2 y 1. Después de la actualización de 1 a 0, la prueba es FALSA. La ejecución sale del bucle y muestra «Go!».

Eliminar la actualización deja n en 3, por lo que el bucle nunca alcanza su estado de parada. Un bucle que deba terminar necesita una forma de cambiar la condición: una actualización interna o una nueva entrada pueden proporcionarla.

Acumula un total y cuenta elementos

Un acumulador construye un resultado a lo largo de varias pasadas. Un contador registra cuántas veces ocurre algo. Para encontrar la media de las temperaturas diarias 18, 21, 19, 22 y 20 °C:

total ← 0
count ← 0
FOR EACH t IN temperatures
    total ← total + t
    count ← count + 1
END FOR
OUTPUT total / count

Los totales sucesivos son 18, 39, 58, 80 y 100. El recuento termina en 5, por lo que la media es 20 °C. Inicializa ambas variables antes del bucle. Reiniciar total dentro borraría las sumas anteriores. Una lista vacía necesita una comprobación aparte antes de dividir, porque su recuento es cero.

Recuerda el mejor valor hasta el momento

Para una lista no vacía, inicializa largest con el primer elemento. Después examina cada valor y sustituye largest siempre que aparezca uno mayor:

largest ← first item of list
FOR EACH value IN list
    IF value > largest THEN
        largest ← value
    END IF
END FOR
OUTPUT largest

Para [7, 3, 12, 5], el mejor valor recordado permanece en 7, pasa a 12 y se mantiene en 12. Empezar en cero falla para una lista como [−4, −9, −2], cuyo valor mayor es −2. Cero nunca fue un candidato.

Comprueba la primera y la última pasada

Un error de desfase de una unidad añade o pierde una repetición. FOR i ← 0 TO 5 se ejecuta seis veces. En la cuenta atrás, n ≥ 0 también mostraría cero. Escribe el primer y el último valor de la variable de control para comprobar el recuento.

Los bucles anidados repiten un bucle dentro de otro. Para 3 filas y 4 columnas, el bloque interior se ejecuta cuatro veces por cada fila, lo que da 12 ejecuciones. El bucle interior vuelve a empezar en cada pasada exterior.

Puntos clave

  • Los bucles controlados por contador repiten un número conocido de veces; los controlados por condición dependen de una prueba.
  • WHILE comprueba antes del cuerpo, mientras que REPEAT … UNTIL en pseudocódigo comprueba después.
  • Inicializa los acumuladores y contadores antes del bucle y actualízalos dentro.
  • Una búsqueda del valor mayor puede empezar por el primer elemento de una lista no vacía.
  • Un bucle que termina necesita un camino hasta su estado de parada.
  • Comprueba los extremos para detectar errores de desfase de una unidad; un intervalo de 0 a 5, ambos incluidos, tiene seis valores.
  • Un bucle interior se ejecuta por completo en cada pasada de su bucle exterior.
4

Dibuja los caminos y comprueba los resultados

Un diagrama puede revelar los caminos de un algoritmo, y un seguimiento puede revelar los valores a lo largo de uno de esos caminos. Los diagramas de flujo y el pseudocódigo describen la misma lógica de formas distintas. Pasar de uno a otro ayuda a descubrir pruebas y actualizaciones mal situadas. Después, unos datos de prueba bien elegidos comprueban casos habituales, umbrales y entradas inusuales, mientras que la depuración usa un fallo reproducible para localizar el primer paso que necesita corregirse.

4.1 Lee un diagrama de flujo flecha a flecha

Un diagrama de flujo dibuja un algoritmo como figuras conectadas por flechas. Las figuras identifican tipos de pasos y las flechas muestran qué paso se ejecuta a continuación. Un diagrama corto hace visible un proceso para alguien que quizá no lea código.

Elige una figura para cada función

Los símbolos principales siguen la norma ISO 5807. Tienen funciones distintas:

SímboloFormaFunción
Inicio o finÓvalo o rectángulo redondeadoMarca Inicio o Fin.
ProcesoRectánguloRealiza una acción o cálculo.
Entrada/salidaParalelogramoLee o envía datos.
DecisiónRomboComprueba una condición o un valor y elige una salida.
Proceso predefinidoRectángulo con líneas verticales dobles en los ladosLlama a un procedimiento descrito por separado.
ConectorCírculo pequeño etiquetadoUne partes separadas del flujo.

Una línea de flujo tiene una flecha que muestra la dirección. La dirección habitual de lectura es de arriba abajo y de izquierda a derecha, pero la flecha determina el siguiente paso real. Una línea que vuelve a un punto anterior puede mostrar repetición.

Construye una secuencia sencilla

Para calcular el área de una habitación rectangular, usa estos cinco símbolos en orden:

  1. Inicio o fin: «Inicio».
  2. Entrada/salida: «Introducir largo, ancho».
  3. Proceso: area ← length * width.
  4. Entrada/salida: «Mostrar área».
  5. Inicio o fin: «Fin».

Conecta cada paso con el siguiente mediante una flecha. Con un largo de 4,5 m y un ancho de 3 m, el cálculo da 13,5 metros cuadrados. Leer la entrada no calcula el área; eso corresponde a su propio rectángulo de proceso. Mostrar el área corresponde al paralelogramo de salida.

Este diagrama no tiene decisiones ni recorridos repetidos. Es una secuencia pura y su forma aclara el orden.

Sigue una decisión usando los valores actuales

Un rombo plantea una pregunta o comprueba un valor. Para una pregunta de sí/no como score ≥ 50?, etiqueta las salidas «Sí» y «No». Evalúa la condición usando la puntuación actual y sigue exactamente una flecha correspondiente.

Una decisión puede tener más de dos salidas posibles cuando comprueba varios valores distintos. Etiqueta cada salida con el valor o caso que representa. El propósito de las etiquetas es que el siguiente paso no sea ambiguo.

Una acción como count ← count + 1 corresponde a un rectángulo de proceso. Una pregunta como count < 5? corresponde a un rombo de decisión. Mezclar estas funciones oculta si un valor se modifica o se comprueba.

Comprueba las conexiones

Un diagrama claro tiene un Inicio y al menos un Fin. Cada símbolo de proceso y de entrada/salida tiene una línea de flujo de salida. Cada decisión de sí/no tiene dos salidas etiquetadas. Sigue cada camino para comprobar que llega al siguiente paso previsto o a Fin.

Evita dejar una rama sin conectar después de su salida. Si ambas ramas deben continuar con el mismo paso, dibújalas uniéndose antes de él. Usa conectores etiquetados cuando las líneas largas o cruzadas dificulten seguir la página. Un símbolo de proceso predefinido permite mantener un procedimiento grande en un diagrama separado mientras el principal conserva su estructura general.

Puntos clave

  • Un diagrama de flujo usa figuras para los tipos de pasos y flechas para el orden de ejecución.
  • Los rectángulos realizan acciones, los paralelogramos manejan datos y los rombos eligen caminos.
  • Etiqueta las salidas de las decisiones y sigue la flecha correspondiente al valor actual.
  • Usa símbolos de Inicio y Fin y conecta todos los caminos previstos.
  • Un símbolo de proceso predefinido puede ocultar los detalles de un procedimiento separado.

4.2 Dibuja ramas y bucles sin cambiar su lógica

El pseudocódigo y los diagramas de flujo pueden expresar el mismo algoritmo. Convertir entre ellos significa conservar el orden de las acciones, las condiciones y cada recorrido del proceso. Un diagrama ordenado con una prueba en otra posición describe un algoritmo distinto.

Muestra una elección y vuelve a unir los caminos

Para una nota mínima para aprobar de 50, dibuja un rombo etiquetado score ≥ 50?. Su salida Sí lleva a un paralelogramo de salida etiquetado «Aprobado». Su salida No lleva a otro etiquetado «No aprobado». Une los caminos antes de Fin.

En pseudocódigo, estos caminos se convierten en las ramas IF y ELSE. El punto donde se unen corresponde a la primera instrucción después de END IF. El diagrama no debe llevar la salida Aprobado a través de la salida No aprobado; solo una de ellas corresponde a cada ejecución.

Coloca la prueba en el lugar correcto

Un bucle tiene un camino que vuelve a un paso anterior y una decisión que controla si continúa la repetición. Para un bucle WHILE, coloca la decisión antes del cuerpo. La salida FALSO evita el cuerpo, por lo que son posibles cero pasadas.

Para un REPEAT … UNTIL con condición al final, coloca la decisión después del cuerpo. Su salida FALSO vuelve al cuerpo y su salida VERDADERO sale del bucle. El cuerpo se ejecuta al menos una vez porque la ejecución llega a él antes de la primera prueba.

BuclePosición de la decisiónSalida de la repetición
WHILE conditionAntes del cuerpoLa condición es FALSA.
REPEAT … UNTIL conditionDespués del cuerpoLa condición es VERDADERA.
Recorre un inicio de sesión de tres intentos
attempts ← 0
REPEAT
    INPUT password
    attempts ← attempts + 1
UNTIL password = storedPassword OR attempts = 3
IF password = storedPassword THEN
    OUTPUT "Welcome"
ELSE
    OUTPUT "Account locked"
END IF

Empieza el diagrama con Inicio y un rectángulo de proceso para attempts ← 0. Después, dibuja el paralelogramo de entrada de la contraseña y el rectángulo de incremento. El rombo del bucle pregunta «¿Contraseña correcta O intentos = 3?». Su salida No vuelve a la entrada de la contraseña. Su salida Sí abandona el bucle.

La condición de salida da dos posibles razones para detenerse, por lo que no puede elegir por sí sola el mensaje final. Añade un segundo rombo que pregunte si la contraseña es correcta. Sí lleva a «Welcome»; No lleva a «Account locked». Si el tercer intento es correcto, el bucle se detiene y la rama de contraseña correcta sigue dando la bienvenida al usuario.

Convierte siguiendo los caminos

De pseudocódigo a diagrama, convierte cada asignación en un rectángulo y cada entrada o salida en un paralelogramo. Convierte las pruebas de las ramas y los bucles en rombos. Conecta el cuerpo de vuelta a la decisión que lo controla en la posición correcta.

De diagrama a pseudocódigo, examina adónde llevan los caminos de cada rombo. Los caminos que realizan acciones alternativas y vuelven a unirse sugieren selección. Un camino que vuelve a trabajo anterior sugiere iteración. Aplica sangría a cada cuerpo para reflejar sus límites.

Comprueba el destino de cada flecha de retorno. Volver a un punto posterior a la decisión de control omitiría la siguiente prueba. Volver a un punto anterior a una inicialización que debe hacerse una sola vez podría reiniciar un contador en cada pasada e impedir que el bucle termine.

Puntos clave

  • La conversión entre representaciones debe conservar las acciones, las condiciones y los caminos de ejecución.
  • Las ramas de selección vuelven a unirse después de sus acciones alternativas.
  • Los bucles con condición al inicio pueden omitir el cuerpo; los de condición al final lo ejecutan al menos una vez.
  • La salida de un bucle puede necesitar una decisión aparte para determinar por qué se detuvo.
  • Las flechas de retorno deben pasar por la prueba de control prevista y evitar repetir la preparación que se hace una sola vez.

4.3 Encuentra errores con seguimientos y pruebas bien elegidas

Un algoritmo puede parecer razonable y hacer algo incorrecto. El seguimiento recorre sus instrucciones con exactitud y registra lo que ocurre. Las pruebas lo ejecutan con entradas elegidas y comprueban los resultados. La depuración encuentra y corrige la causa de un fallo.

Haz visible el estado

Una tabla de seguimiento registra variables y salidas durante una prueba de escritorio. Usa los valores actuales, no los valores que creas que pretendía el autor. Por ejemplo:

total ← 0
FOR i ← 1 TO 4
    total ← total + i
END FOR
OUTPUT total
Momento de la ejecuciónitotalSalida
Después de la inicialización-0-
Después de la primera suma11-
Después de la segunda suma23-
Después de la tercera suma36-
Después de la cuarta suma410-
En OUTPUT41010

Esta tabla compacta muestra el estado después de cada suma. Para un error difícil, añade filas después de instrucciones individuales y una columna para los resultados de las condiciones. Una prueba de bucle FALSA también corresponde a un seguimiento detallado: explica por qué la ejecución sale del bucle.

Elige pruebas a partir de las reglas

Calcula el resultado esperado antes de ejecutar cada prueba. De lo contrario, es fácil aceptar la salida del programa simplemente porque apareció. Algunas pruebas comprueban una propiedad, como mantener la salida ordenada, en lugar de un resultado exacto.

Para puntuaciones válidas de 0 a 100 con una nota mínima para aprobar de 50:

TipoEntrada de ejemploQué comprueba
Normal73Una puntuación típica válida que aprueba.
Valores límite0, 49, 50, 100Los extremos y el umbral de decisión.
Justo fuera del rango−1, 101El rechazo más allá de los extremos válidos.
Tipo no válido«abc»El rechazo de texto donde se necesita una puntuación.

Las categorías de valores límite y no válidos pueden solaparse: −1 está cerca de un límite y también es no válido. La categoría explica por qué es útil la prueba. Una regla que use score > 50 supera las pruebas normales con 73 y 49, pero falla con exactamente 50.

Prueba también estructuras de entrada inusuales. Una lista vacía, un solo elemento, todos los valores iguales y valores negativos revelan supuestos distintos. Un algoritmo de la media debe tratar una lista vacía antes de dividir por su recuento. Un algoritmo del valor mayor inicializado en cero puede fallar con una lista de valores todos negativos.

Identifica el error que corriges

Un error de sintaxis incumple las reglas de escritura de un lenguaje, como un paréntesis de cierre que falta. Un error de ejecución ocurre durante la ejecución, como una división por cero. Un error lógico permite la ejecución, pero da un resultado incorrecto, como excluir con > el valor límite que permite aprobar.

Estas categorías te ayudan a elegir una comprobación. La comprobación de sintaxis detecta formas que incumplen las reglas del lenguaje. Un seguimiento puede revelar el primer estado incorrecto de un error lógico. Los datos de prueba pueden provocar un fallo de ejecución al que nunca llega una entrada típica.

Depura desde la primera discrepancia

Reproduce el fallo con una entrada concreta. Sigue o muestra los valores intermedios y encuentra el primer paso en que el estado real difiere del esperado. Corrige la causa y después vuelve a ejecutar la prueba fallida y las anteriores. Corregir una rama puede estropear otra.

Superar pruebas seleccionadas aporta evidencia sobre esas entradas. La corrección sigue exigiendo que el método funcione con toda entrada válida, así que combina las pruebas con el razonamiento sobre las instrucciones y sus supuestos.

Puntos clave

  • Un seguimiento registra lo que hacen realmente las instrucciones usando los valores actuales de las variables.
  • Elige los resultados esperados o las propiedades requeridas antes de ejecutar las pruebas.
  • Usa entradas normales, de valores límite, no válidas y casos límite de estructura.
  • Los errores de sintaxis incumplen las reglas del lenguaje, los de ejecución ocurren durante la ejecución y los lógicos producen un comportamiento incorrecto.
  • Localiza el primer estado incorrecto, corrige su causa y vuelve a ejecutar las pruebas anteriores.
  • Superar un conjunto de pruebas aporta evidencia sin demostrar la corrección para toda entrada válida.
5

Construye y coordina programas en Scratch

Los bloques dan una forma visible a las instrucciones para que puedas construir y ejecutar un programa mientras te concentras en su lógica. Scratch presenta ese modelo mediante objetos, eventos, variables, decisiones y bucles. Los proyectos cortos conectan la entrada con una salida visible, y los bloques personalizados convierten el trabajo repetido en procedimientos con nombre. Coordinar varios programas de bloques también muestra por qué el orden dentro de uno difiere de los tiempos entre varios.

5.1 Construye un programa con bloques de Scratch

En la programación por bloques, los bloques gráficos representan instrucciones y valores. Los arrastras a un espacio de trabajo y los encajas. Las formas eliminan gran parte del esfuerzo de recordar la sintaxis y te permiten concentrarte en la lógica del programa.

Conoce las partes de un proyecto

Scratch se creó en el MIT Media Lab. Otros entornos por bloques incluyen Snap!, desarrollado en la Universidad de California en Berkeley, Microsoft MakeCode y Blockly. Blockly es una biblioteca para construir interfaces de bloques; comenzó en Google y pasó a la Raspberry Pi Foundation en 2025.

En Scratch, el escenario es el área donde el proyecto se ejecuta de forma visible. Los objetos son personajes u objetos que actúan en él. Un objeto puede tener programas de bloques, disfraces y sonidos. Un programa de bloques es una pila de bloques; un disfraz es una imagen que el objeto puede mostrar.

El escenario mide 480 por 360 unidades de Scratch. Su centro es el punto de coordenadas (0, 0). Las coordenadas horizontales x van de −240 a 240 y las verticales y de −180 a 180. Los pasos de movimiento de Scratch son unidades del escenario, no metros.

Deja que te guíe la forma del bloque
Forma del bloqueFunciónEjemplo
De inicioInicia un programa de bloques en respuesta a un evento.«al hacer clic en la bandera verde»
ApilableRealiza una orden.«mover 10 pasos»
En CContiene bloques en un bucle o una rama.«repetir 10»
Reportero redondeadoProporciona un valor.El bloque de valor de una variable
Booleano de seis ladosProporciona VERDADERO o FALSO.«¿tocando puntero del ratón?»
De cierreTermina un programa de bloques.«detener todos»

Un bloque reportero de valor encaja en un espacio de entrada de otro bloque. Una orden encaja en una pila de acciones. Un bloque booleano encaja en un espacio de condición. La forma ayuda a distinguir entre proporcionar un valor y ejecutar una orden.

Encuentra bloques por categoría

Scratch 3 tiene nueve categorías principales identificadas por colores: Movimiento, Apariencia, Sonido, Eventos, Control, Sensores, Operadores, Variables y Mis bloques. Movimiento cambia la posición; Apariencia maneja el aspecto visible y el diálogo; Sensores recibe información; Operadores calcula o compara. La extensión Lápiz se añade por separado cuando un proyecto necesita dibujar líneas mientras se mueve un objeto.

Ejecuta una secuencia corta

Selecciona un objeto y coloca estos bloques bajo un bloque de inicio «al hacer clic en la bandera verde»:

  1. «ir a x: 0 y: 0»
  2. «decir ¡Hola! durante 2 segundos»
  3. «mover 100 pasos»

Haz clic en la bandera verde. El objeto va primero al centro, después muestra «¡Hola!» durante dos segundos y luego se mueve 100 pasos en su dirección actual. El bloque de diálogo temporizado hace visible la pausa. La pila se ejecuta de arriba abajo.

Una pila suelta puede ejecutarse al hacer clic directamente en ella en el espacio de trabajo, pero no se iniciará con la bandera verde a menos que tenga el bloque de inicio del evento correspondiente. Comprueba tanto el orden de la pila como su evento de inicio cuando el proyecto parezca no responder.

Los bloques que encajan correctamente siguen necesitando un plan correcto. Un movimiento puede ocurrir antes de un restablecimiento de posición previsto, o una pregunta puede formularse después de mostrar el resultado. Las formas ayudan a construir de manera válida; el seguimiento revela si esa construcción hace el trabajo previsto.

Puntos clave

  • Los bloques expresan instrucciones y valores con formas que guían su colocación.
  • El escenario muestra el proyecto; los objetos tienen sus propios programas de bloques, disfraces y sonidos.
  • Un programa de bloques se ejecuta desde su evento de inicio recorriendo la pila en orden.
  • El centro de Scratch es (0, 0), con un escenario de 480 por 360 unidades.
  • Usa las categorías para encontrar bloques y añade extensiones como Lápiz cuando sea necesario.
  • Una disposición de bloques que encajan puede seguir conteniendo un error lógico.

5.2 Haz que un programa por bloques responda y repita

Scratch usa las mismas ideas que el pseudocódigo: almacenar un valor, comprobar una condición y repetir pasos. Los bloques hacen visible la estructura, pero su posición sigue determinando cuándo ocurre cada acción.

Elige un bucle adecuado para la tarea

«repetir 10» ejecuta su cuerpo diez veces. «por siempre» sigue ejecutándose hasta que se detiene el programa y es adecuado para un juego que comprueba continuamente la entrada. «repetir hasta que <condición>» comprueba antes de cada pasada y se detiene cuando la condición es verdadera. Por tanto, puede ejecutarse cero veces, a diferencia del pseudocódigo REPEAT … UNTIL con condición al final.

Con la extensión Lápiz y el lápiz bajado, «repetir 4» con «mover 100 pasos» y «girar a la derecha 90 grados» dentro dibuja un cuadrado. Para un hexágono regular, usa seis repeticiones y un giro de 60 grados. Los cambios de dirección suman 360 grados alrededor de la figura.

Almacena un valor y elige una rama

Crea score en Variables. «dar a puntuación el valor 0» asigna su valor inicial. «sumar a puntuación 1» incrementa su valor actual. Coloca el reinicio antes del bucle de puntuación; dentro de él, borraría la puntuación anterior cada vez.

El bloque reportero redondeado score proporciona el valor actual a otros bloques. Marcar su casilla muestra un monitor en el escenario, lo que ayuda durante el seguimiento.

Un bloque «si … entonces … si no» ejecuta uno de sus dos cuerpos. Su espacio de condición de seis lados acepta un bloque booleano como «(puntuación) > (9)» o «¿tocando puntero del ratón?». Los operadores «y», «o» y «no» combinan condiciones con los mismos significados que en pseudocódigo.

Recibe una entrada, construye texto y muéstralo

El bloque «preguntar [¿Cómo te llamas?] y esperar» se detiene para recibir una entrada y la guarda en «respuesta». El bloque «unir [Hola, ] (respuesta)» construye texto. Coloca ese bloque reportero dentro de «decir … durante 2 segundos» para mostrar el saludo. Si la entrada es «Amara», la salida es «Hola, Amara».

Las tres funciones están separadas: preguntar recibe datos, unir procesa texto y decir lo muestra. Un bloque reportero puede calcular un valor útil sin mostrar nada por sí solo.

Construye un juego de adivinar

Usa este orden de bloques, con cada parte con sangría dentro del bloque que la contiene:

"when green flag clicked"
"set secret to (pick random 1 to 10)"
"ask [Guess a number from 1 to 10] and wait"
"repeat until <(answer) = (secret)>"
    "if <(answer) > (secret)> then"
        "say [Too high] for 2 seconds"
    "else"
        "say [Too low] for 2 seconds"
    "ask [Guess a number from 1 to 10] and wait"
"say [Correct!] for 2 seconds"

Un primer intento correcto omite el bucle. Para el secreto 6 y los intentos 3, 8 y 6, los mensajes son «Too low», «Too high» y después «Correct!». La nueva pregunta dentro del bucle proporciona un valor que puede hacer verdadera su condición.

La duración del mensaje importa. La pregunta de un objeto visible usa su bocadillo de diálogo, por lo que la siguiente pregunta sustituye inmediatamente a un bocadillo de decir sin duración. Un decir de dos segundos permite al estudiante leer primero el mensaje.

Lee el bucle como WHILE answer ≠ secret para comprobarlo en pseudocódigo. Omitir la pregunta repetida bloquea el juego con la antigua respuesta incorrecta; mover el mensaje final de éxito al interior del bucle lo coloca en el camino equivocado.

Puntos clave

  • «repetir hasta que» de Scratch comprueba antes de cada pasada y puede omitir su cuerpo.
  • Inicializa una puntuación antes de un bucle y actualízala dentro.
  • Un bloque reportero booleano proporciona la condición de una decisión.
  • Preguntar lee una entrada, unir construye texto y decir muestra texto.
  • Un bucle de adivinar necesita nuevos intentos para poder alcanzar su condición de parada.
  • Los bloques decir temporizados mantienen visible el mensaje antes de que una nueva pregunta sustituya el bocadillo.

5.3 Coordina programas de bloques y reutiliza un bloque personalizado

Un proyecto de Scratch suele tener varios programas de bloques esperando distintos eventos. La programación dirigida por eventos inicia un programa de bloques cuando ocurre un evento. Un bloque personalizado permite después que un programa de bloques llame a una parte de trabajo reutilizable con nombre.

Inicia el programa de bloques correcto

Los bloques de inicio incluyen «al hacer clic en la bandera verde», «al hacer clic en este objeto», «al presionar tecla espacio» y «al recibir [mensaje]». Cada uno describe qué inicia la pila que tiene conectada.

Varios programas de bloques pueden responder al mismo evento. Dos objetos pueden iniciarse al hacer clic en la bandera verde y después ejecutarse a la vez. La posición de sus pilas en el espacio de trabajo no establece un orden de ejecución entre ellas.

Dentro de un programa de bloques, las acciones mantienen su orden de arriba abajo. Entre programas de bloques, los tiempos pueden importar. Si dos programas de bloques mueven el mismo objeto en direcciones opuestas, su resultado combinado depende de cuándo se ejecutan sus acciones. Asigna responsabilidades claras a los programas de bloques y coordina el trabajo cuando una tarea necesite el resultado de otra.

Envía un mensaje entre programas de bloques

«enviar [fin del juego]» envía un mensaje a todos los objetos y al escenario. Los programas de bloques «al recibir [fin del juego]» correspondientes se inician en respuesta. El nombre del mensaje debe coincidir; identifica el evento que manejan los receptores.

«enviar y esperar» también detiene al emisor hasta que terminan los programas de bloques receptores. Úsalo cuando la siguiente acción dependa de que hayan terminado. Por ejemplo, un controlador puede enviar un mensaje de preparación y esperar mientras los objetos se mueven a sus posiciones iniciales, y después comenzar el juego.

Esperar no ordena a los receptores entre sí. Si dos receptores de preparación sobrescriben el mismo valor, siguen necesitando un plan que evite responsabilidades en conflicto. Un receptor que se ejecuta para siempre también impide que continúe el emisor que espera.

Da un nombre y una entrada al trabajo repetido

En Mis bloques, crea un bloque personalizado con una entrada llamada size. Su definición puede describirse así:

"define square (size)"
    "repeat 4"
        "move (size) steps"
        "turn right 90 degrees"

Con el lápiz bajado, llamar a «cuadrado (100)» dibuja lados de 100 pasos. Llamar a «cuadrado (60)» usa las mismas instrucciones con lados más cortos. El bloque personalizado proporciona abstracción al ocultar los pasos detrás de un nombre y generalización al permitir que quien lo llama proporcione el tamaño.

La llamada ejecuta la definición; no copia en el programa de bloques una segunda versión que deba mantenerse manualmente. Cambiar la definición cambia el trabajo realizado por las llamadas posteriores. Esto facilita mantener un método repetido.

Traslada las ideas al texto
Idea de ScratchIdea de pseudocódigo o código textual
«repetir 4»Bucle controlado por contador
«si … entonces … si no»Selección
«dar a puntuación el valor 0»Asignación
Bloque personalizadoProcedimiento
Bloque de inicio de evento y programa de bloques conectadoManejador de eventos

En un lenguaje textual, escribes las instrucciones y respetas sus reglas de puntuación y espaciado. El razonamiento sobre el estado, las condiciones y la repetición sigue siendo válido.

Los bloques eliminan muchos errores de sintaxis, pero una condición incorrecta puede seguir eligiendo el camino equivocado. Los seguimientos y las pruebas siguen siendo útiles. Los proyectos grandes por bloques también pueden resultar difíciles de recorrer y comparar porque sus programas de bloques ocupan mucho espacio en pantalla; el texto es más fácil de buscar y gestionar en proyectos grandes de software.

Puntos clave

  • Un evento inicia los programas de bloques cuyos bloques de inicio responden a él.
  • Los programas de bloques pueden ejecutarse de forma concurrente, por lo que su posición en el espacio de trabajo no fija su orden.
  • Enviar inicia los receptores correspondientes; enviar y esperar también espera a que terminen.
  • Los bloques personalizados ocultan pasos reutilizables y pueden recibir parámetros.
  • La misma lógica de asignación, selección, iteración y procedimientos se aplica al código textual.

Ejemplos de Pensamiento computacional

5 Lecciones Interactivas

1

De una tarea a una solución comprobable

10 pasos
Identifica una computación, define su resultado y usa las cuatro técnicas de pensamiento para planificar una solución.
  1. 1
    IntroducciónEmpieza por el resultado

    Un problema claro es más fácil de resolver que una petición vaga. Supón que un grupo de lectura quiere mostrar los nombres de sus miembros en orden alfabético. Antes de elegir software, identifica qué información está disponible y qué debe contener el resultado final.

    Seguirás esa petición desde el enunciado del problema hasta un plan, usando entrada, proceso, salida y las cuatro técnicas del pensamiento computacional.

  2. 2
    ExplicaciónIdentifica la entrada y la salida

    La entrada es la lista de nombres de los miembros. La salida requerida es la misma lista en orden alfabético. El proceso es el método que reorganiza los nombres.

    Estas funciones son distintas. Una lista en la que falta un miembro no cumple la tarea, aunque los nombres restantes estén ordenados. Especificar la salida te da una forma de reconocer ese fallo antes de decidir cómo funciona el método.

  3. 3
    ConexiónSitúa la tarea dentro de las ciencias de la computación

    Las ciencias de la computación estudian la información y los procesos que la manejan. Esta tarea plantea preguntas sobre cómo representar nombres, diseñar un método y comprobar que el resultado sea correcto.

    La programación expresaría instrucciones en un lenguaje ejecutable. Las preguntas más generales vienen primero: ¿qué salida se requiere, qué supuestos necesita el método y cuánto trabajo generará una lista más grande?

  4. 4
    DesafíoComprueba una salida propuesta

    Los nombres de entrada son «Noor», «Ava» y «Luis». Un sistema muestra «Ava», «Noor». ¿Qué requisito ha incumplido, incluso antes de hablar de su velocidad?

    ---reveal---

    No ha conservado todos los nombres de entrada: falta Luis. El orden alfabético por sí solo no es todo el requisito de salida. El resultado debe contener los nombres originales y colocarlos en el orden requerido.

  5. 5
    ExplicaciónElige herramientas para pensar

    Cuatro técnicas ayudan a transformar la petición en una solución. La descomposición separa recoger los nombres, ordenarlos y mostrar el resultado. El reconocimiento de patrones encuentra trabajo repetido entre los nombres. La abstracción conserva la información que necesita la tarea. El diseño de algoritmos especifica las instrucciones.

    Puedes volver a cualquier técnica cuando una comprobación revele un problema. Sus nombres describen tipos de pensamiento, no una secuencia fija de ejecución de cuatro pasos.

  6. 6
    EjemploHaz que los requisitos sean utilizables

    Anota las entradas, las salidas, las restricciones y los criterios de éxito. Para el grupo de lectura, la entrada es su lista de miembros y la salida es una presentación ordenada. Conservar todos los nombres es un requisito; comprobar el recuento y quién aparece ayuda a juzgar el resultado.

    Después elabora un plan, exprésalo y pruébalo. Estas acciones siguen las etapas de Pólya: comprender, planificar, ejecutar y revisar. Una prueba puede revelar algo que el primer plan pasó por alto.

  7. 7
    AnalogíaUsa el mismo pensamiento para las comidas

    Planificar comidas usa el mismo enfoque. Separa la elección de recetas de la elaboración de la lista de compras. Detecta ingredientes compartidos, conserva las cantidades relevantes y después ordena las acciones: combinar necesidades, comprobar los alimentos disponibles y comprar.

    La representación «arroz, 1 kg» conserva una cantidad útil sin mantener una marca irrelevante. El propósito decide qué detalles importan; cocinar para más personas cambia las cantidades que necesita el plan.

  8. 8
    DesafíoElige la primera acción útil

    Una persona organizadora dice: «Mejora el horario del evento». Un desarrollador empieza a diseñar una presentación colorida. ¿Qué debería aclarar el equipo antes de esa decisión de implementación?

    ---reveal---

    Aclara la información disponible, el resultado requerido y las restricciones. Por ejemplo, pregunta qué significa «mejorar» y cómo se comprobará el éxito. Una presentación cuidada puede ejecutar un plan que nunca abordó el problema del horario.

  9. 9
    DesafíoRelaciona el plan con la comprobación

    Una herramienta combina listas de ingredientes, pero cuenta las mismas existencias de la despensa una vez por cada receta que las usa. La cantidad final que hay que comprar es demasiado pequeña. ¿Qué parte del método ordenado necesita investigarse y por qué?

    ---reveal---

    Investiga cómo se combinan las necesidades compartidas y se restan las existencias. Lo que hay en la despensa debe descontarse de la necesidad combinada. La salida fallida apunta a los pasos de procesamiento, aunque los datos de los ingredientes se hayan introducido correctamente.

  10. 10
    RepasoPasa al siguiente paso con un problema claro

    Un planteamiento inicial útil identifica sus entradas, salidas requeridas, restricciones y comprobaciones. Después se puede dividir, simplificar, expresar y revisar la solución.

    Para tu próxima tarea, escribe un criterio de éxito concreto antes de elegir un método. Debe permitir que otra persona juzgue el resultado sin necesitar saber qué software o lenguaje lo produjo.

2

Construye un modelo pequeño de una tarea más grande

13 pasos
Divide un cuestionario en responsabilidades, reutiliza métodos comunes y elige los detalles que necesita cada parte.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónHaz manejable un cuestionario
  2. 2
    ExplicaciónEmpieza por las responsabilidades
  3. 3
    EjemploDetalla una rama
  4. 4
    ConsejoAnota los intercambios de información
  5. 5
    DesafíoEncuentra un hueco en el plan
  6. 6
    ExplicaciónBusca el mismo trabajo
  7. 7
    EjemploGeneraliza un método de dibujo
  8. 8
    DesafíoComprueba si está justificado reutilizar
  9. 9
    AnalogíaTen presente el propósito del mapa
  10. 10
    EjemploDa nombre a una tarea y oculta sus pasos
  11. 11
    DesafíoSelecciona datos para el propósito
  12. 12
    DesafíoCombina las tres técnicas
  13. 13
    RepasoExamina los límites que elegiste
3

Sigue un algoritmo completo desde la entrada hasta la salida

20 pasos
Construye un pequeño método de procesamiento de listas mientras practicas la asignación, la selección, los bucles y la terminación.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónSigue lo que hacen realmente las instrucciones
  2. 2
    ExplicaciónCompleta el método
  3. 3
    EjemploCompara el trabajo con páginas ordenadas
  4. 4
    DesafíoComprueba el supuesto del método
  5. 5
    ExplicaciónLee la asignación como una sustitución
  6. 6
    EjemploConserva el valor anterior en un intercambio
  7. 7
    DesafíoDivide una duración en grupos y resto
  8. 8
    ExplicaciónElige un camino
  9. 9
    EjemploExige ambos límites
  10. 10
    DesafíoOrdena las pruebas que se solapan
  11. 11
    ExplicaciónDecide cuándo comprueba el bucle
  12. 12
    EjemploPrepara el cálculo de una media acumulada
  13. 13
    EjemploRealiza las dos primeras pasadas
  14. 14
    EjemploTermina el cálculo de la media
  15. 15
    ConsejoComprueba el avance y los extremos
  16. 16
    EjemploInicializa el mejor valor con un candidato
  17. 17
    DesafíoSigue la ejecución antes de la siguiente prueba
  18. 18
    ConexiónRepite un bucle por cada fila
  19. 19
    DesafíoCombina selección y acumulación
  20. 20
    RepasoUsa un seguimiento para justificar el resultado
4

Sigue un diagrama de flujo y corrige un error de valor límite

15 pasos
Convierte un proceso corto, registra sus valores y elige pruebas que distingan entre un comportamiento correcto y uno incorrecto.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónObserva tanto el camino como los valores
  2. 2
    ExplicaciónRelaciona figuras con acciones
  3. 3
    EjemploDibuja la secuencia del área
  4. 4
    DesafíoElige el símbolo que falta
  5. 5
    ExplicaciónConvierte una bifurcación en IF
  6. 6
    EjemploColoca primero la decisión de WHILE
  7. 7
    EjemploColoca una prueba de inicio de sesión después de la entrada
  8. 8
    DesafíoSigue un último intento correcto
  9. 9
    ExplicaciónRegistra el estado actual
  10. 10
    EjemploEscribe los resultados esperados antes de ejecutar
  11. 11
    ConsejoElige distintos tipos de entradas de prueba
  12. 12
    DesafíoEncuentra la primera actualización incorrecta
  13. 13
    ExplicaciónCorrige la causa y vuelve a comprobar
  14. 14
    DesafíoUsa conjuntamente un seguimiento y una prueba nueva
  15. 15
    RepasoHaz que cada comprobación responda a una pregunta
5

Construye un programa interactivo en Scratch

17 pasos
Usa eventos, estado, entradas, mensajes de respuesta, bucles y bloques personalizados mientras mantienes coordinados los programas de bloques.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónConecta un plan con un comportamiento visible
  2. 2
    ExplicaciónElige el objeto y el evento de inicio
  3. 3
    EjemploEjecuta una pila corta en orden
  4. 4
    DesafíoDistingue un valor de una acción
  5. 5
    ExplicaciónInicializa antes del trabajo repetido
  6. 6
    EjemploRecibe una entrada y produce una salida
  7. 7
    EjemploElige el secreto y pregunta una vez
  8. 8
    EjemploDa mensajes que se puedan leer
  9. 9
    EjemploSigue tres intentos
  10. 10
    DesafíoCompara las dos formas de repetir hasta que
  11. 11
    ExplicaciónCoordina un programa de bloques dependiente
  12. 12
    DesafíoComprueba qué exige terminar
  13. 13
    EjemploCrea un único procedimiento de dibujo
  14. 14
    ConexiónTraslada la estructura al texto
  15. 15
    ConsejoAsigna un responsable claro al estado compartido
  16. 16
    DesafíoCombina preparación, repetición y reutilización
  17. 17
    RepasoLee el comportamiento como un algoritmo

Ejercicios de Pensamiento computacional

50 Preguntas de Práctica en 5 sets

Set 1: Define un problema y construye un plan10 Preguntas de Práctica

Pregunta 1 de 10

Un sistema recibe una lista de masas medidas, calcula su media y muestra un valor en kilogramos. ¿Cuál es su salida?
  1. La lista de entrada de masas.
  2. La masa media mostrada.
  3. Los pasos para calcular la media.
  4. El número de pasos usados.
Mostrar respuestaOcultar respuesta
Respuesta: B
La salida es el resultado que envía el proceso: la masa media en kilogramos. Las mediciones son la entrada a partir de la que se calcula ese resultado. Confundirlas invierte el sentido de la computación; los pasos para calcular una media describen el propio proceso.

Pregunta 2 de 10

Una persona organizadora pide un programa que ordene alfabéticamente los nombres de los talleres. ¿Qué requisito permitiría comprobar su resultado?
  1. El programa muestra una lista con los nombres más cortos cerca del principio.
  2. El programa usa un bucle para examinar cada nombre de taller enviado.
  3. La salida contiene los diez nombres más solicitados por los visitantes.
  4. La salida contiene todos los nombres originales en orden alfabético.
Mostrar respuestaOcultar respuesta
Respuesta: D
Un requisito comprobable especifica la salida requerida: todos los nombres originales, ordenados alfabéticamente. Exigir un bucle elige parte de un método sin establecer si el resultado es correcto. Omitir nombres incumpliría la tarea, aunque los restantes estuvieran ordenados.

Pregunta 3 de 10

Antes de diseñar un programa de reservas de salas, un equipo enumera la información disponible, el resultado requerido y las reglas contra las reservas duplicadas. ¿Qué etapa de resolución de problemas es?
  1. Comprender el problema.
  2. Ejecutar el algoritmo.
  3. Depurar la implementación.
  4. Comparar velocidades de ejecución.
Mostrar respuestaOcultar respuesta
Respuesta: A
El equipo está definiendo entradas, salidas y restricciones, lo que corresponde a comprender el problema. Todavía no ha elegido instrucciones que puedan ejecutarse. Depurar exigiría un comportamiento que investigar; enumerar las reglas de reserva establece cuál debe ser el comportamiento correcto.

Pregunta 4 de 10

Un sistema de paquetería se divide en leer solicitudes, elegir rutas e imprimir etiquetas de ruta. Las etiquetas deben mostrar la ruta elegida. ¿Qué dependencia debe conservar su plan?
  1. Elegir una ruta debe preceder a imprimir su etiqueta.
  2. Imprimir una etiqueta debe preceder a leer su solicitud.
  3. Leer solicitudes debe esperar a que se impriman todas las etiquetas.
  4. Elegir rutas debe esperar a que se impriman las etiquetas.
Mostrar respuestaOcultar respuesta
Respuesta: A
La impresión necesita la ruta elegida como entrada, por lo que la selección de ruta debe ocurrir primero para ese paquete. Invertir esas tareas dejaría el paso de la etiqueta sin su valor requerido. Dividir el sistema en partes separadas solo ayuda cuando el plan también conserva sus dependencias.

Pregunta 5 de 10

Una persona que diseña sigue dividiendo una tarea en partes más pequeñas. ¿Cuándo es razonable dejar de detallar una parte?
  1. Cuando todas las ramas principales se han detallado hasta la misma profundidad.
  2. Cuando la parte tiene nombre, pero su método sigue siendo desconocido.
  3. Cuando su solución está clara o una herramienta existente se encarga de ella.
  4. Cuando sus entradas están enumeradas, pero su salida sigue sin definirse.
Mostrar respuestaOcultar respuesta
Respuesta: C
Se puede dejar de detallar cuando una parte es directamente resoluble o ya cuenta con una solución conocida. Tener el mismo número de ramas no mejora una descomposición. El límite útil lo determinan el trabajo y los métodos disponibles, por lo que distintas ramas pueden necesitar distintas profundidades.

Pregunta 6 de 10

Un método de dibujo repite ocho avances iguales y giros iguales a la derecha para formar un octágono regular. ¿Qué giro se necesita después de cada avance?
  1. 135 grados.
  2. 45 grados.
  3. 60 grados.
  4. 90 grados.
Mostrar respuestaOcultar respuesta
Respuesta: B
Los cambios de dirección deben sumar una vuelta completa, por lo que cada uno de los ocho giros es de 360∘/8=45∘. Usar 135 grados confunde el ángulo interior del octágono con el cambio de dirección. El giro repetido se mide entre la dirección anterior y la nueva dirección de avance.

Pregunta 7 de 10

Un modelo de reparto conserva conexiones entre vías y longitudes de calles, pero elimina las restricciones de sentido único. A veces propone circular en sentido prohibido. ¿Qué debería cambiarse?
  1. Eliminar las longitudes de calles del cálculo de rutas.
  2. Conservar solo los nombres de las calles inicial y final.
  3. Dividir las calles en tramos de igual longitud.
  4. Conservar las restricciones de sentido único en el modelo.
Mostrar respuestaOcultar respuesta
Respuesta: D
Un modelo de conducción necesita los sentidos de circulación permitidos porque afectan a qué rutas se pueden usar. La abstracción debe eliminar detalles irrelevantes para el propósito, no una regla que cambia la respuesta. Añadir detalle geométrico no recuperaría la información sobre permisos que falta.

Pregunta 8 de 10

Tres programas buscan el paquete más ligero, la grabación más corta y la temperatura más baja en listas no vacías. ¿Qué método reutilizable sirve para los tres?
  1. Recordar cero y sustituirlo cada vez que aparezca un valor menor.
  2. Comparar solo el primer y el último valor y devolver el menor.
  3. Recordar el primer valor y sustituirlo cada vez que aparezca uno menor.
  4. Devolver el valor a medio camino entre el primero y el último de la lista.
Mostrar respuestaOcultar respuesta
Respuesta: C
Las tres tareas buscan un mínimo, por lo que el método del mejor hasta el momento se aplica a todas. Empezar con el primer valor hace que el resultado almacenado sea un candidato real; empezar con cero falla cuando todos los valores son positivos. Examinar todos los valores restantes también permite detectar un mínimo en medio.

Pregunta 9 de 10

Unas instrucciones dicen «repite la comprobación», pero no dan una regla de parada ni un recuento finito. ¿Qué propiedad del algoritmo no queda establecida?
  1. Que el método termine.
  2. Que el método almacene datos.
  3. Que el método use selección.
  4. Que el método tenga una entrada.
Mostrar respuestaOcultar respuesta
Respuesta: A
Un algoritmo debe terminar tras un número finito de pasos para sus entradas válidas. La instrucción no permite saber cuándo termina la repetición. La repetición está permitida y un bucle puede ser finito; la ausencia de una regla de parada es lo que impide justificar aquí la terminación.

Pregunta 10 de 10

¿Qué valores quedan después de este pseudocódigo?

a ← 6
b ← 11
a ← b
b ← a
  1. a = 11, b = 6
  2. a = 11, b = 11
  3. a = 6, b = 11
  4. a = 6, b = 6
Mostrar respuestaOcultar respuesta
Respuesta: B
La tercera línea copia 11 en a, sustituyendo su 6 anterior. La última línea lee ese valor actual de a, por lo que también copia 11 en b. Un intercambio necesitaría guardar el 6 original en una variable temporal antes de sobrescribir a; la asignación no conserva los valores anteriores por sí sola.
Set 2: Sigue variables, decisiones y bucles10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

¿Cuántas veces se ejecuta la salida?

FOR i ← 2 TO 6
    OUTPUT i
END FOR
  1. 4 veces.
  2. 6 veces.
  3. 5 veces.
  4. 2 veces.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

¿Qué secuencia se muestra?

n ← 5
WHILE n > 0 DO
    n ← n − 2
    OUTPUT n
END WHILE
  1. 3, 1, −1.
  2. 5, 3, 1.
  3. 3, 1.
  4. 5, 3, 1, −1.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

¿Cuál es la salida?

total ← 0
FOR EACH n IN [2, 5, 6, 9]
    IF n MOD 2 = 0 THEN
        total ← total + n
    END IF
END FOR
OUTPUT total
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

¿Cuál es la salida para load = 82?

IF load ≥ 80 THEN
    OUTPUT "High"
ELSE IF load ≥ 50 THEN
    OUTPUT "Medium"
ELSE
    OUTPUT "Low"
END IF
  1. Solo «Medium».
  2. Solo «High».
  3. «High» y después «Medium».
  4. Solo «Low».
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

¿Qué muestra este código?

value ← 7
value ← value + 4
OUTPUT value
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Una duración es de 248 minutos. ¿Qué valores dan 248 DIV 60 y 248 MOD 60, en ese orden?
  1. 4 y 8.
  2. 4 y 48.
  3. 8 y 4.
  4. 3 y 68.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Una medición se acepta cuando es al menos 12. ¿Qué comparación debería comprobar su aceptación?
  1. measurement > 12
  2. measurement ≤ 12
  3. measurement = 12
  4. measurement ≥ 12
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un valor de sensor debe estar desde 4 incluido hasta 9 excluido. ¿Qué condición lo comprueba?
  1. value ≥ 4 OR value < 9
  2. value ≥ 4 AND value < 9
  3. value > 4 AND value ≤ 9
  4. value ≤ 4 OR value ≥ 9
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un bucle exterior visita las filas de 1 a 3. Por cada fila, un bucle interior visita las columnas de 1 a 5 y suma 2 a un total inicializado una sola vez en cero. ¿Qué total queda?
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Una lista no vacía puede contener cualquier entero. Un método del valor mayor inicializa largest ← 0 y solo lo sustituye si aparece un elemento mayor. ¿Qué único cambio hace válido su valor inicial para todas esas listas?
  1. Sustituir la comparación > por ≥.
  2. Inicializar largest con el último elemento más 1.
  3. Reiniciar largest en cero antes de cada comparación.
  4. Inicializar largest con el primer elemento de la lista.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 3: Lee diagramas de flujo e investiga fallos10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

¿Qué símbolo de diagrama de flujo debe contener distance ← speed * time?
  1. Un paralelogramo de entrada/salida.
  2. Un rombo de decisión.
  3. Un símbolo de Inicio/Fin.
  4. Un rectángulo de proceso.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Un diagrama de flujo recibe un recuento entero y llega a un rombo etiquetado count = 0?. Para un recuento de 3, ¿adónde debe ir la ejecución a continuación?
  1. Por la salida etiquetada Sí.
  2. Por la salida etiquetada No.
  3. Por ambas salidas en secuencia.
  4. De vuelta a Inicio antes de elegir.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un diagrama de flujo comprueba items > 0? antes de un cuerpo repetido. Sí entra en el cuerpo y vuelve a la prueba; No va a Fin. ¿Qué estructura de pseudocódigo le corresponde?
  1. WHILE items > 0 DO … END WHILE
  2. REPEAT … UNTIL items > 0
  3. IF items > 0 THEN … END IF
  4. FOR items ← 0 TO 1 … END FOR
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un programa acepta edades enteras de 18 a 65 incluidos. ¿Qué entrada comprueba directamente si su extremo superior se excluye incorrectamente?
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un programa de la media divide el total por el contador. Funciona con varias listas no vacías, pero falla con una lista vacía. ¿Qué debe tratarse antes de la división?
  1. El caso en que el contador es cero.
  2. El caso de un total negativo.
  3. Que el primer valor sea menor que el último.
  4. Que haya valores repetidos en la lista.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

¿Cuáles son los totales almacenados sucesivos después de cada ejecución del cuerpo?

total ← 1
FOR i ← 1 TO 3
    total ← total * 2
END FOR
  1. 1, 2, 4.
  2. 2, 3, 4.
  3. 2, 4, 8.
  4. 2, 4, 6.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Un flujo de inicio de sesión lee un código, aumenta los intentos y vuelve atrás si el código es incorrecto Y los intentos < 4. En el cuarto intento el código es correcto. Después del bucle, ¿qué prueba debe elegir entre «Aceptado» y «Límite alcanzado»?
  1. Si los intentos son menos de cuatro.
  2. Si el código introducido es correcto.
  3. Si el cuerpo del bucle se ejecutó al menos una vez.
  4. Si los intentos son iguales a su valor inicial.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un programa debe aceptar temperaturas enteras de −8 a 12 incluidos. Actualmente comprueba temperature > −8 AND temperature ≤ 12. Las pruebas con −9, 0, 12 y 13 se superan. ¿Qué prueba nueva revela el defecto y cuál debe ser su resultado esperado?
  1. −7, aceptado.
  2. 11, aceptado.
  3. −9, rechazado.
  4. −8, aceptado.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un diagrama de flujo inicializa total ← 0, recibe un valor, lo suma al total y comprueba si se necesita otro valor. Su flecha Sí vuelve a la inicialización. El objetivo es una suma acumulada. ¿Adónde debe volver esa flecha Sí?
  1. Al paso de entrada después de la inicialización.
  2. Al paso de inicialización antes de la entrada.
  3. Al paso de salida después de la decisión.
  4. Al paso de suma sin leer una entrada.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un programa se ejecuta sin fallar, pero rechaza una puntuación que cumple el requisito porque usa > donde la regla necesita ≥. ¿Qué tipo de error es?
  1. Un error de sintaxis.
  2. Un error lógico.
  3. Un error de ejecución.
  4. Un error al escribir la entrada.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 4: Construye y coordina programas de bloques en Scratch10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

Una pila de Scratch se ejecuta al hacer clic en ella en el espacio de trabajo, pero no hace nada al pulsar la bandera verde. ¿Qué debe iniciar la pila para ese evento?
  1. Un bloque de inicio «al hacer clic en la bandera verde».
  2. Un bloque de inicio «al hacer clic en este objeto».
  3. Un bloque de cierre «detener todos» al final.
  4. Un bloque reportero redondeado al principio.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

¿Qué tipo de bloque de Scratch proporciona VERDADERO o FALSO al espacio de condición de un si?
  1. Un bloque reportero de texto redondeado.
  2. Un bloque de orden apilable.
  3. Un bloque booleano de seis lados.
  4. Un bloque de inicio de evento.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

En Scratch, score se establece en 0 antes de «repetir 6». Dentro del cuerpo, «dar a puntuación el valor 0» va seguido de «sumar a puntuación 2». ¿Qué puntuación queda?
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

En Scratch, done ya es VERDADERO antes de un bloque «repetir hasta que ». ¿Cuántas veces se ejecuta su cuerpo?
  1. Una vez.
  2. Dos veces.
  3. Se repite hasta que se detiene.
  4. Cero veces.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un programa de bloques de Scratch pregunta por una ciudad y después evalúa «unir [Ciudad: ] (respuesta)». ¿Qué acción adicional muestra el texto resultante en el bocadillo de diálogo del objeto?
  1. Colocar un bloque de asignación después del bloque unir.
  2. Colocar el bloque reportero unir dentro de un bloque decir.
  3. Colocar el bloque unir dentro de otro bloque reportero unir.
  4. Colocar un bloque de comparación alrededor del bloque unir.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

¿Cuál es el parámetro de entrada de un bloque personalizado llamado «dibujar recorrido (longitud)»?
  1. El valor con nombre longitud.
  2. La pila que lo llama.
  3. El evento de la bandera verde.
  4. El disfraz del objeto.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Un controlador envía «preparar». Un receptor tarda dos segundos en mover un objeto a su posición inicial. El controlador debe anunciar «Listo» solo después de que termine ese receptor. ¿Qué cambio establece el orden requerido?
  1. Colocar el receptor debajo del controlador en el espacio de trabajo.
  2. Usar «enviar preparar y esperar» antes de decir «Listo».
  3. Enviar «preparar» inmediatamente después de decir «Listo».
  4. Usar dos envíos normales antes de decir «Listo».
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Dos programas de bloques de bandera verde asignan valores distintos a la misma variable y después terminan. Un tercero la lee sin coordinación. ¿Por qué no es seguro confiar en un valor final determinado?
  1. La variable conserva ambos números asignados como una lista de dos elementos.
  2. El programa de bloques situado más abajo siempre debe asignar su valor el último.
  3. Los programas de bloques se ejecutan concurrentemente y los tiempos de escritura pueden cambiar el valor leído.
  4. La asignación con el número mayor siempre debe sustituir al menor.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un juego de adivinar pregunta una vez y después repite hasta que respuesta = secreto. Dentro, el objeto indica si es demasiado alto o bajo, pero nunca vuelve a preguntar. El primer intento es incorrecto. ¿Qué impide terminar el bucle?
  1. El bucle comprueba su condición de parada antes de la primera pasada del cuerpo.
  2. El mensaje elige entre indicar demasiado alto o demasiado bajo.
  3. El secreto se eligió antes de mostrar la pregunta inicial.
  4. Ninguna instrucción obtiene una respuesta nueva para la siguiente comprobación de la condición.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un bloque personalizado dibuja un polígono regular usando entradas para el número de lados y su longitud. ¿Qué le aporta generalización?
  1. Su nombre permite a quien lo llama ignorar los pasos internos de dibujo.
  2. Su bloque de inicio se activa cuando ocurre el evento de la bandera verde.
  3. Sus entradas cambiantes permiten que un método maneje casos distintos.
  4. Su categoría hace que todas las combinaciones de bloques sean lógicamente correctas.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 5: Aplica las ideas en situaciones nuevas10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

Un modelo de museo almacena recuentos de visitantes por sala. Una nueva tarea debe planificar rutas accesibles en silla de ruedas. ¿Cuál es la razón principal por la que el modelo necesita más información?
  1. Todo modelo debe incluir todas las características físicas de un edificio.
  2. El nuevo propósito necesita detalles de acceso que el modelo de recuentos omitió.
  3. El modelo necesita más muestras de visitantes antes de poder planificar rutas.
  4. El modelo puede servir para la nueva tarea si guarda los recuentos con más precisión.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Un método divide repetidamente por la mitad un conjunto ordenado de 64 páginas posibles. Después, el conjunto crece a 256 páginas. ¿Cómo cambia el número de divisiones por la mitad necesarias para reducirlo a una página?
  1. Aumenta de 6 a 24.
  2. Aumenta de 8 a 10.
  3. Aumenta de 6 a 8.
  4. Aumenta de 32 a 128.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un sistema acepta una muestra solo si su masa está entre 2 y 5 kg incluidos y su etiqueta es legible. La prueba actual es (mass ≥ 2 AND mass ≤ 5) OR readable. ¿Qué aceptación errónea puede ocurrir?
  1. Se acepta una muestra de 6 kg cuando su etiqueta es legible.
  2. Se rechaza una muestra de 3 kg cuando su etiqueta es legible.
  3. Se rechaza una muestra de 2 kg cuando su etiqueta es legible.
  4. Se rechaza una muestra de 5 kg cuando su etiqueta es legible.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un programa intenta dividir por cero mientras procesa datos y se detiene con un error. ¿Qué tipo de fallo ha ocurrido?
  1. Un error de sintaxis.
  2. Una clasificación incorrecta solo por un error lógico.
  3. Un solapamiento de descomposición.
  4. Un error de ejecución.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

¿Cuál es la salida?

total ← 0
count ← 0
FOR EACH n IN [−3, 4, 0, 8, −1]
    IF n > 0 THEN
        total ← total + n
        count ← count + 1
    END IF
END FOR
OUTPUT total / count
  1. 2,4.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Un controlador usa «enviar y esperar» para terminar la preparación antes de empezar a jugar. Un receptor de preparación contiene un bucle «por siempre». No se produce ninguna acción de parada. ¿Qué ocurre con el siguiente bloque del controlador?
  1. Se ejecuta en cuanto el receptor empieza su primera pasada.
  2. Sigue esperando porque ese receptor nunca termina.
  3. Se ejecuta después de exactamente una pasada del bucle receptor.
  4. Se ejecuta cuando todos los programas de bloques receptores han empezado juntos.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Un equipo diseña un registrador de entradas que suma uno a la asistencia, un módulo de bienvenida que también suma uno por esa llegada y un módulo de visualización. ¿Qué responsabilidad debe cambiar para evitar un total incorrecto?
  1. Solo un módulo debe incrementar la asistencia por cada llegada.
  2. Ambos módulos deben esperar a la visualización antes de incrementar la asistencia.
  3. El módulo de visualización debe reiniciar la asistencia antes de ambos incrementos.
  4. Los dos incrementos deben ejecutarse juntos después del mensaje de bienvenida.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un algoritmo empieza con n ← 0, repite n ← n + 2 hasta que n ≥ 5 y muestra n. Se dibuja un diagrama de flujo con la misma condición antes del cuerpo: Sí va a la salida, No entra en el cuerpo y vuelve. Para esta entrada ambos muestran 6. ¿Qué cambio revela su distinto comportamiento de bucle?
  1. Inicializar n en 2: la versión con condición al final muestra 6 y la de condición al inicio, 6.
  2. Inicializar n en 4: la versión con condición al final muestra 6 y la de condición al inicio, 6.
  3. Inicializar n en 6: la versión con condición al final muestra 8 y la de condición al inicio, 6.
  4. Inicializar n en −2: la versión con condición al final muestra 6 y la de condición al inicio, 6.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

¿Qué par se muestra?

a ← 9
b ← 14
temp ← a
a ← b + 1
b ← temp
OUTPUT a, b
  1. 14, 9.
  2. 15, 9.
  3. 15, 15.
  4. 9, 14.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un equipo pregunta si un problema enunciado con precisión tiene alguna solución algorítmica antes de que nadie escriba un programa. ¿Qué parte de las ciencias de la computación ilustra esto?
  1. Estudiar los límites de la computación.
  2. Elegir hardware para una organización.
  3. Extraer conclusiones de una muestra de datos.
  4. Escribir la sintaxis de un lenguaje ejecutable.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

¿Te atascas con una pregunta tuya? Ayuda con Tareas

Términos Clave

90 Términos Clave, cada uno con su definición

A

Abstracción
La abstracción consiste en conservar los detalles necesarios para un propósito concreto y ocultar los demás, para facilitar el uso de un problema o componente.
Un mapa del metro puede conservar las conexiones y omitir el trazado de las calles entre las estaciones.
Acumulador
Un acumulador es una variable que construye un resultado acumulado a lo largo de las pasadas de un bucle, incorporando cada nueva aportación al valor almacenado.
Una suma acumulada añade la siguiente temperatura a la cantidad ya acumulada de los días anteriores.
Algoritmo
Un algoritmo es un conjunto finito y ordenado de instrucciones precisas que produce la salida requerida para cada entrada de su dominio válido.
Un método correcto del valor mayor debe examinar suficiente parte de la lista para detectar un máximo en medio.
Anidamiento
El anidamiento consiste en colocar una estructura de control dentro del cuerpo de otra, de modo que llegar a la estructura interior depende del flujo que la rodea.
Una comprobación interior de contraseña solo puede ejecutarse después de que la comprobación exterior de longitud haya dirigido la ejecución a su rama.
Asignación
La asignación consiste en guardar un valor recién evaluado en una variable, sustituyendo al valor almacenado anteriormente bajo ese nombre.
En count ← count + 1, se lee el valor anterior de count antes de volver a guardar el nuevo valor en count.

B

Bloque «por siempre»
Un bloque «por siempre» es un bucle de Scratch que sigue ejecutando su cuerpo hasta que se detiene el programa de bloques o el programa, lo que permite comportamientos continuos.
Un juego puede usar un bucle por siempre para seguir comprobando si se está pulsando una tecla.
Bloque «repetir hasta que»
Un bloque «repetir hasta que» es un bucle de Scratch que comprueba un valor booleano antes de cada pasada y repite su cuerpo mientras esa condición de parada sea FALSA.
Si el primer intento es correcto, un bloque de repetir hasta acertar omite por completo su cuerpo de mensajes de respuesta.
Bloque «repetir»
Un bloque «repetir» es un bloque de control de Scratch que ejecuta las órdenes de su interior un número especificado de veces antes de continuar con el siguiente bloque.
Repetir cuatro veces un par de avanzar y girar puede dibujar un cuadrado cuando el lápiz está bajado.
Bloque «unir»
El bloque «unir» es un bloque reportero de Scratch que construye un valor de texto combinando dos fragmentos de texto proporcionados, sin mostrarlos por sí mismo.
Un bloque decir puede mostrar el saludo construido al unir «Hola, » con el bloque reportero respuesta.
Bloque booleano
Un bloque booleano es un bloque de valor de Scratch de seis lados que proporciona VERDADERO o FALSO al espacio de condición de una decisión o un bucle.
Una comparación de Sensores puede indicar a un bloque si si su objeto está tocando el puntero del ratón.
Bloque de inicio
Un bloque de inicio inicia un programa de bloques de Scratch, se sitúa sobre la pila de órdenes e identifica el evento que activa las instrucciones conectadas.
Un bloque de inicio de bandera verde hace que su pila responda a la bandera, mientras que uno de pulsación de tecla responde a esa tecla.
Bloque personalizado
Un bloque personalizado es un procedimiento de Scratch con nombre cuya definición contiene órdenes reutilizables y puede incluir parámetros de entrada para valores cambiantes.
Un bloque cuadrado puede dibujar lados de distintas longitudes cuando cada llamada proporciona un tamaño nuevo.
Bloque reportero
Un bloque reportero es un bloque redondeado de Scratch que proporciona un valor, como texto o un número, a un espacio de entrada de otro bloque.
El bloque reportero de puntuación proporciona el número actual a una comparación que comprueba si se alcanzó el objetivo.
Bloque reportero «respuesta»
El bloque reportero «respuesta» es un bloque de valor de Scratch que proporciona la última respuesta introducida mediante un bloque preguntar y esperar para su procesamiento posterior.
Después de preguntar un nombre, un programa de bloques puede colocar respuesta dentro de unir para construir un saludo personal.
Bucle con condición al final
Un bucle con condición al final evalúa su condición de control después del cuerpo repetido, por lo que el cuerpo se ejecuta al menos una vez antes de decidir si se detiene.
Un inicio de sesión con REPEAT … UNTIL pide una contraseña antes de decidir si hace falta otro intento.
Bucle con condición al inicio
Un bucle con condición al inicio evalúa su condición de control antes de entrar en cada ejecución del cuerpo, lo que permite ejecutarlo cero veces si no se cumple la condición de entrada.
Un diagrama de WHILE puede ir directamente desde su primera decisión al paso posterior al bucle.
Bucle controlado por condición
Un bucle controlado por condición decide la repetición mediante una prueba booleana, por lo que el número de pasadas puede depender de datos cambiantes o de una entrada nueva.
Un juego de adivinar puede seguir preguntando hasta que la respuesta coincida con el valor secreto elegido al principio.
Bucle controlado por contador
Un bucle controlado por contador repite su cuerpo un número conocido de veces, a menudo usando un contador cuyos valores recorren un intervalo especificado con ambos extremos incluidos.
Un bucle FOR de 1 a 5 incluidos ejecuta cinco pasadas, mientras que empezar en 0 añade una pasada más.
Bucle infinito
Un bucle infinito es una repetición que nunca termina porque la ejecución nunca alcanza un estado o una acción que detenga el trabajo repetido.
Una cuenta atrás positiva se repite para siempre si su cuerpo nunca reduce el valor que comprueba el bucle.

C

Cadena de caracteres
Una cadena de caracteres es una secuencia de caracteres de texto que permite a un programa almacenar nombres, mensajes o texto con apariencia numérica como datos textuales.
Unir las cadenas «12» y «3» produce «123», lo que difiere de calcular su suma numérica.
Cadena de condiciones «si no, si»
Una cadena ELSE IF comprueba las condiciones en orden y ejecuta solo la primera rama que se cumple, con un ELSE final opcional para los casos que no cumplen ninguna.
Los umbrales «al menos» que se solapan necesitan un orden cuidadoso para que una rama anterior no abarque todos los casos.
Capa de abstracción
Una capa de abstracción es un nivel de un sistema que proporciona un comportamiento definido y oculta los detalles de cómo se realiza el trabajo de niveles inferiores.
Una aplicación de chat se apoya en servicios del sistema operativo sin hacer que su usuario controle directamente el hardware.
Ciclo de resolución de problemas
Un ciclo de resolución de problemas es un proceso de comprensión, planificación, ejecución y comprobación de una solución, con modificaciones cuando sea necesario.
Una prueba fallida puede hacer que quien diseña vuelva a cambiar el plan original o incluya una entrada que falta.
Ciencia de datos
La ciencia de datos usa la estadística y la computación para extraer conclusiones de los datos, combinando el razonamiento cuantitativo con métodos de procesamiento de información.
Un especialista en ciencia de datos puede estudiar mediciones registradas para identificar tendencias y evaluar posibles explicaciones.
Ciencias de la computación
Las ciencias de la computación estudian la computación, la información y el diseño de sistemas que resuelven problemas mediante procesos precisos.
Un especialista en ciencias de la computación puede estudiar si un problema tiene solución antes de que alguien escriba un programa ejecutable.
Computación
Una computación es un proceso que ejecuta instrucciones sobre información de entrada para producir un resultado, que después puede usar otro proceso.
El cálculo de una ruta recibe ubicaciones y datos del mapa, y produce una ruta con una distancia y un tiempo de viaje.
Concurrencia
La concurrencia es la ejecución de varios programas de bloques durante periodos de tiempo que se solapan, por lo que sus acciones pueden depender de los tiempos si no se coordinan.
Dos programas de bloques que escriben valores distintos en una variable necesitan un plan antes de que otro dependa de su valor.
Condición
Una condición es una expresión que se evalúa como VERDADERA o FALSA y proporciona la decisión usada por una rama o un bucle controlado por condición.
La condición remaining > 0 decide si el bucle debe procesar otro elemento.
Conector
Un conector es un símbolo etiquetado de diagrama de flujo que enlaza partes separadas del flujo de ejecución y ayuda a seguir su continuación por el diagrama.
Las etiquetas de conectores coincidentes pueden sustituir una línea larga que cruce otras y dificulte seguir un diagrama grande.
Constante
Una constante es un valor con nombre que permanece sin cambios durante un algoritmo y explicita una regla o cantidad fija en sus instrucciones.
Un umbral de aprobado con nombre puede compararse con muchas puntuaciones sin cambiar durante la computación.
Contador
Un contador es una variable usada para registrar cuántas veces ocurre un evento o cuántos elementos se han procesado durante la ejecución.
El contador aumenta una vez por lectura para poder dividir el total final por el número de lecturas.
Corrección
La corrección es la propiedad de producir el comportamiento requerido para toda entrada válida y respetar las reglas especificadas del problema.
Un método que solo encuentra el máximo cuando está en un extremo de la lista no es correcto para todas las listas.
Criterio de éxito
Un criterio de éxito es una forma concreta de juzgar si una solución ha logrado el resultado previsto y ha satisfecho las necesidades del problema.
Una lista de compras cumple su objetivo cuando proporciona una cantidad suficiente de cada ingrediente necesario para las comidas elegidas.

D

Datos de tipo real
Los datos de tipo real representan cantidades numéricas que pueden tener partes fraccionarias y suelen almacenarse con un tipo de dato de coma flotante en un programa.
Una longitud medida de una habitación de 4,5 metros necesita un tipo numérico que pueda representar su parte fraccionaria.
Dependencia
Una dependencia es una relación en la que una tarea necesita el resultado de otra, lo que restringe cuándo puede continuar la tarea dependiente.
En un cuestionario, la tarea de puntuación debe recibir la respuesta comprobada antes de decidir si añade un punto.
Depuración
La depuración consiste en encontrar y corregir la causa de un fallo de programa reproduciéndolo, examinando la ejecución y comprobando el efecto de una corrección.
El primer valor inesperado de un seguimiento puede señalar una actualización que borró el resultado acumulado.
Descomposición
La descomposición consiste en dividir una tarea compleja en subproblemas más pequeños que puedan comprenderse, resolverse y comprobarse antes de combinarlos.
Un cuestionario puede separar la presentación de una pregunta de la comprobación de la respuesta y la actualización de la puntuación.
Descomposición descendente
La descomposición descendente consiste en detallar un problema completo en partes principales y después detallar esas partes en tareas más pequeñas que puedan resolverse de forma más directa.
Quien diseña identifica las responsabilidades del cuestionario antes de decidir las acciones detalladas de cada pantalla.
Diagrama de descomposición
Un diagrama de descomposición es un árbol que muestra cómo se divide una tarea completa en responsabilidades más pequeñas en niveles sucesivos de detalle.
Las ramas bajo «Formular una pregunta» pueden mostrar la presentación del texto, la presentación de las opciones y la lectura de la entrada.
Diagrama de flujo
Un diagrama de flujo representa los pasos de un algoritmo con símbolos y muestra el orden de ejecución mediante líneas de flujo de conexión con dirección.
Seguir un único conjunto de valores de entrada por las flechas revela el camino que tomará esa ejecución.
DIV
DIV es un operador de división entera que da el cociente entero, contando los grupos completos del tamaño del divisor en un dividendo no negativo.
Para 135 minutos, 135 DIV 60 identifica dos horas completas antes de tratar los minutos restantes.

E

Entrada
Una entrada son datos proporcionados a una computación antes de su ejecución o durante ella, que aportan información que sus instrucciones pueden usar.
Una temperatura introducida por un usuario es una entrada para un programa que decide qué mensaje mostrar.
Envío de mensaje de difusión
Un envío de mensaje de difusión transmite un mensaje de Scratch a todos los objetos y al escenario, e inicia los programas de bloques cuyos bloques de recepción coinciden con ese mensaje.
Un controlador puede enviar «preparar» para que varios objetos se coloquen en posición mediante sus propios receptores.
Error de desfase de una unidad
Un error de desfase de una unidad es un error en un límite que hace que un recuento o proceso repetido incluya un elemento de más o de menos.
Una cuenta atrás que usa n ≥ 0 muestra cero además de los valores positivos si su cuerpo muestra n.
Error de ejecución
Un error de ejecución es un fallo que se produce mientras se ejecuta un programa, a menudo provocado por una entrada o un estado concreto durante una operación.
La media de una lista vacía llega a una división por cero si se usa su recuento sin una comprobación previa.
Error de sintaxis
Un error de sintaxis es un incumplimiento de las reglas de escritura de un lenguaje de programación que impide interpretar correctamente las instrucciones afectadas.
La falta de un paréntesis de cierre puede impedir ejecutar código textual antes de probar su lógica.
Error lógico
Un error lógico es un defecto en las instrucciones que hace que un programa en ejecución produzca un comportamiento o resultados distintos de los exigidos por las reglas.
Usar una comparación estricta para un umbral de aprobado que incluye su límite rechaza incorrectamente la puntuación del umbral.
Escenario
El escenario es el área visible del proyecto de Scratch, de 480 por 360 unidades, con coordenadas horizontales y verticales centradas en (0, 0).
Un objeto enviado a x: 0 e y: 0 se mueve al centro antes de ejecutar el siguiente bloque.
Estructura de control
Una estructura de control es una forma de organizar el orden de ejecución, incluidos los pasos secuenciales, las elecciones condicionales y los bloques de trabajo repetidos.
Un algoritmo de procesamiento de listas puede colocar una decisión dentro de un bucle y actualizar una variable en secuencia.
Evento
Un evento es algo que ocurre, como pulsar una tecla o recibir un mensaje, que puede activar los programas de bloques registrados para responder a ello en un programa.
Hacer clic en la bandera verde inicia los programas de bloques de Scratch que tienen los bloques de inicio de bandera verde correspondientes.

G

Generalización
La generalización consiste en transformar una solución concreta en un método para una familia de casos, identificando qué permanece fijo y qué puede variar.
Un método de dibujo de polígonos puede aceptar distintos números de lados en lugar de tener un programa de bloques para cada figura.

I

Ingeniería de computadores
La ingeniería de computadores consiste en diseñar y desarrollar hardware informático físico, como procesadores, placas de circuitos y dispositivos relacionados.
Diseñar el circuito de un procesador se centra en la ingeniería de computadores, mientras que estudiar problemas resolubles se centra en la teoría.
Iteración
La iteración consiste en repetir un bloque de instrucciones según un recuento o una condición, lo que permite realizar trabajo repetido sin duplicar sus pasos.
Un bucle puede aplicar la misma comparación a cada candidato y conservar el mejor valor visto hasta el momento.

L

Línea de flujo
Una línea de flujo es una conexión con flecha entre símbolos de un diagrama de flujo que especifica qué paso sigue a otro, incluido el retorno a trabajo repetido.
Una línea de flujo de retorno puede volver desde la actualización del cuerpo a la decisión que controla otra pasada.
Lista
Una lista es una colección ordenada de valores tratada como un único dato, que permite a un algoritmo recorrer sus elementos y combinarlos o compararlos.
Un bucle FOR EACH puede recorrer las lecturas de temperatura de una lista y acumular su total.

M

Manejador de eventos
Un manejador de eventos es un programa de bloques o fragmento de código que se inicia cuando ocurre un evento concreto y realiza la respuesta asignada a ese evento.
Un programa de bloques «al recibir [fin del juego]» puede detener el movimiento cuando el proyecto envía ese mensaje.
MOD
MOD es un operador de enteros que da el resto de la división entera; para entradas no negativas, es lo que queda después de formar grupos completos.
El valor 135 MOD 60 da los 15 minutos que quedan después de retirar dos horas completas.
Modelo
Un modelo es una representación simplificada de algo que conserva suficiente información relevante para responder a preguntas de un propósito concreto.
Un modelo de estacionamiento registra la identidad y la hora de llegada de un automóvil sin simular cómo funciona su motor.

N

Número entero
Un número entero es un número sin parte fraccionaria que puede ser negativo, cero o positivo, por lo que resulta adecuado para recuentos y otros valores sin fracciones.
Un contador de bucle toma valores enteros, mientras que la media calculada de sus valores de entrada puede ser fraccionaria.

O

Objeto
Un objeto es un personaje o elemento de un proyecto de Scratch con sus propios programas de bloques, disfraces y sonidos que puede responder a eventos y realizar acciones.
Dos objetos pueden responder al mismo mensaje de difusión mientras realizan tareas distintas en el proyecto.
Operador lógico
Un operador lógico combina o invierte condiciones booleanas: AND exige ambas, OR exige al menos una y NOT invierte un valor.
La comprobación de un intervalo válido combina sus límites inferior y superior con AND para que deban cumplirse ambos.

P

Parámetro
Un parámetro es una entrada con nombre en la definición de un procedimiento que permite a sus instrucciones trabajar con valores proporcionados por distintas llamadas.
El parámetro tamaño permite que un procedimiento de dibujo use 60 pasos en una llamada y 100 en otra.
Pensamiento computacional
El pensamiento computacional es una forma de formular problemas y soluciones como pasos que una persona, una computadora o una combinación de ambas puede ejecutar.
Planificar ingredientes compartidos para varias comidas usa el pensamiento computacional antes de que intervenga ningún software.
Procedimiento
Un procedimiento es un grupo de instrucciones con nombre al que se puede llamar para realizar una tarea, a veces con entradas proporcionadas o un resultado devuelto.
Quien llama puede usar un procedimiento de la media sin reescribir sus pasos de suma y división cada vez.
Proceso predefinido
Un proceso predefinido es un paso de diagrama de flujo que llama a un procedimiento descrito por separado y se dibuja como un rectángulo con líneas verticales dobles en sus lados.
Un diagrama principal puede llamar a un procedimiento de comprobación sin dibujar cada comparación interna en la misma página.
Programa
Un programa es un conjunto de instrucciones expresadas en un lenguaje de programación para que una computadora pueda realizar el comportamiento especificado.
Un diagrama de flujo y un programa ejecutable pueden expresar el mismo método mediante representaciones distintas.
Programa de bloques
Un programa de bloques es una pila conectada de bloques de Scratch que describe un comportamiento ordenado y suele iniciarse mediante un bloque de inicio cuando ocurre su evento.
Un programa de bloques de bandera verde puede reiniciar una variable, formular una pregunta y después elegir un mensaje de respuesta.
Programación
La programación consiste en escribir instrucciones en un lenguaje que una computadora pueda ejecutar, transformando un método planificado en un comportamiento ejecutable.
Un desarrollador puede implementar el mismo método de cálculo en varios lenguajes de programación distintos.
Programación por bloques
La programación por bloques consiste en construir un programa con bloques gráficos de instrucciones y valores cuyas formas guían cómo pueden combinarse.
Un principiante puede construir un bucle sin escribir la puntuación que exige un lenguaje textual.
Prueba de escritorio
Una prueba de escritorio consiste en seguir manualmente un algoritmo con valores de entrada elegidos y registrar sus operaciones reales sin ejecutar un programa en una computadora.
Un estudiante usa una tabla de seguimiento para comprobar a mano la primera pasada, la última y la prueba de parada de un bucle.
Prueba de valores límite
Una prueba de valores límite comprueba un extremo válido o umbral de decisión y valores cercanos, donde pequeños errores de comparación pueden cambiar la aceptación.
Probar exactamente 50 revela una comparación estricta de mayor que cuando la regla de aprobado incluye esa puntuación.
Pseudocódigo
El pseudocódigo es una descripción estructurada y legible de un algoritmo que expresa su lógica sin seguir la sintaxis de un lenguaje de programación concreto.
Las palabras clave en mayúsculas y los bloques con sangría hacen visible la estructura prevista del bucle antes de implementarlo.

R

Rama
Una rama es un camino posible de una decisión que contiene el trabajo ejecutado cuando se selecciona la condición o el caso de su etiqueta.
En un diagrama de flujo de inicio de sesión, la rama de inicio de sesión correcto muestra «Welcome» y después vuelve a unirse al flujo antes de Fin.
Reconocimiento de patrones
El reconocimiento de patrones consiste en identificar semejanzas, repeticiones o tendencias en datos o tareas que sugieren una estructura común o un método reutilizable.
Los pares repetidos de avanzar y girar sugieren un bucle cuando un lápiz recorre los lados de un polígono regular.
Restricción
Una restricción es una regla o un límite que una solución debe respetar y que determina qué resultados o métodos posibles son aceptables.
Un plan de comidas debe respetar el tiempo disponible para cocinar y las necesidades alimentarias de cada persona.

S

Salida
Una salida es un resultado enviado por una computación, como texto mostrado, un valor calculado o datos transmitidos a otro proceso.
La masa media mostrada después de procesar una colección de mediciones es la salida del cálculo.
Secuencia
La secuencia es la estructura de control en la que las instrucciones se ejecutan una tras otra y cada instrucción posterior usa el estado dejado anteriormente.
Leer una medición antes de calcular su resultado es una secuencia con una dependencia necesaria.
Selección
La selección es la estructura de control que comprueba una condición y elige qué rama de instrucciones debe ejecutarse para el estado actual.
Una comprobación de aprobado elige un mensaje cuando la puntuación cumple el requisito y otro cuando no lo cumple.
Símbolo de decisión
Un símbolo de decisión es un rombo de diagrama de flujo que comprueba una condición o un valor y elige exactamente uno de sus caminos de salida etiquetados.
El rombo score ≥ 50? dirige una puntuación que cumple el requisito por Sí y una inferior por No.
Símbolo de entrada/salida
Un símbolo de entrada/salida es un paralelogramo de diagrama de flujo que representa un paso que recibe datos o envía un resultado a un usuario u otro destino.
Leer la longitud de una habitación y mostrar un área usan símbolos de datos, mientras que el cálculo usa un rectángulo.
Símbolo de inicio o fin
Un símbolo de inicio o fin es un símbolo de diagrama de flujo, dibujado como un óvalo o rectángulo redondeado, que marca un punto inicial o final de la ejecución.
Un diagrama del área de una habitación empieza en Inicio y llega a Fin después de mostrar el área calculada.
Símbolo de proceso
Un símbolo de proceso es un rectángulo de diagrama de flujo que representa una acción o cálculo que modifica los datos actuales del programa o trabaja con ellos.
El rectángulo area ← length * width calcula un valor después de leer las dos mediciones.
Subproblema
Un subproblema es una tarea más pequeña dentro de un problema mayor, con una responsabilidad que contribuye a resolver el problema completo.
Mostrar las opciones de respuesta es un subproblema dentro de la tarea mayor de formular una pregunta de un cuestionario.

T

Tabla de seguimiento
Una tabla de seguimiento registra los valores de las variables, los resultados de las condiciones y las salidas al seguir las instrucciones de un algoritmo en una ejecución concreta.
El seguimiento de una suma acumulada muestra el total después de cada suma y hace visible un reinicio inesperado.
Tecnologías de la información
Las tecnologías de la información comprenden el trabajo de seleccionar, configurar, mantener y operar sistemas informáticos para una organización.
Un equipo de TI puede configurar las computadoras y las cuentas que una organización necesita para su trabajo diario.
Tendencia
Una tendencia es una dirección o relación recurrente observada en los datos, que puede orientar predicciones cuando el patrón sigue siendo relevante.
Una tienda compara las ventas de paraguas con los pronósticos de lluvia antes de usar ese patrón para planificar sus existencias.
Tipo de dato
Un tipo de dato identifica la clase de valor representado y ayuda a determinar qué operaciones tienen sentido para ese valor.
Sumar números calcula una suma numérica, mientras que unir dos cadenas junta sus textos.

V

Valor booleano
Un valor booleano es un dato con uno de dos estados posibles, VERDADERO o FALSO, producido habitualmente por una comparación u operación lógica.
La comparación score ≥ 50 proporciona un valor booleano que decide qué rama del algoritmo se ejecuta.
Valor de retorno
Un valor de retorno es un resultado que un procedimiento envía de vuelta a quien lo llama, donde puede almacenarse, combinarse con otros datos o transmitirse.
Un procedimiento de la media puede devolver 20 para que quien lo llama lo compare con otra medición.
Variable
Una variable es un espacio de almacenamiento con nombre cuyo valor actual puede leerse y sustituirse mientras se ejecuta un algoritmo o programa.
Una variable contador cambia de 4 a 5 después de que una instrucción sume uno a su valor actual.

Sobre esta unidad

Por StudeliInformar de un error

Crea tus propios Materiales de Estudio

Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.

Comenzar