Buscar

Aula_4_P1

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

Continue navegando