0% encontró este documento útil (0 votos)
224 vistas44 páginas

Ejercicios de Pseudocodigo

El documento contiene 11 ejercicios de pseudocódigo para resolver diferentes problemas matemáticos y lógicos, como calcular áreas de figuras geométricas, determinar si una fecha es válida, calcular sueldos, encontrar números primos, y más. Cada ejercicio presenta un problema y la lógica general en forma de pseudocódigo para resolverlo de manera algorítmica.

Cargado por

Kim JaeMin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
224 vistas44 páginas

Ejercicios de Pseudocodigo

El documento contiene 11 ejercicios de pseudocódigo para resolver diferentes problemas matemáticos y lógicos, como calcular áreas de figuras geométricas, determinar si una fecha es válida, calcular sueldos, encontrar números primos, y más. Cada ejercicio presenta un problema y la lógica general en forma de pseudocódigo para resolverlo de manera algorítmica.

Cargado por

Kim JaeMin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 44

1.

- Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y
posteriormente imprimirla.
 
Inicio

Variables edad, peso.

Imprimir "Escribir los datos (Edad, Peso):"

Leer Edad, Leer Peso.

Visualizar "Tu peso es: ", peso, " y tu edad es: ", edad.

Fin.

 2.- Escribir un Pseudocódigo que calcule el área de un triángulo recibiendo como entrada el valor
de base y altura.
 
Inicio
Variables Altura, Base, Area.
 
Imprimir "Introduce la base y la altura: "

Leer base y altura.

Area= (base*altura)/2.

Imprimir "El area es: ", Area

Fin.
 

3.- Escribir Pseudocódigo que calcule el área de un círculo.

Inicio
Constantes Pi= 3.1416
Variables Radio, area = real
Imprime "Introduce el radio: "
Leer radio.
area= radio*radio*Pi
Imprimir "El área del circulo es: ", area.
Fin.

4.- Escribir Pseudocodigo que dados 2 valores de entrada imprima siempre la división del mayor entre el
menor.

Inicio

Variables num1, num2=entero.

Variables R=real.

Imprimir "Introduce los números:"

Leer num1, Leer num2.


Si a>b entonces

        R= a/b

   Sino

     R= b/a
 
Finsi
Imprimir "La división es =", R;
 
5.- Escribir Pseudocódigo que lea de entrada 3 números y que indique cual es el mayor de ellos.

Inicio

Variables a, b,c = enteros.

Imprimir "Introduce los datos a comparar: "

Leer a,b,c

Si a<b y a<c entonces

       Imprime "El mayor es: ", a

     Sino

       Si b>a y b>c entonces

        Imprime "El mayor es: ",b

        sino

          Imprime "El mayor es: ", c

Fin.

6.- Escribir un Pseudocódigo que lea 3 números los cuales significan una fecha (día, mes, año). Comprobar
que sea válida la fecha, si no es valido que imprima un mensaje de error, y si es válida imprimir el mes con su
nombre.

Inicio

Variables dia, mes, año =entero.

Imprimir "Introduce la fecha (Dia,mes,año): "

Leer dia

leer  mes

leer  año.

Si dia>31 o mes >12 o año<0 entonces


Imprimir "Error la fecha no es correcta"

Sino

si mes=1 o mes=3 o mes=5 o mes=7 o mes=8 o mes=10 o mes=12 entonces

si dia >31 y dia<1 entonces

Imprimir "Error de Dia"

sino

si mes=1 entonces imprimir dia,"/ Enero /",año

si mes=3 entonces imprimir dia,"/ Marzo /",año

si mes=5 entonces imprimir dia,"/ Mayo /",año

si mes=7 entonces imprimir dia,"/ Julio /",año

si mes=8 entonces imprimir dia,"/ Agosto /",año

si mes=10 entonces imprimir dia,"/ Octubre /",año

si mes=12 entonces imprimir dia,"/ Diciembre /",año

Si mes=2 entonces

si dia>28 o dia<0 entonces

Imprimir "Error de Dia"

sino

Imprimir dia,"/ Febrero /",año

 Si mes=4 o mes=6 o mes=9 o mes=11

Si dia >30 o dia <1 entonces

Imprimir "Error de Dia"

Sino

Si mes=4 entonces

Imprimir dia,"/ Abril /",año

Si mes=6 entonces

Imprimir dia,"/ Junio /",año

Si mes=9 entonces
Imprimir dia,"/ Septiembre /",año

Si mes=11 entonces

Imprimir dia,"/ Noviembre /",año

Fin.

7.- Escribir un Pseudocodigo que pida la edad y el sexo y dependiendo si es hombre o mujer y si


puede votar o no.

Inicio

variables edad=entero, sexo=caracter.

repetir

Imprimir "Introduce Tu edad:"

Leer edad.

Hasta que (edad >0)

Hacer

Imprimir "Introduce tu sexo (M/H):"

leer sexo

hasta que (sexo='H' o sexo = 'M')

Si sexo= 'M' entonces

si edad > 18 entonces

Imprimir "Eres Mujer y puedes votar"

sino

Imprimir "Eres Mujer y no puedes votar"

Sino

si edad >18 entonces

Imprimir "Eres Hombre y puedes votar"

sino
Imprimir "Eres Hombre y no puedes votar"

Fin.

8.- Realice un Pseudocódigo que calcule la nómina salarial neto, de unos obreros cuyo trabajo se
paga en horas. El cálculo se realiza de la siguiente forma:

- Las primeras 35 horas a una tarifa fija.

- Las horas extras se pagan a 1.5 más de la tarifa fija.

- Los impuestos a deducir de los trabajadores varian, segun el sueldo mensual si el sueldo es
menos a $20,000.00 el sueldo es libre de impuesto y si es al contrario se cobrará un 20% de
impuesto.

Inicio

Canstante Tarifa= 50.

Variables Horas, Sueldo, dif_horas, tarifa_extra, Salario_extra, Sueldo_mes, Impuesto,


Sueldo_total.

Imprimir "Introduce las Horas de Trabajo ==> "

Leer Horas.

Si Horas <= 35 entonces

Sueldo= horas * tarifa.

Sino

Dif_horas= Horas - 35

tarifa_extra=(tarifa * 1.5)

Salario_exta= tarifa_extra * Dif_horas

Sueldo=(35*tarifa)+ salario_extra.

Sueldo_mes = sueldo * 4

Impuesto=0

Si sueldo_mes > 20000 entonces

Impuesto = (Sueldo_mes* 0.20)

Salario_total = Sueldo_mes - Impuesto


