Ejemplos de pseudocodigos

11

Transcript of Ejemplos de pseudocodigos

1) Dadas dos variables numéricas A y B, que el usuario debe teclear, se pide realizar un

algoritmo que intercambie los valores de ambas variables y muestre cuánto valen al final las

dos variables (recuerda la asignación).

Papel:

Var A, B, C: numérica

Inicio

Escribir "Introduce el valor de A"

Leer A

Escribir "Introduce el valor de B"

Leer B

C<-A

A<-B

B<-C

Escribir "A vale " A " y B vale " B

Fin

PSeInt:

Proceso ejercicio_1

Escribir "Introduce el valor de A"

Leer A

Escribir "Introduce el valor de B"

Leer B

C<-A

A<-B

B<-C

Escribir "A vale " A " y B vale " B

Fin

2) Algoritmo que lea dos números, calculando y escribiendo el valor de su suma, resta, producto

y división.

Papel:

Var numero1, numero2, resultado: numérica

Inicio

Escribir "Introduce el primer número"

Leer numero1

Escribir "Introduce el segundo número"

Leer numero2

resultado<-numero1+numero2

Escribir resultado

resultado<-numero1-numero2

Escribir resultado

resultado<-numero1*numero2

Escribir resultado

resultado<-numero1/numero2

Escribir resultado

Fin

PSeInt:

Proceso ejercicio_2

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

//inicializamos la variable resultado a 0 (recomendable)

resultado<-0

//sumamos los números y escribimos su resultado

resultado<-numero1+numero2

Escribir resultado

//restamos los numeros y escribimos su resultado

resultado<-numero1-numero2

Escribir resultado

//multiplicamos los numeros y escribimos su resultado

resultado<-numero1*numero2

Escribir resultado

//dividimos los numeros y escribimos su resultado

resultado<-numero1/numero2

Escribir resultado

Fin

3) Algoritmo que lea dos números y nos diga cual de ellos es mayor o bien si son iguales

(recuerda usar la estructura condicional SI)

Papel:

Var numero1, numero2: numerica

Inicio

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

Si (numero1>=numero2) Entonces

Si (numero1=numero2) Entonces

escribir "los numeros " numero1 " " numero2 " son iguales"

Sino

Escribir numero1 " es el mayor de los dos"

FinSi

Sino

Escribir numero2 " es el mayor de los dos"

FinSi

Fin

PSeInt:

Proceso ejercicio_3

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

//comparamos los dos numeros,

//si el primero es mayor o igual que el segundo entra

Si (numero1>=numero2) Entonces

//Si el numero1 y numero2 son iguales entra y escribe que son iguales

//Sino lo son escribe que el numero1 es el mayor

Si (numero1=numero2) Entonces

escribir "los numeros " numero1 " " numero2 " son iguales"

Sino

Escribir numero1 " es el mayor de los dos"

FinSi

//Si el primer Si es falso, escribe que el numero2 es mayor

Sino

Escribir numero2 " es el mayor de los dos"

FinSi

Fin

4) Algoritmo que lea tres números distintos y nos diga cual de ellos es el mayor (recuerda usar

la estructura condicional Si y los operadores lógicos).

NOTA: De esta forma que esta hecha, aunque dos de los números sean iguales, siempre dirá el

mayor.

Papel:

Var numero1, numero2, numero3: numerica

Inicio

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

Escribir "Introduce el tercer numero"

numero3

Si (numero1>numero2 AND numero1>numero3) Entonces

Escribir "el numero " numero1 " es el mayor"

Sino

Si (numero2>numero3) Entonces

Escribir "El numero " numero2 " es el mayor"

Sino

Escribir "El numero " numero3 " es el mayor"

FinSi

FinSi

Fin

PSeInt:

Proceso ejercicio_4

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

Escribir "Introduce el tercer numero"

Leer numero3

//comparamos el numero1 con el numero2 y numero3

//Si las dos condiciones son verdaderas el numero1 es el mayor

Si (numero1>numero2 Y numero1>numero3) Entonces

Escribir "el numero " numero1 " es el mayor"

//si el numero1 no es el mayor,

//comparamos el numero2 con el numero3

Sino

Si (numero2>numero3) Entonces

Escribir "El numero " numero2 " es el mayor"

Sino

Escribir "El numero " numero3 " es el mayor"

FinSi

FinSi

Fin

5) Diseñar un algoritmo que pida por teclado tres números; si el primero es negativo, debe

imprimir el producto de los tres y si no lo es, imprimirá la suma.

Papel:

Var numero1, numero2, numero3, resultado: numerica

Inicio

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

Escribir "Introduce el tercer numero"

Leer numero3

Si (numero1<0) Entonces

o resultado<-numero1*numero2*numero3

Sino

o resultado<-numero1+numero2+numero3

FinSi

Escribir resultado

Fin

PSeInt:

Proceso ejercicio_5

Escribir "Introduce el primer numero"

Leer numero1

Escribir "Introduce el segundo numero"

Leer numero2

Escribir "Introduce el tercer numero"

Leer numero3

//si el numero1 es menor que 0,

//multiplicara los numero y sino los sumara

Si (numero1<0) Entonces

o resultado<-numero1*numero2*numero3

Sino

o resultado<-numero1+numero2+numero3

FinSi

Escribir resultado

Fin

6) Algoritmo que nos diga si una persona puede acceder a cursar un ciclo formativo de grado

superior o no. Para acceder a un grado superior, si se tiene un titulo de bachiller, en caso de no

tenerlo, se puede acceder si hemos superado una prueba de acceso.

