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

Programação Para Quem Faz Humanas