Escolar Documentos
Profissional Documentos
Cultura Documentos
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
10
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
11
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;
12
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
13
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
14
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
15
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
16
17
ALGORITMO ejercicio 1
VARIABLE
ENTERO numero;
FIN_VARIABLE
INICIO
ESCRIBIR (Introduce un numero);
LEER (numero);
SI (numero mod 2 = 0) ENTONCES
ESCRIBIR (El numero es par);
SINO
ESCRIBIR (El numero no es par);
FIN_SI
FIN_INICIO
FIN_VARIABLE
ALGORITMO ejercicio 2
VARIABLE
ENTERO numero a;
ENTERO numero b;
FIN_VARIABLE
INICIO
LEER (numero a);
LEER (numero b);
ESCRIBIR (El numero a * El numero b);
FIN_INICIO
FIN_ALGORITMO
18
ALGORITMO ejercicio 3
VARIABLE
ENTERO numero1;
ENTERO numero2;
FIN_VARIABLE
INICIO
ESCRIBIR (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_SI
FIN_INICIO
FIN_ALGORITMO
19
ALGORITMO ejercicio 4
VARIABLE
ENTERO numero1;
ENTERO numero2;
ENTERO numero3;
FIN_VARIABLE
INICIO
ESCRIBIR (Introduce numero1);
LEER (numero1);
ESCRIBIR (Introduce numero2);
LEER (numero2);
SI (numero1 > numero2) ENTONCES
ESCRIBIR (Introduce numero3);
LEER (numero3);
SI (numero1 > numero3) ENTONCES
ESCRIBIR (El numero1 es el mayor);
SINO
SI (numero2 > numero3) ENTONCES
ESCRIBIR (El numero2 es el mayor);
SINO
ESCRIBIR (El numeo3 es el mayor);
FIN_SI
FIN_SI
FIN_SI
FIN_INICIO
FIN_ALGORITMO
20
ALGORITMO ejercicio 5
VARIABLE
ENTERO numero;
ENTERO indice;
FIN_VARIABLE
CONSTANTE
ENTERO numero = 5;
Conta_superior = 10
Cota_inferior = 1
FIN_CONSTANTE
INICIO
PARA cota_inferior HASTA cota_superior INCREMETO 1
REPETIR
ESCRIBIR (numero5 * indice);
HASTA (indice = 10)
FIN_PARA
FIN_INICIO
FIN_ALGORITMO
21
ALGORITMO ejercicio 6
VARIABLE
ENTERO numero;
ENTERO indice;
ENTERO suma;
ENTERO producto;
FIN_VARIABLE
INICIO
Suma = 0;
Producto = 1;
PARA indice = 1 HASTA 30 INCREMETO 1
LEER (numero);
Suma = suma + numero;
Producto = producto * numero;
Indice = indice + 1;
FIN_PARA
ESCRIBIR (la suma es:+suma);
ESCRIBIR (el producto es:+producto);
FIN_INICIO
FIN_ALGORITMO
22
ALGORITMO ejercicio 7
VARIABLE
ENTERO numero;
ENTERO suma;
FIN_VARIABLE
INICIO
Suma = 0;
LEER (numero);
MIENTRAS (numero > 0) HACER
Suma = suma +numero;
LEER (numero);
FIN_MIENTRAS
ESCRIBIR (la suma es:+suma);
FIN_INICIO
FIN_ALGORITMO
23
ALGORITMO ejercicio 8
VARIABLE
ENTERO a;
ENTERO b;
ENTERO indice;
Multi;
FIN_VARIABLE
INICIO
ESCRIBIR (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_PARA
ESCRIBIR (multi);
FIN_INICIO
FIN_ALGORITMO
24
ALGORITMO ejercicio 9
VARIABLE
ENTERO dividendo;
ENTERO divisor;
ENTERO cociente;
ENTERO resto;
ENTERO signo;
FIN_VARIABLE
INICIO
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_MIENTRAS
FIN_SI
FIN_INICIO
FIN_ALGORITMO
25
ALGORITMO ejercicio 10
VARIABLE
ENTERO numero;
ENTERO producto;
CARCTER fin;
FIN_VARIABLE
CONSTANTES
Limite = f;
FIN_CONSTANTE
INICIO
Producto = 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
26
ALGORITMO ejercicio 11
VARIABLE
ENTERO numero;
ENTERO mayor;
CARCTER final;
FIN_VARIABLE
CONSTANTE
Fin = F;
FIN_CONSTANTE
INICIO
Mayor = 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_INICIO
FIN_ALGORITMO
27
ALGORITMO ejercicio 12
VARIABLE
ENTERO contador;
ENTERO decimal;
ENTERO cociente;
FIN_VARIABLE
INICIO
Contador = 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) ENTONCES
ESCRIBIR (0);
FIN_SI
Cociente = decimal
MIENTRAS (cociente<> 0) HACER
ESCRIBIR (cociente mod 2);
Cociente = cociente/2;
FIN_MIENTRAS
FIN_SI
FIN_INICIO
FIN_ALGORITMO
28
ALGORITMO ejercicio 13
VARIABLE
ENTERO indice;
ENTERO suma;
FIN_VARIABLE
INICIO
Suma = 0;
PARA indice = 2 HASTA 29 INCREMENTO 3
SI (indice mod 5 = 0) ENTONCES
Suma = suma + indice;
FIN_SI
FIN_PARA
ESCRIBIR (La suma es:+suma);
FIN_INICIO
FIN_ALGORITMO
29
ALGORITMO ejercicio 14
VARIABLE
ENTERO medio;
ENTERO suma;
ENTERO contador;
ENTERO numero;
FIN_VARIABLE
INICIO
Suma = 0;
Contador = 0;
Media = 0;
ESCRIBIR (Introduce un numero);
LEER (numero);
MIENTRAS (numero <> 0) HACER
Contador = contador + 1;
Suma = suma + numero;
ESCRIBIR (Introduce un numero);
LEER (numero);
FIN_MIENTRAS
Media = suma/contador;
FIN_INICIO
FIN_ALGORITMO
30
ALGORITMO ejercicio 15
VARIABLE
ENTERO numero;
ENTERO indice;
ENTERO intercambio;
ENTERO n-1;
ENTERO n-2;
FIN_VARIABLE
INICIO
REPETIR
ESCRIBIR (Introduce un numero);
LEER (numero);
HASTA (numero > 0)
SI (numero = 1) ENTONCES
ESCRIBIR (a1 = 1);
SINO
SI (numero = 2) ENTONCES
ESCRIBIR (a1 = 1);
ESCRIBIR (a2 = 1);
SINO
ESCRIBIR (a1 = 1);
ESCRIBIR (a2 = 1);
FIN_SI
n-1 = 1; //a1 = 1
n-2 = 1; //a2 = 1
PARA 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_PARA
FIN_SI
FIN_INICIO
FIN_ALGORITMO
31
ALGORITMO ejercicio 16
VARIABLE
ENTERO numero;
ENTERO mayor;
ENTERO menor;
FIN_VARIABLE
INICIO
ESCRIBIR (Introduce un numero);
LEER (numero);
MIENTRAS (numero mod 2 = 0) HACER
Mayor = numero;
Menor = numero;
MIENTRAS (numero mod 2 = 0) HACER
SI (numero > mayor) ENTONCES
Mayor = numero;
SINO
SI (numero < menor) ENTONCES
Menor = numero;
FIN_SI
FIN_SI
FIN_MIENTRAS
FIN_MIENTRAS
FIN_INICIO
FIN_ALGORITMO
32
ALGORITMO ejercicio 17
VARIABLE
ENTERO suma;
ENTERO numero;
FIN_VARIABLE
CONSTANTE
Carcter fin;
FIN_CONSTANTE
INICIO
ESCRIBIR (Introduce un numero);
LEER (numero);
Suma = 0;
MIENTRAS (numero mod 2 = 0) HACER
Suma = suma + numero;
ESCRIBIR (Desea continuar);
SI (numero mod 2 = 0) ENTONCES
Suma = suma + numero;
SINO
Fin
FIN_SI
FIN_MIENTRAS
FIN_INICIO
FIN_ALGORITMO
33
ALGORITMO ejercicio 18
VARIABLE
ENTERO numero;
FIN_VARIABLE
CONSTANTE
Contador carcter;
FIN_CONSTANTE
INICIO
Contador = 0;
ESCRIBIR (Introduce el primer numero);
REPETIR
LEER (numero);
SI (numero mod 2 = 0) ENTONCES
ESCRIBIR (nuemro);
Contador = contador + 1;
FIN_SI
HASTA (contador = 30)
FIN_INICIO
FIN_ALGORITMO
34
ALGORITMO ejercicio 19
VARIABLE
ENTERO numero;
ENTERO suma;
ENTERO posicion;
ENTERO indice;
FIN_VARIABLE
INICIO
Suma = 0;
Posicin = 0;
MIENTRAS (indice <= 30) HACER
ESCRIBIR (introduce un numero);
LEER (numero);
Posicin = posicin + 1;
SI (posicion mod 2 = 0 ) ENTONCES
Suma = suma + numero;
FIN_SI
FIN_MIENTRAS
FIN_INICIO
FIN_ALGORITMO
35
ALGORITMO ejercicio 20
VARIABLE
ENTERO factorial;
ENTERO indice;
ENTERO numero;
FIN_VARIABLE
INICIO
ESCRIBIR (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_PARA
ESCRIBIR (el resultado es:+factorial);
FIN_SI
FIN_INICIO
FIN_ALGORITMO
36
ALGORITMO ejercicio 21
VARIABLE
ENTERO n;
ENTERO contador;
BOOLEAN encontrado;
FIN_VARIABLE
INICIO
ESCRIBIR (introduce un numero);
LEER (numero);
Encontrado = false;
Contador = 2;
MIENTRAS (contador <= n-1)AND(n mod contador <> 0) HACER
Contador = contador + 1;
FIN_MIENTRAS
SI (contador <= n-1 ) ENTONCES
ESCRIBIR (el numero no es primo);
SINO
ESCRIBIR (el numero es primo);
FIN_SI
FIN_INICIO
FIN_ALGORITMO
37
ALGORITMO ejercicio 22
VARIABLE
ENTERO n;
ENTERO contador;
ENTERO suma;
ENTERO indice;
FIN_VARIABLE
INICIO
Suma = 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_MIENTRAS
SI (contador = n ) ENTONCES
Suma = suma + numero;
FIN_SI
FIN_PARA
FIN_INICIO
FIN_ALGORITMO
38
ALGORITMO ejercicio 23
VARIABLE
ENTERO n;
ENTERO contador;
ENTERO factorial
ENTERO suma;
ENTERO indice;
FIN_VARIABLE
INICIO
Contador = 0;
REPETIR
REPETIR
ESCRIBIR (introduce un numero);
LEER (numero);
HASTA (n >= 0)
Factorial = 1;
PARA indice = 2 HASTA numero INC 1 HACER
Factorial = factorial * numero;
FIN_PARA
Suma = suma + factorial;
Contador = contador + 1;
HASTA (contador = 30)
ESCRIBIR (la suma es:+suma);
FIN_INICIO
FIN_ALGORITMO
39
ALGORITMO ejercicio 26
VARIABLE
ENTERO numero;
ENTERO resultado;
ENTERO i;
ENTERO factorial;
ENTERO resta;
ENTERO indice;
FIN_VARIABLE
INICIO
REPETIR
ESCRIBIR (Introduce un numero);
LEER (numero);
ESCRIBIR (Introduce i);
LEER (i);
HASTA (n > i) AND (N >= 0) AND (i >= 0)
Factorial = 1
FIN_INICIO
FIN_ALGORITMO
40
41
ALGORITMO ejercicio a
VARIABLE
ENTERO numero;
ENTERO mayor;
ENTERO contador;
FIN_VARIABLE
CONSTANTE
Fin = F;
FIN_CONSTANTE
INICIO
Contador = 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);
SINO
ESCRIBIR (El mayor es:+mayor);
FIN_SI
HASTA (fin = limite)
ESCRIBIR (El mayor es:+mayor);
ESCRIBIR (Aparece:+contador +veces);
FIN_INICIO
FIN_ALGORITMO
42
ALGORITMO ejercicio b
VARIABLE
SECUENCIA palabra;
ENTERO mayor;
ENTERO contador;
FIN_VARIABLE
CONSTANTE
Fin = F;
FIN_CONSTANTE
INICIO
Contador = 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);
SINO
ESCRIBIR (La mayor es:+mayor);
FIN_SI
HASTA (fin = limite)
ESCRIBIR (La mayor es:+mayor);
ESCRIBIR (Aparece:+contador +veces);
FIN_INICIO
FIN_ALGORITMO
43
ALGORITMO ejercicio c
VARIABLE
ENTERO a;
ENTERO b;
ENTERO c;
FIN_VARIABLE
INICIO
ESCRIBIR (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_SI
FIN INICIO
FIN_ALGORITMO
44
ALGORITMO ejercicio d
VARIABLE
ENTERO numero;
ENTERO factorial;
ENTERO contador;
ENTERO suma;
ENTERO c_s;
ENTERO indice;
FIN_VARIABLE
INICIO
Contador = 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_PARA
Suma = suma + factorial;
FIN_SI
HASTA (contador = c_s)
FIN_INICIO
FIN_ALGORITMO
45
ALGORITMO ejercicio e
VARIABLE
ENTERO numero;
ENTERO mayor1;
ENTERO mayor2;
CARCTER fin;
FIN_VARIABLE
CONSTANTES
Limite = f;
FIN_CONSTANTE
INICIO
ESCRIBIR (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) ENTONCES
Mayor2 = numero;
FIN_SI
REPETIR
ESCRIBIR (Quieres acabar);
LEER (fin);
HASTA (fin = limite)
FIN_MIENTRAS
ESCRIBIR (los mayores son:+mayor1 y +mayor2);
FIN_INICIO
FIN_ALGORITMO
46
ALGORITMO ejercicio f
VARIABLE
ENTERO decimal;
ENTERO cociente;
ENTERO contador;
INICIO
Contador = 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_MIENTRAS
FIN_SI
FIN_INICIO
FIN_ALGORITMO
47
ALGORITMO ejercicio g
VARIABLE
ENTERO numero;
ENTERO indice;
FIN_VARIABLE
INICIO
REPETIR
ESCRIBIR (Introduce un numero);
LEER (numero);
HASTA (numero > 0)
PARA indice = 1 HASTA numero INCREMENTO 1
SI (numero mod indice = 0) ENTONCES
ESCRIBIR (Un divisor es:+ndice);
SINO
ESCRIBIR (El +indice no es un divisor);
FIN_SI
FIN_PARA
FIN_INICIO
FIN_ALGORITMO
48
ALGORITMO ejercicio h
VARIABLE
ENTERO numero;
ENTERO indice;
CARCTER fin;
FIN_VARIABLE
CONSTANTE
Limite1 = N;
Limite2 = S;
FIN_CONSTANTE
INICIO
REPETIR
ESCRIBIR (Introduce un numero);
LEER (numero);
HASTA (numero > 0)
PARA indice = 1 HASTA numero INCREMENTO 1
SI (numero mod indice = 0) ENTONCES
ESCRIBIR (Un divisor es:+ndice);
SINO
ESCRIBIR (El +indice no es un divisor);
FIN_SI
FIN_PARA
REPETIR
ESCRIBIR (Quieres seguir? (S/N));
LEER (fin);
HASTA (fin = limite1) OR (fin = limite2)
MIENTRAS (fin = limite2) HACER
PARA indice = 1 HASTA numero INCREMENTO 1
SI (numero mod indice = 0) ENTONCES
ESCRIBIR (Un divisor es:+ndice);
SINO
ESCRIBIR (El +indice no es un divisor);
FIN_SI
FIN_PARA
REPETIR
ESCRIBIR (Quieres seguir? (S/N));
LEER (fin);
HASTA (fin = limite1) OR (fin = limite2)
FIN_MIENTRAS
FIN_INICIO
FIN_ALGORITMO
49
FIN_PROCEDIMIENTO
PROCEDIMIENTO leer_valores
INICIO
ESCRIBIR (Introduce A1);
LEER (A1);
ESCIBIR (Introduce A2);
LEER (A2);
FIN_PROCEDIMIENTO
PROCEDIMIENTO borrar_pantalla
VARIABLE
ENTERO A1; /*A1 es un contador*/
FIN_VARIABLE
CONSTANTE
ENTERO primera_linea = 1;
ENTERO ultima_linea = 24;
FIN_CONSTANTE
INICIO
PARA A1 = primera_linea HASTA ultima_linea INCREMENTO 1
ESCRIBIR (__);
FIN_PARA
FIN_PROCEDIMIENTO
ENTERO funcion mayor(entero valor1, entero valor2)
INICIO
50
51
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);
LEER (valor2);
52
53
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);
FIN_INICIO
54
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
FIN_ALGORITMO
55
56
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
57
58
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;
59
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
60
61