Imprimir "Tu sueldo al mes es: ", sueldo_mes,"Valor de Impuesto: ", Impuesto, " El salario Neto es:
",Salario_total.

sino

Imprimir "Tu sueldo Neto es: ", sueldo_mes.

Fin.

9.- Escribir un Pseudocódigo que encuentre y despliegue los números primos entre uno y cien. Un
número primo es divisible entre el mismo y la unidad por lo tanto un numero primo no puede ser
par excepto el dos (2).

Inicio

Variables primo, cont, div, res.

Primo = 1.

Hacer mientras primo<=100

Div =0.

Cont =1.

Hacer Mientras cont <= primo

Res = cont mod primo

si res = 0 entonces

Div = div +1.

Fin si

Cont = cont +1.

Fin de Hacer mientras

si div<=2 entonces

imprimir primo

Fin si.

Primo = primo + 1.

Fin de Hacer mientras

Fin.
10.- Hacer un Pseudocódigo que calcule el factorial de un número.

Inicio

Variables N,Fact,aux.

Imprimir "Introduce el número: "

Leer N

aux= n-1.

fact=n

 Hacer

      fact=fact * aux.

  Hasta que aux=1

     Imprimir "El factorial de ", n, "es:", fact

Fin.

 
11.- Hacer un Pseudocodigo que despliegue las tablas de multiplicar.

Inicio

Variables i,k,r.

para i=1 hasta 10.

para k=1 hasta 10.

r:=i*k.

Imprimir i," por ",k," = ",r.

k=k+1.

i=i+1.

Fin.

EJERCICIOS TIPO 2
1.-Algoritmo que lea números enteros hasta teclear 0, y nos muestre el máximo, el mínimo y la
media de todos ellos. Piensa como debemos inicializar las variables.

Proceso ejercicio_17

 Escribir “ingrese numeros”

 Leer num

 minimo<-num

 maximo<-num

 suma<-0

 Mientras (num<>0) Hacer

   si (num>maximo) Entonces

   maximo<-num

  FinSi

  si (num<minimo) Entonces

   minimo<-num

  FinSi

  suma<-suma+num

  contador<-contador+1

  leer num

 FinMientras

 media<-suma/(contador)

  Escribir “El maximo es ” maximo

 Escribir “El minimo es ” minimo

 Escribir “La media es ” media

FinProceso

 2.-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.

Proceso ejercici
 Escribir “ingrese”

 Leer num

 suma<-0

 contador<-1

 Mientras (num<>-1) Hacer

  suma<-suma+num

  contador<-contador+1

  Leer num

 FinMientras

 Escribir suma/(contador-1)

FinProceso

 3.-Calcular independientemente la suma de los números pares e impares entre 1 y n

i<-1

sumapar=0

sumaimp=0

Escribir “ingrese un numero”

Leer n

Mientras i<=n Hacer

Si i mod 2=0 Entonces

sumapar<-sumapar+i

Sino

sumaimp<-sumaimp+i

Fin Si

i=i+1

Fin Mientras

Mostrar “la suma de los pares =”,sumapar

Mostrar “la suma de los impares =”,sumaimp

FinProceso
4.- Una tienda ofrece un descuento del 15% sobre el total de la compra durante el mes de octubre.
Dado un mes y un importe, calcular cuál es la cantidad que se debe cobrar al cliente.

Proceso ejercicio

    Escribir “escribe el importe de la compra”

    Leer importe

    Escribir “Introduce el mes”

    Leer mes

    //Si el mes es octubre, se aplicara el descuento

    Si (mes=”octubre”) Entonces

  total<-importe*0.85

    Sino

  total<-importe

    FinSi

    Escribir total

FinProceso

5.- Dados 10 números enteros que se ingresan por teclado, calcular cuántos de ellos son pares,
cuánto suman ellos y el promedio de los impares

i=1

Mientras i<=10 Hacer

leer n

suma=suma+n

Si n mod 2=0 Entonces

sumapar<-sumapar+n

Sino

sumaimp<-sumaimp+n

Fin Si

i=i+1
Fin Mientras

Mostrar “la suma total es =”,suma

Mostrar “la suma de los pares =”,sumapar

Mostrar “la suma de los impares =”,sumaimp

FinProceso

6.- Crea una aplicación que nos pida un día de la semana y que nos diga si es un dia laboral o no.
Usa un switch para ello.

Escribir “ingrese un dia de la semana”

Leer dia

Segun dia Hacer

“lunes”:

Mostrar “ES UN DIA LABORAL”

“martes”:

Mostrar “ES UN DIA LABORAL”

“miercoles”:

Mostrar “ES UN DIA LABORAL”

“jueves”:

Mostrar “ES UN DIA LABORAL”

“viernes”:

Mostrar “ES UN DIA LABORAL”

“sabado”:

Mostrar “no es un LABORAL”

“domingo”:

Mostrar “no es un LABORAL”

De Otro Modo:

Mostrar “escriba correctamente”

Fin Segun

FinProceso
7.- Muestra los números del 1 al 100 (ambos incluidos) divisibles entre 2 y 3. Utiliza el bucle que
desees.

Para i<-1 Hasta 100 Hacer

Si i mod 3=0 y i mod 2 =0 Entonces

mostrar “numeros divisible para 3 y 2 es :”,i

Sino

si i mod 2 =0 Entonces

Mostrar “numeros divisible para 2 es :”,i

Sino

si i mod 3=0 Entonces

Mostrar “numero divisible para 3 es : “,i

FinSi

FinSi

Fin Si

Fin Para

FinProceso

8.-Cuenta la cantidad de vocales en forma independiente que se encuentren dentro de un texto


introducido por el usuario

Escribir “ingrese un texto”

Leer text

Para i<-1 Hasta Longitud(text) Hacer

l<-Subcadena(text,i,i)

Si l=”a” Entonces

c=c+1

Sino
si l=”e” Entonces

c1=c1+1

Sino

si l=”i” Entonces

c2=c2+1

Sino

si l=”o” Entonces

c3=c3+1

Sino

si l=”u” Entonces

c4=c4+1

FinSi

FinSi

FinSi

FinSi

Fin Si

Fin Para

Mostrar “la cantidad de a =”,c

Mostrar “la cantidad de e =”,c1

Mostrar “la cantidad de i =”,c2

Mostrar “la cantidad de o =”,c3

Mostrar “la cantidad de u =”,c4

FinProceso

9.-Calcular las calificaciones de un grupo de alumnos. La nota final de cada alumno se calcula
según el siguiente criterio: la parte práctica vale el 10%; la parte de problemas vale el 50% y la
parte teórica el 40%. El algoritmo leerá el nombre del alumno, las tres notas, escribirá el resultado y
volverá a pedir los datos del siguiente alumno hasta que el nombre sea una cadena vacía. Las
notas deben estar entre 0 y 10, si no lo están, no imprimirá las notas, mostrara un mensaje de error
y volverá a pedir otro alumno.

Repetir
Escribir “ingrese nombre del estudiante”

Leer nom1

Escribir “digite nota pactica (10%)”

Leer np

Si np<=1 Entonces

Escribir “digite nota problema (50%)”

Leer npr

si npr<=5 Entonces

Escribir “digite nota teorica(40%)”

Leer nt

si nt<=4 Entonces

re=np+npr+nt

Mostrar “nota final de “,nom1,” es igual a “,re

Sino

Mostrar “esta fuera de rango la nota teorica ”

FinSi

Sino

Mostrar “esta fuera de rango la nota problema ”

FinSi

Sino

Mostrar “esta fuera de rango la nota practica”

Fin Si

Hasta Que nom1=(“”)


 

FinProceso

10.-Calcula el Cuadrado y el Cubo de los 5 primeros números enteros que siguen a uno ingresado
por teclado.

Proceso prog09

//9.        Calcula el Cuadrado y el Cubo de los 5 primeros

//números enteros que siguen a uno ingresado por teclado

Escribir “ingrese un numero”

Leer nu

Para i<-nu Hasta nu+5 Hacer

doble=i*i

triple=i*i*i

Mostrar “el numero “,i,” al cuadrado es “,doble,” el cubo es = “,triple

Fin Para

FinProceso

Multiplica por 2 y divide entre 4 cualquier cantidad ingresada por teclado.

Proceso prog10

Escribir “ingrese el numero uno”

Leer n

res=n*2

div=res/4

Mostrar n,” multiplicado por 2 es igual a “, res

Mostrar “y dividido para 4 es igual a “,div

FinProceso

mostrar los números del 1 al 12 con los lazos para, repetir y mientras

Proceso prog08

Escribir “numeros 1 al 12 Con lazo mientras”

Mientras i<=11 Hacer


i=i+1

Mostrar i

Fin Mientras

Escribir “numeros 1 al 12 Con lazo repetir”

Repetir

a=a+1

Mostrar a

Hasta Que a>=11

Escribir “numeros 1 al 12 Con lazo para”

Para q<-1 Hasta 12 Hacer

Mostrar q

Fin Para

FinProceso

11.- Se desea obtener una operación básica matemática ( + , – , * , / ) del 1 al 12, de cualquier
número ingresado.

Proceso prog06

//6. Se desea obtener una operación básica matemática ( + , – , * , / ) del 1 al 12, de cualquier
número ingresado

Escribir “(1)multiplicacion, (2)suma ,(3)resta, (4)division”

Escribir “escoja una opcion”

Leer num1

Segun num1 Hacer

1:

Escribir “multiplicacion”

Escribir “ingrese un numero”

Leer a
Para i<-1 Hasta 12 Hacer

Mostrar a,”*”,i,”=”,i*a

Fin Para

2:

Escribir “suma”

Escribir “ingrese un numero”

Leer q

Para i<-1 Hasta 12 Hacer

Mostrar q,”+”,i,”=”,i+q

Fin Para

3:

Escribir “resta”

Escribir “ingrese un numero”

Leer as

Para i<-1 Hasta 12 Hacer

Mostrar as,”-“,i,”=”,as-i

Fin Para

4:

Escribir “division”

Escribir “ingrese un numero”

Leer asd

Para i<-1 Hasta 12 Hacer

Mostrar asd,”/”,i,”=”,asd/i

Fin Para

De Otro Modo:

12.- Se desea validar una clave que sea 123456 hasta en tres oportunidades .

Proceso prog07
Escribir “ingrese la contraseña”

Repetir

i=i+1

Leer n

Hasta Que i=3 o n=(“123456”)

FinProceso

Ingrese Dos números para luego indicar si la suma es =24.

Proceso prog01

//ingrese dos números para luego indicar si

//la suma es =24?

n1=0

n2=0

s=0

Escribir “Ingrese primer numero”

Leer n1

Escribir “Ingrese segundo numero”

Leer n2

s=n1+n2

Si s=24 Entonces

Mostrar “la suma de “,n1,” y “,n2,” = “,”24”

Sino

Mostrar “no es igual a 24”

Fin Si

 
FinProceso

Determinar Si un Número es Múltiplo De 3.

Proceso prog02

13.- //Ingrese un numero y Determine si es múltiplo de 3

Escribir “Ingrese un numero”

Leer n

Si n mod 3=0 Entonces

Mostrar n,” es múltiplo de 3 ”

Sino

Mostrar n,” no es múltiplo de 3 ”

Fin Si

FinProceso

14.-Ingrese un numero y Determine si s Par o Impar.

Proceso prog02

//Ingrese un numero y Determine si s Par o Impar

Escribir “Ingrese un numero”

Leer n

Si n mod 2=0 Entonces

Mostrar n,” es par ”

Sino

Mostrar n,” es impar ”

Fin Si

FinProceso

15.- Mostrar La tabla de multiplicar de cualquier número ingresado por teclado.

Proceso prog03

//Mostrar las tablas de multiplicar


// de cualquier numero ingresado por teclado

Escribir “Para Obtener las Tablas De Multiplicar”

Escribir “ingrese un numero”

Leer t

Para i<-1 Hasta 12 Hacer

Mostrar t,” * “,i,” = “,i*t

Fin Para

FinProceso
Si tienes alguna duda o quieres proponer alguna solución alternativa, deja un
comentario en este post o mándanos un mensaje
[email protected] También dejare algunos comentarios para
explicar que hace cada paso. Puedes ponerlos con //

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 cuanto
valen al final las dos variables (recuerda la asignación).

Esconder «
Papel:
1
2 Var A, B, C: numerica
Inicio
3     Escribir "Introduce el valor de A"
4     Leer A
5     Escribir "Introduce el valor de B"
6     Leer B
7     C<-A
    A<-B
8     B<-C
9     Escribir "A vale " A " y B vale " B
10 Fin
11
PSeInt:
1
Proceso ejercicio_1
2
   Escribir "Introduce el valor de A"
3    Leer A
4    Escribir "Introduce el valor de B"
5    Leer B
6    C<-A
   A<-B
7
   B<-C
8    Escribir "A vale " A " y B vale " B
9 FinProceso
10
2) Algoritmo que lea dos números, calculando y escribiendo el valor de su suma,
resta, producto y división.

Esconder «
Papel:
1 Var numero1, numero2, resultado: numerica
Inicio
2
   Escribir "Introduce el primer numero"
