Arreglos o arrays en pseudocódigo

Hola a todos, hoy os explicare como podemos hacer arreglos o arrays en PseInt. Los arreglos o arrays en PseInt son estructuras que almacenan valores del mismo tipo como números o cadenas. Tiene una longitud determinada. Lo primero es declarar su dimensión, indicando el nombre del arreglo o array y su longitud dentro de [].

Veamos un ejemplo:

Proceso Prueba
    Definir num como entero;
    Dimension num[5];
FinProceso

Debemos definir num con el tipo de dato que queramos que sea, en este caso numérico, ya que si no al recorrer nos saltará un error.

En los arrays o arreglos empiezan desde 1 y acaban en la longitud que hayamos definido. Si has probado otros lenguajes de programación, sabrás que los arrays empiezan en 0 y acaban en la longitud -1 que hayamos definido. Si es tu caso lo podemos cambiar en las opciones de PseInt, Configurar -> Opciones del Lenguaje -> Personalizar, nos aparecerá lo siguiente:

opciones lenguajes

Elegimos la opción utilizar indices en arreglos y cadenas en base 0.

Nosotros lo dejaremos por defecto, es decir, que empiecen en 1.

Veamos como se asignan valores al array:

Proceso Prueba
      Definir num como entero;
      Dimension num[5];
      num[1]=5;
      num[2]=10;
      num[3]=15;
      num[4]=20;
      num[5]=25;
FinProceso

Como vemos, simplemente debemos indicar el nombre del array, el indice y su valor. Deben estar dentro de la longitud creada, es decir, que en este caso no podríamos asignar un valor al indice 6.

Para recorrer un array, deberemos usar una estructura repetitiva, lo mas recomendable es un Para o Desde donde la variable que declaremos, se insertara en el indice haciendo que en cada repetición varié. Veamos un ejemplo:

Proceso Prueba
      Definir num como entero;
      Dimension num[5];
      num[1]=5;
      num[2]=10;
      num[3]=15;
      num[4]=20;
      num[5]=25;
      Para i<-1 Hasta 5 Con Paso 1 Hacer
         escribir num[i];
      Fin Para
FinProceso

Esta es la salida del ejemplo anterior:

salida array

Ademas de mostrar los valores, también podemos introducirlos por teclado con leer nombre_array[indice] si queremos introducir valores en todos los indices, para ello usaremos un bucle. Veamos un ejemplo:

Proceso Prueba
      Definir num como entero;
      Dimension num[5];
      num[1]=5;
      num[2]=10;
      num[3]=15;
      num[4]=20;
      num[5]=25;
      Para i<-1 Hasta 5 Con Paso 1 Hacer
          leer num[i];
      Fin Para
      Para i<-1 Hasta 5 Con Paso 1 Hacer
          escribir num[i];
      Fin Para
FinProceso

Recuerda que podemos hacer lo que queramos con lo valores del array o arreglo, como sumar sus valores, hacer una media, etc.

Por último, si has probado otros lenguajes de programación sabrás que se puede saber el tamaño de un array o arreglo, con un método. En pseudocódigo esto no existe, pero si podemos hacer para ello, podemos usar una constante para indicar el tamaño. La mayor ventaja es que si cambiamos el tamaño de un array o arreglo, solo deberemos cambiar en un lugar y no en todos.

Veamos un ejemplo:

Proceso Prueba
      Definir num como entero;
      TAMANIO=5;
      Dimension num[TAMANIO];
      num[1]=5;
      num[2]=10;
      num[3]=15;
      num[4]=20;
      num[5]=25;
      Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
          Escribir "Escribe un valor para el indice ",i;
          leer num[i];
      Fin Para
      Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
          escribir num[i];
      Fin Para
FinProceso

NOTA: uso TAMANIO en lugar de TAMAÑO porque PseInt no acepta el carácter ñ.

¡Tenemos curso en udemy y tutellus!

También esta disponible en tutellus con una increíble oferta: ¡6€!

https://www.tutellus.com/tecnologia/desarrollo-web/iniciacion-a-la-programacion-con-pseint-29001?cupon=DDR

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

6 comentarios

  1. Disco Duro de Roer Post author

    En el interno deberias usar un bucle «mientras» mejor que un «para», usa una variable como para saber si esta o no esa palabra y una vez lo encuentre salga del bucle y con esa variable podras saber si debes o no pedir de nuevo la palabra.

    Si tienes mas dudas me puedes consultar poe skype.

    Un saludo

  2. Riquelme

    ayuda por favor, necesito construir un algoritmo, que utilice dos arreglos unidimencionales A yB, de largo 5. Ambos arreglos tienen valores numericos. Crear un tercer arreglo C de largo 10.
    El contenido de A y B deben ser enviados a C, en cualquier orden (primero A o B, uno a uno, etc), pero dentro de C, no pueden existir valores repetidos.
    Al finalizar mostrar el contenido de C.

    De ante mano Agradecido

  3. ouxer

    Hola buenas, el post me pareció super claro, de mucha ayuda ya que me encuentro iniciandome y me estan empapando de problemas en pseudo. En fin , mi consulta es la siguiente:

    ¿Es posible dejar que el índice sea incrementado por un bucle condicional (MIENTRAS.. por ejemplo ) Y que a la vez en esos ‘lugares ‘ creados se almacenen datos introducidos por teclado con cada iteración.. ?

    Consulto eso porque esa seria mi forma de resolver este problema:

    Algoritmo que al ingresar N numeros los clasifique en menores a cincuenta inclusive.. los que estan entre cincuenta y uno y cien y los mayores a cien..

    La clasificacion la se hacer … me cuesta horrores contemplar como almacenar los datos en una lista de cantidad creciente..

    Me encantó tu sitio la info es muy clara , se nota el empeño puesto. Muchas gracias !

    Lamento lo extenso de mi consulta .. espero haber sido claro.
    Un saludo grande y gracias nuevamente.

  4. Keneth

    Por ejemplo: si en un arreglo llamado num yo defino un tamaño de 5 que sea de tipo entero y quiero que el usuario o la persona me ingresé esos elementos es más conveniente hacerlo dentro de un ciclo para o for entonces mi parte del código iría así:

    Definir num, i como entero;

    Dimension num[5];

    Para i <- 0 Hasta 4 Con Paso 1 Hacer

    Escribir i, ". Digite un número: ";
    Leer num[i];

    Fin para

    Viene mi pregunta porque no se pone en el código el incremento del iterador dentro del ciclo?

    Osea algo como esto:

    Para i <- 0 Hasta 4 Con Paso 1 Hacer

    Escribir i, ". Digite un número: ";
    Leer num[i];

    i <- i+1;

    Fin para

    Ya no es necesario y porque? Agradezco me puedan ayudar con esta duda.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *