Buenos días, comento algunas cuestiones a tener en cuenta:
Si bien en Visual Basic normalmente hacemos una declaración del tipo Dim dato (30) que nos indica que los índices del array Dato comprende dato (0), dato (1), dato (2)... hasta dato (30), en pseudocódigo no hacemos esta declaración y suponemos que si escibimos Leer dato (250) sería porque 250 es un índice válido para el array.
La línea en cuestión tiene dos instrucciones separadas por un signo de dos puntos, lo que significa que una se ejecuta primero y la otra después. A efectos prácticos, es como si se tratara de dos líneas independientes (aunque para ahorrar espacio se pueden poner instrucciones una detrás de otra).
Como bien dices, si escribiéramos Leer dato ( i ) sin haber dado un valor a i, lo que leeríamos sería dato (0) al no haber definido un valor para i.
En cambio, al hacer i=1 y luego escribir Leer dato ( i ) significa que se va a leer dato (1) (al decir leer suponemos que se lee desde un archivo, o que lo introduce el usuario
¿Qué ocurrirá al eliminar la línea? Como en pseudocódigo no establecemos la obligación de declaración del array (cosa que sí hacemos en Visual Basic), al eliminiar esa línea no eliminamos el array, únicamente hacemos que se dejen de ejecutar esas instrucciones.
Lo que sería correcto que te plantearas es:
¿Qué hace el programa cuando está esa línea presente? y ¿Qué haría el programa cuando no está esa línea presente?
Pongo un ejemplo de un programa inventado:
1. Inicio
2. dato ( 8 ) = 24
3. i = 8
4. Si dato ( i ) = 24 entonces
Mostrar "Canguro"
Sino
Mostrar "Perro"
FinSi
5. Fin
Ahora nos preguntamos. ¿Qué hace el programa tal y como está? Primero se inicia, luego se asigna que dato ( 8 ) vale 24. Luego se dice que i vale 8. Luego comprueba si dato ( i ) vale 24. Como i es 8 y dato ( 8 ) vale 24 es cierto. Muestra el mensaje "Canguro" y termina.
¿Qué haría el programa si elimináramos la linea 3? Primero se inicia, luego se asigna que dato ( 8 ) vale 24. Luego comprueba si dato ( i ) vale 24. Como en este caso i no tiene valor suponemos que es cero, por tanto comprueba el valor de dato (0) para ver si es 24. Pero como dato (0) no se ha establecido suponemos que es cero, por tanto no es igual a 24. Muestra el mensaje "Perro" y termina.
La idea es hacer un seguimiento de este tipo aplicado al pseudocódigo que se indica en el ejercicio...
Revísalo y me comentas cómo lo ves...
Saludos.