Académique Documents
Professionnel Documents
Culture Documents
exponente dado.
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
2) Escribe una funcin en pseudocdigo que devuelva el trmino N (siendo N un nmero entero positivo)
de la serie de Fibonacci, esta sigue la siguiente serie: 1, 1, 2, 3, 5, 8, 13, 21 y as sucesivamente. Date
cuenta, que para obtener un numero, suma los dos nmeros anteriores. Por ejemplo, si introducimos un
3, la funcin nos devuelve el 2.
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
suma<-1
contador<-1
Mientras (contador<posicion)
suma<-num1+num2
num1<-num2
num2<-suma
contador<-contador+1
FinMientras
devolver suma
Fin-Funcion
Algoritmo principal
Var posicion, resultado: numerica
Inicio
leer posicion
resultado<-Fibonacci(posicion)
escribir resultado
Fin
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
3) Escribe una funcin en pseudocdigo que devuelva el rea de un crculo dado su radio. Recuerda
que para calcular el area, la formula es * r2
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PI<-3.14
area<-PI*(radio^2)
devolver area
Fin-Funcion
Algoritmo principal
Var radio, area: numerica
Inicio
escribir "Escribe el radio"
leer radio
area<-area_circulo(radio)
escribir area
Fin
PseInt:
1
2
3
4
5
6
7
8
9
10
11
4) Escribe una funcin en pseudocdigo que devuelva el factorial de un nmero N (siendo N un nmero
entero positivo). Haz despus un algoritmo principal que pida por teclado dos nmeros y escriba en
pantalla los factoriales de cada nmero comprendido entre los dos anteriores. El factorial de 5 es el
resultado de 5*4*3*2*1
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
escribir resultado
Fin
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
5) Escribe una funcin en pseudocdigo que devuelva si un nmero dado es primo o no. Para que un
numero sea primo solo es divisible entre 1 y s mismo (por ejemplo, 13, 17, 19). Utilizando la funcin,
escribe un programa que escriba todos los nmeros primos entre 1 y un nmero ledo desde el teclado.
Piensa que debe devolver la funcin.
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
escribir cuenta_primos
FinSi
Findesde
Fin
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
6) Escribe una funcin en pseudocdigo que dado un nmero decimal (en base 10), entre 0 y 15,
devuelva el valor equivalente en sistema de numeracin binario(en este caso, un numero binario de
4 dgitos). Os aconsejo que los dgitos binarios sean una cadena, para que se puedan concatenar entre
s. Por ejemplo, si introducimos un 7, nos devuelva 0111. Si se introduce un numero menos que 0 o
mayor que 16, no mostrara un mensaje de error.
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FinSi
FinProceso
7) Escribe una funcin en pseudocdigo llamada ConversionMoneda () que permita convertir una
cantidad de dinero dada en dolares, libras o yenes a Euros. Estas son las equivalencias aproximadas:
1 libra=1,22 euros
1 dolar=0,75 euros
1 yen=0.009 euros
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FinSi
si (moneda="dolar") Entonces
total<-cantidad*0.75
FinSi
si (moneda="yen") Entonces
total<-cantidad*0.009
FinSi
FinSubProceso
Proceso ejercicio_funciones_7
//NOTA: las siguientes 2 lineas van en una linea
Escribir "Introduce la moneda que quieras pasar a euros:
libra,dolar o yen"
Leer moneda
Escribir "Introduce una cantidad"
Leer cantidad
total<-conversor(moneda, cantidad)
Escribir total
FinProceso
8) Los empleados de una fabrica trabajan en dos turnos, Diurno y Nocturno. Se desea calcular el jornal
diario de acuerdo a con las siguientes reglas:
En caso de ser festivo, la tarifa se incrementa en un 10% en caso de turno diurno y en un 15%
para el nocturno.
Escribe una funcin en pseudocdigo llamada jornal() que tome como parmetros el n de horas, el
turno y el tipo de da (Festivo, Laborable) y nos devuelva el sueldo a cobrar. Escribe tambin un
algoritmo principal que pida el nombre del trabajador, el da de la semana, turno y n de horas
trabajadas, nos escriba el sueldo a cobrar usando la funcin anterior.
Ten en cuenta, que en la funcin nos pide el tipo de da pero en el algoritmo le pedimos al da es decir,
que debemos saber si el dia que introduce el usuario es festivo o no.
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
FinSi
si (turno="nocturno" y tipo_dia="laborable") Entonces
sueldo<-n_horas*13.5
Sino
si (turno="nocturno" y tipo_dia="festivo") Entonces
sueldo<-n_horas*(13.5*1.1)
FinSi
FinSi
devolver sueldo
Fin-Funcion
Var trabajador, turno, dia, tipo_dia: cadena
n_horas, sueldo: numerico
Inicio
Escribir "Introduce el nombre del trabajador"
Leer trabajador
Escribir "Introduce el numero de horas"
Leer n_horas
Escribir "Introduce en turno: diurno o nocturno"
Leer turno
Escribir "Introduce el dia"
Leer dia
Segun dia Hacer
"lunes":
tipo_dia<-"laborable"
"martes":
tipo_dia<-"laborable"
"miercoles":
tipo_dia<-"laborable"
"jueves":
tipo_dia<-"laborable"
"viernes":
tipo_dia<-"laborable"
"sabado":
tipo_dia<-"festivo"
"domingo":
tipo_dia<-"festivo"
FinSegun
sueldo<-jornal(n_horas, turno, tipo_dia)
Escribir "El trabajador " trabajador " cobra " sueldo " euros"
Fin
PseInt:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
sueldo<-n_horas*10
Sino
si (turno="diurno" y tipo_dia="festivo") Entonces
sueldo<-n_horas*(10*1.1)
FinSi
FinSi
si (turno="nocturno" y tipo_dia="laborable") Entonces
sueldo<-n_horas*13.5
Sino
si (turno="nocturno" y tipo_dia="festivo") Entonces
sueldo<-n_horas*(13.5*1.1)
FinSi
FinSi
FinSubProceso
Proceso ejercicio_8
Escribir "Introduce el nombre del trabajador"
Leer trabajador
Escribir "Introduce el numero de horas"
Leer n_horas
Escribir "Introduce en turno: diurno o nocturno"
Leer turno
Escribir "Introduce el dia"
Leer dia
Segun dia Hacer
"lunes":
tipo_dia<-"laborable"
"martes":
tipo_dia<-"laborable"
"miercoles":
tipo_dia<-"laborable"
"jueves":
tipo_dia<-"laborable"
"viernes":
tipo_dia<-"laborable"
"sabado":
tipo_dia<-"festivo"
"domingo":
tipo_dia<-"festivo"
FinSegun
sueldo<-jornal(n_horas, turno, tipo_dia)
Escribir "El trabajador " trabajador " cobra " sueldo " euros"
FinProceso
9) Algoritmo que dado un nmero entero (este numero no podra ser menor o igual que 0), determine el
nmero de cifras que tiene. Por ejemplo, si introduzco un 253, me devuelva un 3.
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
PseInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FinProceso
10) Escribe una funcin en pseudocdigo que dibuje una pirmide invertida en pantalla como la de la
figura. La altura se pasar como parmetro. Si se pasa una altura =0 o negativa, la funcin devolver
1; en caso contrario devolver 0 (xito).
Ejemplo para altura = 5
*********
*******
*****
***
*
Esconder
Papel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
PSeInt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
SubProceso cod<-pir_inver(altura)
numast<-3+2*(altura-2)
nespacios<-numast
espacios=""
si altura=0 Entonces
cod<- (-1)
Sino
Para i<-numast hasta 1 con paso -2
numast<-i
para k<-0 hasta numast-nespacios Con Paso 1
espacios<-espacios+" "
FinPara
Escribir Sin Saltar espacios
para j<-1 hasta numast con paso 1
Escribir Sin Saltar "*"
FinPara
nespacios<-nespacios-2
Escribir ""
FinPara
cod<-0
FinSi
FinSubProceso
Proceso ejercicio_10
Escribir "Introduce la altura de la pirmide invertida"
leer altura
resultado<-pir_inver(altura)
si resultado=-1 entonces
Escribir "ha introducido una altura 0"
Sino
Escribir ""
Escribir "introducion de datos correcta"
FinSi
FinProceso