Buscar

Estrutura de Dados Homogêneas do tipo vetor (Fundamentos,

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estrutura de Dados Homogêneas do tipo 
vetor (Fundamentos, definição, 
inicialização , atribuição, escrita)
APRESENTAÇÃO
Os dados existentes podem possuir natureza distinta. Por exemplo, eles podem ser números, 
letras, frases, imagens e até dados complexos, como registros e dicionário de dados, dependendo 
da linguagem de programação. Uma estrutura de dados homogênea utiliza somente um tipo de 
dados. Variáveis compostas por vários dados homogêneos são armazenadas em posições de 
memória, identificadas pelo mesmo nome e individualizadas por meio de índices, que possuem 
conteúdo do mesmo tipo. Para armazenar uma lista de valores do mesmo tipo em uma única 
variável utilizamos os vetores. Os vetores são estruturas de dados unidimensionais ou lineares 
que necessitam somente de um índice para que seus elementos sejam endereçados. 
Nesta Unidade de Aprendizagem, você irá trabalhar com conjuntos de dados homogêneos, ou 
seja, variáveis que representam um conjunto de informações de mesmo tipo: os vetores. 
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Declarar estruturas de dados homogêneas de uma dimensão.•
Diferenciar variáveis simples de variáveis que representam conjuntos de dados.•
Construir algoritmos que utilizem estruturas de dados homogêneas de uma dimensão.•
DESAFIO
Uma companhia aérea gostaria de organizar as informações de seus voos, e você foi contratado 
para construir um algoritmo que receba um conjunto de códigos de voos e duração (tempo) de 
cada um. A companhia aérea possui 30 voos. 
Você deverá construir um algoritmo que manipula (lê e escreve) um conjunto de vetores; em 
cada posição dos vetores, teremos as informações relativas aos voos:
- número do voo
- tempo de duração do voo (em minutos)
 
Bom trabalho!
INFOGRÁFICO
Os vetores permitem que, através de uma única variável, sejam manipulados conjuntos de 
dados.
CONTEÚDO DO LIVRO
As estruturas de dados homogêneas (vetores, arranjos) permitem utilizar variáveis que 
representam um conjunto de dados. Conheça um pouco mais sobre essas estruturas lendo as 
páginas 163 a 168 do seguinte livro: Algoritmos e programação com exemplos em Pascal e C .
Boa leitura!
s
é
r
ie
 liv
ro
s
 d
id
á
tic
o
s
 in
fo
r
m
á
tic
a
 u
fr
g
s
23
s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s
volume 3 Linguagens Formais e Autômatos, 6.ed., 
de Paulo Blauth Menezes
volume 4 Projeto de Banco de Dados, 6.ed., 
de Carlos Alberto Heuser 
volume 5 Teoria da Computação: Máquinas Universais 
e Computabilidade, 3.ed, de Tiarajú Asmuz Diverio 
e Paulo Blauth Menezes
volume 6 Arquitetura de Computadores Pessoais, 
2.ed., de Raul Fernando Weber
volume 7 Concepção de Circuitos Integrados, 2.ed., 
de Ricardo Augusto da Luz Reis e cols.
volume 8 Fundamentos de Arquitetura de Computadores, 
4.ed., de Raul Fernando Weber
volume 10 Tabelas: Organização e Pesquisa, 
de Clesio Saraiva dos Santos e Paulo Alberto de Azeredo 
volume 11 Sistemas Operacionais, 4.ed., 
de Rômulo Silva de Oliveira, Alexandre da Silva Carissimi 
e Simão Sirineo Toscani 
volume 12 Teoria das Categorias para Ciência 
da Computação, 2.ed., de Paulo Blauth Menezes 
e Edward Hermann Haeusler
volume 13 Complexidade de Algoritmos, 3.ed., 
de Laira Vieira Toscani e Paulo A. S. Veloso 
volume 16 Matemática Discreta para Computação 
e Informática, 4.ed., de Paulo Blauth Menezes
volume 18 Estruturas de Dados, de Nina Edelweiss 
e Renata Galante
volume 19 Aprendendo Matemática Discreta com 
Exercícios, de Paulo Blauth Menezes, Laira Vieira Toscani 
e Javier García López
volume 20 Redes de Computadores, 
de Alexandre da Silva Carissimi, Juergen Rochol 
e Lisandro Zambenedetti Granville
volume 21 Introdução à Abstração de Dados, 
de Daltro José Nunes
volume 22 Comunicação de Dados, de Juergen Rochol
COMPUTAÇÃO
www.grupoa.com.br
A Bookman é um dos selos editoriais do Grupo A Educação, empresa que 
oferece soluções em conteúdo, tecnologia e serviços para a educação 
acadêmica e profissional.
algoritmos
e programação 
com exemplos em Pascal e C
nina edelweiss
maria aparecida castro livi
Material didático para professores
Visite www.grupoa.com.br
nina edelweiss
maria aparecida castro livi
 l i v r o s d i s p o n í v e i s
algoritm
os e program
ação
com
 exem
plos em
 P
ascal e C
23
edelw
eiss
livi
23
algoritmos
e programação 
com exemplos em Pascal e C
Aprender programação não é uma tarefa simples. 
Requer um entendimento perfeito do problema, a análise 
de como solucioná-lo e a escolha da forma de implementação 
da solução. algoritmos e programação apresenta 
o processo de construção de algoritmos e de programas, 
enfatizando as etapas de abstração, organização, análise 
e crítica na busca de soluções eficientes. Os elementos 
de um programa são introduzidos pouco a pouco ao longo 
do texto, inicialmente apresentados em pseudolinguagem e, 
em seguida, exemplificados nas linguagens de programação 
Pascal e C. Este é um livro-texto para disciplinas iniciais 
de programação de duração de um semestre. Pode ser 
utilizado sobretudo em cursos de bacharelado e licenciatura 
em ciência da computação, análise de sistemas e engenharia 
da computação. 
E22a Edelweiss, Nina.
 Algoritmos e programação com exemplos em Pascal e C 
 [recurso eletrônico] / Nina Edelweiss, Maria Aparecida Castro 
 Livi. – Dados eletrônicos. – Porto Alegre : Bookman, 2014.
 Editado também como livro impresso em 2014.
 ISBN 978-85-8260-190-7
 1. Informática. 2. Algoritmos – Programação. I. Livi, 
 Maria Aparecida Castro. II. Título. 
CDU 004.421
 as autoras
Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni-
versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge-
nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora 
do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três 
livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais 
e internacionais. Participou de diversos projetos de pesquisa financiados por agências de 
fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e 
desenvolvimento de software.
Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da 
Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro-
fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na 
carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para 
alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de 
interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial 
quanto a distância.
Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052
Edelweiss_Iniciais_eletronica.indd iiEdelweiss_Iniciais_eletronica.indd ii 14/05/14 16:5114/05/14 16:51
■ ■ Este capítulo introduz um tipo 
de variável estruturada 
denominado arranjo, que 
agrupa dados do mesmo tipo. 
Analisa os arranjos 
de uma dimensão, ou seja, 
unidimensionais, 
também denominados vetores. 
Também discute como vetores 
devem ser declarados e manipulados, 
e apresenta alguns 
exemplos de algoritmos de 
classificação e de pesquisa de dados 
armazenados em 
vetores.
variáveis estruturadas:
capítulo 6
arranjos unidimensionais
Edelweiss_06.indd 163Edelweiss_06.indd 163 12/03/14 09:0212/03/14 09:02
164 Algoritmos e Programação com Exemplos em Pascal e C
Com as estruturas básicas de controle de fluxo já vistas, sequência, seleção e iteração, é pos-
sível resolver praticamente qualquer problema de forma algorítmica. Entretanto, os recursos 
de armazenamento até agora utilizados não são adequados para soluções que envolvam 
grandes volumes de dados.
Por exemplo, se um professor tem 30alunos em uma turma e deseja calcular a média arit-
mética dessa turma, quantas variáveis ele necessita para ler as médias dos 30 alunos? Pode 
usar 30, mas uma só é suficiente. Isso porque, nesse problema, as médias dos alunos, após 
serem lidas e acumuladas em uma variável, não precisam mais ser guardadas. Uma única 
variável pode ser reaproveitada para ler todas as 30 médias. A cada nova média, ao ser uti-
lizada a mesma variável para nova leitura, a média anterior é perdida, ou seja, “jogada no 
lixo”, sem que isso afete o resultado pretendido, pois o valor anterior já foi acumulado para 
calcular a média.
Mas, se o nosso professor desejar, além de calcular e apresentar a média da turma, também 
listar as médias dos alunos que forem iguais ou superiores à média da turma, quantas variá-
veis ele precisará para armazenar os 30 valores? Nesse caso não há escolha, ele precisará de 
30 variáveis. Se o professor quiser fazer o mesmo para sua turma em EAD (ensino a distância), 
com 150 alunos, precisará de 150 variáveis. Detalhe importante: cada variável deverá ter um 
nome diferente! Surge aí um grande problema: quanto maior o número de variáveis que 
um problema exige, maior é o número de nomes diferentes necessários. É claro que sempre 
dá para usar nomes de variáveis como val01, val02, val03, etc. Mas, além de trabalhosas, 
as soluções que seguem por esse caminho têm grande chance de serem indutoras de erros/
enganos devido ao número elevado de nomes semelhantes. Se pensarmos que há problemas 
em que o número de valores diferentes que devem permanecer armazenados por períodos 
relativamente longos são na ordem de centenas e até mesmo de milhares, o uso de variáveis 
simples para armazenar grandes volumes de dados claramente não parece ser a melhor opção 
de armazenamento.
Este capítulo discute um tipo de variável estruturada denominado arranjo, que agrupa dados 
do mesmo tipo e possibilita trabalhar com grande volume de dados de forma eficiente. Ar-
ranjos de uma dimensão (ou seja, unidimensionais) são apresentados e analisados aqui. São 
vistos também alguns exemplos de algoritmos de classificação e de pesquisa para arranjos 
unidimensionais. Arranjos de mais dimensões serão vistos no Capítulo 7.
6.1 arranjos
Um arranjo é uma variável estruturada, formada pelo agrupamento de variáveis de mesmo 
tipo (inteiro, real, etc.). As variáveis que integram um arranjo compartilham um único nome 
e são identificadas individualmente por um índice, que é o valor que indica sua posição no 
agrupamento. Os índices dos arranjos geralmente são de tipos ordinais, como inteiro e ca-
ractere, e podem ser tanto variáveis como constantes. Não existe uma vinculação obrigatória 
entre um arranjo e as variáveis ou constantes usadas para indexá-lo. Dessa forma, consideran-
do um certo código, um arranjo pode ser indexado em momentos diferentes por diferentes 
Edelweiss_06.indd 164Edelweiss_06.indd 164 12/03/14 09:0212/03/14 09:02
Capítulo 6 Variáveis Estruturadas: Arranjos Unidimensionais 165
variáveis ou constantes, que podem igualmente ser usadas em outros momentos para a inde-
xação de outros arranjos.
A qualquer momento pode-se acessar um determinado elemento de um arranjo, sem neces-
sidade de acessar antes os elementos que o precedem. O índice utilizado define o elemento 
sendo acessado. Um elemento de um arranjo é equivalente a uma variável simples. Assim, so-
bre qualquer elemento de um arranjo podem ser efetuadas todas as operações até aqui vistas 
para variáveis simples – preencher o elemento por leitura ou por atribuição, utilizar seu valor 
em expressões aritméticas, assim como consultar seu valor para operações, testes ou saídas.
A ideia base dos arranjos é por vezes utilizada em situações do mundo real como, por exem-
plo, no caso do professor que não sabe o nome de seus alunos no início do ano letivo e então 
entrega a eles, ordenadamente, cartões numerados de 1 a 30, do aluno sentado na primeira 
fileira até o aluno sentado na última fileira. Concluída a entrega dos cartões, passa a referir-
-se aos alunos usando o nome genérico aluno, seguido do número que consta no cartão que 
o aluno recebeu, que corresponde à sua posição no conjunto dos alunos da sala: aluno 10, 
aluno 29, etc. O conjunto de alunos da sala constitui “o arranjo” aluno, em que cada aluno 
é indexado por sua posição (índice) na sala.
Arranjos podem ser unidimensionais (de uma só dimensão, quando precisam de um só índice 
para identificar seus elementos) ou multidimensionais (de duas ou mais dimensões). Os arran-
jos de uma só dimensão também são chamados de vetores, e os de duas ou mais dimen-
sões, de matrizes. Este capítulo discutirá os arranjos unidimensionais, e o capítulo seguinte, 
os arranjos multidimensionais.
6.2 vetores
Um vetor é um arranjo de uma só dimensão que, portanto, necessita um só índice para 
acessar seus elementos.
Características de um vetor:
 ■ nome, comum a todos os seus elementos;
 ■ índices que identificam, de modo único, a posição dos elementos dentro do vetor;
 ■ tipo dos elementos (inteiros, reais, etc.), comum a todos os elementos do vetor;
 ■ conteúdo de cada elemento do vetor.
Na Figura 6.1 está representado graficamente um vetor de 10 elementos chamado de nota, 
com índices variando de 1 a 10, sendo o conteúdo do sétimo elemento igual a 8,5.
6.2.1 declaração de um vetor
Em pseudolinguagem, um arranjo é declarado com o seguinte tipo:
arranjo [<índice menor>..<índice maior>] de <tipo do vetor>
Edelweiss_06.indd 165Edelweiss_06.indd 165 12/03/14 09:0212/03/14 09:02
166 Algoritmos e Programação com Exemplos em Pascal e C
onde índice menor e índice maior definem os valores limites do intervalo de índices váli-
dos para acessar o vetor, bem como o tipo de índice que deve ser usado, e tipo do vetor 
é o tipo dos dados que podem ser armazenados no vetor. Observar que o nome da variável 
vetor definida com esse tipo será comum a todos os seus elementos.
A declaração a seguir corresponde ao vetor da Figura 6.1, de nome nota, com 10 elementos 
reais acessados através dos índices de 1 a 10:
Variável: nota (arranjo [1..10] de real)
6.2.2 acesso a um elemento de um vetor
O acesso a um elemento de um vetor é feito indicando o nome do vetor seguido do ín-
dice do elemento considerado, colocado entre colchetes. Na pseudolinguagem utilizada, os 
índices válidos para acessar um vetor devem estar compreendidos entre os valores dos índices 
definidos na sua declaração, incluindo os extremos. Assim, a referência ao sétimo elemento 
do vetor nota é nota[7].
Somente valores de índice válidos devem ser utilizados para acessar um vetor. Índices fora de 
intervalo provocam tentativas de acesso a áreas não previstas da memória, com resultados 
imprevisíveis e muitas vezes com reflexos aleatórios sobre o comportamento do algoritmo, 
gerando erros difíceis de localizar e corrigir. No caso do vetor nota, os índices válidos são os 
valores de 1 a 10.
Para identificar o índice de um elemento de um vetor podem ser utilizadas:
 ■ uma constante, indicando diretamente o valor do índice. Assim, nota[7] referencia o 
sétimo elemento do vetor nota;
 ■ uma variável, sendo que o valor contido nessa variável corresponde ao índice. Por exem-
plo, se, no momento do acesso, o valor da variável inteira ind for 3, então nota[ind] vai 
acessar o terceiro elemento do vetor nota;
1 2 3 4 5 6 7 8 9
nota
Índices
Nome
8,5
10
Valor
figura 6.1 Características de um vetor.
Edelweiss_06.indd 166Edelweiss_06.indd 166 12/03/14 09:0212/03/14 09:02
Capítulo 6 Variáveis Estruturadas: Arranjos Unidimensionais 167
 ■ uma expressão que será avaliada, sendo seu resultado utilizado como índice. Por exem-
plo, se o valor da variável inteira i for 4, então nota[i+1] se refere ao quinto elemento 
do vetor nota.
Variáveis diferentes podem ser utilizadas como índice para acessar o mesmo vetor. No exem-
plo a seguir, o vetor valor é preenchido por leitura com o auxílio da variável i (primeirocomando para/faça)e, em seguida, seu conteúdo é exibido com o auxílio da variável k (se-
gundo comando para/faça). Observar o uso da constante MAX, tanto para declarar o vetor 
quanto para acessá-lo.
Constante: MAX = 100
Variáveis:
 valor (arranjo [1..MAX] de inteiro)
 i, k (inteiro)
...
para i de 1 incr 1 até MAX faça
 ler (valor[i])
para k de 1 incr 1 até MAX faça
 escrever('Valor: ', valor[k])
A mesma variável pode ser utilizada, no mesmo momento ou em momentos diferentes, para 
acessar vetores diferentes. Por exemplo, supondo a declaração de dois vetores utilizados em 
um programa para corrigir uma prova, um contendo o gabarito das questões e o outro, as 
respostas de um aluno (Figura 6.2):
Constante: NUMQUEST = 30
Variáveis:
 gabarito, respostas (arranjo [1..NUMQUEST] de caractere)
1 2 3 4 5 6 7
gabarito
a e b d c a a c
... 30
1 2 3 4 5 6 7
respostas 
a e c a c d a c
... 30
resp
o
sta in
co
rreta
resp
o
sta in
co
rreta
resp
o
sta in
co
rreta
figura 6.2 Vetores gabarito e respostas (com respostas de um aluno).
Edelweiss_06.indd 167Edelweiss_06.indd 167 12/03/14 09:0212/03/14 09:02
168 Algoritmos e Programação com Exemplos em Pascal e C
O vetor respostas é reaproveitado a cada novo aluno processado. A correção da prova é 
feita comparando cada uma das respostas de um aluno com o elemento correspondente no 
vetor gabarito. O comando a seguir mostra a exibição dos valores desses dois vetores, o do 
gabarito e aquele com os resultados de um aluno, da primeira questão até a última, o que é 
feito utilizando o mesmo índice para acessar os dois vetores:
para k de 1 incr 1 até NUMQUEST faça
 escrever(gabarito[k], respostas[k])
6.2.3 inicialização de vetores
Não é necessário inicializar um vetor quando ele for totalmente preenchido por leitura, uma 
vez que todos os valores anteriormente armazenados nas posições de memória do vetor são 
descartados quando novos valores são colocados nelas.
Se um vetor for criado apenas parcialmente, restando posições não ocupadas no seu início, 
meio ou fim, ou se for utilizado em totalizações, devem ser tomados cuidados para garantir 
que os valores iniciais de todas as suas posições sejam os desejados. Isso pode ser feito ou 
inicializando o vetor na sua totalidade antes de sua utilização, ou inicializando cada posição 
do arranjo imediatamente antes de seu uso.
O trecho a seguir inicializa todos os elementos do vetor nota, de 10 elementos reais, com 
zeros:
para i de 1 incr 1 até 10 faça
 nota[i] ← 0
No caso de vetores preenchidos progressivamente, de forma contínua, visto que o número 
de posições ocupadas é sempre conhecido, é desnecessário inicializá-los antes do uso, desde 
que sempre sejam acessadas apenas as posições efetivamente ocupadas (ver Exercícios 6.2 e 
6.3, a seguir).
6.3 exemplos de uso de vetores
6.3.1 operações sobre um só vetor
Os trechos de código a seguir executam algumas operações sobre um vetor inteiro de 5 ele-
mentos chamado de valor:
Constante: MAX = 5
Variável: valor (arranjo [1..MAX] de inteiro)
Edelweiss_06.indd 168Edelweiss_06.indd 168 12/03/14 09:0212/03/14 09:02
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.
DICA DO PROFESSOR
Assista ao vídeo para compreender melhor o que são os vetores, sua declaração e manipulação 
básica.
Conteúdo interativo disponível na plataforma de ensino!
 
EXERCÍCIOS
1) Em relação às estruturas de dados homogêneas, é INCORRETO afirmar que: 
A) 
Vetores são estruturas de dados homogêneas, também denominadas arranjos ou array (em 
inglês).
B) 
Vetores somente são úteis para pequenos conjuntos de dados (menores que 10 elementos), 
pois, para grandes conjuntos, o ideal é utilizar diversas variáveis simples (individuais).
C) 
Os índices dos arranjos geralmente são de tipos ordinais.
D) 
As variáveis que integram um vetor/arranjo compartilham um único nome e são 
identificadas individualmente por um índice.
E) 
Um elemento de um vetor/arranjo é equivalente a uma variável simples.
2) Um vetor é um arranjo de uma só dimensão que, portanto, necessita de apenas um 
índice para acessar seus elementos. Selecione a alternativa a seguir que NÃO 
apresenta uma característica de um vetor. 
A) 
Nome, comum a todos os seus elementos.
B) 
Índices que identificam, de modo único, a posição dos elementos dentro do vetor.
C) 
Tipo dos elementos (inteiros, reais, etc.), comum a todos os elementos do vetor.
Vetores representam conjuntos de dados e, portanto, são úteis para grandes conjuntos de dados. A utilização de variáveis individuais é indicada somente quando são utilizados pequenos conjuntos de dados.
Passagem de parâmetro simplificada, pois apenas ao referenciar o nome do vetor, todos os seus elementos serão passados juntos.
D) 
Acesso ao conteúdo de cada elemento do vetor.
E) 
Passagem de parâmetro complexa, pois exige a enumeração de cada elemento do vetor.
3) Considere o seguinte algoritmo em pseudocódigo: 
 