3    Leer numero1
4    Escribir "Introduce el segundo numero"
5    Leer numero2
6    resultado<-numero1+numero2
   Escribir resultado
7
8
9    resultado<-numero1-numero2
10    Escribir resultado
   resultado<-numero1*numero2
11    Escribir resultado
12    resultado<-numero1/numero2
13    Escribir resultado
14 Fin
15
PSeInt:
1
2
Proceso ejercicio_2
3     Escribir "Introduce el primer numero"
4     Leer numero1
5     Escribir "Introduce el segundo numero"
6     Leer numero2
    //inicializamos la variable resultado a 0 (recomendable)
7
    resultado<-0
8     //sumamos los numeros y escribimos su resultado
9     resultado<-numero1+numero2
10     Escribir resultado
11     //restamos los numeros y escribimos su resultado
    resultado<-numero1-numero2
12
    Escribir resultado
13     //multiplicamos los numeros y escribimos su resultado
14     resultado<-numero1*numero2
15     Escribir resultado
16     //dividimos los numeros y escribimos su resultado
    resultado<-numero1/numero2
17
    Escribir resultado
18 FinProceso
19
20
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)

Esconder «
Papel:
1 Var numero1, numero2: numerica
Inicio
2
    Escribir "Introduce el primer numero"
3     Leer numero1
4     Escribir "Introduce el segundo numero"
5     Leer numero2
6     Si (numero1>=numero2) Entonces
        Si (numero1=numero2) Entonces
7
           escribir "los numeros " numero1 " " numero2 " son iguales"
8         Sino
9            Escribir numero1 " es el mayor de los dos"
10         FinSi
11
12     Sino
13         Escribir numero2 " es el mayor de los dos"
14     FinSi
Fin
15
16
PSeInt:
1
2
Proceso ejercicio_3
3     Escribir "Introduce el primer numero"
4     Leer numero1
5     Escribir "Introduce el segundo numero"
6     Leer numero2
    //comparamos los dos numeros,
7
    //si el primero es mayor o igual que el segundo entra
8     Si (numero1>=numero2) Entonces
9     //Si el numero1 y numero2 son iguales entra y escribe que son iguales
10     //Sino lo son escribe que el numero1 es el mayor
11         Si (numero1=numero2) Entonces
            escribir "los numeros " numero1 " " numero2 " son iguales"
12
        Sino
13             Escribir numero1 " es el mayor de los dos"
14         FinSi
15      //Si el primer Si es falso, escribe que el numero2 es mayor
16      Sino
        Escribir numero2 " es el mayor de los dos"
17
     FinSi
18 FinProceso
19
20
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).

Esconder «
NOTA: De esta forma que esta hecha, aunque dos de los números sean iguales,
siempre dirá el mayor.
Papel:
1 Var numero1, numero2, numero3: numerica
Inicio
2
    Escribir "Introduce el primer numero"
3     Leer numero1
4     Escribir "Introduce el segundo numero"
5     Leer numero2
6     Escribir "Introduce el tercer numero"
    Leer numero3
7
    Si (numero1>numero2 AND numero1>numero3) Entonces
8         Escribir "el numero " numero1 " es el mayor"
9     Sino
10         Si (numero2>numero3) Entonces
11
12             Escribir "El numero " numero2 " es el mayor"
13         Sino
14             Escribir "El numero " numero3 " es el mayor"
15         FinSi
    FinSi
16
Fin
17
18
PSeInt:
1
2
Proceso ejercicio_4
3     Escribir "Introduce el primer numero"
4     Leer numero1
5     Escribir "Introduce el segundo numero"
6     Leer numero2
7     Escribir "Introduce el tercer numero"
    Leer numero3
8     //comparamos el numero1 con el numero2 y numero3
9     //Si las dos condiciones son verdaderas el numero1 es el mayor
10     Si (numero1>numero2 Y numero1>numero3) Entonces
11        Escribir "el numero " numero1 " es el mayor"
12        //si el numero1 no es el mayor,
       //comparamos el numero2 con el numero3
13     Sino
14        Si (numero2>numero3) Entonces
15           Escribir "El numero " numero2 " es el mayor"
16        Sino
17           Escribir "El numero " numero3 " es el mayor"
       FinSi
18     FinSi
19 FinProceso
20
21
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.

Esconder «
Papel:
1 Var numero1, numero2, numero3, resultado: numerica
Inicio
2
    Escribir "Introduce el primer numero"
3     Leer numero1
4     Escribir "Introduce el segundo numero"
5     Leer numero2
6     Escribir "Introduce el tercer numero"
    Leer numero3
7
    Si (numero1<0) Entonces
8        resultado<-numero1*numero2*numero3
9     Sino
10
11        resultado<-numero1+numero2+numero3
12     FinSi
13     Escribir resultado
Fin
14
15
PSeInt:
1
2 Proceso ejercicio_5
3    Escribir "Introduce el primer numero"
4    Leer numero1
   Escribir "Introduce el segundo numero"
5
   Leer numero2
6    Escribir "Introduce el tercer numero"
7    Leer numero3
8    //si el numero1 es menor que 0,
9    //multiplicara los numero y sino los sumara
   Si (numero1<0) Entonces
10
       resultado<-numero1*numero2*numero3
11    Sino
12        resultado<-numero1+numero2+numero3
13    FinSi
14    Escribir resultado
FinProceso
15
16
6)  Realizar un algoritmo que lea un número por teclado. En caso de que ese número
sea 0 o menor que 0, se saldrá del programa imprimiendo antes un mensaje de
error. Si es mayor que 0, se deberá calcular su cuadrado y la raiz cuadrada del
mismo, visualizando el numero que ha tecleado el usuario y su resultado (“Del
numero X, su potencia es X y su raiz X” ). Para calcular la raiz cuadrada se puede
usar la función interna RAIZ(X)  o con una potencia de 0,5.

Esconder «
Papel:
1 Var numero, potencia, raiz: numerica
Inicio
2
    Escribir "Introduce un numero"
3     Leer numero
4     Si (numero>0) Entonces
5         potencia<-numero^2
6         raiz_cuadrada<-numero^0,5
        Escribir "Su potencia es " potencia "
7
        Escribir "Su raiz es " raiz_cuadrada
8     Sino
9         Escribir "Error, introduce un numero mayor que 0"
10     FinSi
11 Fin
12
13
PSeInt:
1
2 Proceso ejercicio_6
3    Escribir "Introduce un numero"
   Leer numero
4
   //si el numero es mayor que 0, calcula la potencia y la raiz
5    //sino muestra un mensaje de error y sale del programa
6    Si (numero>0) Entonces
7        potencia<-numero^2
8        raiz_cuadrada<-RAIZ(numero)
       Escribir "Su potencia es " potencia
9
       Escribir "Su raiz es " raiz_cuadrada
10    Sino
11        Escribir "Error, introduce un numero mayor que 0"
12    FinSi
13 FinProceso
14
7) Un colegio desea saber qué porcentaje de niños y qué porcentaje de niñas hay en
el curso actual. Diseñar un algoritmo para este propósito (recuerda que para calcular
el porcentaje puedes hacer una regla de 3).

Mostrar »

8) Una tienda ofrece un descuento del 15% sobre el total de la compra durante el
mes de octubre. Dado un mes y un importe, calcular cuál es la cantidad que se debe
cobrar al cliente.

Esconder «
Papel:
1
2 Var mes: cadena
3     importe, total:numerico
Inicio
4
    Escribir "escribe el importe de la compra"
5     Leer importe
6     Escribir "Introduce el mes"
7     Leer mes
8     Si (mes="octubre") Entonces
       total<-importe*0.85
9
    Sino
10         total<-importe
11     FinSi
12     Escribir total
13 Fin
14
PSeInt:
1
2 Proceso ejercicio_8
3     Escribir "escribe el importe de la compra"
    Leer importe
4     Escribir "Introduce el mes"
5     Leer mes
6     //Si el mes es octubre, se aplicara el descuento
7     Si (mes="octubre") Entonces
8        total<-importe*0.85
    Sino
9        total<-importe
10     FinSi
11     Escribir total
12 FinProceso
13
9) Realizar un algoritmo que dado un número entero, visualice en pantalla si es par o
impar. En el caso de ser 0, debe visualizar “el número no es par ni impar” (para que
un numero sea par, se debe dividir entre dos y que su resto sea 0)

Esconder «
Papel:
1
2 Var numero: numerica
3 Inicio
   Escribir "Introduce un numero"
4
   Leer numero
5    Si (numero=0) Entonces
6       Escribir "El " numero " no es par ni impar"
7    Sino
8       Si (numero MOD 2=0) Entonces
         Escribir "El " numero " es par"
9
      Sino
10          Escribir "El " numero " no es par"
11       FinSi
12    FinSi
13 Fin
14
PSeInt:
1 Proceso ejercicio_9
   Escribir "Introduce un numero"
2
   Leer numero
3    Si (numero=0) Entonces
4       Escribir "El " numero " no es par ni impar"
5    Sino
6      //comprobamos si el numero es par
     Si (numero MOD 2=0) Entonces
7
        Escribir "El " numero " es par"
8      Sino
9         Escribir "El " numero " no es par"
10
11      FinSi
12    FinSi
13 FinProceso
14
10) Modificar el algoritmo anterior, de forma que si se teclea un cero, se vuelva a
pedir el número por teclado (así hasta que se teclee un número mayor que cero)
(recuerda la estructura mientras).

Esconder «
Papel:
1
2 Var numero: numerica
3 Inicio
   Escribir "Introduce un numero"
4
   Leer numero
5    Mientras (numero<=0) hacer
6       Escribir "escribe un numero mayor que 0"
7       Leer numero
8    FinMientras
   Si (numero MOD 2=0) Entonces
9
      Escribir "El " numero " es par"
10    Sino
11       Escribir "El " numero " no es par"
12    FinSi
13 Fin
14
PSeInt:
1
2 Proceso ejercicio_10
3    Escribir "Introduce un numero"
   Leer numero
4
   //Hasta que no se introduzca un numero mayor que 0 no saldra del bucle
5    Mientras (numero<=0) hacer
6       Escribir "escribe un numero mayor que 0"
7       Leer numero
8    FinMientras
   Si (numero MOD 2=0) Entonces
9
      Escribir "El " numero " es par"
10    Sino
11       Escribir "El " numero " no es par"
12    FinSi
13 FinProceso
14
11) 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.
Esconder «
Papel:
1
2 Var bachiller, prueba_acceso: cadena
3 Inicio
4    Escribir "¿Tienes el titulo de bachiller?"
   Leer bachiller
5
   si (bachiller="si") Entonces
6       Escribir "Puedes acceder al grado superior"
7    Sino
8       Escribir "¿Tienes la prueba de acceso superada?"
9       Leer prueba_acceso
      si (prueba_acceso="si") Entonces
10
         Escribir "Puedes acceder al grado superior"
11       Sino
12          Escribir "No puedes acceder a un grado superior"
13       FinSi
14    FinSi
Fin
15
16
PSeInt:
1
2 Proceso ejercicio_11
3    Escribir "¿Tienes el titulo de bachiller?"
4    Leer bachiller
   si (bachiller="si") Entonces
5       Escribir "Puedes acceder al grado superior"
6    Sino
7       Escribir "¿Tienes la prueba de acceso superada?"
8       Leer prueba_acceso
9       si (prueba_acceso="si") Entonces
         Escribir "Puedes acceder al grado superior"
10       Sino
11          Escribir "No puedes acceder a un grado superior"
12       FinSi
13    FinSi
14 FinProceso
15
12) Desarrollar un algoritmo que nos calcule el cuadrado de los 9 primeros números
naturales (recuerda la estructura desde-hasta)

Esconder «
Papel:
1 Var num, res: numerica
Inicio
2
3    Desde num<-1 Hasta 9 In 1
      res<-num^2
4       Escribir num "        " res
5    FinDesde
6 Fin
7
PSeInt:
1 Proceso ejercicio_12
2    Para num<-1 Hasta 9 Con Paso 1
3       res<-num^2
4       Escribir num " " res
   FinPara
5
FinProceso
6
NOTA: este ejercicio también se puede hacer con la estructura Mientras, pero lo
hemos hecho con la estructura Desde-Hasta porque sabemos el rango.
13) Se pide representar el algoritmo que nos calcule la suma de los N primeros
números naturales. N se leerá por teclado (no tenemos porque llamar a la variable
N, podemos llamarla como queramos).

Esconder «
Papel:
1
Var N, contador, suma: numerica
2
Inicio
3   Leer N
4   suma<-0
5   Desde contador<-1 Hasta 5 In 1
6      suma<-N+suma
     N<-N+1
7
  FinDesde
8   Escribir suma
9 Fin
10
PSeInt:
1
Proceso ejercicio_13
2    Leer N
3    suma<-0
4    Para contador<-1 Hasta 5 Con Paso 1
5       suma<-N+suma
6       N<-N+1
   FinPara
