• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Swimmer

Arrays???

9 mensagens neste tópico

Será que me poderiam explicar como funcionam os arrays?

Não percebo nada daquilo!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um array é um tipo estruturado que pode agrupar numa mesma variável um conjunto de valores do mesmo tipo, por exemplo se quizeres agrupar do 1 ao 4 numa variavel usas uma array, depois para os "chamar" tens de por o nome do array seguido do índice:

ex: array[1];

Espero que tenhas percebido.

Também gostava que tentassem responder à minha duvida que está dois posts abaixo.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Será qu me podem dar um exemplo do uso de um array?

Pode ser com batatas, sempre percebi melhor batatas do que programação! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pode ser com batatas, sempre percebi melhor batatas do que programação! :)

lol!

Imagina que por alguma razão te dava jeito ter, por exemplo, um conjunto de inteiros que estivessem relacionado. Pode ser o número de batatas que o ti Manel vendeu por mês ao longo de um ano. Neste caso, utilizavas um array de 12 inteiros para guardar os valores:

var
aint: Array [1..12] of integer;
begin
aint[1] := 123; (*Janeiro: 123 batatas*)
aint[2] := 472; (*Fevereiro: 472 batatas*)
aint[3] := 175; (*etc*)
aint[4] := 572;
aint[5] := 145;
aint[6] := 112;
aint[7] := 176;
aint[8] := 98;
aint[9] := 26;
aint[10] := 0;
aint[11] := 0;
aint[12] := 2;

O que isto reserva na memória é um espaço para armazenar 12 variáveis do tipo inteiro, e em seguida escreve os valores adequados em cada posição de memória. Para obter os valores é igualmente fácil:

 for i := 1 to 12 do writeln(aint[i]);

Quaisquer erros que detectem façam favor de corrigir... como já disse antes, o meu Pascal está enferrujado :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então, se eu quiser fazer um porta-moedas, basta trocas os numeros 1..12 para moeda2euros, moeda1euro, etc...?

E como faço para ver o que cada posição do array tem?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então, se eu quiser fazer um porta-moedas, basta trocas os numeros 1..12 para moeda2euros, moeda1euro, etc...?

Directamente não, porque o que está entre [] tem que ser um valor inteiro. Podes é criar uma constante para cada posição do array:

const MOEDAS2EURO := 1;
const MOEDAS1EURO := 2;
const MOEDAS50CENT := 3;
const MOEDAS20CENT := 4;
const MOEDAS10CENT := 5;
const MOEDAS5CENT := 6;
const MOEDAS2CENT := 7;
const MOEDAS1CENT := 8;

var
portamoedas: array [1..8] of integer;
begin
portamoedas[MOEDAS2EURO] := 3;
portamoedas[MOEDAS1EURO] := 2;

E como faço para ver o que cada posição do array tem?

Para obteres o valor de cada posição fazes array[posição]. Por exemplo, para colocar na variável x o numero de moedas de 50 cêntimos, fazes

x := portamoedas[MOEDAS50CENT];

ou igualmente

x := portamoedas[3];

Espero não estar a baralhar sintaxes...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Penso que não ;)

Então se eu fizer um

writeln ('Tenho',portamoedas[1],' euro(s)');

vai aparecer algo Tenho 3 euros ??

Ou seja, ao defenir constantes estou a a associar um numero a um nome, correcto?

E quando faço isto portamoedas[MOEDAS2EURO] := 3;, estou a dizer que tenho 3 moedas de 2 euros, é isso?

E obrigado por toda a ajuda dada! ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora