Jump to content

Arrays???


Swimmer
 Share

Recommended Posts

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

Link to comment
Share on other 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 😄

Desaparecido.

Link to comment
Share on other 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?

Link to comment
Share on other 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...

Desaparecido.

Link to comment
Share on other 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! ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.