7    Escribir suma
8 FinProceso
9
14) Se pide representar el algoritmo que nos calcule la suma de los N primeros
números pares. Es decir, si insertamos un 5, nos haga la suma de 6+8+10+12+14.
Esconder «
Papel:
1
2 Var N, contador, suma: numerica
3 Inicio
  Leer N
4   contador<-0
5   Mientras (contador<5) Hacer
6       si (N MOD 2=0) Entonces
7         suma<-N+suma
8         contador<-contador+1
      FinSi
9       N<-N+1
10   FinMientras
11   Escribir suma
12 Fin
13
PSeInt:
1
2 Proceso ejercicio_14
3   Leer N
  contador<-0
4   limite<-N
5   Mientras (contador<limite) Hacer
6     si (N MOD 2=0) Entonces
7         suma<-N+suma
8         contador<-contador+1
    FinSi
9     N<-N+1
10   FinMientras
11   Escribir suma
12 FinProceso
13
15) 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.

Esconder «
Papel:
1 Var num, contador, suma: numerica
Inicio
2
  Leer num
3   suma<-0
4   contador<-1
5   Mientras (num<>-1) Hacer
6       suma<-suma+num
      contador<-contador+1
7
      Leer num
8   FinMientras
9   Escribir suma/(contador-1)
10
11 Fin
12
PSeInt:
1
2 Proceso ejercicio_15
  Leer num
3   suma<-0
4   contador<-1
5   Mientras (num<>-1) Hacer
6      suma<-suma+num
7      contador<-contador+1
     Leer num
8   FinMientras
9   Escribir suma/(contador-1)
10 FinProceso
11
16) 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 interruptor). Si acertamos la clave, saldremos directamente
del programa.

Esconder «
Papel:
1
2 Var clave: cadena
3     acierto: booleano
4     contador: numerica
5 Inicio
   contador<-0
6
   acierto<-Falso
7    Mientras (contador<3 AND acierto=falso) Hacer
8       Leer clave
9       si (clave="eureka") Entonces
10         Escribir "la clave es correcta"
        acierto<-Verdadero
11
      FinSi
12       contador<-contador+1
13    FinMientras
14    si (contador=3 AND acierto=falso) Entonces
15        Escribir "Ya no tienes mas intentos"
   FinSi
16
Fin
17
18
PSeInt:
1 Proceso ejercicio_16
    contador<-0
2
    //interruptor
3
4
5     acierto<-Falso
6     //usamos un interruptor, cuando acertemos,
7     //cambiara y la condicion sera falsa
    Mientras (contador<3 Y acierto=falso) Hacer
8         //ponemos aqui leer porque con las variables
9         //iniciales entra en el bucle
10         Escribir "introduce la clave"
11         Leer clave
12         si (clave="eureka") Entonces
            Escribir "la clave es correcta"
13             //el interruptor cambia cuando acertamos
14             acierto<-Verdadero
15         FinSi
16         contador<-contador+1
17     FinMientras
    //este mensaje solo aparecera si hemos agotado
18     //todos los intentos y no hemos acertado
19     si (contador=3 Y acierto=falso) Entonces
20          Escribir "Ya no tienes mas intentos"
21     FinSi
22 FinProceso
23
24

17) Algoritmo que lea números enteros hasta teclear 0, y nos muestre el máximo, el
mínimo y la media de todos ellos. Piensa como debemos inicializar las variables.

Esconder «
Papel:
1 Var maximo, minimo, num, suma, media, contador: numerica
Inicio
2
   Leer num
3    minimo<-num
4    maximo<-num
5    suma<-0
6    Mientras (num<>0) Hacer
      si (num>maximo) Entonces
7
         maximo<-num
8       FinSi
9       si (num<minimo) Entonces
10          minimo<-num
11       FinSi
      suma<-suma+num
12
      contador<-contador+1
13       leer num
14    FinMientras
15
16
17    media<-suma/(contador)
   Escribir "El maximo es " maximo
18    Escribir "El minimo es " minimo
19    Escribir "La media es " media
20 Fin
21
22
PSeInt:
1
2
3 Proceso ejercicio_17
4   Leer num
  //maximo y el minimo se inician con el numero que
5   //insertemos para que lo podamos modificar
6   //durante el programa
7   minimo<-num
8   maximo<-num
9   suma<-0
  Mientras (num<>0) Hacer
10      si (num>maximo) Entonces
11         maximo<-num
12      FinSi
13      si (num<minimo) Entonces
14         minimo<-num
     FinSi
15      suma<-suma+num
16      contador<-contador+1
17      leer num
18   FinMientras
19   media<-suma/(contador)
  //escrbimos los resultados
20   Escribir "El maximo es " maximo
21   Escribir "El minimo es " minimo
22   Escribir "La media es " media
23 FinProceso
24
25
18) Algoritmo que visualice la cuenta de los números que son múltiplos de 2 o de 3
que hay entre 1 y 100.

Esconder «
Papel:
1 Var num: numerica
Inicio
2
   Desde num<-1 Hasta 100 In 1
3       //asi indicamos si un numero es multiplo de 3 o de 2
4       si (num MOD 2=0 OR num MOD 3=0) Entonces
5           Escribir num
6
      FinSi
7    FinDesde
8 Fin
9
PSeInt:
1
Proceso ejercicio_18
2    Para num<-1 Hasta 100 Con Paso 1
3       //asi indicamos si un numero es multiplo de 3 o de 2
4       si (num MOD 2=0 o num MOD 3=0) Entonces
5          Escribir num
      FinSi
6
   FinPara
7 FinProceso
8
19) Leer tres números que denoten una fecha (día, mes, año). Comprobar que es
una fecha válida. Si no es válida escribir un mensaje de error. Si es válida escribir la
fecha cambiando el número del mes por su nombre. Ej. si se introduce 1 2 2006, se
deberá imprimir “1 de febrero de 2006”. El año debe ser mayor que 0. (Recuerda la
estructura segun sea).

NOTA: en PSeInt, si queremos escribir sin que haya saltos de linea, al final de la
operacion escribir escribimos sin saltar.

Esconder «
Papel:
1 Var dia, mes, año: numerica
Inicio
2
   Escribir "Introduce el dia"
3    Leer dia
4    Escribir "Introduce el mes"
5    Leer mes Escribir "Introduce el año"
6    Leer año
   //comprobamos que la fecha es correcto
7
   si ((dia<=31 y dia>=0) AND (mes<=12 y mes>=0) AND año>0) Entonces
8       Escribir dia sin saltar
9       //usamos el segun sea para escribir el mes
10       Segun mes Hacer
11          1:
            escribir " de enero de" sin saltar
12
         2:
