Codificación aprenderaprogramar.com: CU00309A
A la hora de declarar variables conviene seguir las pautas indicadas en el curso “Bases de la programación nivel I” de aprenderaprogramar.com y, resumidamente:
· Elegir siempre el tipo de variable más sencillo posible.
Consideraremos que el grado de sencillez viene definido por la memoria requerida (a menor memoria requerida mayor es la sencillez). Esto redunda en un menor consumo de recursos del sistema y en una mayor rapidez de las operaciones que realiza el ordenador.
Expresión abreviada
|
Equivalente
|
a) Dim i%, j%, k%
|
a´) Dim i As Integer, j As Integer, k As Integer
|
b) Dim i% : Dim j% : Dim k%
|
b´) Dim i As Integer : Dim j As Integer : Dim k As Integer
|
c) Dim i%, j%, k As Integer
|
c´) Dim i As Integer, j As Integer, k As Integer
|
d) Dim i%
Dim j%
Dim k%
|
d´) Dim i As Integer
Dim j As Integer
Dim k As Integer
|
e) Dim i As Integer
Dim j%, k%
|
e´) Dim i As Integer
Dim j As Integer, k As Integer
|
Las opciones a), b), c), d), e) dan lugar a un mismo resultado. Se declaran tres variables tipo Integer denominadas i, j, k. Las opciones a´- e´), escritas de forma extendida, también son válidas y con el mismo resultado. Nosotros nos decantamos por usar opciones como la c), donde en una misma línea aparezcan variables de un tipo de forma abreviada, excepto la última que se pone extendida de forma aclaratoria, y en las que las variables de una misma línea tienen algún tipo de relación. Por ejemplo tratarse de contadores para bucles.
Ten en cuenta que la declaración Dim i, j, k As Integer no declara tres variables de tipo entero de forma correcta. Esta sintaxis es imprecisa y por tanto no debemos utilizarla. Según la versión de Visual Basic que estemos usando esto puede generar errores o problemas. Conviene tener cuidado a la hora de realizar declaraciones de variables para evitar prácticas de este tipo.
Una expresión como Dim i!, j%, k& equivale a Dim i As Single, j As Integer, k As Long. Esta expresión es válida, aunque como hemos dicho preferimos no declarar distintos tipos de variables en una misma línea.
SOLUCIÓN
Hemos utilizado el tipo Single para cubrirnos las espaldas. No sabemos con qué tipo de valores vamos a trabajar y por ello cogemos un tipo de variables bastante amplio como es el Single. Preferimos no coger Double si no es estrictamente necesario.
Hemos utilizado dos líneas pero sólo un tipo de variable ¿Por qué? El programador ordena la declaración de variables como estime más conveniente. En este caso ordenamos “valores para el cálculo” en una línea y “resultados” en otra. Resulta más fácil de leer y analizar que estando todo en una sola línea.
d) Dim i%, j%, k As Integer
Dim tension1!, tension2!, tension3 As Single
Dim largo!, canto!, ancho As Single
Dim Muestraresultados As Boolean.
Siempre será preferible usar las expresiones tension1, tension2 y tension3 antes que t1, t2 y t3 que resultan más confusas. Sin embargo, este tipo de decisiones siempre quedan a criterio del programador.
Las normas para asignar contenido a variables serán las indicadas en el curso “Bases de la programación nivel I” de aprenderaprogramar.com, teniendo en cuenta que de forma general usaremos estas equivalencias.
Nota: las variables "todo en uno" se denominan Variant en algunas versiones mientras que en otras el tipo Variant no existe y su equivalente sería el tipo Object.
Declaración
|
Ejemplo asignación contenidos
|
Dim A As Integer
|
A = 123
|
Dim A As Single
|
A = - 3323.57
|
Dim A As String
|
A = “Hay que mejorar”
|
Dim A As String
|
A = “123 coches”
|
Dim A As String
|
A = “Son 35,37 euros”
|
Dim Salario As Integer
|
A = 30500
|
Dim Salario As Single
|
A = 30500
|
Dim Salario As String
|
A = “Se asignarán 30500 euros”
|
Dim A%, B%, Suma%
|
A = 5 + 2
B = 32
Suma = A + B [Suma valdrá 39]
|
Dim A%, B%, C%, D%, E%
|
A = 5
B = 32
C = A * B [C toma el valor 160]
D = A + C [D toma el valor 165]
E = D [E toma el valor 165]
|
Dim Agotamiento As Boolean
|
Agotamiento = True
|
Nota: la separación decimal normalmente es un punto, pero tendrás que comprobarlo en tu computador porque puede variar en función de las configuraciones aplicadas. Es decir, normalmente se escribirá un decimal como 3.33 en lugar de cómo 3,33.
Un programa que conste de:
Dim A As Integer A = 7 * B |
Dim A%, B% A = 7 * B |
Supone que A valga cero, ya que si no se asigna un valor a B ésta tiene por contenido el valor por defecto, es decir, cero. 7 * B equivale en este caso a 7 * 0, que vale cero.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.