La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Componentes del lenguaje

Presentaciones similares


Presentación del tema: "Componentes del lenguaje"— Transcripción de la presentación:

1 Componentes del lenguaje
Caracteres de VB Utiliza el Unicode Letras de la ‘a’ a la ‘z’ mayúsculas y minúsculas, además de las letras acentuadas, la ‘ñ’ y el ‘_’ Dígitos: Caracteres especiales: . : ‘ “ ( ) < > = / \ & + - * ^ ! # $ Terminadores de línea. Nueva línea (NL), retorno de carro (CR), retorno de carro y nueva línea (CR+NL) Continuación de línea. Espacio en blanco más “_” (guión bajo) al final de cada línea que continua en la siguiente Espacios en blanco. Los espacios en blanco en exceso son ignorados por el compilador

2 Comentarios Es un mensaje dirigido a cualquiera que lea el código fuente. Se hace más fácil la compresión de un programa. Tienen como finalidad explicar el código fuente. Comienza con una comilla simple (‘) o por la palabra reservada REM (remark) y se extiende hasta el final de la línea

3 Tipos Se clasifican en: tipos valor y tipos referencia
Un tipo valor almacena directamente un valor Un tipo referencia almacena una referencia a un objeto. Las clase y las matrices Tipos valor Tipos primitivos Enteros: Byte, Short, Integer, Long Reales: Single, Double, Decimal Tipos enumerados

4 Tipos primitivos Tipo Bytes Rango de valores Boolean ? True y False
Char 2 0 a 65,535 Date 8 1/Enero/1 a 31/Diciembre/9999 00:00:00 AM a 11:59:59 PM SByte 1 -128 a 127 Short -32,768 a +32,767 Integer 4 -2,147,483,648 a +2,147,483,647 Long -9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 Byte 0 a 255 UShort UInteger 0 a 4,294,967,295 ULong 0 a 18,446,744,073,709,551,615

5 Tipo Bytes Rango de valores Single 4 Un número real con precisión simple. E-45 a E+38 para valores negativos E+38 a E-45 para valores positivos Double 8 Un número real con doble precisión. E-324 a E+308 para valores negativos. E-324 a E+308 para valores positivos. Decimal 16 0 a +/- 79,228,162,514,264,337,593,543,950,335 sin decimales 0 a +/ E+28 con decimales Object Cualquier tipo puede ser almacenado String ? Una cadena de caracteres Unicode. De 0 a aproximadamente 2 billones (2^31) de caracteres. Estructuras Cada elemento de la estructura tiene su rango dependiendo del tipo de dato que representa.

6 Tipos enumerados Son tipos definidos por el usuario
Ejemplo: Enum Día Lunes Martes Miércoles Jueves Sábado Domingo End Enum Los valores con los que se forma un tipo enumerado se corresponde con las constantes enteras 0, 1, 2, etc. Ayudan para escribir código más legible

7 Literales Es la expresión de un valor de alguno de los tipos expuestos anteriormente Literales enteros Se puede especificar en base 10, 8 y 16 En general, el signo + es opcional si el valor es positivo y el signo – estará presente siempre que el valor sea negativo La sintaxis es: {[+]|-}literal_entero[{S|I|L}] Si el literal no tiene sufijo, su tipo es el primero de los tipos Integer o Long, en este orden, en el que su valor pueda ser representado Si el literal tiene sufijo y este es S su tipo es Short, I su tipo es Integer y L su tipo es Long

8 Un literal entero decimal puede tener uno o más digitos del 0 al 9
Un literal entero decimal puede tener uno o más digitos del 0 al 9. Por ejemplo: 4326 constante entera Integer 4326L constante entera Long constante entera Long Un literal entero octal puede tener uno o más dígitos del 0 al 7, precedidos por &O (& seguido de la letra = mayúscula o minúscula) Un literal entero hexadecimal puede tener uno o más dígitos del 0 al 9 y letras de la A a la F (en mayúsculas o minúsculas) precedidos por &H (& seguido de la letra H mayúscula o minúscula) Ejemplos: 256 número decimal 256 &O400 número decimal 256 expresado en octal &H100 número decimal 256 expresado en hexadecimal -256 número decimal -256 -&O400 número decimal -256 expresado en octal -&H100 número decimal -256 expresado en hexadecimal

9 Literales reales Se forma por una parte entera, seguido por un punto decimal, y una parte fraccionaria Se permite la notación científica, en cuyo caso se añade al valor una e o E, seguida por un exponente positivo o negativo {[+]|-}parte-entera.parte-fraccionaria[{e|E}{[+]|-}exponente] Donde exponente representa cero o más digitos del 0 al 9 y E o e es el símbolo de exponente de la base 10 que puede ser positivo o negativo (2E-5 = 2 x 10-5) Si la constante real es positiva no es necesario especificar el signo y si es negativa lleva el signo menos Ejemplos: -17.24 .008E3 27E-3

