Buscar

Apostila Arquitetura Orientada

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

Desenvolvimento 
de sistemas
Allen Oberleitner
Luís Carlos S. Silva
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
.
Dados Internacionais de Catalogação na Publicação (CIP)
(Jeane Passos de Souza – CRB 8a/6189)
Oberleitner, Allen 
 Desenvolvimento de sistemas / Allen Oberleitner, Luís Carlos S. 
Silva. – São Paulo: Editora Senac São Paulo, 2019. (Série Universitária)
	 Bibliografia.
 e-ISBN 978-85-396-2809-4 (ePub/2019)
 e-ISBN 978-85-396-2810-0 (PDF/2019)
	 1.	 Desenvolvimento	 de	 sistemas 2.	 Linguagem	 de	 programação  
3.	 Algoritmos	 –	 Conceitos 4.	 Programação	 orientada	 a	 objetos  
5.	 Banco	 de	 dados	 (Ciência	 da	 computação) I.	 Silva,	 Luís	 Carlos	 S.  
II.	Título. III.	Série		
19-950t CDD – 003
 005.13
 005.74
BISAC COM051000
COM051010
COM051300
COM051210
Índice para catálogo sistemático
1. Desenvolvimento de sistemas 003 
2. Linguagem de programação 005.13
3. Banco de dados (Ciência da computação) 005.74
DESENVOLVIMENTO 
DE SISTEMAS
Allen Oberleitner 
Luís Carlos S. Silva
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.
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)
Designer Educacional
Jussara Cristina Cubbo 
Revisão Técnica
Lenilson Lemos Vila Boas 
Coordenação de Preparação e Revisão de Texto
Luiza Elena Luchini
Preparação de Texto
Asa	Comunicação	e	Design
Revisão de Texto
Asa	Comunicação	e	Design
Projeto Gráfico
Alexandre Lemes da Silva 
Emília Corrêa Abreu
Capa
Antonio Carlos De Angelis
Editoração Eletrônica
Michel Iuiti Navarro Moreno
Ilustrações
Michel Iuiti Navarro Moreno
Imagens
iStock Photos
E-pub
Ricardo Diana
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
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.editorasenacsp.com.br
© Editora Senac São Paulo, 2019
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
.
Capítulo 1 
Apresentação inicial 
sobre desenvolvimento 
de sistemas, 7
1 Evolução	do	desenvolvimento	de	
sistemas, 8
2 Utilização	dos	conceitos	na	 
prática,	16
Considerações	finais,	17
Referências, 18
Capítulo 2 
Introdução a algoritmos, 21
1 	 Introdução	a	algoritmos,	22
2 Conceitos de algoritmos, 24
3 Descrição	narrativa	de	um	
algoritmo, 27
4		 Representação	de	algoritmos	por	
fluxograma,	29
Considerações	finais,	33
Referências, 33
Capítulo 3 
Algoritmos variáveis, 35
1		 Programação	imperativa,	36
2 Utilização	de	pseudocódigo,	40
3		 Declaração	de	variáveis	e	
constantes, 44
4 Expressões	aritméticas,	literais,	
relacionais	e	de	lógica	booleana,	49
Considerações	finais,	52
Referências, 52
Capítulo 4 
Algoritmos: condicional, 53
1		 A	arte	de	tomar	decisões,	54
2 Estrutura de controle condicional 
simples,	60
3 Estrutura de controle condicional 
composta,	62
Considerações	finais,	66
Referências, 67
Capítulo 5 
Algoritmos: repetição, 69
1		 Repetir	para	aprender,	70
2 Enquanto-faça	(while), 73
Considerações	finais,	79
Referências, 80
Capítulo 6 
Algoritmos: vetores, 81
1 Teoria	dos	conjuntos,	82
2 Conceito de vetores, 84
3 Manipulando	vetores,	86
Considerações	finais,	93
Referências, 94
Capítulo 7 
Algoritmos: matrizes, 95
1 Matriz é tabela?, 96
2 Conceito de matriz, 98
3 Manipulando	matriz,	99
Considerações	finais,	105
Referências, 106
Capítulo 8 
Programação estruturada, 107
1 Linguagem	de	programação,	108
2 Linearidade, 113
3		 Programação	estruturada,	114
Considerações	finais,	117
Referências, 118
Capítulo 9 
Programação: funções 
e procedimentos, 119
1		 Conceitos	de	função,	120
2 Procedimento, 127
3 Aplicando	funções,	129
Considerações	finais,	133
Referências, 134
Sumário
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.
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
.
Capítulo 10 
Programação: arquivo, 135
1 Processo arquivado!, 136
2 Conceitos de arquivo, 138
3		 Manipulando	arquivo,	144
Considerações	finais,	148
Referências, 149
Capítulo 11 
Programação orientada 
a objetos, 151
1 Conceito de POO, 152
2		 Classes	e	objetos,	155
3 Aplicação	de	POO,	159
Considerações	finais,	163
Referências, 163
Capítulo 12 
Programação orientada 
a objetos: classes, 165
1		 Composição	da	classe,	166
2 Instâncias, 178
Considerações	finais,	181
Referências, 181
Capítulo 13 
Programação orientada 
a objetos: Python, 183
1 Linguagem orientada a 
objetos,	184
2 Conceitos de Python, 188
3 Aplicação	de	POO:	Python,	193
Considerações	finais,	196
Referências, 197
Capítulo 14 
Banco de dados, 199
1 Armazenamento de dados, 200
2 Modelos de banco de dados, 204
3 Conceito de banco de dados, 206
4 Instâncias ou ocorrências de uma 
entidade, 210
Considerações	finais,	211
Referências, 212
Capítulo 15 
Linguagem SQL, 213
1 Utilização	de	SQL	nas	 
aplicações,	214
Considerações	finais,	225
Referências, 226
Capítulo 16 
Atualização de tabelas em 
aplicações, 227
1 Conceitos de CRUD (Create, Read, 
Update,	Delete)	para	SQL,	228
Considerações	finais,	238
Referências, 238
Sobre os autores, 241
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.
Estamos	 na	era	dos	nativos	digitais,	pessoas	 que	 já	nasceram	em	
um	mundo	automatizado,	virtualizado	e	conectado	à	internet.	
Mas	como	essa	tecnologia	chegou	ao	que	conhecemos	hoje?
Na	segunda	metade	do	século	XX,	após	o	fim	da	guerra	mundial,	os	
primeiros	softwares	começaram	a	surgir.	Até	aquela	época,	os	compu-
tadores	eram	programados	por	meio	de	chaves	manuais	e	sua	utiliza-
ção	era	muito	trabalhosa	e	restrita,	se	comparado	aos	dias	atuais.
Capítulo 1
Apresentação 
inicial sobre 
desenvolvimento 
de sistemas
8 Desenvolvimentode sistemas 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
.
Essa	 primeira	 era	 de	 softwares	 foi	 marcada	 pelo	 uso	 básico,	 pois	
naquela	época	não	havia	muito	interesse	no	desenvolvimento.	Como	os	
computadores	eram	muito	limitados,	era	possível	executar	apenas	um	
programa	de	cada	vez.
Com	a	visão	de	novas	possibilidades	e	as	necessidades	do	mercado,	
os	computadores	começaram	a	ficar	maiores,	deixaram	de	utilizar	vál-
vulas	–	que	eram	lentas	e	de	alta	manutenção,	pois	queimavam	muito	
–,	 migrando	 para	 a	 utilização	 de	 componentes	 microeletrônicos,	 que,	
mesmo	nas	primeiras	versões,	já	apresentavam	um	poder	computacio-
nal muito maior.
Conforme	 as	 décadas	 foram	 passando,	 assim	 como	 a	 tecnologia	
dos	computadores	cresceu	exponencialmente,	os	softwares	buscaram	
acompanhar	essa	evolução,	otimizando	os	recursos	e	trazendo	novas	
funcionalidades	para	este	poder	computacional.
1 Evolução do desenvolvimento de sistemas
No	mundo	digital	em	que	vivemos,	a	utilização	de	programas	e	sis-
temas	 está	 presente	 em	 praticamente	 tudo	 que	 nos	 cerca,	 mas	 para	
chegarmos	 onde	 estamos	 hoje	 a	 programação	 de	 softwares	 passou	
por	um	longo	caminho.
A	evolução	da	programação	está	diretamente	 ligada	à	história	dos	
computadores,	 e,	 para	 entendermos	 melhor	 esse	 conceito,	 falaremos	
um	pouco	sobre	isso.
“A necessidade de desenvolver ferramentas que facilitassem o uso e 
o	manuseio	de	operações	de	cálculos	fez	com	que	o	ser	humano	che-
gasse	 ao	 estágio	 atual	 de	 desenvolvimento	 da	 área	 da	 computação”	
(MANZANO,	1996,	p.	17).
A	palavra	computador	significa	o	que	computa	ou	aquele	que	cal-
cula.	 Na	 verdade,	 os	 computadores	 não	 só	 calculam,	 mas	 também	
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.
executam outras tarefas associadas, como receber, transmitir e arma-
zenar dados.
Todo	 o	 computador	 é	 composto	 essencialmente	 por	 duas	 partes,	
conforme	a	figura	1:
Figura 1 – Hardware versus software
HARDWARE – É a parte física do computador, ou seja, 
tudo aquilo que podemos tocar. O monitor, teclado, 
mouse, impressoras, assim como todas as placas, 
circuitos e discos que são guardados dentro do gabinete, 
são considerados hardwares. Seu funcionamento básico 
é receber informações, processá-las e depois devolvê-las 
como resultado.
SOFTWARE – É a parte lógica do computador, são 
todas as instruções e comandos criados a partir 
de algoritmos que dizem o que ele deve fazer. Os 
programas são conjuntos destas instruções e comentos 
que, em conjunto, executam uma tarefa específica.
Fonte:	adaptado	de	Capron;	Johnson	(2004).
1.1 Como tudo começou
O	Eniac	foi	o	primeiro	computador	digital	de	larga	escala,	construí-
do	para	quebrar	códigos	de	comunicação	do	exército	inimigo	e	realizar	
vários	tipos	de	cálculos,	principalmente	de	artilharia,	afim	de	ajudar	as	
tropas	aliadas	durante	a	Segunda	Guerra	Mundial;	contudo,	foi	mais	uti-
lizado	nos	últimos	anos	da	Guerra	Fria.
Segundo	 Platzman	 (1979),	 ele	 foi	 construído	 na	 escola	 Moore	 por	
ordem	do	exército	dos	EUA.	A	equipe	contava	com	o	engenheiro-chefe	
J.	 Presper	 Eckert,	 atuando	 inicialmente	 nos	 conceitos	 básicos	 desen-
volvidos	 por	 John	 W.	 Mauchly,	 que	 atuou	 como	 principal	 engenheiro	
10 Desenvolvimento de sistemas 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
.
construtor	 e	 como	 consultor	 do	 departamento	 da	 artilharia	 america-
na	 Herman	 H.	 Goldstine.	 O	 matemático	 húngaro	 John	 Von	 Neumann	
também	participou	do	projeto,	desenvolvendo	uma	lógica	de	números	
pseudoaleatórios,	 que	 trouxe	 um	 grande	 ganho	 de	 desempenho.	 Este	
computador	 foi	 construído	 na	 década	 de	 1940,	 sendo	 composto	 por	
quase	18	mil	válvulas,	utilização	que	marca	a	primeira	geração	de	com-
putadores	e	originava	repetidos	problemas	de	manutenção,	pois	estas	
queimavam com frequência.
De acordo com Matsuura (2016), mulheres como Ada Lovelace e 
Grace	 Hopper	 foram	 fundamentais	 para	 o	 avanço	 dos	 softwares.	 As	
seis	 programadoras	 do	 projeto	 Eniac	 criaram	 o	 sistema	 do	 primeiro	
computador	eletrônico	digital,	mas	nenhuma	recebeu	o	devido	crédito.
Embora	o	sistema	operacional	do	Eniac	fosse	feito	por	cartões	per-
furados,	a	programação	não	era	através	de	linguagem,	e	sim	por	chaves	
manuais.	Larry	Gonick	(1983)	explica	que	as	válvulas,	entre	outras	fun-
ções,	mostravam	o	resultado	dos	cálculos,	da	mesma	maneira	que	hoje	
usamos os monitores.
Mesmo	que	a	sua	arquitetura	seja	enorme,	a	quantidade	de	proces-
samento	não	se	comparava	à	dos	computadores	atuais.
1.2 O início de uma revolução
No	fim	da	Segunda	Guerra	Mundial,	na	década	de	1940,	a	maioria	das	
pesquisas	 em	 todo	 o	 mundo,	 principalmente	 nos	 EUA	 e	 na	 Inglaterra,	
sobre	 programas	 era	 financiada	 pelos	 governos	 e	 desenvolvida	 como	
projetos	de	ciência	por	universidades,	e	outras,	mais	específicas,	pelo	
exército.	 Os	 computadores	 eram	 muito	 grandes	 e	 caros,	 por	 isso	 só	
eram	usados	por	especialistas.	Era	um	mundo	ainda	muito	restrito,	e	as	
comunidades	de	especialistas	trabalhavam	juntas	para	chegar	a	progra-
mas	 que	 fizessem	 os	 computadores	 executarem	 tarefas	 específicas.	
Nesta	fase,	não	existiam	grandes	investimentos,	pois	ainda	não	interes-
sava	às	empresas	e	ao	público.
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.
O	sistema	operacional	utilizado	era	o	Unix,	desenvolvido	pela	AT&T	
nos	laboratórios	Bell,	em	1969;	já	os	hardwares	não	eram	específicos,	
montados	conforme	a	necessidade,	utilizando	uma	mistura	de	compo-
nentes	definidos	e	configurados	por	eles.	Esses	computadores	ficavam	
muito	grandes	e	eram	utilizados	em	salas	bem	espaçosas.	
Na	metade	do	século	XX,	o	mundo	iniciou	uma	grande	evolução	da	
tecnologia,	unindo	os	conhecimentos	científicos	e	a	produção	industrial.	
As	indústrias	concentraram	seus	trabalhos	na	pesquisa	e	conhecimen-
to,	dando	início	à	chamada	3a	Revolução	Industrial.
Com	o	início	do	interesse	das	empresas	pelos	computadores,	eles	
começaram	a	receber	configurações	padronizadas	e	uma	considerável	
redução	de	tamanho.
1.3 O nascimento da Apple
Pouco	depois,	em	meados	dos	anos	1970,	dois	jovens	muito	talen-
tosos	decidiram	criar	algo	para	o	público.	Steve	Wozniak	–	detentor	de	
grandes	conhecimentos	em	programação	–	e	Steve	Jobs	–	um	gênio	
em	vendas	–	uniram	suas	habilidades	e	criaram	a	primeira	empresa	a	
vender	computadores	de	boa	performance	para	usuários	sem	grande	
conhecimento.	Assim	nascia	a	Apple.
A	intenção	era	desenvolver	um	computador	confiável,	relativamente	
pequeno	 e	 que	 pudesse	 ser	 usado	 em	 qualquer	 residência;	 para	 isso,	
utilizaram	o	sistema	Unix,	o	mesmo	sistema	empregado	pelos	especia-
listas,	mas	com	comandos	mais	simples	e	um	ambiente	mais	amigável.	
Queriam	que	fosse	tão	popular	quanto	um	eletrodoméstico.
PARA SABER MAISAté hoje, o fator de maior sucesso da Apple é o cuidado com os clien-
tes: mais potência nas configurações, utilizando os componentes mais 
12 Desenvolvimento de sistemas 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
.
seguros do mercado e menos botões por fora, ou seja, o mais simples e 
intuitivo possível para os usuários.
 
