(Parte 1 de 2)

Algoritmos e Estruturas de Dados

Prof. Patrick Pedreira

Estruturas de Dados Estruturas de Dados

HomogêneasHomogêneas VetoresVetores

VetoresVetores

As estruturas de dados homogêneas que estudaremos são os vetores também conhecidos como arranjos. Os arranjos (vetores) são variáveis compostas que podem representar um conjunto de valores ao mesmo tempo.

Éuma forma de manipular conjuntos ou coleções de dados. Isso facilita muito a programação.

Vetores nada mais são que matrizes (uni ou multidimensionais).

Matriz (Álgebra) -> Arranjo retangular de elementos de um conjunto.

Éimportante ressaltar que vetores de qualquer dimensão são caracterizados por terem todos os seus elementos pertencentes aomesmo tipo de dado.

A Forma geral para se declarar um vetor unidimensional é: <identificador> : Vetor [<número de elementos>] de <tipo>;

VetoresVetores

Exemplo 1: exemplo: Vetor [50] de real;

VetoresVetores

Em função de um vetor se tratar de um arranjo de elementos torna-se necessária uma forma de acessar individualmente cada elemento.

A indexação possibilita tal acesso. A especificação do intervalo dos índices além de definir o número de elemento indica quais serão os valores dos índices utilizados para acessar cada elemento.

No exemplo anterior, os dados serão indexados de 1 a 50. Para acessá-los vamos escrever:

Consideraremos que os índices iniciam em 1. Mas isso pode variar em algumas linguagens de programação.

VetoresVetores

Vetores não podem ser acessados como um todo

Seus elementos precisam ser manipulados individualmente, pelo índice.

Portanto, as operações seguintes são inválidas:

exemplo: Vetor [50] de real; escreva(Exemplo); {ERRADO} leia(Exemplo); {ERRADO}

VetoresVetores

A única exceção que faremos àregra anterior seráem relação aos vetores de caracteres. Neste caso, poderemos tratar os valores individualmente, pelo índice, ou como uma variável primitiva.

Essa exceção também éimplementada em diversas linguagens de programação, visto que hámuitos casos em que precisamos lidar com textos completos e não com as letras.

Nesses casos, a manipulação dos caracteres individualmente seria um trabalho grande e desnecessário. Portanto, as operações seguintes são válidas.

VetoresVetores

Nome_Aluno: Vetor [50] de caractere; leia(Nome_Aluno); { correto -variável tratada como primitiva} escreva(Nome_Aluno); Nome_Aluno ”Caio”; Nome_Aluno[7] ’O’; { correto -variável tratada como vetor} escreva(Nome_Aluno[2]); { correto -variável tratada como vetor} ...

VetoresVetores

Exemplo (Atribuição de valores a elementos específicos):

VetoresVetores

Problema –Calcular a média das notas de 100 alunos (Sem utilizar vetores).

VetoresVetores

VetoresVetores

Problema –Calcular a média das notas de 100 alunos (utilizando vetores).

VetoresVetores

Algoritmo Media100_Versao2 Principal():neutro var média: real; Notas: Vetor[100] de real; i:inteiro;

início escreva(“Entre com a próxima nota: ”); leia(notas[i]); soma soma+notas[i]; fim média soma/100; escreva(“a média é: “, média); fim

VetoresVetores

Para melhorar a legibilidade do código, éinteressante a utilização de constantes para a definição do tamanho do vetor.

Exemplo:

A definição de tipos diferentes dos primitivos para a declaração de variáveis compostas também auxilia na melhora de legibilidade do código

A variável Notas pode ser utilizada como parâmetros de argumentos de módulos

VetoresVetores

Problema –Indicar a ocorrência e posição de um número em um vetor

VetoresVetores VetoresVetores

Teste de mesa para busca no vetor para num 8

VetoresVetores VetoresVetores Exercícios

VetoresVetores

(Parte 1 de 2)

Comentários