PROGRAMAÇÃO
NO MUNDO REAL
RIAN DUTRA
EXPERIÊNCIA
+10 de experiência
Sócio fundador da Rian Design,
na qual desenvolveu sites,
aplicativos e projetos gráficos
para clientes como Udacity
Brasil, Museu Imperial de
Petrópolis, Instituto Ronald
McDonald, SOS Mata
Atlântica, Ephere, Sergio
Mallandro e Tom Cavalcante.
FORMAÇÃO
‣ Mestrado em Ciência da
Computação (UFJF)
‣ Pós-graduação em Gestão,
Empreendedorismo e Marketing
(PUCRS)
‣ Pós-graduação em Animação 3D
(Instituto Infnet)
‣ Graduação em Design Gráfico
(Instituto Infnet)
‣ Graduação em Análise e
Desenvolvimento de Sistemas
(UNESA)
INTRODUÇÃO
RIAN DUTRA
INTRODUÇÃO
CONTEÚDO DO CURSO
▸ Dividido em 2 partes:
• Problemas no Mundo Real
• Soluções no Javascript
▸ Conteúdo:
• Lógica de programação
• Introdução à programação
• Javascript básico
O QUE É
PROGRAMAR?
O CURSO NÃO IRÁ ENSINAR A CODIFICAR,
MAS PROGRAMAR.
CODIFICAR se refere ao uso de uma linguagem
de computação específica para escrever
instruções para um computador executar.
PROGRAMAR refere-se ao processo e conceitos
de lógica que, quando implementados via
código, trazem serviços digitais à vida.
PROGRAMA É
RESOLVER
PROBLEMAS
Este é o Alfredo
Quando criança, Alfredo, em sua 1ª aula da 3ª série, teve dor de barriga
Qual a solução que ele teve para esse problema?
ONDE TEM PROGRAMAÇÃO?
RIAN DUTRA
ONDE TEM
PROGRAMAÇÃO?
ONDE TEM PROGRAMAÇÃO?
ONDE TEM PROGRAMAÇÃO?
▸ Robôs que vão em Marte
▸ Carros autônomos da Tesla
▸ Calculadora
▸ Caixa-eletrônico
▸ Semáforos
▸ Shrek (computação gráfica que o fez)
▸ Angry Birds e Call Of Duty
▸ Netflix, Facebook, Instagram
▸ Porta giratória do banco
▸ Câmera digital
▸ Impressora
▸ Microondas
▸ TV
▸ Máquina de lavar
▸ Painel do carro
▸ Sistemas de monitoramento
médico
LÓGICA NO MUNDO REAL
RIAN DUTRA
LÓGICA NO MUNDO REAL
O DIA É FEITO DE DECISÕES
▸ Todo dia, tomamos várias decisões durante o dia, baseado
no que a gente vê, ouve, pensa, situações
▸ As estruturas condicionais deixam o computador
“inteligente”, podendo o programa pode mudar o rumo
de acordo com o que o usuário e ações
Exemplo: ir à praia ou não?
O QUE É
ALGORITMO?
LÓGICA NO MUNDO REAL
ALGORITMO
▸ É uma série de passos para
realizar um tarefa específica
▸ Não necessariamente tem a ver com
computador. Pode ser feito por pessoas
O algoritmo de se vestir do Wolverine é diferente
do algoritmo do Super-homem
LÓGICA NO MUNDO REAL
▸ Alfredo quer entrar na Farmácia
sem camisa e usando tênis
▸ Mas na Farmácia, só entra quem
está com camisa ou usando algum
tênis ou sapato
▸ Ele conseguiu entrar?
DECISÃO
ALFREDO CHEGA
NA FARMÁCIA
LÓGICA NO MUNDO REAL
DECISÃO
ALFREDO COMPRA
NA FARMÁCIA
▸ Na Farmácia, todo cliente que
mostrar o CPF ou Plano de Saúde,
ganha desconto
▸ Alfredo quer desconto, mas ele
mostrou somente o Plano de
Saúde
▸ Ele ganhou desconto?
LÓGICA NO MUNDO REAL
▸ Ele quer ir para seu apartamento
▸ Como é preguiçoso, ele vai subir
de elevador de seu apartamento
estiver acima do 3º andar
▸ Mas o elevador é velho e sempre
para de funcionar quando está
chovendo muito
▸ Ele foi de escada ou elevador?
DECISÃO
ALFREDO CHEGA
NA HOTEL
LÓGICA NO MUNDO REAL
▸ Alfredo só toma banho se a água
estiver quente
▸ No hotel, há 2 registros (água fria
e água quente)
▸ Como ele deve fazer para
esquentar a água?
REPETIÇÃO
ALFREDO QUER
TOMAR BANHO
LÓGICA NO MUNDO REAL
▸ A mala, com suas roupas, está
fechada com cadeado
▸ Alfredo tem em sua mão um
molho com 10 chaves mas não
sabe qual é a que abre a mala
▸ Como ele faz para achar a chave
correta?
REPETIÇÃO
ALFREDO QUER
ABRIR SUA MALA
LÓGICA NO MUNDO REAL
▸ Agora que está vestido, ele quer
sentar em alguma das cadeiras
do seu apartamento
▸ Porém, ele jogou roupas e malas
sobre elas e várias estão
ocupadas
▸ Como ele faz para encontrar a
cadeira desocupada?
REPETIÇÃO
ALFREDO
QUER SENTAR
“ENQUANTO” E “PARA”
RIAN DUTRA
LAÇOS “ENQUANTO” SÃO IDEAIS QUANDO
PRECISAR REPETIR, MAS NÃO SABE COM
ANTECEDÊNCIA QUANTAS VEZES
LAÇOS “PARA” SÃO IDEAIS PARA REPETIR A
MESMA TAREFA VÁRIAS VEZES QUANDO JÁ
SABE QUANTAS VEZES TERÁ QUE REPETIR
“ENQUANTO” E “PARA”
EXEMPLO DE
“ENQUANTO”
▸ Alfredo bate com a vassoura
na barata
▸ Enquanto a barata não
morre, ele não para de bater
“ENQUANTO” E “PARA”
EXEMPLO DE
“PARA”
▸ O médico do Alfredo disse
que, todo dia de manhã, ele
tem que beber 5 copos
d'água quando acorda
▸ Para cada copo bebido,
verifica se já bebeu 5 copos
DEPOIS DO ALFREDO
CONFESSAR OS PECADOS,
O PADRE PEDIU PARA
REZAR 20 AVES MARIAS
“Enquanto” ou “Para”?
NO EXÉRCITO, DEPOIS DO
ALFREDO MANDAR O CORONEL
TOMAR NO **, ELE O OBRIGOU
A FAZER 40 FLEXÕES
“Enquanto” ou “Para”?
O ALFREDO PEDIU
PARA O FRENTISTA
ENCHER O TANQUE
“Enquanto” ou “Para”?
DEPOIS DE 6 HORAS DE
VIAGEM, ALFREDO
PRECISA PARA DE DIRIGIR
PARA DESCANSAR
“Enquanto” ou “Para”?
QUANDO ALFREDO
COMEÇA A COMER BIS,
SÓ PARA DE COMER
QUANDO PASSA MAL
“Enquanto” ou “Para”?
DE HORA EM HORA,
ALFREDO LIGA PARA SUA
EX-NAMORADA, E SÓ PARA
QUANDO ELA ATENDE
“Enquanto” ou “Para”?
O ALFREDO PEDIU PARA
O FRENTISTA COLOCAR
5 LITROS DE GASOLINA
“Enquanto” ou “Para”?
ALFREDO FOI NA RODA
GIGANTE, A QUAL DÁ 20
VOLTAS. PORÉM, ELE
SEMPRE VOMITA QUANDO
PASSA DE 10 VOLTAS
“Enquanto” ou “Para”?
ALFREDO ENCONTROU UM CÃO
NA RUA, E A CADA VEZ QUE ELE
PASSAVA A MÃO NA CABEÇA
DO CÃO, ELE FICAVA COM MAIS
RAIVA, ATÉ QUE O MORDEU
“Enquanto” ou “Para”?
COTIDIANO DO ALFREDO
RIAN DUTRA
COTIDIANO DO ALFREDO
ALFREDO, QUE TIME É TEU?
▸ Alfredo que ir ao estádio, mas leva ou não guarda-chuva?
▸ Ele tem bilhete de entrada para ver o jogo?
▸ Depois do jogo, ficou feliz ou triste com o resultado?
▸ Ele foi tentar pegar um taxi, mas ele foi assaltado? Se foi,
levaram todo o dinheiro?
▸ Ele vai conseguir pegar o taxi para voltar para casa?
COTIDIANO DO ALFREDO
ALFREDO E O ENCOSTO
▸ Alfredo comprou um sofá mas não mediu a
entrada da sala, e não sabe se o encosto do sofa é
mais largo que a porta
▸ Se o sofá não passar pela porta, o que ele faz?
▸ Se tiver de trocar, vai ter que pagar a diferença?
COTIDIANO DO ALFREDO
ALFREDO E AS LINGUIÇAS
▸ Alfredo chega na churrascaria sem saber quanto é para
entrar. Ele tem dinheiro suficiente?
▸ Se ele entrar, ele vai comer, comer, comer, até que… dor
de barriga! O que ele faz?
▸ Ao comer, ele também bebeu muita cerveja, mas ele está
de carro, e se tiver blitz da Lei Seca, o que ele faz?
▸ Ele tem dinheiro pra pegar taxi?
JAVASCRIPT
RIAN DUTRA
JAVASCRIPT
OLÁ
alert(produtos[1]);	
//Ou,	tente	também:	
/*	
No	HTML,	crie	uma	DIV:	
<div	id=“resultado"></div>	
*/	
document.getElementById(‘resultado’).innerHTML	=	nome;
JAVASCRIPT
VARIÁVEIS
var	nome	=	‘Rian	Dutra’;	
var	idade	=	30;	
var	cidade	=	‘Três	Rios’;	
document.getElementById(‘nome’).innerHTML	=	nome;	
document.getElementById(‘idade’).innerHTML	=	idade;	
document.getElementById(‘cidade’).innerHTML	=	cidade;
JAVASCRIPT
ARRAY
var	produtos	=	[	
‘Pizza’,	
‘Bombom’,	
‘Leite	Condensado’,	
‘Empada’,	
];	
alert(produtos[1]);
JAVASCRIPT
EXERCÍCIOS
▸ Decisão - “Desconto na Farmácia”
▸ Repetição - “Confessar os pecados”
▸ Repetição - “Completar o tanque”
▸ Repetição - “Passa mal na roda gigante”
JAVASCRIPT
FUNÇÃO
//Sem	parâmetros	
diz_ola()	{	
alert(‘Olá,	Rian!’);	
}	
diz_ola();	
//Com	parâmetros	
diz_ola(nome)	{	
alert(‘Olá,	’	+	nome);	
}	
diz_ola(‘Rian’);
JAVASCRIPT
EXERCÍCIO FINAL
▸ Alfredo quer perder a barriga. Para isso, ele corre 1 hora
na esteira todo dia
▸ Porém, ele sempre come barras de chocolate, que impede
ele de emagrecer rápido
▸ Crie uma aplicação para calcular as calorias obtidas.
▸ Informações:
▸ A cada 1 hora de esteira, ele perde 1 caloria
▸ A cada barra de chocolate ingerida, ganha 1 caloria
Pesquisa:
www.riandutra.com/pesquisa.php
Arquivos do curso (GitHub):
https://goo.gl/7FRdr7
www.rian.design www.designr.com.br
eu@riandutra.com

Programação no Mundo Real (com Javascript)