Quinafelex	 (2014)	 destaca	 o	 lançamento	 do	 Apple	 I	 no	 Homebrew	
Computer	Club	–	clube	criado	por	entusiastas	de	tecnologia,	que	se	reu-
niam	no	Vale	do	Silício.	Esse	modelo	era	formado	por	um	kit	com	placa	
principal,	que	poderia	ser	comprada	em	pequenas	lojas.	Esse	kit	tinha	
de	se	“adaptar”,	pois	não	possuía	seu	próprio	gabinete.	O	aparelho	tinha	
um	processador	de	1	MHz	e	uma	memória	RAM	de	8	KB.	Inicialmente,	
o	preço	era	por	volta	de	US$	667.
1.4 Microsoft, uma nova visão entra no mercado
Segundo	 Bill	 Gates	 (1995),	 com	 o	 interesse	 do	 público	 crescendo	
pela	 aquisição	 de	 computadores	 pessoais,	 empresas	 como	 a	 IBM	 ti-
nham	o	controle	da	produção	de	hardwares	e	decidiram	fabricar	seus	
próprios	computadores.
O	grande	problema	era	que	a	Apple	não	concordou	em	fornecer	seu	
sistema	operacional,	uma	vez	que	sua	intenção	também	era	vender	um	
produto	completo,	com	hardware	e	software	juntos.
Neste	 cenário,	 surgiram	 Bill	 Gates,	 Paul	 Allen	 e	 Steve	 Ballmer.	 Eles	
aceitaram	 o	 desafio	 de,	 em	 um	 curto	 espaço	 de	 tempo,	 fornecer	 um	
sistema	 operacional.	 Sabendo	 que	 tinham	 um	 grande	 desafio	 e	 pou-
co	tempo	para	entregar,	em	1980	compraram	o	“QDOS”	–	um	sistema	
operacional	com	várias	falhas	e	bugs.	Corrigindo	os	erros	e	realizando	
diversas	melhorias,	o	transformaram	no	DOS	–	Sistema	Operacional	de	
Disco	(da	sigla	em	inglês,	disk	operating	system).	Assim,	conseguiram	
cumprir	o	prazo	e	entregar	o	sistema	para	o	grupo	de	empresas.
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.
Figura 2 – Tela da DOS – sistema operacional da Microsoft
Atelsek	 (1983)	 compara	 o	 sistema	 operacional	 do	PC	 a	uma	 caixa	
de ferramentas que temos em casa. Primeiro, colecionamos as mais 
básicas	ou	essenciais,	que	realizam	as	tarefas	mais	simples,	como	uma	
chave de fenda, um alicate, um martelo, etc. Conforme vão surgindo 
outras	necessidades,	vamos	adquirindo	ferramentas	mais	específicas,	
como furadeira, serra elétrica e outras.
A	 Microsoft,	 diferente	 da	 Apple,	 utilizou	 a	 tática	 de	 fornecer	 o	 seu	
sistema	 para	 o	 máximo	 de	 fabricantes	 de	 hardware	 possível.	 Esta	 tá-
tica	 acabou	 trazendo	 vários	 problemas,	 como	 incompatibilidade	 com	
o	hardware	de	alguns	fabricantes	e	até	problemas	de	segurança	com	
vírus.
Tanenbaum	(2009)	diz	que	as	primeiras	versões	do	Windows	apre-
sentavam	uma	tela	colorida	com	recursos	gráficos,	mas	ainda	utilizam	
muitos	arquivos	de	configuração	do	DOS.		
1.5 Uma grande mudança no mercado
A	possibilidade	da	utilização	dos	computadores	nas	casas	e	escri-
tórios	impulsionou	grandes	mudanças	na	economia	e	no	mercado	de	
trabalho.
14 Desenvolvimento de sistemas 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	Rifkin	(2014),	com	a	aplicação	da	tecnologia	nas	indústrias,	
inicialmente,	os	valores	dos	produtos	não	eram	baixos,	mesmo	utilizan-
do	pouca	matéria-prima,	pois	os	gastos	com	estudos	e	pesquisas	eram	
altos.
Neste contexto, as atividades que mais se destacaram no mercado 
eram	as	vinculadas	à	produção	de	softwares,	computadores	e	os	circui-
tos	microeletrônicos.	Estes	produtos	estavam	em	alta,	pois	eram	neces-
sários	para	a	produção	de	equipamentos	na	área	da	robótica,	telefonia,	
televisão e internet.
Figura 3 – Linha de montagem da indústria automobilística utilizando robôs autômatos 
Fica	claro	um	ciclo	de	dependência	entre	eles,	sendo	que	a	inovação	
de	um	item	afeta	diretamente	a	evolução	dos	demais.
Na	década	de	1990,	com	o	surgimento	dos	computadores	com	am-
biente	gráfico	e	a	popularização	da	internet,	as	empresas	começaram	
uma	corrida	para	acompanhar	esse	crescimento.
A	rotina	dos	escritórios,	naquela	época,	era	muito	diferente	do	que	
vivemos	 nos	 dias	 de	 hoje.	 Como	 os	 computadores	 ainda	 não	 eram	
utilizados	 para	 estas	 atividades,	 tudo	 era	 feito	 em	 folhas	 de	 papel	 e	
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.
armazenado	 em	 grandes	 fichários	 e	 arquivos.	 Como	 a	 internet	 ainda	
não	 era	 usada,	 todos	 os	 documentos	 eram	 enviados	 e	 recebidos	 por	
meio de cartas e malotes.
Era	necessário	transformar	todos	aqueles	documentos,	fichas	e	plani-
lhas em documentos digitais e registros organizados em banco de dados.
No	mercado	de	trabalho	também	tivemos	grandes	mudanças,	como	
por	exemplo	uma	corrida	para	formar	e	preparar	os	funcionários	para	
essa	 nova	 tecnologia.	 Também	 cresceu	 muito	 o	 trabalho	 temporário,	
contratando	digitadores	para	realizarem	essa	transação	digital,	uma	vez	
que	ainda	não	havia	programas	de	digitalização	confiáveis	como	temos	
nos	dias	de	hoje.	
O	mercado	de	softwares	começou	a	criar	programas	para	atender	
às	 empresas	 –	 eram	 programas	 que	 realizavam	 tarefas	 específicas,	
sem	 nenhuma	 integração.	 Era	 muito	 comum	 andarmos	 por	 uma	 loja	
de	 materiais	 de	 escritório	 e	 nos	 depararmos	 com	 prateleiras	 repletas	
de	caixas	parecidas	com	caixas	de	cereais,	contendo	os	mais	diversos	
títulos	de	aplicação,	como	por	exemplo	controle	de	estoque,	cadastro	
de	clientes,	folha	de	pagamento,	controle	de	vendas,	etc.
O	grande	problema	desses	programas	era	a	falta	de	integração	entre	
eles;	por	exemplo,	como	o	programa	de	vendas	não	estava	interligado	
com	o	controle	de	estoque,	a	atualização	no	estoque	referente	às	vendas	
feitas	no	dia	tinha	de	ser	feita	manualmente,	no	fim	do	expediente	ou	no	
início	do	dia	seguinte.	Outro	aspecto	negativo	era	o	fato	de	nem	sempre	
esses	programas	terem	o	formato	necessário	para	aquele	determinado	
serviço,	uma	vez	que	eram	genéricos	e	produzidos	em	massa.
Atualmente,	os	softwares	são	desenvolvidos	exclusivamente,	con-
forme	a	necessidade	de	cada	empresa.	São	sistemas	integrados	que	
não	atendem	a	todas	as	áreas	da	empresa,	automatizando	todas	as	
informações,	mas	também	se	conectam	com	as	filiais,	empresas	par-
ceiras e fornecedores.
16 Desenvolvimento de sistemas 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 Utilização dos conceitos na prática
Nos	dias	atuais,	temos	vivenciado	um	crescimento	exponencial	da	
tecnologia	–	os	sistemas	desenvolvidos	hoje	executam	atividades	com-
plexas,	impensáveis	há	poucos	anos.
Acabamosnão	percebendo,	mas	ela	está	a	nossa	volta,	em	todos	os	
lugares	–	chamamos	isso	de	computação	ubíqua.
Weiser	 (1999)	 firmou	 esse	 termo	 com	 a	 ideia	 que	 as	 tecnologias	
mais	profundas	são	aquelas	que	desaparecem,	referindo-se	à	conexão	
de	dispositivos	que	nem	se	fazem	notar,	mas	estão	por	toda	a	parte.
Utensílios	 de	 uso	 diário,	 como	 smartphones,	 tablets,	 televisores,	
computadores	de	bordo	de	carros,	eletrodomésticos,	sistemas	de	segu-
rança,	etc.,	todos	estão	conectados	à	internet	e	incorporados	a	nossos	
hábitos, facilitando o nosso dia a dia.
 Essas são algumas das fontes do oceano de dados que é o Big Data 
