Esconder «
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:
12345678910
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
FinProceso
2) Algoritmo que lea dos números, calculando y escribiendo
el valor de su suma, resta, producto y división.
Esconder «
Papel:
Inicio
Escribir "Introduce el primer numero"
Leer numero1
Escribir "Introduce el segundo numero"
Leer numero2
resultado<-numero1+numero2
Escribir resultado
resultado<-numero1-numero2
Escribir resultado
resultado<-numero1*numero2
Escribir resultado
resultado<-numero1/numero2
Escribir resultado
Fin
PSeInt:
1234567891011121314151617181920
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 numeros y escribimos su resultado
resultado<-numero1+numero2
//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
FinProceso
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 «
12345678910111213141516
Var numero1, numero2: numerica
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:
1234567891011121314151617181920
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
FinProceso
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:
123456789101112131415161718
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"
Leer 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:
123456789101112131415161718192021
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
FinProceso
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:
123456789101112131415
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
resultado<-numero1*numero2*numero3
Sino
resultado<-numero1+numero2+numero3
FinSi
Escribir resultado
Fin
PSeInt:
12345678910111213141516
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
resultado<-numero1*numero2*numero3
Sino
resultado<-numero1+numero2+numero3
FinSi
Escribir resultado
FinProceso
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:
12345678910111213
Inicio
Escribir "Introduce un numero"
Leer numero
Si (numero>0) Entonces
potencia<-numero^2
raiz_cuadrada<-numero^0,5
Escribir "Su potencia es " potencia "
Escribir "Su raiz es " raiz_cuadrada
Sino
Escribir "Error, introduce un numero mayor que 0"
FinSi
Fin
PSeInt:
1234567891011121314
Proceso ejercicio_6
Escribir "Introduce un numero"
Leer numero
//si el numero es mayor que 0, calcula la potencia y la raiz
//sino muestra un mensaje de error y sale del programa
Si (numero>0) Entonces
potencia<-numero^2
raiz_cuadrada<-RAIZ(numero)
Escribir "Su potencia es " potencia
Escribir "Su raiz es " raiz_cuadrada
Sino
Escribir "Error, introduce un numero mayor que 0"
FinProceso
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).
Esconder «
Papel:
1234567891011
Var numero_niños, numero_niñas, resultado: numerica
Inicio
Escribir "Introduce el numero de niños"
Leer numero_niños
Escribir "Introduce el numero de niñas"
Leer numero_niñas
porcentaje_niños<-numero_niños*100/(numero_niños+numero_niñas)
porcentaje_niñas<-100-porcentaje_niños
Escribir "Hay un " porcentaje_niños " % de
niños
Escribir "Hay un " porcentaje_niñas " % de
niñas
Fin
PSeInt:
1234567891011
Proceso Ejercicio_7
Escribir "Introduce el numero de niños"
Leer numero_niños
Escribir "Introduce el numero de niñas"
Leer numero_niñas
//calculamos el porcentaje
porcentaje_niños<-numero_niños*100/(numero_niños+numero_niñas)
porcentaje_niñas<-100-porcentaje_niños
Escribir "Hay un " porcentaje_niños " % de
niños
Escribir "Hay un " porcentaje_niñas " % de
niñas"
FinProceso
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:
1234567891011121314
Var mes: cadena
Inicio
Escribir "escribe el importe de la compra"
Leer importe
Escribir "Introduce el mes"
Leer mes
Si (mes="octubre") Entonces
total<-importe*0.85
Sino
total<-importe
FinSi
Escribir total
Fin
PSeInt:
12345678910111213
Proceso ejercicio_8
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
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:
1234567891011121314
Var numero: numerica
Inicio
Escribir "Introduce un numero"
Leer numero
Si (numero=0) Entonces
Escribir "El " numero " no es par ni
impar"
Sino
Si (numero MOD 2=0) Entonces
Escribir "El " numero " es par"
Sino
Escribir "El " numero " no es par"
FinSi
FinSi
Fin
PSeInt:
1234567891011121314
Proceso ejercicio_9
Escribir "Introduce un numero"
Leer numero
Si (numero=0) Entonces
Escribir "El " numero " no es par ni
impar"
Sino
//comprobamos si el numero es par
Si (numero MOD 2=0) Entonces
Escribir "El " numero " es par"
Sino
Escribir "El " numero " no es par"
FinSi
FinSi
FinProceso
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:
1234567891011121314
Var numero: numerica
Inicio
Escribir "Introduce un numero"
Leer numero
Mientras (numero<=0) hacer
Escribir "escribe un numero mayor que 0"
Leer numero
FinMientras
Si (numero MOD 2=0) Entonces
Escribir "El " numero " es par"
Sino
Escribir "El " numero " no es par"
FinSi
Fin
PSeInt:
1234567891011121314
Proceso ejercicio_10
Escribir "Introduce un numero"
Leer numero
//Hasta que no se introduzca un numero mayor que 0 no saldra
del bucle
Mientras (numero<=0) hacer
Escribir "escribe un numero mayor que 0"
Leer numero
FinMientras
Si (numero MOD 2=0) Entonces
Escribir "El " numero " es par"
Sino
Escribir "El " numero " no es par"
FinSi
FinProceso
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:
12345678910111213141516
Var bachiller, prueba_acceso: cadena
Inicio
Escribir "¿Tienes el titulo de bachiller?"
Leer bachiller
si (bachiller="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "¿Tienes la prueba de acceso superada?"
Leer prueba_acceso
si (prueba_acceso="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "No puedes acceder a un grado superior"
FinSi
Fin
PSeInt:
123456789101112131415
Proceso ejercicio_11
Escribir "¿Tienes el titulo de bachiller?"
Leer bachiller
si (bachiller="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "¿Tienes la prueba de acceso superada?"
Leer prueba_acceso
si (prueba_acceso="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "No puedes acceder a un grado superior"
FinSi
FinSi
FinProceso
12) Desarrollar un algoritmo que nos calcule el cuadrado de
los 9 primeros números naturales (recuerda la estructura desde-hasta)
Esconder «
Papel:
1234567
Var num, res: numerica
Inicio
Desde num<-1 Hasta 9 In 1
res<-num^2
Escribir num "
" res
FinDesde
Fin
PSeInt:
123456
Proceso ejercicio_12
Para num<-1 Hasta 9 Con Paso 1
res<-num^2
Escribir num " " res
FinPara
FinProceso
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:
12345678910
Var N, contador, suma: numerica
Inicio
Leer N
suma<-0
Desde contador<-1 Hasta 5 In 1
suma<-N+suma
N<-N+1
FinDesde
Escribir suma
Fin
PSeInt:
123456789
Proceso ejercicio_13
Leer N
suma<-0
Para contador<-1 Hasta 5 Con Paso 1
suma<-N+suma
N<-N+1
FinPara
Escribir suma
FinProceso
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:
12345678910111213
Var N, contador, suma: numerica
Inicio
Leer N
contador<-0
Mientras (contador<5) Hacer
si (N MOD 2=0) Entonces
suma<-N+suma
contador<-contador+1
FinSi
N<-N+1
FinMientras
Escribir suma
Fin
PSeInt:
12345678910111213
Proceso ejercicio_14
Leer N
contador<-0
limite<-N
Mientras (contador<limite) Hacer
si (N MOD 2=0) Entonces
suma<-N+suma
contador<-contador+1
FinSi
N<-N+1
FinMientras
Escribir suma
FinProceso
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:
123456789101112
Var num, contador, suma: numerica
Inicio
Leer num
suma<-0
contador<-1
Mientras (num<>-1) Hacer
suma<-suma+num
contador<-contador+1
Leer num
FinMientras
Escribir suma/(contador-1)
Fin
PSeInt:
1234567891011
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)
FinProceso
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:
123456789101112131415161718
Var clave: cadena
acierto: booleano
contador: numerica
Inicio
contador<-0
acierto<-Falso
Mientras (contador<3 AND acierto=falso) Hacer
Leer clave
si (clave="eureka") Entonces
Escribir "la clave es correcta"
acierto<-Verdadero
FinSi
contador<-contador+1
FinMientras
si (contador=3 AND acierto=falso) Entonces
Escribir "Ya no tienes mas intentos"
FinSi
Fin
PSeInt:
123456789101112131415161718192021222324
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
//ponemos aqui leer porque con las variables
//iniciales entra en el bucle
Escribir "introduce la clave"
Leer clave
si (clave="eureka") Entonces
Escribir "la clave es correcta"
//el interruptor cambia cuando acertamos
acierto<-Verdadero
FinSi
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
Escribir "Ya no tienes mas intentos"
FinSi
FinProceso
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:
12345678910111213141516171819202122
Var maximo, minimo, num, suma, media, contador: numerica
Inicio
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
Fin
PSeInt:
12345678910111213141516171819202122232425
Proceso ejercicio_17
Leer num
//maximo y el minimo se inician con el numero que
//insertemos para que lo podamos modificar
//durante el programa
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)
//escrbimos los resultados
Escribir "El maximo es " maximo
Escribir "El minimo es " minimo
Escribir "La media es " media
FinProceso
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:
123456789
Var num: numerica
Inicio
Desde num<-1 Hasta 100 In 1
//asi indicamos si un numero es multiplo de 3 o de 2
si (num MOD 2=0 OR num MOD 3=0) Entonces
Escribir num
FinSi
FinDesde
Fin
PSeInt:
12345678
Proceso ejercicio_18
Para num<-1 Hasta 100 Con Paso 1
//asi indicamos si un numero es multiplo de 3 o de 2
si (num MOD 2=0 o num MOD 3=0) Entonces
Escribir num
FinSi
FinPara
FinProceso
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:
123456789101112131415161718192021222324252627282930313233343536373839404142
Var dia, mes, año: numerica
Inicio
Escribir "Introduce el dia"
Leer dia
Escribir "Introduce el mes"
Leer mes Escribir "Introduce el año"
Leer año
//comprobamos que la fecha es correcto
si ((dia<=31 y dia>=0) AND (mes<=12 y mes>=0)
AND año>0) Entonces
Escribir dia sin saltar
//usamos el segun sea para escribir el mes
Segun mes Hacer
1:
escribir " de enero de" sin saltar
2
escribir " de febrero de " sin saltar
3:
escribir " de marzo de " sin saltar
4:
escribir " de abril de " sin saltar
5:
escribir " de mayo de " sin saltar
6:
escribir " de junio de " sin saltar
7:
escribir " de julio de " sin saltar
8:
escribir " de agosto de " sin saltar
9:
escribir " de septiembre de " sin salta
10:
escribir " de octubre de " sin saltar
11:
escribir " de noviembre de " sin saltar
12:
escribir " de diciembre de " sin saltar
FinSegun
Escribir año
Sino
Escribir "error"
FinSi
Fin
PSeInt:
123456789101112131415161718192021222324252627282930313233343536373839404142
Proceso ejercicio_19
Escribir "Introduce el dia"
Leer dia
Escribir "Introduce el mes"
Leer mes
Escribir "Introduce el año"
Leer año
//comprobamos que la fecha es correcto
si ((dia<=31 y dia>=0) y (mes<=12 y mes>=0) y
año>0) Entonces
Escribir dia sin saltar
//usamos el segun sea para escribir el mes
Segun mes Hacer
1:
escribir " de enero de" sin saltar
2:
escribir " de febrero de " sin saltar
3:
escribir " de marzo de " sin saltar
4:
escribir " de abril de " sin saltar
5:
escribir " de mayo de " sin saltar
6:
escribir " de junio de " sin saltar
7:
escribir " de julio de " sin saltar
8:
escribir " de agosto de " sin saltar
9:
escribir " de septiembre de " sin saltar
10:
escribir " de octubre de " sin saltar
11:
escribir " de noviembre de " sin saltar
12:
escribir " de diciembre de " sin saltar
FinSegun
Escribir año
Sino
Escribir "error"
FinSi
FinProceso
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:
123456789101112131415161718192021222324252627282930313233
Var alumno: cadena
nota_teoria, nota_problemas, nota_teoria, nota_final:
numerica
Inicio
Escribir "Introduce el nombre del alumno"
Leer alumno
Mientras alumno<>"" Hacer
Escribir "Introduce la nota practica"
leer nota_practica
Escribir "Introduce la nota de problemas"
leer nota_problemas
Escribir "Introduce la nota de teoria"
Leer nota_teoria
//NOTA: este si esta agrupado por falta de espacio
si (nota_practica<=10 AND nota_practica>=0)
AND (nota_problemas<=10 AND nota_problemas>=0)
AND (nota_teoria<=10 AND nota_teoria>=0) Entonces
Escribir "El alumno " alumno
Escribir "La nota practica es " nota_practica
Escribir "La nota de problemas es " nota_problemas
Escribir "La nota de teoria es " nota_teoria
nota_practica<-nota_practica*0.1
nota_problemas<-nota_problemas*0.5
nota_teoria<-nota_teoria*0.4
nota_final<-nota_practica+nota_problemas+nota_teoria
Escribir "La nota final es " nota_final
Sino
Escribir "Has escrito una nota incorrecta, vuelve a
intentarlo"
FinSi
Escribir "Introduce el nombre de otro alumno"
Leer alumno
FinMientras
Fin
PSeInt:
123456789101112131415161718192021222324252627282930313233
Proceso ejercicio_20
Escribir "Introduce el nombre del alumno"
Leer alumno
Mientras alumno<>"" Hacer
//si introducimos un nombre de alumno
//correcto, entrara en el bucle
Escribir "Introduce la nota practica"
leer nota_practica
Escribir "Introduce la nota de problemas"
leer nota_problemas
Escribir "Introduce la nota de teoria"
Leer nota_teoria
//comprobamos si las notas tienen un rango correcto
//NOTA: este si esta agrupado por falta de espacio
si (nota_practica<=10 y nota_practica>=0)
y (nota_problemas<=10 y nota_problemas>=0)
y (nota_teoria<=10 y nota_teoria>=0) Entonces
Escribir "El alumno " alumno
Escribir "La nota practica es " nota_practica
Escribir "La nota de problemas es " nota_problemas
Escribir "La nota de teoria es " nota_teoria
nota_practica<-nota_practica*0.1
nota_problemas<-nota_problemas*0.5
nota_teoria<-nota_teoria*0.4
nota_final<-nota_practica+nota_problemas+nota_teoria
Escribir "La nota final es " nota_final
Sino
Escribir "Has escrito una nota incorrecta, vuelve a
intentarlo"
FinSi
Escribir "Introduce el nombre de otro alumno"
Leer alumno
FinMientras
FinProceso
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:
12345678910111213141516171819
Var lado, asterisco, espacio: numerica
Inicio
Leer lado
Desde asterisco<-1 Hasta lado In 1
Escribir "*"
FinDesde
escribir " "
desde asterisco<-1 Hasta lado-2 In 1
Escribir "*"
Desde espacio<-1 Hasta lado-2 In 1
Escribir " "
FinDesde
Escribir "*"
escribir " "
FinDesde
Desde asterisco<-1 Hasta lado In 1
Escribir "*"
FinDesde
Fin
PSeInt:
123456789101112131415161718
Proceso ejercicio_21
Leer lado
Para asterisco<-1 Hasta lado Con Paso 1
Escribir "*" Sin Saltar
FinPara
escribir " "
Para asterisco<-1 Hasta lado-2 Con Paso 1
Escribir "*" Sin Saltar
Para espacio<-1 Hasta lado-2 Con Paso 1
Escribir " " sin saltar
FinPara
Escribir "*" Sin Saltar
escribir " "
FinPara
Para asterisco<-1 Hasta lado Con Paso 1
Escribir "*" Sin Saltar
FinPara
FinProceso
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:
1234567891011121314151617
Var altura, asterisco, espacio, espacio_linea,
asterisco_linea: numerica
Inicio
Leer altura
asterisco<-altura
espacio<-0
Desde linea<-1 hasta altura In 1
Desde espacio_linea<-0 hasta espacio In 1
Escribir " "
FinDesde
Desde asterisco_linea<-1 hasta asterisco In 1
Escribir "*"
FinDesde
asterisco<-asterisco-1
espacio<-espacio+1
Escribir " "
FinDesde
Fin
PSeInt:
1234567891011121314151617181920
Proceso ejercicio_22
Leer altura
//iniciamos las variables segun lo necesitamos
asterisco<-altura
espacio<-0
Para linea<-1 hasta altura con paso 1
//escribimos los espacios iniciales
Para espacio_linea<-0 hasta espacio con paso 1
Escribir " " sin saltar
FinPara
//escribimos los asteriscos de la escalera
Para asterisco_linea<-1 hasta asterisco con paso 1
Escribir "*" sin saltar
FinPara
//aumentamos los espacios y disminuimos los asteriscos
asterisco<-asterisco-1
espacio<-espacio+1
Escribir " "
FinPara
FinProceso
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.
Mostrar »
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).
ProductoPrecio
Bocadillo de jamón1,5 €
Refresco1,05 €
Cerveza0,75 €
Papel:
12345678910111213141516
Inicio
JAMON=1.5
REFRESCO=1.05
CERVEZA=0.75
total=0
Escribir "Introduce la cantidad de bocadillos de
jamon"
Leer cant_jamon
Escribir "Introduce la cantidad de refresco"
Leer cant_refresco
Escribir "Introduce la cantidad de cerveza"
Leer cant_cerveza
//NOTA: las 2 siguientes lineas van en una linea
total<-((cant_jamon*JAMON)+(cant_refresco*REFRESCO)
+(cant_cerveza*CERVEZA))
Escribir total
Fin
No hay comentarios:
Publicar un comentario