Ejercicios de Pseudocódigo 1. Leer una una secuenci secuenciaa de números números y mostrar mostrar la suma suma de los pares pares y el producto producto de los que son múltiplo de 5. 2. Leer una secue secuencia ncia de números números y determi determinar nar el mayor mayor de los pares pares leídos. leídos. 3. Leer una una secuenci secuenciaa de números números y mostrar mostrar el mayor mayor de los múlt múltiplo iploss de 5 leídos leídos y el menor de los múltiplos de 3 leídos. 4. Leer Leer una una secu secuen enci ciaa de letr letras as y mo most stra rarr la suma suma de sus sus códi código goss AS ASCI CII. I. Suponemos que tenemos la función Conv_a_Codigo (char)=int. 5. Dado Dado un vecto vectorr de 5 enter enteros os actual actualiza izarr cada cada posici posición ón de dicho vector vector con un número leído. 6. Leer Leer una una secu secuen enci ciaa de 20 núme número ross alma almace cena narl rlos os en un vect vector or y mo most stra rarr la posición donde se encuentra el mayor valor leído. 7. Dado dos dos vectore vectoress A y B de 15 elemento elementoss cada uno, uno, obtener obtener un vecto vectorr C donde la posición i se almacene la suma de A[i]+B[i]. 8. Dado dos dos vectore vectoress A y B de 15 elemento elementoss cada uno, uno, obtener obtener un vecto vectorr 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 Dado una secuenc secuencia ia de número número leídos leídos y almac almacena enados dos en un vector vector A mostra mostrar r dichos números en orden. 10. Dado Dado una secuenc secuencia ia de número número leídos leídos y almac almacena enados dos en un vecto vectorr 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 almacenar en un vector sus factoriales. 12. Leer 20 números y almacenarlos almacenarlos de manera ordenada ordenada en un vector. 13. Dado dos matrices matrices A y B obtener obtener la suma. 14. Dado una matriz determinar determinar la posición posición (i,j) del mayor. 15. Dado una matriz determinar determinar la posición posición (i,j) del mayor y menor. 16. Leer un número y una letra letra si la letra es B mostrar el valor valor en binario, si es O en octal y si es H en hexadecimal. 17. Leer una secuencia secuencia de 20 números almacenarlos 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] A[1..4][1..5] realiza la la ordenación de la misma. misma. 19. Dada una matriz A[1..4][1..5] A[1..4][1..5] realiza el proceso proceso de ordenar solo solo por filas. 20. Dado un vector de números números determina aquellos aquellos que sea primos. primos.
1
ALGORITMO ejercicio 5 VARIABLE ENTERO n[1..5]; ENTERO indice; FIN_VARIABLE INICIO PARA indice = 1 HASTA 5 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (indice); FIN_PARA FIN_INICIO FIN_ALGORITMO ---------------------------------------------------------------------------------------------------------ALGORITMO ejercicio 6 VARIABLE ENTERO n[1..20]; ENTERO mayor_indice; mayor_indice; ENTERO indice; ENTERO mayor; FIN_VARIABLE INICIO PARA indice = 1 HASTA 20 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (indice); FIN_PARA Mayor = n[1] PARA indice = 1 HASTA 20 INCREMENTO 1 SI (n[indice] > mayor) ENTONCES Mayor_indice = indice; FIN_SI FIN_PARA ESCRIBIR (mayor_indice); (mayor_indice); FIN_INICIO FIN_ALGORITMO
2
ALGORITMO ejercicio 7 VARIABLE ENTERO A[1..15]; ENTERO B[1..15]; ENTERO indice; ENTERO suma; ENTERO C[1..15]; FIN_VARIABLE INICIO PARA 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_PARA PARA indice = 1 HASTA 15 INCREMENTO 1 Suma = A[indice] + B[indice]; C[indice] = suma; FIN_PARA PARA indice = 1 HASTA 15 INCREMENTO 1 ESCRIBIR (C[indice]); FIN_PARA FIN_INICIO FIN_ALGORITMO
3
ALGORITMO ejercicio 8 VARIABLE ENTERO A[1..15]; ENTERO B[1..15]; ENTERO C[1..15]; ENTERO indice; ENTERO suma; ENTERO mayor; ENTERO mayor_indice; FIN_VARIABLE INICIO PARA indice = 1 HASTA 15 INCRMENTO 1 ESCRIBIR (“Introduce un numero para el vector A”); LEER (A[indice]); FIN_PARA PARA indice = 1 HASTA 15 INCRMENTO 1 ESCRIBIR (“Introduce un numero para el vector B”); LEER (B[indice]); FIN_PARA PARA indice = 1 HASTA 15 INCRMENTO 1 Suma = A[indice] + B[indice]; C[indice] = suma; FIN_PARA Mayor = C[1]; Mayor_indice = 1; PARA indice = 1 HASTA 15 INCREMENTO 1 SI (C[indice] > mayor) ENTONCES Mayor_indice = indice; Mayor = C[indice]; FIN_SI FIN_PARA ESCRIBIR (mayor); ESCRIBIR (mayor_indice); FIN_INICIO FIN_ALGORITMO
4
ALGORITMO ejercicio 9 VARIABLE ENTERO intercambio; ENTERO n[1..15]; ENTERO intermedio; ENTRO indice; FIN_VARIABLE INICIO PARA indice = 1 HASTA 15 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (n[indice]); FIN_PARA REPETIR Intercambio = 0; PARA indice = 1 HASTA 15 INCREMENTO 1 SI (n[indice] > n[indice + 1]) ENTONCES Intermedio = n[indice]; N[indice] = n[indice + 1]; N[indice + 1] = Intermedio; Intercambio = 1; FIN_SI FIN_PARA HASTA (intercambio = 0) FIN_INICIO FIN_ALGORITMO
5
ALGORITMO ejercicio 10 VARIABLE ENTERO A[1..10]; ENTERO numero; ENTERO indice; FIN_VARIABLE INICIO PARA indice = 1 HASTA 10 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (A[indice]); FIN_PARA Indice = 1; MIENTRAS (indice < 11) AND (numero <> A[indice]) HACER Indice = indice + 1; FIN_MIENTRAS SI ( indice = 11) ENTONCES ESCRIBIR (“No esta”); SINO ESCRIBIR (“Existe”); FIN_SI FIN_INICIO FIN_ALGORITMO
6
ALGORITMO ejercicio 11 VARIABLE ENTERO n[1..20]; ENTERO indice; ENTERO factorial; ENTERO indice1; ENTERO N[1..20]; FIN_VARIABLE INICIO PARA indice = 1 HASTA 20 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (n[indice]); FIN_PARA PARA 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_PARA FIN_INICIO FIN_ALGORITMO
7
ALGORITMO ejercicio 13 VARIABLE ENTERO A[1..5][1..10]; ENTERO B[1..5][1..10]; ENTERO suma[fila][columna]; ENTERO fila; ENTERO columna; FIN_VARIABLE INICIO PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 10 INCREMENTO 1 LEER (A[fila][columna]); FIN_PARA FIN_PARA PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 10 INCREMENTO 1 LEER (B[fila][columna]); FIN_PARA FIN_PARA PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 10 INCREMENTO 1 Suma[fila][columna] = A[fila][columna] + B[fila][columna]; FIN_PARA FIN_PARA ESCRIBIR (suma[fila][columna]); FIN_INICIO FIN_ALGORITMO
8
ALGORITMO ejercicio 14 VARIABLE ENTERO A[1..5][1..4]; ENTERO fila; ENTERO columna; ENTERO mayor; ENTERO posicion_fila; ENTERO posición_columna; FIN_VARIABLE INICIO PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 4 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (A[fila][columna]); FIN_PARA FIN_PARA Mayor = A[1][1]; Posición_fila = 1; Posición_columna = 1; PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 4 INCREMENTO 1 SI (A[fila][columna] > mayor) ENTONCES Mayor = A[fila][columna]; Posición_fila = [fila]; Posición_columna = [columna]; FIN_SI FIN_PARA ESCRIBIR (“El mayor es:mayor”); ESCRIBIR (“La posición es:posición_fila, Posición_columna”); FIN_PARA FIN_INICIO FIN_ALGORITMO
9
ALGORITMO ejercicio 15 VARIABLE ENTERO A[1..5][1..4]; ENTERO fila; ENTERO columna; ENTERO mayor; ENTERO posicion_fila; ENTERO posición_columna; ENTERO menor ENTERO posición_fila1; ENTERO posición_columna1; FIN_VARIABLE INICIO PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 4 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (A[fila][columna]); FIN_PARA FIN_PARA Mayor = A[1][1]; Posición_fila = 1; Posición_columna = 1; PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 4 INCREMENTO 1 SI (A[fila][columna] > mayor) ENTONCES Mayor = A[fila][columna]; Posición_fila = [fila]; Posición_columna = [columna]; FIN_SI FIN_PARA ESCRIBIR (“El mayor es:mayor”); ESCRIBIR (“La posición es:posición_fila, Posición_columna”); FIN_PARA Menor = 1; Posición_fila1 = 1; Posición_columna1 = 1; PARA fila = 1 HASTA 5 INCREMENTO 1 PARA columna = 1 HASTA 4 INCREMENTO 1 SI (A[fila][columna] < menor) ENTONCES Menor = A[fila][columna]; Posición_fila1 = [fila]; Posición_columna1 = [columna]; FIN_SI FIN_PARA ESCRIBIR (“El mayor es:menor”); ESCRIBIR (“La posición es:posición_fila1, Posición_columna1”); FIN_INICIO FIN_ALGORITMO
10
ALGORITMO ejercicio 16 VARIABLE ENTERO indice; ENTERO pul; ENTERO tipo; ENTERO numero; ENTERO cociente; ENTERO divisor; ENTERO resto; CARÁCTER resultado[1..20]; FIN_VARIABLE INICIO LEER (numero); LEER (tipo); // O,H,B Cociente = numero; SELECTOR tipo Caso “B”: divisor = 2; Caso “O”: divisor = 8; Caso “H”: divisor = 16; FIN_SELECTOR Pul = 0; REPETIR Pul = pul + 1; Resto = cociente mod divisor; SELECTOR resto Caso 10: resultado[pul] = “A”; … … Caso 15: resultado[pul] = “F”; Defecto: resultado[pul] = resto; FIN_SELECTOR Cociente = cociente\divisor; HASTA (cociente = 0) PARA indice = pul HASTA 1 INCREMENTO -1 ESCRIBIR (resultado[pul]); FIN_PARA FIN_INICIO FIN_ALGORITMO
11
ALGORITMO ejercicio 17 VARIABLE ENTERO A[1..20]; ENTERO indice; ENTERO suma; ENTERO mayor; FIN_VARIABLE INICIO PARA indice = 1 HASTA 20 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (A[indice]); FIN_PARA Suma = 0; PARA indice = 2 HASTA 20 INCREMENTO 2 Suma = suma + A[indice]; FIN_PARA Mayor = A[1]; PARA indice = 1 HASTA 20 INCREMENTO 2 SI (A[indice] > mayor) ENTONCES Mayor = A[indice]; FIN_SI FIN_PARA ESCRBRIR (“LA suma es:+suma”); ESCRIBIR (“El mayor es:+mayor”); FIN_INICIO FIN_ALGORITMO
12
ALGORITMO ejercicio 18 VARIABLE ENTERO A[1..4][1..5]; ENTERO fila; ENTERO columna; ENTERO v[1..20]; ENTERO indice; ENTERO intercambio; ENTERO intermedio; FIN_VARIABLE INICIO PARA fila = 1 HASTA 4 INCREMENTO 1 PARA columna = 1 HASTA 5 INCREMENTO 1 ESCRIBIR(“Introduce un numero”); LEER (A[fila][columna]); FIN_PARA FIN_PARA PARA fila = 1 HASTA 4 INCREMENTO 1 PARA columna = 1 HASTA 5 INCREMENTO 1 V[((fila – 1) + 5) + columna] = A[fila][columna]; FIN_PARA FIN_PARA REPETIR Intercambio = 0; PARA (indice = 1) HASTA 19 INCREMENTO 1 SI (V[indice] > V[indice + 1]) ENTONCES Intermedio = V[indice]; V[indice] = V[indice +1]; V[indice +1] = intermedio; Intercambio = 1; FIN_SI FIN_PARA HASTA (intercambio = 0) PARA fila = 1 HASTA 4 INCREMENTO 1 PARA columna = 1 HASTA 3 INCREMENTO 1 A[fila][columna] = V[((fila – 1) * 5) + columna]; FIN_PARA FIN_PARA FIN_INICIO FIN_ALGORITMO
13
ALGORITMO ejercicio 19 VARIABLE ENTERO A[1..4][1..5]; ENTERO intermedio; ENTERO fila; ENTERO columna; FIN_VARIABLE INICIO PARA fila = 1 HASTA 4 INCREMENTO 1 PARA columna = 1 HASTA 5 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (A[fila][columna]); FIN_PARA FIN_PARA REPETIR Intercambio = 0; PARA fila = 1 HASTA 4 INCREMENTO 1 PARA columna = 1 HASTA 3 INCREMENTO 1 SI (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_SI FIN_PARA FIN_PARA HASTA (intercambio = 0) FIN_INICIO FIN_ALGORITMO
14
ALGORITMO ejercicio 20 VARIABLE ENTERO A[1..20]; ENTERO indice; ENTERO indice1; FIN_VARIABLE INICIO PARA indice = 1 HASTA 20 INCREMENTO 1 ESCRIBIR (“Introduce un numero”); LEER (A[indice]); FIN_PARA PARA indice = 1 HASTA 20 INCEMENTO 1 Indice1 = 2; MIENTRAS (indice1 < A[indice]) AND (A[indice] mod indice1 <> 0) HACER Indice1 = indice1 + 1; FIN_MIENTRAS SI (indice1 = A[indice]) ENTONCES ESCRIBIR (“A[indice] es primo”); FIN_SI FIN_PARA FIN_INICIO FIN_ALGORITMO
15
Realizar un algoritmo que muestre el siguiente menú. 1. 2. 3. 4. 5. 6.
Amigos Sociables Vector de productos Vector de sumas Bisiesto Salir
IMPORTAR MATEMATICAS ALGORITMO VARIABLE ENTERO opcion; FIN_VARIABLE INICIO Pantalla_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_SELECTOR HASTA (opcion = 6) Pantalla_fin (); FIN_INICIO PROCEDIMIENTO pantalla_menu () ESCRIBIR (“__”); …… …… FIN_PROCEDIMIENTO PRCEDIMIENTO leer_opcion INICIO LEER (opcion); FIN_INICIO FIN_PROCEDIMIENTO PROCEDIMIENTO procedimientos_amigos () VARIABLE ENTERO valor1; ENTERO valor2; CARÁCTER tecla; FIN_VARIABLE INICIO REPETIR Pantalla_amigos (); REPETIR LEER (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_SI REPETIR ESCRIBIR (“¿Quieres seguir s/n?”); LEER (tecla); HASTA ((teca = s) OR (tecla = n)) HASTA (tecla = N) FIN_INICIO FIN_PROCEDIMIENTO ENTERO funcion amigos (entero v1, entero v2) INICIO SI (suma_divisores (v1) = v2) AND (suma_divisores(v2) = v1) ENTONCES Devuelve (1); SINO Devuelve (0); FIN_SI FIN_FUNCION ENTERO funcion suma_divisores (Entero valor) VARIABLE ENTERO indice; ENTERO suma; FIN_VARIABLE INICIO Suma = 0; PARA indice = 1 HASTA (v1 – 1) INCREMENTO 1 SI (v1 mod divisor = 0) ENTONCES Suma = suma + indice; FIN_SI FIN_PARA Devolver (suma); FIN_FUNCION PROCEDIMIENTO procedimiento_sociable () CONSTANTE ENTERO c_i = 1; ENTERO c_s = 20; FIN_CONSTANTE VARIABLE ENTERO vector[c_i..c_s]; ENTERO indice; FIN_VARIABLE Pantalla_sociable PARA indice = c_i HASTA c_s INCREMENTO 1 LEER (vector[indice]); FIN_PARA SI ((sociable(vector, c_i, c_s)) = 1) ENTONCES 17
ESCRIBIR (“Son sociables”); SINO
ESCRIBIR (“NO son sociables”); FIN_SI FIN_INICIO FIN_PROCEDIMIENTO ENTERO funcion sociables (Entero vector[], Entero c_i, Entero c_s) VARIABLE ENTERO indice; FIN_VARIABLE INICIO Indice = 1; MIENTRAS (indice < c_i) AND (sociables(vector[indice], ventor[indice + 1]) = 1) Indice = indice + 1; FIN_MIENTRAS SI (indice = c_s) AND ((sociable[c_i], v[c_s]) = 1) ENTONCES Devolver (1); SINO Devolver (0); FIN_SI FIN_INICIO FIN_FUNCION ENTERO funcion vector_producto (Entero vector[], c_i, c_s) VARIABLE ENTERO indice; ENTERO producto; FIN_VARIABLE INICIO Producto = 1; PARA indice = c_i HASTA c_s INCREMENTO 1 Producto = producto * vector[indice]; FIN_PARA Devolver (productos); FIN_FUNCION PROCEDIMIENTO vector_de_sumas VARIABLE ENTERO c_i; ENTERO c_s; ENTERO indice; ENTERO vector [c_i..c_s]; FIN_VARIABLE INICIO Borrar_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_INICIO FIN_PROCEDIMIENTO ENTERO funcion suma_vector (Entero vector[], c_i, c_s) VARIABLE ENTERO indice; ENTEOR suma; FIN_VARIABLE INICIO Suma = 0; PARA indice = c_i HASTA c_s INCREMENTO 1 Suma = suma + vector[indice[; FIN_PARA Devolver (suma); FIN_FUNCION PROCEDIMIENTO bisiesto VARIABLE CARÁCTER año; FIN_VARIABLE INICIO Borrar_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) ENTONCES ESCRIBIR (“Es bisiesto”); SINO SI (año mod 100 = 0) ENTONCES ESCRIBIR (“No es bisiesto”); SINO ESCRIBIR (“Es bisiesto”); FIN_SI FIN_SI FIN_SI FIN_INICIO FIN_PROCEDIMIENTO ENTERO funcion Bisiesto(Entero año) INICIO SI (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_ALGORITMO Define 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_VARIABLE INICIO Mayor = a[c_i]; PARA indice = c_i HASTA c_s INCREMENTO 1 SI (a[indice] > mayor) ENTONCES Mayor = a[indice]; FIN_SI FIN_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_VARIABLE INICIO Indice = c_i; MIENTRAS (indice <= c_s) AND (vector(indice <> numero) HACER Indice indice + 1; FIN_MIENTRAS SI (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_primos VARIABLE ENTERO vector [c_i..c_s]; ENTERO vector_factorial [c_i..c_s]; ENTERO cota_superior; ENTERO cota_inferior; ENTERO indice; FIN_VARIABLE INICIO Borrar_pantalla (); Pantalla:inicial (); 20
Borrar_pantalla (); Leer_valores (); PARA indice = cota_inf HASTA cota_sup INCREMENTO 1 SI (numeros_primos(vector[indice]) = 1) ENTONCES Vector_factorial[indice] = factorial_de_un _numero (vector[indice]); FIN_SI ESCRIBIR (vector_factorial[indice]); FIN_PARA Pantalla_inicial (); FIN_INICIO ENTERO funcion numero_primo (Entero numero) VARIABLE ENTERO numero; ENTERO indice; FIN_VARIABLE INICIO Indice = 2; MIENTRAS (indice < numero) AND (numero mod indice <> 0) HACER Indice = indice + 1; FIN_MIENTRAS SI (indice = numero) ENTONCES Devolver (1); SINO Devolver (0); FIN_SI FIN_FUNCION FIN_ALGORTIMO
21
Algoritmo que lea n enteros almacenados en un vector sus factoriales.
ALGORITMO factorial VARIABLE ENTERO vector_entero[c_i..c_s]; ENTERO vector_factorial[c_i..c_s]; ENTERO cota_inferior; ENTERO cota_superior; FIN_VARIABLE INICIO Borrar_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_PARA Pantalla_final (); FIN_INICIO PROCEDIMIENTO leer_valores () INICIO ESCRIBIR (“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_PROCEDIMIENTO ENTERO funcion factorial_de_un _numero (numero) VARIABLE ENTERO factorial; ENTERO indice; FIN_VARIABLE INICIO SI (numero < 0) ENTONCES Devolver (-1); SINO SI (numero = 1) ENTONCES Devolver (1); SINO Factorial = 1; FIN_SI PARA indice = 2 HASTA numero INCREMENTO 1 Factorial = factorial + indice; FIN_PARA Devolver (factorial); FIN_SI FIN_INICIO 22
FIN_FUNCION FIN_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_VARIABLE INICIO Indice = 0; Contador_palabra = 0; Mayor_palabra = 0; MIENTRAS (parrafo[indice] <> “\o”) HACER SI (parrafo[indice] <> “\o”) ENTONCES Contador_palabra = contador_palabra + 1; FIN_SI SI (parrafo[indice] <> “\o”) AND (parrafo[indice + 1] = “ ” OR (parrafo[indice + 1] = “\o”) ENTONCES SI(contador_palabra > mayor_palabra) ENTONCES Mayor_palabra = contador_palabra; FIN_SI Contador_palabra = 0; FIN_SI Indice = indice + 1; FIN_MIENTRAS Devolver (contador_palabra); FIN_FUNCION Leer una secuencia y determinar la longitud de la misma.
VARIABLE ENTERO indice; FIN_VARIABLE INICIO Indice = \o MIENTRAS (texto[indice] <> “\o”) HACER Indice = indice -1 FIN_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_VARIABLE INICIO Indice = 0; MIENTRAS (parrafo[indice] <> “\o”) HACER SI (parrafo[indice] >= “a”) AND (parrafo[indice] <= “z”) ENTONCES Parrafo[indice] = Entero_to_caracter(carácter_to_entero[indice] -32); FIN_SI FIN_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_VARIABLE INICIO Indice = 0; MIENTRAS (texto[indice] <> “\o”) AND (texto[indice] >= “\o”) AND (texto[indice] <= “9”) V_a[indice + 1] = texto[indice]; Indice = indice + 1; FIN_MIENTRAS V_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_PARA Devolver (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_VARIABLE INICIO PARA indice = 0 HASTA 255 NCREMENTO 1 Ascii[indice] = 0; FIN_PARA PARA indice = 0 HASTA longitud(texto) INCREMENTO 1 Ascii (carácter_to_entero(texto[indice])) = (ascii[carácter_to_entero(texto[indice])) +1 FIN_PARA 24
PARA indice = 0 HASTA 255 INCREMENTO 1 ESCRIBIR (“EL codigo ascii”+indice”:”+ascii[indice]); FIN_PARA FIN_PROCEDIMIENTO
25