A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estruturas de Dados Vetores.

Apresentações semelhantes


Apresentação em tema: "Estruturas de Dados Vetores."— Transcrição da apresentação:

1 Estruturas de Dados Vetores

2 Estruturas de Dados Tópicos Introdução Vetores Matrizes Registros
Registro de Conjuntos Conjuntos de Registros

3 Estruturas de Dados Tópicos Introdução Vetores Matrizes Registros
Registro de Conjuntos Conjuntos de Registros

4 Introdução Variável (Revisão do conceito)
Analogia: uma caixa, na qual você pode dar o nome que lhe achar conveniente, e guardar o conteúdo que desejar Possui um tipo (caractere, lógico, inteiro ou real) O valor dentro da “caixa” que pode ser alterado de acordo com a execução do algoritmo

5 Introdução Agora imagine como ficaria na declaração de variáveis, declarando uma a uma, as 50 variáveis para o nome, depois as variáveis para as médias de cada aluno...

6 Introdução O problema começa quando se precisa declarar várias variáveis para atender a um fim. PROBLEMA: Receber o nome e as 4 notas de 50 alunos de uma escola, e depois listar o nome de cada aluno junto com sua média.

7 Introdução Os tipos primitivos (inteiro, real, caracter e lógico) não são suficientes para representar todos os tipos de informação. Particularmente quando temos mais de uma informação relacionada. Ex: Lista dos nomes dos alunos de uma sala, endereço de alguém etc. Utilizaremos os tipos primitivos para construir outras estruturas de dados mais complexas.

8 Estruturas de Dados Tópicos Introdução Vetores Matrizes Registros
Registro de Conjuntos Conjuntos de Registros

9 Vetores Em casos como esse que é útil a utilização da estrutura de dados conhecida como vetor Um vetor é uma espécie de caixa com várias divisórias para armazenar coisas (dados) É uma variável que pode armazenar vários valores

10 Vetores Os vetores são definidos pelo tipo de dados que eles devem armazenar e a quantidade de posições Exemplo: Vetor de 8 posições para armazenar números reais Vetor de 40 posições para armazenar caracteres Os vetores são estruturas homogêneas. Ex: um vetor de inteiros só armazena dados do tipo inteiro

11 Vetores Também denominados Estruturas compostas homogêneas unidimensionais Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo

12 Vetores Declaração Exemplo:
<nome_variavel>: vetor [posInicial..posFinal] de <tipo> Exemplo: CLASSE : vetor [1..40] de real; Onde: CLASSE: Nome da variável criada 1: Limite inicial do vetor 40: Limite final do vetor real: Tipo primitivo base do vetor

13 Vetores Exemplo: Note que são apenas DOIS PONTOS! SEM ESPAÇO!
algoritmo “exemplo_vetores” var nome_alunos: vetor [1..50] de caractere media_alunos: vetor [1..50] de real Note que são apenas DOIS PONTOS! SEM ESPAÇO!

14 Vetores Preenchendo e acessando um vetor
As posições dos vetores são identificadas por índices O índice é a posição do valor no vetor Um vetor de 10 posições, por exemplo pode ser representado da seguinte forma: ÍNDICES

15 Vetores Atribuição de valor
<nome_variavel> [<posicao>] <- <valor> Exemplo algoritmo “exemplo_vetores” var nome_alunos: vetor [1..50] de caractere inicio nome_alunos[1]<-“Pedro” nome_alunos[5]<-“Ana” nome_alunos[3]<-“Joana” nome_alunos[50]<-“João” Fimalgoritmo

16 Vetores Atribuição de valor lido do teclado
leia(<nome_variavel> [<posicao>]) Exemplo algoritmo “exemplo_vetores” var media_alunos: vetor [1..50] de real inicio leia(media_alunos[1]) leia(media_alunos[4]) leia(media_alunos[3]) ... leia(media_alunos[50]) Fimalgoritmo

