SlideShare a Scribd company logo
1 of 66
Download to read offline
programação_para_quem_faz_humanas
rafael.dahis
[TemploCoworking,2012-05-28]
dinâmica
algoritmos
programação
todo mundo deveria aprender
a programar, pois isto te
ensina como pensar.
stevejobs
algoritmos
programação
alongamento
Levantem
Abram os braços
Girem a cabeça 1x para a direita
Girem a cabeça 1x para a esquerda
Dêem uma espreguiçada
algoritmo do alongamento
Uma sequência de instruções
para resolver um “problema”.
def algoritmo:
Nem tudo na vida é tão
simples.
Se (eu já jantei):
deixo a mão onde está
Se não:
levanto a mão
algoritmo do “quem ainda não
jantou levanta a mão”
SE
se … então …
se não, …
Se (não jantei) ou (já jantei e
estou com fome):
levanto a mão
Se não:
deixo a mão aonde está
algoritmo turbinado do
“quem ainda não jantou
levanta a mão”
E / OU / NÃO
SE
E / OU / NÃO
SE (NÃO jantei) OU (já jantei E
estou com fome):
levanto a mão
SE NÃO:
deixo a mão aonde está
algoritmo turbinado do
“quem ainda não jantou
levanta a mão”
algoritmo da manhã de sábado
SE tenho compromisso E despertadou tocou:
SE ainda não apertei soneca:
ligar soneca
SE NÃO:
acordar
SE NÃO tenho compromisso:
SE dormi pouco OU estou de ressaca:
voltar a dormir
SE NÃO:
SE já passou de meio-dia OU está sol:
acordar
SE NÃO:
voltar a dormir
algoritmo da manhã de sábado
vou sortear um sequencia
de números
seu algoritmo deve gritar bingo!
na hora certa
algoritmo do bingo
// sorteio
Ouvir número sorteado
// marcação do número
SE tenho este número na cartela:
Marcar
// verificação de bingo
SE minha cartela está toda
preenchida:
Gritar bingo!
algoritmo do bingo
ENQUANTO ninguém faz bingo:
// sorteio
Ouvir número sorteado
// marcação dos números
PARA CADA número da minha cartela:
SE é igual ao número sorteado:
marcar
// verificação de bingo
PARA CADA número da minha cartela:
SE NÃO esta marcado:
Não fiz bingo. Esperar próxima
Gritar bingo!
algoritmo do bingo
ENQUANTO /
PARA CADA
SE
E / OU / NÃO
ENQUANTO /
PARA CADA
algoritmo da letra maiúscula
PARA CADA letra no texto:
SE caractere anterior foi um ponto:
Colocar esta letra em maiúscula
algoritmo da letra maiúscula
subjetividade
máquinas x humanos
SE tenho compromisso E despertadou tocou:
SE ainda não apertei soneca:
ligar soneca
SE NÃO:
acordar
SE NÃO tenho compromisso:
SE dormi pouco OU estou de ressaca:
voltar a dormir
SE NÃO:
SE já passou de meio-dia OU está sol:
acordar
SE NÃO:
voltar a dormir
algoritmo da manhã de sábado
mais objetividade
dormi pouco?
sim/não
mais objetividade
dormi pouco?
mais objetividade
dormi pouco?
sim/não
dormi pouco?
sim/não
hora atual
hora que
fui dormir
mais objetividade
FUNÇÃO dormi_pouco
(hora_atual,hora_que_dormi):
SE hora_atual - hora_que_dormi < 7:
RESPONDE sim
SE NÃO:
RESPONDE não
funções
SE
E / OU / NÃO
ENQUANTO /
PARA CADA
FUNÇÕES
E programar é isso ?
Assim que se faz ?
sistemas
interação
processamento
saída
exemplos ?
algoritmos
programação
Programar é falar com a
máquina para executar uma
sequência de instruções.
01010010110
Linguagens
de baixo nível
Linguagens
de alto nível
vocabulário
sintaxe
pontuação
uma linguagem de programação
é como um idioma
- Criada em 1995
- Usado em 100% dos websites
e agora em mobile também.
- Executado pelo navegador
vamos aprender o
“idioma” Javascript
F12
String - “cadeia de caracteres”
Lista - [“limão”, “banana”, “maçã”]
Números - 1, 981, 0.42
tipos
index
$nome = “Rafael”
$nome[0]
> R
$nome[2]
> a
operações (string)
replace
$texto = "cebolinha fala errado"
$texto.replace("rr","l")
> cebolinha fala elado
operações (string)
index
$lista = [“eu”, “tu”, “eles”]
$lista[2]
> eles
operações (lista)
push
$lista.push("nós")
$lista
> [”eu”, “tu”, “eles”, “nós”]
operações (lista)
1 * 3
> 3
4 + 0.25
> 4.25
13 > 59
> False
operações (números)
pqp, quanta coisa pra lembrar
segredo...
a ferramenta mais importante
do programador
SE
E / OU / NÃO
ENQUANTO /
PARA CADA
FUNÇÕES
IF(…){
blablabla;
}
ELSE{
blablabla;
}
&&
||
!
def
nome_função(entradas){
blablabla;
return … ;
}
hashtag
generator
“working alone
sucks”
hashtag generator
#“workingalonesucks”
FUNCTION hashtagGenerator(frase){
$hashtag = ... ;
RETURN $hashtag ;
}
hashtag generator
FUNÇÃO gerar Hashtag(frase):
retirar espaços
adicionar o “#” na frente
hashtag generator
hashtag generator
FUNCTION hashtagGenerator(frase){
$frase_sem_espacos = frase.split(" ").join("") ;
$hashtag = "#" + $frase_sem_espacos ;
RETURN $hashtag ;
}
hashtagGenerator(“working alone sucks”)
> #workingalonesucks
hashtagGenerator(“como eu me
sinto quando”)
hashtagGenerator(“estou adorando
esta aula”)
hashtag generator
?
Rafael Dahis
rafaeldahis@gmail.com

