1. Crie um desenho geométrico de sua escolha (uma casa, um boneco, uma árvore, um símbolo, uma cerveja, etc.), podendo usar primitivas já implementadas, vistas na videoaula assíncrona (por exemplo: quadrado, polígono, arco ou círculo).
Você pode usar as funções disponíveis no turtle, como por exemplo:
  • up()
  • down()
  • begin_fill()
  • end_fill()
  • color()
  • goto()
  • right()
  • left()
  • forward()
  • backward()
  • reset()

Passo 1

O que o enunciado pede: criar um desenho geométrico usando as primitivas do módulo turtle (por exemplo: quadrado, polígono, arco ou círculo) e as funções disponíveis como up(), down(), begin_fill(), end_fill(), color(), goto(), right(), left(), forward(), backward(), reset().
Informações que temos: podemos usar as funções acima para traçar formas, preencher com cor e mover a “caneta” sem desenhar. Não foi exigido um desenho específico, então escolhi desenhar uma casa simples com: base (quadrado/retângulo), telhado (triângulo), porta (retângulo), duas janelas (quadrados com cruz), sol (círculo) e uma árvore ao lado (tronco retangular + copa circular).

Passo 2

Entendendo o “ambiente” do turtle (aula rápida e necessária):
  • O ponto (0,0) é o centro da janela do turtle. Coordenadas positivas em x vão para a direita e em y para cima.
  • A tartaruga começa em (0,0) apontando para a direita (leste).
  • up() levanta a caneta — mover sem desenhar. down() abaixa a caneta — mover desenhando.
  • goto(x,y) teleporta a tartaruga para (x,y) (útil para posicionamento preciso). Quando a caneta está abaixada, goto desenha uma linha.
  • begin_fill() + end_fill() permitem preencher a área desenhada entre as chamadas com a cor de preenchimento. color(pen, fill) define a cor do traço (pen) e da área de preenchimento (fill).
  • right(angle) e left(angle) giram a tartaruga em graus. forward(dist) move a tartaruga para frente por dist unidades (pixels). backward(dist) move para trás.
    Esses são os comandos que você usará na prova para desenhar formas com precisão ou para posicionar a tartaruga.

Passo 3

Planejamento do desenho (tamanhos e posições explícitas):
  • Base da casa: retângulo que vai de (-100,-100) até (100,50) — isso dá largura 200 e altura 150.
  • Telhado: triângulo com vértices em (-120,50), (0,150) e (120,50). (telhado um pouco maior que a base para sobrepor)
  • Porta: retângulo central na base indo de (-20,-100) até (20,20).
  • Janelas: duas janelas quadradas de lado 40: esquerda com canto inferior esquerdo em (-80,-10), direita com canto inferior esquerdo em (40,-10). Nas janelas vamos desenhar a cruz interna com duas linhas (vertical e horizontal).
  • Sol: círculo centrado em (170,140) com raio 30.
  • Árvore (à esquerda): tronco retangular de (-180,-100) até (-150,10) e copa com centro em (-165,60) e raio 35.
    Eu escolhi coordenadas inteiras simples para que você consiga replicar tudo à mão na prova se precisar.

Passo 4

Começando o desenho: limpeza e posicionamento inicial.
  • Use reset() para limpar e voltar ao estado inicial. Isso garante que a tela e a tartaruga comecem limpas.
  • Sempre que for posicionar a tartaruga sem desenhar, use up() antes e down() depois. Ex.: para começar a desenhar a base da casa, vá para (-100,-100) com a caneta levantada.
    Conceito didático: reset() zera tudo; up()/down() são seus amigos para ir “teletransportando” sem rabiscar no caminho.

Passo 5

Desenhando a base da casa (retângulo). Passo a passo didático:
  • Posicione a tartaruga em (-100,-100) com up() e goto.
  • Abaixe a caneta com down(). Escolha cor de traço e preenchimento, por exemplo color('black','lightyellow').
  • Inicie preenchimento com begin_fill().
  • Trace os vértices do retângulo usando goto em sequência: (100,-100), (100,50), (-100,50), e volte para (-100,-100).
  • Termine o preenchimento com end_fill().
    Explicação conceitual: desenhar com goto e fechar o laço antes de end_fill() cria uma área fechada que será preenchida.

Passo 6

Desenhando o telhado (triângulo). Passo a passo didático:
  • Posicione em (-120,50) com up() + goto.
  • down(), escolha color('black','firebrick') para um telhado vermelho.
  • begin_fill(), então goto(0,150), goto(120,50) e goto(-120,50) para fechar o triângulo.
  • end_fill().
    Dica de prova: para triângulos use três goto em sequência; manter as coordenadas escritas ajuda a evitar erros.

Passo 7

Desenhando a porta (retângulo menor). Passo a passo:
  • up() e goto(-20,-100). down().
  • color('black','sienna'). begin_fill().
  • goto(20,-100), goto(20,20), goto(-20,20), goto(-20,-100). end_fill().
    Observação: a porta está centralizada na base — isso facilita o cálculo rápido de coordenadas na prova.

Passo 8

