Pseudocodigos

69
Pseudocódigos 2ª Evaluación - 1 -

Transcript of Pseudocodigos

Page 1: Pseudocodigos

Pseudocódigos 2ª Evaluación

- 1 -

Page 2: Pseudocodigos

Pseudocódigos 2ª Evaluación

Parte 2Ejercicios

1. Leer una secuencia de números y mostrar la suma de los pares y el producto de los que son múltiplo de 5.

2. Leer una secuencia de números y determinar el mayor de los pares leídos.3. Leer una secuencia de números y mostrar el mayor de los múltiplos de 5 leídos y

el menor de los múltiplos de 3 leídos.4. Leer una secuencia de letras y mostrar la suma de sus códigos ASCII.

Suponemos que tenemos la función Conv_a_Codigo (char)=int.5. Dado un vector de 5 enteros actualizar cada posición de dicho vector con un

número leído.6. Leer una secuencia de 20 números almacenarlos en un vector y mostrar la

posición donde se encuentra el mayor valor leído.7. Dado dos vectores A y B de 15 elementos cada uno, obtener un vector C donde

la posición i se almacene la suma de A[i]+B[i].8. Dado dos vectores A y B de 15 elementos cada uno, obtener un vector C donde

la posición i se almacene la suma de A[i]+B[i] y mostrar el mayor de los C[i].9. Dado una secuencia de número leídos y almacenados en un vector A mostrar

dichos números en orden.10. Dado una secuencia de número leídos y almacenados en un vector A y un

número leído determinar si dicho número se encuentra o no en el vector.11. Leer una secuencia de 20 números y almacenar en un vector sus factoriales.12. Leer 20 números y almacenarlos de manera ordenada en un vector.13. Dado dos matrices A y B obtener la suma.14. Dado una matriz determinar la posición (i,j) del mayor.15. Dado una matriz determinar la posición (i,j) del mayor y menor.16. Leer un número y una letra si la letra es B mostrar el valor en binario, si es O en

octal y si es H en hexadecimal.17. Leer una secuencia de 20 números almacenarlos en un vector A[1..20] y mostrar

la suma de los elementos que ocupan posiciones pares y el mayor de los que ocupan posiciones impares.

18. Dada una matriz A[1..4][1..5] realiza la ordenación de la misma.19. Dada una matriz A[1..4][1..5] realiza el proceso de ordenar solo por filas.20. Dado un vector de números determina aquellos que sea primos.

- 2 -

Page 3: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 5VARIABLE

ENTERO n[1..5];ENTERO indice;

FIN_VARIABLEINICIO

PARA indice = 1 HASTA 5 INCREMENTO 1ESCRIBIR (“Introduce un numero”);LEER (indice);

FIN_PARAFIN_INICIO

FIN_ALGORITMO

----------------------------------------------------------------------------------------------------------

ALGORITMO ejercicio 6VARIABLE

ENTERO n[1..20];ENTERO mayor_indice;ENTERO indice;ENTERO mayor;

FIN_VARIABLEINICIOPARA indice = 1 HASTA 20 INCREMENTO 1

ESCRIBIR (“Introduce un numero”);LEER (indice);

FIN_PARAMayor = n[1]

PARA indice = 1 HASTA 20 INCREMENTO 1SI (n[indice] > mayor) ENTONCES

Mayor_indice = indice;FIN_SI

FIN_PARAESCRIBIR (mayor_indice);

FIN_INICIOFIN_ALGORITMO

- 3 -

Page 4: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 7VARIABLE

ENTERO A[1..15];ENTERO B[1..15];ENTERO indice;ENTERO suma;ENTERO C[1..15];

FIN_VARIABLEINICIOPARA indice = 1 HASTA 15 INCEMENTO 1

ESCRIBIR (“Introduce un numero para el vector A”);LEER (A[indice]);ESCRIBIR (“Introduce un numero para el vector B”);LEER (B[indice]);

FIN_PARAPARA indice = 1 HASTA 15 INCREMENTO 1

Suma = A[indice] + B[indice];C[indice] = suma;

FIN_PARAPARA indice = 1 HASTA 15 INCREMENTO 1

ESCRIBIR (C[indice]);FIN_PARA

FIN_INICIOFIN_ALGORITMO

- 4 -

Page 5: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 8VARIABLE

ENTERO A[1..15];ENTERO B[1..15];ENTERO C[1..15];ENTERO indice;ENTERO suma;ENTERO mayor;ENTERO mayor_indice;

FIN_VARIABLEINICIOPARA indice = 1 HASTA 15 INCRMENTO 1

ESCRIBIR (“Introduce un numero para el vector A”);LEER (A[indice]);

FIN_PARAPARA indice = 1 HASTA 15 INCRMENTO 1

ESCRIBIR (“Introduce un numero para el vector B”);LEER (B[indice]);

FIN_PARAPARA indice = 1 HASTA 15 INCRMENTO 1

Suma = A[indice] + B[indice];C[indice] = suma;

FIN_PARAMayor = C[1];Mayor_indice = 1;

PARA indice = 1 HASTA 15 INCREMENTO 1SI (C[indice] > mayor) ENTONCES

Mayor_indice = indice;Mayor = C[indice];

FIN_SIFIN_PARAESCRIBIR (mayor);ESCRIBIR (mayor_indice);FIN_INICIO

FIN_ALGORITMO

- 5 -

Page 6: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 9VARIABLE

ENTERO intercambio;ENTERO n[1..15];ENTERO intermedio;ENTRO indice;

FIN_VARIABLEINICIOPARA indice = 1 HASTA 15 INCREMENTO 1

ESCRIBIR (“Introduce un numero”);LEER (n[indice]);

FIN_PARAREPETIR

Intercambio = 0;PARA indice = 1 HASTA 15 INCREMENTO 1

SI (n[indice] > n[indice + 1]) ENTONCESIntermedio = n[indice];N[indice] = n[indice + 1];N[indice + 1] = Intermedio;Intercambio = 1;

FIN_SIFIN_PARA

HASTA (intercambio = 0)FIN_INICIO

FIN_ALGORITMO

- 6 -

Page 7: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 10VARIABLE

ENTERO A[1..10];ENTERO numero;ENTERO indice;

FIN_VARIABLEINICIOPARA indice = 1 HASTA 10 INCREMENTO 1

ESCRIBIR (“Introduce un numero”);LEER (A[indice]);

FIN_PARAIndice = 1;

MIENTRAS (indice < 11) AND (numero <> A[indice]) HACERIndice = indice + 1;

FIN_MIENTRASSI ( indice = 11) ENTONCES

ESCRIBIR (“No esta”);SINO

ESCRIBIR (“Existe”);FIN_SI

FIN_INICIOFIN_ALGORITMO

- 7 -

Page 8: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 11VARIABLE

ENTERO n[1..20];ENTERO indice;ENTERO factorial;ENTERO indice1;ENTERO N[1..20];

FIN_VARIABLEINICIOPARA indice = 1 HASTA 20 INCREMENTO 1

ESCRIBIR (“Introduce un numero”);LEER (n[indice]);

