Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Leer una secuencia de nmeros y mostrar la suma de los pares y el producto de los que son mltiplo de 5. 2. Leer una secuencia de nmeros y determinar el mayor de los pares ledos. 3. Leer una secuencia de nmeros y mostrar el mayor de los mltiplos de 5 ledos y el menor de los mltiplos de 3 ledos. 4. Leer una secuencia de letras y mostrar la suma de sus cdigos ASCII. Suponemos que tenemos la funcin Conv_a_Codigo (char)=int. 5. Dado un vector de 5 enteros actualizar cada posicin de dicho vector con un nmero ledo. 6. Leer una secuencia de 20 nmeros almacenarlos en un vector y mostrar la posicin donde se encuentra el mayor valor ledo. 7. Dado dos vectores A y B de 15 elementos cada uno, obtener un vector C donde la posicin 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 posicin i se almacene la suma de A[i]+B[i] y mostrar el mayor de los C[i]. 9. Dado una secuencia de nmero ledos y almacenados en un vector A mostrar dichos nmeros en orden. 10. Dado una secuencia de nmero ledos y almacenados en un vector A y un nmero ledo determinar si dicho nmero se encuentra o no en el vector. 11. Leer una secuencia de 20 nmeros y almacenar en un vector sus factoriales. 12. Leer 20 nmeros y almacenarlos de manera ordenada en un vector. 13. Dado dos matrices A y B obtener la suma. 14. Dado una matriz determinar la posicin (i,j) del mayor. 15. Dado una matriz determinar la posicin (i,j) del mayor y menor. 16. Leer un nmero 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 nmeros 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 ordenacin 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 nmeros determina aquellos que sea primos.
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; 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); FIN_INICIO FIN_ALGORITMO
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
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
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
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
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
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
ALGORITMO ejercicio 14 VARIABLE ENTERO A[1..5][1..4]; ENTERO fila; ENTERO columna; ENTERO mayor; ENTERO posicion_fila; ENTERO posicin_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]; Posicin_fila = 1; Posicin_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]; Posicin_fila = [fila]; Posicin_columna = [columna]; FIN_SI FIN_PARA ESCRIBIR (El mayor es:mayor); ESCRIBIR (La posicin es:posicin_fila, Posicin_columna); FIN_PARA FIN_INICIO FIN_ALGORITMO
ALGORITMO ejercicio 15 VARIABLE ENTERO A[1..5][1..4]; ENTERO fila; ENTERO columna; ENTERO mayor; ENTERO posicion_fila; ENTERO posicin_columna; ENTERO menor ENTERO posicin_fila1; ENTERO posicin_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]; Posicin_fila = 1; Posicin_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]; Posicin_fila = [fila]; Posicin_columna = [columna]; FIN_SI FIN_PARA ESCRIBIR (El mayor es:mayor); ESCRIBIR (La posicin es:posicin_fila, Posicin_columna); FIN_PARA Menor = 1; Posicin_fila1 = 1; Posicin_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]; Posicin_fila1 = [fila]; Posicin_columna1 = [columna]; FIN_SI FIN_PARA ESCRIBIR (El mayor es:menor); ESCRIBIR (La posicin es:posicin_fila1, Posicin_columna1); FIN_INICIO FIN_ALGORITMO
10
ALGORITMO ejercicio 16 VARIABLE ENTERO indice; ENTERO pul; ENTERO tipo; ENTERO numero; ENTERO cociente; ENTERO divisor; ENTERO resto; CARCTER 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
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; CARCTER 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 CARCTER ao; FIN_VARIABLE INICIO Borrar_pantalla (); Pantalla_inicial_bisiesto (); ESCRIBIR (Dame un ao); LEER (ao); SI (ao =< 0) ENTONCES ESCRIBIR (El ao no es bisiesto); SINO SI (ao mod 400 = 0) ENTONCES ESCRIBIR (Es bisiesto); SINO SI (ao 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 ao) INICIO SI (ao mod 4 <> 0) ENTONCES Devolver (0); SINO SI (ao mod 400 = 0) ENTONCES Devolver (1); SINO SI (ao mod 100 <> 0) ENTONCES Devolver (1); SINO Devolver (0); FIN_SI FIN_FUNCION
19
FIN_ALGORITMO Define una funcin 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 funcin 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(carcter_to_entero[indice] -32); FIN_SI FIN_MIENTRAS Devolver (parafo); FIN_INICIO Definir una funcion recibiendo una secuencia cuyo fin sera el carcter \o que devuelva el entero que representa. ENTERO funcion simula_autoi (secuencia texto) VARIABLE CARCTER 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 + (carcter_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 (carcter_to_entero(texto[indice])) = (ascii[carcter_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