algoritmo "vetores" 
var 
valores: vetor[1..5] de real 
indice: inteiro 
inicio 
para indice de 1 ate 5 passo 1 faca 
escreva("Digite valor: ") 
leia(valores[indice]) 
fimpara 
fimalgoritmo 
 
Analise as alternativas a seguir e selecione a verdadeira. 
A) 
A variável "indice" pode ser do tipo real.
B) 
A declaração "valores: vetor[1..5] de real" cria um vetor com 5 posições e já inicializa o 
vetor com o seguinte conjunto de valores: { 1,2,3,4,5 }.
C) 
A declaração "valores: vetor[1..5] de real" cria, inicialmente, um vetor com 5 posições, 
indexadas pelos valores de 1 até 5, mas novos elementos são automaticamente 
adicionados, indexando novas posições, como 6, 7, 8, etc.
D) 
Pode-se indexar o vetor "valores" acessando sua posição inicial pelo índice 0 (zero).
E) 
Para acessar um elemento de um vetor, deve-se acessar o índice da posição desejada; para 
o índice, pode-se utilizar uma variável ou uma constante inteira.
Considere o seguinte algoritmo em pseudocódigo (os dois dígitos à esquerda 
identificam o número da linha do algoritmo): 
 
01- algoritmo "vetores" 
4) 
O acesso a cada elemento do vetor é feito por sua indexação; para isso, é possível utilizar uma variável ou constante com o valor da posição que se deseja acessar.
02- var 
03- valores: vetor[1..5] de real 
04- indice: inteiro 
05- inicio 
06- para indice de 1 ate 5 passo 1 faca 
07- escreva("Digite valor: ") 
08- leia(valores[indice]) 
09- fimpara 
10- para indice de 1 ate 5 passo 1 faca 
11- escreval("Valor[",indice,"]: ",valores[indice]) 
12- fimpara 
13- fimalgoritmo 
 
