Programação Para Quem Faz Humanas

66
programação_para_quem_faz_humanas rafael.dahis [TemploCoworking,2012-05-28]

Transcript of Programação Para Quem Faz Humanas

Page 1: Programação Para Quem Faz Humanas

programação_para_quem_faz_humanas

rafael.dahis[TemploCoworking,2012-05-28]

Page 2: Programação Para Quem Faz Humanas

dinâmica

Page 3: Programação Para Quem Faz Humanas

algoritmosprogramação

Page 4: Programação Para Quem Faz Humanas

todo mundo deveria aprender a programar, pois isto te ensina como pensar.

stevejobs

Page 5: Programação Para Quem Faz Humanas
Page 6: Programação Para Quem Faz Humanas

algoritmosprogramação

Page 7: Programação Para Quem Faz Humanas

alongamento

Page 8: Programação Para Quem Faz Humanas

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

Page 9: Programação Para Quem Faz Humanas

Uma sequência de instruçõespara resolver um “problema”.

def algoritmo:

Page 10: Programação Para Quem Faz Humanas

Nem tudo na vida é tão simples.

Page 11: Programação Para Quem Faz Humanas

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”

Page 12: Programação Para Quem Faz Humanas

SE

Page 13: Programação Para Quem Faz Humanas

se … então …

se não, …

Page 14: Programação Para Quem Faz Humanas
Page 15: Programação Para Quem Faz Humanas

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”

Page 16: Programação Para Quem Faz Humanas

E / OU / NÃO

Page 17: Programação Para Quem Faz Humanas

SEE / OU / NÃO

Page 18: Programação Para Quem Faz Humanas

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”

Page 19: Programação Para Quem Faz Humanas

algoritmo da manhã de sábado

Page 20: Programação Para Quem Faz Humanas

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

Page 21: Programação Para Quem Faz Humanas

vou sortear um sequencia de números seu algoritmo deve gritar bingo!na hora certa

algoritmo do bingo

Page 22: Programação Para Quem Faz Humanas

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

Page 23: Programação Para Quem Faz Humanas

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

Page 24: Programação Para Quem Faz Humanas

ENQUANTO / PARA CADA

Page 25: Programação Para Quem Faz Humanas

SEE / OU / NÃOENQUANTO / PARA CADA

Page 26: Programação Para Quem Faz Humanas

algoritmo da letra maiúscula

Page 27: Programação Para Quem Faz Humanas

PARA CADA letra no texto: SE caractere anterior foi um ponto: Colocar esta letra em maiúscula

algoritmo da letra maiúscula

Page 28: Programação Para Quem Faz Humanas

subjetividade

máquinas x humanos

Page 29: Programação Para Quem Faz Humanas

SE tenho compromisso E despertadou tocou: SE ainda não apertei soneca: ligar soneca SE NÃO: acordarSE 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

Page 30: Programação Para Quem Faz Humanas

mais objetividade

dormi pouco?

Page 31: Programação Para Quem Faz Humanas

sim/não

mais objetividade

dormi pouco?

Page 32: Programação Para Quem Faz Humanas

mais objetividade

dormi pouco?

sim/não

Page 33: Programação Para Quem Faz Humanas

dormi pouco?

sim/não

hora atual

hora que fui dormir

mais objetividade

Page 34: Programação Para Quem Faz Humanas

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

Page 35: Programação Para Quem Faz Humanas

SEE / OU / NÃOENQUANTO / PARA CADAFUNÇÕES

Page 36: Programação Para Quem Faz Humanas

E programar é isso ?Assim que se faz ?

Page 37: Programação Para Quem Faz Humanas

sistemas

interação

processamento

saída

exemplos ?

Page 38: Programação Para Quem Faz Humanas
Page 39: Programação Para Quem Faz Humanas
Page 40: Programação Para Quem Faz Humanas

algoritmosprogramação

Page 41: Programação Para Quem Faz Humanas

Programar é falar com a máquina para executar uma sequência de instruções.

Page 42: Programação Para Quem Faz Humanas
Page 43: Programação Para Quem Faz Humanas

01010010110

Linguagens de baixo nível

Linguagens de alto nível

Page 44: Programação Para Quem Faz Humanas

vocabulário

sintaxe

pontuação

uma linguagem de programação é como um idioma

Page 45: Programação Para Quem Faz Humanas

- Criada em 1995

- Usado em 100% dos websites e agora em mobile também.

- Executado pelo navegador

vamos aprender o “idioma” Javascript

Page 46: Programação Para Quem Faz Humanas

F12

Page 47: Programação Para Quem Faz Humanas

String - “cadeia de caracteres”

Lista - [“limão”, “banana”, “maçã”]

Números - 1, 981, 0.42

tipos

Page 48: Programação Para Quem Faz Humanas

index

$nome = “Rafael”$nome[0] > R$nome[2]> a

operações (string)

Page 49: Programação Para Quem Faz Humanas

replace

$texto = "cebolinha fala errado"$texto.replace("rr","l")> cebolinha fala elado

operações (string)

Page 50: Programação Para Quem Faz Humanas

index

$lista = [“eu”, “tu”, “eles”]$lista[2] > eles

operações (lista)

Page 51: Programação Para Quem Faz Humanas

push

$lista.push("nós")$lista> [”eu”, “tu”, “eles”, “nós”]

operações (lista)

Page 52: Programação Para Quem Faz Humanas

1 * 3> 3

4 + 0.25 > 4.25

13 > 59> False

operações (números)

Page 53: Programação Para Quem Faz Humanas

pqp, quanta coisa pra lembrar

Page 54: Programação Para Quem Faz Humanas

segredo...a ferramenta mais importante do programador

Page 55: Programação Para Quem Faz Humanas
Page 56: Programação Para Quem Faz Humanas

SEE / OU / NÃOENQUANTO / PARA CADA FUNÇÕES

Page 57: Programação Para Quem Faz Humanas

IF(…){ blablabla;} ELSE{ blablabla;}

Page 58: Programação Para Quem Faz Humanas

&& || !

Page 59: Programação Para Quem Faz Humanas

def

nome_função(entradas){ blablabla; return … ;}

Page 60: Programação Para Quem Faz Humanas

hashtag generator

“working alone sucks”

hashtag generator

#“workingalonesucks”

Page 61: Programação Para Quem Faz Humanas

FUNCTION hashtagGenerator(frase){

$hashtag = ... ;RETURN $hashtag ;}

hashtag generator

Page 62: Programação Para Quem Faz Humanas

FUNÇÃO gerar Hashtag(frase): retirar espaços adicionar o “#” na frente

hashtag generator

Page 63: Programação Para Quem Faz Humanas

hashtag generator

FUNCTION hashtagGenerator(frase){

$frase_sem_espacos = frase.split(" ").join("") ;$hashtag = "#" + $frase_sem_espacos ;RETURN $hashtag ;}

Page 64: Programação Para Quem Faz Humanas

hashtagGenerator(“working alone sucks”) > #workingalonesucks

hashtagGenerator(“como eu me sinto quando”)hashtagGenerator(“estou adorando esta aula”)

hashtag generator

Page 65: Programação Para Quem Faz Humanas

?

Page 66: Programação Para Quem Faz Humanas

Rafael [email protected]