Buscar

ALG_PROG_I_COMP_2020

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

Allen Oberleitner 
Algoritmos e 
programação I 
Dados Internacionais de Catalogação na Publicação (CIP)
(Jeane Passos de Souza – CRB 8a/6189)
Oberleitner, Allen
 Algoritmos e programação I / Allen Oberleitner. – São Paulo: Editora 
Senac São Paulo, 2020. (Série Universitária)
	 Bibliografia.
 e-ISBN 978-65-5536-119-3 (ePub/2020)
 e-ISBN 978-65-5536-120-9 (PDF/2020)
 1. Desenvolvimento de sistemas 2. Linguagem de programação 
3.Algoritmos – Conceitos I. Título. II. Série 0
20-1129t CDD-005.13
 003
 BISACCOM051300
 COM051230
Índice para catálogo sistemático
1. Linguagem de programação : Algorítimos 005.13
2. Desenvolvimento de sistemas 003
M
at
er
ia
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
.
ALGORITMOS E 
PROGRAMAÇÃO I
Allen Oberleitner
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.
Administração Regional do Senac no Estado de São Paulo
Presidente do Conselho Regional
Abram Szajman
Diretor do Departamento Regional
Luiz Francisco de A. Salgado
Superintendente Universitário e de Desenvolvimento
Luiz Carlos Dourado
Editora Senac São Paulo
Conselho Editorial
Luiz Francisco de A. Salgado 
Luiz Carlos Dourado 
Darcio Sayad Maia 
Lucila Mara Sbrana Sciotti 
Jeane Passos de Souza
Gerente/Publisher
Jeane Passos de Souza (jpassos@sp.senac.br)
Coordenação Editorial/Prospecção
Luís Américo Tousi Botelho (luis.tbotelho@sp.senac.br) 
Márcia Cavalheiro Rodrigues de Almeida (mcavalhe@sp.senac.br)
Administrativo
João Almeida Santos (joao.santos@sp.senac.br) 
Comercial
Marcos Telmo da Costa (mtcosta@sp.senac.br)
Acompanhamento Pedagógico
Ariádiny Carolina Brasileiro
Designer Educacional
Sueli Brianezi Carvalho
Revisão Técnica
Thyago Conchado Quintas
Coordenação de Preparação e Revisão de Texto
Luiza Elena Luchini
Preparação de Texto
Eloiza Mendes Lopes
Revisão de Texto
Eloiza Mendes Lopes
Projeto Gráfico
Alexandre Lemes da Silva 
Emília Corrêa Abreu
Capa
Antonio Carlos De Angelis
Editoração Eletrônica
Sidney Foot Gomes
Ilustrações
Sidney Foot Gomes
Imagens
iStock Photos
E-pub
Ricardo Diana
Proibida a reprodução sem autorização expressa.
Todos os direitos desta edição reservados à
Editora Senac São Paulo
Rua 24 de Maio, 208 – 3o andar 
Centro – CEP 01041-000 – São Paulo – SP
Caixa Postal 1120 – CEP 01032-970 – São Paulo – SP
Tel. (11) 2187-4450 – Fax (11) 2187-4486
E-mail: editora@sp.senac.br 
Home page: http://www.livrariasenac.com.br
© Editora Senac São Paulo, 2020
M
at
er
ia
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
.
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.
Sumário
Capítulo 1
Apresentação inicial sobre 
desenvolvimento de sistemas, 7
1 Apresentação da área, 8
2 Evolução do desenvolvimento de 
sistemas, 10
3 Utilização dos conceitos na 
prática, 16
Considerações	finais,	19
Referências, 19
Capítulo 2
Introdução aos algoritmos, 21
1 Introdução aos algoritmos, 22
2 Conceito de algoritmo, 25
Considerações	finais,	32
Referências, 32
Capítulo 3
Algoritmos – variáveis, 35
1 Programação imperativa, 36
2 Utilização de pseudocódigos, 38
3 Declaração de variáveis e 
constantes, 42
4 Expressões aritméticas, literais, 
relacionais, de lógica booleana, 47
Considerações	finais,	52
Referências, 53
Capítulo 4
Algoritmos – condicionais, 55
1 Estrutura de controle condicional, 56
2 Estrutura de controle condicional 
simples, 59
3 Estrutura de controle condicional 
composta, 65
Considerações	finais,	71
Referências, 72
Capítulo 5
Algoritmos – repetição, 73
1 Por que repetir?, 74
2 Estruturas de repetição: 
enquanto (while), 76
3 Estruturas de repetição: para 
(for), 83
Considerações	finais,	87
Referências, 88
Capítulo 6
Algoritmos – vetores, 89
1 Conceito de vetor, 90
2 Manipulando vetores, 93
Considerações	finais,	103
Referências, 103
Capítulo 7
Algoritmos – matrizes, 105
1 Conceito de matriz, 106
2 Manipulando uma matriz, 110
Considerações	finais,	120
Referências, 121
Capítulo 8
Programação estruturada, 123
1 Linguagem de programação, 124
2 Programação estruturada, 127
Considerações	finais,	137
Referências, 138
Sobre o autor, 141
7
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 1
Apresentação 
inicial sobre 
desenvolvimento de 
sistemas
Vivemos em uma era marcada pelos recursos digitais, tecnologia, 
internet e manipulação de dados. Praticamente, todas as pessoas nas-
cidas no século XXI têm um celular e acesso à internet. Mas, acredite, 
nem sempre foi assim!
A ideia de computador e de internet nasce durante a Segunda Grande 
Guerra Mundial, com a necessidade de descobrir as estratégias cripto-
grafadas do inimigo e, assim, vencê-lo. Computadores como o Eniac 
(primeiro do mundo) eram operados por chaves manuais (como se fos-
sem grandes disjuntores) e funcionavam movidos a válvulas.
8 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
.Entretanto, no início, os computadores não tinham muita utilidade 
para as pessoas comuns. Eles eram usados, exclusivamente, por mate-
máticos, cientistas e pesquisadores. Foi na segunda metade do século 
XX que alguns gênios da tecnologia e dos negócios, como Bill Gates 
e Steve Jobs, enxergaram uma grande oportunidade de comercializar 
computadores pessoais a todos os usuários.
A partir daí, grandes empresas de tecnologia nasceram e começa-
ram a criar softwares para uso diário como pagamento, estoque, pedido 
(para as empresas) e, posteriormente, compras on-line, sites de entrete-
nimento e até de relacionamento para o público em geral. Isso deu início 
à chamada Terceira Revolução Industrial.
Hoje, podemos perceber a utilização desses recursos em pratica-
mente todas as áreas da nossa vida. Entretanto, para que tudo isso seja 
possível, é necessário implementar um sistema (criando um projeto de 
software) por meio de uma linguagem de programação escrito num am-
biente apropriado.
1 Apresentação da área
Esta	 obra	 tem	 como	objetivo	 apresentar	 ao	 futuro	 profissional	 de	
tecnologia de informação os conhecimentos necessários para desen-
volver sistemas e entender a lógica envolvida nas linhas de código de 
um software, assim como suas principais estruturas.
Traduzir as necessidades dos usuários do sistema e os desenhos 
(modelos e diagramas) em códigos executáveis pelo computador para 
desempenhar	uma	tarefa	específica	e	complexa	é	nossa	missão.
Mas,	 afinal,	 o	 que	 são	 sistemas?	Como	podemos	 interpretar	 uma	
necessidade de um usuário em uma ação computacional?Como sabe-
mos por onde começar? Como saberemos se o que foi feito está certo 
e de acordo com as condições estabelecidas pelo usuário?
9Apresentação inicial sobre desenvolvimento de sistemas
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.
Se você se preocupou com essas perguntas, está pensando em um 
projeto de software. Independentemente da área que você escolha den-
tro da tecnologia, ao pensar em sistema, devemos nos preocupar com 
o projeto desse sistema. Todas essas dúvidas serão esclarecidas ao 
longo	desta	obra	e,	ao	final	dela,	teremos	realizado	nosso	primeiro	pro-
jeto de software. 
Para isso, abordaremos os seguintes temas:
 • O desenvolvimento dos programas desde o início até os dias de 
hoje e quais suas utilizações na prática.
 • A introdução aos algoritmos, o que é lógica de programação e 
como podemos escrever e representar esses algoritmos.
 • Como podemos passar instruções para o computador e como 
podemos representar os valores com que nosso programa vai 
interagir.
 • Como o computador toma decisões? Podemos dizer o que ele 
deve fazer em cada caso.
 • Como controlar ações que o computador tem que repetir várias 
vezes?
 • Armazenamento de valores similares e criação de buscas desses 
valores.
 • Como armazenar valores em matrizes e como manipulá-las com 
o uso de algoritmos.
 • O que é programação estruturada e como utilizar os recursos 
