Matriz (objeto ARRAY) para iniciantes

1

Index

Tagged

Attached Files

The following files have been attached to this tutorial:

.jpg

2016_10_Autorretrato Javi_Perfil_bn2_recorte.jpg

Download now 42.82 KB
.png

avatar_dcce1ae2fce5_128.png

Download now 45.52 KB
.png

Reinarte Avatar.png

Download now 26.43 KB
.capx

animals-starter.capx

Download now 173.28 KB
.capx

animals-complete.capx

Download now 174.16 KB
.capx

highscores-example.capx

Download now 182.31 KB

Stats

25,973 visits, 37,186 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 15 Mar, 2014. Last updated 25 Feb, 2019

(Este tutorial assume que você tem algum conhecimento de como as condições e ações de construção de um trabalho. Se não, veja o beginner tutorial.)

O que é uma matriz (array)?

Basicamente, você pode pensar em um MATRIZ como uma lista ordenada de células, cada célula pode conter um VALOR (um número ou um texto). Uma MATRIZ pode ter 1, 2 ou 3 dimensões, conhecido como o x , y e z dimensões, também conhecido como a LARGURA, ALTURA e PROFUNDIDADE.

Matriz mono-dimensional

[Para acompanhar - baixar o arquivo

animals_starter.capx ]

[1] Vamos criar uma lista contendo cinco animais. Botão direito ou dois cliques no Layout para adicionar uma matriz (ARRAY). Dê o nome de "animais".

Agora selecione a matriz, vá para janela objetos e vamos olhar para suas propriedades. O tamanho da matriz padrão é Largura: 10, Altura: 1, Profundidade: 1. Nós só queremos armazenar 5 animais na lista. Basta mudar o item WIDTH para 5.

Por padrão em qualquer linguagem, todo o conteudo é colocado como (0); Então você pode imaginar este objeto ficando assim:

(By default, all values are set to 0.)

Cada posição dentro de uma MATRIZ é chamada de INDICE (index). Os indices começam sempre em 0, então a primeira celula da MATRIZ o indice é 0 e o ultimo indice da matriz é 4.

Logo sempre o tamanho da matriz é sempre o seu total menos 1, se o total é 5 o seu indice vai de 0 até 4.

Configurando valores

[2] Vamos preencher esta matriz com alguns valores. Adicione "System: On start of layout" a condição e siga as ações para colocar o valor na primeira celula que será GATO (cat):

Resultado:

e a quinta celula o valor CÃO (Dog):

Agora sua matriz deve estar assim:

O MODO DEBUGGER é muito útil para exibir os dados em sua matriz. Se você executar o "Debug Layout" e selecionar a matriz no depurador, ele vai mostrar todos os dados do array:

Vamos em frente e preencher toda a matriz:

Capturando valores

Para pegar o valor de uma célula em um matriz, basta usar o comando:

    Array.At(index)

Array é o nome, no caso, "animais"

.AT é a expressão = matriz.onde(indice) - ou seja, pegar o valor onde o indice coincide com o valor dado na programação.

[3] Vamos adicionar um objeto "button" e um objeto "text". Quando clicar no botão, o objeto texto irá mostrar o item que esta no primeiro indice da matriz.

Para fazer isso, nós configuramos para = animals.At(0):

Se sabemos o valor e queremos encontrar a sua posição na matriz, podemos usar a expressão:

     Array.indexOf (valor)

animals.indexOf ("cachorro") é igual a 4. Se quiséssemos obter o animal que vem antes de cachorro que poderia usar:

     animals.At (animals.IndexOf ("cachorro") - 1)

que voltará "coelho".

Loop na matriz

-

Arrays tem duas de condições, "Para cada elemento" e "Comparar valor atual", que nos deixou um loop através da célula matriz celular e inspecionar cada valor. Quando um loop rodar através da matriz, podemos usar as expressões:

    Array.CurValue        - Para valor atual
    Array.CurX            - pega o valor na dimensão X
    Array.CurY            - pega o valor na dimensão Y
    Array.CurZ            - pega o valor na dimensão Z

[4] Podemos rodar um loop dentro da matriz e mostras todos os valores que nela estão anexados animals.CurValue e exibir em um objeto texto:

[4.1] Ou podemos rodar um loop buscando pelo valor GATO (cat) e substituir pelo palavra LEÃO (Lion)

  • 0 Comments

Want to leave a comment? Login or Register an account!