Pseudocodigos
-
Upload
guillermo-delvalle -
Category
Documents
-
view
158 -
download
1
Transcript of Pseudocodigos
Pseudocódigos 2ª Evaluación
- 1 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Pseudocódigos 2ª Evaluación
FIN_ALGORITMO
- 12 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Pseudocódigos 2ª Evaluación
- 59 -
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 -
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 -
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 -
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 -