Buscar

6_Algoritmos_vetores

Prévia do material em texto

89
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Capítulo 6
Algoritmos – 
vetores
Estamos na era da informação e todos os dados são de extrema 
importância para tomar decisões e entender padrões. Na computação, 
devemos ter muito cuidado ao armazenar e manipular dados.
Para isso, devemos utilizar as melhores estruturas e recursos dispo-
níveis em cada linguagem e em cada dispositivo. Até agora, armazena-
mos dados em variáveis simples, ou seja, espaços de memória capazes 
de guardar apenas um valor por vez. Entretanto, em várias ocasiões, 
devemos guardar vários dados de uma só vez.
Existem estruturas muito eficientes que nos ajudam nessas situa-
ções. Veremos uma delas neste capítulo.
90 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Os vetores, também chamados de arranjos, ou arrays unidimensio-
nais, são estruturas capazes de armazenar inúmeros dados de um mes-
mo tipo, como uma lista de nomes de alunos ou as idades de todas as 
pessoas que votaram em uma seção de uma zona eleitoral.
Neste capítulo, vamos estudar os conceitos dos vetores e como po-
demos manipular dados nessas estruturas, principalmente inserir e pro-
curar valores específicos. Para isso, devemos ficar atentos aos índices 
de cada posição do vetor.
1 Conceito de vetor
A palavra vetor tem vários significados, dependendo da área de atua­
ção. O conceito de vetor pode ser utilizado na matemática, na física e 
até na biologia, mas nosso interesse, nesse momento, é entender os 
conceitos de vetores na computação.
De acordo com Guedes (2014), um vetor, também chamado de ar-
ranjo, ou simplesmente array, é uma estrutura de dados que agrupa vá-
rios dados do mesmo tipo. O vetor também pode ser conhecido como 
um array unidimensional, com um tamanho (predefinido ou não) que 
podemos acessar por um índice.
PARA SABER MAIS 
Algumas linguagens de programação exigem a definição do tamanho 
do vetor na declaração dessa variável. Esses vetores são considerados 
estáticos. Algumas linguagens não exigem a definição do tamanho do 
vetor. Esses vetores são chamados dinâmicos. O JavaScript não exige 
a definição do tamanho do vetor.
Para saber mais sobre o assunto leia o capítulo 4 do livro de Forbellone e 
Eberspacher (2005), Lógica de programação: a construção de algoritmos 
e estruturas de dados.
 
91Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Parece difícil de entender, não é? Então, vamos simplificar toda essa 
teoria com uma analogia prática. Imagine que seu colega no trabalho 
queira fazer um churrasco na casa dele e convide todos os amigos. 
Você fica todo empolgado para ir ao encontro da turma, mas precisa do 
endereço dele para poder chegar. Ele passa o nome da rua e o número 
da casa. Pronto! Com essas informações, você consegue chegar até o 
churrasco.
Em nossa analogia, a rua é o vetor, o número da casa é o índice e o 
churrasco é o valor guardado dentro desse espaço. Dessa forma, pode-
mos nos perguntar: o vetor é uma memória? Na verdade, vetor é uma 
estrutura que armazena vários dados do mesmo tipo. 
O que nossa rua “armazena”? Várias casas, certo? Vamos dizer que 
essas casas são elementos do mesmo tipo (não importa o tamanho 
ou a cor da casa, mas que são construções que servem de lar para 
famílias). Entretanto, para saber qual é a casa certa (no caso, do seu 
amigo), precisamos de um índice que a localize nessa rua. Esse índice é 
o número da casa. Uma vez encontrada a casa, você pode acessar seu 
conteúdo (o churrasco, no caso).
Simples, não? Então, vamos mostrar como um vetor funciona. A fi­ 
gura 1 mostra o esquema de um vetor unidimensional que vamos utilizar 
em nossos exemplos. Note que esse vetor possui um “nome”, “idade” e 
todas as “casas” possuem um índice (números inteiros iniciados em zero). 
Para encontrarmos um valor armazenado dentro de uma dessas casas, 
devemos “andar” cada uma das casas procurando nosso conteúdo.
Figura 1 – Representação esquemática de um vetor
18 10 9 28 25 46 2 55 36 14
0 1 2 3 4 5 6 7 8 9
Caminhar (varrer) pelos índices
92 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.E, para caminhar (ou varrer) um vetor, usaremos uma estrutura 
já conhecida por nós: o laço de repetição “for”. O que acontece, na 
prática, é começarmos no primeiro índice (zero) e verificarmos o 
conteúdo dessa casa. Se for o que procuramos, saímos do laço, se-
não andamos uma casa e verificamos o conteúdo da próxima casa 
e assim por diante. Caso cheguemos até o final e não encontremos 
o conteúdo que queríamos, podemos dizer que o vetor não possui o 
valor procurado.
Por exemplo, imagine que o usuário queira buscar a idade de um 
idoso nesse vetor (ou seja, idades acima de 60 anos). Vamos varrer o 
vetor inteiro e não vamos encontrar essa idade. Ao sair do laço, basta-
ria exibirmos, na tela, que não há nenhum idoso registrado no sistema, 
por exemplo.
1.1 Declarando um vetor
Conseguiu compreender o conceito de vetor? Vamos dar alguns 
exemplos práticos para que você possa entender a aplicabilidade des-
sa importante estrutura utilizada por todos os programadores. Lembre- 
­se de que um vetor armazena vários dados do mesmo tipo. Imagine 
que queremos armazenar o cadastro de 3 pessoas, com nome, e­mail 
e número do telefone. Essas informações têm tipos diferentes: nome e 
e-mail são do tipo caractere e número de telefone é inteiro.
O que fazer nesse caso? Vamos utilizar 3 vetores, um para cada tipo 
de dado. Qual o tamanho de cada vetor? Nesse caso, nossos vetores 
terão tamanho 3 (pois vamos armazenar 3 pessoas). Porém, segundo 
Flanagan (2013), o JavaScript não exige a definição desse tamanho, 
portanto não vamos nos preocupar com isso.
93Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
PARA SABER MAIS 
Nas linguagens tipadas, os valores atribuídos a um vetor devem ser, 
obrigatoriamente, do mesmo tipo (é a abordagem que estamos ado-
tando nesta obra). O JavaScript é uma linguagem não tipada, ou seja, o 
vetor pode receber vários tipos de dados.
Para saber mais sobre o assunto, leia o capítulo 9 do livro de Flanagan 
(2013), JavaScript: o guia definitivo.
 
Para declararmos um vetor em JavaScript, basta definir seu nome e 
atribuir colchetes a esta variável:
var nome = [];
Quando atribuímos os colchetes a uma variável, estamos avisando 
à IDE que se trata de um vetor (array unidimensional). Nesse momen-
to, o sistema reserva um espaço de memória para receber nossos da-
dos. Como não sabemos quantos dados vamos atribuir a esse vetor, 
a memória trabalha dinamicamente, ou seja, ela vai reservando espa-
ço conformea necessidade. Não precisamos nos preocupar com esta 
questão, mas, por trás de tudo isso, existem algoritmos, intrínsecos à 
linguagem, trabalhando para tudo funcionar perfeitamente.
Agora, basta inserirmos valores em nosso vetor e acessarmos esses 
conteúdos.
2 Manipulando vetores
Manipular dados é umas das coisas mais importantes em computa-
ção. Segundo Xavier (2014), existem operações básicas para manipula-
ção de dados, como inserção e busca, muito utilizadas em arrays unidi-
mensionais. Podemos brincar um pouco com essas operações com a 
ajuda da estrutura de repetição “for” (usada para varrer o vetor). 
94 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
2.1 Inserindo dados no vetor
Existem várias maneiras de inserir dados em um vetor utilizando 
JavaScript. Vamos começar com a mais simples e inserir os dados na 
declaração do vetor.
var nome = [“Allen”, “Andre”, “Bruna”];
Entendeu o que fizemos? Declaramos o vetor chamado “nome” e atri-
buímos 3 valores a ele. Isso significa que a “casa” indicada pelo índice 
zero (0) possui o valor Allen, a “casa” indicada pelo índice um (1) possui o 
valor Andre e a “casa” indicada pelo índice dois (2) possui o valor Bruna.
Se quisermos exibir na tela o primeiro conteúdo, basta exibir o nome 
da variável e seu índice entre colchetes. Veja o exemplo:
var nome = [“Allen”, “Andre”, “Bruna”];
 alert (nome[0]);
