informaticaPC

Teoría de la programación

Ejemplos de algoritmos en pseudocódigo (IV)

Escribir los números del 1 al 100

Usando MIENTRAS:

ALGORITMO N53_Mientras;
VAR
    ENTERO Contador;
INICIO
    Contador <- 1;

    MIENTRAS( Contador <= 100 ) HACER
        ESCRIBIR( Contador );
        Contador <- Contador + 1;
    FIN MIENTRAS
FIN

Usando REPETIR:

ALGORITMO N53_Repetir;
VAR
    ENTERO Contador;
INICIO
    Contador <- 0;

    REPETIR
        Contador <- Contador + 1;
        ESCRIBIR("Número actual: ", Contador);
    HASTA( Contador == 100 )
FIN

Usando PARA:

ALGORITMO N53_Para;
VAR
    ENTERO contador;
INICIO
    PARA contador DESDE 1 HASTA 100
        ESCRIBIR( contador );
    FIN_PARA
FIN

Programa que permite calcular la suma de los 5 primeros números enteros positivos

Usando MIENTRAS:

ALGORITMO N55_Mientras;
VAR
    ENTERO contador, suma;
INICIO
    contador <- 1;
    suma <- 0;

    MIENTRAS( contador <= 5 ) HACER
        suma <- suma + contador;
        contador <- contador + 1;
    FIN MIENTRAS

    ESCRIBIR("La suma es: ", suma);
FIN

Usando REPETIR:

ALGORITMO N55_Repetir;
VAR
    ENTERO contador, suma;
INICIO
    contador <- 0;
    suma <- 0;

    REPETIR
        contador <- contador + 1;
        suma <- suma + contador;
    HASTA( contador == 5 )

    ESCRIBIR("Resultado: ", suma);
FIN

Usando PARA:

ALGORITMO N55_Para;
VAR
    ENTERO contador;
    ENTERO suma <- 0;
INICIO
    PARA contador DESDE 1 HASTA 5
        suma <- suma + contador;
    FIN_PARA

   ESCRIBIR("La suma es: ", suma);
FIN

Leer desde el teclado una serie de números hasta obtener uno inferior a 100

Usando MIENTRAS:

ALGORITMO N50;
VAR
    ENTERO Numero;
INICIO
    ESCRIBIR("Dime un número menor de 100");
    LEER( Numero );

    MIENTRAS( Numero >= 100 ) HACER
        ESCRIBIR("Dime un número menor de 100");
        LEER( Numero );
    FIN MIENTRAS

    ESCRIBIR("Ha introducido un número inferior a 100: ", Numero);
FIN

Usando REPETIR:

ALGORITMO N50_2;
VAR
    ENTERO Numero;
INICIO
    ESCRIBIR("Dime un número menor de 100");
    LEER( Numero );

    REPETIR
        ESCRIBIR("Dime un número menor de 100");
        LEER(Numero);
    HASTA( Numero < 100 )

    ESCRIBIR("Ha introducido un número inferior a 100: ", Numero);
FIN

Pedir una contraseña (3 intentos máximo) usando REPETIR hasta que la clave sea 352, 259 ó 569

ALGORITMO N64;
VAR
    ENTERO Clave, Intentos;
INICIO
    Intentos <- 0;

    REPETIR
        Intentos <- Intentos + 1;

        ESCRIBIR("Dame la clave: ");
        LEER(Clave);
    HASTA (Clave == 352) OR (Clave == 259) OR (Clave == 569) OR (Intentos == 3);

    SI (Intentos == 3) AND (Clave <> 352) AND (Clave <> <>) AND (Clave == 569)
        ESCRIBIR("Demasiados intentos");
    SINO
        ESCRIBIR("Clave correcta");
    FIN SI
FIN

Pedir 10 números al usuario, y mostrar cuántos de ellos han sido mayores de cero

ALGORITMO ContarNumeros_Para;
VAR
    ENTERO contador;
    ENTERO positivos <- 0;
    ENTERO numero;
INICIO
    PARA contador DESDE 1 HASTA 10
        ESCRIBIR("Dame un número: ");
        LEER( numero );

        SI( numero > 0 )
            positivos <- positivos + 1;
        FIN SI
    FIN_PARA

    ESCRIBIR("Has introducido", positivos, " números mayores de cero");
FIN

EXPLICACIÓN: declaramos una variable (la creamos) llamada 'contador' (que usaremos para controlar el número de veces que debe repetirse el bucle PARA), y otra de nombre 'positivos' (en la que registraremos cuántos números mayores de cero han sido introducidos por el usuario) y la inicializamos a cero.

Cada una de las 10 veces que se procese el bucle se solicitará un número al usuario, y por medio de una instrucción condicional comprobaremos si es mayor de cero: sólo en tal caso incrementaremos la variable 'positivos'.

Tras repetirse el bucle las veces que hemos indicado se saldrá de él, se mostrará la cantidad de números positivos que se hayan introducido y finalizará el programa.

Mostrar los cinco primeros números pares

ALGORITMO Pares;
VAR
    ENTERO contador;
INICIO
    PARA contador DESDE 1 HASTA 10 INCREMENTO 2
        ESCRIBIR( contador );
    FIN_PARA
FIN
Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso