Operações com Arrays
Data de publicação: Nov 11, 2013 9:50:52 PM
ARRAYS
Um array é um conjunto de posições de memória ou variáveis do mesmo tipo, às quais se acede por um índice, que começa na posição zero.
Exemplo:
'declarar o array
Dim a(5) as integer
'atribuir valores ao array
a(1)=1
a(2)=2
a(3)=4
a(4)=8
a(5)=16
Os arrays podem ter tamanho(dimensão) fixo ou variável.
Quando se declara o array é indicada a dimensão; a dimensão representa o número de elementos que o array vai conter.
'Declarar um array de dimensão fixa
Dim a(dimensão) as tipo_de_dados
'Declarar um array de dimensão variável
Dim a() as tipo_de_dados
Para se utilizar um array dinâmico é necessário recorrer a REDIM() para indicar o número de elementos a adicionar ao array.
OPERAÇÕES COM ARRAYS
Considere um array a de n elementos
'ler o array
for i=0 to n-1
a(i) = InputBox("Valor:", "Ler o array")
next
'somar todos os valores do array
soma=0
for i=0 to n-1
soma=soma+a(i)
next
Messagebox.show(soma)
'média dos valores do array
media=soma/n
Messagebox.show(media)
'determinar o maior elemento do array
maior=a(0)
for i=1 to n-1
If a(i) > maior then
maior=a(i)
endif
next
Messagebox.show(maior)
'determinar o menor elemento do array
menor=a(0)
for i=1 to n-1
If a(i) < menor then
menor=a(i)
endif
next
Messagebox.show(menor)
Pesquisa Linear
A pesquisa linear é usada em vetores ou listas e consiste num processo sequencial, isto é, procura elemento por elemento, que é interrompido caso ocorra o sucesso da pesquisa.
Pode ser implementada numa função que devolve -1 caso o elemento não seja encontrado; se constatar uma única ocorrência do elemento devolve a posição respetiva.
Exemplo:
Considere um array com 10 strings (máximo); pretende-se implementar uma pesquisa de elementos no array.
Public Class Form1
Dim a (10) As String ' array de nomes
Dim i As Integer
Dim conta As Integer = 0
' botão adicionar
Private Sub Button1 _ Click ( ...
Dim nome As String
If conta > = 10 Then
MsgBox (" Atingiu o limite da lista " , MsgBoxStyle . Information , " Adicionar ")
Else
conta = conta + 1
nome = InputBox ("" , " Adicionar ")
a ( conta ) = nome
ListBox1.Items.Add (nome)
End If
End Sub
' botão procurar
Private Sub Button2_Click ( ...
Dim novo As String
Dim encontra As Integer
novo = InputBox ("" , " Procurar ")
encontra = pesquisa (novo)
If encontra = -1 Then
MsgBox (" Elemento não encontrado " , MsgBoxStyle.Critical , " Procurar ")
Else
MsgBox (" Elemento encontrado na posição " & encontra , MsgBoxStyle.Information , " Procurar ")
End If
End Sub
' função pesquisa linear
Function pesquisa (nome As String) As Integer
Dim i As Integer
i = 1
While i < 10 And a ( i ) <> nome
i = i + 1
End While
If a ( i ) = nome Then
Return i
Else
Return ‐ 1
End If
End Function
End Class
EXERCÍCIO PRÁTICO
A aplicação "Relação da Turma" permite registar o nome dos alunos de uma turma.
Para utilizar a aplicação é necessário definir o número de alunos da turma; se este valor não for introduzido a aplicação não deixa registar os alunos.
Após definir o número de alunos inicia-se a operação de registo;
- ao clicar em Adicionar o nome do aluno é adicionado à turma no entanto a aplicação confirma se o nome é único ou se está repetido; os nomes introduzidos não podem ser repetidos; caso surjam nomes iguais estes devem ser escritos de forma diferente.
O botão "Ver Relação de Alunos" mostra os nomes dos alunos adicionados - por exemplo numa listbox.
Desenvolva em VBasic uma aplicação semelhante.