Na
linguagem de programação C#, As matrizes seguem o modelo de declaração de
variáveis, com a diferença de notação para indicar se tratamos de uma matriz ou
de um vetor. Declaramos o tipo de valores dos elementos que compõem a matriz,
seguido pelo nome e pelo número de linhas/colunas, se conhecido.
Exemplo:
int A
[2,2]; (matriz 2 x 2, em C#)
Para indicar um elemento
específico da matriz, usamos o comando de atribuição, indicando posição de
linha e coluna deste:
A[1,1] = 44; (matriz)
B[1] =
1; (vetor de uma componente)
Como as matrizes usuais, o índice de linhas e colunas inicia em 1, na declaração de Variáveis. Todavia, em uma
matriz 4 x 3, por exemplo, as linhas variam de 0 a 3 e as colunas de 0 a 2.
Este detalhe é importante para a construção dos algoritmos em C#.
Declarar
elementos em matrizes gigantes é algo enfadonho, e desnecessário, pois, podemos
usar uma estrutura do tipo para/faça em que há uma variável de controle para o
número de linhas e outra para o número de colunas. O algoritmo será repetido m
x n vezes, em que m é o número de linhas e n é o número de colunas, por
exemplo.
Se
desejamos usar uma matriz 4 x 4 em que os elementos da diagonal principal são
iguais a 4, os elementos em que o valor da linha é maior que o da coluna iguais
a 1 e os demais iguais a sete, um algoritmo em Portugol, seria o seguinte:
int
A = [4,4];
int
L = 4;
int
C = 4;
para
(int l = 0, l < L, l = l + 1)
faça
para (int c = 0, c < C, c = c +
1)
faça
se
(l == c) então
A[l,
c] = 4;
senão
se (l > c) então
A[l, c] = 1;
senão
A[l, c] = 7;
fimse
fimse
fimpara
fimpara
Em C#, teríamos o
seguinte algoritmo:
private void button1_Click(object
sender, EventArgs e)
{
int [,] A = new int [4,4];
for (int l = 0; l
< 4; l = l + 1)
{
for (int c = 0; c
< 4; c = c + 1)
{
//aqui vou colocar meus comandos
if (l == c) A[l, c] = 4;
if (l < c) A[l, c] = 7;
if (l > c) A[l, c] = 1;
}
}
}
Na
sintaxe, é importante usar o ponto e vírgula em para(variável = valor inicial;
valor inicial; incremento) senão o C# indica erro, usando mensagens como ‘expected’
ou similares.
Quem usa o Visual Studio
C#, está acostumado às Listboxs, Buttons e outras ferramentas de visualização
da interface Windows, para auxiliar no cálculo de matrizes, temos o
dataGridView como ferramenta de visualização de matrizes. Também é possível
declarar o número de linhas e colunas desta visualização. Esta contagem começa em 1.
dataGridView2.RowCount = 7; (sete colunas)
dataGridView2.ColumnCount
= 6; (seis linhas)
Para
visualizar os elementos da matriz que calculamos, implementamos um algoritmo
para/ faça, da mesma forma. Apenas muda o interior do algoritmo, onde ordenamos
a atribuição dos valores da matriz calculada em C# para a dataGridView:
dataGridView2.Rows[q].Cells[r].Value
= N[q,r];
Para que o software leia
os valores do visor e converta os dados para uso da aplicação, fazemos um
algoritmo para/faça e implementamos o seguinte bloco de ações:
N[q,r] = (float)Convert.ToDecimal(dataGridView2.Rows[q].Cells[r].Value);
*A
matriz N era do tipo float, por isso a conversão em Casting (entre
parênteses, do menor para o maior);
* dataGridView converte
direto para Decimal e integer .
Para atribuir um valor
aleatório, nas aplicações, podemos usar a ferramenta valor aleatório, que é
atribuído a todos os elementos da matriz. O sistema não gera um número novo a
cada execução. Há outros algoritmos mais elaborados, para a mescla de valores
dentro de uma matriz.
Random k = new Random ();
M [o,p] = k.Next (0,100);
*Os números após Next
indicam o intervalo em que o número aleatório deve estar. □
0 Comentários
Seu comentário será publicado em breve e sua dúvida ou sugestão vista pelo Mestre Blogueiro. Caso queira comentar usando o Facebook, basta usar a caixa logo abaixo desta. Não aceitamos comentários com links. Muito obrigado!
NÃO ESQUEÇA DE SEGUIR O BLOG DO MESTRE NAS REDES SOCIAIS (PELO MENU ≡ OU PELA BARRA LATERAL - OU INFERIOR NO MOBILE) E ACOMPANHE AS NOVIDADES!