Analise as alternativas a seguir e selecione a INCORRETA. 
A) 
Entre as linhas 10 e 12 realiza-se a repetição que permite escrever o valor de cada um dos 
elementos armazenados no vetor.
B) 
Entre as linhas 06 e 09 realiza-se a repetição que faz a leitura de cada um dos elementos do 
vetor.
C) 
Se forem trocados de lugar os blocos de instruções das linhas 06-09 com 10-12, o 
programa será executado da mesma forma e funcionará corretamente.
D) 
Se a declaração da linha 03 for alterada, mudando o limite superior do arranjo, também 
devem ser alterados os limites superiores dos comandos "para...faça" nas linhas 06 e 10.
O bloco de comandos das linhas 06-09 poderia ser substituído pela seguinte sequência de 
comandos: 
 
escreva("Digite valor: ") 
leia(valores[1]) 
escreva("Digite valor: ") 
leia(valores[2]) 
escreva("Digite valor: ") 
leia(valores[3]) 
escreva("Digite valor: ") 
leia(valores[4]) 
E) 
Os dados serão mostrados e o vetor será lido. Normalmente, o processo de trabalhar com um vetor inclui a leitura ou atribuição de informações para os elementos do vetor e somente depois é possível mostrar o seu conteúdo.
escreva("Digite valor: ") 
leia(valores[5]) 
5) Considere o seguinte algoritmo em pseudocódigo: 
 