desse paradigma de programação.
Vamos criar um projeto de software desde o início e, conforme for-
mos evoluindo, conseguiremos testar suas funcionalidades e apresentar 
nosso	sistema	ao	usuário	para	que	ele	o	utilize	e	verifique	o	resultado.	
Preparados?
10 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 Evolução do desenvolvimento de sistemas
Basicamente, em todas as coisas hoje em dia existe um sistema 
de	computador.	Nosso	inseparável	celular	é	uma	eficiente	e	complexa	
máquina computacional na qual conseguimos fazer praticamente tudo! 
Agora, vamos pensar onde mais a tecnologia, por meio de programas 
de computadores está presente. 
Que tal na TV? A maioria dos televisores são smart, o que confere 
“inteligência” a esse aparelho, capacidade de se conectar à internet, por 
exemplo. E vários aparelhos domésticos já têm essa capacidade: gela-
deiras, cafeteiras, máquina de lavar e até lâmpadas!
Os sistemas de computadores estão presentes em nossas tarefas 
diárias, também. Escovar os dentes (com escovas inteligentes que en-
tendem se você esqueceu de limpar alguma área da sua boca), trans-
portar-se (com a utilização de aplicativos ou com o bilhete eletrônico 
nas catracas de ônibus), candidatar-se a uma vaga de emprego (bus-
cando por milhares de bases de dados as oportunidades das empre-
sas), realizar uma compra on-line (enviando dados de cartão de crédito 
– e aqui devemos, também, nos preocupar com a segurança dos dados 
enviados) ou mesmo se entreter (com videogames e realidade virtual).
Realmente, não dá para negar a importância dos sistemas compu-
tacionais no dia a dia. Entretanto, como isso surgiu? Como evoluiu para 
os dias de hoje? A evolução da programação está diretamente ligada à 
história dos computadores e, para a entendermos melhor, vamos recor-
rer a um pouco de história mundial.
2.1 O grande início
Foi durante a Segunda Grande Guerra Mundial que surgiu a necessi-
dade de se ter uma máquina que quebrasse os códigos de comunica-
ção de exércitos inimigos para ajudar tropas aliadas a desenvolverem 
11Apresentação inicial sobre desenvolvimento de sistemas
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.
suas estratégias militares. Em 1940, os norte-americanos John Eckert 
e John Mauchly criaram o Eniac, primeiro computador digital produ-
zido em larga escala. Este ocupava o espaço de uma sala inteira e 
funcionava	com	quase	18	mil	válvulas.	Além	disso,	essa	magnífica	má-
quina foi programada por seis grandes mulheres, como Ada Lovelace 
e Grace Hopper, porém, na época, nenhuma recebeu o devido crédito 
(MATSUURA, 2015).
Figura 1 – Eniac
Outro fato interessante a respeito do Eniac é que ele não foi pro-
gramado com uma linguagem de programação, mas com chaves ma-
nuais (como disjuntores), embora seu sistema operacional fosse feito 
por cartões perfurados.
Essa máquina chamou muito atenção de pesquisadores do mundo 
todo	e,	no	fim	da	Segunda	Guerra	Mundial,	a	maioria	das	pesquisas	
sobre	 programas	 eram	 financiadas	 pelos	 governos	 e	 desenvolvidos	
como	projetos	de	ciência	por	universidades;	outros,	mais	específicos,	
pelo exército. 
Os computadores eram muito grandes e caros, por isso, só eram 
usados por especialistas. Segundo Carvalho (2006) o acesso a eles era 
restrito apenas aos cientistas e matemáticos, porém havia um trabalho 
12 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
.conjunto para popularizar essas máquinas para executarem tarefas es-
pecíficas	diárias.	Nessa	 fase,	não	existia	grandes	 investimentos,	pois	
ainda não havia interesse por parte das empresas e do público.
Foi na metade do século XX que a grande evolução tecnológica teve 
início, com o interesse de cientistas e, principalmente, das indústrias. 
Isso deu início à chamada Terceira Revolução Industrial (RIFKIN, 2014). 
Os computadores se tornavam cada vez menores, mais baratos, padro-
nizados e acessíveis, principalmente para as empresas.
2.2 O surgimento das grandes empresas de tecnologia
O interesse do público nessas máquinas poderosas criou uma enor-
me oportunidade de negócio na década de 1970. Dois jovens muito ha-
bilidosos, um em programação e outro em vendas, criaram a primeira 
empresa a vender computadores de grande performance para o público 
comum (usuários que não tinham grande conhecimento em computa-
ção e tecnologia). Esses dois jovens são Steve Wozniak e Steve Jobs, e 
a empresa em questão é a, hoje gigante, Apple.
PARA SABER MAIS 
Por que o símbolo da Apple é uma maçã mordida?
Uma das teorias mais aceitas tem a ver com o conhecimento. Segun-
do Jobs, morder a maçã representaria a aquisição do conhecimento 
(como fizeram Adão e Eva). Outra versão interessante refere-se à ambi-
guidade do slogan da marca, que dizia “Byte into an Apple” (algo como 
um “byte dentro de uma maçã”), fazendo uma brincadeira com a pala-
vra inglesa “bite” (que significa “morder”).
 
De acordo com Quinafelex (2014) a intenção era desenvolver um 
computador	confiável,	pequeno	e	que	pudesse	ser	usado	em	qualquer	
residência. As pessoas só conheciam, na época, eletrodomésticos, 
13Apresentação inicial sobre desenvolvimento de sistemas
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.
portanto o computador deveria se parecer com eles. Os pesquisadores 
tiveram, então, que tornar os comandos mais acessíveis e amigáveis,com	a	criação	de	ícones	e	figuras	representativas.	
Figura 2 – O Apple I, o primeiro computador pessoal, criado por Steve Wozniak. O gabinete tinha que 
ser adaptado pelo usuário
 Um problema enfrentado pela Apple era desenvolver um sistema 
operacional que fosse mais amigável ao usuário e que resolvesse gran-
des tarefas com comandos simples. Foi nesse cenário que outra gigante 
da	tecnologia	teve	um	grande	desafio:	entregar	ao	mercado	um	sistema	
operacional simples. Bill Gates, Paul Allen e Steve Ballmer, fundadores 
da	Microsoft,	desenvolveram,	em	1980,	o	DOS,	sigla	que	significa	disk	
operating	system,	ou	sistema	operacional	de	disco	(figura	3).
PARA SABER MAIS 
Bill Gates, Paul Allen e Steve Ballmer tinham um grande desafio nas 
mãos: fornecer um sistema operacional para um grupo de empresas 
em um período de tempo muito pequeno, Assim, em 1980, nasceu o 
primeiro sistema operacional comercial, o DOS (aprimorado do falho e 
inoperante QDOS), comprado pela Microsoft.
 
14 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
.Segundo Bill Gates (1995), o público comum tinha muito interesse 
em adquirir um computador para sua casa, e empresas como a IBM, 
que tinham o controle da produção de hardwares, decidiram fabricar 
seus próprios computadores pessoais.
Figura 3 – Tela da DOS, sistema operacional da Microsoft, primeiro a ser utilizado pelos computadores 
pessoais – personal computer (PC)
O fato de as pessoas possuírem, em suas casas e escritórios, um 
computador,	 inflamou	 a	 economia.	 Ainda	 assim,	 os	 computadores	
eram muito caros, pois os gastos com estudos e pesquisas eram altos 
(RIFKIN, 2014).
É compreensível, pois utilizavam-se produtos, até então, somente 
usados na área da robótica e da telefonia, e essa matéria-prima tinha 
um custo elevado. Essa dependência entre produtos e inovação tecno-
lógica estava muito evidente. Com esse crescimento de mercado, na 
década de 1990, começaram a aparecer os computadores com am-
biente	gráfico	e	acesso	à	internet.
Você sabia que a rotina de um escritório era toda feita em folhas 
de papel que eram arquivadas em grandes arquivos de aço, cheios de 
15Apresentação inicial sobre desenvolvimento de sistemas
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.
gavetas	e	fichários,	separados	em	ordem	alfabética?	Pois	é,	não	havia	
computadores, tampouco internet. Tudo era transportado por cartas 
ou malote.
O computador revolucionou a maneira como os dados eram armaze-
nados. Antes, em grandes arquivos de ferro nos escritórios e empresas. 
Agora,	em	memórias,	como	discos	rígidos	(HD),	pen	drives	(flash	drives)	
e até na nuvem (cloud). Toda a forma de trabalho mudou. Havia siste-
mas computacionais que executavam as tarefas diárias das empresas, 
como controle de estoque, cadastro de clientes, folha de pagamento, 
controle de vendas, etc. 
Figura 4 – Arquivo de ferro onde eram armazenados dados das atividades das 
 empresas e fichas com documentos
Entretanto,	não	pense	que	tudo	eram	flores.	Os	sistemas,	no	início,	
não eram integrados, ou seja, não se comunicavam. Imagine um pro-
duto vendido por uma empresa: esse produto precisava ser retirado do 
estoque, correto? Mas, eles não eram interligados. Isso era feito manu-
almente. Outro ponto negativo eram os formatos desses sistemas. Por 
serem produzidos em massa (não havia personalização do usuário), 
nem sempre funcionavam de maneira adequada.
16 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
.Claro	que	esses	problemas	foram	identificados	e	tratados	ao	longo	
dos anos. Atualmente, os softwares são desenvolvidos exclusivamen-
te, conforme a necessidade de cada empresa. São sistemas integra-
dos que atendem a todas as áreas da empresa, automatizando todas 
as	informações,	bem	como	se	conectando	com	as	filiais,	as	empresas	
parceiras e os fornecedores.
3 Utilização dos conceitos na prática
Podemos citar milhares de exemplos de sistemas computacionais 
e suas contribuições práticas para o desenvolvimento da indústria, do 
comércio e das pessoas.
Entretanto, para que tudo isso seja possível e para um bom entendi-
mento do que será exposto nesta obra, precisamos compreender que, 
na prática, tudo é código, tudo é instrução e comando, ou seja, basica-
mente, para nós, o importante é interpretarmos o que o usuário quer em 
uma linguagem de programação.
Falaremos, mais à frente, sobre linguagens de programação. 
Antes disso, no entanto, vamos nos familiarizar com alguns conceitos 
importantes:
1. Uma linguagem de programação é um método padronizado para 
comunicar	instruções	para	um	computador. 
2. Existem vários tipos de linguagem de programação (assim como 
existem várias línguas pelo mundo).
3. Vamos	utilizar,	nessa	obra,	uma	linguagem	específica	para	co-
locar em prática nosso projeto de software e conseguir ver os 
resultados.
4. Nosso objetivo, aqui, não é aprender uma linguagem de progra-
mação (com todos seus recursos, métodos e estruturas), mas 
17Apresentação inicial sobre desenvolvimento de sistemas
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.
apresentar uma visão geral do processo de programação e os 
fundamentos das linguagens de programação.
Uma vez colocados esses pontos, a linguagem que utilizaremos nes-
ta obra é o JavaScript. De acordo com artigo de Silva:
O JavaScript é uma linguagem de programação criada em 
1995 por Brendan Eich enquanto trabalhava na Netscape 
Communications Corporation. Originalmente projetada para ro-
dar no Netscape Navigator, ela tinha o propósito de oferecer aos 
desenvolvedores formas de tornar determinados processos de 
páginas web mais dinâmicos, tornando seu uso mais agradável. 
Um	ano	depois	de	seu	lançamento,	a Microsoft portou	a	lingua-
gem para seu navegador, o que ajudou a consolidar a linguagem 
e torná-la uma das tecnologias mais importantes e utilizadas na 
internet. (2015)
Segundo Deitel e Deitel (2008), o JavaScript é a linguagem-padrão 
para a criação de scripts no lado cliente de aplicações baseadas na web, 
em virtude de sua alta portabilidade. Isso torna as páginas web mais 
dinâmicas e interativas.
PARA SABER MAIS 
Muitas pessoas confundem a linguagem de criação de scripts JavaScript 
com a linguagem de programação Java, da SunMicrosystems, Unc. 
Java é uma linguagem de programação completa, orientada a obje-
tos, que pode ser usada para desenvolver aplicações executáveis em 
diversos dispositivos – desde os menores, como telefones celulares 
e PDAs, até supercomputadores. JavaScript, por sua vez, é uma lin-
guagem de criação de scripts baseada em navegador, desenvolvida 
pela Netscape e implementada em todos os principais navegadores 
(DEITEL; DEITEL 2008, p. 97).
 
18 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 
corre
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
.A linguagem JavaScript é amplamente utilizada no mundo inteiro e 
será muito útil para nosso propósito: entender a lógica de programação 
e aplicação de algoritmos em nosso projeto de software.
Entretanto, não vamos abordar a estrutura das páginas world wide 
web, tampouco a arquitetura cliente-servidor. Esse é um assunto para 
outro momento, que talvez virá quando o conteúdo desta obra já tenha 
sido dominado. Aliás, você pode estar se perguntando: onde vou escre-
ver	meus	scripts	e	ver	meu	sistema	funcionando,	afinal?	Essa	é	uma	
ótima pergunta e esse assunto nos interessa muito.
Existem inúmeras ferramentas, pagas e gratuitas, para o desenvol-
vimento da linguagem de programação JavaScript. Algumas gratui-
tas são: Oracle NetBeans IDE, Eclipse JavaScript Development Tools e 
dotCloud JS. Existem, também, algumas ferramentas on-line (você não 
precisa baixar nem instalar nada), como Codenvy, Koding e Repl, que 
são muito fáceis de utilizar, são gratuitas e suportam várias linguagens.
NA PRÁTICA 
Para você entender um pouco mais do que estamos tratando aqui 
e ter a primeira experiência com a linguagem, vamos fazer uma de-
monstração prática.
Abra uma dessas ferramentas citadas, faça o cadastro necessário, es-
colha a linguagem JavaScript e, na IDE, escreva a seguinte instrução:
Console.log (“Olá. Esse é seu primeiro código JavaScript!”)
Depois, clique no botão “RUN” e veja o resultado!
 
19Apresentação inicial sobre desenvolvimento de sistemas
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
A evolução tecnológica impulsionou o desenvolvimento econômico e 
mudou a forma de trabalho e de pensamento humano. Essa evolução é 
cíclica e depende do estudo contínuo de muitas áreas do conhecimento.
A contribuição e o estudo dos algoritmos, assim como a programa-
ção, suas linguagens e estruturas, são de primordial importância para 
qualquer	profissional	de	tecnologia	da	informação,	independentemente	
da área em que ele vai atuar.
Familiarizar-se com um ambiente apropriado para a implementação 
de uma linguagem de programação por meio de códigos, comandos e 
estruturas básicas é o primeiro passo para a construção de um projeto 
de	software,	na	qual	vários	profissionais	de	tecnologia	estão	envolvidos.
Referências
CARVALHO, Marcelo Sávio Revoredo Menezes de. A trajetória da internet no 
Brasil: do surgimento das redes de computadores à instituição dos mecanismos 
de governança. 2006. Dissertação (Mestrado em Ciências de Engenharia de 
Sistemas e Computação) – Universidade Federal do Rio de Janeiro, Rio de 
Janeiro, 2006.
DEITEL, Paul J.; DEITEL, Hervey M. Ajax, rich internet applications e 
desenvolvimento web para programadores. São Paulo: Pearson Prentice Hall, 
2008.
GATES, Bill. A estrada do futuro. São Paulo: Companhia de Letras, 1995.
MATSUURA, Sérgio. Hoje minoria na indústria de tecnologia, mulheres foram 
fundamentais	 na	 gênese	 da	 computação.  O Globo, 2015. Disponível em: 
https://oglobo.globo.com/sociedade/historia/hoje-minoria-na-industria-
de-tecnologia-mulheres-foram-fundamentais-na-genese-da-computacao-
15336779#ixzz5PJ1tCp6j. Acesso em: 29 out. 2019.
20 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
.QUINAFELEX,	Rodolfo.	Confira	a	evolução	dos	computadores	de	mesa	da	Apple,	
desde a origem. Techtudo, 2014. Disponível em: https://www.techtudo.com.br/
noticias/noticia/2014/10/confira-evolucao-dos-computadores-de-mesa-da-
apple-desde-origem.html. Acesso em: 29 out. 2019.
RIFKIN, Jeremy. A Terceira Revolução Industrial. São Paulo: Bertrand 
Editora, 2014.
SILVA, Giancarlo. O que é e como funciona a linguagem JavaScript? Canaltech, 
2015. Disponível em: https://canaltech.com.br/internet/O-que-e-e-como-
funciona-a-linguagem-JavaScript/. Acesso em: 29 out. 2019.
https://www.techtudo.com.br/noticias/noticia/2014/10/confira-evolucao-dos-computadores-de-mesa-da-apple-desde-origem.html
https://www.techtudo.com.br/noticias/noticia/2014/10/confira-evolucao-dos-computadores-de-mesa-da-apple-desde-origem.html
https://www.techtudo.com.br/noticias/noticia/2014/10/confira-evolucao-dos-computadores-de-mesa-da-apple-desde-origem.html
https://canaltech.com.br/internet/O-que-e-e-como-funciona-a-linguagem-JavaScript/
https://canaltech.com.br/internet/O-que-e-e-como-funciona-a-linguagem-JavaScript/
21
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 2
Introdução aos 
algoritmos
Algoritmos estão associados a todas as tarefas que executamos, in-
clusive em nosso dia a dia. Escovar os dentes, cozinhar, pegar um trans-
porte, estudar, são todos exemplos de tarefas que podem ser resolvidas 
com o uso de algoritmos.
Eles podem, portanto, ser descritos de maneira simples, como um 
passo a passo de tarefas, ordenadas de maneira que resolvam um pro-
blema proposto.
De maneira geral, os algoritmos estão associados a procedimentos, 
de qualquer natureza, não só computacionais. Porém, nosso foco serão 
os processos que podem ser resolvidos e processados por máquinas e, 
para isso, deveremos fazer uso de conceitos de lógica de programação.
22 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
.Todos os processos que dependem de um computador envolvem 
lógica. Ler esta obra em seu computador ou celular, neste momento, 
está exigindo um conjunto de algoritmos trabalhando para cumprir essa 
tarefa.
Abrir um programa, baixar um aplicativo, assistir a sua série favorita 
em uma plataforma de streaming, realizar uma busca na internet, falar 
com seus amigos em aplicativos de mensagens instantâneas e estudar 
num ambiente virtual de aprendizagem on-line: tudo isso é possível por 
meio de instruções e comandos que as máquinas são capazes de en-
tender e processar.
Neste capítulo, você entenderá os principais conceitos envolvidos 
nos algoritmos, como a lógica de programação, e vai se deparar com 
as representações textuais e gráficas nas quais os algoritmos podem 
ser expressos.
Bem-vindo ao incrível mundo dos algoritmos!
1 Introdução aos algoritmos
A palavra “algoritmo”, de acordo com o Dicionário Aurélio (FERREIRA, 
2010), é um “conjunto das regras e procedimentos lógicos perfeitamen-
te definidos que levam à solução de um problema em um número finito 
de etapas”. O uso corriqueiro da palavra “lógica” está normalmente 
relacionado à coerência e à racionalidade.
Portanto, segundo Forbellone e Eberspacher (2005), podemos rela-
cionar a lógica com a correção do pensamento, pois uma de suas pre-
ocupações é determinar quais operações são válidas e quais não são, 
fazendo análises de formas e leis do pensamento. Com base nesses 
conceitos, surgiu a necessidade da utilização de processos padroni-
zados que executassem um problema de acordo com algumas regras 
determinadas.23Introdução aos algoritmos
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.
Eis que surgem os algoritmos.
Já sabemos que eles são um conjunto de regras que resolvem um 
problema de acordo com etapas determinadas. Mas seu surgimento 
não se deu na computação. Os algoritmos são tão antigos quanto a ma-
temática e podem ser usados para várias ciências, como astro nomia 
e geografia. A história conta que a origem da palavra “algoritmo” vem 
de Abu Abdullah Muhammad Ibn Musa Al-Khwarizmi, mais conhecido 
como Al-Khwarizmi ou Alcuarismi, matemático, astrônomo, astrólogo, 
geógrafo e autor persa do século IX. 
Figura 1 – Grande matemático Al-Khwarizmi – seu nome deu origem ao termo 
algoritmo que usamos hoje
Com o avanço das ciências, principalmente a computação, foi pos-
sível criar instruções e rotinas para que os computadores, por meio de 
expressões aritméticas, por exemplo, processassem e produzissem 
resultados com esses comandos. De acordo com Manzano e Oliveira 
(1996), os algoritmos são a base para o desenvolvimento de sistemas 
computacionais, sejam eles simples ou complexos. 
O poder computacional associado a novas tecnologias, assim como 
ao armazenamento de dados, possibilitou a execução de tarefas mais 
complexas e elaboradas, como realidade virtual, reconhecimento facial, 
internet das coisas e inteligência artificial, conforme a figura 2. 
24 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
.Figura 2 – Interação homem-máquina por meio de inteligência artificial
Um dos maiores exemplos de algoritmos são os buscadores (aque-
les que utilizamos para procurar alguma coisa no Google, por exem-
plo). Existe uma complexidade e uma inteligência muito grande por trás 
de um algoritmo de busca para que ele retorne com precisão e grande 
performance (muito rapidamente) as palavras, as imagens, os vídeos e 
quaisquer outros elementos associados ao resultado da busca.
PARA SABER MAIS 
Outro exemplo, bastante interessante, é o crescimento de serviço de 
atendimento efetuados por robôs, os famosos chatbots. Os algoritmos 
utilizados nesse tipo de tecnologia estão associados à inteligência 
artificial, como o Watson, da IBM. Ele é capaz de responder, com um 
grau alto de confiabilidade, a qualquer pergunta feita a ele e até mesmo 
participou de um talkshow, nos Estados Unidos, em 2011, no qual res-
pondeu a perguntas competindo com um dos maiores vencedores de 
programas de TV. Adivinha o que aconteceu! O Watson teve uma vitória 
avassaladora. Incrível, não?
 
É claro que existem milhares de exemplos do poder dos algoritmos e de 
como eles podem nos ajudar com o auxílio das tecnologias. Poderíamos 
falar por horas sobre isso. Entretanto, vamos nós mesmos construir nos-
sos algoritmos e dar finalidade ao nosso projeto de software.
25Introdução aos algoritmos
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.
2 Conceito de algoritmo
O conceito mais importante para a construção de algoritmos é a ló-
gica. A lógica, de acordo com Forbellone e Eberspacher (2005, p. 1), é 
a “arte de pensar bem”. E pensar bem requer um raciocínio coerente, 
com a observação de fatos para uma tomada de decisão assertiva. Por 
exemplo:
 • Toda ave é um animal.
 • Todo beija-flor é uma ave.
 • Portanto, todo beija-flor é um animal.
Você consegue, caro leitor, compreender que, logicamente, podemos 
concluir que todo beija-flor é um animal com base nos dois fatos ante-
riores? Esse é o princípio da lógica. Vamos a outro exemplo:
 • Você é mais novo que seu pai.
 • Seu pai é mais novo que seu avô.
 • Portanto, você é mais novo que seu avô.
Simples, não é mesmo? A ideia é, realmente, simplificar ao máximo 
as instruções fornecidas ao computador, para que não haja dúvidas 
nem informações dúbias.
PARA SABER MAIS 
Dúbio é um adjetivo que significa duvidoso, incerto, indefinido. É tudo 
aquilo que deixa dúvida, em que falta certeza sobre a realidade de um 
fato ou sobre a verdade de uma alegação. É o que não está claro, que 
não se percebe facilmente, que não é apresentado com exatidão, por 
exemplo, uma informação dúbia (FERREIRA, 2010, p. 124).
 
26 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
.Mais um exemplo, para reforçar:
 • O celular está dentro da casa.
 • A casa está trancada.
 • Precisamos, primeiro, abrir a porta da casa para, depois, pegar 
o celular.
Lembre-se: para pensarmos em alguma solução, precisamos 
sempre considerar o problema a ser resolvido. Por exemplo, a necessi-
dade de locomoção mais rápida levou à criação do Uber; a necessidade 
de termos comida, na comodidade de nossas casas, levou à criação 
do Ifood; a necessidade de vermos séries e filmes on demand levou à 
criação da Netflix, etc. 
2.1 Descrição narrativa de um algoritmo
Agora, vamos “algoritmizar” a lógica. Ou seja, temos que construir 
instruções para que, sempre que acontecerem os dois fatos anteriores, 
nossa decisão estará correta. Significa o uso correto das leis do pensa-
mento, da ordem da razão e de processos de raciocínio e simbolização 
formais na programação de computadores. 
IMPORTANTE 
Um algoritmo tem por objetivo representar mais fielmente 
o raciocínio envolvido em lógica de programação e, dessa 
forma, permite-nos abstrair de uma série de detalhes 
computacionais, que podem ser acrescentados mais tarde, 
focalizando nossa atenção naquilo que é mais importan-
te: a lógica de construção de algoritmos. (FORBELLONE; 
EBERSPACHER, 2005, p. 3)
 
