Anda di halaman 1dari 36

RUBEN

NAVARRO
CASERO
&
RAUL
MORALES
GARCIA
Correccin e implementacin en PSeInt por Alejandro
Caro y discoduroderoer
2004
2012-2013
1

Ejercicios de Pseudocdigo Parte 1


Nota: Los arreglos son en base 0
1. Leer un nmero y mostrar por la salida estndar si dicho nmero es o no es par.
anda
2. Leer 2 nmeros y mostrar el producto de ellos. anda
3. Leer 2 nmeros y determinar el mayor de ellos. anda
4. Leer 3 nmeros y mostrar el mayor de ellos. anda
5. Leer un nmero y mostrar su tabla de multiplicar. anda
6. Leer una secuencia de 30 nmeros y mostrar la suma y el producto de ellos. anda
7. Leer una secuencia de nmeros, hasta que se introduce un nmero negativo y
mostrar la suma de dichos nmeros. anda
8. Leer dos nmeros y realizar el producto mediante sumas. anda
9. Leer dos nmeros y realizar la divisin mediante restas mostrando el cociente y
el resto. anda
10. Leer una secuencia de nmeros y mostrar su producto, el proceso finalizar
cuando el usuario pulse a la tecla F. anda
11. Lee una secuencia de nmeros y determina cual es el mayor de ellos. anda
12. Dado un nmero mostrar su valor en binario. anda
13. Generar enteros de 3 en 3 comenzando por 2 hasta el valor mximo menor que
Calculando la suma de los enteros generados que sean divisibles por 5. anda
14. Calcular la media de una secuencia de nmeros, el proceso finalizar cuando el
usuario pulse F. anda
15. Generar los N primeros trminos de la serie de Fibonacci y mostrarlos por
pantalla. El valor N (entero y positivo) deber ser ledo por el teclado. En esta
serie los dos primeros nmeros son 1, y el resto se obtiene sumando los dos
anteriores: 1,1,2,3,5,8,13,21 anda
16. Leer una secuencia se nmeros y mostrar cules de ellos es el mayor y el menor,
el proceso finalizar cuando se introduzca un nmero impar. anda
17. Leer una secuencia de nmeros y sumar solo los pares mostrando el resultado
del proceso. anda
18. Leer una secuencia de nmeros y mostrar los 30 primeros pares ledos. anda
19. Leer una secuencia de nmeros y mostrar la suma de los 30 nmeros que ocupan
posiciones de lectura par. anda
20. Leer un nmero y determinar su factorial. anda
21. Leer un nmero y determinar si es o no es primo. anda
22. Leer una secuencia de 30 nmeros y mostrar la suma de los primos. anda
23. Leer una secuencia de 30 nmeros y mostrar la suma de su factorial. anda
24. Calcular el valor del nmero E (Euler) =(1/n!) y mostrarlo en pantalla. anda
(ver)
25. Implementar un programa que sea capaz de calcular el resultado de aplicar la
frmula siguiente (n i)=n! / (i! * (n-i)!). anda

Vase pgina Ejercicios de Pseudocdigo Parte 2 para la segunda parte

PROCESO ejercicio_1 //anda


DEFINIR numero COMO ENTERO;
ESCRIBIR ("Introduce un nmero");
LEER numero;
SI (numero % 2 = 0) ENTONCES
ESCRIBIR ("El numero es par");
SINO
ESCRIBIR ("El numero no es par");
FINSI
FINPROCESO
PROCESO ejercicio_2 //anda
DEFINIR numero_a COMO ENTERO;
DEFINIR numero_b COMO ENTERO;
ESCRIBIR ("Introduce un nmero");
LEER numero_a;
ESCRIBIR ("Introduce otro nmero");
LEER numero_b;
ESCRIBIR (numero_a * numero_b);
FINPROCESO
PROCESO ejercicio_3 //anda
DEFINIR numero1 COMO ENTERO;
DEFINIR numero2 COMO ENTERO;
ESCRIBIR ("Introduce el nmero1");
LEER numero1;
ESCRIBIR ("Introduce el nmero2");
LEER numero2;
SI (numero1 > numero2) ENTONCES
ESCRIBIR ("El nmero1 es mayor", numero1);
SINO
ESCRIBIR ("El nmero2 es mayor", numero2);
SI (numero1 = numero2) ENTONCES
ESCRIBIR ("Los nmeros son iguales");
FINSI
FINSI
FINPROCESO

PROCESO ejercicio_4 //anda


DEFINIR numero1 COMO ENTERO;
DEFINIR numero2 COMO ENTERO;
DEFINIR numero3 COMO ENTERO;
ESCRIBIR ("Introduce nmero1");
LEER numero1;
ESCRIBIR ("Introduce nmero2");
LEER numero2;
SI (numero1 > numero2) ENTONCES
ESCRIBIR ("Introduce nmero3");
LEER numero3;
SI (numero1 > numero3) ENTONCES
ESCRIBIR ("El nmero1 es el mayor");
SINO
SI (numero2 > numero3) ENTONCES
ESCRIBIR ("El nmero2 es el mayor");
SINO
ESCRIBIR ("El nmero3 es el mayor");
FINSI
FINSI
FINSI
FINPROCESO
PROCESO ejercicio_5 //anda
DEFINIR indice COMO ENTERO;
DEFINIR numero COMO ENTERO;
DEFINIR cota_superior COMO ENTERO;
DEFINIR cota_inferior COMO ENTERO;
cota_inferior <- 1;
cota_superior <- 10;
indice <- 1;
ESCRIBIR "Ingrese un nmero";
LEER numero;
PARA indice <- cota_inferior HASTA cota_superior CON PASO 1 HACER
ESCRIBIR numero ,(" * "), indice ,(" = "), numero*indice;
FINPARA
FINPROCESO

PROCESO ejercicio_6 //anda


DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR producto COMO ENTERO;
suma <- 0;
producto <- 1;
PARA indice <-1 HASTA 30 CON PASO 1 HACER
LEER numero;
suma <- suma + numero;
producto <- producto * numero;
indice <-indice + 1;
FINPARA
ESCRIBIR ("la suma es: "), suma;
ESCRIBIR ("el producto es: "), producto;
FINPROCESO
PROCESO ejercicio_7 //anda
DEFINIR numero COMO ENTERO;
DEFINIR suma COMO ENTERO;
suma <- 0;
LEER numero;
MIENTRAS (numero > 0) HACER
suma <- suma +numero;
LEER numero;
FINMIENTRAS
ESCRIBIR ("la suma es:"), suma;
FINPROCESO
PROCESO ejercicio_8 //anda
DEFINIR a COMO ENTERO;
DEFINIR b COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR Multi COMO ENTERO;
ESCRIBIR ("introduce el primer nmero");
LEER a;
ESCRIBIR ("introduce el segundo nmero");
LEER b;
multi <- 0;
PARA indice <-b HASTA 1 CON PASO -1 HACER
multi <- multi + a;
FINPARA
ESCRIBIR (multi), " "; //apretar alt + 01
FINPROCESO