–	tecnologia	que	hoje	traz	avanços	a	todas	as	áreas,	cruzando	dados	e	
formando	soluções.
Hoje,	podemos	ver	na	prática	os	grandes	avanços	e	poderíamos	citar	
centenas	de	inovações,	mas	vamos	falar	das	mais	impactantes.
2.1 A Internet das Coisas
Segundo	a	SAP	(2018),	a	Internet	das	Coisas	é	uma	rede	composta	
de	 objetos	 físicos,	 que	 podem	 ser	 veículos,	 máquinas,	 eletrodomésti-
cos,	etc.	Esses	objetos	utilizam	sensores	e	APIs	para	se	conectar	e	tro-
carem	dados	pela	internet.	
Utilizando	várias	tecnologias,	como	aplicativos,	dispositivos	eletrôni-
cos e internet, ela integra, monitora e realiza uma série de eventos.
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.
Podemos encontrar essa tecnologia em diversas áreas de nossas 
vidas,	no	computador	de	bordo	de	um	carro,	em	equipamentos	de	se-
gurança	em	nossa	residência,	em	eletrodomésticos,	e	muitos	outros.
2.2 Inteligência artificial e cognitiva
A	inteligência	artificial	é	a	área	da	tecnologia	que	se	propõe	a	elabo-
rar	sistemas	baseados	em	algoritmos	complexos,	que	simulem	a	capa-
cidade	humana	de	analisar	e	resolver	os	problemas	e	tomar	decisões.
Já a inteligência cognitiva, segundo D’Egmont (2016), difere da inteli-
gência	artificial,	porque	o	sistema	cognitivo	é	capaz	de	aprender.
O	exemplo	mais	famoso	desse	sistema	é	o	Watson	da	IBM,	uma	pla-
taforma	de	serviços	cognitivos,	ou	seja,	você	pode	ensiná-lo	a	resolver	
problemas.	Hoje,	ele	é	utilizado	para	as	mais	diversas	aplicações,	desde	
atendimentos	telefônicos	e	chats,	até	auxílio	na	leitura	de	exames	mé-
dicos	complexos.
Além	de	aprender	com	as	informações	que	recebe,	ele	também	con-
ta	com	uma	aplicação	que	reconhece	o	que	compõe	a	imagem.	Esse	
recurso	pode	ser	utilizado	em	diversas	atividades,	tendo	um	espaço	es-
pecial	na	segurança.	
Considerações finais
O	 desenvolvimento	 de	 sistemas	 está	 em	 ciclo	 de	 evoluções	 contí-
nuas.	Em	relação	a	outras	ciências	que	os	homens	estudam,	a	tecnolo-
gia	é	a	que	mais	cresce	e	contribui	para	o	progresso	das	demais.	Ela	é	
muito	nova,	tem	décadas,	mas	já	se	tornou	vital	para	todos.
Os	ciclos	têm	sido	cada	vez	mais	curtos,	pois	a	disseminação	de	co-
nhecimento	é	maior	a	cada	dia	e	vemos	profissionais	do	mundo	inteiro	
trazendo	 mais	 e	 mais	 inovações.	 A	 necessidade	 de	 adaptação	 a	 este	
novo mundo é cada vez maior.
18 Desenvolvimento de sistemas 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
.
Referências
ATELSEK,	Jean.	Tudo sobre computadores.	São	Paulo:	Editora	Quark,	1983.
CAPRON,	 H.	 L.;	 JOHNSON,	 J.	 A.	 Introdução à informática. 8. ed. São Paulo: 
Editora Pearson Prentice Hall, 2004.
D’EGMONT,	Tahiana.	O que é Watson? Plataforma cognitiva? Inteligência ar-
tificial? Um robô?,	16		dez.	2016.	Disponível	em:	<https://www.ibm.com/blogs/
digital-transformation/br-pt/o-que-e-watson-plataforma-cognitiva-inteligencia-
-artificial-robo/>. Acesso em: 27 ago. 2018. 
GATES,	Bill.	A estrada do futuro.	São	Paulo:	Companhia	das	Letras,	1995.
GONICK,	Larry.	Introdução ilustrada à computação.	São	Paulo:	Harper	&	Row	
do Brasil, 1983.
MANZANO,	J.	A.	N.	G.;	OLIVEIRA, J. F. Algoritmos:	lógica	para	desenvolvimento	
de	programação.	São	Paulo:	Editora	Érica,	1996.
MATSUURA, S. Hoje minoria da indústria de tecnologia, mulheres foram fun-
damentais na gênese da computação,  14	 fev.	 2015.	 Disponível	 em:	 <https://
oglobo.globo.com/sociedade/historia/hoje-minoria-na-industria-de-tecnologia-
-mulheres-foram-fundamentais-na-genese-da-computacao-15336779#ixzz5P-
J1tCp6j>.	Acesso	em:	27	ago.	2018.
PLATZMAN,	G.	W.	The	ENIAC	computations	of	1950	—	gateway	to	numerical	
weather	 prediction.  Bulletin of the American Meteorological Society, v. 60, 
n.	4,	p.	302-312,	1979.
QUINAFELEX,	 R.	 Confira a evolução dos computadores de mesa da Apple, 
desde a origem.	27	out.	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:	27	ago.	2018.
RIFKIN,	J.	A Terceira Revolução Industrial. São Paulo: Bertrand Editora, 2014.
SAP. O que é Internet das Coisas (IoT)? [s.	 d.].	 Disponível	 em:	 <https://www.
sap.com/brazil/trends/internet-of-things.html>.	Acesso	em:	27	ago.	2018.
https://www.ibm.com/blogs/digital-transformation/br-pt/o-que-e-watson-plataforma-cognitiva-inteligencia-artificial-robo/
https://www.ibm.com/blogs/digital-transformation/br-pt/o-que-e-watson-plataforma-cognitiva-inteligencia-artificial-robo/
https://www.ibm.com/blogs/digital-transformation/br-pt/o-que-e-watson-plataforma-cognitiva-inteligencia-artificial-robo/
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.
TANENBAUM, A. S. Sistemas operacionais modernos. 3. ed. São Paulo: Editora 
Pearson Prentice Hall, 2009. 
WEISER,	 Mark.	 The	 computer	 for	 the	 21st	 century.	 Mobile Computing and 
Communications Review,	v.	3,	n.	3,	p.	3-11,	1999.	
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 a 
algoritmos
Quando perguntamos o que é algoritmos, muitas pessoas associa-
riam a algo difícil ou os relaciona a conceitos complexos de cálculos ou 
algo assim. Mas será que a primeira impressão está correta?
Algoritmos na verdade são conceitos simples que usamos em nosso 
dia-a-dia. Hoje em dia temos os algoritmos digitais em várias tarefas do 
nosso cotidiano.
Quando você acessa um site, faz uma busca, lê os seus e-mails, se 
relaciona com seus amigos através de redes sociais e até mesmo faz 
aquelas compras on-line, isso tudo só é possível por causa dos algorit-
mos. Mesmo quando estamos jogando um jogo, pode ser aquele jogui-
nho mais simples que você tem no seu smartphone até aquele mais 
pesado que só funciona no seu console favorito, os algoritmos estão 
trabalhando para te dar diversão.
Seria quase impossível imaginarmos a possibilidade de realizar tan-
tas tarefas como as que hoje nos sãos impostas sem as facilidades 
proporcionadas pelos algoritmos digitais. Utilizamos algoritmos todo 
tempo, no computador de bordo dos carros, nos programas de celular, 
até mesmo em outros aparelhos mais simples como um micro-ondas 
ou um refrigerador, tudo isso é possível através dos algoritmos.
22 Desenvolvimento de sistemas 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
adi
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
.
1 Introdução a algoritmos
Os algoritmos são tão antigos quanto a matemática, os especialis-
tas divergem muito sobre a sua origem. Temos associado esta palavra 
à computação, mas este é um termo que pode ser usado para várias 
ciências, inclusive ela nem nasceu da computação. A teoria mais de-
fendida sobre sua origem é a de que um grande matemático que viveu 
na Pérsia no século IX chamado Abu Abdullah Mohammad Ibn Musa 
Al-Khawarizmi, nascido em Khawarizm (Kheva), ao sul do mar Aral. 
Sua influência no crescimento de diversas áreas da ciência, parti-
cularmente na matemática e outras como astronomia e geografia é 
bastante notória. Ele tinha dentre estas obras, a de nome Algorithmi de 
numero indorum (em indiano), que falava sobre algoritmos que traba-
lhavam com o sistema de numeração decimal. Suas obras só foram 
descobertas e apresentadas ao ocidente no século XI.
O nome foi sofrendo mudanças por causa da pronuncia de seu 
nome Al-Karismi, chegando ao falado hoje “algarismo” e deste mesmo 
radical o termo “algoritmo”, termo usado hoje na computação, mas 
também é muito utilizado em outras áreas como administração, enge-
nharia, entre outras.
Segundo Forbellone e Eberspacher (2005), a principal ideia associa-
da a palavra algoritmos se refere a maneira sistemática de descrever 
um conjunto de regras formais para a obtenção de uma resposta da 
solução de um problema incluindo fórmulas de expressão aritmética. 
Xavier (2014) descreve que algoritmos, de uma maneira bem simples, é 
uma sequência de passos ou ações para atingir um objetivo. 
Sua associação à computação se deu a partir da metade do sé-
culo passado, época da evolução dos computadores, pois é por meio 
deles que é possível criarmos as instruções contidas nas rotinas que 
eles trabalham. O crescimento da sua utilização hoje tem crescido 
23Introdução a 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.
exponencialmente, pois eles são a base do desenvolvimento dos pro-
gramas, dos mais simples aos mais complexos.
Com a ampliação do poder de processamento dos computares que 
possibilita a execução de tarefas muito mais complexas e as novas tec-
nologias de armazenamento de informações, são os fatores que impul-
sionaram este crescimento. 
O avanço da tecnologia dos hardwares (parte física ou componentes 
que formam os computadores), fez possível a utilização de lógicas cada 
vez mais complexas e elaboradas para a resolução dos problemas das 
mais diversas áreas.
Um dos grandes exemplos que podemos citar é o Big Data. Ele é um 
conceito que descreve um grande volume de dados que é gerado a cada 
segundo. 
Figura 1 – O Big Data sendo usado para tomada de decisões
Hoje as tecnologias que nos auxiliam em diversas atividades do nos-
so cotidiano geram muitos dados, que antes eram dispensados, mas 
que hoje são armazenados, tratados e geram informações de grande 
24 Desenvolvimento de sistemas 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
.valor, importantes para a descobertas sobre as inúmeras possibilidades 
de crescimento econômico e social.
Estas informações, processadas pelos algoritmos que compõem 
os sistemas, conseguem dar respostas precisas que até pouco tempo 
atrás não seriam possíveis.
Também não poderíamos deixar de falar sobre a utilização de algo-
ritmos na construção da inteligência artificial, uma área da computação 
criada na década de 50 que desenvolve algoritmos capazes de simula-
rem o raciocínio humano.
Esta área cresceu tão rápido que, em 1997, o supercomputador Deep 
Blue, da IBM, venceu pela primeira vez o campeão mundial de xadrez da 
época, o russo Gary Kasparov.
Segundo o especialista em Inteligência Artificial, M. Tim Jones, o 
programa do Deep Blue era feito por algoritmos que possibilitavam que 
ele imaginasse uma média de 200.000.000 de posições por segundo, 
por isso o atual campeão acabou perdendo a partida. (JONES, 2018). 
Ele ressalta a vitória do supercomputador Watson, também da IBM, que 
enfrentou dois dos jogadores humanos de maior sucesso de todos os 
tempos e os derrotou na frente de milhões de telespectadores em 2011. 
2 Conceitos de algoritmos
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.
Para conseguirmos inserir lógica em nossas atividades, precisamos 
aprender a pensar de forma estruturada, ou seja, desenvolver e aperfei-
çoar a técnica de pensamento e seguir uma sequência de raciocínio que 
crie passos objetivos e seguros até a solução.
25Introdução a 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.
IMPORTANTE 
Segundo Manzano e Oliveira (2012), para usar o raciocínio lógico, é ne-
cessário ter domínio do pensar, bem como saber pensar, ou seja, pos-
suir e usar a “arte de pensar”.
 
