CAPÍTULO 2
Programação visual com Software Livre
EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo.  Prólogo de Benoit Minisini


Matrizes


Em numerosas ocasiões, quando se tenta resolver um problema mediante a programação, surge a necessidade de contar com a possibilidade de armazenar vários dados na mesma variável. A solução mais simples para este problema são as Matrizes ou Arrays. Podemos definir matrizes que contenham qualquer tipo de dados, mas com a condição de que todos os elementos sejam do mesmo tipo. Não há mais limites na dimensão da matriz, a não ser a memória do computador ou a capacidade do programador de operar com matrizes de dimensões grandes.

A sintaxe para trabalharmos com matrizes é a mesma que para as variáveis, no entanto entre colchetes as dimensões da matriz. Alguns exemplos:

DIM Notas [ 2, 3 ] AS Single

DIM Idades [ 40 ] AS Integer

DIM Isto_nao_ha_quem_o_manipule [ 4, 3, 2, 5, 6, 2 ] AS String

Para acessar o valor de cada uma das celulas da matriz, teremos que referirmos sempre ao seu índice.  Em uma matriz de duas dimensões só podemos identificar facilmente por linhas e colunas.

Temos que levar em conta que o índice começa em 0, não em 1. Quer dizer, na matriz Listado[3] existirão só valores correspondentes a Listado[0], Listado[1], Listado[2]. Se tentarmos acessar a Listado[3] dará um erro Out of Bounds, fora do limite. Por exemplo:

DIM Alunos [ 4, 10 ]  AS String

DIM Colunas AS Integer

DIM Linhas AS Integer

Colunas  =  2

Linhas  =  6

Alunos [ Colunas, Linhas ]  =  " Antônio Sousa "

Temos que declarar estas matrizes com a dimensão máxima que vão ter. Isso nos leva a supor que o interpretador do Gambas reserva a memória necessária para elas ao começar o uso do programa. No entanto, tem vezes que, pelas características da aplicação, desconhecemos a dimensão que terá a matriz, para resolver este problema, Gambas tem predefinidas matrizes unidimensionais dinâmicas de todos os tipos de dados, exceto Boolean. Estas matrizes trabalham de forma idêntica as anteriores, Já que fazem falta funções para adicionar novos elementos a matriz,   apaga-los ou saber o numero de elementos que elas possuem.

Com este exemplo veremos o uso e funções mais usuais ao trabalharmos com matrizes dinâmicas:

DIM Nomes AS String [ ]

'A seguinte instrução inicializa nomes para poder usa-lo.
'É um passo prévio obrigatório:
Nomes = NEW String [ ]

'Assim podemos adicionar valores a matriz:
Nomes.Add ( "Manoel" )
Nomes.Add ( "João" )
Nomes.Add ( "Antonio" )

'Count devolve o numero de elementos da matriz.
'A seguinte instruções mostrará 3 no console:
PRINT Nomes.Count

'A seguinte instrução apagará a linha de “João”
Nomes.Remove ( 1 )

PRINT Nomes.Count     'mostrará 2

PRINT Nomes [ 1 ]        'mostrará “Antonio”

'A seguinte instrução limpará nomes
Nomes.Clear

PRINT Nomes.Count   'mostrará  0






Cópia literal

Extraído do livro “GAMBAS, programação visual com software Livre”, da editora EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo. Prólogo de Benoît Minisini

LICENSA DESTE DOCUMENTO


É permitido a cópia e distribuição da totalidade ou parte desta obra sem fins lucrativos. Toda cópia total ou parcial devera expressar o nome do autor e da editora e incluir esta mesma licença, adicionando se é uma cópia literal “Cópia literal”. Se é autorizada a modificação e tradução da obra  sem fins lucrativos sempre se deve constar na obra resultante  a modificação o nome da obra original o autor da obra original e o nome da editora e a obra resultante também deverá ser livremente reproduzida, distribuída, ao publico e transformada em termos similares ao exposto nesta licença.

Tradução

Cientista
 (Antonio Sousa)