Skip to main content

Karar Verme - C++

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Bu Okuma Metninin Amacı

Bu STEM Laboratuvarı, robotun algıladığı koşullara yanıt verecek şekilde programlanmasına odaklanıyor. Bu ilk okumanın amacı, koşullu ifadeler, Boolean (TRUE veya FALSE) koşulları ve bu programlama yapılarını bir projeye dahil etmenin faydalarını tanıtmaktır. Öğrenciler, koşullu programlamanın robotun çevresine verdiği tepkileri iyileştirdiğini fark etmeye başlamalıdır.
Bir robotu izlerken, kendi davranışları hakkında kararlar alıyor gibi görünebilir, ancak programlama içinde koşulları kontrol eder ve uygun şekilde harekete geçer. Öğrenciler, koşulların kendi bilinçli kararlarını nasıl etkilediğini düşünebilirler.
 

Verilmesi gereken karar:Şemsiye almalı mıyım?
Mevcut durum:Yağmur yağması muhtemel (DOĞRU).
Karar:Şemsiye almalı mıyım?

Yolda bir çatalın başında duran ve yere iki ok atmış bir kişi. YANLIŞ olarak etiketlenen sol ok sola, DOĞRU olarak etiketlenen sağ ok ise sağa işaret eder. Kişi iki yolun kesiştiği noktada konumlandırılır.
DOĞRU ve YANLIŞ YOLLAR

Karar Verme

En temel düzeyde, programlar basit davranış dizilerini gerçekleştirmek için yazılır. Örneğin, robotunuzun ileriye doğru sürmesini ve bir hedefe ulaşmak için bazı dönüşler yapmasını isteyebilirsiniz. Peki ya robotunuzun ileriye doğru sürmeye ve rotasını tamamlamaya başlamak için doğru zamanı beklemesini istiyorsanız? Bu, koşullu ifadelerle programlama gerektirecektir. Projenizde "başlamak için doğru zamanın" ne olduğunu tanımlamak için koşullu bir ifade kullanırsınız. Belki de "doğru zaman ", bir düğmeye basıldıktan sonra veya bir sensör belirli bir seviye algıladığında ve ardından sürüşe başladıktan sonradır. Robotun davranışını izlediğinizde, sürüşe ne zaman başlayacağına karar veriyormuş gibi görünecektir ancak bunun nedeni sürüşün ne zaman başlayacağına dair koşulu sizin ayarlamanızdır.

Koşullu ifadeler, bir Boole (TRUE veya FALSE) koşulu kullanan güçlü programlama ifadeleridir. Yukarıdaki aynı örnek senaryoyu kullanarak, robotunuzu beyin ekranına basılıp basılmadığını tekrar tekrar kontrol edecek ve basıldığında ileri doğru hareket edecek şekilde programlayabilirsiniz. Bu projedeki koşullu ifade, "Ekrana basıldığını tespit ederse (TRUE), sürüş sırasını çalıştırın" gibi bir şey okuyabilir. Bu ifade, koşul YANLIŞ olduğunda (ekrandeğilolduğunda) herhangi bir davranıştan bahsetmez, dolayısıyla robot YANLIŞ olduğunda herhangi bir eylemde bulunmaz. Koşullu ifadeler, robotun algıladıklarına bağlı olarak farklı davranmasını sağlayan projeler geliştirmenize olanak tanır. Boole Mantığı hakkında daha fazla bilgi için burayatıklayın

Aşağıdaki örnekte, Beyin ekranına basılırsa (TRUE) robot ileri doğru hareket edecektir. Beynin ekranına basılmazsa (YANLIŞ) robot sürüşü durduracaktır. Bu, robotun yalnızca Beyin ekranına basıldığında ileri doğru hareket ettiğini, aksi takdirde robotun durduğunu gösterir.

// Proje kodu
int main() başlatılıyor {//
  Robot Yapılandırması başlatılıyor. SÖKMEYİN!
  vexcodeInit ();

  while (true ){
    if (Brain.Screen.pressing
      ()){ Drivetrain.drive (forward
    );}

      else {
    Drivetrain.stop    
  
();}}} 

 

Öğretmen İpuçları simgesi Öğretmen İpuçları - Otomatik Tamamlama Kullanımı

Otomatik tamamlama, VEXcode V5'te yazdığınız komutun geri kalanını tahmin eden bir özelliktir. Öğrenciler VEXcode V5'te çalışırken,yardımcı olması için Otomatik Tamamlama özelliğini kullanmalarını teşvik edin. Talimatı yazmaya başladığınızda otomatik tamamlama fonksiyonunu fark edebilirsiniz. İstediğiniz ismi seçmek için “Yukarı” ve “Aşağı” tuşlarını kullanın, ardından seçimi yapmak için klavyenizdeki “Tab” veya (Enter/Return) tuşuna basın. Bu özellik hakkında daha fazla bilgi içinC++makalelerine göz atın.

Drivetrain komutunun başlangıcının yazıldığı ve komutun bir sonraki kısmı için otomatik tamamlama seçeneklerini gösteren kaydırılabilir bir menünün bulunduğu VEXcode V5 çalışma alanı.

Öğrenmenizi Genişletin simgesi Öğrenmenizi Genişletin

Bu etkinliği genişletmek için öğrencilerinizden takımlara ayrılmalarını ve diğer takımın tamamlaması için bir labirent taslağı oluşturmalarını isteyin. Labirentin en az üç ila beş koşullu ifadeye ihtiyacı olmalıdır. Örneğin, bir duvar görene kadar ilerlemeye devam edin. Daha sonra sola dönün. Öğrenciler labirentin çözümünü akış şeması biçiminde yazmalıdırlar. Daha sonra öğrenciler labirentleri bir diğer takımla değiştirmeli ve takım da labirentin akış şeması biçiminde bir çözümünü oluşturmalıdır. Daha sonra iki takım cevapların ne kadar uyumlu olduğunu görmek için cevapları karşılaştırmalıdır.

Bu etkinliği çevrimiçi veya mobil oyunlarla ilişkilendirmek için öğrencilerinizden en sevdikleri oyun/uygulamanın amacını tanımlamalarını isteyin. Daha sonra öğrencilerden oyunlarında uyguladıkları ilk on evet/hayır veya doğru/yanlış kararını özetleyen bir akış şeması oluşturmalarını isteyin.