Quando organizamos nossos pensamentos de forma lógica conse-
guimos associar as informações e transformá-las em base para nossas 
soluções.
Analise a lógica a seguir:
Se: todo mamífero é um animal
E: todos os gatos são mamíferos
Logo: todos os gatos são animais!
Ou
Se: todos os veículos são transportes
E: todas as motos são veículos
Logo: todas as motos são transportes!
No exemplo apresentado usamos a lógica para averiguar uma si-
tuação e chegar a uma conclusão, fazendo associações entre eles. A 
primeira parte analisa que se todos os seres mamíferos são animais e 
que se todos os gatos são mamíferos, então os gatos também fazem 
partes do grupo de animais. A segunda faz uma análise parecida, que 
se todos os veículos são chamados de transportes e se todas as mo-
tos são consideradas veículos, então as motos também fazem parte do 
grupo de transportes.
26 Desenvolvimento de sistemas 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
.Utilizamos a lógica a todo o momento em nossas vidas, quando pen-
samos, falamos ou escrevemos, utilizamos a lógica para ordenar as pa-
lavras e dar sentido ao que estamos fazendo.
Ao longo do dia, usamos o nosso raciocínio lógico para resolvermos 
questões, das mais simples as mais complexas.
A lógica nos ensina a corrigirmos nosso pensamento, nos ensinando 
a usá-lo corretamente. Usando o raciocínio de forma ordenada dividindo 
a ação em vários passos até a solução do problema.
Analise a lógica a seguir:
Se: A porta está fechada
E: a mochila está dentro da casa
Logo: Preciso primeiro abrir a porta, entrar em casa para depois pegar a 
mochila!
Ou
Se: Se Jussara é mais nova que José
E: José é mais novo que Fábio
Logo: Jussara é mais nova que Fábio!
Resolver problemas utilizando o computador não é muito diferente 
do que falamos agora, devemos encontrar uma maneira de escrever o 
problema deforma que seguindo uma sequência de passos, atingimos 
a solução desejada. Isto é algoritmo!
De acordo com Manzano e Oliveira (2012, p.27), “Algoritmos na 
Ciência da Computação (Informática), está associada a um conjunto de 
regras e operações bem definidas e ordenadas, destinadas à solução 
de um problema, ou de uma classe de problemas, em um número finito 
de passos. ” 
27Introdução a 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.
Para termos a necessidade de criar uma solução, precisamos antes 
ter um problema. A necessidade de enviar mensagens e documentos 
mais rápido fez com que criarem o e-mail, a necessidade de podermos 
nos relacionar virtualmente fez com que criassem o Facebook.
3 Descrição narrativa de um algoritmo
Podemos utilizar diversas formas para escrever um algoritmo. Isso 
sempre vai depender muito da sua necessidade e de quem vai ler o que 
você produziu.
Escrevemos um algoritmo utilizando a descrição narrativa quando 
queremos descrever um problema de forma que o receptor entenda do 
assunto mesmo não tendo conhecimento de algoritmos.
O grande problema da forma narrada é que ela, por ser escrita em 
uma linguagem comum como o português por exemplo, acaba criando 
pontos de imprecisão, ou seja, de dupla interpretação. Isso faz com que 
a forma de narrativa traga uma falta de confiabilidade no entendimento 
do algoritmo. Outro ponto negativo é o fato dela gerar uma descrição 
muito grande para dizer poucas coisas, se comparando a outras formas.
Quando escrevemos um algoritmo de forma narrativa, mesmo ele 
sendo um texto em linguagem simples, devemos escrevê-lo de forma 
ordena, lógica e em passos bem definidos.
Se por exemplo, eu fosse passar instruções para uma criança com-
prar pães em uma padaria desta forma:
1. Sair da padaria.
2. Pegar a comanda.
3. Pegar a fila do caixa.
28 Desenvolvimento de sistemas 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
.
4. Pedir 10 pãezinhos.
5. Entregar o dinheiro e a comanda.
6. Pegar a fila dos pães.
7. Conferir o troco.
8. Entrar na padaria.
Tenho certeza que você percebeu que a criança ficaria totalmente 
perdida na padaria, pois nada daria certo. Para que uma criança que ain-
da não conhece os procedimentos necessários para uma simples com-
pra de pães ter êxito, precisamos ordenar os passos na ordem correta. 
Vamos ver agora como deveríamos escrever o bilhete para a criança:
1. Entrar na padaria.
2. Pegar a comanda.
3. Pegar a fila dos pães.
4. Pedir 10 pãezinhos.
5. Pegar a fila do caixa.
6. Entregar o dinheiro e a comanda.
7. Conferir o troco.
8. Sair da padaria.
Para utilizarmos a lógica devemos definir o que deve ser feito para 
solucionar o problema e colocar na ordem correta para conseguir che-
gar na solução. Vamos a outro exemplo bem conhecido nosso, que pou-
cas pessoas pensariam que seria um algoritmo. Uma Receita de bolo!
29Introdução a 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.
1. Misture os ingredientes.
2. Unte a forma com manteiga.
3. Despeje a mistura na forma.
4. Se houver coco ralado despeje sobre a mistura.
5. Leve a forma ao forno.
6. Enquanto não dourar deixe a forma no forno.
7. Retire do forno.
8. Deixe esfriar.
Repare que neste exemplo, mesmo ele estando na sequência cer-
ta, alguns passos ficaram um pouco imprecisos, como enquanto não 
dourar, pois a pessoa que vai fazer o bolo pode não saber o ponto exato 
que a massa do bolo deve ficar. Por isso quando usarmos a linguagem 
narrativa devemos ter o nível de detalhes compatível com a precisão 
que o resultado deve ter, ou seja, o bolo não deve ficar queimado e nem 
com a massa crua.
4 Representação de algoritmos por 
fluxograma
Podemos representar os algoritmos de forma gráfica, para isso utili-
zamos os fluxogramas.
Os fluxogramas são formados de caixas com formato variado que 
conectadas de forma ordenada e lógica informam as instruções a se-
rem executadas. São muito populares por serem de fácil entendimento 
das ideias contidas no algoritmo.
A representação do fluxograma é ótima para descrever algoritmos 
de pequeno e médio tamanho (XAVIER, 2014). 
30 Desenvolvimento de sistemas 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
.Considerado um nível intermediário de descrição, o fluxograma fica 
entre a narrativa, que vimos a pouco, e a de pseudocódigo, que veremos 
um pouco mais a frente. Ele expressa melhor a parte física, ou seja, de 
detalhes como entrada e saída de informações, o fluxo das informações 
e até mesmo a forma de armazenamento.
Seguindo os princípios de entrada, processamento e saída, ele é 
composto de um símbolo para iniciar, uma sequência de comandos e 
tomadas de decisão e finaliza, independentemente de quantas bifur-
cações geradas por tomadas de decisão, aos símbolos finais, que são 
iguais ao início só que desta vem escrito fim.
Figura 2 – Exemplo de um fluxograma, onde se verifica se a impressora está pronta para impressão
Início
Fim
Abrir impressora
Fazer a impressão
Colocar papel
Não
Sim
Tem
papel?
A seguir temos os símbolos mais utilizados nos fluxogramas:
31Introdução a 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.
Figura 3 – Simbologia de fluxograma
Terminal
Símbolo utilizado no início e fim de um fluxograma. Também pode ser usado na 
definição de sub-rotinas.
Entrada manual
Simboliza a entrada manual de dados, geralmente feita através de teclado.
Processamento
Representa a execução de uma operação lógica ou matemática.
Exibição
Representa a saída visual de dados, geralmente através do monitor.
Decisão
Representa a execução de uma operação lógica ou matemática.
Preparação
Representa a modificação de uma instrução em relação à ação de sua atividade 
subsequente.
Processo predefinido
Definição de um grupo de operações estabelecidas como uma sub-rotina de 
processamento anexa ao diagrama.
Documento
Representa a saída no formato de um documento.
Conector
Representa a entrada ou saída em outra parte do fluxo. Pode ser usado para 
quebras de linhas e continuações em outras páginas.
Linha
Representa a conexão entre os outros elementos do diagrama de blocos. Quando 
possui a ponta de um seta significa que está mostrando a direção do fluxo.
32 Desenvolvimento de sistemas 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
.Vamos fazer agora a um exemplo prático, montando um fluxograma 
de uma funcionalidade do sistema de uma escola.Devemos criar um 
fluxograma simples, que calcule a média de duas notas de um aluno e 
logo após confirmando se ele está aprovando. Levando em conta que a 
nota de aprovação é 7.
Figura 4 – Exercício proposto para calcular a média de um aluno e verificar a aprovação
Início
Fim
Média <-
(N1 + N2)/2
“Reprovado”“Aprovado”
NãoSim
N1, N2
Média <-
(N1 + N2)/2
Podemos pode perceber que os fluxogramas ajudam a organizar 
nossos pensamentos e facilita para imaginarmos o código antes mes-
mo de implementá-lo.
Temos várias vantagens como ele, como:
 • Mostrar o código de forma organizada.
 • Simular a execução de um código dentro de um programa.