FIN_PARAPARA indice = 1 HASTA 20 INCREMENTO 1

Factorial = 1;PARA indice1 = 2 HASTA n[indice] INCREMENTO 1

Factorial = factorial * indice1;FIN_PARA

N[indice] = factorial;FIN_PARAFIN_INICIO

FIN_ALGORITMO

- 8 -

Page 9: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 13VARIABLE

ENTERO A[1..5][1..10];ENTERO B[1..5][1..10];ENTERO suma[fila][columna];ENTERO fila;ENTERO columna;

FIN_VARIABLEINICIOPARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 10 INCREMENTO 1LEER (A[fila][columna]);

FIN_PARAFIN_PARAPARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 10 INCREMENTO 1LEER (B[fila][columna]);

FIN_PARAFIN_PARAPARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 10 INCREMENTO 1Suma[fila][columna] = A[fila][columna] + B[fila][columna];

FIN_PARAFIN_PARA

ESCRIBIR (suma[fila][columna]);FIN_INICIO

FIN_ALGORITMO

- 9 -

Page 10: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 14VARIABLE

ENTERO A[1..5][1..4];ENTERO fila;ENTERO columna;ENTERO mayor;ENTERO posicion_fila;ENTERO posición_columna;

FIN_VARIABLEINICIOPARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 4 INCREMENTO 1ESCRIBIR (“Introduce un numero”);LEER (A[fila][columna]);

FIN_PARAFIN_PARAMayor = A[1][1];Posición_fila = 1;Posición_columna = 1;PARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 4 INCREMENTO 1SI (A[fila][columna] > mayor) ENTONCES

Mayor = A[fila][columna];Posición_fila = [fila];Posición_columna = [columna];

FIN_SIFIN_PARA

ESCRIBIR (“El mayor es:mayor”);ESCRIBIR (“La posición es:posición_fila, Posición_columna”);

FIN_PARAFIN_INICIO

FIN_ALGORITMO

- 10 -

Page 11: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 15VARIABLE

ENTERO A[1..5][1..4];ENTERO fila;ENTERO columna;ENTERO mayor;ENTERO posicion_fila;ENTERO posición_columna;ENTERO menorENTERO posición_fila1;ENTERO posición_columna1;

FIN_VARIABLEINICIOPARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 4 INCREMENTO 1ESCRIBIR (“Introduce un numero”);LEER (A[fila][columna]);

FIN_PARAFIN_PARAMayor = A[1][1];Posición_fila = 1;Posición_columna = 1;PARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 4 INCREMENTO 1SI (A[fila][columna] > mayor) ENTONCES

Mayor = A[fila][columna];Posición_fila = [fila];Posición_columna = [columna];

FIN_SIFIN_PARA

ESCRIBIR (“El mayor es:mayor”);ESCRIBIR (“La posición es:posición_fila, Posición_columna”);

FIN_PARAMenor = 1;Posición_fila1 = 1;Posición_columna1 = 1;PARA fila = 1 HASTA 5 INCREMENTO 1

PARA columna = 1 HASTA 4 INCREMENTO 1SI (A[fila][columna] < menor) ENTONCES

Menor = A[fila][columna];Posición_fila1 = [fila];Posición_columna1 = [columna];

FIN_SIFIN_PARA

ESCRIBIR (“El mayor es:menor”);ESCRIBIR (“La posición es:posición_fila1, Posición_columna1”);

FIN_INICIO

- 11 -

Page 12: Pseudocodigos

Pseudocódigos 2ª Evaluación

FIN_ALGORITMO

- 12 -

Page 13: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 16VARIABLE

ENTERO indice;ENTERO pul;ENTERO tipo;ENTERO numero;ENTERO cociente;ENTERO divisor;ENTERO resto;CARÁCTER resultado[1..20];

FIN_VARIABLEINICIOLEER (numero);LEER (tipo); // O,H,BCociente = numero;SELECTOR tipo

Caso “B”: divisor = 2;Caso “O”: divisor = 8;Caso “H”: divisor = 16;

FIN_SELECTORPul = 0;

REPETIRPul = pul + 1;Resto = cociente mod divisor;SELECTOR resto

Caso 10: resultado[pul] = “A”;……

Caso 15: resultado[pul] = “F”;Defecto: resultado[pul] = resto;

FIN_SELECTORCociente = cociente\divisor;

HASTA (cociente = 0)PARA indice = pul HASTA 1 INCREMENTO -1

ESCRIBIR (resultado[pul]);FIN_PARAFIN_INICIO

FIN_ALGORITMO

- 13 -

Page 14: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 17VARIABLE

ENTERO A[1..20];ENTERO indice;ENTERO suma;ENTERO mayor;

FIN_VARIABLEINICIOPARA indice = 1 HASTA 20 INCREMENTO 1

ESCRIBIR (“Introduce un numero”);LEER (A[indice]);

FIN_PARASuma = 0;PARA indice = 2 HASTA 20 INCREMENTO 2

Suma = suma + A[indice];FIN_PARAMayor = A[1];PARA indice = 1 HASTA 20 INCREMENTO 2

SI (A[indice] > mayor) ENTONCESMayor = A[indice];

FIN_SIFIN_PARA

ESCRBRIR (“LA suma es:+suma”);ESCRIBIR (“El mayor es:+mayor”);

FIN_INICIOFIN_ALGORITMO

- 14 -

Page 15: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 18VARIABLE

ENTERO A[1..4][1..5];ENTERO fila;ENTERO columna;ENTERO v[1..20];ENTERO indice;ENTERO intercambio;ENTERO intermedio;

FIN_VARIABLEINICIOPARA fila = 1 HASTA 4 INCREMENTO 1

PARA columna = 1 HASTA 5 INCREMENTO 1ESCRIBIR(“Introduce un numero”);LEER (A[fila][columna]);

FIN_PARAFIN_PARAPARA fila = 1 HASTA 4 INCREMENTO 1

PARA columna = 1 HASTA 5 INCREMENTO 1V[((fila – 1) + 5) + columna] = A[fila][columna];

FIN_PARAFIN_PARAREPETIR

Intercambio = 0; PARA (indice = 1) HASTA 19 INCREMENTO 1

SI (V[indice] > V[indice + 1]) ENTONCESIntermedio = V[indice];V[indice] = V[indice +1];V[indice +1] = intermedio;Intercambio = 1;

FIN_SIFIN_PARA

HASTA (intercambio = 0)PARA fila = 1 HASTA 4 INCREMENTO 1

PARA columna = 1 HASTA 3 INCREMENTO 1A[fila][columna] = V[((fila – 1) * 5) + columna];

FIN_PARAFIN_PARAFIN_INICIO

FIN_ALGORITMO

- 15 -

Page 16: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 19VARIABLE

ENTERO A[1..4][1..5];ENTERO intermedio;ENTERO fila;ENTERO columna;

FIN_VARIABLEINICIOPARA fila = 1 HASTA 4 INCREMENTO 1