27Introdução aos algoritmos
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.
Complicou? Vamos a outro exemplo, um do nosso dia a dia:
Estamos com muita fome e resolvemos cozinhar. Que tal um macar-
rão? Mas não sabemos cozinhar macarrão! E agora?
Existe um procedimento para cozinhar e buscamos na internet uma 
receita (note que estamos, na verdade, buscando um conjunto de regras 
e tarefas determinadas para realizar uma tarefa: cozinhar o macarrão).
Depois da busca, encontramos esta receita:
1. Coloque a água em uma panela e ligue o fogo.
2. Depois que a água ferver, coloque o sal, mas antes de acrescentar 
a massa que será cozida. Se você colocar sal na água ainda fria, 
ela demorará mais para ferver.
3. Coloque um pouco de azeite na água para o macarrão não grudar.
4. Coloque o macarrão na panela. 
5. Quando o macarrão estiver cozido, apague o fogo.
6. Se preferir servir com o molho separado, coloque um pouco 
de manteiga para derreter no macarrão, assim ele não ficará seco. 
Usamos a lógica para guiar nossos pensamentos ou ações para che-
garmos a uma solução. Devemos ter sempre em mente que a lógica 
está correta se ela atingir o objetivo para que ela foi proposta.
Inserir lógica nesse conjunto de atividades significa aperfeiçoar a for-
made pensar, estruturando o passo a passo de ações, numa sequência 
de raciocínio, até chegar ao objetivo final que é a solução do problema. 
Nossa receita de macarrão está descrita de maneira narrativa, ou 
seja, cada instrução foi escrita textualmente, utilizando a língua portu-
guesa e separada por linha (uma instrução por linha). É uma forma bem 
usual de expressarmos um algoritmo.
28 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
.Porém, nem sempre essa forma de representarmos um procedimen-
to é muito clara e objetiva, pois as palavras podem ser interpretadas de 
diferentes maneiras e dar significado dúbio ao processo.
2.2 Representação de algoritmos por fluxogramas
Uma maneira bastante eficiente de representarmos um algoritmo é 
a forma gráfica, por meio de fluxogramas.
Os fluxogramas são representações visuais (desenhos) formados 
por figuras geométricas como losangos, retângulos, circunferências e 
paralelogramos. Cada uma dessas figuras representa uma ação, toma-
da de decisão ou mesmo um fluxo desse diagrama. A sequência orde-
nada dessas figuras nos leva a uma leitura lógica do que nosso algorit-
mo executa, passo a passo. Segundo Xavier (2014), os fluxogramas são 
utilizados para representar algoritmos de pouca complexidade. 
O fluxograma é um intermediário para a compreensão do nosso 
algoritmo. O objetivo final são os códigos computacionais escritos 
por meio de instruções em linguagem de programação. São esses 
códigos que serão lidos e interpretados pelo computador para rea- 
lizar as tarefas que estamos solicitando e o resultado será a solução 
do problema.
IMPORTANTE 
É importante lembrarmos que, como linguagem de programação, uti-
lizaremos, nessa obra, o JavaScript. Essa linguagem nos dará todo o 
suporte para a construção dos nossos algoritmos. 
 
O quadro 1 mostra os símbolos mais utilizados nos fluxogramas e 
seus significados:
29Introdução aos algoritmos
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.
Quadro 1 – Elementos principais componentes de um fluxograma
Terminal
Indica o início ou o fim de um processo.
Entrada manual
Indica a entrada de dados feita pelos usuários.
Processamento
Indica cada ação que deve ser processada. Pode ser uma operação lógica ou 
matemática.
Exibição
Indica a saída de dados do sistema para visualização dos usuários.
Decisão
Indica um ponto de tomada de decisão. Geralmente, uma decisão lógica.
Preparação
Indica o ponto limítrofe ou de intersecção entre processos.
Processo predefinido
Indica as operações de sub-rotinas do diagrama.
Processamento
Indica os documentos utilizados no processo.
Conector
Indica que o fluxograma continua em outro ponto, como se fosse uma quebra do 
diagrama em duas partes. Para isso, devemos indicar um número a ser seguido, 
dentro do conector.
Linha
Indica a direção do fluxo.
Vamos montar o fluxograma do nosso procedimento de cozinhar o 
macarrão. Observe, na figura 3, que cada “caixa” representa um signi-
ficado que deve ser lido e interpretado para a compreensão da lógica 
30 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
.envolvida no processo para resolver o problema. O final do fluxograma 
deve trazer a solução do problema proposto: o macarrão cozido.
Figura 3 – Fluxograma do procedimento de cozinhar um macarrão
Início 
Colocar água na panela 
Ligar o fogo 
Medir a temperatura 
Água 
ferveu
? 
Adicionar sal 
Adicionar azeite 
Colocar o macarrão 
Panela 
encheu? 
Observar densidade 
Macarrão 
cozido? 
cozinhou
? 
Apagar o fogo 
Não 
Não 
Sim 
Adicionar manteiga? 
Fim 
Sim 
Sim 
Não 
Servir com 
molho? 
31Introdução aos algoritmos
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.
A leitura de um fluxograma é limpa e organizada. A partir deste 
momento, estamos prontos para desenvolver as instruções necessá-
rias para o computador processar os códigos de uma linguagem de 
programação.
Agora, vamos apresentar nosso projeto de software. Esse projeto 
será desenvolvido ao longo desta obra, passo a passo, do início ao fim. 
Nosso problema será o seguinte: criar um sistema de boletim acadêmi-
co do aluno.
As regras são as seguintes:
1. O aluno escolherá a disciplina cuja média quer verificar (caso 
não haja disciplina cadastrada, o aluno pode inserir uma discipli-
na. Vamos limitar a um total de cinco disciplinas cadastradas).
2. O aluno poderá inserir suas notas (quantas ele quiser) ou sim-
plesmente verificar sua média (para isso, o sistema deverá ter as 
notas desse aluno previamente inseridas).
3. O sistema vai calcular a média ponderada das notas inseridas 
(para isso, o sistema deve perguntar o peso de cada nota no mo-
mento da inserção).
4. O sistema deve informar se o aluno está aprovado ou reprovado 
(a média para aprovação será 7,0 ou mais).
5. Se o aluno estiver aprovado, o sistema o parabeniza e pergunta se 
ele quer verificar outra média.
6. Se o aluno estiver reprovado, o sistema informa que ele deve 
fazer uma prova de exame.
Desafio entendido? Agora é com você!
Faça o fluxograma do projeto de boletim acadêmico e leve em con-
sideração as tomadas de decisão e a volta para algum passo anterior 
32 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
.quando o aluno quiser continuar inserindo notas ou disciplinas. Não 
se esqueça de testar os limites (disciplinas estão limitadas em cinco, 
por exemplo).
Considerações finais
Algoritmos são formas ordenadas de organizar o pensamento. 
Partindo de um problema existente, nossa função é encontrar uma 
solução adequada que nos leve à solução do problema. Essa solução 
consiste na execução de um conjunto de atividades ordenadas numa 
sequência lógica que faça sentido para chegar ao objetivo final.
Mostramos duas formas de se representar um algoritmo: narrativa 
e fluxograma.
A forma narrativa descreve, textualmente, o passo a passo das 
atividades componentes da nossa solução. Geralmente, escrevemos 
uma atividade por linha, utilizando a língua portuguesa. A forma grá-
fica, chamada de fluxograma, é a representação visual, por meio de 
desenhos, do nosso algoritmo. O fluxograma utiliza figuras geométri-
cas para representar suas ações e tomadas de decisão. É bastante 
utilizado para descrever algoritmos de pouca complexidade.
Por fim, apresentamos nosso projeto de software, que será desen-
volvido ao longo desta obra. O importante agora é compreender o pro-
blema e começar a pensar no conjunto de atividades que nos levará à 
solução dele.
Referências
FERREIRA, Aurélio Buarque de Holanda. Dicionário Aurélio daLíngua 
Portuguesa. São Paulo: Positivo, 2010.
FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de pro-
gramação: a construção de algoritmos e estrutura de dados. 3. ed. São Paulo: 
Pearson Prentice Hall, 2005.
33Introdução aos algoritmos
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.
MANZANO, José Augusto; OLIVEIRA, Jayr Figueiredo. Algoritmos: lógica para 
desenvolvimento de programação. São Paulo: Érica, 1996.
MUHAMMAD ibn Musa al-Khwarizmi. Biografie, [s. d.]. Disponível em: http9s://
biografieonline.it/biografia-muhammad-ibn-musa-al-khwarizmi. Acesso em: 11 
nov. 2019.
XAVIER, Gley Fabiano Cardoso. Lógica de programação. São Paulo: Editora 
Senac São Paulo, 2014.
https://biografieonline.it/biografia-muhammad-ibn-musa-al-khwarizmi
https://biografieonline.it/biografia-muhammad-ibn-musa-al-khwarizmi
35
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 3
Algoritmos – 
variáveis
Os computadores são máquinas incríveis, muito poderosas e com-
plexas, que resolvem, em pouco tempo, problemas matemáticos e aná-
lises de grandes volumes de dados, além de tomadas de decisão.
Porém, tudo o que o computador faz é seguir instruções impostas a 
ele por um ser humano. Essas instruções são compreendidas por meio 
de uma linguagem de programação e comandos que fazem a máquina 
reservar espaço de memória, armazenar dados, processar informações, 
relacionar valores e executar funções específicas.
Essas instruções e comandos são escritos e organizados logica-
mente por programadores depois que eles compreendem o problema e 
estruturam seus algoritmos com base nas necessidades dos usuários 
do sistema.
36 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
.Neste capítulo, vamos entender como atribuir valores às variáveis 
com a finalidade de manipular dados, uma das principais funções de 
um computador. Além disso, veremos as principais expressões do 
JavaScript: aritméticas, relacionais e lógicas.
1 Programação imperativa
Sempre que vamos executar uma tarefa, por mais simples que 
ela seja, pensamos na sequência das ações a serem cumpridas para 
finalizá-la. Por exemplo, imagine que vamos escovar os dentes. Por 
mais simples e automática que seja essa tarefa, estamos seguindo 
uma sequência de ações para cumpri-la:
1. Pegar a escova.
2. Pegar a pasta.
3. Colocar a pasta nas cerdas da escova.
4. Levar a escova à boca.
5. Escovar dentes e massagear gengivas.
6. Enxaguar a boca.
7. Enxaguar a escova.
Já parou para pensar por que seguimos essas instruções, mesmo 
sem pensar? Eu respondo: porque funciona! Simples, não é mesmo? 
Usamos, como um exemplo de modelo, aquilo que já foi testado e tem 
um resultado satisfatório. Tudo o que fazemos segue um modelo ou 
padrão, pode reparar!
Na computação, chamamos esse padrão de paradigma. Paradigma 
de programação é um meio de se classificarem as linguagens de 
programação com base em suas funcionalidades. Por exemplo, o 
37Algoritmos – variáveis
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.
paradigma orientado a objetos é um tipo de programação baseado 
nos objetos (que são representações dos objetos que temos no mundo 
real). Nesse caso, toda a programação tem como elemento principal o 
objeto, com suas características e funções. Mas não vamos abordar 
o paradigma orientado a objetos nesta obra.
O paradigma que nos interessa, neste momento, é o paradigma im-
perativo. Melo e Silva (2010) afirma que linguagens imperativas podem 
ser vistas como ferramentas para construir soluções de problemas 
orientadas por dados. E os dados terão extrema importância para nós 
neste capítulo. Mas falaremos deles daqui a pouco!
Um dos primeiros paradigmas de linguagem de programação exis-
tentes é o imperativo. O nome “imperativo”, que na língua portuguesa 
tem o significado de autoridade ou de exprimir uma ordem, se deu ao 
fato de as primeiras linguagens de programação terem sido projetadas 
em função da arquitetura do computador, chamada de “arquitetura von 
Neumann”.
De acordo com Sebesta (2003, p. 17), por causa da arquitetura von 
Neumann, os recursos centrais das linguagens imperativas são as va-
riáveis, as quais modelam as células de memória, as instruções de atri-
buição e a forma iterativa de repetição, o método mais eficiente dessa 
arquitetura. Ao longo desta obra, veremos todos esses elementos e va-
mos aplicá-los em nosso projeto de software.
O importante, até aqui, é saber que linguagens de programação im-
perativas são baseadas em instruções diretamente destinadas à má-
quina. Um dos elementos da máquina é a memória (e ela será objeto 
de estudo, neste capítulo, quando falarmos das variáveis). A linguagem 
de programação JavaScript é multiparadigma, ou seja, suporta vários 
padrões, inclusive o imperativo.
38 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
.PARA SABER MAIS 
As linguagens multiparadigma, como seu próprio nome já diz, supor-
tam vários paradigmas de programação. Assim, podemos utilizar cada 
paradigma para solucionar um problema da maneira mais elegante e 
simples possível, conforme seu objetivo.
Para saber mais sobre elas, recomendo a leitura do capítulo 1 do livro 
Conceitos de linguagens de programação, de Sebesta (2003).
 
A ideia é bem simples: o desenvolvedor (ou programador) escreve 
os comandos (ou instruções) para que o computador leia e execute as 
ações até que a tarefa final seja concluída. Essas instruções estarão ba-
seadas em variáveis, expressões e estruturas de decisão e de repetição.
No exemplo de escovar os dentes, valores como a quantidade de 
pasta na escova e o tempo de escovação poderiam ser armazenados 
em variáveis e escovar dentes e massagear gengivas, enxaguar a boca 
e enxaguar a escova são as ações necessárias para que cheguemos ao 
nosso objetivo final: limpar os dentes.
2 Utilização de pseudocódigos
Uma das formas utilizadas para iniciarmos nossa compreensão 
em linguagens de programação e os paradigmas envolvidos é o uso 
de pseudocódigos (às vezes chamados de “português estruturado” ou 
“portugol”). Não podemos confundir o pseudocódigo com linguagem de 
programação. É apenas uma maneira de entendermos um problema e 
interpretá-lo em instruções para a máquina.
Segundo Martins (2009), pseudocódigo  é uma forma genérica de 
escrever um  algoritmo que utiliza uma linguagem simples, sem que 
haja necessidade de se conhecer a  sintaxe  de nenhuma linguagem 
de programação.
39Algoritmos – variáveis
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.
IMPORTANTE 
Sintaxeé a parte da gramática que estuda a disposição das palavras 
nas frases. Em computação, a sintaxe de uma linguagem de programa-
ção é a forma como devemos escrever as palavras e as frases para que 
a instrução faça sentido para a execução da tarefa.
 
Para entender como as instruções são escritas e interpretadas pela 
máquina, vamos utilizar o portugol em um exemplo de algoritmo.
Nosso problema: identificar se uma pessoa tem idade para votar 
ou não.
Regras: 
1. Informar a idade da pessoa.
2. Identificar se a pessoa tem idade para votar:
2.1 Se ela tiver 16 anos ou mais, estará apta para votar.
2.2 Caso contrário, não poderá votar.
Essas são as condições da nossa tarefa. Note que esse algoritmo 
foi descrito de maneira narrativa. Vamos, agora, interpretá-lo de forma 
gráfica, com a utilização do fluxograma.
Figura 1 – Fluxograma
Início Informar
idade
Idade é maior
ou igual a 16
Fim
Escreva “Essa pessoa
não pode votar”
Escreva “Essa 
pessoa pode votar”
40 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
.Finalmente, vamos transcrever nosso fluxograma em instruções, fa-
zendo uso de pseudocódigo:
var
 Idade: inteiro
Início
 Escreva: “Informe sua idade”
 Leia: idade
 Se a idade for maior ou igual a 16, então:
 Escreva: “Essa pessoa pode votar”
 Senão:
 Escreva: “Essa pessoa não pode votar”
Fim
Acabamos de escrever um algoritmo, em pseudocódigo, que funcio-
na e produz um resultado. Esse algoritmo declara uma variável chama-
da idade, que receberá um valor inteiro. Depois, o programa pede para 
alguém digitar uma idade (vamos chamar esse alguém de usuário). 
Nosso programa armazena o valor digitado na variável “idade” e, em 
seguida, compara esse valor com o número 16, verificando se ele é igual 
ou maior. Se essas duas condições forem consideradas verdadeiras, o 
programa escreve, na tela do usuário, que ele pode votar. Em qualquer 
outra hipótese, o programa escreve que a pessoa não pode votar.
Essa é a lógica que utilizamos para “explicar” ao computador o que 
ele deve fazer. Se tudo estiver certo, nosso algoritmo terá cumprido seu 
objetivo: identificar se uma pessoa tem idade para votar ou não. Se não 
estiver certo, precisamos identificar o erro e corrigi-lo.
41Algoritmos – variáveis
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.
Você já pode verificar o resultado desse algoritmo. Basta escrever es-
sas instruções em algum ambiente que entende os pseudocódigos, por 
exemplo, o VisuAlg ou o Portugol Studio. Antes, porém, vamos conhecer 
alguns elementos que constituem a estrutura do nosso pseudocódigo:
a. Declaração de variável: declarar uma variável é, simplesmente, 
reservar um espaço na memória do computador e dar um nome 
para esse espaço. Além disso, algumas linguagens são tipadas, 
ou seja, precisamos informar qual o tipo de dado que ela vai rece-
ber. Em nosso caso, foi um dado inteiro (pois uma idade é infor-
mada como inteiro).
 ◦ Exemplo: idade: inteiro nome: caracter
b. Bloco de instrução: existe uma sequência na qual devemos in-
formar as instruções, seja em pseudocódigo ou em uma lingua-
gem de programação comercial, como o JavaScritp. Em nosso 
caso, a palavra “var” indica as declarações das nossas variáveis; 
o bloco demarcado com as palavras “Início” e “Fim” é a área des-
tinada às escritas de nossas instruções (é onde toda a lógica de 
programação ocorre).
 ◦ Exemplo: 
var
 “declaração das variáveis”
Início
 “primeira instrução”
 “segunda instrução”
 ........
 “última instrução”