Desenhando as janelas e a cruz nelas (dois quadrados com linhas internas). Para cada janela:
  • Janela esquerda: up() para (-80,-10), down(), color('black','skyblue'), begin_fill(), goto(-40,-10), goto(-40,30), goto(-80,30), goto(-80,-10), end_fill().
  • Depois desenhe a cruz: up() para (-60,-10)`, `down()` e `goto(-60,30)` para a linha vertical; `up()` para \((-80,10)`, `down()` e `goto(-40,10)` para a linha horizontal. - Repita o mesmo para a janela direita usando canto inferior esquerdo em \((40,-10) e canto superior direito em (80,30).
    Ensino rápido: preencher primeiro, depois traçar linhas internas com a caneta; quando você usa goto com a caneta abaixada, a linha aparece.)

Passo 9

Desenhando o sol (círculo) e alguns raios (opcional). Procedimento:
  • up() para (170,140), down(). color('orange','gold'). begin_fill().
  • Use a primitiva circle(30) para desenhar o sol com raio 30. end_fill().
  • Se quiser raios, levante a caneta, mova ligeiramente para fora do círculo e desenhe pequenas linhas com forward/backward + left/right. (No código abaixo eu deixei só o círculo para simplicidade.)
    Comentário: a primitiva circle(r) desenha um círculo de raio r. É a forma mais simples de desenhar o sol.

Passo 10

Desenhando a árvore (tronco + copa). Passo a passo:
  • Tronco: up() para (-180,-100), down(), color('black','saddlebrown'), begin_fill(), goto(-150,-100), goto(-150,10), goto(-180,10), goto(-180,-100), end_fill().
  • Copa: up() para (-165,60), down(), color('black','forestgreen'), begin_fill(), circle(35), end_fill().
    Didática: para formas arredondadas (folhagem), a primitiva circle é mais rápida; para tronco, use polígono simples.

Passo 11

Acabamentos e boas práticas para a prova:
  • Sempre verifique se usou begin_fill() antes de desenhar a forma fechada e end_fill() depois. Esquecer um desses dá erro visual.
  • Use up() sempre que for reposicionar sem querer uma linha no desenho.
  • Escreva as coordenadas no rascunho da prova antes de digitar — evita erros.
  • Se precisar de um elemento simétrico (duas janelas), calcule uma coordenada e some/subtraia um valor constante para obter a outra (ex.: janela direita = janela esquerda + 120 no eixo x).
  • Para testar localmente copie o código abaixo num arquivo .py e execute. A janela do turtle deve mostrar a casa.

Resposta

import turtle
t = turtle
t.reset()

Base da casa

t.up()
t.goto(-100, -100)
t.down()
t.color(‘black’, ‘lightyellow’)
t.begin_fill()
t.goto(100, -100)
t.goto(100, 50)
t.goto(-100, 50)
t.goto(-100, -100)
t.end_fill()

Telhado

t.up()
t.goto(-120, 50)
t.down()
t.color(‘black’, ‘firebrick’)
t.begin_fill()
t.goto(0, 150)
t.goto(120, 50)
t.goto(-120, 50)
t.end_fill()

Porta

t.up()
t.goto(-20, -100)
t.down()
t.color(‘black’, ‘sienna’)
t.begin_fill()
t.goto(20, -100)
t.goto(20, 20)
t.goto(-20, 20)
t.goto(-20, -100)
t.end_fill()

Janela esquerda

t.up()
t.goto(-80, -10)
t.down()
t.color(‘black’, ‘skyblue’)
t.begin_fill()
t.goto(-40, -10)
t.goto(-40, 30)
t.goto(-80, 30)
t.goto(-80, -10)
t.end_fill()

Cruz na janela esquerda

t.up()
t.goto(-60, -10)
t.down()
t.goto(-60, 30)
t.up()
t.goto(-80, 10)
t.down()
t.goto(-40, 10)

Janela direita

t.up()
t.goto(40, -10)
t.down()
t.color(‘black’, ‘skyblue’)
t.begin_fill()
t.goto(80, -10)
t.goto(80, 30)
t.goto(40, 30)
t.goto(40, -10)
t.end_fill()

Cruz na janela direita

t.up()
t.goto(60, -10)
t.down()
t.goto(60, 30)
t.up()
t.goto(40, 10)
t.down()
t.goto(80, 10)

Sol

t.up()
t.goto(170, 140)
t.down()
t.color(‘orange’, ‘gold’)
t.begin_fill()
t.circle(30)
t.end_fill()

Árvore - tronco

t.up()
t.goto(-180, -100)
t.down()
t.color(‘black’, ‘saddlebrown’)
t.begin_fill()
t.goto(-150, -100)
t.goto(-150, 10)
t.goto(-180, 10)
t.goto(-180, -100)
t.end_fill()

Árvore - copa

t.up()
t.goto(-165, 60)
t.down()
t.color(‘black’, ‘forestgreen’)
t.begin_fill()
t.circle(35)
t.end_fill()
t.up()
t.goto(0, -200)
t.down()
turtle.done()

Exercícios relacionados