PARA columna = 1 HASTA 5 INCREMENTO 1ESCRIBIR (“Introduce un numero”);LEER (A[fila][columna]);

FIN_PARAFIN_PARAREPETIR

Intercambio = 0;PARA fila = 1 HASTA 4 INCREMENTO 1

PARA columna = 1 HASTA 3 INCREMENTO 1SI (A[fila][columna] > A[fila][columna + 1] ENTONCES

Intermedio = A[fila][columna];A[fila][columna] = A[fila][columna + 1];A[fila][columna + 1] = intermedio;Intercambio = 1;

FIN_SIFIN_PARA

FIN_PARAHASTA (intercambio = 0)FIN_INICIO

FIN_ALGORITMO

- 16 -

Page 17: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 20VARIABLE

ENTERO A[1..20];ENTERO indice;ENTERO indice1;

FIN_VARIABLEINICIOPARA indice = 1 HASTA 20 INCREMENTO 1

ESCRIBIR (“Introduce un numero”);LEER (A[indice]);

FIN_PARAPARA indice = 1 HASTA 20 INCEMENTO 1

Indice1 = 2;MIENTRAS (indice1 < A[indice]) AND (A[indice] mod indice1 <> 0) HACER

Indice1 = indice1 + 1;FIN_MIENTRASSI (indice1 = A[indice]) ENTONCES

ESCRIBIR (“A[indice] es primo”);FIN_SI

FIN_PARAFIN_INICIO

FIN_ALGORITMO

- 17 -

Page 18: Pseudocodigos

Pseudocódigos 2ª Evaluación

Ejercicios de Pseudocódigos

Parte 1

1. Leer un número y mostrar por la salida estándar si dicho número es o no es par.2. Leer 2 números y mostrar el producto de ellos.3. Leer 2 números y determinar el mayor de ellos.4. Leer 3 números y mostrar el mayor de ellos.5. Leer un número y mostrar su tabla de multiplicar.6. Leer una secuencia de 30 números y mostrar la suma y el producto de ellos.7. Leer una secuencia de números, hasta que se introduce un número negativo y

mostrar la suma de dichos números.8. Leer dos números y realizar el producto median sumas.9. Leer dos números y realizar la división mediante restas mostrando el cociente y

el resto.10. Leer una secuencia de números y mostrar su producto, el proceso finalizará

cuando el usuario pulse a la tecla F.11. Lee una secuencia de números y determina cual es el mayor de ellos.12. Dado un número mostrar su valor en binario.13. Generar enteros de 3 en 3 comenzando por 2 hasta el valor máximo menor que

30. Calculando la suma de los enteros generados que sean divisibles por 5.14. Calcular la media de una secuencia de números, el proceso finalizará cuando15. Generar los N primeros términos de la serie de Fibonacci. El valor N(entero y

positivo) deberá ser leído por el teclado. En esta serie los dos primeros números son 1, y el resto se obtiene sumando los dos anteriores: 1,1,2,3,5,8,13,21…

16. Leer una secuencia se números y mostrar cuales de ellos es el mayor y el menor, el proceso alizará cuando se introduzca un número impar.

17. Leer una secuencia de números y sumar solo los pares mostrando el resultado del proceso.

18. Leer una secuencia de números y mostrar los 30 primeros pares leídos.19. Leer una secuencia de números y mostrar la suma de los 30 números que ocupan

posiciones de lectura par.20. Leer un número y determinar su factorial.21. Leer un número y determinar si es o no es primo.22. Leer una secuencia de 30 números y mostrar la suma de los primos.23. Leer una secuencia de 30 números y mostrar la suma de su factorial.24. Dado25. Calcular el valor del número E=(1/n!).26. Implementar un programa que sea capaz de calcular el resultado de aplicar la

fórmula siguiente (n i)=n! / (i! * (n-i)!).

- 18 -

Page 19: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 1VARIABLE

ENTERO numero;FIN_VARIABLEINICIOESCRIBIR (“Introduce un numero”);LEER (numero);SI (numero mod 2 = 0) ENTONCES

ESCRIBIR (“El numero es par”);SINO

ESCRIBIR (“El numero no es par”);FIN_SIFIN_INICIO

FIN_VARIABLE

ALGORITMO ejercicio 2VARIABLE

ENTERO numero a;ENTERO numero b;

FIN_VARIABLEINICIOLEER (numero a);LEER (numero b);ESCRIBIR (“El numero a * El numero b”);FIN_INICIO

FIN_ALGORITMO

- 19 -

Page 20: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 3VARIABLE

ENTERO numero1;ENTERO numero2;

FIN_VARIABLEINICIOESCRIBIR (“Introduce el numero1”);LEER (numero1);ESCRIBIR (“Introduce el numero2”);LEER (numero2);SI (numero1 > numero2) ENTONCES

ESCRIBIR (“El numero1 es mayor”);SINO

ESCRIBIR (“El numero2 es mayor”);SI (numero1 = numero2) ENTONCES

ESCRIBIR (“Los numeros son iguales”);FIN_SIFIN_INICIO

FIN_ALGORITMO

- 20 -

Page 21: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 4VARIABLE

ENTERO numero1;ENTERO numero2;ENTERO numero3;

FIN_VARIABLEINICIOESCRIBIR (“Introduce numero1”);LEER (numero1);ESCRIBIR (“Introduce numero2”);LEER (numero2);SI (numero1 > numero2) ENTONCES

ESCRIBIR (“Introduce numero3”);LEER (numero3);

SI (numero1 > numero3) ENTONCESESCRIBIR (“El numero1 es el mayor”);

SINOSI (numero2 > numero3) ENTONCES

ESCRIBIR (“El numero2 es el mayor”);SINO

ESCRIBIR (“El numeo3 es el mayor”);FIN_SI

FIN_SIFIN_SIFIN_INICIO

FIN_ALGORITMO

- 21 -

Page 22: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 5VARIABLE

ENTERO numero;ENTERO indice;

FIN_VARIABLECONSTANTE

ENTERO numero = 5;Conta_superior = 10Cota_inferior = 1

FIN_CONSTANTEINICIOPARA cota_inferior HASTA cota_superior INCREMETO 1

REPETIRESCRIBIR (numero5 * indice);

HASTA (indice = 10)FIN_PARAFIN_INICIO

FIN_ALGORITMO

- 22 -

Page 23: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 6VARIABLE

ENTERO numero;ENTERO indice;ENTERO suma;ENTERO producto;

FIN_VARIABLEINICIOSuma = 0;Producto = 1;PARA indice = 1 HASTA 30 INCREMETO 1

LEER (numero);Suma = suma + numero;Producto = producto * numero;Indice = indice + 1;

FIN_PARAESCRIBIR (“la suma es:”+suma);ESCRIBIR (“el producto es:”+producto);FIN_INICIO

FIN_ALGORITMO

- 23 -

Page 24: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 7VARIABLE

ENTERO numero;ENTERO suma;

FIN_VARIABLEINICIOSuma = 0;LEER (numero);MIENTRAS (numero > 0) HACER

Suma = suma +numero;LEER (numero);

FIN_MIENTRASESCRIBIR (“la suma es:”+suma);FIN_INICIO

FIN_ALGORITMO

- 24 -

Page 25: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 8VARIABLE

ENTERO a;ENTERO b;ENTERO indice;Multi;

FIN_VARIABLEINICIOESCRIBIR (“introduce el primer numero”);LEER (a);ESCRIBIR (“introduce el segundo numero”);LEER (b);

Multi = 0;PARA indice = b HASTA 1 INCREMETO -1

Multi = multi + a;FIN_PARAESCRIBIR (multi);FIN_INICIO

FIN_ALGORITMO

- 25 -

Page 26: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 9VARIABLE

ENTERO dividendo;ENTERO divisor;ENTERO cociente;ENTERO resto;ENTERO signo;

FIN_VARIABLEINICIO

ESCRIBIR (“introduce el dividendo”);LEER (dividendo);ESCRIBIR (“introduce el divisor”);LEER (divisor); idem multiplicar//casos especiales//SI (divisor = 0) ENTONCES

ESCRIBIR (“error”);SINO

Cociente = 0;Resto = dividendo;MIENTRAS (resto >= divisor) HACER

Resto = resto – divisor;Cociente = cociente + 1;

FIN_MIENTRASFIN_SI

FIN_INICIOFIN_ALGORITMO

- 26 -

Page 27: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 10VARIABLE

ENTERO numero;ENTERO producto;CARÁCTER FIN;

FIN_VARIABLECONSTANTES

Limite = “f”;FIN_CONSTANTEINICIOProducto = 1;REPETIR

ESCRIBIR (“Introduce el numero”);LEER (numero);ESCRIBIR (“Si quieres FINalizar pulsa “f””);LEER (FIN);Producto = producto * numero;

HASTA (FIN = limite)ESCRIBIR (“el producto de los numeros es:+producto”);FIN_INICIO

FIN_ALGORITMO

- 27 -

Page 28: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 11VARIABLE

ENTERO numero;ENTERO mayor;CARÁCTER FINal;

FIN_VARIABLECONSTANTE

FIN = “F”;FIN_CONSTANTEINICIOMayor = 0;REPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);ESCRIBIR (“Si no quieres introducir mas numeros pulsa “F””);LEER (FINal);SI (numero > mayor) ENTONCES

