Querido leitor, neste espaço você conhecerá um pouco mais sobre o autor e poderá copiar os códigos do livro para iniciar sua jornada no mundo da programação. Vamos lá?

< O AUTOR >

Nestor Burlamaqui aprendeu a programar ainda criança, lendo livros de jogos para computador, e, desde então, interessou-se pelas áreas tecnológicas e literárias. Após um período atuando como web designer, trabalhou como gerente de conteúdo em uma escola de robótica educacional, desenvolvendo materiais didáticos e dinâmicas com robôs para as aulas.

< O LIVRO >

Este livro foi planejado e escrito para toda a família, de forma que todos possam ter uma experiência agradável com jogos e brincadeiras enquanto aprendem a programar em celulares e computadores em sua própria casa, apenas com a ajuda deste material. Aqui, há dicas e orientações para pais e professores, além de conteúdo para crianças e adolescentes, com conceitos que envolvem raciocínio lógico, robótica e matemática, sempre inserindo esse conhecimento em um contexto lúdico. Professores de cursos de programação e de robótica podem usar este livro para complementar suas aulas. Embora o conteúdo seja direcionado para crianças e adolescentes, pessoas de qualquer idade podem usar esta obra para aprender programação de maneira divertida e com linguagem de fácil entendimento. A maioria do conteúdo aqui exposto tem sugestão de faixa etária entre seis e catorze anos. Porém, considero que pais, professores ou demais responsáveis têm total liberdade para avaliar o ritmo de aprendizado das crianças.

Meu primeiro livro de programação
20,10x26,80 cm
144 páginas

Sinopse: Escrito por Nestor Burlamaqui, Meu primeiro livro de programação é direcionado
para crianças, jovens e adultos que queiram ter uma experiência incrível no universo da
programação. Com passo a passo simples, o leitor é convidado a programar jogos diferentes e
divertidos em vários aplicativos, usando celular e computador. Tudo isso em um contexto
lúdico e com linguagem de fácil entendimento. Prepare-se para embarcar no fantástico mundo da programação!

< OS CÓDIGOS DA OBRA >

Ao longo do livro, vários códigos são disponibilizados na linguagem Basic e na linguagem Python para que você inicie sua jornada na programação. Mostramos que precisamos ter cuidado ao copiar e colar os códigos para não gerar erros de programação, mas, para ajudar nesse caminho, dispomos agora esses códigos para você.

Clique abaixo e seja direcionado para o código:

 O CELULAR FALANTE 

CÓDIGO EM BASIC

PASSO 1

 

do
tts.init
tts.speak “Pedro”
tts.stop
until 0 



PASSO 2

 

do
tts.init
tts.speak “Pedro”
tts.stop
until 0 

 

 

PASSO 3

 

for x=1 to 5
tts.init
tts.speak “Pedro”
tts.stop
next x

 

 

PASSO 4

 

do
input “O que devo falar?”, A$
tts.init
tts.speak A$
tts.stop
until 0



PASSO 5

tts.init
tts.speak “Qual é o seu nome?”
input “”, A$
tts.speak “Bom dia” + A$
tts.stop

 

PASSO 6

 

tts.init
tts.speak “Qual foi sua última nota em matemática?”
input “”, nota
if nota < 7 then tts.speak “Precisa estudar mais.”
if nota >= 7 then tts.speak “Muito bem.”
if nota >= 8 then tts.speak “Parabéns.”
tts.stop

CÓDIGO EM PYTHON

CÓDIGO 1


for x in range (5):
..print (“Olá, Pedro”)
print (“Nossa! Falei o nome cinco vezes.”)

 

 

CÓDIGO 2

n = input (“Qual seu nome?”)
print (“Olá, ” + n )
i = input (“Qual sua idade?”)
print (“Apenas ” + i + “! Ainda muito jovem!”)

 

 

CÓDIGO 3


a = 10
b = 5
c = “10”
d = “5”
e = “abacates”
print (a)
print (a+b)
print (c+d)
print (c + d + “ ” + e)

 

 

