Baixe o app para aproveitar ainda mais
Prévia do material em texto
Competências da Aula • C5 - (N) - Identificar e aplicar estruturas homogêneas de armazenamento com uma dimensão em problemas algorítmicos. Vetores Introdução • Até agora utilizamos variáveis definidas a partir de tipos de dados básicos. Como já foi visto, uma variável só é capaz de armazenar um dado de cada vez. • No entanto existem situações, em que há necessidade de armazenar uma grande quantidade de dados na memória ao mesmo tempo, tornando inviável a criação de tantas variáveis. Vetores Introdução • Por exemplo poderíamos ter uma situação que exigisse o manuseio de 100, 500, 1000 dados, o que tornaria inviável a criação de uma quantidade tão grande de variáveis. • É evidente que precisamos de outra maneira para referenciar tais coleções de dados similares. • Para estes casos, podemos criar variáveis a partir de tipos de dados estruturados. Vetores Introdução • Um tipo estruturado é aquele formado pela junção ou combinação de tipos básicos, definindo apenas uma variável que o represente. • Para tanto, foi criado um novo conceito para alocação de memória sendo, desta forma, também criado uma nova maneira de definir variáveis, a qual foi denominada de variável indexada. Vetores Introdução • Uma variável indexada corresponde a uma sequencia de posições de memória, a qual daremos um único nome, sendo que cada uma destas pode ser acessada através do que conhecemos por índice. • O índice corresponde normalmente a um valor numérico. Vetores Introdução • Cada uma das posições de memória de uma variável indexada pode receber valores no decorrer do algoritmo como se fosse uma variável comum, a única diferença reside na sintaxe de utilização desta variável. Vetores Unidimensional • Um vetor (também chamado de array) é uma estrutura de dados composta por uma quantidade determinada de elementos de um mesmo tipo primitivo. • Por ter como característica armazenar dados que seguem um mesmo tipo básico, dizemos que os vetores são estruturas de dados homogêneas. Vetores Unidimensional • Quando estudamos o conceito de variável, dissemos que ela funciona como uma caixa na memória do computador, capaz de armazenar um único dado. • Por analogia, podemos imaginar um vetor como um conjunto de variáveis agrupadas sob um mesmo nome, todas de um mesmo tipo. Vetores Unidimensional • O vetor passa a ser um conjunto de caixinhas, contendo dados de mesma natureza e que estejam agrupados OU Vetor Unidimensional • Abaixo segue a forma de declaração de um vetor. • Os colchetes indicam o intervalo que será utilizado para os índices de cada posição do vetor. • Sintaxe: <var>: vetor[inicio..fim] de <tipo>; Vetor Unidimensional • Exemplo: Declarando um vetor para armazenar 500 números inteiros numeros: vetor[1..500] de inteiro; • A variável é uma só, no nosso caso declarada como numeros, mas é capaz de armazenar 500 valores inteiros diferentes. Vetor Unidimensional • Cada posição de um vetor é referenciada pela seguinte sintaxe: <nome_vetor>[<posição>] Exemplo Preco[5] Nome do Posição em que vetor Armazenado Vetor Unidimensional • Declaração: <var>: vetor[<ini>..<fim>] de <tipo>; Ex: armazenar os 100 preços dos produtos de uma loja: Preco : vetor[1..100] de real; Posição para referencia Preco[59]; • Acesso a posição (gravação/leitura) Preco[1] 20.0; Preco[5] 35.39; temp Preco[4]; Preco[7] temp; * Não sendo feito atribuição às outras posições, elas permanecem zeradas. Vetor Unidimensional 2 6 8 3 10 9 1 21 33 14 1 2 3 4 5 6 7 8 9 10 As varáveis X=2 e Y=4, escreva o valor Correspondente à solicitação. a)V[X + 1] b)V[X + 2] e)V[X * 1] i)V[X + y] n)V[V[1]* V[4]] m)V[V[V[7]]] h)V[V[X+Y]] Vetor Unidimensional Algoritmo exemplo; variaveis numeros: vetor[1..500] de inteiro; Inicio numeros[11] 4; numeros[10] 120; leia(numeros[10]); escreva(numeros[10] * numeros[11]); fim. • Exemplo: Declarando um vetor para armazenar 500 números inteiros Exercício • Uma prova de algoritmos foi feita por um grupo de 20 alunos. Faça um algoritmo para ler as notas obtidas pelos alunos, armazene as notas em um vetor e calcular a média da turma e após armazenar todas as notas apresente na tela a nota de todos os alunos. algoritmo Média; Var real: notas[20]; media_T, Soma_T: real; i : inteiro; inicio para(i=0; i<20; i++) faca escreval(“favor informar a nota do aluno”, i,”:”); leia(notas[i]); Soma_T soma_T + notas[i]; fimpara para(i=0; i<20; i++) faca escreval(“A nota do aluno”, i “é”, notas[i]); fimpara media_T Soma_T/20; escreval (“A média da turma é:” media_T); Fim. Exercício • Uma prova de algoritmos foi feita por um grupo de 20 alunos. Faça um algoritmo para ler as notas obtidas pelos alunos, e depois exibir um relatório das notas iguais ou superiores a 7,5. No final escreva a quantidade de notas iguais ou superiores a 7,5. algoritmo notas_boas; variaveis real: notas[20] i, cont : inteiro; \\ i é meu controle do número de alunos \\ cont é minha variável que armazena o total de alunos com nota maior que 7,5 inicio para(i=0; i<20; i++) faca escreval(“Favor informar a nota do aluno”, i,”:”); leia(notas[i]); fimpara cont 0;//zero o contador antes de começar escreva (“VERIFICAÇAO DAS NOTAS ACIMA DA MÉDIA”); para(i=0; i<20; i++) faca Se notas[i] >= 7.5 entao escreval(notas[i]); cont cont + 1; fimse; fimpara; escreva (“A quantidade de Notas Superiores:”,cont); Fim. Exercícios • Faça um algoritmo para gerar um vetor de 30 posições, onde cada elemento corresponde ao quadrado de sua posição. Escreva depois o vetor resultante. algoritmo carrega_vetor variaveis numeros : vetor[1..30] de inteiro; i : inteiro; inicio para(i=1; i<=30; i++) faca numeros[i] i * i; fimpara para(i=1; i<=30; i++) faca escreval (numeros[i]); fimpara fim. Solução Exercício • Em um concurso público, um candidato respondeu a uma avaliação com 80 questão de múltipla escolha, onde cada questão tinha respostas de A até D. Faça um algoritmo para ler o gabarito da prova e as respostas do aluno, informando quantas questões ele acertou. algoritmo concurso; variaveis caracter: gabarito[80], prova[80]; inteiro: acertos, i inicio acertos 0; para(i=0; i<80; i++) faca leia(gabarito[i]); fimpara para(i=0; i<80; i++) faca leia(prova[i]); fimpara para(i=0; i<80; i++) faca se (prova[i] == gabarito[i]) entao acertos acertos + 1; fim-se; fimpara escreva(“Você acertou”, acertos, “questões”); fim. Exercício • Faça um programa para ler uma sequência de 40 notas e mostrar quais as notas são maiores que a média (a média é referente a média das 40 notas lidas) . algoritmo nota_maior_que_media; variaveis notas : vetor[1..40] de real; i: inteiro; soma, media : real; inicio soma 0; para(i=1; i<=40; i++) faca leia(notas[i]); soma soma + notas[i]; fimpara media soma/40; escreva(“As notas acima da média são:”); para i de 1 ate 40 faca se notas[i] > media entao escreva(notas[i]); fim-se; fimpara fim. Exercício 1) Faça um algoritmo que recebe 5 valores em R$ informados pelo usuário e armazene-os em um vetor. Depois, leia esse vetor mostrando o valor armazenado multiplicado por 2 (dois). 2) Faça um algoritmo que cadastra os 50 alunos (código de matrícula) dos alunos de um curso em um vetor. Posteriormente, dado uma matrícula informada pelo cliente, verifique se o aluno está matriculado no curso.
Compartilhar