Mayor = numero;FIN_SI

HASTA (FINal = FIN)ESCRIBIR (“El mayor es:”+mayor);

FIN_INICIOFIN_ALGORITMO

- 28 -

Page 29: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 12VARIABLE

ENTERO contador;ENTERO decimal;ENTERO cociente;

FIN_VARIABLEINICIOContador = 0;REPETIR

ESCRIBIR (“Introduce un decimal”);LEER (decimal);Contador = contador + 1;

HASTA (decimal >= 0) OR (contador = 5)SI (contador = 5) ENTONCES

ESCRIBIR (“Sobrepasado numero de errores”);SINO

SI (decimal = 0) ENTONCESESCRIBIR (“0”);

FIN_SICociente = decimalMIENTRAS (cociente<> 0) HACER

ESCRIBIR (cociente mod 2);Cociente = cociente/2;

FIN_MIENTRASFIN_SIFIN_INICIO

FIN_ALGORITMO

- 29 -

Page 30: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 13VARIABLE

ENTERO indice;ENTERO suma;

FIN_VARIABLEINICIOSuma = 0;PARA indice = 2 HASTA 29 INCREMENTO 3

SI (indice mod 5 = 0) ENTONCESSuma = suma + indice;

FIN_SIFIN_PARA

ESCRIBIR (“La suma es:+suma”);FIN_INICIO

FIN_ALGORITMO

- 30 -

Page 31: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 14VARIABLE

ENTERO medio;ENTERO suma;ENTERO contador;ENTERO numero;

FIN_VARIABLEINICIOSuma = 0;Contador = 0;Media = 0;ESCRIBIR (“Introduce un numero”);LEER (numero);

MIENTRAS (numero <> 0) HACERContador = contador + 1;Suma = suma + numero;ESCRIBIR (“Introduce un numero”);LEER (numero);

FIN_MIENTRASMedia = suma/contador;

FIN_INICIOFIN_ALGORITMO

- 31 -

Page 32: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 15VARIABLE

ENTERO numero;ENTERO indice;ENTERO intercambio;ENTERO n-1;ENTERO n-2;

FIN_VARIABLEINICIOREPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);

HASTA (numero > 0)SI (numero = 1) ENTONCES

ESCRIBIR (“a1 = 1”);SINO

SI (numero = 2) ENTONCESESCRIBIR (“a1 = 1”);ESCRIBIR (“a2 = 1”);

SINOESCRIBIR (“a1 = 1”);ESCRIBIR (“a2 = 1”);

FIN_SIn-1 = 1; //a1 = 1n-2 = 1; //a2 = 1PARA indice = 3 HASTA numero INCREMENTO 1

ESCRIBIR (“a”+indice+”=”+n-1+n-2);Intercambio = n-1;n-1 = n-1 + n-2;n-2 = intercambio;

FIN_PARAFIN_SIFIN_INICIO

FIN_ALGORITMO

- 32 -

Page 33: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 16VARIABLE

ENTERO numero;ENTERO mayor;ENTERO menor;

FIN_VARIABLEINICIOESCRIBIR (“Introduce un numero”);LEER (numero);MIENTRAS (numero mod 2 = 0) HACER

Mayor = numero;Menor = numero;

MIENTRAS (numero mod 2 = 0) HACERSI (numero > mayor) ENTONCES

Mayor = numero;SINO

SI (numero < menor) ENTONCESMenor = numero;

FIN_SIFIN_SI

FIN_MIENTRASFIN_MIENTRASFIN_INICIO

FIN_ALGORITMO

- 33 -

Page 34: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 17VARIABLE

ENTERO suma;ENTERO numero;

FIN_VARIABLECONSTANTE

Carácter FIN;FIN_CONSTANTEINICIOESCRIBIR (“Introduce un numero”);LEER (numero);Suma = 0;MIENTRAS (numero mod 2 = 0) HACER

Suma = suma + numero;ESCRIBIR (“Desea continuar”);

SI (numero mod 2 = 0) ENTONCESSuma = suma + numero;

SINOFIN

FIN_SIFIN_MIENTRASFIN_INICIO

FIN_ALGORITMO

- 34 -

Page 35: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 18VARIABLE

ENTERO numero;FIN_VARIABLECONSTANTE

Contador carácter;FIN_CONSTANTEINICIOContador = 0;ESCRIBIR (“Introduce el primer numero”);REPETIR

LEER (numero);SI (numero mod 2 = 0) ENTONCES

ESCRIBIR (nuemro);Contador = contador + 1;

FIN_SIHASTA (contador = 30)FIN_INICIO

FIN_ALGORITMO

- 35 -

Page 36: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 19VARIABLE

ENTERO numero;ENTERO suma;ENTERO posicion;ENTERO indice;

