Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.