Koşullu Programlama - Python
Öğretmen Araç Kutusu
-
Bu Etkinliğin Amacı
Bu etkinlik öğrencilere, ekrana basılmadığı sürece robotun ileri gitmesini sağlamak için while ve if ifadelerini kullanmayı öğretecektir.
- Bu etkinlik öğrencilere, ekrana basılmadığı takdirde robotun ileri hareket etmesini sağlayan koşullu ifadeleri ve talimatları tanıtacaktır.
- Bu etkinlikte kullanılan if ve if-else ifadeleri veya diğer ifadeler hakkında daha fazla bilgi için VEXcode V5 içindeki yardım bilgilerini inceleyin. Bu yerleşik yardım aracı hakkında daha fazla bilgi için Pythonyardım hakkındaki makaleye göz atın.
Öğretmen Araç Kutusu
Bu bölüm için öğretim stratejilerine ilişkin öneriler için Yapılacaklar veya Yapılmayacaklar Tempo Rehberi'nin Sunum sütununu inceleyin! (Google Doküman / .docx / .pdf)
Clawbot karar vermeye hazır!
Bu keşif sizeif-elseifadelerini kullanan bazı harika projeler yaratmaya başlamanız için gereken araçları sağlayacaktır.
- Bu araştırmada kullanılacak VEXcode V5 Python komutları:
- drivetrain.drive_for(İLERİ)
- brain.screen.pressing()
- drivetrain.stop()
- eğer durum:
- else:
- Doğru olsa da:
- bekle(5, SANİYE)
Python komutlarını öğrenmek için VEXcode V5'in içindeki Yardım bilgisini kullanabilirsiniz.

Gerekli donanıma, mühendislik defterinize ve VEXcode V5 'e sahip olduğunuzdan emin olun.
| Adet | Gerekli Malzemeler |
|---|---|
| 1 |
VEX V5 Sınıf Başlangıç Kiti (güncel ürün yazılımı ile) |
| 1 |
VEXcode V5 (en son sürüm, Windows, macOS) |
| 1 |
Mühendislik Defteri |
| 1 |
Clawbot (Drivetrain 2 - motor, No Gyro) Şablonu |
Öğretmen İpuçları
Eğer öğrenci VEXcode V5'i ilk kez kullanıyorsa, bu keşif sırasında istediği zaman Eğitimlere başvurabilir. Eğitimler araç çubuğunda yer almaktadır.

Adım 1: Koşullu ifadelerin anlaşılmasıyla başlayalım
Koşullu programlamaya başlamadan önceif-elseifadelerini açıklayan makaleyi okuyun. Makaleye buradan (Google Doc / .docx / .pdf) ulaşılabilir.
if-elseifadelerinde kullanılacak operatörlerin listesi için Boole'ları açıklayan makaleyi okuyun. Bu makaleye buradan ulaşabilirsiniz (GoogleDoc/.docx/.pdf).
Adım 2: Koşullu ifadelerle programlamaya başlayalım.
-
Clawbot (Drivetrain 2 - motor, No Gyro) şablon örnek projesini açın.