FIN_VARIABLEINICIOSuma = 0;Posición = 0;MIENTRAS (indice <= 30) HACER

ESCRIBIR (“introduce un numero”); LEER (numero);

Posición = posición + 1; SI (posicion mod 2 = 0 ) ENTONCES

Suma = suma + numero;FIN_SI

FIN_MIENTRASFIN_INICIO

FIN_ALGORITMO

- 36 -

Page 37: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 20VARIABLE

ENTERO factorial;ENTERO indice;ENTERO numero;

FIN_VARIABLEINICIOESCRIBIR (“introduce un numero”);

LEER (numero);SI (numero < 0) ENTONCES

ESCRIBIR ();SINOSI (numero = 0) ENTONCES

ESCRIBIR (“El factorial de 0 es 1”);SINO

Factorial = 1;PARA indice = 2 HASTA numero INC 1 HACER

Factorial = factorial * numero;FIN_PARAESCRIBIR (“el resultado es:”+factorial);

FIN_SIFIN_INICIO

FIN_ALGORITMO

- 37 -

Page 38: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 21VARIABLE

ENTERO n;ENTERO contador;BOOLEAN encontrado;

FIN_VARIABLEINICIOESCRIBIR (“introduce un numero”);

LEER (numero);Encontrado = false;Contador = 2;MIENTRAS (contador <= n-1)AND(n mod contador <> 0) HACER

Contador = contador + 1; FIN_MIENTRASSI (contador <= n-1 ) ENTONCES

ESCRIBIR (“el numero no es primo”);SINO

ESCRIBIR (“el numero es primo”);FIN_SIFIN_INICIO

FIN_ALGORITMO

- 38 -

Page 39: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 22VARIABLE

ENTERO n;ENTERO contador;ENTERO suma;ENTERO indice;

FIN_VARIABLEINICIOSuma = 0;PARA indice = 1 HASTA 30 INC 1 HACER

ESCRIBIR (“introduce un numero”); LEER (numero);

Contador = 2;MIENTRAS (contador <= n-1)AND(n mod contador = 0) HACER

Contador = contador + 1; FIN_MIENTRASSI (contador = n ) ENTONCES

Suma = suma + numero;FIN_SI

FIN_PARAFIN_INICIO

FIN_ALGORITMO

- 39 -

Page 40: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 23VARIABLE

ENTERO n;ENTERO contador;ENTERO factorialENTERO suma;ENTERO indice;

FIN_VARIABLEINICIOContador = 0;REPETIR

REPETIRESCRIBIR (“introduce un numero”);

LEER (numero);HASTA (n >= 0)Factorial = 1;PARA indice = 2 HASTA numero INC 1 HACER

Factorial = factorial * numero;FIN_PARASuma = suma + factorial;Contador = contador + 1;

HASTA (contador = 30)ESCRIBIR (“la suma es:”+suma);FIN_INICIO

FIN_ALGORITMO

- 40 -

Page 41: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio 26VARIABLE

ENTERO numero;ENTERO resultado;ENTERO i;ENTERO factorial;ENTERO resta;ENTERO indice;

FIN_VARIABLEINICIOREPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);ESCRIBIR (“Introduce i”);LEER (i);

HASTA (n > i) AND (N >= 0) AND (i >= 0)Factorial = 1

FIN_INICIOFIN_ALGORITMO

- 41 -

Page 42: Pseudocodigos

Pseudocódigos 2ª Evaluación

1. Desarrollo un algoritmo (Peseudocódigo-Organigrama) para cada uno de los siguientes problemas que se plantean:

a. Dado una secuencia de números determinar el mayor leído y el número de veces que aparece.

b. Dado una secuencia de palabras determinar el mayor y menor lexicográficamente.

c. Resolución de una educación de 2º grado.d. Dado una secuencia de números obtener la suma de los factoriales de

aquellos que ocupan posición par.e. Determina dado una secuencia de enteros los dos mayores.f. Dada un entero extraer cada uno de los dígitos que lo forma.g. Dada un entero visualizar sus divisores.h. Dada una secuencia de enteros determinar para cada una los divisores.i. Dada una secuencia de enteros determinar los que son primos y además

tienen como dígito menos significativo un 7.j. Dada una secuencia de enteros determinar para cada su factorial y si es o

no primo.k. Determina de una secuencia de enteros aquel que es mayor pero además

es primo.l. Determina de una secuencia de enteros aquel factorial que es mayor.m. Dado una secuencia de enteros de cada uno determina sus 20 primeros

múltiplos positivos y enteros.

- 42 -

Page 43: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio aVARIABLE

ENTERO numero;ENTERO mayor;ENTERO contador;

FIN_VARIABLECONSTANTE

FIN = “F”;FIN_CONSTANTEINICIOContador = 1;Mayor = 0;REPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);ESCRIBIR (“Si quieres FINalizar pulsa F”);LEER (FIN);SI (numero > mayor) ENTONCES

Contador = 1;Mayor = numero;ESCRIBIR (numero +“es el mayor”);

SINOESCRIBIR (“El mayor es:”+mayor);

FIN_SIHASTA (FIN = limite)ESCRIBIR (“El mayor es:”+mayor);ESCRIBIR (“Aparece:”+contador +”veces”);FIN_INICIO

FIN_ALGORITMO

- 43 -

Page 44: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio bVARIABLE

SECUENCIA palabra;ENTERO mayor;ENTERO contador;

FIN_VARIABLECONSTANTE

FIN = “F”;FIN_CONSTANTEINICIOContador = 1;Mayor = 0;REPETIR

ESCRIBIR (“Introduce una palabra”);LEER (palabra);ESCRIBIR (“Si quieres FINalizar pulsa F”);LEER (FIN);SI (palabra > mayor) ENTONCES

Contador = 1;Mayor = palabra;ESCRIBIR (palabra +“es la mayor”);

SINOESCRIBIR (“La mayor es:”+mayor);

FIN_SIHASTA (FIN = limite)ESCRIBIR (“La mayor es:”+mayor);ESCRIBIR (“Aparece:”+contador +”veces”);FIN_INICIO

FIN_ALGORITMO

- 44 -

Page 45: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio cVARIABLE

ENTERO a;ENTERO b;ENTERO c;

FIN_VARIABLEINICIOESCRIBIR (“Introduce b”);LEER (b);ESCRIBIR (“Introduce a”);LEER (a);

ESCRIBIR (“Introduce c”);LEER (c);SI ((b^2 – 4 * a * c)<0) ENTONCES

ESCRIBIR (error);SINO

