no slide title .net.… · visual basic.net, c1 slide 3 1. o programador utiliza o visual...
TRANSCRIPT
Visual Basic.NET, C1 Slide 1
.NET Framework A .NET Framework define o ambiente para executar aplicações desenvolvidas em VB .NET, C# .NET, C++ .NET, ou outras desenvolvidas para a .NET Framework.
O Visual Studio .NET é um pacote de produtos que permite desenvolver aplicações nas linguagens apontadas no ponto anterior.
Dois dos principais componentes da .NET Framework são:
.NET Framework Class Library – providencia um conjunto de classes, organizadas numa estrutura hierárquica, que podem ser utilizadas para desenvolver aplicações .NET. As classes relacionadas são organizadas em grupos designados por namespcaces.
.NET Common Language Runtime (CLR) – providencia os serviços necessários (gestão de memória, execução de código, segurança, etc.) para executar aplicações desenvolvidas numa qualquer linguagem .NET. Também fornece o Common Type System, que define os tipos de dados que são utilizados pelas linguagens .NET.
Todas as linguagens .NET são compiladas para uma linguagem comum intermédia (IL).
Visual Basic.NET, C1 Slide 2
.NET Framework
.NET Framework
.NET Applications
Visual Basic .NET Visual C# .NET Visual C++ .NET Other languages
.NET Framework Class Library
Windows Forms classes ASP.NET classes Other classes
Common Language Runtime
Managed applications Common Type System Intermediate Language
Operating System and Hardware
Windows 2000 Windows XP Other Operating Systems
Visual Basic.NET, C1 Slide 3
1. O programador utiliza o Visual Studio .NET para criar um projecto (project) que pode incluir um ou mais ficheiros VB fonte. Em alguns casos, um projecto pode conter outros tipos de ficheiros, tais como ficheiros de som, de imagem, etc..
Uma Solução (solution) contém projectos. Nas aplicações simples, uma solução contém apenas um projecto. Embora, nas aplicações mais complexas, uma solução possa conter mais do que um projecto.
2. O compilador de Visual Basic traduz o código fonte para a IL. O código nesta linguagem é armazenado no disco num assembly que também contém referências para as classes que a aplicação requer. Um assembly é um ficheiro executável que tem a extensão .exe ou .dll.
3. O assembly pode depois ser executado em qualquer PC que tenha instalado a .NET CLR. Quando o assembly é executado, a CLR converte a IL para código nativo que pode ser corrido pelo sistema operativo Windows. A CLR é também responsável pela gestão de memória, segurança, etc.
Compilação e execução de uma aplicação VB .NET
Visual Basic.NET, C1 Slide 4
Solution
.NET FrameworkVisual Studio .NET
Project
CommonLanguageRuntime
IntegratedDevelopmentEnvironment
Source files
Visual Basiccompiler
1 2 3
Assembly
Intermediate Language (IL)
Class references
Compilação e execução de uma aplicação VB .NET
Visual Basic.NET, C1 Slide 7
Introdução à programação OO
Quando se implementa um Windows Form através do VS .NET IDE está-se a utilizar programação OO.
Quando se inicia um projecto através do Windows Application Template, está-se a criar uma nova classe que herda as características da classe Form pertencente à.NET Class Library. Quando se “corre” o formulário, está-se a criar uma instância dessa classe, que é, portanto, um objecto.
Do mesmo modo, quando se adiciona um controlo a um formulário, está-se a a adicionar um objecto ao formulário. Cada controlo é, então, uma instância de uma determinada classe. Por exemplo, um controlo TextBox é um objecto que é uma instância da classe TextBox.
• Uma classe representa uma estrutura de programação que define as características de um objecto. Uma classe é uma abstracção do objecto e não o próprio objecto, do mesmo modo que uma planta é uma abstracção de uma casa e não a própria casa.• Um objecto é uma instância da classe e representa uma unidade que combina código e dados.• A interface de um objecto consiste num conjunto claramente definido de propriedades, métodos e eventos. A este conjunto dá-se, comummente, o nome de membros do objecto.• As propriedades representam as características de um objecto.• Os métodos representam as acções que um objecto pode realizar.
Construtor (NEW) – encarrega-se de preparar todo o ambiente quando o objecto é criado e carregado na memória.Destrutor – realiza determinadas operações quando o objecto é libertado da memória.
• Os eventos representam sinais aos quais os objectos podem reagir.
Introdução à programação OO
Visual Basic.NET, C1 Slide 8
Visual Basic.NET, C1 Slide 9
• Herança – é a descrição de uma classe usando propriedades e métodos de outra(s) classe(s). A herança acontece quando umaa classe herda características de outra classe. A classe da qual se herda é chamada de classe-mãe ou classe base e a classe que herdou é chamada de subclasse ou de classe filha. A herança pressupõe que se possam alterar (override) ou excluir as propriedades ou métodos originais, assim como incluir outros. Note-se que uma subclasse apenas herda as propriedades e métodos da classe base, mas não herda os construtores nem os eventos da classe base.
• Polimorfismo – é a capacidade que os objectos têm de responder a uma mensagem de maneiras diferentes. Isto é, através do conceito de polimorfismo, é possível que duas ou mais classes possam definir uma propriedade ou um método com o mesmo nome, mas com diferentes implementações. Assim, o procedimento que é executado quando se refere a um membro com esse nome depende da classe que está a ser utilizada para criar o objecto. O polimorfismo é um resultado natural da herança de classes.
Introdução à programação OO
• Encapsulamento – protecção que o objecto dá às suas propriedades e aos seus métodos, de modo a que nenhum agente externo tenha acesso a elas sem as solicitar. Por outras palavras, o conceito de encapsulamento torna possível que se possam esconder alguns dados e operações (através da palavra chave Private) do objecto. O conceito de encapsulamento permite que se altere o código de uma classe sem afectar as outras classes que utilizam essa classe. Assim, pode-se pensar numa classe como uma caixa preta que disponibiliza propriedades e métodos.
Introdução à programação OO
Visual Basic.NET, C1 Slide 10
Visual Basic.NET, C1 Slide 11
Introdução à programação VB . NET
Vamos considerar os seguintes elementos e estruturas fundamentais que são habitualmente usados em programação:
• Tipos de Dados
• Operadores
• Atribuições
• Entrada e Saída de Dados
• Estruturas de Controlo
· Procedimentos
Visual Basic.NET, C1 Slide 12
Introdução à programação VB . NET
Os dados num programa podem ser utilizados sob a forma de constantes ou de variáveis:
• Constantes – são valores que se mantêm inalterados dentro de um programa;
• Variáveis – são entidades que podem assumir diferentes valores ao longo da execução do programa. As variáveis são utilizadas para armazenar dados. Cada variável tem associado um determinado tipo de dados.
Tipos de dados• Simples• Estruturados• Definidos pelo Utilizador
Visual Basic.NET, C1 Slide 13
Introdução à programação VB . NET
Tipos de dados simplesO VB, tal como a maioria das linguagens de programação de alto nível, tem definidos vários tipos de dados:
• Boolean - para valores lógicos, Verdadeiro ou Falso• Byte – um inteiro positivo de 0 a 255.• Short – um inteiro entre –32.768 e 32.767• Integer - Inteiro entre –2.147.483.648 e 2.147.483.647• Long - Inteiro entre –9.223.372.036.854.775.808 e 9.223.372.036.854.775.807 • Single - para Números reais com Precisão Simples. • Decimal - para Números reais com Precisão Dupla. • Date – para lidar com datas (entre 1 de Janeiro de 100 e 31 de Dezembro de 9999). • String – Valores alfanuméricos. • Char – para um único carácter.• Object – para referenciar objectos.
Visual Basic.NET, C1 Slide 14
Introdução à programação VB . NET
Valores predefinidos para os tipos de dados simples
• Todos os tipos de dados numéricos - 0• Boolean – False• Date – 12:00 a.m. Janeiro 1, 0001 • String ou object – Nothing• Char – valor binário 0
Se não se declarar um valor inicial para uma variável, ela vai receber um valor predefinido, de acordo com o tipo de dados que lhe estiver associado.
Quando um valor numérico é convertido para um valor booleano, o valor zero torna-se false e todos os outros valores tornam-se true. Quando um valor booleano éconvertido para uma valor numérico, um valor false torna-se zero e um valor truetorna-se -1.
Introdução à programação VB . NET Declaração de variáveis
• A associação de um tipo a uma variável é feita aquando da declaração da variável.• O tipo de uma variável condiciona os dados que ela pode conter. Assim, énecessário ter consciência do tipo de dados com que se deseja que ela venha a lidar.
Sintaxe para declarar uma variável{DIM | PRIVATE | PUBLIC | STATIC} nomedavariável AS tipodedados [= expressão]
• DIM – declara uma variável que pode ser utilizada dentro de um procedimento ou dentro de parte desse procedimento. Isso é determinado pela localização da instrução DIM no procedimento.• PRIVATE – declara uma variável que pode ser utilizada pelos procedimentos dentro de uma classe ou módulo.• PUBLIC - declara uma variável que pode ser utilizada por todas as classes e módulos de um projecto.• STATIC - declara uma variável que retém o seu valor de uma execução de um procedimento para a outra.
As palavras chave DIM, PRIVATE, PUBLIC STATIC determinam o âmbito da variável, isto é, a parte do código que pode utilizar essa variável.
Visual Basic.NET, C1 Slide 15
Visual Basic.NET, C1 Slide 16
Introdução à programação VB . NET
Exemplo de declaração de variáveis
Dim x, y AS Integer
Dim x AS Integer , y AS Integer
Dim z AS String , y AS Integer
Se não for especificado um valor inicial para a variável, é considerado o valor predefinido para o tipo de dados associado à variável.
Visual Basic.NET, C1 Slide 17
Introdução à programação VB . NET Declaração de constantes
Sem grande rigor, podemos dizer que as constantes são variáveis globais às quais édado um valor inicial não alterável.
Em todo o código é sempre usado o nome da constante (e não o valor em si), pelo que se desejarmos alterar essa configuração, basta alterar o valor dado na declaração da constante.
Sintaxe básica de declaração de constantes:
[{ Public | Private }] Const nomedaconstante As tipodadoscons = valor[{ Public | Private }] Const nomedaconstante As tipodadoscons = valor
A sintaxe é semelhante à das varáveis. A principal diferença reside no facto de se usar a palavra-chave Const e ainda de ser necessário indicar, de imediato, o valor que se quer atribuir à constante.
Visual Basic.NET, C1 Slide 18
Introdução à programação VB . NET
Exemplos de declaração de constantes
' Declara uma cosntante Public StringPublic Const MinhaString As String = "HELP"
' Declara uma constante Private Integer -- válida apenas no seu contexto de declaraçãoPrivate Const MeuInt As Integer = 5
As constantes declaradas num procedimento Sub, Function, ou Property são locais a esse procedimento.
Uma constante declarada fora de um procedimento é definida ao longo da classe, módulo, ou estrutura na qual é declarada.
Visual Basic.NET, C1 Slide 19
Introdução à programação VB . NET
Declaração de EnumerationsUma Enumeration representa um conjunto de constantes relacionadas.
As enumerations definidas pelo VB .NET são comummente utilizadas para definir valores de propriedades de objectos, entre outras coisas.
Sintaxe básica de declaração de enumerations:
[Public | Private] Enum nomedaenumeration [As tipodadosenumeration]
Nomedaconstante1 [= valor][Nomedaconstante2 [= valor]]..
End Enum
[Public | Private] Enum nomedaenumeration [As tipodadosenumeration]
Nomedaconstante1 [= valor][Nomedaconstante2 [= valor]]..
End Enum
Para mostrar a lista das constantes de uma enumeration na janela de edição de código, deve-se escrever o nome da enumeration, seguido do operador “.”.
Visual Basic.NET, C1 Slide 20
Introdução à programação VB . NET
Operadores
Em VB . NET, dispomos essencialmente de 4 tipos de operadores: aritméticos, relacionais, lógicos e para cadeias de caracteres.
Operadores Aritméticos
São utilizados para levar a cabo cálculos matemáticos
Operador Significado Exemplo
+ Adição 2 + 2 = 4
- Subtracção 2 - 2 = 0
* Multiplicação 2 * 2 = 4
/ Divisão 17 / 5 = 3,4
\ Parte inteira da divisão
17 \ 5 = 3
Mod Resto da divisão inteira
17 Mod 5 = 2
^ Exponenciação 2 ^ 3 = 8
Visual Basic.NET, C1 Slide 21
Introdução à programação VB . NET
Operadores relacionais
São utilizados para comparar valores
Operador Significado
< Menor que
<= Menor ou igual a
> Maior que
>= Maior ou igual a
= Igual a
<> Diferente de De uma expressão envolvendo um operador relacional resulta sempre um valor (True ou False) que atesta a veracidade dessa expressão.
Visual Basic.NET, C1 Slide 22
Introdução à programação VB . NET
Exemplo:
A interpretação da relação entre valores depende do seu tipo de dados.
5 < 4Vale False
Visual Basic.NET, C1 Slide 23
Introdução à programação VB . NET
Operadores Aritméticos
• A relação entre valores numéricos baseia-se na sua ordem quando dispostos num eixo de valores tal como o conhecemos da matemática.
• A relação entre cadeias de caracteres (string) baseia-se na sua ordem alfanumérica.
Exemplo:
-5 < 2 < 4 < 5
“1” < “10” < “1006” < “184” < “2” < “30” < “bom” < “bons”
Para entender melhor a ordenação alfanumérica deve-se observar o UnicodeCharacter Set ou a tabela ASCII.
Visual Basic.NET, C1 Slide 24
Operadores lógicos comuns
Introdução à programação VB . NET
Operador SignificadoNOT negação
And Se ambas as expressões forem true, devolve true
OR Se uma expressão for true, devolve true
Pode-se utilizar os operadores lógicos para criar condições compostas.
Estes operadores são utilizados na álgebra de Boole, isto é em operações lógicas (operações sobre os valores verdadeiro e falso).
Em VB .NET os valores lógicos são True (para verdadeiro) e False (para falso).
Operadores para cadeias de Caracteres
• A concatenação de duas cadeias de caracteres é a operação que as junta numa única cadeia.
Introdução à programação VB . NET
Operador Significado Exemplo
& Concatenação “bom ” & “dia” vale “bom dia”
+ Concatenação “bom ” + “dia” vale “bom dia”
Exemplo:
“20” + “34” vale “2034”
e não “54”
Visual Basic.NET, C1 Slide 25
Visual Basic.NET, C1 Slide 26
Introdução à programação VB . NET
Precedências dos Operadores
• Este problema põe-se quando numa expressão existem vários operadores.
Exemplo:
Sabemos da matemática que:
2+3*4-5 é equivalente a 2 + (3*4) – 5 e não a(2+3) * 4 - 5
Sabemos da matemática que:
2+3*4-5 é equivalente a 2 + (3*4) – 5 e não a(2+3) * 4 - 5
Quando quisermos construir uma expressão que envolva diferentes operadores temos de ter em atenção a tabela de precedência dos operadores que se apresenta a seguir.
Visual Basic.NET, C1 Slide 27
Introdução à programação VB . NET
Precedências dos Operadores
Tabela de Precedências dos Operadores^
- (sinal negativo)*, /
\Mod+, -&
=, <>, <, >, <=, >=, Like, IsNotAndOrXor
Notas:
• Os operadores aritméticos têm sempre precedência sobre os operadores relacionais e ambos têm precedência sobre os operadores lógicos.
• Todos os operadores relacionais têm a mesma precedência entre si.
• Quando estamos perante operadores com o mesmo nível de precedência eles devem ser considerados na ordem em que se apresentam, lendo da esquerda para a direita.
Visual Basic.NET, C1 Slide 28
Introdução à programação VB . NET
Exemplo:
2 * 4 / 8 / 5 * 7
é equivalente a
( ( ( 2*4 ) / 8 ) / 5 ) * 7
Quando queremos forçar uma determinada ordem na consideração dos operadores de uma expressão, utilizamos parêntesis.
Visual Basic.NET, C1 Slide 29
Introdução à programação VB . NET
Precedências dos Operadores
As operações dentro de parêntesis devem ser sempre avaliadas antes de qualquer outra operação.
As operações dentro de parêntesis devem ser sempre avaliadas antes de qualquer outra operação.
Exemplo:
3 – ( 4 +6 / (3 –1 )) * 5
Começa por calcular 3 – 1 (porque é o que está dentro do parêntesis mais interior), de que resulta 2. De seguida Ter-se-á então que calcular 4+6/2 (de novo, é o que está dentro de parêntesis). Daí resulta 7 (note-se que nesta expressão temos de avaliar primeiro a divisão e só depois a soma). Por fim, ficamos com 3-7*5, que resulta em –32.
Visual Basic.NET, C1 Slide 30
Introdução à programação VB . NET
Instruções de atribuição
De nada serve efectuar uma qualquer operação se o seu resultado não for devidamente guardado numa variável.
Para isso temos as atribuições
Assim que o valor resultante de uma operação estiver guardado numa variável, ele pode ser utilizado em subsequentes expressões, bastando para tal invocar essa variável.
Visual Basic.NET, C1 Slide 31
Introdução à programação VB . NET
Exemplos:
a = 4 + 5
b = 2 * a + 1
O tipo de valor resultante no lado direito da atribuição tem de ser compatível com o tipo de dados da variável a que o valor éatribuído (lado esquerdo da atribuição).
Visual Basic.NET, C1 Slide 32
Introdução à programação VB . NET
O VB . NET disponibiliza vários operadores de atribuição, para além do comum operador sinal de igual (=).
Exemplos (assuma-se i = 13 e s = “Olá”):
Operador Exemplo Descrição Resultado
+= i += 5 i = i + 5 i = 18
-= i-= 6 i = i -6 i = 7
*= i *= 2 i = i * 2 i = 26
\= i \= 2 i = i \ 2 i = 6
^= i ^= 2 i = i ^2 i = 169
&= s &= “ mundo” s = s & “ mundo” “Olá mundo”
Visual Basic.NET, C1 Slide 33
Introdução à programação VB . NET Saída de dadosEm VB .NET pode-se utilizar o método Show da classe MessageBox para apresentar uma caixa de texto ao utilizador.
Sintaxe básica do método Show da classe MessageBox:
MessageBox.Show (Text [, Caption [, Buttons [, Icon [, DefaultButton]]]])MessageBox.Show (Text [, Caption [, Buttons [, Icon [, DefaultButton]]]])
• Text – mensagem de texto a apresentar. Este é o único argumento obrigatório.• Caption – apresenta uma legenda na barra de título da caixa de mensagem.• Buttons – especifica os botões que aparecem na caixa de mensagem (OK, OKCancel, YesNo, YesNoCancel,RetryCancel, AbortRetryIgnore).• Icon – especifica o icon que aparece na caixa de mensagem (Information, Error, Warning, Exclamation, Question, Asterisk, Hand, Stop, None). • DefaultButton – especifica o botão que é activado quando o utilizador pressiona a tecla Enter.
Em VB .NET pode-se apenas mostrar três botões numa caixa de mensagem.
Visual Basic.NET, C1 Slide 34
Exemplo de saída de dados
If MessageBox.Show(“Deseja sair?”, “Sair”, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
ME.CloseElse
txtZZZ.FocusEnd IF
Constantes da enumeration DialogResult:
• OK, Cancel, Yes, No, Abort, Ignore, None
Visual Basic.NET, C1 Slide 35
Entrada de dados
Introdução à programação VB . NET
Em VB a função InputBox apresenta uma mensagem numa caixa de diálogo, espera por uma entrada de dados do utilizador e devolve uma string.
Sintaxe básica da função InputBox:
InputBox (Text [, Caption] [, DefaultResponse])InputBox (Text [, Caption] [, DefaultResponse])
• Text – mensagem de texto a apresentar na caixa de diálogo. Este é o único argumento obrigatório.
• Caption – apresenta uma legenda na barra de título da caixa de diálogo.
• DefaultResponse – apresenta a expressão que deve ser considerada como a resposta predefinida, caso o utilizador não efectue nenhuma entrada de dados. Se este argumento for omitido, a caixa de texto apresentada na caixa de diálogo vai aparecer vazia.
Namespace: Microsoft.VisualBasic
Visual Basic.NET, C1 Slide 36
Introdução à programação VB . NET
Estruturas de Controlo
O VB .NET tem diversas estruturas de controlo que podemos utilizar para controlar o fluxo de execução dos programas
Decisão ou Selecção
Repetição
Condicionais Alternativas
Condicionais Selectivas
If-Then-Else
Select Case
Com Contador
Com base numa Condição
For-Next
Do-Loop
Visual Basic.NET, C1 Slide 37
Introdução à programação VB . NET
Estruturas Condicionais
As estruturas condicionais são utilizadas quando queremos que o comportamento de uma certa parte do programa esteja dependente de uma determinada condição.
Estruturas Condicionais Alternativas
• Forma mais simples de estrutura condicional
• Condições do tipo:
Se...Então...Senão
• Exemplo
• “Se chover então vou estudar”
• “Se chover então vou estudar, senão vou ao cinema”
Visual Basic.NET, C1 Slide 38
Introdução à programação VB . NET
Estruturas Condicionais
If condição ThenAcção1[ElseIf Condição ThenAcção2]…[ElseAcção3]End If
If condição ThenAcção1End If
If condição ThenAcção1ElseAcção2End If
1ª linha termina com Then
No fim tem que se colocar End If
Formas mais comuns
Escolher entre duas alternativas possíveis, com base numa condição booleana
Visual Basic.NET, C1 Slide 39
Introdução à programação VB . NET Exemplo: This example shows both the block and single-line forms of theIf...Then...Else statement.
Dim Number, Digits, MyStringNumber = 53' Initialize variable.If Number < 10 ThenDigits = 1ElseIf Number < 100 Then' Condition evaluates to True so the next statement is executed.Digits = 2ElseDigits = 3End If
' Assign a value using the single-line form of syntax.If Digits = 1 Then MyString = "One" Else MyString = "More than one"
• A palavra-chave If indica o início de uma instrução If-Then-Else
• A palavra-chave Then indica o final de uma condição de teste
• A palavra-chave ElseIf fornece uma condição de teste alternativa se a condição de teste anterior for avaliada como false.
• A palavra-chave Else indica onde a execução deve parar se a condição de teste for avaliada como true e onde a execução deve começar se a condição de teste for avaliada como false
• As palavras-chave End If indicam o final da estrutura de controle If-Then-Else
Portanto, a 1ª condição (Number < 10) é testada. Se for avaliada como false, a execução desvia-se imediatamente para a palavra-chave ElseIf, ponto em que é introduzida um nova condição de teste (Number < 100). Se a nova condição de teste for avaliada como false, a execução desvia-se para a palavra-chave Else, e a(s) instrução(ões) que está(ão) antes da palavra-chave End IF é(são) executada(s). Se em qualquer das condições de teste acima referidas o resultado for true, a(s) instrução(ões) que está(ão) a seguir e antes da palavra-chave ElseIf ou Else são executadas.
Visual Basic.NET, C1 Slide 40
Introdução à programação VB . NET
Estruturas Condicionais Selectivas
• Estas estruturas permitem-nos codificar condições mais complexas.
• Alteram o fluxo de execução para um dos diversos segmentos de código possíveis, dependendo do valor da variável ou da avaliação de uma expressão
• Sintaxe:
Select Case expressão[Case lista de expressõesAcções] …
[Case ElseAcções] End Select
Visual Basic.NET, C1 Slide 41
Introdução à programação VB . NET Em que: • A “lista de expressões” indicada em cada linha iniciada por Case pode ter uma das seguintes formas:
• Expressão – qualquer coisa da qual resulte um valor. Por exemplo: 10, “amarelo”ou i + 5, etc...• Expressão To Expressão – permite a especificação de uma gama de valores. Por exemplo: 5 To 10, “E” To “G”, etc...• Is operador_relacional Expressão – permite indicar todos os valores que gozam de uma determinada relação (ditada pelo operador relacional) com a expressão dada. Por exemplo: Is >= 10
• Pode-se combinar estas várias hipóteses, separando-as por vírgulas. Por exemplo: Case Is < 0, Is > 100, 4 To 9, 11 To 16, 19
Indicaria todos os valores negativos ou maiores que 100, os valores entre 4 e 9, os valores entre 11 e 16 e ainda o valor 19
• Case Else destina-se a indicar o que deve ser executado no caso da expressão indicada na linha Select Case tomar um valor diferente de qualquer um dos referidos nas linhas Case. (A sua utilização é opcional)
Visual Basic.NET, C1 Slide 42
Introdução à programação VB . NET
Exemplo:
This example uses the Select Case statement to evaluate the value of a variable. The second Case clause contains the value of the variable being evaluated, and therefore only the statement associated with it is executed.
Dim NumberNumber = 8' Initialize variable.Select Case Number' Evaluate Number.Case 1 To 5' Number between 1 and 5.MsgBox "Between 1 and 5"' The following is the only Case clause that evaluates to True.Case 6, 7, 8' Number between 6 and 8.MsgBox "Between 6 and 8"Case Is > 8 And Number < 11' Number is 9 or 10.MsgBox "Greater than 8"Case Else' Other values.MsgBox "Not between 1 and 10"
End Select
Visual Basic.NET, C1 Slide 43
Introdução à programação VB . NET
Exemplo:
• As palavras-chave Select Case indicam o início de uma estrutura de controle Select case
• Se a expressão que segue a palavra-chave Case se adequar à expressão de teste, a execução desvia-se para o segmento de código que se inicia na linha seguinte àpalavra-chave Case, e continua até que seja encontrada outra instrução Case ou Case Else ou End Select. Depois a execução desvia-se para a instrução End Select
• A palavra-chave Case Else é avaliada como true se todas as demais expressões Case forem avaliadas como false
• As palavras-chave End Select indicam o final da estrutura de controle SelectCase
Se existir mais do que uma linha Case cuja expressão se adeqúe à expressão da linha SelectCase, apenas serão executadas as acções correspondentes à primeira dessas linhas Case.
Visual Basic.NET, C1 Slide 44
Introdução à programação VB . NET
Estruturas de Repetição É muito comum que um programa necessite de repetir um determinado conjunto de acções por um certo número de vezes. Conforme esse número de vezes seja decido no momento em que se está a codificar o programa ou dependa de cada execução particular desse mesmo programa, optaremos pela estrutura mais adequada.
• Chama-se iteração a cada “volta” que se dá• Chama-se ciclo à estrutura em siExemplo:
Se considerarmos que um carrossel dá sempre exactamente 10 voltas, podemos compará-lo a um ciclo com pré-determinação do número de iterações (antes de começar já se sabe quantas voltas vai dar). Se considerarmos que o carrossel gira até que a primeira pessoa se sinta mal disposta, podemos compará-lo com um ciclo sem pré-determinação do número de iterações (o número de vezes que vai rodar vai depender de como as coisas correrem durante a execução).
Um ciclo tem de ter uma forma qualquer de terminar (essa forma depende do tipo de ciclo). Caso contrário teríamos um ciclo infinito e a execução do programa ficaria indefinidamente "pendurada" nesse ciclo.
Visual Basic.NET, C1 Slide 45
Introdução à programação VB . NET
Estruturas de repetição com pré-determinação do número de Iterações
Esta é a estrutura mais adequada quando queremos pré-determinar o número de iterações que o ciclo vai executar. Em linguagem corrente equivale (por exemplo) a dizer: "por 10 vezes, girar o carrossel"
Sintaxe:For variável_de_iteração [AS Datatype] = valor_ inicial To valor_ final [Step valor_ do_passo][acções] [Exit For][acções]Next [variável de iteração]
Notar que:
• O ciclo For implica a utilização de uma variável numérica, chamada de "variável de iteração" (variável_ de_ iteração), que em cada iteração toma um novo valor de acordo com o que se especificar: começa com o valor valor_ inicial e vai até valor_ final. A variável não pode ser do tipo boolean ou do tipo array. Depois de todas acções terem sido executadas, é adicionado o valor valor_ do_passo à variável variável_de_iteração. Neste ponto, todas as acções são executadas de novo e repete-se tudo de novo até que variável_de_iteração = valor_ final.
Visual Basic.NET, C1 Slide 46
Introdução à programação VB . NET
Estruturas de repetição com pré-determinação do número de Iterações
• Pode ser indicado um "passo" (valor do-passo) para a mudança do valor da variável em cada nova iteração. Quando nada for indicado, é assumido um passo de 1 unidade. O valor do passo pode ser positivo ou negativo. Se for positivo então valor_ inicial tem que ser menor ou igual a valor_ final. Se for negativo então valor_ inicial tem que ser maior ou igual a valor_ final.
• Entre as acções pode estar a instrução Exit For. Esta instrução força a saída do ciclo, isto é, o ciclo acaba imediatamente (em vez de continuar a iterar até a variável de controlo atingir o valor final).
• O ciclo For é uma Estrutura de repetição controlada por uma variável (variável_de_iteração ou contador).
Visual Basic.NET, C1 Slide 47
Introdução à programação VB . NET
Exemplo:
This example uses the For...Next statement to create a string that contains 10 instances of the numbers 0 through 9, each stringseparated from the other by a single space. The outer loop uses a loop counter variable that is decremented each time through theloop.
Sub CicloFor()
Dim Words, Chars AS shortDim MyString as stringFor Words = 10 To 1 Step -1 ' Set up 10 repetitions.
For Chars = 0 To 9 ' Set up 10 repetitions.MyString = MyString & Chars ' Append number to string.
Next Chars ' Increment counterMyString = MyString & " " ' Append a space.
Next WordsMesageBox.Show (“MyString = ” & MyString)
End Sub
0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
Visual Basic.NET, C1 Slide 48
Introdução à programação VB . NET
Estruturas de repetição sem pré-determinação do número de iterações O VB fornece-nos uma estrutura extraordinariamente flexível para a codificação deste tipo de ciclos. Podemos codificar directamente expressões como: "até que...fazer qualquer coisa", “enquanto...fazer qualquer coisa", "fazer qualquer coisa até que...", “fazer qualquer coisa enquanto...”, etc.
Testes no Início
Antes de cada iteração verifica-se
se ela ainda deve ser executada.
Testes no Fim
Depois de cada iteração ser executada verifica-se se ainda se deve continuar o ciclo.
Estes ciclos são controlados por uma condição
O ciclo pode não ser executado nenhuma vez
O ciclo é executado pelo menos uma vez
Visual Basic.NET, C1 Slide 49
Introdução à programação VB . NET
Sintaxe:Do [{While | Until} condição][acções][Exit Do][acções]Loop
Do[acções][Exit Do][acções]Loop [{While | Until} condição]
Ou
Quando a condição for Falsa, sai do ciclo
• Repete um bloco de acções Enquanto (While) a condição for Verdadeira (True)Ou
• Repete um bloco de acções Até (Until) a condição se tornar Verdadeira (True)Quando a condição for Verdadeira, sai do ciclo
• Condição – Expressão numérica ou String que é Verdadeira ou Falsa. É opcional. Se a condição for Null, então é tratada como falsa.• Entre as acções pode estar a instrução Exit Do. Esta instrução força a saída do ciclo.
Visual Basic.NET, C1 Slide 50
Introdução à programação VB . NET
Estruturas de repetição sem pré-determinação do número de iterações
Se a condição for testada a seguir a Loop, em vez de a seguir a Do, o conteúdo do ciclo é sempre executado pelo menos uma vez, mesmo que à partida a condição seja falsa. No caso do teste ser feito a seguir a Do, se a condição for falsa, o conteúdo do ciclo não é executado nenhuma vez.
Visual Basic.NET, C1 Slide 51
Introdução à programação VB . NET
Exemplo:This example shows how Do...Loop statements can be used. The inner Do...Loop statement loops 10 times, sets the value ofthe flag to False, and exits prematurely using the Exit Do statement. The outer loop exits immediately upon checking thevalue of the flag.
Sub Ciclos()Dim Check As Boolean, Counter As ShortCheck = True: Counter = 0' Initialize variables.Do' Outer loop.Do While Counter < 20' Inner loop.Counter = Counter + 1' Increment Counter.If Counter = 10 Then' If condition is True.Check = False' Set value of flag to False.Exit Do' Exit inner loop.End IfLoopLoop Until Check = False' Exit outer loop immediately.MessageBox.show( "Counter = " & Counter & "; Check = " & Check)
End Sub
Counter = 10; Check = False
Visual Basic.NET, C1 Slide 52
Introdução à programação VB . NET Procedimentos GeraisSub ou Function
[Private|Public] Function nome [(lista de argumentos)] [As tipo]instruções[Exit Function] {nome = expressão} | {Return expressão} [instruções]
End Function
Têm que ser do mesmo tipo!
Em VB, quando precisamos de escrever um procedimento geral temos duas opções: escrever um Sub ou uma Function
[Private|Public] Sub nome [(lista de argumentos)] instruções[Exit Sub][instruções]End Sub
Sintaxe
• Function permite devolver um valor ao procedimento que a tiver chamado e Sub não tem essa capacidade.
Tipo de dados do valor a devolver.
Diferenças
Visual Basic.NET, C1 Slide 53
Introdução à programação VB . NET Procedimentos Gerais Sub ou Function
Notas:
• Em ambos os casos o código é incluso entre uma primeira linha que descreve o procedimento (Sub ou Function) e uma linha final que indica o fim do procedimento (End Sub ou End Function).
• Em ambos os casos existe também a possibilidade de indicar a lista de argumentos com que o procedimento trabalhará.
• Para que a função devolva um determinado valor é necessário que dentro do seu código se atribua esse valor ao seu nome ou que se utilize uma Instrução Return com o valor a devolver. A instrução Return provoca a saída da função (ver help on-line sobre a instrução Return).
Visual Basic.NET, C1 Slide 54
Introdução à programação VB . NET Definição Versus Chamadas
Um procedimento Sub representa uma série de instruções Visual Basicdelimitada por instruções Sub e End Sub, que efectuam acções mas não devolvem um valor. Um procedimento Sub pode aceitar argumentos
Um procedimento Function representa uma série de instruções Visual Basicdelimitada pelas instruções Function e End Function. Um procedimento Function é idêntico a um procedimento Sub, mas uma função pode devolver um valor. Um procedimento Function pode aceitar argumentos.
A definição de um procedimento representa o código que descreve aquilo que ocorre quando o procedimento for executado, ou seja, quando for chamado.
A chamada de um procedimento é um pedido para que o procedimento seja executado, isto é, para que o controlo passe para o código que constitui a definição do procedimento. A chamada pode envolver a passagem de parâmetros e eventualmente a devolução de um valor (no caso das funções).
Visual Basic.NET, C1 Slide 55
Introdução à programação VB . NET Recomendações para efectuar a Chamada de um procedimento:
Quando o procedimento Sub não está na mesma classe ou módulo que a instrução de chamada, utiliza-se a palavra-chave Call seguida pelo nome do procedimento.
Quando o procedimento Sub está na mesma classe ou módulo que a instrução de chamada, omite-se a palavra-chave Call e utiliza-se a palavra-chave Meseguida de “.” nome do procedimento.
Sintaxe da instrução Call:
[Call] nomedoprocedimentoSub [(listadeargumentos)][Call] nomedoprocedimentoSub [(listadeargumentos)]
Note-se que para chamar um procedimento Sub pode-se utilizar apenas o nome do procedimento, omitindo a palavra-chave Call.
Para chamar um procedimento Function utiliza-se normalmente o nome do procedimento como parte de uma expressão numa instrução de atribuição.
Visual Basic.NET, C1 Slide 56
Introdução à programação VB . NET
Exemplos:
Sub Area()Dim Comp As DecimalDim Larg As DecimalComp = 10Larg = 20Me.CalculaArea (Comp, Larg) 'Chamada do Procedimento CalculaArea
End Sub
Sub CalculaArea( Ocomp As Decimal, Alarg As Decimal)Dim Area As Decimal ' Declara variável local.If Ocomp = 0 Or Alarg = 0 Then
Exit Sub ' Sai do Procedimento imediatamenteEnd IfArea = Ocomp * Alarg ' Calcula a área do rectângulo.MessageBox.Show (“Área = ” & Area) ' Mostra a área.
End Sub
Definição do Procedimento CalculaArea
200
Visual Basic.NET, C1 Slide 57
Introdução à programação VB . NET
Exemplos:
Sub Multiplicar()Dim Var1 As ShortDim Var2 As ShortDim Var3 As ShortVar1 = 5Var2 = 10Var3 = Multiplica(Var1, Var2) ‘Chamada da Função MultiplicaMessageBox.Show (“Var3 = “ & Var3)
End Sub
Function Multiplica(Var1 As short, Var2 As Short) As ShortMultiplica = Var1 * Var2
End Function Definição da Função Multiplica
A instrução em que é feita uma atribuição ao nome da função especifica o valor de retorno da função
Função que devolve o produto de dois argumentos
50
Visual Basic.NET, C1 Slide 58
Introdução à programação VB . NET
Argumentos
Exemplo:Sub Subtrai ( x1 As Integer, x2 As Integer)
MessageBox.Show (“R = “, & x1 – x2)End Sub
Nomedoargumento AS Tipodedadosdoargumento, Nomedoargumento AS Tipodedadosdoargumento ...
Na declaração do Procedimento
Sub FazContas ()
Me.Subtrai (5, 6)
Me.Subtrai (25,12)
End Sub
Estes Valores têm de ser do mesmo Tipo do Argumento correspondente na definição do procedimento a ser chamado!
• Este procedimento não pode ser executado só por si, já que só funciona se lhe forem passados dois argumentos (neste caso dois inteiros). Logo, temos de o chamar a partir de outro procedimento onde lhe possamos fornecer esses valores.
• Os argumentos declarados passam a funcionar, dentro do procedimento, como variáveis.
Na chamada do Procedimento
Visual Basic.NET, C1 Slide 59
Introdução à programação VB . NET
Argumentos
Notas:
• Para chamar o procedimento Subtrai, indicamos uma lista de valores correspondentes a cada um dos argumentos, separados por virgulas.
• Uma vez concluída a execução do procedimento Subtrai (com estes argumentos), o controlo é devolvido ao procedimento Fazcontas. Depois éexecutada a instrução seguinte à chamada do procedimento Subtrai.
• É muito importante a ordem pela qual os argumentos são passados. O primeiro argumento dado vai corresponder ao primeiro argumento recebido e assim sucessivamente. Me.Subtrai 5, 6 é diferente de Me.Subtrai 6,5.
Visual Basic.NET, C1 Slide 60
Introdução à programação VB . NET
No exemplo anterior apresentámos sempre constantes como argumentos. No entanto, podemos também apresentar variáveis ou mesmo expressões, desde que o seu tipo seja compatível com o tipo do argumento correspondente no procedimento chamado.A regra continua a ser a mesma: aquilo que for apresentado como primeiro argumento a passar vai ser usado como o primeiro argumento no procedimento chamado e assim sucessivamente.
Sub FazContas ()
Dim x As Short, y As Short
x = 5
y = 6
Me.Subtrai (x, y)
Me.Subtrai (x + y, 2 * x)
End Sub
Esta chamada vai provocar a execução do procedimento Subtrai usando o valor de xcomo primeiro argumento e ovalor de y como o segundo argumento.
Esta chamada vai provocar a execução do procedimento Subtrai usando o valor de x + y como primeiro argumento e o valor de 2 * x como o segundo argumento.
-1
1
Exemplo:
Visual Basic.NET, C1 Slide 61
Introdução à programação VB . NET
Não existe qualquer relação entre o nome dos argumentos do procedimento chamado e o nome dos argumentos usados na chamada. Ou seja, o facto de termos dado os nomes x1 e x2 aos argumentos do procedimento Subtrai (na sua definição) não quer de forma alguma dizer que este procedimento só possa ser chamado com variáveis que tenham esse mesmo nome! O VB encarrega-se de fazer as necessárias correspondências.
Em geral, quando se passam argumentos a um procedimento, o VB trata de adequar cada um deles aos que se encontram descritos na definição do dito procedimento. A adequação é feita respeitando a sequência em que os argumentos são representados. Assim, o primeiro argumento declarado na definição do procedimento vai tomar o valor do primeiro argumento apresentado nessa chamada do procedimento; o segundo argumento declarado na definição do procedimento vai tomar o valor do segundo argumento apresentado nessa chamada do procedimento; e assim sucessivamente para cada um dos argumentos.
Sub Exemplo ( v As Integer, msg1 As String, msg2 As String)....End sub
Dentro de outro procedimentoS = “Olá”Me.Exemplo (3, “s”, “Bom dia”)
Visual Basic.NET, C1 Slide 62
Introdução à programação VB . NET
Argumentos passados por valor ou por referência
• Argumento passado por referência Quando se apresenta uma variável como argumento na chamada de um procedimento, é passada uma referênciadessa variável ao argumento correspondente no procedimento chamado. Assim, o procedimento chamado pode alterar o valor da variável (passada como argumento) no procedimento chamante. Quando queremos indicar que um argumento deve ser passado por referência utilizamos a palavra-chave ByRefna declaração do procedimento em causa.
• Argumento passado por valor Quando se apresenta uma variável como argumento na chamada de um procedimento, é passada uma cópia do valor dessa variável ao argumento correspondente no procedimento chamado. Assim, O procedimento chamado não pode alterar o valor da variável (passada como argumento) no procedimento chamante. Quando queremos indicar que um argumento deve ser passado por Valor utilizamos a palavra-chave ByVal na declaração do procedimento em causa.
Visual Basic.NET, C1 Slide 63
Introdução à programação VB . NET
Exemplo:
Public Sub Experiência (ByRef X As Short, ByVal Y As Short)X = 5Y = 10
End Sub
Public Sub Teste()Dim A As Short, B As ShortA = 0B = 0 Experiência (A, B)MessageBox. Show( "A = " & A & "; B = " & B)
End Sub
• O Valor da variável passada como 1º argumento pode ser alterado pelo procedimento chamado. • O Valor da variável passada como 2º argumento não pode ser alterado pelo procedimento chamado.
A = 5; B = 0
Visual Basic.NET, C1 Slide 64
Introdução à programação VB . NET
Notas:
• Por defeito, O VB .NET faz as passagens de argumentos por valor ou seja, quando não se indica ByRef ou ByVal é assumido ByVal.
• A decisão entre os dois tipos de passagem (para cada argumento) é tomada aquando da definição de cada procedimento. Na chamada dos procedimentos tudo o que temos que fazer é “sujeitarmo-nos” à forma como o procedimento foi definido.
• Quando desejarmos que uma variável apresentada como argumento (numa chamada) sofra alterações dentro do procedimento chamado, temos de usar uma passagem por referência. Quando apenas queremos passar o seu valor para o procedimento chamado, utilizamos uma passagem por valor.
Visual Basic.NET, C1 Slide 65
Introdução à programação VB . NET
Exemplo completo:Public Sub Experiência(ByRef X As Short, ByVal Y As Short)
MessageBox.Show("Xini = " & X)MessageBox.Show("Yini = " & Y)X = 5Y = 10MessageBox.Show ("Xfin= " & X)MessgeBox.Show ("Yfin = " & Y)
End Sub
Public Sub Teste()Dim A As Short, B As ShortA = 0B = 0MessgeBox.Show ("Aini = " & A)MessageBox.Show ("Bini = " & B)Me.Experiência (A, B)MessageBox.Show ("Afin = " & A & "; Bfin = " & B)
End Sub
Visual Basic.NET, C1 Slide 66
Introdução à programação VB . NET
Sintaxe de declaração de um array unidimensional:
Dim nomedoarray (limitesuperior) As TipodedadosDim nomedoarray (limitesuperior) As Tipodedados
• Pode-se utilizar um array para armazenar um grupo de itens, em vez de utilizar variáveis separadas para cada item. Cada item representa um elemento do array, e o comprimento do array estabelece o número de elementos que o array contém.
• limitesuperior começa em zero. Assim, o array irá conter mais um elemento do que o valor de limitesuperior.
• Na declaração de um array, deve-se especificar o tipo de dados das células que o compõem.
• Se for especificado o tamanho do array no momento da sua declaração, é criado um objecto, a partir da classe Array, com essa dimensão. Esse objecto é então associado à variável. É atribuído um valor predefinido a cada elemento do array, de acordo com o seu tipo de dados.
Introdução à programação VB . NET • Uma variável array contém uma referência para o objecto array que lhe estáassociado e não os valores reais do array.
• Se não for especificado o tamanho do array no momento da sua declaração, não écriado um objecto a partir da classe Array. Isto é, a variável irá conter o valor Nothing. Depois, deve-se utilizar a instrução ReDim para criar um objecto arraycom um tamanho apropriado.
Exemplos de declaração de array unidimensionais:
• Dim a (11) As Integer ‘índices de 0 a 11 (12 elementos – todos com o valor predef. 0)
• Dim b (49) As String ‘índices de 0 a 49 (50 elementos)
• Dim c (49) As Livro ‘um array que contém 50 objectos Livro
• Dim d () As Decimal ‘um array sem declaração do seu tamanho
Apesar de ter sido sempre utilizada a instrução Dim pode ser usada qualquer instrução admissível para a declaração de variáveis.
Visual Basic.NET, C1 Slide 67
Visual Basic.NET, C1 Slide 68
Introdução à programação VB . NET Atribuição de valores às celulas de um array unidimensional:
Sintaxe:
nomedoarray(índice) = valor
• índice: de 0 até limitesuperior. O índice zero (0) identifica o primeiro elemento do array.
Sintaxe de declaração de um array unidimensional e atribuição de valores numa única instrução:
Dim nomedoarray () As Tipodedados = {valor1, valor2, valor3, …}
Exemplo:
Dim a() As Short = {2, 4, 6, 8}
• Quando se atribuem valores aos elementos de um array no momento da sua declaração, não se especifica o seu limitesuperior. O tamanho do array édeterminado pelos número de valores especificados.
Visual Basic.NET, C1 Slide 69
Introdução à programação VB . NET
Sintaxe básica de declaração de um array de duas dimensões:
Dim nomedoarray (limitesuperior1, limitesuperior2) As TipodedadosDim nomedoarray (limitesuperior1, limitesuperior2) As Tipodedados
• Podemos pensar num array de duas dimensões como sendo uma tabela constituída por linhas e colunas.
• limitesuperior1 e limitesuperior2 começam em zero e representam os limites superiores da dimensão 1 e da dimensão 2 do array, respectivamente.
• Um array em VB pode ter até 60 dimensões, embora raramente se trabalhe acima das 3 dimensões.
• É também possível não especificar o limitesuperior1 e o limitesuperior2 no momento da declaração do array. Todavia, tem que se manter a vírgula entre os parênteses, de modo a indicar a dimensão do array.
Visual Basic.NET, C1 Slide 70
Exemplos de declaração de arrays de duas dimensões:
Introdução à programação VB . NET
• Dim a (3, 4) As Integer ‘tabela com 4 linhas e 5 colunas com valores inteiros (predef. 0)
• Dim b (,) As Decimal ‘array de duas dimensões sem a especificação do tamanho de ambas as dimensões
Exemplo de declaração de um array de duas dimensões e atribuição de valores numa única instrução:
Dim s(,) As String = {{“Pedro”, “Sousa”}, {“Ana”, “Pinto”}, {“Mário”, Silva}}
Equivalente a:Dim s(2,1) As Strings(0,0) = “Pedro”s(0,1) = “Sousa”s(1,0) = “Ana”s(1,1) = “Pinto”s(2,0) = “Mário”s(2,1) = “Silva”
Visual Basic.NET, C1 Slide 71
Introdução à programação VB . NET Sintaxe básica de redimensionamento de um array
ReDim [Preserve] nomedoarray (limitesuperior1 [, limitesuperior2])ReDim [Preserve] nomedoarray (limitesuperior1 [, limitesuperior2])
• Para redimensionar um array, utiliza-se a instrução ReDim. Pode-se usar esta instrução para aumentar ou diminuir o número de elementos do array, mas não se pode utilizar para alterar o número de dimensões do array.
• Por defeito, a instrução ReDim apaga todos os valores de um array. Se não for isso o desejado, pode-se incluir a palavra-chave Preserve. Assim, os valores existentes são preservados.
• Quando se redimensiona um array, está-se a criar um novo objecto array que éassociado à mesma variável que o array anterior. Consequentemente, não se pode especificar o tipo de dados quando se redimensiona um array. Em vez disso, o novo array é criado com o mesmo tipo de dados do array original.
Introdução à programação VB . NET
Exemplos de redimensionamento de um array:
Dim a () As short = {1, 2, 3, 4, 5}
• Redim Preserve a(5) ‘altera o tamanho do array para seis elementos e preserva os valores existentes
• ReDim a (6) ‘altera o tamanho do array para sete elementos aos quais éatribuído o valor predefinido 0.
Dim s (2, 1) As String
• ReDim Preserve s (2, 2) ‘preserva os valores existentes e altera o número de elementos do da segunda dimensão do array.
• ReDim s (3,3) ‘altera o número de elementos de ambas as dimensões do array e atribuí-lhes o valor predefinido Nothing.
Visual Basic.NET, C1 Slide 72
Introdução à programação VB . NET A classe array:
Visual Basic.NET, C1 Slide 73
Um array é na realidade uma instância da classe Array. Esta classe contém várias propriedades e métodos que podem ser muito úteis para trabalhar com objectos arrays.
Algumas propriedades:
Length – número de elementos em todas as dimensões do array (uso mais provável em arrays de uma dimensão).
Rank – número de dimensões de um array.
Alguns métodos públicos:
GetLength(dimension) – devolve o número de elementos do array na dimensão especificada.
GetUpperBound(dimension) – devolve o limite superior do array na dimensão especificada.
Initialize – Inicializa os elementos de um array de acordo com o seu tipo de dados.