Papel:

Var bachiller, prueba_acceso: cadena

Inicio

Escribir "¿Tienes el titulo de bachiller?"

Leer bachiller

si (bachiller="si") Entonces

o Escribir "Puedes acceder al grado superior"

Sino

o Escribir "¿Tienes la prueba de acceso superada?"

o Leer prueba_acceso

o si (prueba_acceso="si") Entonces

o Escribir "Puedes acceder al grado superior"

o Sino

o Escribir "No puedes acceder a un grado superior"

o FinSi

FinSi

Fin

PSeInt:

Proceso ejercicio_11

Escribir "¿Tienes el titulo de bachiller?"

Leer bachiller

si (bachiller="si") Entonces

o Escribir "Puedes acceder al grado superior"

Sino

o Escribir "¿Tienes la prueba de acceso superada?"

o Leer prueba_acceso

o si (prueba_acceso="si") Entonces

o Escribir "Puedes acceder al grado superior"

o Sino

o Escribir "No puedes acceder a un grado superior"

o FinSi

FinSi

Fin

7) Dada una secuencia de números leídos por teclado, que acabe con un –1, por ejemplo:

5,3,0,2,4,4,0,0,2,3,6,0,……,-1; Realizar el algoritmo que calcule la media aritmética. Suponemos

que el usuario no insertara numero negativos.

Papel:

Var num, contador, suma: numerica

Inicio

Leer num

suma<-0

contador<-1

Mientras (num<>-1) Hacer

o suma<-suma+num

o contador<-contador+1

o Leer num

FinMientras

Escribir suma/(contador-1)

Fin

PSeInt:

Proceso ejercicio_15

Leer num

suma<-0

contador<-1

Mientras (num<>-1) Hacer

suma<-suma+num

contador<-contador+1

Leer num

FinMientras

Escribir suma/(contador-1)

Fin

8) Algoritmo que dado un año, nos diga si es bisiesto o no. Un año es bisiesto bajo las

siguientes condiciones:Un año divisible por 4 es bisiesto y no debe ser divisible entre 100.

Si un año es divisible entre 100 y además es divisible entre 400, también resulta bisiesto.

NOTA: este ejercicio tiene muchas formas de hacerlo si quieres comprobar que es correcto,

puedes probarlo aquí, también encontraras información sobre las condiciones de cuando un año

es bisiesto.

Papel:

Var año: numerica

Inicio

Escribir "Introduce un año"

leer año

si (año MOD 4=0 y año MOD 100<>0)Entonces

o Escribir "El año " año " es bisiesto"

Sino

o si (año MOD 400=0 y año MOD 100=0) Entonces

o Escribir "El año " año " es bisiesto"

o Sino

o escribir "El año " año " no es bisiesto"

o FinSi

FinSi

Fin

PSeInt:

Proceso ejercicio_23

Escribir "Introduce un año"

leer año

si (año MOD 4=0 y año MOD 100<>0)Entonces

o Escribir "El año " año " es bisiesto"

Sino

o si (año MOD 400=0 y año MOD 100=0) Entonces

o Escribir "El año " año " es bisiesto"

o Sino

o escribir "El año " año " no es bisiesto"

o FinSi

FinSi

Fin

9) Teniendo en cuenta que la clave es “eureka”, escribir un algoritmo que nos pida una clave.

Solo tenemos 3 intentos para acertar, si fallamos los 3 intentos nos mostrara un mensaje

indicándonos que hemos agotado esos 3 intentos. (Recomiendo utilizar un i nterruptor). Si

acertamos la clave, saldremos directamente del programa.

Papel:

Var clave: cadena

acierto: booleano

contador: numerica

Inicio

contador<-0

acierto<-Falso

Mientras (contador<3 AND acierto=falso) Hacer

o Leer clave

o si (clave="eureka") Entonces

o Escribir "la clave es correcta"

o acierto<-Verdadero

o FinSi

o contador<-contador+1

FinMientras

si (contador=3 AND acierto=falso) Entonces

o Escribir "Ya no tienes mas intentos"

FinSi

Fin

PSeInt:

Proceso ejercicio_16

contador<-0

//interruptor

acierto<-Falso

//usamos un interruptor, cuando acertemos,

//cambiara y la condicion sera falsa

Mientras (contador<3 Y acierto=falso) Hacer

o //ponemos aqui leer porque con las variables

o //iniciales entra en el bucle

o Escribir "introduce la clave"

o Leer clave

o si (clave="eureka") Entonces

Escribir "la clave es correcta"

//el interruptor cambia cuando acertamos

acierto<-Verdadero

o FinSi

o contador<-contador+1

FinMientras

//este mensaje solo aparecera si hemos agotado

//todos los intentos y no hemos acertado

si (contador=3 Y acierto=falso) Entonces

o Escribir "Ya no tienes mas intentos"

FinSi

Fin

10) Algoritmo que visualice la cuenta de los números que son múltiplos de 2 o de 3 que hay

entre 1 y 100.

Papel:

Var num: numerica

Inicio

Desde num<-1 Hasta 100 In 1

o //asi indicamos si un numero es multiplo de 3 o de 2

o si (num MOD 2=0 OR num MOD 3=0) Entonces

Escribir num

o FinSi

FinDesde

Fin

PSeInt:

Proceso ejercicio_18

Para num<-1 Hasta 100 Con Paso 1

o //asi indicamos si un numero es multiplo de 3 o de 2

o si (num MOD 2=0 o num MOD 3=0) Entonces

o Escribir num

o FinSi

FinPara

Fin