algoritmo "vetores" 
var 
v1: vetor[1..5] de real 
v2: vetor[1..4] de realv3: vetor[1..9] de real 
indice: inteiro 
inicio 
para indice de 1 ate 5 passo 1 faca 
escreva("Digite valor: ") 
leia(v1[indice]) 
fimpara 
para indice de 1 ate 4 passo 1 faca 
escreva("Digite valor: ") 
leia(v2[indice]) 
fimpara 
para indice de 1 ate 9 passo 1 faca 
se (indice <= 5) entao 
v3[indice] <- v1[indice] 
senao 
v3[indice] <- v2[indice-5] 
fimse 
fimpara 
para indice de 1 ate 9 passo 1 faca 
escreval("Valor[",indice,"]: ",v3[indice]) 
fimpara 
fimalgoritmo 
 
 
Analise as afirmativas a seguir e selecione a correta. 
A) 
Ao final da execução do algoritmo, os elementos do vetor v3 terão o produto dos 
elementos dos vetores v1 e v2.
B) 
O vetor v3 não foi lido, pois é muito grande.
C) 
O vetor v3 é o resultado da concatenação dos vetores v1 e v2.
D) 
As declarações dos vetores v1, v2 e v3 está incorreta e todos os vetores deveriam ter o 
mesmo tamanho.
E) 
O algoritmo precisa de um índice para acesso a cada um dos vetores, portanto, não pode 
utilizar uma única variável com esse fim.
NA PRÁTICA
Vetores são estruturas muito úteis, pois permitem a manipulação simples de um conjunto 
de dados.
Considere que uma professora tem 20 alunos. Para cada um, ela aplica três avaliações e 
calcula a média de cada aluno pela seguinte fórmula:
Média = (N1 * 2 + N2 * 3 + N3 * 5)/10
Assim, foi construído um algoritmo que manipula quatro vetores, um para cada nota e outro 
para a média de cada aluno. A professora tem uma folha para cada uma das notas, na qual há a 
lista de alunos e a nota obtida na avaliação. Portanto, cada vetor precisa ser lido separadamente 
e, depois, calcula-se a média.
algoritmo "notas"
var 
alunos, indice: inteiro 
nota1: vetor[1..20] de real 
nota2: vetor[1..20] de real 
nota3: vetor[1..20] de real 
media: vetor[1..20] de real
inicio
//leitura das informações de cada nota 
escreval("=============================================") 
 algoritmo lê os vetores v1 e v2 e, depois, passa os elementos de v1 para v3. Na sequência, passa os elementos de v2 para v3. Portanto, realiza a concatenação dos elementos de v1 e v2 em v3.