ESCRIBIR ((-b + (b^2 – 4 * a * c)^0.5 / (2 * a));ESCRIBIR ((+b +- (b^2 – 4 * a * c)^0.5 / (2 * a));

FIN_SIFIN INICIO

FIN_ALGORITMO

- 45 -

Page 46: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio dVARIABLE

ENTERO numero;ENTERO factorial;ENTERO contador;ENTERO suma;ENTERO c_s;ENTERO indice;

FIN_VARIABLEINICIOContador = 0;suma = 0;ESCRIBIR (“cuantos numeros quieres leer”);LEER (c_s);REPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);Contador = contador + 1;SI (contador mod 2 = 0) ENTONCES

Factorial = 1;PARA indice=2 HASTA numero INC 1

Factorial = factorial * indice;FIN_PARASuma = suma + factorial;

FIN_SIHASTA (contador = c_s)FIN_INICIO

FIN_ALGORITMO

- 46 -

Page 47: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio eVARIABLE

ENTERO numero;ENTERO mayor1;ENTERO mayor2;CARÁCTER FIN;

FIN_VARIABLECONSTANTES

Limite = “f”;FIN_CONSTANTEINICIOESCRIBIR (“Introduce un numero”);LEER (numero);Mayor1 = numero;Mayor2 = numero;REPETIR

ESCRIBIR (“Quieres acabar”);LEER (FIN);

HASTA (FIN = limite)MIENTRAS (FIN <> limite)

ESCRIBIR (“Introduce un numero”);LEER (numero);SI (numero > mayor1) ENTONCES

Mayor2 = mayor1;Mayor1 = numero;

SINOSI (numero > mayor2) ENTONCESMayor2 = numero;

FIN_SIREPETIR

ESCRIBIR (“Quieres acabar”);LEER (FIN);

HASTA (FIN = limite)FIN_MIENTRASESCRIBIR (“los mayores son:”+mayor1 “y” +mayor2);FIN_INICIO

FIN_ALGORITMO

- 47 -

Page 48: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio fVARIABLE

ENTERO decimal;ENTERO cociente;ENTERO contador;

INICIOContador = 0;REPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);Contador = contador + 1;

HASTA (decimal >= 0) OR (contador = 5)SI (contador = 5) ENTONCES

ESCRIBIR (“sobrepasa el numero de errores”);SINO

Cociente = decimal;MIENTRAS (contador <> 0)

ESCRIBIR (cociente mod 10);Cociente = cociente/10;

FIN_MIENTRASFIN_SIFIN_INICIO

FIN_ALGORITMO

- 48 -

Page 49: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio gVARIABLE

ENTERO numero;ENTERO indice;

FIN_VARIABLEINICIOREPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);

HASTA (numero > 0)PARA indice = 1 HASTA numero INCREMENTO 1

SI (numero mod indice = 0) ENTONCESESCRIBIR (“Un divisor es:+ndice”);

SINOESCRIBIR (“El +indice no es un divisor”);

FIN_SIFIN_PARAFIN_INICIO

FIN_ALGORITMO

- 49 -

Page 50: Pseudocodigos

Pseudocódigos 2ª Evaluación

ALGORITMO ejercicio hVARIABLE

ENTERO numero;ENTERO indice;CARÁCTER FIN;

FIN_VARIABLECONSTANTE

Limite1 = “N”;Limite2 = “S”;

FIN_CONSTANTEINICIOREPETIR

ESCRIBIR (“Introduce un numero”);LEER (numero);

HASTA (numero > 0)PARA indice = 1 HASTA numero INCREMENTO 1

SI (numero mod indice = 0) ENTONCESESCRIBIR (“Un divisor es:+ndice”);

SINOESCRIBIR (“El +indice no es un divisor”);

FIN_SIFIN_PARAREPETIR

ESCRIBIR (“¿Quieres seguir? (S/N)”);LEER (FIN);

HASTA (FIN = limite1) OR (FIN = limite2)MIENTRAS (FIN = limite2) HACER

PARA indice = 1 HASTA numero INCREMENTO 1SI (numero mod indice = 0) ENTONCES

ESCRIBIR (“Un divisor es:+ndice”);SINO

ESCRIBIR (“El +indice no es un divisor”);FIN_SI

FIN_PARAREPETIR

ESCRIBIR (“¿Quieres seguir? (S/N)”);LEER (FIN);

HASTA (FIN = limite1) OR (FIN = limite2)FIN_MIENTRASFIN_INICIO

FIN_ALGORITMO

- 50 -

Page 51: Pseudocodigos

Pseudocódigos 2ª Evaluación

Calcular el mayor de dos valores introducidos mediante el teclado utilizando programación modular.

ALGORITMOVARIABLE

ENTERO A1;ENTERO A2;

FIN_VARIABLEINICIOPantalla_principal ();Leer_valores ();SI (mayor (A1,A2) = o) ENTONCES

ESCRIBIR (“A1 es mayor que A2”);SINO

SI (mayor (A1,A2) = 1) ENTONCESESCRIBIR (“A2 es mayor que A1”);

SINOESCRIBIR (“Son iguales”);

FIN_SIFIN_SIFIN_INICIOPROCEDIMIENTO pantalla_principal

INICIOBorrar_pantalla ();ESCRIBIR (“__”);ESCRIBIR (“__”);……

FIN_PROCEDIMIENTOPROCEDIMIENTO leer_valores

INICIOESCRIBIR (“Introduce A1”);LEER (A1);ESCIBIR (“Introduce A2”);LEER (A2);

FIN_PROCEDIMIENTOPROCEDIMIENTO borrar_pantalla

VARIABLEENTERO A1; /*A1 es un contador*/

FIN_VARIABLECONSTANTE

ENTERO primera_linea = 1;ENTERO ultima_linea = 24;

FIN_CONSTANTEINICIOPARA A1 = primera_linea HASTA ultima_linea INCREMENTO 1

ESCRIBIR (“__”);FIN_PARA

FIN_PROCEDIMIENTO

- 51 -

Page 52: Pseudocodigos

Pseudocódigos 2ª Evaluación

ENTERO funcion mayor(entero valor1, entero valor2)INICIO

SI (valor1 > valor2) ENTONCESDevolver (0)

SINOSI (valor1 < valor2) ENTONCES

Devolver (1);SINO

Devolver (2);FIN_SI

FIN_SIFIN_FUNCION

FIN_ALGORITMO

Leer un numero y mostrar su tabla de multiplicar

ALGORITMOVARIABLE

ENTERO numero;ENTERO error;ENTERO cota_superior;ENTERO cota_inferior;

FIN_VARIABLEINICIOPantalla_inicial ();Borrar_pantalla ();Error = leer_valores();SI (error = 1) ENTONCES

ESCRIBIR (“Has introducido mal los datos”);SINO

Tabla_multiplicar(numero, cota_superior, cota_inferior);FIN_SI

Pantalla_FINal();FIN_INICIO

LIBRERÍAENTERO funcion leer_valores()

INICIOBorrar_pantalla ();ESCRIBIR (“Introduce el numero de multiplicar, c_s, c_i);LEER (numero);LEER (c_s);LEER (c_i);SI (c_s < c_i) ENTONCES

Devolver (1);SINO

Devolver (0);FIN_SI

- 52 -

Page 53: Pseudocodigos

Pseudocódigos 2ª Evaluación

FIN_FUNCIONFIN_ALGORITMO

Realizar un algoritmo que muestre el siguiente menú.1. Amigos2. Sociables3. Vector de productos4. Vector de sumas5. Bisiesto6. Salir

IMPORTAR MATEMATICASALGORITMO

