Post on 21-Jul-2015
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