13             escribir " de febrero de " sin saltar
14          3:
15             escribir " de marzo de " sin saltar
16          4:
            escribir " de abril de " sin saltar
17
         5:
18             escribir " de mayo de " sin saltar
19          6:
20             escribir " de junio de " sin saltar
         7:
21
22
23
24
25             escribir " de julio de " sin saltar
         8:
26             escribir " de agosto de " sin saltar
27          9:
28             escribir " de septiembre de " sin saltar
29          10:
30             escribir " de octubre de " sin saltar
         11:
31             escribir " de noviembre de " sin saltar
32          12:
33             escribir " de diciembre de " sin saltar
34       FinSegun
35       Escribir año
   Sino
36       Escribir "error"
37    FinSi
38 Fin
39
40
41
42
PSeInt:
1 Proceso ejercicio_19
   Escribir "Introduce el dia"
2
   Leer dia
3    Escribir "Introduce el mes"
4    Leer mes
5    Escribir "Introduce el año"
6    Leer año
   //comprobamos que la fecha es correcto
7
   si ((dia<=31 y dia>=0) y (mes<=12 y mes>=0) y año>0) Entonces
8       Escribir dia sin saltar
9       //usamos el segun sea para escribir el mes
10       Segun mes Hacer
11         1:
         escribir " de enero de" sin saltar
12
        2:
13          escribir " de febrero de " sin saltar
14         3:
15          escribir " de marzo de " sin saltar
16         4:
         escribir " de abril de " sin saltar
17
        5:
18          escribir " de mayo de " sin saltar
19         6:
20          escribir " de junio de " sin saltar
21         7:
22
23
24
25          escribir " de julio de " sin saltar
26         8:
27          escribir " de agosto de " sin saltar
28         9:
         escribir " de septiembre de " sin saltar
29         10:
30          escribir " de octubre de " sin saltar
31         11:
32          escribir " de noviembre de " sin saltar
33         12:
         escribir " de diciembre de " sin saltar
34       FinSegun
35       Escribir año
36    Sino
37       Escribir "error"
38    FinSi
FinProceso
39
40
41
42
20) Calcular las calificaciones de un grupo de alumnos. La nota final de cada alumno
se calcula según el siguiente criterio: la parte práctica vale el 10%; la parte de
problemas vale el 50% y la parte teórica el 40%. El algoritmo leerá el nombre del
alumno, las tres notas, escribirá el resultado y volverá a pedir los datos del siguiente
alumno hasta que el nombre sea una cadena vacía. Las notas deben estar entre 0 y
10, si no lo están, no imprimirá las notas, mostrara un mensaje de error y volverá a
pedir otro alumno.

Esconder «
Papel:
1 Var alumno: cadena
    nota_teoria, nota_problemas, nota_teoria, nota_final: numerica
2
Inicio
3      Escribir "Introduce el nombre del alumno"
4      Leer alumno
5      Mientras alumno<>"" Hacer
6         Escribir "Introduce la nota practica"
        leer nota_practica
7
        Escribir "Introduce la nota de problemas"
8         leer nota_problemas
9         Escribir "Introduce la nota de teoria"
10         Leer nota_teoria
11         //NOTA: este si esta agrupado por falta de espacio
        si (nota_practica<=10 AND nota_practica>=0)
12
        AND (nota_problemas<=10 AND nota_problemas>=0)
13         AND (nota_teoria<=10 AND nota_teoria>=0) Entonces
14
15
16
           Escribir "El alumno " alumno
17
           Escribir "La nota practica es " nota_practica
18            Escribir "La nota de problemas es " nota_problemas
19            Escribir "La nota de teoria es " nota_teoria
20            nota_practica<-nota_practica*0.1
21            nota_problemas<-nota_problemas*0.5
           nota_teoria<-nota_teoria*0.4
22
           nota_final<-nota_practica+nota_problemas+nota_teoria
23            Escribir "La nota final es " nota_final
24         Sino
25            Escribir "Has escrito una nota incorrecta, vuelve a intentarlo"
26         FinSi
27  
        Escribir "Introduce el nombre de otro alumno"
28
        Leer alumno
29      FinMientras
30 Fin
31
32
33
PSeInt:
1 Proceso ejercicio_20
   Escribir "Introduce el nombre del alumno"
2
   Leer alumno
3    Mientras alumno<>"" Hacer
4       //si introducimos un nombre de alumno
5       //correcto, entrara en el bucle
6       Escribir "Introduce la nota practica"
      leer nota_practica
7
      Escribir "Introduce la nota de problemas"
8       leer nota_problemas
9       Escribir "Introduce la nota de teoria"
10       Leer nota_teoria
11       //comprobamos si las notas tienen un rango correcto
      //NOTA: este si esta agrupado por falta de espacio
12
      si (nota_practica<=10 y nota_practica>=0)
13       y (nota_problemas<=10 y nota_problemas>=0)
14       y (nota_teoria<=10 y nota_teoria>=0) Entonces
15          Escribir "El alumno " alumno
16          Escribir "La nota practica es " nota_practica
         Escribir "La nota de problemas es " nota_problemas
17
         Escribir "La nota de teoria es " nota_teoria
18          nota_practica<-nota_practica*0.1
19          nota_problemas<-nota_problemas*0.5
20          nota_teoria<-nota_teoria*0.4
21          nota_final<-nota_practica+nota_problemas+nota_teoria
         Escribir "La nota final es " nota_final
22
      Sino
23          Escribir "Has escrito una nota incorrecta, vuelve a intentarlo"
24
25
26
27       FinSi
         Escribir "Introduce el nombre de otro alumno"
28          Leer alumno
29    FinMientras
30 FinProceso
31
32
33
21) Algoritmo que lea un número entero (lado) y a partir de él cree un cuadrado de
asteriscos con ese tamaño. Los asteriscos sólo se verán en el borde del cuadrado, no
en el interior.

Ejemplo, para lado = 4 escribiría:

****

*  *

*  *

****

Esconder «
NOTA: este tipo de ejercicios cambian mucho en papel y en PSeInt, en papel es
mas sencillo que en PSeInt.
Papel:
1 Var lado, asterisco, espacio: numerica
Inicio
2
  Leer lado
3   Desde asterisco<-1 Hasta lado In 1
4       Escribir "*"
5   FinDesde
6   escribir " "
  desde asterisco<-1 Hasta lado-2 In 1
7
      Escribir "*"
8       Desde espacio<-1 Hasta lado-2 In 1
9          Escribir " "
10       FinDesde
11       Escribir "*"
      escribir " "
12
  FinDesde