VARIABLEENTERO opcion;

FIN_VARIABLEINICIOPantalla_inicial ();REPETIR

Pantalla_menu ();Leer_opcion ();SELECTOR

Caso1: procedimiento amigos ()Caso2: procedimiento sociables ()Caso3: procedimiento vector de productos ()Caso4: procedimiento vector de sumas ()Caso5: procedimiento bisiesto ()

FIN_SELECTORHASTA (opcion = 6)

Pantalla_FIN ();FIN_INICIOPROCEDIMIENTO pantalla_menu ()

ESCRIBIR (“__”);…………

FIN_PROCEDIMIENTOPRCEDIMIENTO leer_opcion

INICIOLEER (opcion);

FIN_INICIOFIN_PROCEDIMIENTOPROCEDIMIENTO procedimientos_amigos ()

VARIABLEENTERO valor1;ENTERO valor2;CARÁCTER tecla;

FIN_VARIABLE

- 53 -

Page 54: Pseudocodigos

Pseudocódigos 2ª Evaluación

INICIOREPETIRPantalla_amigos ();

REPETIRLEER (valor1);LEER (valor2);

HASTA ((valor1 > 0) AND (valor2 > 0))SI (amigos(valor1,valor2) = 1) ENTONCES

ESCRIBIR (“Son amigos”);SINO

ESCRIBIR (“No son amigos”);FIN_SIREPETIR

ESCRIBIR (“¿Quieres seguir s/n?”);LEER (tecla);

HASTA ((teca = s) OR (tecla = n))HASTA (tecla = N)FIN_INICIO

FIN_PROCEDIMIENTOENTERO funcion amigos (entero v1, entero v2)

INICIOSI (suma_divisores (v1) = v2) AND (suma_divisores(v2) = v1) ENTONCES

Devuelve (1);SINO

Devuelve (0);FIN_SI

FIN_FUNCIONENTERO funcion suma_divisores (Entero valor)

VARIABLEENTERO indice;ENTERO suma;

FIN_VARIABLEINICIOSuma = 0;PARA indice = 1 HASTA (v1 – 1) INCREMENTO 1

SI (v1 mod divisor = 0) ENTONCESSuma = suma + indice;

FIN_SIFIN_PARA

Devolver (suma);FIN_FUNCIONPROCEDIMIENTO procedimiento_sociable ()

CONSTANTEENTERO c_i = 1;ENTERO c_s = 20;

FIN_CONSTANTEVARIABLE

ENTERO vector[c_i..c_s];

- 54 -

Page 55: Pseudocodigos

Pseudocódigos 2ª Evaluación

ENTERO indice;FIN_VARIABLEPantalla_sociablePARA indice = c_i HASTA c_s INCREMENTO 1

LEER (vector[indice]);FIN_PARASI ((sociable(vector, c_i, c_s)) = 1) ENTONCES

ESCRIBIR (“Son sociables”);SINO

ESCRIBIR (“NO son sociables”);FIN_SIFIN_INICIO

FIN_PROCEDIMIENTOENTERO funcion sociables (Entero vector[], Entero c_i, Entero c_s)

VARIABLEENTERO indice;

FIN_VARIABLEINICIOIndice = 1;MIENTRAS (indice < c_i) AND (sociables(vector[indice], ventor[indice + 1]) = 1)

Indice = indice + 1;FIN_MIENTRASSI (indice = c_s) AND ((sociable[c_i], v[c_s]) = 1) ENTONCES

Devolver (1);SINO

Devolver (0);FIN_SIFIN_INICIO

FIN_FUNCIONENTERO funcion vector_producto (Entero vector[], c_i, c_s)

VARIABLEENTERO indice;ENTERO producto;

FIN_VARIABLEINICIOProducto = 1;PARA indice = c_i HASTA c_s INCREMENTO 1

Producto = producto * vector[indice];FIN_PARA

Devolver (productos);FIN_FUNCIONPROCEDIMIENTO vector_de_sumas

VARIABLEENTERO c_i;ENTERO c_s;ENTERO indice;ENTERO vector [c_i..c_s];

- 55 -

Page 56: Pseudocodigos

Pseudocódigos 2ª Evaluación

FIN_VARIABLEINICIOBorrar_pantalla ();Pantalla_inicial_vector_de_sumas ();Leer (c_i);Leer (c_s);PARA indice = c_i HASTA c_s INCREMENTO 1

LEER (vector[indice]);FIN_PARA

ESCRIBIR (“suma_vector(vector[], c_i, c_s);FIN_INICIO

FIN_PROCEDIMIENTOENTERO funcion suma_vector (Entero vector[], c_i, c_s)

VARIABLEENTERO indice;ENTEOR suma;

FIN_VARIABLEINICIOSuma = 0;PARA indice = c_i HASTA c_s INCREMENTO 1

Suma = suma + vector[indice[;FIN_PARA

Devolver (suma);FIN_FUNCIONPROCEDIMIENTO bisiesto

VARIABLECARÁCTER año;

FIN_VARIABLEINICIOBorrar_pantalla ();Pantalla_inicial_bisiesto ();ESCRIBIR (“Dame un año”);LEER (año);SI (año =< 0) ENTONCES

ESCRIBIR (“El año no es bisiesto”);SINO

SI (año mod 400 = 0) ENTONCESESCRIBIR (“Es bisiesto”);

SINOSI (año mod 100 = 0) ENTONCES

ESCRIBIR (“No es bisiesto”);SINO

ESCRIBIR (“Es bisiesto”);FIN_SI

FIN_SIFIN_SIFIN_INICIO

FIN_PROCEDIMIENTO

- 56 -

Page 57: Pseudocodigos

Pseudocódigos 2ª Evaluación

ENTERO funcion Bisiesto(Entero año)INICIOSI (año mod 4 <> 0) ENTONCES

Devolver (0);SINO SI (año mod 400 = 0) ENTONCES

Devolver (1);SINO SI (año mod 100 <> 0) ENTONCES

Devolver (1);SINO

Devolver (0);FIN_SI

FIN_FUNCIONFIN_ALGORITMODeFINe una función que reciba un vector y devuelva el mayor de todos.

ENTERO funcion mayor_vector (Entero a[], Entero c_i, Entero c_s)VARIABLE

ENTERO indice;ENTERO mayor;

FIN_VARIABLEINICIOMayor = a[c_i];PARA indice = c_i HASTA c_s INCREMENTO 1

SI (a[indice] > mayor) ENTONCESMayor = a[indice];

FIN_SIFIN_PARA

Devolver (mayor);FIN_FUNCION

DeFINe una función que recibiendo un vector y un entero devuelva la existencia o no de dicho entero en el vector.

ENTERO funcion numero_vector (Entero numero, Entero vector[], Entero c-i, c_s)VARIABLE

ENTERO indice;FIN_VARIABLEINICIOIndice = c_i;MIENTRAS (indice <= c_s) AND (vector(indice <> numero) HACER

Indice indice + 1;FIN_MIENTRASSI (indice = c_i + 1) ENTONCES

Devolver (0);SINO

Devolver (1);FIN_SI

FIN_FUNCION

- 57 -

Page 58: Pseudocodigos

Pseudocódigos 2ª Evaluación

Algoritmo que lea n enteros que indiquen el factorial de los primos.

ALGORITMO vector_de_factoriales_primosVARIABLE

ENTERO vector [c_i..c_s];ENTERO vector_factorial [c_i..c_s];ENTERO cota_superior;ENTERO cota_inferior;ENTERO indice;

FIN_VARIABLEINICIOBorrar_pantalla ();Pantalla:inicial ();Borrar_pantalla ();Leer_valores ();PARA indice = cota_inf HASTA cota_sup INCREMENTO 1

SI (numeros_primos(vector[indice]) = 1) ENTONCESVector_factorial[indice] = factorial_de_un _numero (vector[indice]);

FIN_SIESCRIBIR (vector_factorial[indice]);

FIN_PARAPantalla_inicial ();

FIN_INICIOENTERO funcion numero_primo (Entero numero)

VARIABLEENTERO numero;ENTERO indice;

FIN_VARIABLEINICIOIndice = 2;MIENTRAS (indice < numero) AND (numero mod indice <> 0) HACER

Indice = indice + 1;FIN_MIENTRASSI (indice = numero) ENTONCES

Devolver (1);SINO

Devolver (0);FIN_SI

FIN_FUNCIONFIN_ALGORTIMO

- 58 -

Page 59: Pseudocodigos

Pseudocódigos 2ª Evaluación

- 59 -

Page 60: Pseudocodigos

Pseudocódigos 2ª Evaluación

Algoritmo que lea n enteros almacenados en un vector sus factoriales.

ALGORITMO factorialVARIABLE

ENTERO vector_entero[c_i..c_s];ENTERO vector_factorial[c_i..c_s];ENTERO cota_inferior;ENTERO cota_superior;

FIN_VARIABLEINICIOBorrar_pantalla ();Pantalla:inicial ();Borrar_pantalla ();Leer_valores ();PARA indice = cota_inf HASTA cota_sup INCREMENTO 1

Vector_factorial[indice] = factorial_de_un_numero(vector:etero[indice]);ESCRIBIR (vector_factorial[indice]);

FIN_PARAPantalla_FINal ();

FIN_INICIOPROCEDIMIENTO leer_valores ()

INICIOESCRIBIR (“introduce cotas”);LEER (cota_inf);LEER (cota_sup);ESCRIBIR (“Rellena el vector”);PARA indice = cota_inf HASTA cota_sup INCREMENTO 1

LEER (vector_entero [indice]);FIN_PARA

FIN_PROCEDIMIENTOENTERO funcion factorial_de_un _numero (numero)

VARIABLEENTERO factorial;ENTERO indice;

FIN_VARIABLEINICIOSI (numero < 0) ENTONCES

Devolver (-1);SINO

SI (numero = 1) ENTONCESDevolver (1);

SINOFactorial = 1;

FIN_SIPARA indice = 2 HASTA numero INCREMENTO 1

Factorial = factorial + indice;FIN_PARA

Devolver (factorial);

- 60 -

Page 61: Pseudocodigos

Pseudocódigos 2ª Evaluación

FIN_SIFIN_INICIO

FIN_FUNCIONFIN_ALGORITMO

Leer una secuencia y determinar la longitud de la palabra

ENTERO funcion palabra_mas_larga (secuencia parrafo)VARIABLE

ENTERO indice;ENTERO contador_palabra;ENTERO mayor_palabra;

FIN_VARIABLEINICIOIndice = 0;Contador_palabra = 0;Mayor_palabra = 0;MIENTRAS (parrafo[indice] <> “\o”) HACER

SI (parrafo[indice] <> “\o”) ENTONCESContador_palabra = contador_palabra + 1;

FIN_SISI (parrafo[indice] <> “\o”) AND (parrafo[indice + 1] = “ ” OR (parrafo[indice +

1] = “\o”) ENTONCESSI(contador_palabra > mayor_palabra) ENTONCES

Mayor_palabra = contador_palabra;FIN_SIContador_palabra = 0;

FIN_SIIndice = indice + 1;

FIN_MIENTRASDevolver (contador_palabra);

FIN_FUNCION Leer una secuencia y determinar la longitud de la misma.

VARIABLEENTERO indice;

FIN_VARIABLEINICIOIndice = \oMIENTRAS (texto[indice] <> “\o”) HACER

Indice = indice -1FIN_MIENTRAS

Devolver (indice);FIN_INICIO

Realizar una funcion que recibiendo una secuencia devuelva dicha secuencia en mayusculas.

- 61 -

Page 62: Pseudocodigos

Pseudocódigos 2ª Evaluación

ENTERO funcion touppercase_java (secuencia parrafo)VARIABLE

ENTERO indice;SECUENCIA resultado;

FIN_VARIABLEINICIOIndice = 0;MIENTRAS (parrafo[indice] <> “\o”) HACER

SI (parrafo[indice] >= “a”) AND (parrafo[indice] <= “z”) ENTONCESParrafo[indice] = Entero_to_caracter(carácter_to_entero[indice] -32);

FIN_SIFIN_MIENTRAS

Devolver (parafo);FIN_INICIO

DeFINir una funcion recibiendo una secuencia cuyo FIN sera el carácter “\o” que devuelva el entero que representa.

ENTERO funcion simula_autoi (secuencia texto)VARIABLE

CARÁCTER V_a[1.longitud(texto) + 1];ENTERO indice;ENTERO acumulador;ENTERO indice2;

FIN_VARIABLEINICIOIndice = 0;MIENTRAS (texto[indice] <> “\o”) AND (texto[indice] >= “\o”) AND (texto[indice] <= “9”)

V_a[indice + 1] = texto[indice];Indice = indice + 1;

FIN_MIENTRASV_a[indice] = “\o”;Acumulador = 0;PARA indice2 = 1 HASTA indice -1 INCREMENTO 1

Acumulador = acumulador + (carácter_to_entero (v_a[indice2]) – 45) * (10^(indice – indice2));

FIN_PARADevolver (acumulador);

FIN_FUNCION

Dada una secuencia mostrar por pantalla el numero de apariciones del codigo ascii.

PROCEDIMIENTO apariciones (secuencia texto)VARIABLE

ENTERO ascii[0..255];ENTERO indice;

FIN_VARIABLEINICIO

- 62 -

Page 63: Pseudocodigos

Pseudocódigos 2ª Evaluación

PARA indice = 0 HASTA 255 NCREMENTO 1Ascii[indice] = 0;

FIN_PARAPARA indice = 0 HASTA longitud(texto) INCREMENTO 1

Ascii (carácter_to_entero(texto[indice])) = (ascii[carácter_to_entero(texto[indice])) +1FIN_PARAPARA indice = 0 HASTA 255 INCREMENTO 1

ESCRIBIR (“EL codigo ascii”+indice”:”+ascii[indice]);FIN_PARA

FIN_PROCEDIMIENTO

- 63 -