CÓDIGO 4


nota = input(“Qual foi sua última nota em matemática?”)
nota = int(nota)
if nota <= 6: print(“Precisa estudar mais.”)
if nota >= 7: print(“Muito bem.”)
if nota >= 8: print(“Parabéns.”)

O CELULAR DORMINHOCO

CÓDIGO EM BASIC

 

tts.init
sensors.open 1
pause 2000
wakelock 1
do
sensors.read 1,x,y,z
print y
if y>9 then tts.speak “Estou de pé. Por favor, coloque-me deitado. Estou com sono”
if y>1 & y<9 then tts.speak “Estou inclinado. Não consigo dormir desse jeito”
if y<-1 then tts.speak “Estou ficando de cabeça para baixo. Ninguém merece”
if y>-1 & y<1 then print “Boa noite. ZZZZZ…”
pause 3000
until 0
end

DESENHANDO COM O TOQUE

CÓDIGO EM BASIC

 

gr.open 255, 0, 0, 0
gr.color 255, 255, 255, 255
gr.set.stroke 20
gr.orientation 1
do
do
gr.touch touched, x, y
until touched
gr.point p, x, y
gr.render
until 0

ENVIANDO MENSAGENS SECRETAS

CÓDIGO EM BASIC

 

input “Digite a senha”, senhA$
do % inicia a repetição
dialog.message, “Escolha”, go, “Decodificar”, “Codificar”
input “Digite ou cole a mensagem”, m$
if go>1 then x$ = encode$ (“encrypt”, senha$, m$)
if go<2 then x$ = decode$ (“encrypt”, senha$, m$)
clipboard.put x$
print “MENSAGEM COPIADA: ” + x$
print “COLE NO APP”
popup (“Mensagem copiada para área de transferência”)
print
pause 5000 % Espera 5 segundos
until 0

CÓDIGO EM PYTHON

 

W = “S”
while W==”S”: # inicia as repetições
..t = input (“Cifrar(1) ou decifrar(2)?”)
..MSG = input(“Digite a mensagem com letras em maiúsculo:”)
..A = “ABCDEFGHIJKLMNOPQRSTUVWXYZ,.?!Ç ÁÀÃÉÊÍÓÕÔÚ”
..K = “POIUYTREWQLKJHGFDSAMNBVCZX,.#%@ 123456789*”
..CODE = “”
..if t == “1”:
...for i in range (len(MSG)):
....x = A.index(MSG[i])
....CODE = CODE + K[x]
..if t == “2”:
...for i in range (len(MSG)):
....x = K.index(MSG[i])
....CODE = CODE + A[x]
..print (CODE) # Mostra a mensagem alterada
..print()
..W = input (“Mais alguma mensagem? S ou N.”)

DESAFIO MATEMÁTICO

CÓDIGO EM BASIC

 

pontos = 0
ti = clock( )
for t = 1 to 10
A=floor(9*rnd( )+1)
B=floor(9*rnd( )+1)
A$=str$(A)
B$=str$(B)
A$=trim$ (A$,“.0”)
B$=trim$(B$,“.0”)
input “Quanto é ” + A$ + “ x ” + B$ + “ ?”, resposta
correta = A*B
if resposta = correta
print “Resposta correta”
pontos = pontos + 1
else
print “Resposta errada”
endif
next t
tf = clock( )
print
print “Sua pontuação:”
print pontos
print “Seu tempo em segundos:”
print (tf-ti)/1000

CÓDIGO EM PYTHON

 

import random
from time import time
pontos = 0
tempo = time()
ti = int(tempo)
for t in range (10):
..A=random.randint(1,9)
..B=random.randint(1,9)
..a=str(A)
..b=str(B)
..resposta = input (“Quanto é” + a + “x” + b + “?”)
..resposta = int(resposta)
..correta = A*B
..if (resposta == correta):
....print (“Resposta correta”)
....pontos = pontos + 1
..else:
....print (“Resposta errada”)
tempo = time()
tf = int(tempo)

