Continuando con Pseudocódigo
Ejercicios con Vectores o Arrays
- 1.-Dado un vector de 5 enteros actualizar cada posición de dicho vector con un número leído.
//Programa llenar vector//Crea un vector y lo rellena con los valores de su índiceProceso crear_llenar_vectorDimension vector[5];i<-0;Para i<-1 hasta 5 Hacervector[i]<-i;FinParaPara i<-1 hasta 5 HacerEscribir vector[i];FinParaFinProceso
- 2.-Leer una secuencia de 20 números almacenarlos en un vector y mostrar la posición donde se encuentra el mayor valor leído.
//Programa llenar vector desde teclado
//Crea un vector y lo rellena con los valores de su Ãndice
Proceso sscar_mayor
Dimension vector[20];
i<-0;
mayor->0;
Escribir “Debera introducir 20 valores”;
Para i<-1 hasta 20 Hacer
Leer vector[i];
FinPara
Para i<-1 hasta 20 Hacer
Si vector[i]>mayor Entonces
mayor<-i;
finsi
FinPara
Escribir mayor;
FinProceso
- 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].
//Programa sumar vectores
//Devuelve la suma de dos vectores en otro vector
Proceso sumar_vectores
Dimension a[20];
Dimension b[20];
Dimension c[20];
i<-0;
Escribir “Deberá introducir 30 valores”;
Para i<-1 hasta 15 Hacer
Escribir “Introduzca a[“,i,”]:”;
Leer a[i]; //Lo leo todo con un mismo para
Escribir “Introduzca b[“,i,”]:”;
Leer b[i];
c[i]<-a[i]+b[i];
FinPara
Para i<-1 hasta 15 Hacer
Escribir c[i];
FinPara
FinProceso
- 3.-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].
//Programa sumar vectores
//Devuelve la suma de dos vectores en otro vector
Proceso sumar_vectores
Dimension a[3];
Dimension b[3];
Dimension c[3];
mayor<-0;
i<-0;
Escribir “Deberá introducir 6 valores”;
Para i<-1 hasta 3 Hacer
Escribir “Introduzca a[“,i,”]:”;
Leer a[i];
Escribir “Introduzca b[“,i,”]:”;
Leer b[i];
c[i]<-a[i]+b[i]; //Aquí hago la operación!!!!!!!
FinPara
Para i<-1 hasta 3 Hacer
Si c[i] > mayor Entonces
mayor<-c[i];
FinSi
FinPara
Escribir mayor;
FinProceso
- Dado una secuencia de número leídos y almacenados en un vector A mostrar dichos números en orden.
Proceso ordenar
Dimension vector[5];
Para i<-1 hasta 5 Hacer
Leer vector[i];
FinPara
Para i<-1 hasta 5 Hacer
Para j<-1 hasta 5 Hacer
si vector[i]>vector[j] Entonces
aux<-vector[i];
vector[i]<-vector[j];
vector[j]<-aux;
FinSi
FinPara
FinPara
Para i<-1 hasta 5 Hacer
Escribir vector[i];
FinPara
FinProceso
- 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.
Proceso encontrar
encontrado<-0;
j<-1;
Dimension vector[5];
Para i<-1 hasta 5 Hacer
Leer vector[i];
FinPara
Escribir “Que número quiere buscar”;
Leer n;
Mientras encontrado=0 y j<6 hacer
Si vector[j]=n Entonces
encontrado<-j;
FinSi
j<-j+1;
FinMientras
Si encontrado<>0 Entonces
Escribir “Se ha encontrado el valor: “,n,” en la posicion: “,encontrado;
Sino
Escribir “No se ha encontrado el valor: “,n,” en el vector”;
FinSi
FinProceso
- Leer 20 números y almacenarlos de manera ordenada en un vector.
Proceso ordenar_almacenar
Dimension vector[20];
Dimension ordenado[20];
Para i<-1 hasta 20 Hacer
Leer vector[i];
FinPara
Para i<-1 hasta 20 Hacer
Para j<-1 hasta 20 Hacer
si vector[i]>vector[j] Entonces
aux<-vector[i];
vector[i]<-vector[j];
vector[j]<-aux;
FinSi
FinPara
FinPara
Para i<-1 hasta 20 Hacer
ordenado[i]<-vector[i];
Escribir ordenado[i];
FinPara
- Dado dos matrices (de dos dimensiones 2×2) A y B obtener la suma.
Proceso sumar_matrices
Dimension matriz1[2,2];
Dimension matriz2[2,2];
Dimension suma[2,2]
Para i<-1 hasta 2 Hacer
Para j<-1 hasta 2 Hacer
Escribir “Introduzca matriz1[“,i,”,”,j,”]: “;
Leer matriz1[i,j];
Escribir “Introduzca matriz2[“,i,”,”,j,”]: “;
Leer matriz2[i,j];
suma[i,j]<-matriz1[i,j]+matriz2[i,j];
FinPara
FinPara
Para i<-1 hasta 2 Hacer
Para j<-1 hasta 2 Hacer
Escribir suma[i,j];
FinPara
FinPara
FinProceso
- Dada una matriz (2×2) determinar la posición (i,j) del mayor.
Proceso mayor_matriz
Dimension matriz[2,2];
Para i<-1 hasta 2 Hacer
Para j<-1 hasta 2 Hacer
Escribir “Introduzca matriz[“,i,”,”,j,”]: “;
Leer matriz[i,j];
FinPara
FinPara
mayor<-0;
posicion_mayor_i<-0;
posicion_mayor_j<-0;
Para i<-1 hasta 2 Hacer
Para j<-1 hasta 2 Hacer
Si matriz[i,j]>mayor Entonces
mayor<-matriz[i,j];
posicion_mayor_i<-i;
posicion_mayor_j<-j;
Finsi
FinPara
FinPara
Escribir “El mayor es: “, mayor,” Su posicion es:”,posicion_mayor_i,”-“,posicion_mayor_j;
FinProceso
- Dado una matriz determinar la posición (i,j) del mayor y menor.
Proceso mayor_menor_matriz
Dimension matriz[2,2];
Para i<-1 hasta 2 Hacer
Para j<-1 hasta 2 Hacer
Escribir “Introduzca matriz[“,i,”,”,j,”]: “;
Leer matriz[i,j];
FinPara
FinPara
mayor<-0;
menor<-1000;
posicion_mayor_i<-0;
posicion_mayor_j<-0;
posicion_memor_i<-0;
posicion_memor_j<-0;
Para i<-1 hasta 2 Hacer
Para j<-1 hasta 2 Hacer
Si matriz[i,j]>mayor Entonces
mayor<-matriz[i,j];
posicion_mayor_i<-i;
posicion_mayor_j<-j;
Finsi
Si matriz[i,j]<menor Entonces
menor<-matriz[i,j];
posicion_menor_i<-i;
posicion_menor_j<-j;
Finsi
FinPara
FinPara
Escribir “El mayor es: “, mayor,” Su posicion es:”,posicion_mayor_i,”-“,posicion_mayor_j;
Escribir “El menor es: “, menor,” Su posicion es:”,posicion_menor_i,”-“,posicion_menor_j;
FinProceso
- Leer una secuencia de 20 números 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.
Proceso mayor_matriz
Dimension vector[20];
Para i<-1 hasta 20 Hacer
Leer vector[i];
FinPara
suma<-0;
mayor<-0;
Para i<-1 hasta 20 Hacer
Si vector[i] mod 2=0 Entonces
suma<-suma+vector[i];
Sino
Si vector[i]>mayor Entonces
mayor<-vector[i];
FinSi
FinSi
FinPara
Escribir “El mayor es: “, mayor,” La suma de los pares es:”,suma;
FinProceso
- Dado un vector de números determina aquellos que sean primos.
- Modalidad uno, partiendo de un vector con lo 20 primero primos
- Modalidad 2, hacerlo de verdad.
- Los primos, son aquellos números que son divisibles por sí mismos y por la unidad; es decir estos números solamente presentan dos divisores.
- Si hacemos algo así…
Proceso primo
posible_primo<-11;
primo<-1;
Para i<-2 hasta posible_primo-1 hacer
si posible_primo mod i =0 entonces
primo<-0;
finsi
FinPara
Escribir primo;
FinProceso
Ejercicio adicionales
- Implementa una calculadora como la que hicimos en linux, recoge tres valores, los dos primeros son los operandos y el tercero el operador
- Implementa la misma calculadora, pero para vectores de tamaño 5. El resultado debe mostrarse en pantalla, pero también debe quedar almacenado en el vector resultado.
- Amplia el ejercicio anterior para que nos diga si la suma de todos los valores de resultado es número primo.
- Amplia el ejercicio anterior a una matriz (2×3) para que nos diga si la multiplicación de todos los valores de resultado es número par.
- Modifica el algoritmo de búsqueda binaria que tenemos como ejemplo para que sea más eficiente. Pista, si te das cuenta el algoritmo continúa incluso si ya está ordenado el vector y no se van a hacer más modificaciones, una buena mejora sería hacer que pare cuando este ordenado.
Originally posted 2010-11-17 18:01:47.
Juan Jesús nos deja una nueva forma de encontrar un número primo.
Proceso numeroprimo
primoencontrado<-0;
Escribir "Introduce el numero";
Leer numero;
si numero%2<>0 Entonces
si numero%3<>0 Entonces
si numero%5<>0 Entonces
Escribir “El numero “,numero,” es primo”;
primoencontrado<-1;
FinSi
FinSi
FinSi
si primoencontrado=0 Entonces
Escribir "El numero ",numero," no es primo";
FinSi
FinProceso
Proceso num_primos_ejerc10
Dimension a[20];
i<-0;
num_primo<-1;
//rellenamos la matriz con los numeros primos del 1 al 20.
Para i<-1 Hasta 20 Con Paso 1 Hacer
si num_primo%20 y num_primo%30 y num_primo%50 Entonces //num_primo es primo
a[i]<-num_primo;
Escribir a[i];
FinSi
num_primo<-num_primo+1;
FinPara
FinProceso
Proceso numero_primo
dimension vector[10]
primo<-i;
para i<-1 hasta 10 Hacer
leer vector[i];
FinPara
para i<-1 hasta 10 hacer
si i mod 2=1 entonces
si i mod 3=1 entonces
si i mod 5=1 entonces
si i mod 7=1 Entonces
escribir i<-primo;
FinSi
FinSi
FinSi
FinSi
FinPara
FinProceso
juan luis ¿cuál es el error?.Hasta mañana.
Como error lo de primo<-i. será primo<-1 ó algun otro valor.
Es mejor que digas si el módulo distinto de cero, ya que el módulo puede valer más de 1.