Pencil Code, by the Pencil Code Foundation, é uma aplicação para experimentar online pequenos programas que considero excelente para quem está a dar os primeiros passos na direcção de uma visão moderna da programação.
Baseia-se na ideia de um lápis que se desloca de acordo com o código.
Este código, por exemplo, ordena ao lápis para se mover à velocidade 20, escrever a verde, e repetir 4 vezes o seguinte par de instruções: andar 100 unidades para a frente, e rodar -90º (90º para a esquerda)
O resultado é um quadrado como o do exemplo anterior. Pode-se experimentar aqui.
domingo, 29 de junho de 2014
quinta-feira, 26 de junho de 2014
Programar sem computadores 2
Agora que fizemos o primeiro programa, é altura de começar a pensar se as instruções que propusemos para mover o executante no tabuleiro gigante são as mais convenientes
Código:
origem: ir para a casa central e olhar para o Bom Jesus
fn: andar para a frente n casas
d: rodar 90º para a direita
p: parar
rn: repetir n vezes o que se segue
Olhemos para a instrução d: rodar 90º para a direita. E se quisessemos rodar 90º para a esquerda? Realmente, podíamos. Se rodarmos uma segunda vez para a direita, ficamos virados para trás, e se rodarmos uma terceira vez, ficamos virados para a esquerda.
Este programa funciona, e desenha um quadrado de lado 3
origem
r4
f3
d
d
d
p
Contudo não é muito elegante. Podemos talvez acrescentar uma instrução
e: rodar 90º para a esquerda,
ou, melhor, modificar a instrução
d: rodar 90º para a direita
para aceitar um parâmetro, ângulo, ficando
dn: rodar n graus para a direita
Rodar 90º para a esquerda é rodar -90º para a direita
origem
r4
f3
d-90
p
E aqui temos um programa bem mais compacto, como todo o código deve ser.
Bom Jesus
Código:
origem: ir para a casa central e olhar para o Bom Jesus
fn: andar para a frente n casas
d: rodar 90º para a direita
p: parar
rn: repetir n vezes o que se segue
Olhemos para a instrução d: rodar 90º para a direita. E se quisessemos rodar 90º para a esquerda? Realmente, podíamos. Se rodarmos uma segunda vez para a direita, ficamos virados para trás, e se rodarmos uma terceira vez, ficamos virados para a esquerda.
Este programa funciona, e desenha um quadrado de lado 3
origem
r4
f3
d
d
d
p
Bom Jesus
Contudo não é muito elegante. Podemos talvez acrescentar uma instrução
e: rodar 90º para a esquerda,
ou, melhor, modificar a instrução
d: rodar 90º para a direita
para aceitar um parâmetro, ângulo, ficando
dn: rodar n graus para a direita
Rodar 90º para a esquerda é rodar -90º para a direita
origem
r4
f3
d-90
p
quinta-feira, 12 de junho de 2014
Programar sem computadores 1
Estamos a pensar em actividades para a CodeWeek. Os exercícios mais simples vão-se desenrolar num tabuleiro gigante com 11x11 casas e um conjunto de instruções (código) muito simples
Código:
origem: ir para a casa central e olhar para o Bom Jesus
fn: andar para a frente n casas
d: rodar 90º para a direita
p: parar
Um programa é um conjunto de instruções usando as palavras do código:
origem
f3
d
f3
d
f3
d
f3
d
p
Este programa conduz o executante exactamente à posição inicial, depois de desenhar um quadrado. Certo?
Certo, mas porque não acrescentar ao código uma instrução de repetição? Por exemplo,
rn: repetir n vezes o que se segue
Então, o mesmo programa poderia ficar
origem
r4
f3
d
p
Este programa, que é bem mais compacto e elegante, produz o mesmo resultado, não é?
Começamos a perceber o que é codificar...
Bom Jesus
Código:
origem: ir para a casa central e olhar para o Bom Jesus
fn: andar para a frente n casas
d: rodar 90º para a direita
p: parar
Um programa é um conjunto de instruções usando as palavras do código:
origem
f3
d
f3
d
f3
d
f3
d
p
Este programa conduz o executante exactamente à posição inicial, depois de desenhar um quadrado. Certo?
Bom Jesus
Certo, mas porque não acrescentar ao código uma instrução de repetição? Por exemplo,
rn: repetir n vezes o que se segue
Então, o mesmo programa poderia ficar
origem
r4
f3
d
p
Este programa, que é bem mais compacto e elegante, produz o mesmo resultado, não é?
Começamos a perceber o que é codificar...
quarta-feira, 11 de junho de 2014
CodeWeek
De 11 a 17 de Outubro de 2014 decorre em toda a Europa a CodeWeek, um conjunto de eventos onde novos e velhos, aprendizes e mestres, vão experimentar formas de ensinar e aprender a usar computadores no seu dia a dia.
No âmbito desta iniciativa, estamos a organizar na Católica Braga um evento a que chamamos "Programar sem computadores", em que vamos brincar à programação com os mais novos, através de um conjunto de acividades divertidas em que todos poderão desempenhar os papéis de programador ou de computador, isto é, daquele que escreve os programas ou daquele que os executa.
O nosso espaço, o nosso dispositivo de entrada saída, o nosso écrã, será todo o campus da FaCiS,
onde os participantes se movimentarão na execução ou na criação de "programas" que proponham movimentos ou interacções com outros objectos existentes.
Estamos na fase de preparação do projecto, e aceitamos todas as sugestões que nos queiram fazer no sentido de valorizar o evento.
Falem-nos!
No âmbito desta iniciativa, estamos a organizar na Católica Braga um evento a que chamamos "Programar sem computadores", em que vamos brincar à programação com os mais novos, através de um conjunto de acividades divertidas em que todos poderão desempenhar os papéis de programador ou de computador, isto é, daquele que escreve os programas ou daquele que os executa.
O nosso espaço, o nosso dispositivo de entrada saída, o nosso écrã, será todo o campus da FaCiS,
onde os participantes se movimentarão na execução ou na criação de "programas" que proponham movimentos ou interacções com outros objectos existentes.
Estamos na fase de preparação do projecto, e aceitamos todas as sugestões que nos queiram fazer no sentido de valorizar o evento.
Falem-nos!
Subscrever:
Mensagens (Atom)