10 Una constante real tiene siempre tipo Double, a no ser que se añada a la misma una f o F, en cuyo caso será de tipo Single, o d o D, en cuyo caso es de tipo Decimal También se pueden utilizar los sufijos r o R para especificar explícitamente que se trata de una constante Double Ejemplos: 17.24F constante real de tipo Single 17.24D constante real de tipo Decimal 17.24R constante real de tipo Double constante real de tipo Double

11 Literales de un solo carácter
Son de tipo Char Está formado por un único carácter encerrado entre comillas dobles seguido del carácter C Ejemplos: “ “C espacio en blanco “x”C letra minúscula x Literales de cadenas de caracteres Es una secuencia de caracteres encerrados entre comillas dobles “Universidad de Colima” “ ” “” ‘cadena vacía “Lenguaje “”Visual Basic”” ‘produce: Lenguaje “Visual Basic”

12 Literales de fecha y hora
Las cadenas de caracteres se pueden concatenar (unir) empleando el operador & Ejemplo: “Distancia “ & distancia & “ Km.” Si alguna de las expresiones no se corresponde con una cadena, como se supone que ocurre con distancia, Visual Basic la convierte de forma automática en una cadena de caracteres Literales de fecha y hora Está formada por una fecha (mes, día, año separados por / o -) y una hora (horas, minutos, segundos separados por dos puntos, más AM o PM si el formato es de 12 horas) delimitados por el carácter # Ejemplos: #12/15/2012/ 10:00:00 AM# #12/15/2012# #10:05:00 PM# # :00:00#

13 Conversiones entre tipos primitivos
VB permite convertir implícitamente un dato de cualquier tipo a cualquier otro tipo Puede originar perdida de datos cuando un valor de un determinado tipo sea convertido a otro tipo con menor precisión o de capacidad más pequeña Byte Short Integer Long Decimal Single Double

14 El tipo Char puede ser convertido implícitamente a String
Cualquier tipo puede ser convertido a Object Nothing puede ser convertido a cualquier tipo Boolean no admite conversión implícita a ningún otro tipo Las conversiones inversas a las implícitas no siempre son satisfactorias porque pueden fallar durante la ejecución si el valor a almacenar sobrepasa el rango permitido. Para forzar a conversiones de forma explícita se debe agregar la sentencia: Option Strict On Para realizar una conversión de forma explicita utilizaremos la funcion Ctype, con sintaxis: Ctype(expresión, tipo)

15 Ejemplos: ‘Conversión implícita Dim bDato As Byte=1, sDato As Short, iDato As Integer Dim lDato As Long, fDato As Single, rDato As Double Dim dDato As Decimal sDato=bDato iDato=sDato lDato=iDato dDato=lDato fDato=dDato rDato=fDato+lDato-iDato*sDato/bDato

16 Ejemplos: ‘Conversión explícita Option Strict On Dim bDato As Byte=1, sDato As Short, iDato As Integer Dim lDato As Long, fDato As Single, rDato As Double Dim dDato As Decimal rDato=2 fDato=Ctype(rDato, Single) ‘ CSng(rDato) es equivalente lDato=Ctype(fDato, Long) ‘ CLng(fDato) es equivalente iDato=Ctype(lDato, Integer) ‘ CInt(lDato) es equivalente sDato=Ctype(iDato, Short) ‘ CShort(iDato) es equivalente dDato=Ctype(rDato, Decimal) ‘ CDec(rDato) es equivalente bDato=Ctype(sDato+iDato-lDato*fDato/rDato, Byte)

17 Identificadores Son nombres dados a tipos, literales, variables, clases, interfaces, métodos, espacios de nombres y sentencias de un programa. La sintaxis es: {letra|_}[{letra|digito|_}]… Consta de uno o más caracteres y el primer carácter debe ser una letra o el carácter guión bajo No puede comenzar por un digito ni puede contener caracteres especiales Si el primer carácter es el guión bajo, debe escribirse, al menos, otro carácter a continuación Las letras pueden ser mayúsculas o minúsculas. VB no diferencia mayúsculas de minúsculas. Suma, suma y SUMA son el mismo identificador Pueden tener una longitud máxima de 1,023 caracteres

18 Palabras claves Son identificadores predefinidos que tienen un significado especial para el compilador Por lo tanto, un identificador definido por el usuario, no puede tener el mismo nombre que una palabra clave AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto Boolean ByRef Byte ByVal Call Case Catch Cbool Cbyte Cchar Cdate Cdec CDbl Char Cint Class Clng Cobj Const Cshort CSng CStr Ctype Date Decimal Declare Default Delegate Dim DirectCast Do Double Each Else Elseif End Enum Erase Error Event Exit False Finally For Friend Function Get Gettype Gosub Goto Handles If Implements Is Imports In Inherits Integer Interface

19 Let Lib Like Long Loop Me Mod Module Mybase Myclass New Next Not
Mustinherit Mustoverride Mybase Myclass Namespace New Next Not Nothing Notinheritable Notoverridable Object On Option Optional Or Orelse Overloads Overridable Overrides Paramarray Preserve Private Property Protected Public Raiseevent Readonly Redim Rem Removehandler Resume Return Select Set Shadows Shared Short Single Static Step Stop String Structure Sub Synclock Then Throw To True Try Typeof Unicode Until Variant When While With Withevents Writeonly Xor