17 Vetores algoritmo “exemplo_vetores”
var nome_alunos: vetor [1..50] de caractere media_alunos: vetor [1..50] de real inicio nome_alunos[1]<-“Pedro” leia(nome_alunos[2]) //Digitou Maria nome_alunos[3]<-“Joana” media_alunos[1] <- 8.5 Fimalgoritmo nome_alunos Pedro 1 2 3 ... 50 Maria Joana media_alunos 1 2 3 ... 50 8.5

18 Vetores Manipulação: A : inteiro; CLASSE [ 7 ] ¬ 6,5;
leia (A); // supondo que foi informado 6 CLASSE [ A ] ¬ 9,8; CLASSE [ A-1 ] ¬ 9,1; leia ( CLASSE [ A+3 ] ); // supondo que foi informado 4,7 CLASSE 7,8 5,3 9,1 9,8 6,5 4,7

19 Vetores Preenchendo um vetor algoritmo “exemplo_vetores”
var numeros: vetor [1..5] de inteiro inicio escreva(“Digite um valor para a posição 1 do vetor: ”) leia(numeros[1]) escreva(“Digite um valor para a posição 2 do vetor: ”) leia(numeros[2]) escreva(“Digite um valor para a posição 3 do vetor: ”) leia(numeros[3]) escreva(“Digite um valor para a posição 4 do vetor: ”) leia(numeros[4]) escreva(“Digite um valor para a posição 5 do vetor: ”) leia(numeros[5]) Fimalgoritmo

20 Vetores Preenchendo um vetor Exemplo:
Para facilitar, podemos utilizar um laço de repetição! Exemplo: algoritmo “exemplo_vetores” var numeros: vetor [1..5] de inteiro i: inteiro inicio para i de 1 ate 5 faca escreval(“Digite um valor para a posição ”, i , “do vetor:”) leia(numeros[i]) fimpara Fimalgoritmo

21 Vetores Exibindo o conteúdo de um vetor: algoritmo “exemplo_vetores”
var numeros: vetor [1..5] de inteiro i: inteiro inicio para i de 1 ate 5 faca escreval(“Digite um valor para a posição ”, i , “do vetor:”) leia(numeros[i]) fimpara escreval(“O valor que está na posição 1 é: ”, numeros[1]) escreval(“O valor que está na posição 2 é: ”, numeros[2]) escreval(“O valor que está na posição 3 é: ”, numeros[3]) escreval(“O valor que está na posição 4 é: ”, numeros[4]) escreval(“O valor que está na posição 5 é: ”, numeros[5]) Fimalgoritmo

22 Vetores Exibindo o conteúdo de um vetor Exemplo:
Ou podemos utilizar um laço de repetição para facilitar a exibição dos valores de um vetor Exemplo: para i de 1 ate 5 faca escreval(“O valor que está na posição ”, i ,“ é: ”, numeros[i]) fimpara

23 Exemplo 1 Fazer um algoritmo que leia as notas de 10 alunos de uma classe e ao final informe quantos alunos estão com a nota acima da média.

24 Exemplo 1: Solução usando variáveis simples
Algoritmo 4.1 – Notas acima da média var NotaAcima : inteiro; A, B, C, D, E, F, G, H, I, J, Media : real; inicio NotaAcima ¬ 0; leia (A,B,C,D,E,F,G,H,I,J); Media <- (A + B + C + D + E + F + G + H + I + J)/10; se (A > Media) entao NotaAcima ¬ NotaAcima + 1; fimse; se (B > Media) então NotaAcima ¬ NotaAcima + 1; . . . se (J > Media) escreva (NotaAcima); fimalgoritmo

25 Exemplo 1: Solução usando vetor
Algoritmo 4.2 – Notas acima da média var Classe : vetor [1..10] de real NotaAcima, X : inteiro Soma, Media : real inicio Soma <- 0; NotaAcima <- 0; para X de 1 ate 10 passo 1 faca leia ( Classe[X] ) Soma <- Soma + Classe[X] fimpara Media <- Soma / 10 se ( Classe[X] > Media ) entao NotaAcima <- NotaAcima + 1; fimse escreva (NotaAcima) fimalgoritmo


Carregar ppt "Estruturas de Dados Vetores."

Apresentações semelhantes


Anúncios Google