O comando alert (nome[0]) vai exibir, na tela, o conteúdo do vetor 
chamado “nome”, mas no índice zero(0). Portanto, será exibido “Allen”. 
Se usarmos o comando alert (nome[1]) será exibido “Andre” e assim por 
diante.
Outra forma de atribuirmos os valores ao nosso vetor é inserindo os 
dados depois, ao longo do programa. Por exemplo:
var nome = [];
// OUTROS COMANDOS
nome = [“Allen”, “Andre”, “Bruna”];
Nesse caso, atribuímos os valores depois, no meio do programa. 
De qualquer forma, tanto no primeiro exemplo quanto nesse anterior, 
95Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
tínhamos que saber os valores, ou seja, eles já foram programados as-
sim. Mas não é assim que acontece em sistemas reais. É o usuário que 
vai digitar os valores a serem inseridos no sistema, quando realizar um 
cadastro, por exemplo.
Nesse caso, teremos que utilizar um laço de repetição e “andar” cada 
posição do vetor inserindo os valores desejados. Para isso, basta ter-
mos uma variável simples indicando o índice da “casa”. A cada inserção, 
essa variável é incrementada em 1. E podemos parar o laço quando 
chegarmos ao fim (no caso de vetores estáticos) ou quando o usuário 
não quiser mais inserir valores.
Veja como ficaria um exemplo para preencher os nomes de alunos 
no vetor “nome”:
var nome = [];
var resp = ‘s’;
for (i=0; resp == ‘s’; i++){
 nome[i] = prompt (“Digite o nome do aluno”);
 resp = prompt (“Deseja continuar? s/n”);
}
Observe o que fizemos: dentro do laço “for”, pedimos para o usuário 
digitar o nome do aluno. Esse valor foi atribuído ao vetor “nome” posição 
“i” (i é a variável que guardará o índice do vetor). Ele começa em zero e 
é incrementado em 1 (i++) a cada iteração. “Resp” é uma variável que 
guardará a resposta do usuário se deseja continuar a inserir valores. 
Caso ele digite “s” (sim), o laço continua. Caso digite “n” (não), o laço 
para de ser executado e o programa continua.
96 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Observe que, para que o laço “for” seja executado pela primeira vez, o 
valor de “resp” deve ser “verdadeiro”. Por isso, atribuímos “s” assim que 
a declaramos. Rode esse algoritmo e veja o resultado.
Voltando ao nosso exemplo, queremos inserir o nome, o e­mail e o 
número de telefone de 3 pessoas para um cadastro. Nesse caso, va-
mos declarar 3 vetores e manipulá­los juntos, no mesmo “for”. Veja o 
algoritmo:
var nome = [], email = [], tel = [];
for (i=0; i < 3; i++){
 nome[i] = prompt (“Digite o nome da “ + (i+1) + “a pessoa”);
 email[i] = prompt (“Digite o email da “ + (i+1) + “a pessoa”);
 tel[i] = prompt (“Digite o telefone da “ + (i+1) + “a pessoa”);
 alert (“\n”);
}
Na primeira linha, declaramos os 3 vetores: nome, e­mail e telefone. 
No laço “for”, a condição de parada é o “i” ser 3 ou mais (pois sabemos 
exatamente quantas pessoas queremos cadastrar). Observe que, no 
meio da frase de cada prompt (), colocamos um (i+1). É só para dar um 
efeito de 1a pessoa, 2a pessoa, 3a pessoa. A última linha (antes de fechar 
chave) tem o comando alert (“\n”). Sempre que você colocar essa barra 
invertida seguida da letra n, significa que, nesse ponto, você quer pular 
uma linha. Caso queira pular duas linhas, coloque dois \n\n.
Quando rodamos o algoritmo, produziremos o seguinte resultado:
97Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Observe um detalhe: na condição lógica do laço de repetição “for”, 
colocamos “i < 3”. Por que não “i <= 3”? Porque o vetor nunca terá índice 
3 (apesar de ter 3 posições). Isso porque o índice sempre começa em 
zero.
Daqui a pouco aprenderemos a saber o tamanho de um vetor, caso o 
usuário decida inserir vários valores.
2.2 Pesquisa em vetores
Uma vez preenchido o vetor, podemos efetuar buscas, procurando 
um valor específico, por exemplo. Imagine nosso vetor de idades, no 
qual queremos verificar a idade igual a 46 anos. Como procurar esse 
valor? E o que podemos exibir na tela?
Vamos fazer o seguinte: criar o vetor “idade” com os mesmos valores 
da figura 1 e procurar a idade 46. Se acharmos, vamos exibir, na tela, em 
qual posição ele está. Se não acharmos, exibiremos que a idade não 
está cadastrada, OK?
98 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Como temos o valor específico que estamos procurando, basta 
“olharmos” para cada posição do vetor e comparar com o valor 46. 
Nesse caso, temos duas condições de parada: 
1. O laço vai parar quando encontrarmos o valor.
2. O laço vai parar quando chegarmos ao final e não encontrarmos 
nada.
Temos que considerar os dois casos na expressão lógica do laço 
“for”. Vamos ver como ficaria nosso algoritmo:
var idade = [18, 19, 9, 28, 25, 46, 2, 55, 36, 14];
var achou = ‘n’;
for (i=0; (achou == ‘n’ && i < 10); i++){
 if (idade[i] == 46){
 achou = ‘s’; 
 } 
}
if (achou == ‘n’){
 alert (‘Não consta o cadastro dessa idade’);
} else{
 alert (‘A idade 46 está cadastrada na posição ‘ + i);
}
99Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente.Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Observe que estamos usando a variável “achou” para saber se a ida-
de está cadastrada ou não. Ela começa com o valor “n” para entrar no 
laço de repetição. Dentro do laço, perguntamos se o valor da idade, po-
sição “i”, é igual a 46. Caso seja, a variável “achou” muda para “s” e o laço 
se encerra. Caso contrário, continuamos varrendo o vetor.
A segunda condição é se “i” for igual a 10. Como nosso vetor tem 10 
posições, seus índices vão de 0 a 9. Quando o valor de “i” for igual a 10 e 
não achamos a idade, significa que ela não está cadastrada. Porém, isso 
pode gerar um problema: e se o valor procurado for encontrado na últi-
ma posição? A variável “i” será 10 e a idade foi encontrada. Como você 
resolveria isso? Pense um pouco, vamos resolver no próximo exemplo.
A estrutura “if” depois do laço quer saber por qual motivo saímos do 
laço “for”: se “i” for igual a 10, quer dizer que não encontramos a idade, 
por isso exibimos a frase “Não consta o cadastro dessa idade”. Caso 
contrário, encontramos a idade e vamos exibir em qual posição ela está. 
Observe que a idade 46 está cadastrada na 6a posição (índice 5).
Ao rodar esse algoritmo, obteremos o seguinte resultado:
Entretanto, nesse exemplo, sabemos quantas posições o vetor tinha. 
E se não soubéssemos? Como ficaria? Vamos refazer esse algoritmo 
para que o usuário insira quantas idades ele quiser e procuremos a ida-
de que ele escolher, tudo bem?
Vamos observar como ficou nosso novo algoritmo:
var idade = [];
var achou = ‘n’, resp = ‘s’;
var idade_procurar;
(cont.)
100 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
for (i=0; resp == ‘s’; i++){
 idade[i] = prompt (“Digite uma idade”);
 resp = prompt (“Deseja continuar? s/n”);
}
idade_procurar = parseInt (prompt (“Qual idade deseja procurar?”));
for (i=0; (achou == ‘n’ && idade.length > i); i++){
 if (idade[i] == idade_procurar){
 achou = ‘s’; 
 } 
}
if (achou == ‘n’){
 alert (“Não consta o cadastro dessa idade”);
} else{
 alert (“A idade “ + idade_procurar + “ está cadastrada na posição “ + i);
}
Observe que, como não sabemos o tamanho do vetor, precisamos 
utilizar o length para indicá­lo e compará­lo com o valor de “i”. Caso a 
variável “i” seja menor que o tamanho do vetor e a idade não tiver sido 
encontrada, continua no laço. Para qualquer uma dessas expressões 
que se tornar “falsa”, o laço se encerra e o programa continua.
101Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Observe também que, para corrigir o problema de encontrarmos o 
valor na última posição, mudamos a expressão lógica do último “if”. Se 
“achou” não alterar seu valor, significa que realmente não encontramos 
o valor no vetor.
Entendeu o que fizemos nesse exemplo?
If (resp == “SIM”) {
Alert (“Maravilha. Você está indo muito bem!”);
} else {
Alert (“Tenha calma. Releia os capítulos e faça todos os exercícios.”);
}
Antes de terminarmos este capítulo, vamos completar nosso exercí-
cio do cadastro das 3 pessoas e exibir os dados na tela. Veja o exercício 
terminado:
var nome = [], email = [], tel = [];
var resp = ‘s’;
for (i=0; resp == ‘s’; i++){
 nome[i] = prompt (“Digite o nome da “ + (i+1) + “a pessoa”);
 email[i] = prompt (“Digite o email da “ + (i+1) + “a pessoa”);
 tel[i] = prompt (“Digite o telefone da “ + (i+1) + “a pessoa”);
 alert (“\n”);
 resp = prompt (“Deseja continuar? s/n”);
 alert (“\n”);
(cont.)
102 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
}
alert (“Essas são as pessoas cadastradas em nosso sistema:\n”);
for (i=0; nome.length > i; i++){
 alert (“O(A) sr(a) “ + nome[i] + “ possui o telefone: “ + tel[i] + 
 “ e email: “ + email[i] + “\n”);
}
Esse algoritmo foi alterado para cadastrar quantas pessoas o usu-
ário quiser. Dê uma boa estudada em cada comando, em cada linha 
de código e faça as alterações que achar necessário para tornar nosso 
sistema cada vez melhor e mais eficiente.
Por fim, temos uma tarefa a fazer: continue nosso projeto de software 
do boletim acadêmico do aluno. Você tem, praticamente, todas as es-
truturas necessárias para completar o projeto. Caso queira deixar o pro-
grama mais profissional, leia as bibliografias indicadas em cada capí-
tulo. Lá tem muita coisa interessante para você se tornar um excelente 
profissional de tecnologia da informação.
103Algoritmos – vetores
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Considerações finais
As estruturas de armazenamento conhecidas como vetores ou 
arrays unidimensionais são muito utilizadas na programação e ajudam 
muito na manipulação de dados. Os vetores possuem índices, que são 
as indicações das “casas” onde os valores são armazenados.
Para “varrer” um vetor, ou seja, andar da primeira até a última casa, po-
demos fazer uso da estrutura de repetição “for”, na qual iniciamos o índice 
em zero e o incrementamos em 1 à medida que avançamos com o vetor.
Para inserir valores em um vetor, basta indicar o nome do vetor e a 
posição na qual o valor será inserido. O índice deve estar entre colche-
tes. Lembre-se de sempre de criar uma condição de saída do laço de 
repetição para evitarmos ficar presos nele no chamado loop infinito.
Para buscar um valor em um vetor, precisamos compará-lo a cada 
posição do vetor. Nesses casos, temos duas condições de saída do laço: 
a primeira se encontrarmos o valor procurado e a segunda caso não en-
contremos o valor, mesmo tendo varrido toda a estrutura. Atente-se a 
contemplar as duas possibilidades de saída na estrutura de repetição.
É muito importante que você treine bastante e entenda cada passo 
da manipulação de dados com o uso de array unidimensional. Ele será 
muito útil para que você possa construir seu projeto de software.
Referências
FLANAGAN, David. JavaScript: o guia definitivo. 6. ed. Porto Alegre: Bookman, 
2013.
FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de 
programação: a construção de algoritmos e estruturas de dados. São Paulo: 
Pearson Prentice Hall, 2005.
104 Algoritmos e programação I Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
is
tâ
nc
ia
 d
a 
Re
de
 S
en
ac
 E
AD
, d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, s
ob
 a
s 
pe
na
s 
da
 L
ei
. ©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.GUEDES, Sérgio. Lógica de programação algorítmica. São Paulo: Pearson 
Prentice Hall, 2014.
XAVIER, Gley Fabiano Cardoso. Lógica de programação. São Paulo: Editora 
Senac São Paulo, 2014.

Continue navegando