13   Desde asterisco<-1 Hasta lado In 1
14       Escribir "*"
15   FinDesde
Fin
16
17
18
19
PSeInt:
1
2 Proceso ejercicio_21
3   Leer lado
4   Para asterisco<-1 Hasta lado Con Paso 1
5       Escribir "*" Sin Saltar
  FinPara
6
  escribir " "
7   Para asterisco<-1 Hasta lado-2 Con Paso 1
8       Escribir "*" Sin Saltar
9       Para espacio<-1 Hasta lado-2 Con Paso 1
10          Escribir " " sin saltar
      FinPara
11
      Escribir "*" Sin Saltar
12       escribir " "
13   FinPara
14   Para asterisco<-1 Hasta lado Con Paso 1
15       Escribir "*" Sin Saltar
  FinPara
16
FinProceso
17
18
22) Algoritmo que lea un número entero (altura) y a partir de él cree una escalera
invertida de asteriscos con esa altura. Debera quedar asi, si ponemos una altura de
5.

*****

****

***

**

Esconder «
Papel:
1 Var altura, asterisco, espacio, espacio_linea, asterisco_linea: numerica
Inicio
2
  Leer altura
3   asterisco<-altura
4   espacio<-0
5
6   Desde linea<-1 hasta altura In 1
7       Desde espacio_linea<-0 hasta espacio In 1
8         Escribir " "
9       FinDesde
      Desde asterisco_linea<-1 hasta asterisco In 1
10
        Escribir "*"
11       FinDesde
12       asterisco<-asterisco-1
13       espacio<-espacio+1
14       Escribir " "
  FinDesde
15
Fin
16
17
PSeInt:
1
2
Proceso ejercicio_22
3   Leer altura
4   //iniciamos las variables segun lo necesitamos
5   asterisco<-altura
6   espacio<-0
  Para linea<-1 hasta altura con paso 1
7
      //escribimos los espacios iniciales
8       Para espacio_linea<-0 hasta espacio con paso 1
9          Escribir " " sin saltar
10       FinPara
11       //escribimos los asteriscos de la escalera
      Para asterisco_linea<-1 hasta asterisco con paso 1
12
         Escribir "*" sin saltar
13       FinPara
14       //aumentamos los espacios y disminuimos los asteriscos
15       asterisco<-asterisco-1
16       espacio<-espacio+1
      Escribir " "
17
  FinPara
18 FinProceso
19
20
23)  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.
Esconder «
Papel:
1
2 Var año: numerica
3 Inicio
   Escribir "Introduce un año"
4
   leer año
5    si (año MOD 4=0 y año MOD 100<>0)Entonces
6       Escribir "El año " año " es bisiesto"
7    Sino
8       si (año MOD 400=0 y año MOD 100=0) Entonces
         Escribir "El año " año " es bisiesto"
9
      Sino
10          escribir "El año " año " no es bisiesto"
11       FinSi
12    FinSi
13 Fin
14
PSeInt:
1
2 Proceso ejercicio_23
3    Escribir "Introduce un año"
   leer año
4    si (año MOD 4=0 y año MOD 100<>0)Entonces
5       Escribir "El año " año " es bisiesto"
6    Sino
7       si (año MOD 400=0 y año MOD 100=0) Entonces
8          Escribir "El año " año " es bisiesto"
      Sino
9          escribir "El año " año " no es bisiesto"
10       FinSi
11    FinSi
12 FinProceso
13
24) El siguiente es el menú de un restaurante de bocadillos. Diseñar un
algoritmo capaz de leer el número de unidades consumidas de cada alimento
ordenado y calcular la cuenta total. Vamos a suponer que estos precios son fijos, es
decir, que son constantes (recuerda que en PSeInt no se usa comas para separar la
parte decimal de la parte entera).

PRODUCTO

Bocadillo de jamón

Refresco

Cerveza
PRODUCTO

Esconder «
Papel:
1
2 Inicio
3    JAMON=1.5
4    REFRESCO=1.05
   CERVEZA=0.75
5
   total=0
6    Escribir "Introduce la cantidad de bocadillos de jamon"
7    Leer cant_jamon
8    Escribir "Introduce la cantidad de refresco"
9    Leer cant_refresco
   Escribir "Introduce la cantidad de cerveza"
10
   Leer cant_cerveza
11    //NOTA: las 2 siguientes lineas van en una linea
12    total<-((cant_jamon*JAMON)+(cant_refresco*REFRESCO)
13    +(cant_cerveza*CERVEZA))
14    Escribir total
Fin
15
16
PSeInt:
1
2 Proceso ejercicio_24
3    JAMON=1.5
4    REFRESCO=1.05
   CERVEZA=0.75
5
   total=0
6    Escribir "Introduce la cantidad de bocadillos de jamon"
7    Leer cant_jamon
8    Escribir "Introduce la cantidad de refresco"
9    Leer cant_refresco
   Escribir "Introduce la cantidad de cerveza"
10
   Leer cant_cerveza
11    //NOTA: los dos siguientes van en una linea
12    total<-((cant_jamon*JAMON)+(cant_refresco*REFRESCO)
13    +(cant_cerveza*CERVEZA))
14    Escribir total
FinProceso
15
16
25) Algoritmo que nos calcule las raíces de una ecuación de segundo grado.
Controlar el caso de que las soluciones sean imaginarias.

Esconder «
Papel:
1
2 Var a,b, c, raizcua, x1, x2: numerica
3 Inicio
4   Escribir "escibe el valor de a"
5   Leer a
6   Escribir "escibe el valor de b"
  Leer b
7   Escribir "escibe el valor de c"
8   Leer c
9   neg<--b
10   raizcua<-(b^2-4*a*c)^0.5
11   Si raizcua<=0 Entonces
      Escribir "La ecuacion no se puede resolver"
12   Sino
13       x1<-(neg+raizcua)/(2*a)
14       x2<-(neg-raizcua)/(2*a)
15       Escribir x1
16       Escribir x2
  FinSi
17 Fin
18
19
PSeInt:
1
2 Proceso ejercicio_25
3    Escribir "escibe el valor de a"
4    Leer a
5    Escribir "escibe el valor de b"
   Leer b
6
   Escribir "escibe el valor de c"
7    Leer c
8    neg<--b
9    raizcua<-(b^2-4*a*c)^0.5
10    Si raizcua<=0 Entonces
      Escribir "La ecuacion no se puede resolver"
11
   Sino
12       totalx1<-(NEG+Raizcua)/(2*a)
13       totalx2<-(NEG-Raizcua)/(2*a)
14       Escribir Totalx1
15       Escribir Totalx2
   FinSi
16
FinProceso
17
18

También podría gustarte