print ()
print (“Sua pontuação”)
print (pontos)
print (“Seu tempo em segundos:”)
print (tf-ti)

O CAÇADOR DE ROBÔS

CÓDIGO EM BASIC

 

r= 0
do
print “Vez do robô.”
input “Posição do robô (latitude)”, A
input “Posição do robô (longitude)”, B
cls
print “Agora é a vez do caçador.”
pause 3000
cls
input “Posição do caçador (latitude)”, C
input “Posição do caçador (longitude)”, D
cls
X = sqr((A-C)*(A-C)+(B-D)*(B-D))
X = round(x,1)
X$ = str$(X)
print “Vocês estão a “ + X$ + “ casas um do outro.”
if X<1.5 then print “Robô encontrado.”
if X<1.5 then end
if R>10 then print “Robô escapou.”
if R>10 then end
r=r+1
pause 5000
until 0
end

CÓDIGO EM PYTHON

 

from time import sleep
import math
def limpar( ):
..for i in range (50):
....print ( )
vitoria = 0
r = 0
while (vitoria==0):
..limpar( )
..print (“Vez do robô.”)
..A = input (“Posição robô (latitude)”)
..A = int (A)
..B = input (“Posição robô (longitude)”)
..B = int (B)
..limpar( )
..print (“Agora é a vez do caçador.”)
..C = input (“Posição caçador (latitude)”)
..C = int (C)
..D = input (“Posição caçador (longitude)”)
..D = int (D)
..limpar( )
..X = math.sqrt ((A-C)*(A-C) + (B-D)*(B-D))
..z = str (round(X, 1))
..print (“Vocês estão a ” + z + “casas um do outro.”)
..if X<1.5:
....print (“Robô encontrado.”)
....vitoria = 1
..if r>10:
....print (“Robô escapou.”)
....vitoria = 1
..r=r+1
..sleep (5)

VICK, O AGENTE SECRETO: DECIFRANDO MENSAGENS

CÓDIGO EM BASIC

 

input “Digite a mensagem”, m$
for x=1 to len(m$)
y=ascii(m$,x)-1
code$ = code$ + chr$(y)
next x
print code$

CÓDIGO EM PYTHON

 

code = “”
M = input (“Digite a mensagem:”)
for x in range (len(M)):
..y = ord(M[x]) - 1
..code = code + chr(y)
print (code)

NOTAS MUSICAIS

CÓDIGO EM BASIC

 

print "Pressione as teclas."
kb.show

do
inkey$ tecla$
if tecla$="a" then tone 528,100
if tecla$="s" then tone 592,100
if tecla$="d" then tone 665,100
if tecla$="f" then tone 704,100
if tecla$="g" then tone 790,100
if tecla$="h" then tone 888,100
if tecla$="j" then tone 996,100
until 0

 

 

CÓDIGO EM BASIC

 

print "Pressione as teclas."
kb.show

do
inkey$ tecla$
if tecla$="a" then tone 528,100
if tecla$="s" then tone 592,100
if tecla$="d" then tone 665,100
if tecla$="f" then tone 704,100
if tecla$="g" then tone 790,100
if tecla$="h" then tone 888,100
if tecla$="j" then tone 996,100
if tecla$="z" then tone 1056,100
if tecla$="x" then tone 1184,100
if tecla$="c" then tone 1330,100
if tecla$="v" then tone 1409,100
if tecla$="b" then tone 1581,100
if tecla$="n" then tone 1776,100
if tecla$="m" then tone 1993,100

until 0

O CISNE NEGRO: DESCOBRINDO UMA SENHA

CÓDIGO EM BASIC

 

tentativas = 0
s$ = ”945209”
do
tentativas = tentativas + 1
input “DIGITE A SENHA”, senha$
if senha$=trim$(s$, “9”)
print “Senha correta. A outra parte do quadro deslizou
para o lado, revelando uma porta. Você conseguiu.”
end
endif
until tentativas = 3
print “Fim das tentativas. O quadro deslizou de volta,
ocultando o painel. Você não conseguiu.”