33Introdução a 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.
 • Mostrar a estrutura do programa em formato gráfico.
 • Usá-lo para mostrar a navegação de um programa ou site.
Podemos encontrá-los com outros nomes como fluxogramas de 
processo, mapas de processos, fluxogramas funcionais, entre outros.
Considerações finais
Para escrevermos instruções para os computadores, precisamos 
utilizar a lógica de programação, que nada mais é que um conjunto 
de ações organizadas para resolver o problema proposto à aplicação. 
Chamamos estes conjuntos de passos de algoritmos e podemos en-
contra-los em quase tudo que utilizamos para realizar nossas tarefas 
do dia-a-dia.
Podemos escrever estes algoritmos de forma narrativa, que nada 
mais é que uma lista organizada de ações, que se seguidas de forma 
correta, leva a solução do problema. Também podemos representa-los 
de forma gráfica através de fluxogramas, um conjunto de símbolos co-
nectados que mostram o fluxo de execução de um algoritmo.
Referências
FORBELLONE, André L. V.; EBERSPACHER, Henri F. Lógica de Programação: 
A Construção de algoritmos e estrutura de Dados. 3. ed. Editora Pearson 
Prentice Hall, Brasil, 2005.
JONE, M. T. As linguagens da IA. 19 jan. 2018. Disponível em:< https://www.
ibm.com/developerworks/br/library/cc-languages-artificial-intelligence/index.
html>. Acesso: 9 ago.2018.
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr F. Algoritmos: Lógica para 
Desenvolvimento de Programação. São Paulo: Editora Érica, 2012.
XAVIER, Gley F. C. Lógica de Programação. São Paulo: Editora Senac São Paulo, 2014.
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
O computador é uma máquina capaz de realizar comandos e cálcu-
los matemáticos, mas, diferente do que muitas pessoas pensam, ele 
precisa receber instruções para conseguir realizar todas essas tarefas. 
Para isso, criamos programas utilizando algoritmos para passar essas 
instruções a ele.
Quando vamos criar um algoritmo, devemos utilizar uma linguagem 
que seja imperativa, impondo os passos que ele deverá executar, de for-
ma que as instruções fiquem explícitas, diretas, sem deixar dúvidas.
As formas de descrição que utilizamos até agora não são tão pre-
cisas, elas podem deixar dúvidas na hora de um desenvolvedor imple-
mentar a solução.
36 Desenvolvimento de sistemas 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
.
Assim, como na vida real, se não passarmos todos os detalhes quan-
do entregamos uma tarefa a alguém, temos uma grande possibilidade 
de não recebermos o resultado esperado.
Só teremos a garantia de sucesso se escrevemos algoritmos, utilizan-
do valores que precisamos para resolver esses problemas, manipulando-
-os de forma organizada e com recursos que nos possibilitam utilizar a 
lógica computacional para gerar a solução para todos esses casos. 
1 Programação imperativa
Quando vamos criar um programa de computador, devemos analisar 
qual paradigma, ou seja, qual o conjunto de características que, juntas, 
definirão como ele deve operar para resolver o problema.
A programação imperativa é baseada nos estados de valores que ele 
recebe – “variáveis” – e em instruções e comandos que dão a ideia de 
ordens, dizer exatamente o que deve ser feito. Por isso, ela é dinâmica, 
sendo constantemente mudada durante a sua execução.
PARA SABER MAIS 
Imperativo na língua portuguesa significa que acentua o caráter de man-
do, de autoridade, ou exprime uma ordem.
 
