Estruturas de Dados Vetores.

Slides:



Advertisements
Apresentações semelhantes
Estruturas de Dados Algoritmos – Aula 04.
Advertisements

Estruturas de Dados Algoritmos – Aula 04.
Lógica de Programação – Forbellone / Eberspacher Lógica de Programação Capítulo 4 Estruturas de Dados.
V ETORES E M ATRIZES Disciplina: Informática Aplicada Professor: Modesto Chaves.
Vetores de uma dimensão Nota Índice Posição identificando cada elemento Nome Comum para todos os elementos Valor Semelhante a uma variável.
Pseudocódigo É a técnica na construção de algoritmos mais próxima de uma linguagem de programação. Estrutura básica: Algoritmo [Variáveis:, : ] Início.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Estruturas de Repetição
Introdução à Computação para Engenharia MAC2166
Tópicos Preliminares Algorítmos I.
Algoritmo e Lógica Programação Vetores e Matrizes
Estruturas de Dados Tópicos Vetores Matrizes Registros
Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos
Lógica de Programação I
Márcio Soussa Estrutura de Dados Márcio Soussa
Programação em C Aula 8.
IP – Listas Prof. Eduardo Falcão.
Fundamentos de Programação 1
Tópicos Preliminares (Tipos, Constante e Variável)
Profa. Mercedes Gonzales Márquez
Introdução ao VisuALG Prof. Andrew Rodrigues
Algoritmos e Estruturas de Dados I
Estruturas de Repetição
Algoritmos e Estruturas de Dados I
Estruturas de Repetição
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco Estrutura de um Programa Usando o VisuAlg
Prof. Wellington Franco
Prof. Wellington Franco
Introdução à Programação BCC 201 Aula
Algoritmos e Estruturas de Dados I
FUNDAMENTO DE PROGRAMAÇÃO
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Estrutura de decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma condição. Uma.
Prof. Wellington Franco
Algoritmos e Fluxogramas
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO
Estruturas de Repetição
Agenda Tipos de Informação Tipos de Dados Variáveis Constantes
Algoritmos e Programação MC102
Algoritmos e Programação I
Variáveis Compostas Homogêneas
Aula 02 – Produtos Notáveis
Algoritmos Prof.: Carlos Alberto _1:
Movimento Retilíneo Uniforme Movimento Retilíneo Variado Vetores
Algoritmo e Programação
LÓGICA DE PROGRAMAÇÃO Estruturas de Decisão
Vetores: Exercícios Resolvidos
Passo a passo – Aluno Tarefas Iniciais.
Linguagem PASCAL Tipos Estruturados
Algorítmos e Técnicas de Programação
EDA - Prof. Paulemir Campos
DHD – Desenvolvimento em Hardware
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmos Prof.: Carlos Alberto
Fundamentos de Programação 1
Computação Eletrônica Vetores e Matrizes
Algoritmos Prof.: Carlos Alberto
Prof: Luciano Barbosa (Slides adaptados do Prof. Hansenclever Bassani)
ALGORITMOS.
Passo a passo – Aluno Tarefas Iniciais.
Estruturas definidas pelo programador
Matrizes.
Vetores.
Introdução a progrmação Comandos condicionais: if e switch
Ponteiros.
Constantes, Variáveis e Memória
RESULUÇÃO DOS EXERCÍCIOS E
Transcrição da apresentação:

Estruturas de Dados Vetores

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

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

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

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...

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.

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.

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

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

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

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

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

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!

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

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

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

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

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 1 2 3 4 5 6 7 8 9 38 39 40

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

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

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

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

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.

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

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