Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TrabajoPseu en PseInt
TrabajoPseu en PseInt
NAVARRO
CASERO
&
RAUL
MORALES
GARCIA
Corrección e implementación en PSeInt por Alejandro
Caro y discoduroderoer
© 2004
© 2012-2013
1
Ejercicios de Pseudocódigo Parte 1
Nota: Los arreglos son en base 0
2
PROCESO ejercicio_1 //anda
DEFINIR numero COMO ENTERO;
3
PROCESO ejercicio_4 //anda
DEFINIR numero1 COMO ENTERO;
DEFINIR numero2 COMO ENTERO;
DEFINIR numero3 COMO ENTERO;
ESCRIBIR ("Introduce número1");
LEER numero1;
ESCRIBIR ("Introduce número2");
LEER numero2;
SI (numero1 > numero2) ENTONCES
ESCRIBIR ("Introduce número3");
LEER numero3;
SI (numero1 > numero3) ENTONCES
ESCRIBIR ("El número1 es el mayor");
SINO
SI (numero2 > numero3) ENTONCES
ESCRIBIR ("El número2 es el mayor");
SINO
ESCRIBIR ("El número3 es el mayor");
FINSI
FINSI
FINSI
FINPROCESO
4
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
5
PROCESO ejercicio_9 //anda
DEFINIR dividendo COMO ENTERO;
DEFINIR divisor COMO ENTERO;
DEFINIR cociente COMO ENTERO;
DEFINIR resto COMO ENTERO;
DEFINIR signo COMO ENTERO;
Producto <- 1;
REPETIR
ESCRIBIR ("Introduce el número");
LEER numero;
ESCRIBIR ("¿Seguir? f = no s = si\n");
LEER ffin;
producto <- producto * numero;
HASTA QUE (ffin = limite)
ESCRIBIR ("el producto de los números es: "), producto;
FINPROCESO
6
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 número");
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
7
FINPROCESO
(Otra solución)
PROCESO sin_titulo
DEFINIR num COMO ENTERO;
DEFINIR cad COMO CADENA;
ESCRIBIR ("Ingrese un número 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 números mayores a cero");
FINSI
FINSI
FINPROCESO
8
LEER numero;
FINMIENTRAS
media <- suma/contador;
ESCRIBIR suma, " ";
ESCRIBIR media;
FINPROCESO
REPETIR
ESCRIBIR ("Introduce un número");
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
9
FINSI
FINSI
FINMIENTRAS
FINMIENTRAS
FINPROCESO
suma <- 0;
posicion <- 0;
MIENTRAS (indice <= 30) HACER
ESCRIBIR ("introduce un número");
LEER numero;
posicion <- posicion + 1;
SI (posicion % 2 = 0 ) ENTONCES
suma <- suma + numero;
FINSI
FINMIENTRAS
ESCRIBIR (suma);
10
FINPROCESO
11
FINMIENTRAS
SI (contador = n ) ENTONCES
suma <- suma + numero;
FINSI
FINPARA
FINPROCESO
n <- 0;
contador <- 0;
suma <- 0;
REPETIR
REPETIR
ESCRIBIR ("introduce un número");
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
12
FINPROCESO
//http://www.discoduroderoer.es/ejercicios-de-funciones-pseudocodigo/
13
1. Desarrolle un algoritmo (Pseudocódigo-Organigrama) para cada uno de los
siguientes problemas que se plantean:
a. Dado una secuencia de números determinar el mayor leído y el número
de veces que aparece. anda
b. Dado una secuencia de palabras determinar el mayor y menor
lexicográficamente. anda
c. Resolución de una ecuación de 2º grado. anda
d. Dado una secuencia de números obtener la suma de los factoriales de
aquellos que ocupan posición par. anda
e. Determina dado una secuencia de enteros obtener los dos más mayores.
(anda mal) (ir a código)
f. Dada un entero extraer cada uno de los dígitos que lo forma. (anda pero
con resultado incorrecto) (ir al código)
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 también
los que tienen como dígito 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 además
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
múltiplos 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;
contador <- 1;
mayor <- 0;
REPETIR
ESCRIBIR ("Introduce un número");
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
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;
contador <- 0;
suma <- 0;
ESCRIBIR ("cuantos números quieres leer");
LEER c_s;
REPETIR
ESCRIBIR ("Introduce un número");
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
16
ffin <- limite;
Contador <- 1;
Mayor <- 0;
REPETIR
ESCRIBIR ("Introduce un número");
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
REPETIR
ESCRIBIR ("Introduce un número");
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
REPETIR
ESCRIBIR ("Introduce un número");
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
Programación modular (no anda ninguno)
i Calcular el mayor de dos valores introducidos mediante el teclado utilizando
programación modular. No anda (ir al código)
Leer un número 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 función que reciba un vector y devuelva el mayor de todos. No anda
Define una función 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
código)
(Ir a códigos parte 2)
19
Calcular el mayor de dos valores introducidos mediante el teclado utilizando
programación modular. (volver al índice)
SUBPROCESO pantalla_principal
ESCRIBIR ("__");
ESCRIBIR ("__");
//……
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
20
Leer un número y mostrar su tabla de multiplicar
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 número 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
PROCESO principal
DEFINIR opcion COMO ENTERO;
REPETIR
Pantalla_menu;
Leer_opcion;
21
SEGÚN opcion Hacer
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
22
FINSI
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
23
vector_de_sumas;
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 año");
LEER anio;
SI (anio <= 0) ENTONCES
ESCRIBIR ("El año 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
24
FINPARA
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
25
Algoritmo que lea n enteros almacenados en un vector sus factoriales.
26
Contador_palabra <- contador_palabra + 1;
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
Realizar una función que recibiendo una secuencia devuelva dicha secuencia en mayúsculas.
Definir una función recibiendo una secuencia cuyo fin será el carácter "\o" que devuelva el
entero que representa.
27
FINPARA
Retornar (acumulador);
FINSUBPROCESO
Dada una secuencia mostrar por pantalla el numero de apariciones del codigo ascii. (probar en
sle
28
Ejercicios de Pseudocódigo Parte 2
27. Leer una secuencia de números y mostrar la suma de los pares y el producto de
los que son múltiplo de 5. anda
28. Leer una secuencia de números y determinar el mayor de los pares leídos. anda
29. Leer una secuencia de números y mostrar el mayor de los múltiplos de 5 leídos y
el menor de los múltiplos de 3 leídos. anda
30. Leer una secuencia de letras y mostrar la suma de sus códigos ASCII.
Suponemos que tenemos la función convertiranumero(caracter)=entero. PSeInt
no puede hacer eso
31. Dado un vector de 5 enteros actualizar cada posición de dicho vector con un
número leído y mostrarla en pantalla. anda
32. Leer una secuencia de 20 números almacenarlos en un vector y mostrar la
posición donde se encuentra el mayor valor leído. anda
33. Dado dos vectores A y B de 15 elementos cada uno, obtener un vector C donde
la posición i se almacene la suma de A[i]+B[i]. anda
34. Dado dos vectores A y B de 15 elementos cada uno, obtener un vector C donde
la posición i se almacene la suma de A[i]+B[i] y mostrar el mayor de los C[i].
anda
35. Dado una secuencia de número leídos y almacenados en un vector A mostrar
dichos números en orden. anda
36. Dado una secuencia de número leídos y almacenados en un vector A y un
número leído determinar si dicho número se encuentra o no en el vector. anda
37. Leer una secuencia de 20 números y almacenar en un vector sus factoriales y
mostrarlos en pantalla. anda
38. Leer 20 números 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 posición (i,j) del mayor y mostrarla en pantalla.
anda
41. Dado una matriz determinar la posición (i,j) del mayor y menor y mostrarla en
pantalla. anda
42. Leer un número y una letra si la letra es B mostrar el valor en binario, si es O en
octal y si es H en hexadecimal. no anda, puede ser problema de código (ir al
código)
43. Leer una secuencia de 20 números 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 ordenación 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 números determina aquellos que sea primos. anda
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
indice<-0;
numero<-0;
mayor<-0;
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 múltiplo de 5
SI (numero>mayor) ENTONCES //si nuevo mayor que ingresa es
todavía mayor al mayor actual
mayor<-numero; //numero ingresado es nuevo mayor
FINSI
FINSI
FINMIENTRAS
ESCRIBIR (mayor);
ESCRIBIR (menor);
//Corregido y adaptado a PSeInt desde código que se encuentra en
http://dis.um.es/~lopezquesada/documentos/FP0405/Proyecto/web4/webalgo/page32.ht
m
FINPROCESO
PROCESO ejercicio_30
31
PARA indice <-0 HASTA 19 CON PASO 1 HACER
ESCRIBIR ("Introduce un número");
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
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
33
ESCRIBIR ("No está");
SINO
ESCRIBIR ("Existe");
FINSI
FINPROCESO
34
FINPROCESO
http://programadoraplicaciones.bichotoblog.com/programacion/continuando-con-
pseudocodigo.html
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;
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;
36
PROCESO ejercicio_41 //anda (ir arriba)
DIMENSION A[4,3];
DEFINIR A COMO ENTERO;
DEFINIR fila COMO ENTERO;
DEFINIR columna COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR menor COMO ENTERO;
DEFINIR posicion_fila COMO ENTERO;
DEFINIR posicion_columna COMO ENTERO;
DEFINIR posicion_fila1 COMO ENTERO;
DEFINIR posicion_columna1 COMO ENTERO;
37
PROCESO ejercicio_42 //no anda, probado en código fuente, puede ser problema de
código (ir al índice)
DEFINIR indice COMO ENTERO;
DEFINIR pul COMO ENTERO;
DEFINIR tipo COMO CARACTER;
DEFINIR numero COMO ENTERO;
DEFINIR cociente COMO ENTERO;
DEFINIR divisor COMO ENTERO;
DEFINIR resto COMO ENTERO;
DIMENSION resultado[20];
DEFINIR resultado COMO CADENA;
ESCRIBIR ("Ingrese un número");
LEER numero;
ESCRIBIR ("Ingrese el tipo de base");
LEER tipo; // O,H,B
cociente <- numero;
SEGÚN tipo HACER
'B': divisor <- 2;
'O': divisor <- 8;
'H': divisor <- 16;
FINSEGÚN
pul <- 0;
REPETIR
pul <- pul + 1;
resto <- cociente % divisor;
SEGÚN resto HACER
10: resultado[pul] <- 'A';
11: resultado[pul] <- 'B';
12: resultado[pul] <- 'C';
13: resultado[pul] <- 'D';
14: resultado[pul] <- 'E';
15: resultado[pul] <- 'F';
De Otro Modo: resultado[pul] <- resto; //<- no coinciden los tipos
FINSEGÚN
cociente <- trunc(cociente/divisor);
HASTA QUE (cociente = 0)
PARA indice <-pul HASTA 1 CON PASO -1 HACER
ESCRIBIR (resultado[pul]);
FINPARA
FINPROCESO
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(){
int indice;
int pul;
char tipo;
int numero;
int cociente;
int divisor;
38
int resto;
char resultado[20];
39
}
40
PROCESO ejercicio_43 //anda
DIMENSION A[20]; //de 20 elementos
DEFINIR indice COMO ENTERO;
DEFINIR suma COMO ENTERO;
DEFINIR mayor COMO ENTERO;
DEFINIR A COMO ENTERO;
PARA indice <- 0 HASTA 19 CON PASO 1 HACER
ESCRIBIR ("Introduce un número");
LEER A[indice];
FINPARA
suma <- 0;
PARA indice <- 2 HASTA 19 CON PASO 2 HACER
suma <- suma + A[indice];
FINPARA
mayor <- A[1];
PARA indice <- 0 HASTA 19 CON PASO 2 HACER
SI (A[indice] > mayor) ENTONCES
mayor <- A[indice];
FINSI
FINPARA
ESCRIBIR ("La suma es: "), suma;
ESCRIBIR ("El mayor es: "), mayor;
FINPROCESO
41
PROCESO ejercicio_44 //anda
DIMENSION A[4,5];
DEFINIR A COMO ENTERO;
DEFINIR fila COMO ENTERO;
DEFINIR columna COMO ENTERO;
DIMENSION V[20];
DEFINIR V COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR intercambio COMO ENTERO;
DEFINIR intermedio COMO ENTERO;
DEFINIR saltador COMO ENTERO;
saltador<-0;
REPETIR
Intercambio <- 0;
PARA indice <- 0 HASTA 18 CON PASO 1 HACER
SI (V[indice] > V[indice + 1]) ENTONCES
Intermedio <- V[indice];
V[indice] <- V[indice +1];
V[indice +1] <- intermedio;
Intercambio <- 1;
FINSI
FINPARA
HASTA QUE (intercambio = 0)
42
PROCESO ejercicio_45
DIMENSION A[4,5];
DEFINIR intermedio COMO ENTERO;
DEFINIR intercambio COMO ENTERO;
DEFINIR fila COMO ENTERO;
DEFINIR columna COMO ENTERO;
DEFINIR A COMO ENTERO;
PARA fila <- 0 HASTA 3 CON PASO 1 HACER
PARA columna <- 0 HASTA 4 CON PASO 1 HACER
ESCRIBIR ("Introduce un número");
LEER A[fila,columna];
FINPARA
FINPARA
REPETIR
intercambio <- 0;
PARA fila <- 0 HASTA 3 CON PASO 1 HACER
PARA columna <- 0 HASTA 2 CON PASO 1 HACER
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;
FINSI
FINPARA
FINPARA
HASTA QUE (intercambio = 0)
PARA fila <- 0 HASTA 3 CON PASO 1 HACER
ESCRIBIR A[fila,columna];
FINPARA
FINPROCESO
43
PROCESO ejercicio_46 //anda
DIMENSION A[20];
DEFINIR A COMO ENTERO;
DEFINIR indice COMO ENTERO;
DEFINIR indice1 COMO ENTERO;
Otro ejercicio
http://programadoraplicaciones.bichotoblog.com/continu&o-con-pseudocodigo/
44