PROCESO ejercicio_9 //anda


DEFINIR dividendo COMO ENTERO;
DEFINIR divisor COMO ENTERO;
DEFINIR cociente COMO ENTERO;
DEFINIR resto COMO ENTERO;
DEFINIR signo COMO ENTERO;
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;
FINMIENTRAS
FINSI
ESCRIBIR "El cociente es ", cociente;
ESCRIBIR "El resto es ", resto;
FINPROCESO
PROCESO ejercicio_10 //anda
DEFINIR numero COMO ENTERO;
DEFINIR producto COMO ENTERO;
DEFINIR ffin COMO CARACTER;
DEFINIR limite COMO CARACTER;
Limite <- "f";
Producto <- 1;
REPETIR
ESCRIBIR ("Introduce el nmero");
LEER numero;
ESCRIBIR ("Seguir? f = no s = si\n");
LEER ffin;
producto <- producto * numero;
HASTA QUE (ffin = limite)
ESCRIBIR ("el producto de los nmeros es: "), producto;
FINPROCESO

PROCESO ejercicio_11 //anda


DEFINIR numero COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR final COMO CARACTER;
DEFINIR ffin COMO CARACTER;
ffin <-"F";
mayor <- 0;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
ESCRIBIR ("Seguir? f = no s = si\n");
LEER final;
SI (numero > mayor) ENTONCES
mayor <- numero;
FINSI
HASTA QUE (final = ffin)
ESCRIBIR ("El mayor es:"), mayor;
FINPROCESO
PROCESO ejercicio_12 //anda
DEFINIR contador COMO ENTERO;
DEFINIR binario COMO CADENA;
DEFINIR digito COMO CADENA;
DEFINIR decimal COMO ENTERO;
DEFINIR cociente COMO ENTERO;
binario<-"";
digito<-"";
Contador <- 0;
REPETIR
ESCRIBIR ("Introduce un decimal");
LEER decimal;
Contador <- contador + 1;
HASTA QUE (decimal >= 0) | (contador = 5)
SI (contador = 5) ENTONCES
ESCRIBIR ("Sobrepasado numero de errores");
SINO
SI (decimal = 0) ENTONCES
ESCRIBIR ("0");
FINSI
Cociente <- decimal;
MIENTRAS (cociente<> 0) HACER
SI cociente % 2 = 0 ENTONCES
digito<-"0"
Sino
digito<-"1"
FinSi
binario<-digito+binario
Cociente <- cociente/2;
FINMIENTRAS
ESCRIBIR binario;
FINSI
7

FINPROCESO
(Otra solucin)
PROCESO sin_titulo
DEFINIR num COMO ENTERO;
DEFINIR cad COMO CADENA;
ESCRIBIR ("Ingrese un nmero entero positivo: ");
LEER num;
cad <- "";
SI num > 0 ENTONCES
MIENTRAS num>0 HACER
SI num%2 = 0 ENTONCES
cad <- "0" + cad;
SINO
cad <- "1" + cad;
FINSI
num <- num/2;
FINMIENTRAS
ESCRIBIR ("Numero en binario: "), cad;
SINO
SI num = 0 Entonces
ESCRIBIR "0";
SINO
Escribir ("Solo nmeros mayores a cero");
FINSI
FINSI
FINPROCESO
PROCESO ejercicio_13 //anda
DEFINIR indice COMO ENTERO;
DEFINIR suma COMO ENTERO;
suma <- 0;
PARA indice <-2 HASTA 29 CON PASO 3 HACER
SI (indice % 5 = 0) ENTONCES
suma <- suma + indice;
FINSI
FINPARA
ESCRIBIR ("La suma es: "), suma;
FINPROCESO
PROCESO ejercicio_14 //anda
DEFINIR media COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR numero COMO ENTERO;
suma <- 0;
contador <- 0;
media <- 0;
ESCRIBIR ("Introduce un nmero");
LEER numero;
MIENTRAS (numero <> 0) HACER
contador <- contador + 1;
suma <- suma + numero;
ESCRIBIR ("Introduce un nmero");
8