More Related Content

More from Rafael Dahis

quero ser um Growth Hacker
quero ser um Growth Hackerquero ser um Growth Hacker
quero ser um Growth HackerRafael Dahis
 
Então você quer um produto viral?
Então você quer um produto viral?Então você quer um produto viral?
Então você quer um produto viral?Rafael Dahis
 
Startup Metrics for Dummy Pirates
Startup Metrics for Dummy PiratesStartup Metrics for Dummy Pirates
Startup Metrics for Dummy PiratesRafael Dahis
 
Pensando Produto: de Ford a Facebook
Pensando Produto: de Ford a FacebookPensando Produto: de Ford a Facebook
Pensando Produto: de Ford a FacebookRafael Dahis
 
Métricas para Startups
Métricas para StartupsMétricas para Startups
Métricas para StartupsRafael Dahis
 
CarrascoMamata: 10.000 users em 24 horas.
CarrascoMamata: 10.000 users em 24 horas.CarrascoMamata: 10.000 users em 24 horas.
CarrascoMamata: 10.000 users em 24 horas.Rafael Dahis
 
Web Startups e Aprendizado
Web Startups e AprendizadoWeb Startups e Aprendizado
Web Startups e AprendizadoRafael Dahis
 
Facial Expression Recognition / Removal
Facial Expression Recognition / RemovalFacial Expression Recognition / Removal
Facial Expression Recognition / RemovalRafael Dahis
 
Redes Complexas (2009)
Redes Complexas (2009)Redes Complexas (2009)
Redes Complexas (2009)Rafael Dahis
 

More from Rafael Dahis (11)

quero ser um Growth Hacker
quero ser um Growth Hackerquero ser um Growth Hacker
quero ser um Growth Hacker
 
Então você quer um produto viral?
Então você quer um produto viral?Então você quer um produto viral?
Então você quer um produto viral?
 
Startup Metrics for Dummy Pirates
Startup Metrics for Dummy PiratesStartup Metrics for Dummy Pirates
Startup Metrics for Dummy Pirates
 
Pensando Produto: de Ford a Facebook
Pensando Produto: de Ford a FacebookPensando Produto: de Ford a Facebook
Pensando Produto: de Ford a Facebook
 
Métricas para Startups
Métricas para StartupsMétricas para Startups
Métricas para Startups
 
CarrascoMamata: 10.000 users em 24 horas.
CarrascoMamata: 10.000 users em 24 horas.CarrascoMamata: 10.000 users em 24 horas.
CarrascoMamata: 10.000 users em 24 horas.
 
Web Startups e Aprendizado
Web Startups e AprendizadoWeb Startups e Aprendizado
Web Startups e Aprendizado
 
Apple - Marketing
Apple - MarketingApple - Marketing
Apple - Marketing
 
Facial Expression Recognition / Removal
Facial Expression Recognition / RemovalFacial Expression Recognition / Removal
Facial Expression Recognition / Removal
 
TweetMeToo (2010)
TweetMeToo (2010)TweetMeToo (2010)
TweetMeToo (2010)
 
Redes Complexas (2009)
Redes Complexas (2009)Redes Complexas (2009)
Redes Complexas (2009)
 

Aprenda programação sem ser da área de TI