Baixe o app para aproveitar ainda mais
Prévia do material em texto
ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I Parte V – Matrizes Matrizes (ou Arrays) As matrizes consistem em uma técnica de programação que permite trabalhar com o agrupamento de várias informações dentro de uma mesma variável. Este agrupamento ocorrerá obedecendo sempre ao mesmo tipo de dado, e por esta razão é chamado de estruturas de dados homogêneas ou matriz. Matrizes de uma dimensão ou vetores Este tipo de estrutura é também denominado por algumas como matrizes unidimensionais. Sua utilização mais comum está vinculada à criação de tabelas. Caracteriza-se por ser definida uma única variável dimensionada com um determinado tamanho. A dimensão de uma matriz é constituída por constantes inteiras e positivas. Os nomes dados às matrizes seguem as mesmas regras de nomes utilizados para indicar as variáveis simples. Exemplo (1) “Calcular e apresentar a média geral de uma turma de 8 alunos. A média a ser obtida deve ser a média geral das médias de cada aluno obtida durante o ano letivo”. Será necessário somar todas as médias e dividi-las por 8. A tabela a seguir, apresenta o número de alunos, suas notas bimestrais e respectivas médias anuais. Exemplo (2) Agora basta escrever um programa para efetuar o cálculo das 8 médias de cada aluno. Para representar a média do primeiro aluno pode-se utilizar a variável MD1, para o segundo MD2 e assim por diante. Então se tem: MD1=4.5;MD2=6.5;MD3=8.0;MD4=6.5; MD5=6.0;MD6=7.0;MD7=6.5;MD8=6.0. Exemplo (3) Com o conhecimento adquirido até este momento, seria então elaborado um programa que efetuaria a leitura de cada nota, a soma das mesmas e a divisão do valor da soma por 8, obtendo-se desta forma a média, conforme exemplo abaixo: Algoritmo “média_turma” Var MD1,MD2,MD3,MD4,MD5,MD6,MD7,MD8 : real Soma, media : real Inicio Soma:=0 Leia (MD1,MD2,MD3,MD4,MD5,MD6,MD7,MD8) Soma:= MD1+MD2+MD3+MD4+MD5+MD6+MD7+MD8 Media:=soma/8 Escreva (media) FimAlgoritmo Exemplo (4) Percebe-se que para receber a média foram utilizadas 8 variáveis. Com a técnica de matrizes poderia ter sido utilizada apenas uma variável com a capacidade de armazenar 8 valores. Vamos utilizar como representação de nome a forma mais comum usada pelas linguagens de programação, que é o nome da variável e em seguida, entre colchetes, a dimensão da mesma. Desta forma, teríamos uma matriz MD[1..8], onde seu nome é MD, possuindo um tamanho de 1 a 8. MD[1]=4.5; MD[2]=6.5; MD[3]=8.0; MD[4]=3.5; MD[5]=6.0; MD[6]=7.0; MD[7]=6.5; MD[8]=6.0 Exemplo (5) - Sintaxe Observe que o nome é um só, o que muda é a informação indicada dentro dos colchetes. A esta informação dá-se o nome de índice, sendo este o endereço onde o elemento está armazenado. Para definir as variáveis no português estruturado utilizaremos a seguinte sintaxe: VARIAVEL : Vetor[<dimensão>] de <tipo de dado> Desta forma o exemplo anterior seria: Var MD : Vetor[1..8] de real; Exemplo (6) – Manipulando Conteúdo A leitura e escrita da matriz são feitas passo a passo, um elemento por vez com as instruções leia e escreva, como as variáveis simples, embora deva-se observar o índice. Exemplo: Escreva MD[2] {este comando escrevera o valor 6.5} Leia MD[1] {este comando efetua a leitura de um valor para a nota do 1º aluno} Exemplo (6) – Resolvendo por Matrizes Abaixo é apresentado o algoritmo da leitura da notas dos 8 alunos, cálculo da média e a apresentação da mesma e apresentação das notas lidas. Algoritmo “média_turma” Var MD : vetor[1..8] de real Soma, media : real; I : inteiro; Inicio Soma := 0 Para i de 1 ate 8 faca Leia (MD[i]) Soma := soma+MD[i] Fimpara Media := soma/8 Escreva (media) Para i de 1 ate 8 faca Escreva (MD[i]) Fimpara FimAlgoritmo Matriz multidimensional Variáveis indexadas com duas ou mais dimensões, são referenciadas por dois ou mais índices, cada qual começando por 1. Sintaxe: <identificador> : vetor [<tamanho1>,<tamanho2>,...] de < tipo > Onde, tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do índice. Exemplo: PESSOAS: VETOR [1..2,1..3] DE CARACTERE Outras abordagens... Busca Seqüencial Busca Binária Ordenação Hashing P E R G U N T A S? E X E R C Í C I O S
Compartilhar