Fim
42 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
.c. Leia e escreva: essas são duas instruções de entrada (input) e saí-
da (output) de dados. Sempre que quisermos sair com um dado 
do nosso programa para a tela do usuário, usamos a instrução 
“escreva”. Tudo o que estiver entre aspas (“texto”) será impresso), 
e para o que estiver sem aspas (uma variável), será impresso o 
valor dessa variável. Quando quisermos entrar com um dado do 
usuário para nosso programa, usamos a instrução “leia”. Essa ins-
trução aguarda o usuário digitar o valor, via teclado, e armazena 
esse dado na variável declarada.
 ◦ Exemplo:
Início
 escreva: (“Digite sua nota”)
 leia: (nota_aluno)
 escreva: (“A nota informada foi ”, nota_aluno )
Fim
Note que, nesse algoritmo, pedimos um dado de entrada para o 
usuá rio (sua nota) e a armazenamos na variável chamada “nota_aluno”. 
Em seguida, o programa exibe, na tela do usuário, um dado de saída, 
parte em texto (o que está entre aspas), parte em valor armazenado 
pela variável (a nota digitada pelo usuário).
3 Declaração de variáveis e constantes
A pergunta que deve ser respondida aqui é: para que serve uma 
variável?
Vamos responder recorrendo a conceitos matemáticos básicos.
43Algoritmos – variáveis
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.
Lembra-se do X na matemática? De exercícios que começavam com 
“Encontre o valor do X na seguinte função”? Então, esse X era uma in-
cógnita que podia assumir determinados valores (no caso, números) e, 
quando encontrávamos seu valor, nossa equação podia ser resolvida.
Esse X guarda um valor que nós precisamos para resolver um pro-
blema, como na computação. Guardar um valor para ser usado para 
resolver uma tarefa é o papel de uma variável em nosso algoritmo. Mas 
como as variáveis armazenam valores? Essa pergunta é muito boa e 
precisamos de conceitos de arquitetura de hardware para entendê-la.
Quando declaramos uma variável, por meio de uma instrução em 
linguagem de programação no nosso algoritmo, estamos, na verdade, 
ordenando, ao computador, a reserva de um espaço de memória. Algu- 
mas memórias de computadores são como discos, divididos por trilhas 
e setores, como os HDs (discos rígidos), por exemplo (figura 2). O que 
reservamos é um ou mais setores para armazenarmos nossos dados.
Figura 2 – Discos de memórias (esquerda) e trilhas e setores destacados (direita)
Trilha
Setor
Imagine esse disco de memória como um bairro. As trilhas são as 
ruas do bairro e os setores, as casas. Para eu saber onde você mora, pre-
ciso do seu endereço, certo? O computador também precisa dessa infor-
mação. Ele guarda o endereço do espaço de memória na qual ordenamos 
44 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
.na nossa instrução. Isso é declarar uma variável! Há algumas outras pe-
quenas regras. Vamos a elas, então:
I. Toda variável precisa de um nome. E esse nome deve seguir algu-
mas características:
a. Temos restriçãoao primeiro caractere do nome, ele deve ser 
sempre uma letra do alfabeto, não pode ser um número ou 
símbolos gráficos como cifrão, arroba, etc. O único caractere 
aceitável diferente de uma letra é o underline. Exemplo: _idade.
b. Não pode haver espaço dentro do nome se for um nome com-
posto, como “nota do aluno”. Para separar, devemos utilizar o 
underline ou juntar todas as palavras. Exemplo: nota_do_aluno 
ou notaDoAluno.
c. Algumas linguagens de programação são case sensitive, ou 
seja, sensíveis a letras maiúsculas e minúsculas. Portanto, 
“notaDoAluno” é diferente de “notadoaluno”.
d. Duas variáveis não podem ter o mesmo nome. Se isso aconte-
cer, logo de início, o sistema acusará um erro, mas, mesmo se 
fosse possível começar, elas entrariam em conflito, sobrescre-
vendo as informações.
e. Existem algumas palavras reservadas da linguagem que 
também não podem ser utilizadas, como “escreva” e “leia”. 
Conheceremos mais algumas dessas palavras adiante.
II. Na maioria das linguagens, as variáveis devem ser tipadas, ou 
seja, precisamos identificar o tipo de dado que vamos armazenar 
nessa variável. No exemplo de identificar a pessoa que era apta 
para votar, declaramos uma variável para armazenar a idade do 
usuário, lembra-se?
E fizemos desta maneira: idade: inteiro.
45Algoritmos – variáveis
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.
Em pseudocódigo, precisamos informar o tipo de dado que a va-
riável “idade” vai armazenar. Nesse caso, um número inteiro. Mas 
existem outros tipos de dados que poderíamos armazenar em 
outras variáveis (os tipos descritos a seguir são tipos primitivos 
de dados, ou seja, de acordo com Melo e Silva [2010], são aqueles 
cujos valores são “atômicos” e não podem ser desmembrados 
em valores mais simples):
a. Inteiro: toda e qualquer informação numérica que pertence 
ao conjunto de números inteiros relativos (negativo, nulo ou 
positivo).
b. Real: também chamada de flutuante, toda e qualquer infor-
mação numérica que pertence ao conjunto dos números reais 
(negativo, nulo ou positivo).
c. Literais: também chamada de caractere, toda e qualquer in-
formação composta de um conjunto de caracteres alfanumé-
ricos (0 a 9), alfabéticos (A... Z, a... z) e especiais ( . , $ @ # ! ? ...).
d. Lógico: também conhecido como booleano, toda e qualquer 
informação que pode assumir apenas duas situações (verda-
deiro ou falso, sim ou não).
IMPORTANTE 
Os números armazenados em variáveis de tipo literal não poderão ser 
utilizados para cálculos. Eles são considerados caracteres, e não nú-
meros.
 
O JavaScript é uma linguagem case sentitive e segue todas as regras 
citadas anteriormente, porém, é fracamente tipada, ou seja, não precisa-
mos declarar o tipo de dado no qual vamos armazenar na nossa variá-
vel. De acordo com Flanagan (2013), o JavaScript trabalha com os tipos 
46 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
.primitivos de dados (apresentados anteriormente) e tipos compostos 
como objetos e funções. Abordaremos as funções, porém os objetos 
não fazem parte desta obra, são outro tipo de paradigma.
PARA SABER MAIS 
Caso você queira saber mais sobre esse paradigma de programação 
e as linguagens que suportam os conceitos de orientação a objetos, 
sugerimos a leitura da obra Java: como programar, de Deitel e Deitel 
(2010), capítulo 2.
 
Para declararmos uma variável em JavaScript, basta usarmos a pala-
vra reservada “var” e seguir as regras de nome. A única coisa que muda, 
aqui, é o uso de “;” (ponto e vírgula) no final de cada instrução. Exemplo:
var idade; 
var Nome_do_aluno;
E, para atribuir um valor a essas variáveis, basta usar o símbolo de 
atribuição “=” (igual). Exemplo:
Idade = 10;
Nome_do_aluno = “Allen”;
Lembre-se: o que é texto deve ser colocado entre aspas.
Veremos todos os símbolos e as expressões no próximo item deste 
capítulo. Antes, precisamos falar das constantes. Utilizamos o conceito 
de constante quando não podemos alterar os valores contidos nelas. Por 
exemplo, o valor de pi (letra grega que representa o valor, aproximado, de 
3,1415926). Esse valor é utilizado para realizar inúmeros cálculos trigono-
métricos e algébricos e não pode ser modificado. Nesse caso, declaramos 
47Algoritmos – variáveis
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.
uma constante com o uso da palavra reservada “const” e atribuímos a ela 
um valor fixo. O nome da constante segue as mesmas regras das variá-
veis, que são declaradas, em JavaScript, da seguinte maneira:
const Pi = 3.14159265
Observe que colocamos um ponto (.) para dividir as casas decimais 
do número. Isso ocorre por dois motivos: 1) Por ser o padrão america-
no de se apresentar um número real (ou ponto flutuante); 2) Algumas 
linguagens de programação utilizam a vírgula para separar variáveis e 
textos, num comando de saída de dados, por exemplo. Portanto, sem-
pre que for representar um número real, use o ponto.
Quando uma constante é declarada, seu valor já deve ser atribuído. 
Se, ao longo do programa, tentarmos alterar seu valor, o sistema indica 
um erro. Se omitirmos a palavra “const”, o sistema entenderá que se 
trata de uma variável, podendo alterar seu valor.
4 Expressões aritméticas, literais, relacionais, 
de lógica booleana
De acordo com Flanagan (2013), expressões são frases que o siste-
ma pode avaliar para produzir um valor. Muitas expressões são repre-
sentadas por símbolos e nos ajudam a realizar contas, atribuir valores 
às variáveis, obter o resultado de uma decisão, comparar valores, etc.
Para cada uma dessas situações, temos um conjunto de expressões 
específico.
4.1 Expressões aritméticas
Expressões aritméticas são aquelas realizadas com números, sejam 
eles inteiros ou reais. Muitas dessas expressões vêm da matemática. 
Os operadores que são permitidos nessas operações são:
48 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
.
OPERADOR SIGNIFICADO EXEMPLO
+ Adição 1 + 1
– Subtração 8 – 4
* Multiplicação 5 * 7
/ Divisão 520 / 45
% Módulo (resto da divisão) 65 % 6
** Exponenciação 5 → ** 2
4.2 4.2 Expressões literais
Expressões literais são aquelas cujo resultado é do tipo literal e muda 
muito de uma linguagem para outra. O operador mais simples é aquele 
que faz a concatenação entre dois trechos de texto, que podemos cha-
mar de string (corda, em português, se referindo a uma corda de caracte-
res). O operador de concatenação no pseudocódigo é o sinal “+”:
OPERADOR SIGNIFICADO EXEMPLO
+ Concatenação “Avenida” + “Paulista”
4.3 Expressões relacionais
As expressões relacionais permitem que se realizem comparações 
entre duas variáveis. O resultado da comparação é sempre um valor 
lógico (booleano), ou seja, verdadeiro ou falso.
Os operadores que podemos utilizar nessas expressões são:
49Algoritmos – variáveis
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da RedeSenac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
OPERADOR SIGNIFICADO EXEMPLO
> Maior a > 7
>= Maior ou igual b >= a
< Menor c < 5
<= Menor ou igual c <= b
== Igual a a == 9
!= ou <> Diferente de b != 0 ou b <> 0
Em algumas linguagens, como em instruções SQL, por exemplo, o 
símbolo de “diferente” são os sinais de menor e maior juntos <>. Saber 
quando usar o != (não igual) ou <> é uma questão de sintaxe da lingua-
gem na qual você estiver trabalhando.
4.4 Expressões de lógica booleana
Utilizamos as expressões lógicas para analisar condições, criamos 
condições que nos retornam 1 ou 0 ou, então, verdadeiro ou falso. Os 
operadores utilizados para fazermos essa lógica são:
OPERADOR SIGNIFICADO EXEMPLO
&&
E lógico
Conjunção
(Nota >=7.0) && (freq. >= 75)
 Se a nota for igual ou maior que 7.0 e a frequência for maior 
