miércoles, 30 de marzo de 2016

Capitulo 12: Small Basic, Arreglos. Parte 1


Diario de un programador.- Dia 30

Arreglos, vectores, arrays...

En algunos lugares le dicen arreglos, en otros le llaman vectores, en otros arrays en otros matrices unidimensionales, pero es importante saber que todos se refieren a lo mismo.
Recordemos un ejercicio propuesto en el capítulo 6, el cual solicita al usuario siete notas y luego calcula su promedio. El programa se veía así:

TextWindow.WriteLine("Promediando calificaciones...")

TextWindow.Write("Ingresa la primera nota ")
nota1 = TextWindow.ReadNumber()

TextWindow.Write("Ingresa la segunda nota ")
nota2 = TextWindow.ReadNumber()

TextWindow.Write("Ingresa la tercera nota ")
nota3 = TextWindow.ReadNumber()

TextWindow.Write("Ingresa la cuarta nota ")
nota4 = TextWindow.ReadNumber()

TextWindow.Write("Ingresa la quinta nota ")
nota5 = TextWindow.ReadNumber()

TextWindow.Write("Ingresa la sexta nota ")
nota6 = TextWindow.ReadNumber()

TextWindow.Write("Ingresa la septima nota ")
nota7 = TextWindow.ReadNumber()

promedio = (nota1 + nota2 + nota3 + nota4 + nota5 + nota6 + nota7) / 7
TextWindow.WriteLine("El promedio es " + promedio)

Como se puede apreciar, se repite demasiadas veces la solicitud "Ingresa la nota..." y por cada solicitud hay una variable distinta. Si no fuesen 7 notas sino 100, ¿habría que crear una variable por cada ingreso? Al usar arreglos, eso no es necesario. Un arreglo es un tipo especial de variable que permite almacenar más de un valor al mismo tiempo.
Para lograr esto, a la variable hay que agregarle un índice, este índice es el que diferencia u ordena los datos ingresados en la variable, el índice, el cual puede ser un número u otra variable, se debe encerrar entre corchetes []. Un ejemplo de arreglo sería así: arreglo[i]

El ejercicio anterior, utilizando arreglos, quedaría así:

TextWindow.WriteLine("Promediando calificaciones...")
suma = 0
For i = 1 To 7
    TextWindow.Write("Ingresa la nota nro." + i + " ")
    nota[i] = TextWindow.ReadNumber()
    suma = suma + nota[i]
EndFor
promedio = suma / 7
TextWindow.WriteLine("El promedio es " + promedio)

En este caso, el arreglo nota[i] Se puede representar de la siguiente forma:
nota[i] = {1, 2, 3, 4, 5, 6, 7}
Cada número, representa una casilla dentro del arreglo, en este caso la primera casilla, de ahora en adelante, el primer índice, está representado con el número 1 (En muchos otros lenguajes, el primer índice es el cero)
Supongamos que estas son las notas que se ingresaron en el arreglo
5, 6, 7, 4, 3, 1, 2


La nota que se encuentra en el primer índice es 5 y la nota que se encuentra en el último índice es el 2 (índice nro. 7)
Si modificamos el programa anterior y le decimos que muestre lo que se almacenó en el quinto índice, el programa nos mostrará el número 3.

TextWindow.WriteLine("Promediando calificaciones...")
suma = 0
For i = 1 To 7
    TextWindow.Write("Ingresa la nota nro." + i + " ")
    nota[i] = TextWindow.ReadNumber()
    suma = suma + nota[i]
EndFor
TextWindow.WriteLine(nota[5])

Aquí colocaré otro ejemplo, para tratar de explicar los índices

For i = 1 To 5
    TextWindow.Write("Ingresa nombre nro." + i + " ")
    nombre[i] = TextWindow.Read()
EndFor
TextWindow.Write("Que indice deseas consultar? ")
indice = TextWindow.ReadNumber()
TextWindow.WriteLine(nombre[indice])

Esto es todo por ahora, en  la parte 2 se seguirán dando ejemplos. Nos vemos




No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...