Estructuras sintácticas. LINGUISTICA GRAMATICA GENERATIVA LENGUAJE
3.- Elementos Del Lenguaje. Variables y Estructuras de Datos
36
Elementos dellenguaje. Variables y estructura de datos
-
Upload
jorge-carmona -
Category
Documents
-
view
219 -
download
0
description
c++
Transcript of 3.- Elementos Del Lenguaje. Variables y Estructuras de Datos
Uso de variables
S i s t e m a d e t i p o
s
T i p o s v a l o
r
r e n c i a
Lección: Introducción a los tipos de datos
Define cómo funcionan los tipos en el Common Lan$ua$e %untime
Tipos de datos predefinidos
&numeraciones
Cadenas
'atrices
Clases
Tama,o deTama,o de almacenamientoalmacenamiento
)oolean
(erdadero o 2also
3:33:33 del / de enero de 333/ a //:45:45 6' del 7/ de diciembre de 5555
8asta -5 d9$itos si$nificativos con valores de ;asta <5--. = /3 >con si$no?
@151304014.1/-10411&@7-1 a /<5<057/71.0-7/4<3&73. >con si$no?
@-*/1<*1.7*01. a -*/1<*1.7*01< >con si$no?
@713-.-74&7. a /13/-5.&@14 >con si$no?
Strin$
-.
(alor
(alor
%eferencia
%eferencia
Considerar el tama,o y tipo de datos
Seleccionar el tipo de datos ms compacto
Utilizar la variable
!u" son las variables#
Las variables almacenan valores Jue pueden cambiar cuando una aplicación se est eecutando
Las variables tienen seis elementos bsicos:
&lemento&lemento
Dirección
Tipo de datos
El tipo y tamaño inicial de datos que la variable puede almacenar
(alor
Ámbito
El conjunto de todo el código que puede acceder y utilizar la variable
(ida
No utilizar espacios ni símbolos
No utilizar palabras clave como Inte$er
&emplos de nombres de variables
NombreCliente !ascal"asing#
numeroCuenta camel"asing#
Dim nombreVariable As Type
Dim numberBooks As Integer Dim squareFootage As Single
Hption &=plicit ;abilitado >predeterminado?
$bliga a declarar e%plícitamente las variables antes de utilizarlas
&educe errores lógicos y facilita el mantenimiento del código
!roduce una ejecución del código más rápida
Hption &=plicit no ;abilitado
'umenta la probabilidad de conflictos de nombres y comportamiento imprevisto debido a errores de ortografía
!roduce una ejecución del código más lenta
6odemos:
Dim cumpleaños As Date cumpleaños = #3/9/1974#
Dim cumpleaños As Date = #3/9/1974#
Almacenar entrada del usuario
constants
constants
application runs
application runs
variables
variables
(ariables(ariables
las constantes
las constantes
Dim &rror*'essa$e As Te=t
Dim Current&=penses Mit; Decimal
Dim /-Count As Inte$er
6rctica: &ncontrar errores
-ódulo o clase !ublic
6ublic a As Inte$er
-ódulo o clase .riend
2riend b As Date
-ódulo o clase !rivate
6rivate c As Strin$
Dim d As Inte$er
Htros proyectos de la solución pueden acceder a la variable a
6uede accederse a la variable b desde cualJuier lu$ar del proyecto
6uede accederse a la variable c desde cualJuier lu$ar del módulo
Dónde declaramos la variable
!u" es el mbito#
6rocedimiento
6rivate
6ublic
2riend
Definición: mbito es el conunto de códi$o al Jue se refiere una variable por su nombre
+ivel de acceso de la variable
Cómo declarar variables locales
If x < > T!en Dm block!umber "s Integer bloc"Number = x # $ %n& If
Sub S!o'(essage)Clic"* + Dm marable "s $trng , Insert co&e to a&& functionality %n& Sub
&emplo de variable local: a nivel de bloJue
&emplo de variable local: a nivel de procedimiento
DóndeDónde declarardeclarar
Dónde: declarar dentro de un bloJue o procedimiento
Sinta=is: utilizar la palabra clave Static >no modificador de acceso?
Static nombreVariable As Type
Sub A&&Item)Clic"* + $tatc tems "s Integer
Sub A&&Item)Clic"* + $tatc tems "s Integer
Utilizar modificador de accesoUtilizar modificador de acceso
6rivate
2ri3ate my(o&ule(essage As String Frien& my2ro4ect(essage As String 2ublic mySolution(essage As String
Declarar en un módulo clase o estructura
&emplos
6rctica: Confi$urar niveles de acceso para variables
&=aminar el códi$o de inicio para encontrar una variable no declarada
Declarar la variable en varias ubicaciones para conse$uir distintos niveles de mbito
Cuales son las funciones de conversión#
Cómo convertir e=pl9citamente tipos de datos
Cómo funciona la conversión de datos impl9cita
Cules son las funciones de conversión#
Definición: las funciones de conversión permiten convertir valores de un tipo de datos a otro
(alor Inte$er /-71
(alor Strin$ N/-71NCStr
(alor Date O-E/-E5-OCDate
Cómo convertir tipos de datos e=pl9citamente
Declarar una variable como tipo de datos Strin$Declarar una variable como tipo de datos Strin$ DimDim myString myString As StringAs String
Convertir el valor strin$ en un valor inte$erConvertir el valor strin$ en un valor inte$er myInteger myInteger = CInt*= CInt* myString myString++
Declarar otra variable como tipo de datos Inte$erDeclarar otra variable como tipo de datos Inte$er DimDim myInteger myInteger As IntegerAs Integer
!!
""
##
Los tipos de datos son convertidos automticamente
+o se reJuiere sinta=is especial en el códi$o
&emplo de conversión de datos impl9cita:
Desventaas de la conversión de datos impl9cita:
!uede producir resultados imprevistos
Hption Strict rec;aza las conversiones impl9citas de tipo estrec;as
Dim se8uence As String Dim number As Integer , ... se8uence = 0$5670 number = se8uence , T!e 3alue in sequence is implicitly con3erte&
to an Integer
Dim se8uence As String Dim number As Integer , ... se8uence = 0$5670 number = se8uence , T!e 3alue in sequence is implicitly con3erte&
to an Integer
Información relacionada de $rupo en una estructura nica
+ombre empleado
Una combinación de tipos de datos
Se utilizan para crear tipos de valores definidos por el usuario
Sus miembros pueden ser variables propiedades m"todos o eventos
&emplo de estructura definida por el usuario:
2ublic $tructure %mplea&o 2ublic Nombre As String 2ublic Apelli&o As String 2ublic Fec!aContrato As Date 2ublic Cargo As String 2ri3ate Salario As Decimal %n& Structure
&emplos de estructuras predefinidas: Point Size Color
Cómo declarar estructuras
Dentro de un módulo arc;ivo o clase >no en un procedimiento?
Sinta=is para declarar estructuras:
Dónde se encuentra el modificador de acceso:
6ublic para acceso no restringido
6rotected para acceso sólo dentro de su propia clase
2riend para acceso en cualquier lugar de la aplicación o ensamblado
6rivate para acceso sólo dentro del conte%to de su declaración
+o asi$ne valores a miembros de datos en la declaración
AccessModifier Structure StructureName , Declare structure members !ere %n& Structure
Asi$nar valores a los miembros de datos
&scribir códi$o para utilizar los miembros de la estructura
Cómo utilizar estructuras
Declarar una estructura
&scribir códi$o para utilizar los miembros de la estructura
Asi$nar valores a los miembros de la estructura
&ecutar y probar la aplicación
!u" es una matriz#
Cómo utilizar matrices multidimensionales
!u" es una matriz#
Definición: Una matriz es una serie de elementos de datos 0odos los elementos de una matriz tienen el mismo tipo de datos
1e accede a los elementos individuales utilizando índices enteros
&emplo !ara declarar una matriz entera con siete elementos2
!ara acceder al tercer elemento de la matriz2
>3? >/? >-? >7? >1? >4? >0?
Qndice 3 Qndice 0
Dim count9ouses*:+ As Integer
Declaramos una matriz especificando el: +ombre de la matriz
Tama,o >nmero de elementos?
Tipo de datos de los elementos de la matriz
'odificador de acceso >si fuera necesario?
Especifica el nombre de la matriz
Especifica el tipo de datos de
elementos de la matriz
AccessModifier ArrayName*Size+ As Type
Especifica el tamaño de la matriz
Total elementos P producto de todos los tama,os
Declarar una variable de matriz multidimensional :
'ñadir un par de paréntesis tras el nombre de la variable
"olocar comas dentro de los paréntesis para separar las dimensiones
3niciar la declaración con la sentencia Dim o un modificador de acceso
&emplo:
6odemos cambiar el tama,o de una matriz en cualJuier momento
Utilizar la instrucción %eDim
&emplo:
S i s t e m a d e t i p o
s
T i p o s v a l o
r
r e n c i a
Lección: Introducción a los tipos de datos
Define cómo funcionan los tipos en el Common Lan$ua$e %untime
Tipos de datos predefinidos
&numeraciones
Cadenas
'atrices
Clases
Tama,o deTama,o de almacenamientoalmacenamiento
)oolean
(erdadero o 2also
3:33:33 del / de enero de 333/ a //:45:45 6' del 7/ de diciembre de 5555
8asta -5 d9$itos si$nificativos con valores de ;asta <5--. = /3 >con si$no?
@151304014.1/-10411&@7-1 a /<5<057/71.0-7/4<3&73. >con si$no?
@-*/1<*1.7*01. a -*/1<*1.7*01< >con si$no?
@713-.-74&7. a /13/-5.&@14 >con si$no?
Strin$
-.
(alor
(alor
%eferencia
%eferencia
Considerar el tama,o y tipo de datos
Seleccionar el tipo de datos ms compacto
Utilizar la variable
!u" son las variables#
Las variables almacenan valores Jue pueden cambiar cuando una aplicación se est eecutando
Las variables tienen seis elementos bsicos:
&lemento&lemento
Dirección
Tipo de datos
El tipo y tamaño inicial de datos que la variable puede almacenar
(alor
Ámbito
El conjunto de todo el código que puede acceder y utilizar la variable
(ida
No utilizar espacios ni símbolos
No utilizar palabras clave como Inte$er
&emplos de nombres de variables
NombreCliente !ascal"asing#
numeroCuenta camel"asing#
Dim nombreVariable As Type
Dim numberBooks As Integer Dim squareFootage As Single
Hption &=plicit ;abilitado >predeterminado?
$bliga a declarar e%plícitamente las variables antes de utilizarlas
&educe errores lógicos y facilita el mantenimiento del código
!roduce una ejecución del código más rápida
Hption &=plicit no ;abilitado
'umenta la probabilidad de conflictos de nombres y comportamiento imprevisto debido a errores de ortografía
!roduce una ejecución del código más lenta
6odemos:
Dim cumpleaños As Date cumpleaños = #3/9/1974#
Dim cumpleaños As Date = #3/9/1974#
Almacenar entrada del usuario
constants
constants
application runs
application runs
variables
variables
(ariables(ariables
las constantes
las constantes
Dim &rror*'essa$e As Te=t
Dim Current&=penses Mit; Decimal
Dim /-Count As Inte$er
6rctica: &ncontrar errores
-ódulo o clase !ublic
6ublic a As Inte$er
-ódulo o clase .riend
2riend b As Date
-ódulo o clase !rivate
6rivate c As Strin$
Dim d As Inte$er
Htros proyectos de la solución pueden acceder a la variable a
6uede accederse a la variable b desde cualJuier lu$ar del proyecto
6uede accederse a la variable c desde cualJuier lu$ar del módulo
Dónde declaramos la variable
!u" es el mbito#
6rocedimiento
6rivate
6ublic
2riend
Definición: mbito es el conunto de códi$o al Jue se refiere una variable por su nombre
+ivel de acceso de la variable
Cómo declarar variables locales
If x < > T!en Dm block!umber "s Integer bloc"Number = x # $ %n& If
Sub S!o'(essage)Clic"* + Dm marable "s $trng , Insert co&e to a&& functionality %n& Sub
&emplo de variable local: a nivel de bloJue
&emplo de variable local: a nivel de procedimiento
DóndeDónde declarardeclarar
Dónde: declarar dentro de un bloJue o procedimiento
Sinta=is: utilizar la palabra clave Static >no modificador de acceso?
Static nombreVariable As Type
Sub A&&Item)Clic"* + $tatc tems "s Integer
Sub A&&Item)Clic"* + $tatc tems "s Integer
Utilizar modificador de accesoUtilizar modificador de acceso
6rivate
2ri3ate my(o&ule(essage As String Frien& my2ro4ect(essage As String 2ublic mySolution(essage As String
Declarar en un módulo clase o estructura
&emplos
6rctica: Confi$urar niveles de acceso para variables
&=aminar el códi$o de inicio para encontrar una variable no declarada
Declarar la variable en varias ubicaciones para conse$uir distintos niveles de mbito
Cuales son las funciones de conversión#
Cómo convertir e=pl9citamente tipos de datos
Cómo funciona la conversión de datos impl9cita
Cules son las funciones de conversión#
Definición: las funciones de conversión permiten convertir valores de un tipo de datos a otro
(alor Inte$er /-71
(alor Strin$ N/-71NCStr
(alor Date O-E/-E5-OCDate
Cómo convertir tipos de datos e=pl9citamente
Declarar una variable como tipo de datos Strin$Declarar una variable como tipo de datos Strin$ DimDim myString myString As StringAs String
Convertir el valor strin$ en un valor inte$erConvertir el valor strin$ en un valor inte$er myInteger myInteger = CInt*= CInt* myString myString++
Declarar otra variable como tipo de datos Inte$erDeclarar otra variable como tipo de datos Inte$er DimDim myInteger myInteger As IntegerAs Integer
!!
""
##
Los tipos de datos son convertidos automticamente
+o se reJuiere sinta=is especial en el códi$o
&emplo de conversión de datos impl9cita:
Desventaas de la conversión de datos impl9cita:
!uede producir resultados imprevistos
Hption Strict rec;aza las conversiones impl9citas de tipo estrec;as
Dim se8uence As String Dim number As Integer , ... se8uence = 0$5670 number = se8uence , T!e 3alue in sequence is implicitly con3erte&
to an Integer
Dim se8uence As String Dim number As Integer , ... se8uence = 0$5670 number = se8uence , T!e 3alue in sequence is implicitly con3erte&
to an Integer
Información relacionada de $rupo en una estructura nica
+ombre empleado
Una combinación de tipos de datos
Se utilizan para crear tipos de valores definidos por el usuario
Sus miembros pueden ser variables propiedades m"todos o eventos
&emplo de estructura definida por el usuario:
2ublic $tructure %mplea&o 2ublic Nombre As String 2ublic Apelli&o As String 2ublic Fec!aContrato As Date 2ublic Cargo As String 2ri3ate Salario As Decimal %n& Structure
&emplos de estructuras predefinidas: Point Size Color
Cómo declarar estructuras
Dentro de un módulo arc;ivo o clase >no en un procedimiento?
Sinta=is para declarar estructuras:
Dónde se encuentra el modificador de acceso:
6ublic para acceso no restringido
6rotected para acceso sólo dentro de su propia clase
2riend para acceso en cualquier lugar de la aplicación o ensamblado
6rivate para acceso sólo dentro del conte%to de su declaración
+o asi$ne valores a miembros de datos en la declaración
AccessModifier Structure StructureName , Declare structure members !ere %n& Structure
Asi$nar valores a los miembros de datos
&scribir códi$o para utilizar los miembros de la estructura
Cómo utilizar estructuras
Declarar una estructura
&scribir códi$o para utilizar los miembros de la estructura
Asi$nar valores a los miembros de la estructura
&ecutar y probar la aplicación
!u" es una matriz#
Cómo utilizar matrices multidimensionales
!u" es una matriz#
Definición: Una matriz es una serie de elementos de datos 0odos los elementos de una matriz tienen el mismo tipo de datos
1e accede a los elementos individuales utilizando índices enteros
&emplo !ara declarar una matriz entera con siete elementos2
!ara acceder al tercer elemento de la matriz2
>3? >/? >-? >7? >1? >4? >0?
Qndice 3 Qndice 0
Dim count9ouses*:+ As Integer
Declaramos una matriz especificando el: +ombre de la matriz
Tama,o >nmero de elementos?
Tipo de datos de los elementos de la matriz
'odificador de acceso >si fuera necesario?
Especifica el nombre de la matriz
Especifica el tipo de datos de
elementos de la matriz
AccessModifier ArrayName*Size+ As Type
Especifica el tamaño de la matriz
Total elementos P producto de todos los tama,os
Declarar una variable de matriz multidimensional :
'ñadir un par de paréntesis tras el nombre de la variable
"olocar comas dentro de los paréntesis para separar las dimensiones
3niciar la declaración con la sentencia Dim o un modificador de acceso
&emplo:
6odemos cambiar el tama,o de una matriz en cualJuier momento
Utilizar la instrucción %eDim
&emplo: