Seguidores

terça-feira, 2 de abril de 2013

MATRIZ E VETOR

Bom galera, primeiramente muito obrigado pela visita, vamos dar continuidade no assunto de vetores e matrizes, olha se vocês ficaram assustados com o que leram no post anterior não precisa ter medo tudo é questão de treino.

O grande tesão da programação é saber utilizar todos os recursos que alguém que você nunca viu criou, todos sabem que um compilador transforma todo o seu código em algo que o computador consiga entender, então fica tranquilo, vai pegar um copo com café que o assunto é tranquilo, afinal a parte mais difícil já esta pronta vai por mim.Vamos lá já fiz muito lengalenga aqui rsrsrsrs...

Quando criamos um vetor ou matriz o compilador já diz pra nossa querida memoria, amigona já reserva ai espaço, pois hoje você vai trabalhar, sim é basicamente isso que acontece dentro do seu computador no momento que criamos um vetor, matriz ou qualquer outra coisa que esteja sendo processada no seu computador tem um espaço na memoria garantido, isso tudo acontece tão rápido essa troca de informações que acabamos nem nos dando conta do que realmente acontece.

Um vetor ou uma matriz nada mais é que uma estrutura de dados do mesmo tipo, essa estrutura possui um numero fixo de dados.

Podemos usar os seguintes dados:integer(inteiros),char(caracter), boolean, string ,registro .

Vamos agora a sintaxes dessas duas novas funções:

ARRAY e OF utilizamos essas duas palavras reservadas para definir um vetor ou uma matriz ,fica da seguinte forma: quando declararmos logo após o VAR vetor: array (1..25) of integer;

Exemplo:

Program Vetor;
var
vetor:array[1..10]of integer;
x:integer;

Begin
for x:=1to 10 do {inserindo os dados que ficarão no vetor}
begin
writeln('digite o ',x,' numero');
read(vetor[x]);
end;
clrscr; //limpa a tela
// agora vamos apresentar os dados

For x:=1 to 10 do //nesse bloco de repetiçao vemos imprimir o vetor
begin
write(' ',vetor[x],' ');
end;
end.

A matriz funciona de forma parecida porem tem dois índices ou mais, o que vai determinar isso é sua necessidade.

Usamos as mesma palavras reservadas porem na declaração só acrescentamos a virgula após a definição do primeiro indicie e definimos o tamanho: matriz: array [1..10,1..10] of integer;

Ai criamos uma coleção com dois índices nesse momento,utilizei uma matriz 3*3 significa que teremos 9 espaços nessa matriz.

Fica da seguinte forma:


Program matriz;
var
matriz:array[1..3,1..3]of integer;
y,x:integer;
Begin

for x:=1 to 3 do {inserindo os dados que ficarão da matriz}
begin //o primeiro laço for X vai cuidar de indicar qual a linha e o laço Y a coluna que deve ser preenchida.
for y:=1 to 3 do
begin
writeln('digite o [',x,',',y,']');
read(matriz[x,y]);
end;
end;
clrscr; //limpa a tela
// agora vamos apresentar os dados
For x:=1 to 3 do //aqui apresentamos da mesma forma o X controla a linha e Y a coluna
begin // OBS; no gotoxy como o primeiro valor é sempre coluna temos que indicar o Y //primeiro pois ele controla as colunas e x logo apois ,
for y:= 1to 3 do //pois se trata das linhas
begin
gotoxy(y,x) ;write(matrizr[x,y]);
end;

end;
end.

É possível criar coisas bem interessantes com essa ferramenta , proponho alguns exercícios para que fixe bem essa questão de matriz e vetor.

Exercícios:

1) Escrever um programa que leia um vetor de 5 posições de elementos inteiros e crie a partir deste um segundo vetor (cópia do primeiro), substituindo os valores zeros do primeiro vetor, sempre que aparecerem, por 1. Mostrar os dois vetores.

2) Fazer um programa que leia um código numérico inteiro e um vetor de N posições com números reais. Se o código for zero, terminar o programa. Se o código for 1, mostrar o vetor na ordem direta. Se o código for 2 mostrar o vetor na ordem inversa.

3)Escrever um programa que leia uma matriz de N elementos inteiros e encontre e mostre o menor e o maior elemento e suas posições na matriz.

4) Fazer um programa que leia um conjunto de N valores numéricos inteiros e distribua-os entre duas matrizes, separando os números positivos e negativos. Mostrar os vetores (de positivos e negativos) ao final do processamento.


A melhor forma de entender os conceitos é treinando então mãos a obra pessoal com certeza vocês vao tirar de letra esses exercícios. Qualquer duvida entrem em contato conosco através do facebook ou mandando uma mensagem aqui no blog. Forte abraço pessoal, bons programas ai pra vocês.

todos os programas são propriedades do compiler.pas,para publicação entre em contato com nossa equipe.Obrigado

Continue Lendo...