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 índice
Proceso crear_llenar_vector
Dimension vector[5];
i<-0;
Para i<-1 hasta 5 Hacer
vector[i]<-i;
FinPara
Para i<-1 hasta 5 Hacer
Escribir vector[i];
FinPara
FinProceso
  • 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.

4 Responses to “ Continuando con Pseudocódigo ”

  1. jjesus dice:

    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

  2. martasps dice:

    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

  3. bcn3098 dice:

    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.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.