escreval("Leitura das Informações Sobre os Alunos") 
escreval("=============================================") 
escreval("______________________________________________") 
escreval("______________Nota 01_________________________") 
escreval("______________________________________________")
para indice de 1 ate 20 faca 
escreval("Digite a nota 1 do aluno", indice) 
leia(nota1[indice]) 
fimpara
escreval("______________________________________________") 
escreval("______________Nota 02_________________________") 
escreval("______________________________________________")
para indice de 1 ate 20 faca 
escreval("Digite a nota 2 do aluno", indice) 
leia(nota2[indice]) 
fimpara
escreval("______________________________________________") 
escreval("______________Nota 03_________________________") 
escreval("______________________________________________")
para indice de 1 ate 20 faca 
escreval("Digite a nota 3 do aluno", indice) 
leia(nota3[indice]) 
fimpara
para indice de 1 ate 20 faca 
media[indice] <- ((nota1[indice] * 2) + (nota2[indice] * 3) + (nota3[indice] * 5))/10 
fimpara
escreval("=============================================") 
escreval("Listagem dos alunos e suas respectivas médias") 
escreval("=============================================")
para indice de 1 ate 20 faca 
escreva("Aluno:",indice) 
escreva(" Média:",media[indice]) 
escreval("") 
fimpara
escreval("=============================================")
fimalgoritmo
SAIBA +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Algoritmos e programação: Vetores (Scratch)
Existem variadas linguagens de programação, como C, PHP e Java, e algumas delas são 
utilizadas para aprendizagem, como Pascal e o Python, devido a facilidade da sua sintaxe. O 
Scratch é uma dessas linguagens onde são utilizados blocos lógicos, itens de som e imagem para 
criação de suas próprias histórias interativas, jogos e animações. Verifique no link abaixo como 
são criados vetores por meio dessa ferramenta.
Conteúdo interativo disponível na plataforma de ensino!
Algoritmos e programação: Vetores (VisuAlg)
Visualg é um programa gratuito de criação, edição, interpretação e execução de algoritmos, que 
utiliza o português estruturado (Portugol). O Visualg é empregado no ensino de lógica de 
programação em várias escolas e universidades no Brasil e no exterior. Veja no vídeo do 
Professor André Santanchè um tutorial para criar vetores utilizando essa ferramenta.
Conteúdo interativo disponível na plataforma de ensino!
Lógica de Programação - Vetores - Atribuição de valores e leitura de dados
Aprender a lógica de programação e a construção de algoritmos é o primeiro passo para você se 
tornar um excelente programador. Neste sentido, aprenda como atribuir valores aos vetores, ou 
seja, armazenar dados dentro dos vetores, para posteriormente, realizar a leitura desses dados
Conteúdo interativo disponível na plataforma de ensino!
Lógica de Programação - Vetores - Definição e declaração
Uma matriz é uma coleção de variáveis de mesmo tipo, que são acessíveis por um único nome. 
Um vetor ou array é uma matriz de uma única dimensão, onde cada variável do vetor é acessada 
por meio do uso de índices. Veja no link a seguir como declarar um vetor na criação de 
programas.
Conteúdo interativo disponível na plataforma de ensino!
Lógica de Programação - Vetores - Exemplo de uso no VisualG
Pratique um pouco mais verificando um exemplo prático do uso de vetores no VisualG. 
Acompanhe como armazenar notas e realizar o cálculo da média, exibindo o resultado na tela.
Conteúdo interativo disponível na plataforma de ensino!

Continue navegando

Outros materiais