Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo...

30
Capítulo 6 Capítulo 6 Arrays & Clusters Arrays & Clusters

Transcript of Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo...

Page 1: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Capítulo 6Capítulo 6

Arrays & ClustersArrays & Clusters

Page 2: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Arrays & Clusters

• Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão e podem ter várias dimensões.

• Um Cluster é, basicamente, um array que pode conter informações de tipos diferentes. (exceto array, chart ou graph)

• A indexação começa sempre na posição 0 até n-1, onde n é o número máximo de elementos.

• Ondas senoidais, por exemplo, podem ser armazenadas em arrays, pois cada ponto de sua amplitude pode ser um elemento deste array ( 1D ). Caso hajam mais ondas, basta aumentar sua dimensão. ( Ex. 2 D )

Page 3: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Arrays podem ser de dois tipos: 1D arrays ou 2D arrays

É uma 1D array quando possui apenas uma linha, de N elementos:

1 2 3 4 5 6 7 ..N

É uma 2D array, possui mais de uma linha:

1,2 2,2 3,2 4,2 5,2 6,2 7,2 X,2

1,1 2,1 3,1 4,1 5,1 6,1 7,1 X,1

1,3 2,3 3,3 4,3 5,3 6,3 7,3 X,3

1,4 2,4 3,4 4,4 5,4 6,4 7,4 X,4

1,Y 2,Y 3,Y 4,Y 5,Y 6,Y 7,Y X,Y

Page 4: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Controls e Indicators

• Podemos criar um array controls ou indicator no painel frontal ou diagrama de fluxo de dados, combinando um array shell com um numeric, Boolean, string ou cluster. O elemento do array não pode ser array, chart ou graph.

• É necessário dois “steps” para a criação de um array control ou indicator :– Selecione um array shell no subpalette Array & Cluster do

Controls Palette e arraste-o para dentro do painel de controle.– Coloque dentro do array shell um dado válido ( númeric,

Boolean ou string ). Redimensione o array shell para acomodar os novos dados.

Page 5: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Controls e Indicators - Step 1

Clique em Array & Cluster

SelecioneArray

Mova o array shelle solte

2

3

1

Page 6: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Controls e Indicators - Step 2

Escolha um Digital Control

A janela é ajustadaautomaticamente

Defina o número deelementos que você deseja ( use a seta )

O index value correspodeao primeiro elemento visível do array

Page 7: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Terminal de um Array Shell

Array Shell Array de string

Colchete significaum array

Terminal com bordas cor de rosasignifica um array de strings

Terminal combordas pretas

Page 8: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Multidimensional

Adicionando dimensões a um array

Array 2D

Page 9: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Criando um 2D Array com Loops

Page 10: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Assim como as Strings, Arrays possuem diversas funções que são utilizadas em sua manipulação.

• As funções são, na verdade, muito parecidas.

• Algumas delas poderiam ser criadas pelo próprio programador, porém isso seria muito trabalhoso, gerando um atraso desnecessário ao projeto.

A seguir, algumas das funções mais utilizadas quando trabalhamos com arrays.

Arrays

Page 11: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Size

• Array Size - Retorna o número de elementos em cada dimensão de uma array. A array de entrada pode ser n -dimensional, de qualquer tipo.

• Teste o arquivo Array Size Demo.vi

Page 12: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Index Array

• Index Array - Retorna o elemento da array na posição requerida.

• Pode-se localizar quantos elementos forem necessários adicionando mais terminais. A saída será uma Sub - Array, que conterá os elementos localizados.

• Teste o arquivo Array Index Demo.vi

Page 13: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Replace Array Element

• Replace Array Element - Troca o elemento de determinada posição da array por outro.

• Pode-se trocar N posições, porém com o mesmo novo elemento.

• NEW ELEMENT - É o elemento a ser inserido

• A saída será a array original com os elementos definidos já trocados.

Page 14: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Subset

• Array SubSet - Retorna uma porção de uma array começando no Index, e pegando o número de caracteres definido por LENGHT.

• Pode-se incluir N segmentos a serem procuradas. A saída será uma sub - array, com todos os segmentos encontrados.