O programador passa as instruções de como e o que o computador 
deve fazer quando ler o programa. A utilização de repetições, condi-
ções e atribuição de valores que hoje são usados constantemente em 
todas as linguagens surgiram neste paradigma. Um programa criado 
em uma linguagem imperativa deixa de ser uma expressão, e passa a 
ser um comando.
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.
Estas são algumas linguagens de programação que se baseiam no 
modelo imperativo: Basic; C; PHP; Java; Cobol; Pascal; Python e outros.
Na figura 1, a seguir, temos o modelo computacional do paradigma 
imperativo.
Figura 1 – Modelo computacional do paradigma imperativo 
Conjunto de
saídas
Conjunto de
entradas
Entradas que
causam saídas
errôneas
Saídas
errôneas
Ie
oe
Programa
Fonte: adaptado de Sommerville (2011, p. 208).
Vamos apresentar como seria uma programação imperativa, aplica-
da a uma tarefa do nosso cotidiano, como por exemplo fazer um bolo:
Separar os ingredientes: leite, ovo, açúcar, margarina, farinha e fermento.
Aqueça o forno a 180 graus.
Bata as claras em neve e reserve.
Misturar em uma vasilha grande o açúcar, a margarina e as gemas.
Adicionar a farinha e o leite.
Mexa até que esteja bem misturado.
38 Desenvolvimento de sistemas 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
.
Juntar a clara em neve misturando vagarosamente.
Colocar a mistura em uma forma untada.
Coloque no forno aquecido por 40 minutos.
Se colocar o garfo no bolo e ele sair limpo, desligue o forno, senão, o mante-
nha por mais cinco minutos.
Desligar o forno.
Repare no exemplo anterior que seu funcionamento utilizou exata-
mente os conceitos que falamos até agora. Veja:
 • Informamos valores, que são os ingredientes.
 • Damos comandos para o programa executar ações com estes 
valores, alterando assim o seu estado.
 • Recebemos a solução esperada do programa, um bolo preparado 
corretamente.
Conforme falamos anteriormente, se analisarmos o algoritmo que 
criamos acima e imaginarmos um robô executando os passos, vamos 
perceber que devemos melhorar ainda mais este código, uma vez que o 
robô não teria conhecimentos de coisas que para nós são óbvias, como 
por exemplo:
 • Verificar se o gás estava aberto antes de ligar o forno.
 • Quebrar os ovos delicadamente e separar a clara da gema antes 
de fazer as claras em neve.
 • Para untar a forma, deveriam ser utilizadas margarina e farinha.
Chamamos isso de refinamento de código, e devemos fazê-lo até 
que tenhamos certeza que nosso código está performático.
39Algoritmos variáveis
M
aterialpara 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.
Um outro exemplo utilizado por Xavier (2014, p. 26) demonstra a ri-
queza de detalhes de um código bem refinado. Nele, temos as instru-
ções para começarmos a dirigir um carro:
Abrir a porta.
Sentar no banco.
Fechar a porta.
Ajustar o banco e os espelhos retrovisores.
Colocar o cinto de segurança.
Pisar na embreagem.
Pegar o câmbio.
Colocar o câmbio em ponto morto.
Soltar a embreagem.
Ligar o carro.
Pisar na embreagem.
Pegar o câmbio.
Colocar o câmbio na primeira marcha.
Acelerar o carro.
Soltar o freio de mão.
Soltar a embreagem devagar.
Neste exemplo, temos passos precisos para executar a ação – repa-
re que temos ações que servem de prevenção, preparação para que o 
próximo passo tenha sucesso, como garantir que o câmbio esteja em 
40 Desenvolvimento de sistemas 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
.
ponto morto, antes de ligar o carro; assim, mesmo que o carro já esti-
vesse em ponto morto, garantimos o bom funcionamento da solução.
2 Utilização de pseudocódigo
O pseudocódigo, que poderíamos traduzir ao pé da letra como “falso 
código”, é a linguagem que mais se assemelha às linguagens que usa-
mos para desenvolver os programas nos computadores. Ela é a descri-
ção de um algoritmo sem a necessidade de utilizar as particularidades 
de uma linguagem de programação.
Segundo Medina e Fertig (2006), o pseudocódigo é uma linguagem 
intermediária entre a narrativa e as linguagens de programação de 
alto nível.
IMPORTANTE 
Linguagem de programação de alto nível é aquela que se aproxima mais 
da linguagem humana e se distancia da linguagem de máquina. Ela não 
controla a parte física do computador, somente trata da camada de liga-
ção com o usuário, como aplicativos, e não controla o hardware, como 
o processador, por exemplo.
 
É comum vermos outros nomes sendo atribuídos ao pseudocódigo, 
como portugol ou português estruturado – geralmente, utilizados para 
enfatizar que o pseudocódigo está sendo escrito em português.
Quando trabalhamos nossos algoritmos utilizando o pseudocódigo, 
buscamos ao máximo criar uma rigidez semântica e sintática para que 
o código seja lido e interpretado corretamente pela máquina. Vamos 
começar com um exemplo simples, sem todos os passos de criação de 
um pseudocódigo, mas importante para aprendermos a estrutura:
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.
Início
 Escreva: “Qual a nota do aluno?”
 Leia: nota
 Se a nota for maior ou igual a 7, então:
 Escreva: “aluno aprovado”
 Senão:
 Escreva: “aluno reprovado”
Fim
Neste programa que acabamos de criar, ele envia uma pergunta na 
tela ao usuário, espera ele digitar, verifica e, se o aluno tirou uma nota 
igual ou maior que 7, ele responde “aluno aprovado”; senão, ou seja, se a 
nota for menor que 7, ele responderá “aluno reprovado”.
Se estivéssemos escrevendo a mesma instrução de forma narrativa, 
não teríamos essa riqueza de detalhes em cada ação, que na hora da 
programação faria toda a diferença.
IMPORTANTE 
“Ação: Fato que, a partir de um estado inicial, após um período de tempo 
finito, produz um estado final previsível e definido” (XAVIER, 2014, p. 32).
 
Você percebeu que temos alguns detalhes que ainda não sabemos 
por que estão lá, como as aspas nas frases e termos mais curtos e ob-
jetivos, como leia ou escreva? Falaremos mais no momento oportuno.
42 Desenvolvimento de sistemas 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 for construir um pseudocódigo, nunca comece a escrever 
desordenadamente o que você tem em mente, procure seguir estes 
passos:
1. “Compreensão e Estratégia” – Ao se deparar com um problema 
novo, faça o seguinte:
a. Separe os dados e o que você precisa fazer com eles;
b. Faça um rascunho para visualizar cada passo.
2. “Crie um plano para a solução” – Agora que tem as informações 
sobre o problema organizadas:
a. Verifique se já resolveu um problema parecido; se sim, o que 
posso aproveitar neste;
b. Se o problema for muito complexo, separe-o em partes, assim 
fica mais fácil resolver;
c. Não se prenda a um só formato, se tiver difícil de prosseguir, 
busque alternativas para resolver o problema.
3. “Formalize a solução” – Hora de começar a montar o algoritmo:
a. Use o pseudocódigo para montar a solução baseada no plano 
que você desenvolveu;
b. Cuide para que cada passo seja escrito de forma correta, não 
tenha pressa de escrever; muitas vezes, um programa inteiro não 
funciona por um simples detalhe.
4. “Realize teste” – Agora com o algoritmo montado, vamos 
executá-lo:
a. Ao testar, veja se não apresenta nenhuma falha no passo a 
passo; 
b. Verifique se ele solucionou o problema da forma esperada, 
utilize valores diferentes para comprovar que realmente está 
funcionando.
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.
5. “Refine o código” – Será que ele pode ser melhorado?
a. Veja se não há nenhuma mudança que traga melhorias ao re-
sultado do programa;
b. Verifique se existe algum código redundante, ou seja, repetido 
ou que não seja necessário.
Vamos conhecer agora algumas partes que compõem a estrutura do 
nosso pseudocódigo:
• “Atribuição” – Quando o programa recebe informações, precisa-
mos atribuí-las a um espaço reservado da memória chamado 
variável. Para indicar que o valor está sendo atribuído, usamos o 
símbolo . Exemplo: valor 35 ou nome “João”.
• “Bloco de Instrução” – Assim, no pseudocódigo, como em outras 
linguagens de programação, as instruções são executadas na se-
quência em que foram escritas. Por isso, usamos um bloco de 
instruções para indicar onde ele se inicia, se desenvolve e termi-
na. Um bloco de instruções é delimitado pelas palavras “início” e 
“fim”. Exemplo:
Início
“primeira instrução”
“segunda instrução”
 ........
“última instrução”
Fim
 • “Leia” e “Escreva” – Estas duas instruções são utilizadas para a 
entrada e saída de informações para o usuário, são a interface 
44 Desenvolvimento de sistemas 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
.
entre a máquina e quem está utilizando o programa. Todas as 
vezes que quisermos mostrar uma mensagem ou resultado na 
tela do computador, utilizamos a palavra escreva, seguida do va-
lor ou mensagem; e quando quisermos receber um valor digitado 
pelo usuário, utilizamos a palavra leia, seguida do endereçoonde 
armazenaremos esta informação. Exemplo:
Início
escreva: (“Qual o seu nome?”)
leia: (nome_convidado)
escreva: (“Seja bem-vindo ”,nome_convidado )
Fim
Este código escreve na tela uma pergunta para o usuário, o seu nome 
recebe a resposta e armazena no espaço de memória “nome_convida-
do” e depois escreve na tela uma mensagem de boas-vindas personali-
zada com o nome que ele digitou.
3 Declaração de variáveis e constantes
A maior funcionalidade de um computador é manipular informações. 
Para resolver um problema, ele precisa de dados para processá-los. 
É necessário que haja formas de se trabalhar com diferentes tipos 
de dados em um programa. Apesar de internamente um compu-
tador manipular unicamente números, as linguagens de progra-
mação permitem que utilizemos outros tipos de informações nos 
programas de forma transparente. (MEDINA; FERTIG, 2006, p. 24)
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.
Antes de continuarmos, precisamos entender alguns conceitos:
 • “Dados” – Utilizados para se referir ao que realmente está arma-
zenado, são dados isolados que não fazem sentidos sozinhos. 
Exemplo: Nome (primeiro nome e sobrenome), Endereço (logra-
douro, número e complemento).
 • “Informações” – Utilizadas para se referir ao significado dos 
dados para um determinado usuário. No exemplo abaixo, sabe-
mos agora que o endereço é referente àquela pessoa. Exemplo: 
Nome e Endereço.
Observe que a função dos nossos programas, basicamente, será 
transformar informações iniciais, que usualmente chamamos de dados, 
em informações finais, as respostas que serão usadas por quem utiliza 
o programa. Temos dois tipos de Dados:
 • “Dados de Entrada” – Conjunto de informações que o programa 
precisa receber para iniciar o processo.
 • “Dados de Saída” – Conjunto de informações que o programa de-
volve como resposta após o processamento.
Agora, vamos fazer uma atividade para fixarmos esses conceitos. 
Para cada algoritmo abaixo, pense qual seriam os dados de entrada e 
saída:
 • Algoritmo para calcular a idade de uma pessoa.
 • Algoritmo para calcular o IMC (índice de massa corporal) de uma 
pessoa.
 • Valor pago referente à dívida de meses de aluguel atrasado.
Para essas perguntas, as respostas seriam:
 • “Entrada”: data de nascimento e data atual. “Saída”: a idade naque-
le instante.
46 Desenvolvimento de sistemas 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
.
 • “Entrada”: peso e altura da pessoa; “Saída”: a condição física da 
pessoa relativa ao peso.
 • “Entrada”: valor do aluguel, quantidade de meses, taxa de juros; 
“Saída”: valor a ser pago até aquela data.
3.1 Tipos de dados
Os tipos de dados são formas de representar valores do nosso mun-
do real computacionalmente. As linguagens de programação represen-
tam e manipulam esses dados, que podem ser classificados como pri-
mitivos e não primitivos.
De acordo com Pinheiro (2012), um tipo de dado caracteriza um con-
junto de valores, determinando a natureza, o tamanho, a representação 
e a faixa de representação. No momento, nosso enfoque será em sua 
natureza.
3.1.1 Tipos primitivos
Os tipos de dados primitivos são tipos básicos de dados que com-
põem um programa – eles representam números inteiros, frações, fra-
ses, etc. No programa de computador, devemos dizer exatamente os 
tipos de dados que serão usados na entrada e saída das informações.
Exemplo: A linguagem Java é uma linguagem fortemente tipada, ou 
seja, se você não utilizar o tipo correto, a operação é interrompida e uma 
mensagem de erro será apresentada.
Os tipos de dados primitivos são:
 • “Inteiro” – toda e qualquer informação numérica que pertence ao 
conjunto de números inteiros relativos (negativo, nula ou positivo).
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.
 • “Real” – também chamada de flutuante, toda e qualquer informa-
ção numérica que pertence ao conjunto dos números reais (nega-
tivo, nula ou positivo).
 • “Literais” – também chamada de caractere, toda e qualquer infor-
mação composta de um conjunto de caracteres alfanuméricos 
(0 a 9), alfabéticos (A...Z, a...z) e especiais ( . , $ @ # ! ? ...).
 • “Lógico” – também conhecido como booleano, toda e qualquer 
informação que pode assumir apenas duas situações (verdadeiro 
ou falso, sim ou não).
IMPORTANTE 
Os números armazenados em variáveis, cujo tipo de dados é Literal, não 
poderão ser utilizados para cálculos.
 
3.2 Variáveis
Variável é um tipo de dado armazenado no computador. Chamamos 
ele assim porque o seu valor contido pode variar diversas vezes ao lon-
go do processamento. Ao declararmos uma variável, estamos na verda-
de reservando um espaço na memória para aquela determinada infor-
mação, enquanto ela é processada.
Todo dado a ser armazenado na memória de um computador deve 
ser previamente identificado segundo o seu tipo; ou seja, primeira-
mente, é necessário saber o tipo de dado, para depois fazer o seu 
armazenamento adequado. (MANZANO; OLIVEIRA, 1996 p. 43) 
48 Desenvolvimento de sistemas 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 – Imagem de uma caixa de correios representando as locações de memória das variáveis
Imagine as variáveis criadas como se fossem esta caixa de correio 
de um prédio – o carteiro só sabe onde deve colocar a correspondên-
cia, porque todas estão com os números dos apartamentos a que são 
correspondentes.
Para escrevermos corretamente o seu nome, devemos seguir algu-
mas regras:
 • Temos restrição ao primeiro caractere do nome, ele deve ser sem-
pre uma letra do alfabeto, não pode ser um número ou símbolos 
gráficos, como cifrão, tralha, etc.
 • Não pode haver espaço dentro do nome; se for um nome com-
posto, como “pessoa jurídica”, devemos utilizar o underline para 
separação. Ex.: pessoa_juridica.
 • Duas variáveis não podem ter o mesmo nome, logo de início o sis-
tema acusará um erro, mas, mesmo se fosse possível começar, 
elas entrariam em conflito, sobrescrevendo as informações.
 • Existem algumas palavras reservadas da linguagem que tam-
bém não podem ser utilizadas. Conheceremos estas palavras 
mais adiante. 
49Algoritmos 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.
Devemos declará-las em nosso programa da seguinte forma: 
var idade: inteiro
3.3 Constantes
Chamamos de constantes todos os valores que não devem ser mo-
dificados durante o processamento. Usamos as constantes para valo-
res que devem manter o seu valor independentemente dos processos 
que as utilizarem.
Podemos usar como exemplo a letra grega “π” (PI), que precisa-
mos utilizar para cálculos referentes a círculos. Apesar de qual cálcu-
lo estejamos fazendo, o seu valor será sempre o mesmo: 3,14159265. 
Devemos declará-las emnosso programa da seguinte forma: 
const PI = 3.14159265
Também podemos chamá-las de variáveis somente de leitura.
4 Expressões aritméticas, literais, 
relacionais e de lógica booleana
Agora que já conhecemos as formas de declararmos os valores para 
serem processados em nossos programas, precisamos aprender as ex-
pressões para manipular estes valores. Para cada tipo de dado, temos 
expressões exclusivas:
4.1 Expressões aritméticas
Expressões aritméticas são aquelas que o resultado é do tipo nu-
mérico, podendo ser inteiro ou real. Os operadores que são permitidos 
nestas operações são:
50 Desenvolvimento de sistemas 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
.Tabela 1 – Símbolos de expressões aritméticas
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 Expressões literais
Expressões literais são aquelas que o resultado é do tipo literal, e mu-
dam muito de uma linguagem para outra. O operador mais simples é 
aquele que faz a concatenação entre dois trechos de texto, que podemos 
chamar de string (corda, em português, se referindo a uma corda de ca-
racteres). O operador de concatenação no pseudocódigo é o sinal “+”:
Tabela 2 – Símbolo de expressões literais
OPERADOR SIGNIFICADO EXEMPLO
+ Concatenação “Avenida” + “Paulista”
4.3 Expressões relacionais
Permitem efetuar 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 nestas expressões são:
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.
Tabela 3 – Símbolos de expressões relacionais
OPERADOR SIGNIFICADO EXEMPLO
> Maior a > 7
>= Maior ou igual b >= a
< Menor c < 5
<= Menor ou igual c <= b
= Igual a a = 9
<> Diferente de b <> 0
4.4 Expressões de lógica booleana
Utilizamos as expressões lógicas para analisar condições, e criamos 
condições que nos retornam 1 ou 0, ou então, verdadeiro ou falso. Os 
operadores utilizados para fazermos esta lógica são:
Tabela 4 – Símbolos de lógica booleana
OPERADOR SIGNIFICADO EXEMPLO
e Conjunção
a = 3 e b <> 9
 Se o valor de “a” for igual a 3 e o valor de “b” for diferente de 9, 
então retornará verdadeiro; caso contrário, retornará falso.
Ou Disjunção
a = 3 ou b <> 9
 Se o valor de “a” for igual a 3 ou o valor de “b” for diferente de 
9, então retornará verdadeiro; caso contrário, retornará falso.
não Negação
 não a > 3
 Se o valor de “a” não for maior que 3, então retornará 
verdadeiro; caso contrário, retornará falso.
52 Desenvolvimento de sistemas 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
.
Considerações finais
Os algoritmos foram criados para implementarmos a lógica compu-
tacional para a resolução de problemas reais. Para que o programa que 
desenvolvemos realmente solucione esses problemas, temos de ter 
sempre em mente que os comandos devem ser expressados de forma 
imperativa, deixando sempre bem claro o que deve ser executado; guar-
dar os valores que fazem parte do problema a ser solucionado, para ser 
possível manipulá-los na aplicação; e, for fim, utilizar de forma correta 
os símbolos que não permitem trabalhar com esses valores de forma 
lógica e organizada.
Estes não são apenas princípios iniciais, mas a base para uma boa 
programação, que você deverá levar consigo para ter sucesso em todas 
as aplicações que for desenvolver. 
Referências
MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: lógica para desenvolvimento 
de programação. São Paulo: Editora Érica, 1996.
MEDINA, M.; FERTIG, C. Algoritmos e programação: teoria e prática. São Paulo: 
Editora Novatec, 2005. 
PINHEIRO, F. A. C. Elementos de programação em C. Porto Alegre: Bookman, 
2012.
SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson Prentice 
Hall, 2011.
XAVIER, G. F. C. Lógica de programação. São Paulo: Editora Senac São Paulo, 
2014.
53
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: 
condicional
Neste capítulo, abordaremos a arte da tomada de decisão. Digo que 
é uma arte, pelo fato de não ser nada fácil tomar decisões, apesar de ser 
essencial. Você, caro leitor, acabou de tomar uma decisão: ler esta obra! 
E a cada linha, a cada página, a cada capítulo, estamos decidindo o que 
fazer: se continuamos lendo, se mudamos de emprego, se começamos 
logo nosso projeto de Verão, se casamos ou compramos uma bicicleta. 
Por dia, tomamos dezenas e até centenas de decisões para atin­
girmos nossos objetivos (como acordar, ir trabalhar, ir à academia, ir 
à faculdade, etc.). Com o computador acontece a mesma coisa. Para 
que seu computador possa desempenhar uma tarefa, ou um algoritmo, 
54 Desenvolvimento de sistemas 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 visto anteriormente, ele deve decidir como fazer, como desenvol­
ver os passos necessários.
E adivinhe! Quem diz ao computador qual decisão ele deve tomar? 
Sim, você. E é exatamente isso que vamos abordar neste capítulo. 
Entender as condições e avisar ao nosso computador como tomar as 
decisões, de acordo com cada situação.
1 A arte de tomar decisões
Há muito tempo, o Homem escreve e se preocupa com tomadas de 
decisões que norteiam nossas vidas. A obra A arte da guerra, de Sun 
Tzu, escrita em 476 a.C., é o exemplo clássico de obra sobre tomada de 
decisão como estratégia de liderança, negócios e competitividade. Em 
uma de suas célebres frases, Tzu diz que “devemos conhecer nossos 
inimigos e a nós mesmos”. Vamos partir desse princípio para conduzir 
nossas ações e tomar as decisões corretas no nosso sistema, para que 
execute as tarefas que satisfazem as necessidades dos usuários.
Durante o desenvolvimento de um código, existem diversas situa­
ções em que a resolução vai depender de um valor, para que possa 
seguir um rumo e, consequentemente, que uma tomada de decisão 
também seja seguida. Isso ocorre muito em nosso dia a dia, quando 
planejamos uma tarefa, mas as “variáveis” do nosso cotidiano fazem 
com que tenhamos que optar por mudanças de planos. Um exemplo tí­
pico é quando estimamos um determinado tempo para chegarmos em 
um local e um simples pneu furado do seu veículo pode atrapalhar todo 
o planejamento do tempo outrora estimado.
Vamos utilizar um exemplo de uma situação bastante comum no 
dia a dia, de um aluno que quer calcular sua média em uma determina­
da disciplina e, logo em seguida, vamos determinar se esse aluno está 
APROVADO ou REPROVADO nesta disciplina.
55Algoritmos: condicional
M
aterial

Continue navegando