ou igual a 75, retorna um valor VERDADEIRO (e podemos dizer 
que o aluno está APROVADO). Caso contrário, retorna um valor 
FALSO (e podemos afirmar que o aluno está REPROVADO).
||
OU lógico
Disjunção
(Nota < 0) || (Nota > 10)
Se a nota for menor que zero ou se a nota for maior que 10, 
retorna um valor VERDADEIRO (e podemos dizer que a nota é 
inválida). Caso contrário, retorna um valor FALSO (e podemos 
dizer que a nota é válida, pois está num intervalo entre 0 e 10).
(cont.)
50 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
.
OPERADOR SIGNIFICADO EXEMPLO
! Negação
 ! (a > 3)
 Se o valor de “a” for maior que 3, então retornará FALSO, caso 
contrário, retornará VERDADEIRO. O resultado de retorno é 
invertido.
As expressões lógicas são compostas pelos operadores lógicos && 
(E) e || (OU). Para entendermos o tipo de retorno, nesses casos, precisa-
mos verificar a chamada “tabela verdade”. Essa tabela verifica os valo-
res de cada expressão e retorna um valor final de “falso” ou “verdadeiro”.
Vejamos a tabela verdade do operador lógico E (&&):
CONDIÇÃO 1 CONDIÇÃO 2 RESULTADO
V V V
V F F
F V F
F F F
Para retornar o valor “verdadeiro”, todas as condições devem ser 
verdadeiras, no uso do operador lógico E. Veja nosso exemplo anterior: 
para afirmarmos que o aluno está aprovado, a nota dele deve ser maior 
ou igual a 7,0 (a condição 1 é verdadeira) e sua frequência deve ser 
maior ou igual a 75 (a condição 2 é verdadeira). Qualquer uma dessas 
condições sendo falsa, diremos que o aluno está reprovado.
Agora, vejamos a tabela verdade do operador lógico OU (||):
CONDIÇÃO 1 CONDIÇÃO 2 RESULTADO
V V V
V F V
(cont.)
51Algoritmos – variáveis
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.
CONDIÇÃO 1 CONDIÇÃO 2 RESULTADO
F V V
F F F
Para retornar “verdadeiro”, basta que apenas uma das condições seja 
verdadeira se estivermos usando o operador lógico OU. Novamente, 
analisando o exemplo anterior, podemos dizer que a nota é inválida (ou 
seja, não está num intervalo entre 0 e 10), caso a condição 1 ou a condi-
ção 2 seja verdadeira, qualquer uma delas. 
Veja a condição 1: nota < 0 (nota é menor que zero). Se essa con-
dição for verdadeira, já podemos afirmar que a nota está inválida, sem 
precisar verificar a condição 2.
Já a negação é usada em casos em que queremos negar nossa 
verificação. Você deve estar se perguntando: para que faríamos isso? 
É mais uma questão probabilística. Por exemplo: imagine um jogo de 
dado (um dado comum, com 6 lados). Toda vez que saírem os números 
1, 2, 3, 4 ou 5, o sistema acumulará nossos pontos e nos dirá para con-
tinuar jogando. Mas, se sair o número 6, perdemos tudo e passamos a 
vez para o próximo jogador.
Para esse problema, poderíamos usar a seguinte expressão:
(dado == 1) || (dado == 2) || (dado == 3) || (dado == 4) || (dado == 5)
Se qualquer uma dessas condições fosse verdadeira, nosso número 
acumularia e jogaríamos novamente. Porém, observe como essa ex-
pressão ficou grande e difícil de ser testada (em casos mais complexos, 
poderia haver muito mais condições)! Como poderíamos deixar mais 
simples e eficiente nosso algoritmo?
Basta compararmos aquilo que não queremos e inverter o resultado. 
Ficaria assim:
52 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
.
! (dado == 6)
Nesse caso, se o dado for 6, o resultado seria verdadeiro, certo? Mas 
o algoritmo entende o verdadeiro como para acumular nosso número 
e continuar jogando. Entretanto, como invertemos nossa comparação 
(para facilitar nosso código), temos que inverter, também, nosso resul-
tado (com o uso do símbolo de exclamação !). Assim, sempre que der o 
número 6, retornamos o valor falso, dizendo para o sistema não acumu-
lar nosso número e não nos deixar jogar de novo.
Treine todas as expressões vistas neste capítulo, principalmente as 
lógicas, e aprimore seu pensamento lógico. Isso vai ajudar muito a com-
preender a programação e a resolver nosso projeto de software. 
Considerações finais
Pseudocódigo é uma forma de instruirmos o computador a executar 
os comandos do nosso algoritmo a fim de concluirmos determinada 
tarefa.
Entretanto, para que isso funcione, devemos seguir um padrão de 
programação e impor à máquina todas nossas intenções, que consti-
tuem o passo a passo do algoritmo desejado. Parte dessas intenções é 
armazenar valores em variáveis com a finalidade de manipular dados e 
resolver problemas.
Como vimos, as variáveis são espaços de memória aos quais o com-
putador tem acesso por meio de seu endereço. Além disso, as variáveis 
têm nome e atribuição de valores.
Por fim, vimos que as expressões são de extrema importância para 
tomarmos decisões em nosso algoritmo. Existem vários tipos delas, 
como as aritméticas, as literais, as relacionais e, principalmente, as 
53Algoritmos – variáveis
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.
lógicas, que são importantes para decisões de condições e refletem as 
regras do problema.
Referências
DEITEL, Paul J.; DEITEL, Harvey M. Java: como programar. 8. ed. São Paulo: 
Pearson Prentice Hall, 2010. 
FLANAGAN, David. JavaScript: o guia definitivo. 6. ed. Porto Alegre: Bookman, 
2013.
MARTINS, Paulo Roberto. Linguagens e técnicas de programação I: análise e 
desenvolvimento de sistemas. São Paulo: Pearson Education, 2009.
MELO, Ana Cristina Vieira de; SILVA, Flávio Soares Corrêa. Princípios de lingua-
gens de programação. São Paulo: Blucher, 2010.
SEBESTA, Robert W. Conceitos de linguagens de programação. 5. ed. Porto 
Alegre: Bookman, 2003.
55
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 4
Algoritmos – 
condicionais
Neste capítulo, vamos abordar a importância de tomarmos uma de­
cisão. A tomada de decisão não é um recurso computacional, apenas. 
Ela faz parte

Continue navegando