Lectia 3. Patrate imbricate Scratch& Python

Distribuiti cu dragoste

Lectia 3- Patrate imbricate Scratch& Python

Așa cum am explicat am căutat o cât mai bună tranziție între programarea vizuală (orientată blocuri) și programarea orientată text (în linie de comandă) Tranziția Scratch Python, iar acest lucru a fost ușor de făcut cu utilizarea bibliotecii Turtle/ Logo.

Tema Să se deseneze 6 pătrate având același punct de origine la care noua latură să fie mai mare cu 10 pixeli decât precedentul. Latura inițială este de 60 de pixeli

Să începem să gândim algoritmul pe care îl vom codifica în Scratch :

Abordarea Think.and.Scratch

Vom seta elementele grafice, vom fixa o pozitie de start si vom itera un proces prin care apelam o functie care deseneaza un patrat a carui latura creste la fiecare ciclu cu inca 10 pixeli

Scriem în pseudocod :

execuție- steguleț verde
inițializare elemente grafice
sterge tot
stilou jos
setează culoarea
seteaza grosimea stilou
setează originea
setează incrementul (creșterea) la 10
repeta de 6 ori
funcție square (60+index)
crește cu 10

Funcție square (latura)
repeta de 4 ori
mergi latura
roteste stanga 90 de grade

 

 

Codificarea Scratch

După cum este ușor de sesizat nu este o mare filozofie

Abordarea Think.And.Python

Tema Să se deseneze 6 pătrate având același punct de origine la care noua latură să fie mai mare cu 10 pixeli decât precedentul. Latura inițială este de 60 de pixeli

Cum rezolvam ?

Modul de gândire va fi similar celui de mai înainte, vom seta elementele grafice, vom fixa o pozitie de start si vom itera un proces prin care apelam o functie care deseneaza un patrat a carui latura creste la fiecare ciclu cu inca 10 pixeli

Codul Python

# Apelăm biblioteca Turtle/Logo
import turtle
# Definim o funcție care desenează un pătrat cu argument latura
def square(latura) :
for i in range(4) :
think.forward(latura)
think.left(90)
# Cream o fereastra pentru desenul nostru
window = turtle.Screen()

# Fixam culoarea de background
window.bgcolor(“cyan”)

# Cream o “testoasa” cu numele think
think = turtle.Turtle()

# Fixam culoarea cu care desenam
think.pencolor(“red”)

# Fixam pozitia initiala, apelăm functia square si obtinem ceea ce am dorit

think.goto (-100,0)
j= 10
for i in range (6) :
square(60+j)
j= j+ 10
think.speed(0)

 

 

Concluzia

Doua medii de programare diferite, aceeași gândire, același algoritm, același rezultat

 

 

 

 

 

 

 


Distribuiti cu dragoste

Leave a Reply

Your email address will not be published. Required fields are marked *