InformáticaBásico1 respuestas

Reglas de basicreglas de evaluacion de basic?

Reglas de basic reglas de evaluacion de basic.

2Moncerrata

En resumen

Cuando aparecen varias operaciones en una expresión, cada parte se evalúa y se resuelve en un orden predeterminado conocido comoprioridad de operador.

Mejor respuesta

Sanagustinfarma

6

Cuando aparecen varias operaciones en una expresión, cada parte se evalúa y se resuelve en un orden predeterminado conocido comoprioridad de operador.

Reglas de prioridadCuando las expresiones contienen operadores de más de una categoría, dichos operadores se evalúan de acuerdo con las siguientes reglas : Los operadores aritméticos y de concatenación tienen el orden de prioridad que se describe en la siguiente sección y tienen prioridad sobre los operadores lógicos, de comparación y bit a bit.

Todos los operadores de comparación tienen la misma prioridad ; todos ellos tienen mayor prioridad que los operadores lógicos y los operadores bit a bit, pero menor prioridad que los operadores de concatenación y los operadores aritméticos.

Los operadores lógicos y bit a bit tienen el orden de prioridad que se describe en la siguiente sección y tienen menor prioridad que los operadores aritméticos, de concatenación y de comparación.

Los operadores con la misma prioridad se evalúan de izquierda a derecha en el orden en que aparecen en la expresión.

Orden de prioridadLos operadores se evalúan en el siguiente orden de prioridad : Espera el operadorawaitOperadores de concatenación y aritméticosExponenciación ( ^ )Identidad y negación unarios ( + , –)Multiplicación y división de punto flotante ( * , / )División de número entero ( \ )Módulo aritmético (Mod)Suma y resta ( + , –)Concatenación de cadenas (&)Desplazamiento de bits aritmético ()Operadores de comparaciónTodos los operadores de comparación ( = , , = , Is, IsNot, Like, TypeOf.

Is)Operadores lógicos y bit a bitNegación (Not)Conjunción (And, AndAlso)Disyunción inclusiva (Or, OrElse)Disyunción exclusiva (Xor)ComentariosEl operador = sólo es el operador de comparación de igualdad, no el operador de asignación.

El operador de concatenación de cadenas (&) no es un operador aritmético, pero en cuanto a prioridad, se agrupa con los operadores aritméticos.

Los operadoresIseIsNotson los operadores de comparación de referencia de objeto.

No comparan los valores de dos objetos ; sólo comprueban y determinan si dos variables de objeto hacen referencia a la misma instancia del objeto.

AsociatividadCuando aparecen operadores de la misma prioridad juntos en una expresión, por ejemplo, multiplicación y división, el compilador evalúa cada operación de izquierda a derecha.

Esto se ilustra en el siguiente ejemplo : Dim n1 As Integer = 96 / 8 / 4

Dim n2 As Integer = (96 / 8) / 4

Dim n3 As Integer = 96 / (8 / 4)

La primera expresión evalúa la división96 / 8(que da como resultado 12) y, a continuación, la división12 / 4que es igual a tres.

Dado que el compilador evalúa de izquierda a derecha las operaciones paran1, la evaluación es igual cuando se indica ese orden explícitamente paran2.

Tanton1comon2dan como resultado tres.

En cambio, n3da como resultado 48, porque los paréntesis fuerzan a que el compilador evalúe8 / 4en primer lugar.

Debido a este comportamiento, se dice que los operadores sonasociativos por la izquierdaen Visual Basic.

Modificación de la prioridad y la asociatividadPuede utilizar paréntesis para hacer que determinadas partes de una expresión se evalúen antes que otras.

Esto puede invalidar el orden de prioridad y la asociatividad por la izquierda.

Visual Basic realiza siempre las operaciones que están escritas entre paréntesis antes de las fuera de.

Sin embargo, dentro de los paréntesis, mantiene prioridad y asociatividad normales, a menos que utilice paréntesis entre paréntesis.

Esto se ilustra en el siguiente ejemplo : Dim a, b, c, d, e, f, g As Double

a = 8.

0

b = 3.

0

c = 4.

0

d = 2.

0

e = 1.

0

f = a - b + c / d * e

' The preceding line sets f to 7.

0. Because of natural operator

' precedence and associativity, it is exactly equivalent to the

' following line.

F = (a - b) + ((c / d) * e)

' The following line overrides the natural operator precedence

' and left associativity.

G = (a - (b + c)) / (d * e)

' The preceding line sets g to 0.

5.