• Teste o arquivo Array Subset Demo.vi

Page 15: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Initialize Array

• Initialize Array - Cria um array n - dimensional com elementos contendo o valor que você especificou. Todos o elementos são inicializados com o mesmo valor.

• Teste o arquivo Array Initialization Demo.vi

Page 16: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Build Array

• Build Array - Concatena os elementos das entradas a uma array, de cima para baixo.

• Podem haver N entradas, o que implica em N+1 linhas.

• Os elementos de entrada pode em ser Arrays, mas seu comprimento deve ser igual ou menor do que a array a serem concatenados.

• Teste o arquivo Array Build Demo.vi

Page 17: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Transpose 2D Array

• Transpose 2D Array - Transpõe os elementos de uma 2D array.

• A transposição é feita trocando as linhas pelas colunas, assim uma array, antes [I,J] ficará sendo [J,I] .

• A array pode ser de qualquer tipo .

Page 18: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Split 1D Array

• Split 1D Array - Divide uma 1D array em duas sub - arrays, na posição determinada pelo INDEX.

• Se o index for menor ou igual a zero, a primeira sub - array será vazia.

• Se o index for maior do que o tamanho da array, a segunda sub - array estará vazia.

Page 19: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Sort 1D Array

• Sort 1D Array - Rerranja os elementos de uma array de forma que fiquem em ordem crescente.

• A 1D array não pode ser booleana.

Page 20: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array Max & Min

• Array Max & Min - Procura pelo maior e o menor valor de uma array e retorna esses valores, e sua localização.

Page 21: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Clusters

• Um cluster, ao contrário de uma array, pode conter vários tipos de dados dentro de suas partições.

• Essa característica nos permite simplificar a ligação entre processos, já que muitas vezes eles não estão utilizando variáveis diferentes.

• Seus benefícios se estendem até mesmo na visualização no projeto, que se torna mais fácil e “limpa”.

Suas funções serão vistas a seguir :

Page 22: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Array to Clusters

• Permite a conversão de uma 1D Array para um cluster, do mesmo tipo dos elementos dessa array. O tamanho padrão de elementos deste Cluster é nove, que pode ser estendido até 256. Para se mudar o tamanho, basta dar um clique direito, e modificar suas propriedades.

Page 23: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Cria, a partir dos componentes de suas entradas, de cima para baixo, uma Array de Clusters desses componentes. Se a entrada for de 4 Pontos Flutuantes, de uma casa decimal de precisão, a saída será uma array de clusters de quatro elementos contendo um número Ponto Flutuante, com uma casa decimal de precisão. O elemento 0 da array terá o valor da primeira entrada, e assim sucessivamente.

Build Cluster Array

Page 24: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Organiza todos os componentes de entrada em um só cluster.

Bundle

Page 25: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

Exemplo da Função Bundle

Cluster Bundle Demo.vi

Page 26: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Troca os componentes do cluster de entrada. A seleção dos componentes é feita com um clique direito nos terminais de entrada, através da seleção do nome na lista de elementos do cluster a ser modificado. É obrigatório que haja um Cluster de entrada.

Bundle by Name

Page 27: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Converte um 1D Cluster para uma 1D array. É obrigatório que todos os componentes deste cluster sejam do mesmo tipo.

Cluster to Array

Page 28: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Faz a indexação de uma série de arrays, e cria um cluster array, cujo n-ésimo elemento contém o n-ésimo elemento de cada uma das arrays de entrada.

Index & Bundle Cluster Array

Page 29: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Fragmenta um cluster em seus componentes originais. Teste o arquivo Cluster Unbundle Demo.vi

Unbundle

Page 30: Capítulo 6 Arrays & Clusters. Uma array é uma lista de informações indexadas todas do mesmo tipo. Ela pode ter no máximo ((2exp31)) -1 elementos por dimensão.

• Fragmenta os elementos do cluster especificados. O nome deve ser selecionado no terminal de saída, através de um clique direito, selecionando a partir da lista de elementos deste cluster.

Unbundle By Name