Volver a la portadaCiencias de la Computación · 1.er año de bachillerato · Cambiar asignatura
Empezar gratis
1° bach · Ciencias de la Computación
Lógica de programación · Fundamentos de lógica

Condicionales y bucles en pseudocódigo

En el centro escolar, la nota de cada estudiante se revisa una por una: si es de 5.0 o más, "Aprobado"; si no, "Aplazado". Ningún docente decide eso a ojo, sigue una regla y la repite con cada nota. Un programa hace lo mismo: decide con condicionales y repite con bucles. En esta página aprendés a escribir ambas cosas en pseudocódigo y a seguirlas paso a paso.

Leer, escribir y asignar

El pseudocódigo es una forma de escribir un algoritmo en español, con reglas simples, sin preocuparse por la sintaxis de un lenguaje real. Usa pocas instrucciones:

Instrucción Qué hace
leer n pide un dato al usuario y lo guarda en n
escribir "Hola" muestra un mensaje o un valor
suma ← suma + 1 asigna: calcula lo de la derecha y lo guarda en la variable de la izquierda

La flecha ← no es una igualdad: i ← i + 1 significa «tomá el valor de i, sumale 1 y guardá el resultado otra vez en i».

Los programas se ejecutan de arriba hacia abajo, una instrucción a la vez. Eso se llama estructura secuencial. Los condicionales y los bucles rompen esa línea recta: unos eligen camino y otros dan vueltas.

Condicional simple: si … entonces

A veces una acción solo debe hacerse si se cumple una condición. Una condición es una pregunta que se responde con VERDADERO o FALSO, por ejemplo n > 0.

leer n

si n > 0 entonces

    escribir "Positivo"

fin si

Si la condición es verdadera, se ejecuta lo que está entre entonces y fin si. Si es falsa, ese bloque se salta y el programa sigue después.

En un diagrama de flujo, la decisión es un rombo con dos salidas: una para «sí» y otra para «no».

Diagrama de flujo de un condicional simple: leer n, preguntar si n es mayor que 0 y escribir Positivo solo si es verdadero. Inicio leer n n > 0 Sí escribir "Positivo" No Fin

Con el programa de arriba: si el usuario ingresa 4, la condición 4 > 0 es verdadera y se escribe «Positivo». Si ingresa -2, -2 > 0 es falsa y no se escribe nada.

Practica★☆☆Sin empezar
Observá este pseudocódigo: Indicá qué se escribe si el usuario ingresa 4 y qué se escribe si ingresa -2. Explicá la diferencia entre una estructura if y una if-else.

Observá este pseudocódigo:

leer n

si n > 0 entonces

    escribir "Positivo"

fin si

Indicá qué se escribe si el usuario ingresa 4 y qué se escribe si ingresa -2. Explicá la diferencia entre una estructura if y una if-else.

Resolver

Condicional compuesto: si … sino

El condicional simple solo hace algo cuando la condición es verdadera. Con sino también indicás qué hacer cuando es falsa. Siempre se ejecuta exactamente una de las dos ramas.

leer nota

si nota >= 5.0 entonces

    escribir "Aprobado"

sino

    escribir "Aplazado"

fin si

Esta es la diferencia entre if y if-else: el if puede no hacer nada; el if-else siempre elige entre dos caminos.

Un programa también puede decidir con más de dos caminos poniendo un condicional dentro del sino:

si n mod 2 == 0 entonces

    escribir "Par"

sino

    si n mod 5 == 0 entonces

        escribir "Múltiplo de 5"

    sino

        escribir n

    fin si

fin si

Aquí mod da el residuo de la división: 10 mod 2 es 0. El orden importa: se pregunta primero lo más prioritario, y el resto solo se evalúa si lo anterior fue falso.

Practica★★☆Sin empezar
Escribí en pseudocódigo un programa que lea la nota de un estudiante de Tercer Ciclo (de 0 a 10) y escriba "Aprobado" si la nota es mayor o igual que 5.0, y "Aplazado"…

Escribí en pseudocódigo un programa que lea la nota de un estudiante de Tercer Ciclo (de 0 a 10) y escriba "Aprobado" si la nota es mayor o igual que 5.0, y "Aplazado" en caso contrario. Usá una estructura if-else. Después indicá qué escribe con las notas 4.9 y 5.0.

Resolver
Practica★★☆Sin empezar
Dibujá con palabras, describiendo cada símbolo (inicio, entrada, decisión, proceso, salida y fin), un diagrama de flujo que lea el precio de un producto y, si el precio…

Dibujá con palabras, describiendo cada símbolo (inicio, entrada, decisión, proceso, salida y fin), un diagrama de flujo que lea el precio de un producto y, si el precio es mayor que 20 dólares, calcule un descuento del 10 %; si no, lo deje igual. El diagrama debe mostrar el precio final. Indicá cuál es el precio final para 30 dólares y para 12 dólares.

Resolver

Diagramas de flujo

Un diagrama de flujo dibuja el mismo algoritmo con símbolos y flechas:

Símbolo Significado
Óvalo inicio o fin
Paralelogramo entrada o salida (leer, escribir)
Rectángulo proceso (cálculo, asignación)
Rombo decisión (condición con sí / no)

Para pasar de pseudocódigo a diagrama, cada instrucción se vuelve un símbolo y las flechas siguen el orden de ejecución. Un si-sino es un rombo con dos salidas que luego se juntan de nuevo.

Bucle para: repetir un número conocido de veces

Si querés escribir los números del 1 al 4, podrías poner cuatro veces escribir. Pero ¿y del 1 al 1,000? Un bucle repite instrucciones y automatiza lo repetitivo.

El bucle para se usa cuando sabés cuántas veces hay que repetir:

para i desde 1 hasta 4 hacer

    escribir i

fin para

La variable i (el contador) toma el valor 1, luego 2, 3 y 4. El cuerpo se ejecuta una vez por cada valor, así que aquí se repite 4 veces y se escribe 1, 2, 3, 4.

Con un bucle podés combinar condicionales: dentro del cuerpo, i ya tiene un valor y se puede preguntar por él.

Practica★☆☆Sin empezar
Observá este pseudocódigo: Escribí los valores que se muestran en pantalla, en orden, e indicá cuántas veces se repite el cuerpo del bucle.

Observá este pseudocódigo:

para i desde 1 hasta 4 hacer

    escribir i

fin para

Escribí los valores que se muestran en pantalla, en orden, e indicá cuántas veces se repite el cuerpo del bucle.

Resolver
Practica★★★Sin empezar
Gabriela quiere un programa que muestre los números del 1 al 30 y, para cada uno, escriba "Par" si es múltiplo de 2, "Múltiplo de 5" si es múltiplo de 5 y no de 2, o…

Gabriela quiere un programa que muestre los números del 1 al 30 y, para cada uno, escriba "Par" si es múltiplo de 2, "Múltiplo de 5" si es múltiplo de 5 y no de 2, o solo el número en cualquier otro caso. Escribí el pseudocódigo combinando un bucle con condicionales (podés usar el operador mod para el residuo). Luego indicá qué se escribe para los valores 5, 10 y 7, y explicá por qué el orden de las condiciones importa.

Resolver

Bucle mientras y tablas de seguimiento

El bucle mientras se usa cuando no sabés de antemano cuántas vueltas dará: repite mientras una condición sea verdadera. La condición se revisa antes de cada vuelta.

suma ← 0

i ← 1

mientras i <= 5 hacer

    suma ← suma + i

    i ← i + 1

fin mientras

escribir suma

Un bucle mientras necesita tres cosas: empezar la variable (i ← 1), una condición (i <= 5) y algo dentro que cambie la condición (i ← i + 1). Si falta lo último, nunca termina: es un bucle infinito.

Para entender qué hace un programa, hacé una tabla de seguimiento: una fila por vuelta, con el valor de cada variable al final.

¿for o while?

para (for) mientras (while)
Cuándo usarlo sabés cuántas vueltas no sabés cuántas, depende de una condición
Ejemplo escribir los números del 1 al 4 pedir una contraseña hasta que sea correcta
El contador lo maneja el propio bucle lo cambiás vos dentro del cuerpo
Practica★☆☆Sin empezar
Explicá en qué se diferencia un bucle for de un bucle while. Indicá en qué situación conviene usar cada uno y dá un ejemplo breve de cada situación.

Explicá en qué se diferencia un bucle for de un bucle while. Indicá en qué situación conviene usar cada uno y dá un ejemplo breve de cada situación.

Resolver
Practica★★☆Sin empezar
Observá este pseudocódigo: Hacé una tabla de seguimiento con los valores de i y suma al final de cada repetición, e indicá qué valor se escribe al final.

Observá este pseudocódigo:

suma ← 0

i ← 1

mientras i <= 5 hacer

    suma ← suma + i

    i ← i + 1

fin mientras

escribir suma

Hacé una tabla de seguimiento con los valores de i y suma al final de cada repetición, e indicá qué valor se escribe al final.

Resolver

Casos especiales y depuración

Los errores de un algoritmo suelen aparecer en los casos límite: el cero, el valor justo de la frontera o una condición que nunca cambia. Probalos siempre.

Practica★★★Sin empezar
Observá este pseudocódigo: Aquí div es la división entera (sin decimales). Seguí el programa para $n = 13$ con una tabla de seguimiento y decí qué valor escribe. Luego…

Observá este pseudocódigo:

leer n

cont ← 0

mientras n > 0 hacer

    n ← n div 2

    cont ← cont + 1

fin mientras

escribir cont

Aquí div es la división entera (sin decimales). Seguí el programa para $n = 13$ con una tabla de seguimiento y decí qué valor escribe. Luego explicá qué calcula el programa en general y qué pasa si el usuario ingresa 0. Por último, proponé un cambio para que el programa nunca quede en un bucle infinito si se modifica la instrucción n ← n div 2 por error y se omite.

Resolver

Volvé al principio: la revisión de notas en el centro escolar es un para (una vuelta por estudiante) con un si-sino adentro (aprobado o aplazado). Decidir y repetir, las dos ideas de esta página.

Resumen

  • Un condicional simple (si … entonces … fin si) ejecuta un bloque solo si la condición es verdadera; el compuesto (si … sino) elige siempre entre dos caminos.

  • El orden de las condiciones importa cuando hay varias; probá siempre los valores límite (> frente a >=).

  • para i desde a hasta b se usa cuando sabés cuántas vueltas habrá: se repite $b - a + 1$ veces.

  • mientras repite mientras la condición sea verdadera; necesita algo dentro que la cambie, o será un bucle infinito.

  • Una tabla de seguimiento (una fila por vuelta con el valor de cada variable) permite entender y depurar un programa.

  • En diagramas de flujo: óvalo (inicio/fin), paralelogramo (entrada/salida), rectángulo (proceso), rombo (decisión).

Ver todos los ejercicios de este apartado