viernes, 10 de julio de 2015

Ejemplos de algoritmos con bucles anidados y subprogramas



1.-Imprimir diez veces la serie de numeros del 1 al 10.

PROGRAMA diez
ENTORNO:
serie <- 0
ALGORITMO:
Borrar_pantalla( )
MIENTRAS serie <= 10 HACER
numero <- 1
MIENTRAS numero <= 10 HACER
ESCRIBIR numero
numero <- numero + 1
FINMIENTRAS
serie <- serie + 1
FINMIENTRAS
FINPROGRAMA


2.-Imprimir, contar y sumar los multiplos de 2 que hay entre una serie de numeros, tal que el segundo sea mayor o igual que el primero.

PROGRAMA multiplo2
ENTORNO:
res <- "S"
ALGORITMO:
Borrar_pantalla( )
MIENTRAS res = "S" HACER
c <- 0
sum <- 0
num1 <- 0
num2 <- -999
ESCRIBIR "N£mero: "
LEER num1
ESCRIBIR "N£mero mayor que el anterior"
MIENTRAS num1 >= num2 HACER
LEER num2
FINMIENTRAS
num1 <- num1 + 1
MIENTRAS num1 <= num2 - 1 HACER
SI num1 = int( num1 / 2 ) * 2 ENTONCES
ESCRIBIR num1
c <- c + 1
sum <- sum + num1
FINSI
num1 <- num1 + 1
FINMIENTRAS
ESCRIBIR "N£mero de m£ltiplos de 2: "
ESCRIBIR c
ESCRIBIR "Su suma es: "
ESCRIBIR sum
res <- Espacios( 1 )
MIENTRAS res <> "S" Y res <> "N" HACER
ESCRIBIR "Otra serie de n£meros (S/N): "
LEER res
res <- Convertir_may£sculas( res )
FINMIENTRAS
FINMIENTRAS
FINPROGRAMA


3.-Hacer un pseudocodigo que cuente las veces que aparece una determinada letra en una frase que introduciremos por teclado.

PROGRAMA letra
ENTORNO:
frase <- Espacios( 30 )
letra <- Espacios( 1 )
longitud <- 0
a <- 0
res <- "S"
ALGORITMO:
MIENTRAS res = "S" HACER
Borrar_pantalla( )
ESCRIBIR "Introduce una frase: "
LEER frase
longitud <- Hallar_longitud( frase )
i <- 1
ESCRIBIR "Letra a buscar: "
LEER letra
MIENTRAS i <= longitud HACER
SI letra = Caracter( frase, i, 1 ) ENTONCES
a <- a + 1
FINSI
i <- i + 1
FINMIENTRAS
Borrar_pantalla( )
ESCRIBIR "El n£mero de veces que aparece la letra "
ESCRIBIR letra
ESCRIBIR " en la frase "
ESCRIBIR frase
ESCRIBIR " es de "
ESCRIBIR a
res <- Espacios( 1 )
MIENTRAS res <> "S" Y res <> "N" HACER
ESCRIBIR "Desea introducir m&aacute;s frases (S/N): "
LEER res
res <- Convertir_may£sculas( res )
FINMIENTRAS
FINMIENTRAS
FINPROGRAMA


4.-Hacer un pseudocodigo que simule el funcionamiento de un reloj digital y que permita ponerlo en hora.

PROGRAMA reloj
ENTORNO:
horas <- 0
minutos <- 0
segundos <- 0
res <- "S"
ALGORITMO:
Borrar_pantalla( )
ESCRIBIR "Horas: "
LEER horas
ESCRIBIR "Minutos: "
LEER minutos
ESCRIBIR "Segundos: "
LEER segundos
MIENTRAS res = "S" HACER
MIENTRAS horas < 24 HACER
MIENTRAS minutos < 60 HACER
MIENTRAS segundos < 60 HACER
ESCRIBIR horas
ESCRIBIR minutos
ESCRIBIR segundos
segundos <- segundos + 1
FINMIENTRAS
minutos <- minutos + 1
segundos <- 0
FINMIENTRAS
horas <- horas + 1
minutos <- 0
FINMIENTRAS
horas <- 0
FINMIENTRAS
FINPROGRAMA


5.-Calcular el factorial de un numero, mediante subprogramas.

PROGRAMA factorial
ENTORNO:
res <- "S"
ALGORITMO:
MIENTRAS res = "S" HACER
Borrar_pantalla( )
factorial <- 1
ESCRIBIR "N£mero: "
LEER numero
SI numero < 0 ENTONCES
ESCRIBIR "No tiene factorial"
SINO
HACER Calculos
FINSI
HACER Mas
FINMIENTRAS
FINPROGRAMA

SUBPROGRAMA Calculos
MIENTRAS numero > 1 HACER
factorial <- factorial * numero
numero <- numero - 1
FINMIENTRAS
HACER Imprimir
FINSUBPROGRAMA


SUBPROGRAMA Mas
res <- " "
MIENTRAS res <> "S" Y res <> "N" HACER
ESCRIBIR "Desea calcular m&aacute;s factoriales (S/N): "
LEER res
res <- Convertir_may£sculas( res )
FINMIENTRAS
FINSUBPROGRAMA


SUBPROGRAMA Imprimir
ESCRIBIR "Su factorial es: "
ESCRIBIR factorial
FINSUBPROGRAMA


6.-Hacer un programa que calcule independientemente la suma de los pares y los impares de los numeros entre 1 y 1000, utilizando un switch.

PROGRAMA suma
ENTORNO:
par <- 0
impar <- 0
sw <- 0
i <- 1
ALGORITMO:
Borrar_pantalla( )
MIENTRAS i <= 1000 HACER
SI sw = 0 ENTONCES
impar <- impar + i
sw <- 1
SINO
par <- par + i
sw <- 0
FINSI
i <- i + 1
FINMIENTRAS
ESCRIBIR "La suma de los pares es: "
ESCRIBIR par
ESCRIBIR "La suma de los impares es: "
ESCRIBIR impar
FINPROGRAMA


Espero haber ayudado en algo. Hasta la próxima oportunidad!







2 comentarios:

  1. si tienes algo en java o android seria bueno gracias amigo est interesante tu pagina

    ResponderEliminar
    Respuestas
    1. Hola edison, gracias por la visita y el aporte de tu comentario.
      Java es un tema muy pendiente y que espero pronto lo publique!
      Los mejores deseos!! Hasta cualquier momento!!

      Eliminar