20 Declaración de constantes
Significa decirle al compilador VB el nombre de la constante y su valor Se utiliza el calificativo Const Sintaxis: Const identificador As tipo = Valor_Constante No se le puede asignar otro valor La principal ventaja radica en la facilidad de modificar un programa

21 Variables Representa un espacio de memoria para almacenar un valor de un determinado tipo Dicho valor puede cambiar durante la ejecución de un programa Sintaxis: Dim identificador As tipo [, identificador As tipo]… La declaración puede realizarse a nivel de un módulo o de una clase, a nivel de método o a nivel de bloque de código Su uso estará limitado al modulo o a la clase, al método, o al bloque de código que la define. Este espacio se denomina ámbito de esa variable

22 Ámbito de una variable Module UnModulo/Class UnaClase
Variable limitada a un módulo o a una clase Module UnModulo/Class UnaClase variables del módulo o clase Public Sub/Function … variables locales Una sentencia compuesta End End Sub/Function End Module/Class Variable limitada a un método Variable limitada a un bloque

23 Ámbito de una variable Una variable local existe y tiene valor desde su punto de declaración hasta el final del bloque donde está definida Cada vez que se ejecuta el bloque que la contiene, la variable local es nuevamente definida, y cuando finaliza la ejecución del mismo, la variable local deja de existir La variables numéricas son iniciadas con 0, los caracteres y las cadenas de caracteres con nulos

24 Operadores aritméticos
Operación + Suma. Los operandos pueden ser enteros o reales - Resta. Los operandos pueden ser enteros o reales * Multiplicación. Los operandos pueden ser enteros o reales / División real. Los operandos pueden ser enteros o reales. El resultado es un tipo Double, excepto cuando un operando es Single y el otro no es Double, en este caso el resultado será Single, o bien si ambos operandos son de tipo Decimal, entonces será Decimal \ División Entera. Los operandos deben ser enteros. Si alguno de los operandos es de tipo real, tiene que ser convertido a entero. El resultado es entero en todos los casos ^ Exponenciación (ab). Los operandos a y b pueden ser enteros o reales. En cualquier caso, los operandos son convertidos implícitamente a Double. Mod Módulo o resto de una división. Los operandos pueden ser enteros o reales. Si ambos operandos son enteros, el resto será entero; en otro caso, el resto será real

25 Operadores de relación
Operación < ¿Primer operando menor que el segundo? > ¿Primer operando mayor que el segundo? <= ¿Primer operando menor o igual que el segundo? >= ¿Primer operando mayor o igual el segundo? <> ¿Primer operando distinto que el segundo? = ¿Primer operando igual que el segundo?

26 Operadores lógicos Operador Operación And o AndAlso
AND. Da como resultado True si al evaluar cada uno de los operandos el resultado es True. Si uno de ellos es False, el resultado es False. Si se utiliza AndAlso en lugar de And y el primer operando es False, el segundo operando no es evaluado Or u OrElse OR. El resultado es False si al evaluar cada uno de los operandos el resultado es False. Si uno de ellos es True, el resultado es True. Si se utiliza OrElse en lugar de Or y el primer operando es True, el segundo operando no es evaluado Not NOT. El resultado de aplicar este operando es False si al evaluar su operando el resultado es True, y True en caso contrario Xor XOR. Da como resultado True si al evaluar cada uno de los operandos el resultado de uno es True y el del otro False; en otro caso el resultado es False

27 Operadores a nivel de bits
Operadores unitarios Operador Operación + Da como resultado el valor del operando. El operando debe ser de tipo Byte, Short, Integer, Long, Single, Double o Decimal - Cambia de signo al operando. El operador puede ser de un tipo entero o real Operadores a nivel de bits Operador Operación And Operación AND a nivel de bits Or Operación OR a nivel de bits Xor Operación XOR a nivel de bits << Desplazamiento a la izquierda rellenando con ceros por la derecha >> Desplazamiento a la izquierda rellenando con el bit de signo por la izquierda

28 Operadores de asignación
Operación = Asignación simple ^= Exponenciación más asignación *= Multiplicación más asignación /= División real más asignación \= División entera más asignación += Suma más asignación -= Resta más asignación <<= Desplazamiento a la izquierda más asignación >>= Desplazamiento a la derecha más asignación &= Operación de concatenación de cadenas más asignación

29 Prioridad y orden de evaluación
Una expresión entre paréntesis siempre se evalúa primero. Los paréntesis tienen mayor prioridad y son evaluados de más internos a más externos Operador Operación Procedimientos (métodos) Llamadas a procedimientos ^ Exponencial + - Más y menos unitarios * / Multiplicación y división \ División entera Mod Resto de una división Suma y resta & Concatenación <<, >> Desplazamiento de bits =, <>, <, >, <=, >=, Like, Is, TypeOf…Is Comparación Not Negación And, AndAlso AND Or, OrElse OR Xor XOR


Descargar ppt "Componentes del lenguaje"

Presentaciones similares


Anuncios Google