LEER numero;
FINMIENTRAS
media <- suma/contador;
ESCRIBIR suma, " ";
ESCRIBIR media;
FINPROCESO
PROCESO ejercicio_15 //anda (coincide con el nmero de ejercicio)
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR intercambio COMO ENTERO;
DEFINIR n_1 COMO ENTERO;
DEFINIR n_2 COMO ENTERO;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
HASTA QUE (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");
FINSI
n_1 <- 1; //a1 <- 1
n_2 <- 1; //a2 <- 1
PARA indice <-3 HASTA numero CON PASO 1 HACER
ESCRIBIR ( "a"), indice ,(" = "), n_1 + n_2;
intercambio <- n_1;
n_1 <- n_1 + n_2;
n_2 <- intercambio;
FINPARA
FINSI
FINPROCESO
PROCESO ejercicio_16 //anda
DEFINIR numero COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR menor COMO ENTERO;
ESCRIBIR ("Introduce un nmero");
LEER numero;
MIENTRAS (numero % 2 = 0) HACER
mayor <- numero;
menor <- numero;
MIENTRAS (numero % 2 = 0) HACER
SI (numero > mayor) ENTONCES
mayor <- numero;
SINO
SI (numero < menor) ENTONCES
menor <- numero;
9

FINSI
FINSI
FINMIENTRAS
FINMIENTRAS
FINPROCESO
PROCESO ejercicio_17 // anda
DEFINIR suma COMO ENTERO;
DEFINIR numero COMO ENTERO;
suma <- 0;
ESCRIBIR ("Introduce un nmero");
LEER numero;
MIENTRAS (numero % 2 = 0) HACER
LEER numero;
suma <- suma + numero;
SI (numero % 2 = 0) ENTONCES
suma <- suma + numero;
FINSI
FINMIENTRAS
ESCRIBIR (suma);
FINPROCESO
PROCESO ejercicio_18 //anda (coincide con el nmero de ejercicio)
DEFINIR numero COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR caracter COMO ENTERO;
contador <- 0;
ESCRIBIR ("Introduce el primer nmero");
REPETIR
LEER numero;
SI (numero % 2 = 0) ENTONCES
ESCRIBIR (numero);
contador <- contador + 1;
FINSI
HASTA QUE (contador = 30)
FINPROCESO
PROCESO ejercicio_19 //anda
DEFINIR numero COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR posicion COMO ENTERO;
DEFINIR indice COMO ENTERO;
suma <- 0;
posicion <- 0;
MIENTRAS (indice <= 30) HACER
ESCRIBIR ("introduce un nmero");
LEER numero;
posicion <- posicion + 1;
SI (posicion % 2 = 0 ) ENTONCES
suma <- suma + numero;
FINSI
FINMIENTRAS
ESCRIBIR (suma);
10

FINPROCESO
PROCESO ejercicio_20 //anda
DEFINIR factorial COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR numero COMO ENTERO;
ESCRIBIR ("introduce un nmero");
LEER numero;
SI (numero < 0) ENTONCES
ESCRIBIR ();
SINO SI (numero = 0) ENTONCES
ESCRIBIR ("El factorial de 0 es 1");
SINO
factorial <- 1;
PARA indice <-2 HASTA numero CON PASO 1 HACER
factorial <- factorial * numero;
FINPARA
ESCRIBIR ("El resultado es: "), factorial;
FINSI
FINSI
FINPROCESO
PROCESO ejercicio_21 //anda
DEFINIR n COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR encontrado COMO LOGICO;
ESCRIBIR ("introduce un nmero");
LEER n;
encontrado <- falso;
contador <- 2;
MIENTRAS (contador <= n-1) & (n % contador <> 0) HACER
contador <- contador + 1;
FINMIENTRAS
SI (contador <= n-1 ) ENTONCES
ESCRIBIR ("el nmero no es primo");
SINO
ESCRIBIR ("el nmero es primo");
FINSI
FINPROCESO
PROCESO ejercicio_22 //anda
DEFINIR n COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR indice COMO ENTERO;
suma <- 0;
PARA indice <-0 HASTA 29 CON PASO 1 HACER
ESCRIBIR ("introduce un nmero");
LEER numero;
contador <- 2;
MIENTRAS (contador <= n-1) & (n % contador = 0) HACER
contador <- contador + 1;
11

FINMIENTRAS
SI (contador = n ) ENTONCES
suma <- suma + numero;
FINSI
FINPARA
FINPROCESO
PROCESO ejercicio_23 //anda
DEFINIR n COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR factorial COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR numero COMO ENTERO;
n <- 0;
contador <- 0;
suma <- 0;
REPETIR
REPETIR
ESCRIBIR ("introduce un nmero");
LEER numero;
HASTA QUE (n >= 0)
factorial <- 1;
PARA indice <-2 HASTA numero CON PASO 1 HACER
factorial <- factorial * numero;
FINPARA
suma <- suma + factorial;
contador <- contador + 1;
HASTA QUE (contador = 30)
ESCRIBIR ("la suma es:"), suma;
FINPROCESO
SUBPROCESO suma <- factorial ( numero )
DEFINIR suma COMO ENTERO;
suma<-numero;
PARA contador<-numero-1 HASTA 1 CON PASO -1 HACER
suma<-suma*contador;
FINPARA
FINSUBPROCESO
PROCESO ejercicio_24 //anda pero revisar el uso de subprocesos //(ir a ndice)
(basarse en el ejercico_37)
DEFINIR e, n, numero COMO REALES;
e<-1;
ESCRIBIR "Ingrese la cantidad de cifras para el lmite del factorial: ";
LEER numero;
//ESCRIBIR (1+1/numero)^numero;
PARA n <-1 HASTA numero CON PASO 1 HACER
e <- e + 1/factorial(n);
FINPARA
ESCRIBIR e;
12

FINPROCESO
//http://www.discoduroderoer.es/ejercicios-de-funciones-pseudocodigo/
SUBPROCESO suma <- factorial ( numero )
DEFINIR suma COMO ENTERO;
suma<-numero;
PARA contador<-numero-1 HASTA 1 CON PASO -1 HACER
suma<-suma*contador;
FINPARA
FINSUBPROCESO
PROCESO ejercicio_25 //anda
DEFINIR numero COMO ENTERO;
DEFINIR resultado COMO ENTERO;
DEFINIR i COMO ENTERO;
DEFINIR indice COMO ENTERO;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
ESCRIBIR ("Introduce i");
LEER i;
HASTA QUE (numero > i) & (numero >= 0) & (i >= 0)
resultado <-factorial(numero) / (factorial(i) * factorial(numero-i));
ESCRIBIR resultado;
FINPROCESO

13

1. Desarrolle un algoritmo (Pseudocdigo-Organigrama) para cada uno de los


siguientes problemas que se plantean:
a. Dado una secuencia de nmeros determinar el mayor ledo y el nmero
de veces que aparece. anda
b. Dado una secuencia de palabras determinar el mayor y menor
lexicogrficamente. anda
c. Resolucin de una ecuacin de 2 grado. anda
d. Dado una secuencia de nmeros obtener la suma de los factoriales de
aquellos que ocupan posicin par. anda
e. Determina dado una secuencia de enteros obtener los dos ms mayores.
(anda mal) (ir a cdigo)
f. Dada un entero extraer cada uno de los dgitos que lo forma. (anda pero
con resultado incorrecto) (ir al cdigo)
g. Dada un entero visualizar sus divisores. anda
h. Dada una secuencia de enteros determinar para cada una los divisores.
anda
i. Dada una secuencia de enteros determinar los que son primos y tambin
los que tienen como dgito menos significativo un 7. anda
j. Dada una secuencia de enteros determinar para cada su factorial y si es o
no primo. anda
k. Determina de una secuencia de enteros aquel que es mayor pero adems
es primo. anda
l. Determina de una secuencia de enteros aquel factorial que es mayor.
anda
m. Dado una secuencia de enteros de cada uno determina sus 20 primeros
mltiplos positivos y enteros. anda

14

PROCESO ejercicio_a //anda


DEFINIR numero COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR ffin COMO CARACTER;
ffin <- "F";
contador <- 1;
mayor <- 0;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
ESCRIBIR ("Seguir? f = no s = si\n");
LEER fin;
SI (numero > mayor) ENTONCES
contador <- 1;
mayor <- numero;
ESCRIBIR numero ,("es el mayor");
SINO
ESCRIBIR ("El mayor es:"), mayor;
FINSI
HASTA QUE (ffin = limite)
ESCRIBIR ("El mayor es:"), mayor;
ESCRIBIR ("Aparece:"), contador ,("veces");
FINPROCESO
PROCESO ejercicio_b //anda
DEFINIR palabra COMO CARACTER;
DEFINIR mayor COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR ffin COMO ENTERO;
ffin <- "F";
contador <- 1;
mayor <- 0;
REPETIR
ESCRIBIR ("Introduce una palabra");
LEER palabra;
ESCRIBIR ("Seguir? f = no s = si\n");
LEER ffin;
SI (palabra > mayor) ENTONCES
contador <- 1;
mayor <- palabra;
ESCRIBIR palabra ,(" es la mayor");
SINO
ESCRIBIR ("La mayor es:", mayor);
FINSI
HASTA QUE (fin = limite)
ESCRIBIR ("La mayor es:"), mayor;
ESCRIBIR ("Aparece:"), contador ,("veces");
FINPROCESO

15

PROCESO ejercicio_c //anda


DEFINIR a COMO ENTERO;
DEFINIR b COMO ENTERO;
DEFINIR c COMO ENTERO;
DEFINIR det COMO REAL;
ESCRIBIR ("Introduce b");
LEER b;
ESCRIBIR ("Introduce a");
LEER a;
ESCRIBIR ("Introduce c");
LEER c;
det <-b^2 - 4 * a * c;
SI ((det)<0) ENTONCES
ESCRIBIR ("error");
SINO
ESCRIBIR (-b + (det)^0.5) / (2 * a);
ESCRIBIR (-b - (det)^0.5) / (2 * a);
FINSI
FINPROCESO
PROCESO ejercicio_d //anda
DEFINIR numero COMO ENTERO;
DEFINIR factorial COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR c_s COMO ENTERO;
DEFINIR indice COMO ENTERO;
contador <- 0;
suma <- 0;
ESCRIBIR ("cuantos nmeros quieres leer");
LEER c_s;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
contador <- contador + 1;
SI (contador % 2 = 0) ENTONCES
factorial <- 1;
PARA indice<-2 HASTA numero CON PASO 1 HACER
factorial <- factorial * indice;
FINPARA
suma <- suma + factorial;
FINSI
HASTA QUE (contador = c_s)
FINPROCESO
PROCESO ejercicio_e //no anda (ir al ndice)
DEFINIR numero COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR contador COMO ENTERO;
DEFINIR ffin COMO CADENA;
DEFINIR limite COMO CADENA;
limite <- "F";
16

ffin <- limite;


Contador <- 1;
Mayor <- 0;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
ESCRIBIR ("Si quieres finalizar pulsa F (solo ingrese F o N)");
LEER ffin;
SI (numero > mayor) ENTONCES
Contador <- 1;
Mayor <- numero;
ESCRIBIR numero ,(" es el mayor");
SINO
ESCRIBIR ("El mayor es: "),mayor;
FINSI
HASTA QUE (ffin = limite)
ESCRIBIR ("El mayor es:"),mayor;
ESCRIBIR ("Aparece: "),contador ,(" veces");
FINPROCESO
PROCESO ejercicio_f //anda mal, con error de cdigo
// (ir al ndice)
DEFINIR decimal COMO ENTERO;
DEFINIR cociente COMO ENTERO;
DEFINIR contador COMO ENTERO;
contador <- 0;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER decimal;
contador <- contador + 1;
HASTA QUE (decimal >= 0) | (contador = 5)
SI (contador = 5) ENTONCES
ESCRIBIR ("sobrepasa el nmero de errores");
SINO
cociente <- decimal;
MIENTRAS (contador <> 0) HACER
ESCRIBIR (cociente % 10);
cociente <- cociente/10;
FINMIENTRAS
FINSI
FINPROCESO
PROCESO ejercicio_g //anda
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
HASTA QUE (numero > 0)
PARA indice <-1 HASTA numero CON PASO 1 HACER
SI (numero % indice =0) ENTONCES
ESCRIBIR ("Un divisor es: "), indice;
SINO
17

ESCRIBIR ("El "), indice ,(" no es un divisor");


FINSI
FINPARA
FINPROCESO
PROCESO ejercicio_h //anda
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR ffin COMO CARACTER;
DEFINIR limite1 COMO CARACTER;
DEFINIR limite2 COMO CARACTER;
Limite1 <- "N";
Limite2 <- "S";
REPETIR
ESCRIBIR ("Introduce un nmero");
LEER numero;
HASTA QUE (numero > 0)
PARA indice <-1 HASTA numero CON PASO 1 HACER
SI (numero % indice <-0) ENTONCES
ESCRIBIR ("Un divisor es: "), indice;
SINO
ESCRIBIR ("El "), indice ,(" no es un divisor");
FINSI
FINPARA
REPETIR
ESCRIBIR ("Quieres seguir? (S/N)");
LEER ffin;
HASTA QUE (ffin = limite1) | (fin = limite2)
MIENTRAS (ffin = limite2) HACER
PARA indice <-1 HASTA numero CON PASO 1 HACER
SI (numero % indice <-0) ENTONCES
ESCRIBIR ("Un divisor es:"), indice;
SINO
ESCRIBIR ("El "), indice ,(" no es un divisor");
FINSI
FINPARA
REPETIR
ESCRIBIR ("Quieres seguir? (S/N)");
LEER ffin;
HASTA QUE (ffin = limite1) | (ffin = limite2)
FINMIENTRAS
FINPROCESO

18

Programacin modular (no anda ninguno)


i Calcular el mayor de dos valores introducidos mediante el teclado utilizando
programacin modular. No anda (ir al cdigo)
Leer un nmero y mostrar su tabla de multiplicar No anda
Realizar un algoritmo que muestre el siguiente men. No anda
1. Amigos
2. Sociables
3. Vector de productos
4. Vector de sumas
5. Bisiesto
6. Salir
Define una funcin que reciba un vector y devuelva el mayor de todos. No anda
Define una funcin que recibiendo un vector y un entero devuelva la existencia o no
de dicho entero en el vector. No anda
Algoritmo que lea n enteros que indiquen el factorial de los primos. No anda (ir al
cdigo)
(Ir a cdigos parte 2)

19

Calcular el mayor de dos valores introducidos mediante el teclado utilizando


programacin modular. (volver al ndice)
PROCESO ejercicio_i //no anda
DEFINIR A1 COMO ENTERO;
DEFINIR A2 COMO ENTERO;
Leer valores;
SI (mayor (A1,A2) = 0) ENTONCES
ESCRIBIR ("A1 es mayor que A2");
SINO
SI (mayor (A1,A2) = 1) ENTONCES
ESCRIBIR ("A2 es mayor que A1");
SINO
ESCRIBIR ("Son iguales");
FINSI
FINSI
FINSUBPROCESO
SUBPROCESO pantalla_principal
ESCRIBIR ("__");
ESCRIBIR ("__");
//
FINSUBPROCESO
SUBPROCESO leer valores
ESCRIBIR ("Introduce A1");
LEER A1;
ESCRIBIR ("Introduce A2");
LEER A2;
FINSUBPROCESO
SUBPROCESO borrar_pantalla
DEFINIR A1 COMO ENTERO; //A1 es un contador
DEFINIR primera_linea, ultima_linea COMO ENTEROS;
primera_linea <- 1;
ultima_linea <- 24;
PARA A1 <- primera_linea HASTA ultima_linea CON PASO 1 HACER
ESCRIBIR ("__");
FINPARA
FINSUBPROCESO
SUBPROCESO mayor (valor1, valor2)
SI (valor1 > valor2) ENTONCES
Retornar (0);
SINO
SI (valor1 < valor2) ENTONCES
Retornar (1);
SINO
Retornar (2);
FINSI
FINSI
FINSUBPROCESO
Leer un nmero y mostrar su tabla de multiplicar

20

PROCESO principal
DEFINIR error COMO ENTERO;
Error <- leer_valores;
SI (error = 1) ENTONCES
ESCRIBIR ("Has introducido mal los datos");
SINO
Tabla_multiplicar();
FINSI
//final;
FINPROCESO
SUBPROCESO leer_valores
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR cota_superior COMO ENTERO;
DEFINIR cota_inferior COMO ENTERO;
ESCRIBIR "Introduce el nmero de multiplicar", c_s, c_i ";
LEER numero;
LEER cota_superior;
LEER cota_inferior;
SI (cota_superior < cota_inferior) ENTONCES
Retornar (1);
SINO
Retornar (0);
FINSI
FINSUBPROCESO
SUBPROCESO numero <- Tabla_multiplicar()
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR cota_superior COMO ENTERO;
DEFINIR cota_inferior COMO ENTERO;
indice <- 1;
PARA indice <- cota_inferior HASTA cota_superior CON PASO 1
HACER
ESCRIBIR numero ,(" * "), indice ,(" = "), numero*indice;
FINPARA
FINSUBPROCESO
Ejercicios de momento no ejecutables en PSeInt
Realizar un algoritmo que muestre el siguiente men.
7. Amigos
8. Sociables
9. Vector de productos
10. Vector de sumas
11. Bisiesto
12. Salir
PROCESO principal
DEFINIR opcion COMO ENTERO;
REPETIR
Pantalla_menu;
Leer_opcion;
SEGN opcion Hacer

21

1: amigos;
2: sociables(vector, c_i, c_s);
3: vector_producto(vector, c_i, c_s);
4: vector_de_sumas;
5: bisiesto;
FINSEGUN
HASTA QUE (opcion = 6)
FINPROCESO
SUBPROCESO pantalla_menu
ESCRIBIR ("__");
//
//
FINSUBPROCESO
SUBPROCESO leer_opcion
LEER opcion;
FINSUBPROCESO
SUBPROCESO amigos
DEFINIR valor1 COMO ENTERO;
DEFINIR valor2 COMO ENTERO;
DEFINIR tecla COMO CARACTER;
REPETIR
amigos;
REPETIR
LEER valor1;
LEER valor2;
HASTA QUE ((valor1 > 0) & (valor2 > 0))
SI (amigos(valor1,valor2) = 1) ENTONCES
ESCRIBIR ("Son amigos");
SINO
ESCRIBIR ("No son amigos");
FINSI
REPETIR
ESCRIBIR ("Quieres seguir s/n?");
LEER tecla;
HASTA QUE ((teca = s) | (tecla = n))
HASTA QUE (tecla = N)
SI (suma_divisores (v1) = v2 & suma_divisores(v2) = v1) ENTONCES
Retornar (1);
SINO
Retornar (0);
FINSI
FINSUBPROCESO
funcion suma_divisores (vvalor)
DEFINIR indice COMO ENTERO;
DEFINIR suma COMO ENTERO;
Suma <- 0;
PARA indice <- 1 HASTA v1 - 1 CON PASO 1 HACER
SI (v1 % divisor = 0) ENTONCES
Suma <- suma + indice;
FINSI

22

FINPARA
Retornar (suma);
FINFUNCION
FUNCION sociable
DEFINIR c_i COMO ENTERO;
DEFINIR c_s COMO ENTERO;
DIMENSION vector[c_i,c_s];
DEFINIR vector COMO ENTERO;
DEFINIR indice COMO ENTERO;
c_i <- 1;
c_s <- 20;
Sociable;
PARA indice <- c_i HASTA c_s CON PASO 1 HACER
LEER vector[indice];
FINPARA
SI ((sociable(vector, c_i, c_s)) = 1) ENTONCES
ESCRIBIR ("Son sociables");
SINO
ESCRIBIR ("NO son sociables");
FINSI
FINFUNCION
funcion sociables (vector, c_i, c_s)
DEFINIR indice COMO ENTERO;
Indice <- 1;
MIENTRAS (indice < c_i) & (sociables(vector[indice], vector[indice +
1]) = 1) HACER
Indice <- indice + 1;
FINMIENTRAS
SI (indice = c_s) & ((sociable[c_i], v[c_s]) = 1) ENTONCES
Retornar (1);
SINO
Retornar (0);
FINSI
finfuncion
funcion producto <- vector_producto (vector, c_i, c_s)
DEFINIR indice COMO ENTERO;
DEFINIR producto COMO ENTERO;
producto <- 1;
PARA indice <- c_i HASTA c_s CON PASO 1 HACER
producto <- producto * vector[indice];
FINPARA
FINFUNCION
SUBPROCESO suma <- vector_de_sumas
DEFINIR c_i COMO ENTERO;
DEFINIR c_s COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR indice COMO ENTERO;
DIMENSION vector [c_i,c_s];
Borrar pantalla;
vector_de_sumas;

23

Leer c_i;
Leer c_s;
PARA indice <- c_i HASTA c_s CON PASO 1 HACER
LEER vector[indice];
FINPARA
ESCRIBIR ("suma_vector es"), vector, c_i, c_s;
Suma <- 0;
PARA indice <- c_i HASTA c_s CON PASO 1 HACER
Suma <- suma + vector[indice];
FINPARA
FINSUBPROCESO
SUBPROCESO bisiesto
DEFINIR anio COMO ENTERO;
Borrar pantalla;
ESCRIBIR ("Dame un ao");
LEER anio;
SI (anio <= 0) ENTONCES
ESCRIBIR ("El ao no es bisiesto");
SINO
SI (anio % 400 = 0) ENTONCES
ESCRIBIR ("Es bisiesto");
SINO
SI (anio % 100 = 0) ENTONCES
ESCRIBIR ("No es bisiesto");
SINO
ESCRIBIR ("Es bisiesto");
FINSI
FINSI
FINSI
SI (anio % 4 <> 0) ENTONCES
Retornar (0);
SINO SI (anio % 400 = 0) ENTONCES
Retornar (1);
SINO SI (anio % 100 <> 0) ENTONCES
Retornar (1);
SINO
Retornar (0);
FINSI
FINSI
FINSI
FINSUBPROCESO
Define una funcin que reciba un vector y devuelva el mayor de todos.
SUBPROCESO Mayor <- subproceso_mayor_vector (a, c_i, c_s)
DEFINIR indice COMO ENTERO;
DEFINIR mayor COMO ENTERO;
mayor <- a[c_i];
PARA (indice <- c_i HASTA c_s) CON PASO 1 HACER
SI (a[indice] > mayor) ENTONCES
Mayor <- a[indice];
FINSI
FINPARA

24

FINSUBPROCESO
Define una funcin que recibiendo un vector y un entero devuelva la existencia o
no de dicho entero en el vector.
SUBPROCESO numero_vector (numero, vector, c-i, c_s)
DEFINIR indice COMO ENTERO;
Indice <- c_i;
MIENTRAS (indice <= c_s) & (vector(indice <> numero) HACER
Indice <- indice + 1;
FINMIENTRAS
SI (indice <- c_i + 1) ENTONCES
Retornar (0);
SINO
Retornar (1);
FINSI
FINSUBPROCESO
Algoritmo que lea n enteros que indiquen el factorial de los primos. (retorno
variable) (ir al principio)
PROCESO vector_de_factoriales_primos
DIMENSION vector [c_i,c_s];
DIMENSION vector_factorial [c_i,c_s];
DEFINIR cota_superior COMO ENTERO;
DEFINIR cota_inferior COMO ENTERO;
DEFINIR indice COMO ENTERO;
Leer_valores;
PARA (indice <- cota_inf HASTA cota_sup) CON PASO 1 HACER
SI (numeros_primos(vector[indice]) = 1) ENTONCES
Vector_factorial[indice] <- factorial_de_un _numero
(vector[indice]);
FINSI
ESCRIBIR vector_factorial[indice];
FINPARA
Pantalla inicial;
FINPROCESO
SUBPROCESO numero_primo (numero)
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
indice <- 2;
MIENTRAS (indice < numero) & (numero % indice <> 0) HACER
indice <- indice + 1;
FINMIENTRAS
SI (indice = numero) ENTONCES
Retornar (1);
SINO
Retornar (0);
FINSI
FINSUBPROCESO

Algoritmo que lea n enteros almacenados en un vector sus factoriales.

25

PROCESO factorial // no anda


DIMENSION entero[c_i,c_s];
DIMENSION factorial[c_i,c_s];
DEFINIR cota_inferior COMO ENTERO;
DEFINIR cota_superior COMO ENTERO;
Borrar pantalla;
Leer_valores;
PARA indice <- cota_inf HASTA cota_sup CON PASO 1 HACER
Vector_factorial[indice] = factorial_de_un_numero(vector:entero[indice]);
ESCRIBIR (vector_factorial[indice]);
FINPARA
FINSUBPROCESO
SUBPROCESO leer valores
DEFINIR cota_inf, cota_sup COMO ENTEROS;
ESCRIBIR "introduce cotas";
LEER cota_inf;
LEER cota_sup;
ESCRIBIR ("Rellena el vector");
PARA indice <- cota_inf HASTA cota_sup CON PASO 1 HACER
LEER vector_entero [indice];
FINPARA
FINSUBPROCESO
SUBPROCESO factorial <- factorial_de_un _numero (numero)
DEFINIR factorial COMO ENTERO;
DEFINIR indice COMO ENTERO;
SI (numero < 0) ENTONCES
Retornar (-1);
SINO
SI (numero = 1) ENTONCES
Retornar (1);
SINO
Factorial <- 1;
FINSI
PARA indice <- 2 HASTA numero CON PASO 1 HACER
factorial <- factorial + indice;
FINPARA
FINSI
FINSUBPROCESO
Leer una secuencia y determinar la longitud de la palabra (no anda)
SUBPROCESO contador_palabra <- palabra_mas_larga (parrafo)
DEFINIR indice COMO ENTERO;
DEFINIR contador_palabra COMO ENTERO;
DEFINIR mayor_palabra COMO ENTERO;
indice <- 0;
contador_palabra <- 0;
mayor_palabra <- 0;
MIENTRAS (parrafo[indice] <> "\o") HACER
SI (parrafo[indice] <> "\o") ENTONCES
Contador_palabra <- contador_palabra + 1;

26

FINSI
SI (parrafo[indice] <> "\o") & (parrafo[indice + 1] = " " | (parrafo[indice + 1] =
"\o") ENTONCES
SI(contador_palabra > mayor_palabra) ENTONCES
Mayor_palabra <- contador_palabra;
FINSI
Contador_palabra <- 0;
FINSI
Indice <- indice + 1;
FINMIENTRAS
FINSUBPROCESO
Leer una secuencia y determinar la longitud de la misma. (no anda)
SUBPROCESO indice <- longitud_cadena
DEFINIR indice COMO ENTERO;
indice <- \o;
MIENTRAS (texto[indice] <> "\o") HACER
indice <- indice -1;
FINMIENTRAS
FINSUBPROCESO
Realizar una funcin que recibiendo una secuencia devuelva dicha secuencia en maysculas.
SUBPROCESO parrafo <- touppercase_java (parrafo)
DEFINIR indice COMO ENTERO;
DEFINIR resultado COMO SECUENCIA;
indice <- 0;
MIENTRAS (parrafo[indice] <> "\o") HACER
SI (parrafo[indice] >= "a") & (parrafo[indice] <= "z") ENTONCES
Parrafo[indice] <- convertiratexto(convertiranumero[indice] -32);
FINSI
FINMIENTRAS
FINSUBPROCESO
Definir una funcin recibiendo una secuencia cuyo fin ser el carcter "\o" que devuelva el
entero que representa.
SUBPROCESO simula_autoi (texto)
DEFINIR V_a[1.longitud(texto) + 1] COMO CARACTER;
DEFINIR indice COMO ENTERO;
DEFINIR acumulador COMO ENTERO;
DEFINIR indice2 COMO ENTERO;
indice <- 0;
MIENTRAS (texto[indice] <> "\o") & (texto[indice] >= "\o") & (texto[indice] <= "9")
V_a[indice + 1] <- texto[indice];
indice <- indice + 1;
FINMIENTRAS
V_a[indice] <- "\o";
acumulador <- 0;
PARA indice2 <- 0 HASTA indice-1 CON PASO 1 HACER
Acumulador <- acumulador + (caracter_to_entero (v_a[indice2]) 45) * (10^(indice
indice2));
FINPARA

27

Retornar (acumulador);
FINSUBPROCESO
Dada una secuencia mostrar por pantalla el numero de apariciones del codigo ascii. (probar en
sle
SUBPROCESO apariciones (texto)
DEFINIR ascii[255] COMO ENTERO;
DEFINIR indice COMO ENTERO;
PARA indice <- 0 HASTA 254 CON PASO 1 HACER
ascii[indice] <- 0;
FINPARA
PARA indice = 0 HASTA longitud(texto) CON PASO 1 HACER
ascii (convertiranumero(texto[indice])) <- (ascii[convertiranumero(texto[indice])) +1
FINPARA
PARA indice <- 0 HASTA 255 CON PASO 1 HACER
ESCRIBIR ("El codigo ascii"), indice, (", ascii[indice]);
FINPARA
FINSUBPROCESO

28

Ejercicios de Pseudocdigo Parte 2


27. Leer una secuencia de nmeros y mostrar la suma de los pares y el producto de
los que son mltiplo de 5. anda
28. Leer una secuencia de nmeros y determinar el mayor de los pares ledos. anda
29. Leer una secuencia de nmeros y mostrar el mayor de los mltiplos de 5 ledos y
el menor de los mltiplos de 3 ledos. anda
30. Leer una secuencia de letras y mostrar la suma de sus cdigos ASCII.
Suponemos que tenemos la funcin convertiranumero(caracter)=entero. PSeInt
no puede hacer eso
31. Dado un vector de 5 enteros actualizar cada posicin de dicho vector con un
nmero ledo y mostrarla en pantalla. anda
32. Leer una secuencia de 20 nmeros almacenarlos en un vector y mostrar la
posicin donde se encuentra el mayor valor ledo. anda
33. 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]. anda
34. 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].
anda
35. Dado una secuencia de nmero ledos y almacenados en un vector A mostrar
dichos nmeros en orden. anda
36. 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. anda
37. Leer una secuencia de 20 nmeros y almacenar en un vector sus factoriales y
mostrarlos en pantalla. anda
38. Leer 20 nmeros y almacenarlos de manera ordenada en un vector y mostrar
dicho vector en pantalla. anda
39. Dado dos matrices A y B obtener la suma y mostrarla en pantalla. anda
40. Dado una matriz determinar la posicin (i,j) del mayor y mostrarla en pantalla.
anda
41. Dado una matriz determinar la posicin (i,j) del mayor y menor y mostrarla en
pantalla. anda
42. 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. no anda, puede ser problema de cdigo (ir al
cdigo)
43. Leer una secuencia de 20 nmeros almacenarlos en un vector A[20] y mostrar la
suma de los elementos que ocupan posiciones pares y el mayor de los que
ocupan posiciones impares. anda
44. Dada una matriz A[4,5] realiza la ordenacin de la misma (y mostrarla ordenada
por pantalla). anda
45. Dada una matriz A[4,5] realiza el proceso de ordenar solo por filas. anda
46. Dado un vector de nmeros determina aquellos que sea primos. anda
Ir a Ejercicios de Pseudocdigo Parte 1
Para programacin modular siga este enlace

29

PROCESO ejercicio_27 //anda


DEFINIR numero COMO ENTERO;
DEFINIR producto COMO ENTERO;
DEFINIR sumapares COMO ENTERO;
numero <- 0
producto <- 1;
sumapares <- 0;
MIENTRAS numero <> -1 HACER
LEER numero
SI (numero % 2 = 0) ENTONCES //preguntar si es par
sumapares <- sumapares + numero; // sumar numero a numero de pares
SINO SI (numero % 5 = 0) ENTONCES
producto<-producto*numero;
LEER numero;
FINSI
FINSI
FINMIENTRAS
ESCRIBIR (sumapares);
ESCRIBIR (producto);
FINPROCESO
PROCESO ejercicio_28 //anda
//Adaptado a PSeInt desde cdigo que se encuentra en
http://dis.um.es/~lopezquesada/documentos/FP0405/Proyecto/web4/webalgo/page22b.h
tm
DEFINIR MAX COMO ENTERO;
MAX<-5;
DEFINIR indice COMO ENTERO;
DEFINIR numero COMO ENTERO;
DEFINIR mayor COMO ENTERO;
indice<-0;
numero<-0;
mayor<-0;
MIENTRAS (indice <MAX) HACER
indice<-indice+1;
ESCRIBIR ("Introduzca NUMERO");
LEER numero;
SI ((indice%2)=0) ENTONCES
SI (numero>mayor) ENTONCES
mayor<-numero;
FINSI
FINSI
FINMIENTRAS
ESCRIBIR (mayor);
FINPROCESO
PROCESO ejercicio_29
DEFINIR MAX COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR numero COMO ENTERO;
30

DEFINIR mayor COMO ENTERO;


DEFINIR menor COMO ENTERO;
MAX<-10;
indice<-0; //inicializar ndice en 0
numero<-0;
mayor<-0;
menor<-0;
MIENTRAS (indice <MAX) HACER
indice<-indice+1;
ESCRIBIR ("Introduzca NUMERO");
LEER numero;
SI (indice%5=0) ENTONCES //Si numero del ndice es mltiplo de 5
SI (numero>mayor) ENTONCES //si nuevo mayor que ingresa es
todava mayor al mayor actual
mayor<-numero; //numero ingresado es nuevo mayor
FINSI
FINSI
SI (indice%3=0) ENTONCES //Si numero del ndice es mltiplo de 3
SI (numero<menor) ENTONCES //si nuevo menor que ingresa es
todava menor al menor actual
menor<-numero; //numero ingresado es nuevo menor
FINSI //cerrar si
FINSI //cerrar si
FINMIENTRAS
ESCRIBIR (mayor);
ESCRIBIR (menor);
//Corregido y adaptado a PSeInt desde cdigo que se encuentra en
http://dis.um.es/~lopezquesada/documentos/FP0405/Proyecto/web4/webalgo/page32.ht
m
FINPROCESO
PROCESO ejercicio_30
PSeInt no puede hacer eso.
PROCESO ejercicio_31 //anda
DIMENSION n[5];
DEFINIR N COMO ENTERO;
DEFINIR indice COMO ENTERO;
PARA indice <- 0 HASTA 4 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero");
LEER indice;
FINPARA
ESCRIBIR indice;
FINPROCESO
PROCESO ejercicio_32 //anda
DEFINIR n COMO ENTERO;
DIMENSION n[20];
DEFINIR mayor_indice COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR mayor COMO ENTERO;
31

PARA indice <-0 HASTA 19 CON PASO 1 HACER


ESCRIBIR ("Introduce un nmero");
LEER indice;
FINPARA
Mayor <- n[1];
PARA indice <-0 HASTA 19 CON PASO 1 HACER
SI (n[indice] > mayor) ENTONCES
mayor_indice <-indice;
FINSI
FINPARA
ESCRIBIR (mayor_indice);
FINPROCESO
PROCESO ejercicio_33 //anda
DIMENSION A[16] ;
DIMENSION B[16];
DEFINIR indice COMO ENTERO;
DEFINIR suma COMO ENTERO;
DIMENSION C[16];
DEFINIR A, B, C COMO ENTEROS;
PARA indice <- 1 HASTA 15 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero para el vector A");
LEER A[indice];
ESCRIBIR ("Introduce un nmero para el vector B");
LEER B[indice];
FINPARA
PARA indice <- 1 HASTA 15 CON PASO 1 HACER
Suma <- A[indice] + B[indice];
C[indice] <- suma;
FINPARA
PARA indice <- 1 HASTA 15 CON PASO 1 HACER
ESCRIBIR C[indice];
FINPARA
FINPROCESO
PROCESO ejercicio_34 //anda
DIMENSION A[16];
DIMENSION B[16];
DIMENSION C[16];
DEFINIR indice COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR mayor_indice COMO ENTERO;
DEFINIR A, B, C COMO ENTEROS;
PARA indice <- 1 HASTA 15 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero para el vector A");
LEER A[indice];
FINPARA
PARA indice <-1 HASTA 15 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero para el vector B");
LEER B[indice];
FINPARA
32

PARA indice <-1 HASTA 15 CON PASO 1 HACER


suma <- A[indice] + B[indice];
C[indice] <- suma;
FINPARA
mayor <- C[1];
mayor_indice <- 1;
PARA indice <-1 HASTA 15 CON PASO 1 HACER
SI (C[indice] > mayor) ENTONCES
mayor_indice <- indice;
mayor <- C[indice];
FINSI
FINPARA
ESCRIBIR (mayor);
ESCRIBIR (mayor_indice);
FINPROCESO
PROCESO ejercicio_35 //anda
DEFINIR intercambio COMO ENTERO;
DIMENSION n[15];
DEFINIR intermedio COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR n COMO ENTERO;
PARA indice <-0 HASTA 14 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero");
LEER n[indice];
FINPARA
REPETIR
intercambio <- 0;
PARA indice <-0 HASTA 14 CON PASO 1 HACER
SI (n[indice] > n[indice + 1]) ENTONCES
intermedio <- n[indice];
n[indice] <- n[indice + 1];
n[indice + 1] <- intermedio;
intercambio <- 1;
FINSI
FINPARA
HASTA QUE (intercambio = 0)
FINPROCESO
PROCESO ejercicio_36 //anda
DIMENSION A[10];
DEFINIR numero COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR A COMO ENTERO;
PARA indice <-0 HASTA 9 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero");
LEER A[indice];
FINPARA
indice <-1;
MIENTRAS (indice < 11) & (numero <> A[indice]) HACER
indice <-indice + 1;
FINMIENTRAS
SI (indice <-11) ENTONCES
33

ESCRIBIR ("No est");


SINO
ESCRIBIR ("Existe");
FINSI
FINPROCESO
PROCESO ejercicio_37 //anda
DIMENSION n[10];
DEFINIR indice COMO ENTERO;
DEFINIR factorial COMO ENTERO;
DEFINIR indice1 COMO ENTERO;
DEFINIR n COMO ENTERO;
PARA indice <- 0 HASTA 9 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero");
LEER n[indice];
FINPARA
PARA indice <- 0 HASTA 9 CON PASO 1 HACER
factorial <- 1;
PARA indice1 <- 3 HASTA n[indice] CON PASO 1 HACER
factorial <- factorial * indice1;
FINPARA
N[indice] <- factorial;
FINPARA
PARA indice <-0 HASTA 9 CON PASO 1 HACER
ESCRIBIR n[indice];
FINPARA
FINPROCESO
PROCESO ejercicio_38 //anda
DIMENSION vector[20];
DIMENSION ordenado[20];
DEFINIR vector COMO ENTERO;
DEFINIR ordenado COMO ENTERO;
DEFINIR aux COMO ENTERO;
DEFINIR i COMO ENTERO;
DEFINIR j COMO ENTERO;
PARA i <-0 HASTA 19 CON PASO 1 HACER
LEER vector[i];
FINPARA
PARA i <- 0 HASTA 19 CON PASO 1 HACER
PARA i <- 0 HASTA 19 CON PASO 1 HACER
SI vector[i]>vector[j] ENTONCES
aux<-vector[i];
vector[i]<-vector[j];
vector[j]<-aux;
FINSI
FINPARA
FINPARA
PARA i <-0 HASTA 19 CON PASO 1 HACER
ordenado[i]<-vector[i];
ESCRIBIR ordenado[i];
FINPARA
34

FINPROCESO
http://programadoraplicaciones.bichotoblog.com/programacion/continuando-conpseudocodigo.html
PROCESO ejercicio_39 //anda
// Habilitar permitir usar variables paras dimensionar arreglos en opciones de lenguaje
//Nota: Las dimensiones variables tienen que ir despus de la lectura de la cantidad de
sus elementos
DIMENSION A[5,10];
DIMENSION B[5,10];
DEFINIR A, B COMO ENTEROS;
DEFINIR suma COMO ENTERO;
DEFINIR fila COMO ENTERO;
DEFINIR columna COMO ENTERO;
PARA fila <- 0 HASTA 4 CON PASO 1 HACER
PARA columna <- 0 HASTA 9 CON PASO 1 HACER
LEER A[fila,columna];
FINPARA
FINPARA
PARA fila <- 0 HASTA 4 CON PASO 1 HACER
PARA columna <- 0 HASTA 9 CON PASO 1 HACER
LEER B[fila,columna];
FINPARA
FINPARA
DIMENSION suma[fila,columna];
PARA fila <- 0 HASTA 4 CON PASO 1 HACER
PARA columna <- 0 HASTA 9 CON PASO 1 HACER
suma[fila,columna] <- A[fila,columna] + B[fila,columna];
FINPARA
FINPARA
ESCRIBIR (suma[fila,columna]);
FINPROCESO
http://programador-apli.blogspot.com/2012/04/sumar-las-filas-y-columnas-de-una.html

35

PROCESO ejercicio_40 //anda


DIMENSION A[5,4];
DEFINIR A COMO ENTERO;
DEFINIR fila COMO ENTERO;
DEFINIR columna COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR posicion_fila COMO ENTERO;
DEFINIR posicion_columna COMO ENTERO;
PARA fila <- 0 HASTA 4 CON PASO 1 HACER
PARA columna <- 0 HASTA 3 CON PASO 1 HACER
ESCRIBIR ("Introduce un nmero");
LEER A[fila,columna];
FINPARA
FINPARA
Mayor <- A[1,1];
posicion_fila <- 1;
posicion_columna <- 1;
PARA fila <- 0 HASTA 4 CON PASO 1 HACER
PARA columna <- 0 HASTA 3 CON PASO 1 HACER
SI (A[fila,columna] > mayor) ENTONCES
Mayor <- A[fila,columna];
posicion_fila <- [fila];
posicion_columna <- [columna];
FINSI
FINPARA
ESCRIBIR ("El mayor es: "), mayor;
ESCRIBIR ("La posicin es: "), posicion_fila, posicion_columna;

36

Anda mungkin juga menyukai