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.