Programação Para Quem Faz Humanas

Post on 25-Jul-2015

179 views 0 download

Transcript of Programação Para Quem Faz Humanas

programação_para_quem_faz_humanas

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

dinâmica

algoritmosprogramação

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

stevejobs

algoritmosprogramaçã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çõespara 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

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

SEE / OU / NÃOENQUANTO / 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: 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

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

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

E programar é isso ?Assim que se faz ?

sistemas

interação

processamento

saída

exemplos ?

algoritmosprogramaçã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

SEE / OU / NÃOENQUANTO / 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 Dahisrafaeldahis@gmail.com