Title: Cap
1Capítulo 6
2Arrays 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 )
3- 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,1 2,1 3,1 4,1 5,1 6,1 7,1
X,1
1,2 2,2 3,2 4,2 5,2 6,2 7,2
X,2
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
4Array 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.
5Array Controls e Indicators - Step 1
6Array Controls e Indicators - Step 2
7Terminal de um Array Shell
Array Shell
Array de string
Terminal com bordas pretas
Colchete significa um array
Terminal com bordas cor de rosa significa um
array de strings
8Array Multidimensional
9Criando um 2D Array com Loops
10Arrays
- 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.
11Array 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
12Index 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
13Replace 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.
14Array 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
15Initialize 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
16Build Array
- Build Array - Concatena os elementos das
entradas a uma array, de cima para baixo. - Podem haver N entradas, o que implica em N1
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
17Transpose 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 .
18Split 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.
19Sort 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.
20Array Max Min
- Array Max Min - Procura pelo maior e o menor
valor de uma array e retorna esses valores, e sua
localização.
21Clusters
- 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
22Array 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.
23Build Cluster Array
- 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.
24Bundle
- Organiza todos os componentes de entrada em um
só cluster.
25Exemplo da Função Bundle
Cluster Bundle Demo.vi
26Bundle by Name
- 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.
27Cluster to Array
- Converte um 1D Cluster para uma 1D array. É
obrigatório que todos os componentes deste
cluster sejam do mesmo tipo.
28Index Bundle Cluster Array
- 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.
29Unbundle
- Fragmenta um cluster em seus componentes
originais. Teste o arquivo Cluster Unbundle
Demo.vi
30Unbundle By Name
- 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.