Páginas

quinta-feira, 22 de dezembro de 2011

MATRIZES DE UMA DIMENSÃO OU VETORES

Quando falamos em uma matriz dentro da programação subentende-se uma variável que irá comportar mais de um valor. Desta forma pode-se dizer que as matrizes (tabelas em memória) são tipos de dados que podem ser "construídos" à medida que se fazem necessários, pois não é sempre que os tipos básicos (real, inteiro, caracter e lógico) e/ou variáveis simples são suficientes para representar a estrutura de dados utilizada em um programa.
Algo importante que irá caracterizar as matrizes e diferí-las de outras estruturas que também agrupam mais de um valor (por exemplo registros/structs) é o fator onde, uma matriz/vetor só poderá armazenar valores de um único e determinado tipo de dado.
De forma geral toda matriz possui pelo menos uma dimensão, isto é, uma forma de divisão que determinará o caminho, endereçamento ou a organização dos dados armazenados dentro dela. 
OBS.: De forma geral (na teoria) uma matriz pode conter várias dimensões, no entanto quando falamos de interpretador/compilador o VisuAlg suporta no máximo duas dimensões enquanto que o Portugol IDE suporta as várias as quais me referi.

Quando falamos de vetor ou matriz unidimensional, nos referímos à uma única variável dimensionada com um determinado tamanho, isto é, uma variável que se divide em um único intervalo de valores (que por regra devem ser) constantes inteiros e positivos.


No desenho acima temos um vetor com nome A (que possui uma única dimensão que vai de 1 até 5) que consegue armazenar 5 valores, uma vez que equivale a 5 variáveis simples (A[1], A[2], A[3], A[4] e A[5]).

1. EXEMPLO 1

Faça um programa que leia 8 médias e no final apresente as 8 médias e a média geral que será a soma de todos os valore lidos dividida por 8.

algoritmo "MEDIA_GERAL"
// Função :
// Autor :
// Data : 27/05/2011
// Seção de Declarações
var
I:INTEIRO // declaração da variável contadora
MD: VETOR [ 1..8 ]DE REAL // declaração do vetor MD de uma dimensão que vai de 1 até 8 e é do tipo real
SOMA,MEDIA:REAL // declaração das variáveis SOMA e MEDIA que são do tipo real
inicio
SOMA <- 0 // SOMA será um acumulador e como tal recebe o elemento neutro da soma (que é o zero)
PARA I DE 1 ATE 8 FACA // Laço derepetição que irá fazer com que meu contador altere a variável vetor fazendo com que ela seja MD[1], MD[2], MD[3]... MD[8]
// Em geral para cada dimensão da matriz utiliza-se um laço obrigatóriamente
ESCREVAL ("DIGITE O VALOR DA", I, "º MÉDIA:") // Solicitação do valor da média
LEIA (MD[I]) // leitura do valor digitado
SOMA <- SOMA + (MD[ I ]) // acumulador recebendo ele mesmo mais o valor digitado
FIMPARA // limite, finalização do laço
MEDIA <- SOMA / 8 // divisão do último valor da soma acumulada pelo número de médias
ESCREVAL (" _______") // desenho de uma tabela em torno do que será exibido
ESCREVAL ("|", MD[1], "     |") // apresentação da 1ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[2],"     |")
// apresentação da 2ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[3],"     |")
// apresentação da 3ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[4],"     |")
// apresentação da 4ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[5], "     |")
// apresentação da 5ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[6], "     |")
// apresentação da 6ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[7], "     |")
// apresentação da 7ª média
ESCREVAL ("|_______|")
ESCREVAL ("|", MD[8], "     |")
// apresentação da 8ª média
ESCREVAL ("|_______|")
ESCREVAL (" ")
ESCREVAL ("A MÉDIA GERAL É", MEDIA)
// apresentação da média geral
fimalgoritmo

Um comentário:

  1. Parabéns!
    Jà faz um tempo que você criou esse blog, porém só agora, que estou na faculdade e busquei na parte de imagens do Google, o desenho do seu vetor, é que pude conhecer seu trabalho.
    Mais uma vez parabéns e obrigado.
    Me ajudou muito.

    ResponderExcluir