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:
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:
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€!
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
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
Ok, muchas gracias :D
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
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.
C0m0 se declara una matriz
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.