Error 303 en PSeInt: subíndice fuera de rango (2026)
El Error 303 en PSeInt aparece cuando tu programa intenta acceder a una posición de un arreglo (vector o matriz) que no existe. Es el clásico «subíndice fuera de rango»: declaraste un arreglo de cierto tamaño y luego pediste leer o escribir en una posición más allá de sus límites.
¿Qué causa el Error 303?
Un arreglo declarado con Dimension tiene un número fijo de posiciones. Si declaras Dimension notas[5];, las posiciones válidas son un conjunto limitado (según tu perfil, los índices pueden empezar en 0 o en 1 — revísalo en la configuración del perfil). Cualquier acceso fuera de ese conjunto provoca el Error 303, por ejemplo:
- Leer
notas[6]cuando el arreglo solo llega hasta la posición 5. - Usar un índice negativo o cero cuando tu perfil empieza en 1.
- Que una variable usada como índice tome un valor inesperado (por ejemplo, un contador que se pasa del límite).
Ejemplo que provoca el error
Proceso Error303
Dimension notas[5];
Definir i Como Entero;
Para i <- 1 Hasta 6 Con Paso 1 Hacer
notas[i] <- i * 10;
FinPara
FinProceso
El arreglo tiene 5 posiciones, pero el bucle llega hasta i = 6. En la última iteración se intenta escribir en notas[6], que no existe: Error 303.
El mismo ejemplo, corregido
Proceso SinError303
Dimension notas[5];
Definir i Como Entero;
Para i <- 1 Hasta 5 Con Paso 1 Hacer
notas[i] <- i * 10;
FinPara
FinProceso
La única diferencia es el límite del Para: ahora va de 1 a 5, exactamente el tamaño del arreglo. Regla de oro: el rango del bucle debe coincidir con el tamaño declarado en Dimension.
Cómo revisar los límites de tus bucles
La mayoría de los Error 303 nacen en bucles, no en accesos aislados. Cuando te aparezca:
- Localiza el Dimension del arreglo implicado y anota su tamaño.
- Revisa cada bucle que lo recorre: ¿el valor inicial y el final están dentro del tamaño declarado?
- Cuidado con el índice inicial: según tu perfil, los índices pueden empezar en 0 o en 1. Si tu perfil empieza en 0, un arreglo de 5 va de 0 a 4; si empieza en 1, va de 1 a 5. Mezclar ambas convenciones es una fuente típica de este error.
- Vigila los índices calculados: si el índice viene de una operación (por ejemplo
v[i+1]), comprueba el caso extremo: conien su valor máximo, ¿i+1sigue siendo válido?
Si el error aparece en una matriz, aplica la misma lógica a ambas dimensiones: filas y columnas tienen sus propios límites.
Ejemplo con matriz: el error en dos dimensiones
Proceso Error303Matriz
Dimension tabla[3, 4];
Definir f, c Como Entero;
Para f <- 1 Hasta 3 Con Paso 1 Hacer
Para c <- 1 Hasta 5 Con Paso 1 Hacer
tabla[f, c] <- 0;
FinPara
FinPara
FinProceso
La matriz tiene 3 filas y 4 columnas, pero el bucle interno llega hasta la columna 5: al intentar tabla[1, 5] aparece el Error 303. La corrección es ajustar el segundo bucle a Hasta 4. Fíjate en que el error puede estar en cualquiera de las dos dimensiones, así que revisa ambas.
Estrategia de depuración paso a paso
Cuando el Error 303 te frene, sigue este orden y lo encontrarás en minutos:
- Anota el tamaño declarado: busca el
Dimensiondel arreglo y escribe en un papel sus límites. - Identifica el acceso que falla: el mensaje de error indica la línea; mira qué índice se usa allí.
- Rastrea el valor del índice: si es una variable de bucle, comprueba sus valores inicial y final; si viene de un cálculo, evalúa el caso extremo.
- Verifica la convención de tu perfil: recuerda que, según tu perfil, los índices pueden empezar en 0 o en 1. Un bucle
Para i <- 0 Hasta 5sobreDimension v[5]falla en ambos casos: en un perfil que empieza en 1,v[0]no existe; en uno que empieza en 0, el rango válido es 0 a 4 yv[5]se sale. La moraleja: el bucle y el perfil deben usar la misma convención. - Corrige el límite, no el arreglo: salvo que realmente necesites más posiciones, lo habitual es ajustar el bucle al tamaño declarado, no al revés.
Otros errores relacionados
El 303 suele aparecer junto a otros errores de principiantes: variables sin declarar (ver Error 208) o problemas de sintaxis en los bucles (ver errores comunes). Si estás repasando fallos típicos, la guía de Para…Hasta también te ayudará a afinar los límites de tus ciclos.
