Ejercicios de Pseudocódigo
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.
1
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
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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_INICIOFIN_ALGORITMO
10
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
11
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
12
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
13
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
14
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
15
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_VARIABLEINICIOREPETIRPantalla_amigos ();
REPETIRLEER (valor1);
16
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];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
17
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];
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);
18
FIN_INICIOFIN_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_PROCEDIMIENTOENTERO 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_FUNCION
19
FIN_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
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 ();
20
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
21
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);FIN_SIFIN_INICIO
22
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.
ENTERO funcion touppercase_java (secuencia parrafo)VARIABLE
ENTERO indice;SECUENCIA resultado;
23
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_VARIABLEINICIOPARA indice = 0 HASTA 255 NCREMENTO 1
Ascii[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_PARA
24
PARA indice = 0 HASTA 255 INCREMENTO 1ESCRIBIR (“EL codigo ascii”+indice”:”+ascii[indice]);
FIN_PARAFIN_PROCEDIMIENTO
25