- Projeyi aşağıda oluşturun.
# Proje kodunu Doğru
iken
başlat: brain.screen.pressing
(): drivetrain.stop ()
while
brain.screen.pressing ():
wait(5, MSN)
wait(5, MSN)Mühendislik defterinizde aşağıdakileri yapın:
- Projenin Clawbot'un ne yaptığını açıklayın. Bir durdurma düğmesi oluşturduğu gerçeğinden daha fazlasını açıklamanız gerekecektir. Hangi talimatların Clawbot'a ne yaptırdığını açıklayın.
- Projenin ne yaptığını yakalayan tek cümlelik bir özet yazın.
- Projenin Clawbot'un ne yaptığına dair tahmininizin doğru olup olmadığını görmek için test edin.
- ProjeyeCreatingAStopButton adını verin. Projeyi indirin ve çalıştırın.
- Projeyle ilgili açıklamalarınızı kontrol edin ve gerektiğinde düzeltmek için notlar ekleyin.
Öğretmen Araç Kutusu
-
Cevap
Bu projede robot sürekli ileriye doğru hareket ediyor ancak ekrana basıldığında duruyor. Bunu, sürekli olarak sürmek ve kontrol etmek için "sonsuza kadar" ifadesini (while True)kullanarak yapar. Ekrana basıldığında (True) Clawbot sürüşü durdurur.
Öğrencilerin while brain.screen.pressing():ve wait(5, MSEC) komutlarının neden kullanıldığını anlamaları beklenmemektedir. Bu komutların robotun program akışının hızı nedeniyle gerekli olduğunu açıklayın. Eğer orada olmasaydı, Clawbot'un motorları, projede dolaşırken kullanıcı ekrana tekrar tekrar basıyormuş gibi davranırdı. Bunun yerine, bu talimatlar program akışını durdurur ve kullanıcı ekrana basmayı bırakana kadar projenin döngüyü tekrar başlatmasını sağlamaz.
Sahte kod satırı şu kadar basit olabilir: Ekran basılıncaya kadar ileri doğru sürün.
Öğrencilerin mühendislik not defterleri bireysel olarak (Google Doc / .docx / .pdf) veya ekip halinde (Google Doc / .docx / .pdf) tutulabilir ve puanlanabilir. Önceki bağlantılar her yaklaşım için farklı bir değerlendirme ölçütü sunmaktadır. Eğitim planlamasına bir değerlendirme ölçütü eklendiğinde, etkinlik başlamadan önce değerlendirme ölçütünün öğrencilere açıklanması veya en azından bir kopyasının öğrencilere verilmesi iyi bir uygulamadır.
Adım 3:whilevewait()ifadelerini anlamak.
Dikkat ederseniz Brain'in ekranına basıldığında projenin akışı hızlı bir şekilde ilerleyecek ve proje bir sonraki komut olan drivetrain.stop()komutuna geçecektir.
Bu nedenle, projenin Beyin ekranı serbest bırakılana kadar robota durmasını söyleyen while ve bekleme komutlarına ihtiyacı vardır. Aksi takdirde sonsuza kadarifadesi projenin yeniden başlamasına neden olurdu.
while brain.screen.pressing ():
wait(5, MSN)while ve waitkomutları projenin akış hızı nedeniyle gereklidir. Eğer orada olmasalardı, robotun cevap vermeye vakti olmadan önce proje bir sonraki talimata geçecekti.
Adım 4: Projeyi değiştirin.
Bir sonraki adımımızififadesiniif-else ifadesine değiştirmektir
- CreatingAStopButtonyeni proje olarak kaydederek başlayın,StopOrDrive
- Bir projeyi kaydetme konusunda yardıma ihtiyacınız varsa, bu makaleleri görüntüleyin.
- Daha sonra aşağıda gösterilenStopOrDriveprojesini oluşturun.
# Proje kodunu Doğru
iken başlat
: brain.screen.pressing ():
drivetrain.stop ()
while brain.screen.pressing ():
wait(5, MSN) else:drivetrain.drive
(
FORWARD)
wait(5, MSN)- Clawbot'unuzdakiStopOrDriveSlot 2'ye indirin.
Öğretmen Araç Kutusu
-
Cevap
Robotun davranışı açısındanCreatingAStopButtonveStopOrDriveprojeleri arasındadeğilfark olmalıdır.
Öğrencilerinif-elseifadelerini anlamada daha fazla yardıma ihtiyaçları varsa, bu makaleye bakın (Google Doc / .docx / .pdf).
İki proje de Clawbot'un aynı şekilde davranmasını sağlıyor. Tek fark, StopOrDrive projesinde if-else ifadesinin kullanılmasıdır.
if-else ifadesini kullanmak, yaklaşan aktivitelerde ekrana ek düğmeler eklemenize olanak tanır.
Öğrenmenizi Genişletin
Bu STEM Laboratuvarı ilerledikçe, öğrenciler Clawbot'un ekranının bir kullanıcı arayüzü olarak işlev görmesini sağlayan projeler geliştirecekler. Buna hazırlık olarak, öğrencilere ekranda düğme gibi işlev gören renkli bir dikdörtgenin nasıl çizileceğini bulmaları için meydan okuyun. Zira şu an ekranın herhangi bir yerine basmak şart olduğundan, butonun tüm ekranı kaplaması gerekiyor. Öğrenciler projenin başlatıldığında butonun çizilmesi için bir etkinlik yayınlamalıdır.
Öğrencilere öncelikle beynin ekranının nasıl bir koordinat sistemine göre düzenlendiğini öğretmelerini söyleyin. Kullanacakları komutlarda parametreleri ayarlayabilmek için bunu anlamaları gerekecektir. Kullanılan koordinatlar sütun veya satır sayısına değil piksel sayısına karşılık gelir. Ekranın düzeni şu şekildedir:
Öğrenciler bu değişiklikleri mühendislik defterlerine kaydederken planlamalı, test etmeli ve projeyi geliştirmelidir. Bireysel mühendislik not defteri değerlendirme ölçütleri için aşağıdaki bağlantılardan birine tıklayın (Google Doc / .docx / .pdf) veya takım not defterleri için aşağıdaki bağlantılardan birine tıklayın (Google Doc / .docx / .pdf).
İşte bir örnek çözüm:
# Proje kodunu başlat
draw = Event()
def draw_button():
brain.screen.set_fill_color(Color.RED)
brain.screen.draw_rectangle(0, 0, 480, 240)
wait(1, SANİYE)
draw(draw_button)
while True:
draw.broadcast()
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)Gördüğünüz gibi, buton (0, 0) başlangıç noktasından başlayarak tüm ekranı kaplayacak ve 480 yatay (x ekseni) piksel ile 240 dikey (y ekseni) pikselin tamamını dolduracak şekilde çizilmiştir.