CÓDIGO EM PYTHON

 

import math
vitoria = 0
tentativas = 0
x = math.floor(ord(“-”))
x = str(x)
y = math.floor(ord(“(”)/2)
y = str(y)
s = x+y
while tentativas < 3:
..senha = input (“DIGITE A SENHA: ”)
..if senha == s:
....print (“Senha correta. A outra parte do quadro deslizou para o lado, revelando uma porta. Você conseguiu.”)
....vitoria = 1
....tentativas = 3
..tentativas = tentativas + 1
if vitoria == 0 : print (“Fim das tentativas. O quadro deslizou de volta, ocultando o painel. Você não conseguiu.”)

CARA OU COROA?

CÓDIGO EM BASIC

 

print “Pressione espaço”
kb.show
do
inkey$ tecla$
if tecla$ = “ ”
M = rnd( )
if M>=0.50 then print “CARA”
if M<0.50 then print “COROA”
endif
until 0

CÓDIGO EM PYTHON

 

import random
t = “0”
while t == “0”:
x = random.randint(0,100)
if x<=50:
print (“CARA”)
else:
print (“COROA”)
t = input (“Digite 0 para novo resultado e 1 para encerrar.”)

JOGANDO DADOS

CÓDIGO EM BASIC

 

dado = FLOOR(6 * RND( ) + 1)
PRINT dado

CÓDIGO EM PYTHON

 

import random
dado = random.randint(1,6)
print (dado)

UMA INCRÍVEL DESCOBERTA: DESCOBRINDO UMA FREQUÊNCIA

CÓDIGO EM BASIC

 

T = 0
L = 0
H = 0
FP = floor (100 * rnd( ) + 1)
fp$=str$(FP)
do
input “Digite a frequência”, FR
print FR
if abs(FP-FR) <= 5
print “A porta vibrou, e a tranca foi destruída. Você escapou.”
print “A frequência da porta era:” + FP$
end
elseif FP-FR > 40
print “Cuidado. Frequência muito baixa. A sala começou a tremer.”
L=L+1
elseif FR-FP > 40
print “Cuidado. Frequência muito alta. Seus ouvidos doem.”
H=H+1
else
print “Nenhum efeito”
endif
if L=3
print “A sala desmoronou sobre você. Fim de jogo.”
end
elseif H=3
print “Você não suportou a dor de cabeça e desmaiou. Fim de jogo.”
end
endif
T=T+1
pause 3000
until T>4
print “Acabaram suas tentativas.”
print “Os guardas ouviram o barulho e chegaram para tirar o relógio de você.”
print “A frequência da porta era: ” + FP$

CÓDIGO EM PYTHON

 

import random
V = 0
T = 0
L = 0
H = 0
FP = random.randint(1,100)
fp = str(FP)
while T<5 and V==0:
..FR = input (“Digite a frequência: “)
..FR = int(FR)
..if abs(FP-FR) <= 5:
....print (“A porta vibrou, e a tranca foi destruída.”)
....print (“Você escapou.”)
....print ()
....print (“A frequência era: “ + fp)
....V = 1
..elif FP-FR > 40:
....print (“Cuidado. Frequência muito baixa.”)
....print (“A sala começou a tremer.”)
....L=L+1
..elif FR-FP > 40:
....print (“Cuidado. Frequência muito alta. Seus ouvidos doem.”)
....H=H+1
..else:
....print (“Nenhum efeito.”)
..if L==3:
....print (“A sala desmoronou sobre você. Fim de jogo.”)
..elif H==3:
....print (“Você não suportou a dor de cabeça e desmaiou.”)
....print (“Fim de jogo.”)
..T=T+1
if V==0:
..print (“Acabaram suas tentativas.”)
..print (“Os guardas ouviram o barulho e chegaram para
tirar o relógio de você.”)
..print ()
..print (“A frequência era: “ + fp)

CONTAGEM REGRESSIVA: CANCELANDO UM LANÇAMENTO

CÓDIGO EM BASIC

 

Atts.init
tts.speak “Iniciando cancelamento do lançamento 001.”
tts.speak “Digite a senha.”
segundos = 30
wakelock 2
senha$=”no”
m$=””
do
inkey$ k$
segundo$ = str$(segundos)
print “CONTAGEM REGRESSIVA: “ + segundo$
print “DIGITE: “ + m$
kb.show
if k$ <> “@” then m$=m$+k$
if k$ = ”key 67” then m$=””
tone 800,500
pause 500
cls
segundos = segundos - 1
if m$=trim$(“917289”,”9”)
j=floor(9*rnd( )+1)
p=floor(9*rnd( )+1)
j$=str$(j)
p$=str$(p)
j$=mid$(j$,1,1)
p$=mid$(p$,1,1)
r=j*p
tts.speak “Senha correta”
tts.speak “Verificação final. Digite a resposta correta.”
senha$=“ok”
m$=””
endif
if senha$=”ok”
print “Quanto é “ + j$ + “ x “ + p$ + “ ?”
if m$<>”” then m = val(m$)
endif
if m=r & senha$=”ok”
print “Contagem regressiva: “ + segundo$
print “Lançamento 001 cancelado com sucesso.”
print “Você salvou milhares de vidas.”
tts.speak “Lançamento cancelado com sucesso.”
end
endif
if segundos = 0
print “SHOOSHHH!”
print “Míssil lançado.”
print “Você não conseguiu.”
tone 1000,3000
end
endif
until 0

CÓDIGO EM PYTHON

 

import math
import random
from time import time
s = str(12**3)
v = 0
senha = “”
ti = math.floor( time( ) )
print (“SMERG OPERATIONAL SYSTEM V.6.605”)
print ( )
print (“Iniciando cancelamento do lançamento 001.”)
while senha != s:
..senha = input(“Digite a senha de cancelamento: ”)
x = random.randint (2,9)
y = random.randint (2,9)
xy = str(x*y)
k = str(x)
l = str(y)
print ( )
print (“Verificação final”)
while v != xy:
..v = input (“Quanto é ”+ k + “x” + l + “? ”)
print ( )
print (“Verificação concluída”)
tf = math.floor( time( ) )
seg = str (abs (30 - (tf-ti) ) )
if tf-ti>30:
..print (“Tarde demais. O míssil foi lançado há ” + seg + “segundos. Você não
conseguiu.”)
else:
..print (“Lançamento cancelado com sucesso.”)
..print (“Você conseguiu faltando ” + seg + “ segundos!”)

USANDO OS SENSORES DO CELULAR

CÓDIGO EM BASIC

 

sensors.list s$[]
array.length size, s$[]
for i=1 to size
print s$[i]
next i
end

ALARME PARA PORTAS E JANELAS

CÓDIGO EM BASIC

 

w=0
sensors.open 1
pause 20000
sensors.read 1,x,y,z
wakelock 1
print “Detectando…”
do
sensors.read 1,a,b,c
d=abs(x-a)
if d>0.1
phone.call “*****”
w=1
endif
until w=1
cls
end

RASTREANDO COM O GPS

CÓDIGO EM BASIC

 

gps.open
pause 5000
do
gps.latitude lat
gps.longitude lon
lat$ = str$(lat)
lon$ = str$(lon)
local$ = lat$ + “, ” + lon$
sms.send “********”, local$
pause 60000
until 0

LOCALIZANDO UMA PESSOA

CÓDIGO EM BASIC

 

gps.open
sms.rcv.init
numero$ = “********”
wakelock 1
home
do
do
pause 5000
sms.rcv.next m$
until m$ <> “@”
gps.latitude lat
gps.longitude lon
lat$ = str$(lat)
lon$ = str$(lon)
local$ = lat$ + “, ” + lon$
if m$ = “SMS from +55”+ numero$ + “ :GPS”
sms.send numero$, local$
pause 5000
endif
until 0

DESATIVANDO UMA BOMBA

CÓDIGO EM BASIC

 

sensors.open 1
pause 2000
sensors.read 1,a,b,c
segundos = 150
wakelock 2
m$=””
do
inkey$ k$
print “BOMBA ATIVADA”
segundo$ = str$(segundos)
print “TEMPO RESTANTE: ” + segundo$
if k$ <> “@” then m$=m$+k$
if k$= “ ” then m$= “”
if segundos>60 then tone 350,500
if segundos<60 & segundos >10 then tone 500,500
if segundos<10 then tone 800,500
pause 500
segundos = segundos - 1
cls
sensors.read 1,x,y,z
if abs(x-a) > 1 | abs (y-b) > 1
print “BUUUUMMMM!”
tone 1000,3000
end
endif
if segundos < 70
print “DICA DE SENHA: Primeira palavra do capítulo 6 de O hobbit.”
print “DIGITE A SENHA: ” + m$
kb.show
endif
if m$=”bilbo”
print “BOMBA DESATIVADA COM SUCESSO EM:”
print str$(segundos) + “ segundos.”
end
endif
if segundos = 0
print “BUMMM!”
tone 1000,3000
end
endif
until 0

CAÇA AO TESOURO

CÓDIGO EM BASIC

 

gps.open
pause 3000
ok = 0
m = 1000000
wakelock 4
print “Digite de 1 a 3 para registrar os locais”
kb.show
do
inkey$ k$
if k$=”1”
gps.latitude latObjA
pause 500
gps.longitude longObjA
pause 500
print “Esfera 1 posicionada em:”
print latObjA
print longObjA
pause 1000
endif
if k$=”2”
gps.latitude latObjB
pause 500
gps.longitude longObjB
pause 500
print “Esfera 2 posicionada em:”
print latObjB
print longObjB
pause 1000
endif
if k$=”3”
gps.latitude latObjC
pause 500
gps.longitude longObjC
pause 500
print “Esfera 3 posicionada em:”
print latObjC
print longObjC
pause 1000
endif
if k$=” “ then ok=1
until ok=1

 

gr.open 255,0,0,30
gr.orientation 1
gr.set.stroke 30
pause 2000
gr.screen width,height
do
gps.latitude latC
gps.longitude longC
tone 400,500
y1=((latC)-(latObjA))*m
x1=((longC)-(longObjA))*m
x1=x1*(-1)
x1=width/2+(x1)
y1=height/2+(y1)
y2=((latC)-(latObjB))*m
x2=((longC)-(longObjB))*m
x2=x2*(-1)
x2= width/2 +(x2)
y2= height/2 +(y2)
y3=((latC)-(latObjC))*m
x3=((longC)-(longObjC))*m
x3=x3*(-1)
x3= width/2 +(x3)
y3= height/2 +(y3)
gr.color 255,255,0,0
gr.circle o,x1,y1,20
gr.render
gr.color 255,0,255,0
gr.circle p,x2,y2,20
gr.render
gr.color 255,0,0,255
gr.circle q,x3,y3,20
gr.render
gr.color 255,255,255,255
gr.point t, width/2,height/2
gr.render
pause 5000
gr.cls
until 0
end

UM SINAL LUMINOSO

CÓDIGO EM BASIC

 

gr.open 255,0,0,0
gr.color 255,255,255,255
gr.screen w,h
gr.set.stroke 1200
gr.point p, w/2, h/2
gr.render
wakelock 4
do
gr.hide p
gr.render
pause 300
gr.show p
gr.render
pause 300
until 0

< IMPORTANTE >

Pode ser que, após copiar e colar, você precise redigitar as aspas (“”) presentes no código para evitar erros de execução. Nos códigos em Python, também lembre-se de substituir os pontos no início de algumas linhas por espaços em branco, para que o código fique indentado corretamente.

< CONHEÇA MAIS SOBRE O LIVRO COM OS VÍDEOS ABAIXO >

O celular falante

Espião Vick Grace

Desenhando no Scratch

Explorador espacial

Copyright 2024 © Nestor Burlamaqui e Grupo Ciranda Cultural.