BTÖ216-Görsel Programlama RobotC’ye Giriş
Problem Çözme “Nasıl iyi bir programcı olabilirim?” İlk adım problemi nasıl çözeceğini anlamadır. Problem çözme programlamanın özüdür.
Problem Çözme
STAIR problem çözme süreci STAIR problem çözme süreci S tate the problem (Problemi tanımlayın) Identify the t ools available for solving the problem (Problemi çözmek için mevcut araçları belirleyin) Write an a lgorithm (Bir algoritma yazın) I mplement the solution (Çözümü gerçekleştirin) R efine the solution (Çözümü sadeleştirin)
STAIR sürecinin programlamaya uygulanması S tate the problem (Problemi tanımlayın) It begins by stating the problem, defining the problem, and understanding the problem Identify the t ools available for solving the problem (Problemi çözmek için mevcut araçları belirleyin) RobotC – NXT 2.1 programming environment Write an a lgorithm (Bir algoritma yazın) An algorithm is a well-defined, finite, step-by-step process for solving a problem. I mplement the solution (Çözümü gerçekleştirin) Use tools and algorithms to build a solution R efine the solution (Çözümü sadeleştirin) Testing the solution, fixing bugs, and making enhancements
Algoritma Akış diyagramı Pseudocode yazma SPA (Sense, Plan, Act): Robot kontrol prosedürü. Robotların etkili bir biçimde çalışması için gerekli 3 önemli beceri.
Akış Diyagramı Sembolleri ve Fonksiyonları Dikdörtgen: İşlem Baklava: Karar Paralel Kenar: Giriş ya da Çıkış Daire: Bağlantı Ok: Akış yönü Oval: Başlama ya da Durma noktası
Kontrol Yapıları - Control Structure
Program Kodu
Kod Renklendirme
Büyük-Küçük Harf Hassasiyeti
Sıra - Sequence
Boşluk Kullanma
NOKTALAMA İŞARETLERİ Noktalı Virgül (;) kullanımı
Parantezler
Açıklama Satırı - Comments
ROBOTC KOMUTLARI Display - Ekran Motor Sound - Ses Wait - Bekleme
DISPLAY komutları task main() { nxtDisplayTextLine(4, " Merhaba Dunya "); wait1Msec(3000); }
NXT LCD ekranı koordinatları
task main() { nxtDisplayTextLine(1, " Merhaba Dunya "); nxtDisplayBigStringAt(10, 36, "Merhaba"); nxtDisplayBigStringAt(10, 20, "Dunya"); wait1Msec(10000); eraseDisplay(); }
MOTOR Komutu task main() { motor[motorB] = 50; motor[motorC] = 50; wait1Msec(2000); }
SOUND komutları task main() { PlaySound(soundFastUpwardTones); wait1Msec(2000); PlaySound(soundBeepBeep); wait1Msec(2000); PlaySound(soundLowBuzz); wait1Msec(2000); }
WAIT komutları wait1Msec(2000); wait10Msec(2000);