Skip to main content

Değerlendirme ve Açıklama

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Kod Verimliliğine Giriş

Artık öğrenciler belirli bir görevi yerine getirmek için kod dizileri yazma pratiği yaptıklarından, bu becerileri kod dizilerini okumak ve değerlendirmek için uygulamaları istenecektir. Bu etkinlikte öğrencilere Play bölümündekine benzer bir harita verilecek ve tercih edilen çözümü seçmek için 3 kod dizisine bakmaları istenecektir. Her sıra için öğrenciler 3 soruyu cevaplayacaktır:

  • Bu kod görevi yerine getiriyor mu?

  • İşe yarıyorsa, bu kodun diğerlerine göre avantajları nelerdir?

  • Bu kodun diğerlerine göre dezavantajları nelerdir?

Daha sonra, tüm dizilere bakıldığında, öğrencilere kod verimliliği fikri tanıtılacak ve verimlilik ve kendi tercihlerine dayalı olarak tercih ettikleri çözümün ne olduğu sorulacak ve nedenini açıklayacaktır. Bu, kodlamada verimlilik ve doğruluk hakkında bütün bir sınıf tartışması için bir sıçrama tahtası olabilir.

Tercih Edilen Çözümü Seçmek İçin Kod Dizilerini Okuma

Sınıfınız Oyun bölümünde çalışırken, muhtemelen sunulan aynı soruna birçok farklı çözüm olduğunu fark ettiniz. Bu, programlama dünyasında sıklıkla olan bir şeydir. Bir şeyi yapmanın farklı yolları olsa da, herkesin tercih ettiği bir yöntem veya çözüm olacaktır ve bu bir dizi faktöre dayanabilir. Bu etkinlikte, grubunuz bir soruna yönelik 3 olası kod bloğu çözümüne bakacak, amaçlanan şekilde çalışıp çalışmadıklarını anlayacak, ardından gruptan tercih edilen bir çözümü seçecek ve neden onu seçtiğinizi

açıklayacaktır. Sorun: Robot Başlangıçta başladığında, 3 sınıfa da girip çıkacak (herhangi bir sırayla) ve Bitiş noktasına dönecek bir dizi oluşturun. Robot merdivenlerin etrafında dolaşmalı ve harita görüntüsündeki küçük dikdörtgenlerle işaretlenmiş kapı aralıklarından geçebilmelidir.

Başlangıcı sol alt köşede ve Sonu sağ alt köşede gösteren taslak düzen. Başlangıcın yukarısında, başlangıca bakan bir kapı açıklığı ve merkezdeki merdivenlere bakan sağda bir tane olmak üzere A Odası vardır. Merdivenlerin hemen sağında, Sonun üzerinde üst üste dizilmiş Oda B ve Oda C bulunmaktadır. Merdivenlere bakan B ve C odalarına açılan kapılar ve ikisini birbirine bağlayan bir kapı vardır.

  • Aşağıdaki her çözüm için mühendislik defterinizdeki bu 3 soruyu yanıtlayın:
    • Bu kod görevi yerine getiriyor mu? Neden evet veya neden hayır?
    • İşe yarıyorsa, bu kodun diğerlerine göre avantajları nelerdir?
    • Bu kodun diğerlerine göre dezavantajları nelerdir?
  • Çoğu zaman, programlama verimliliğine göre değerlendirilir ve tercih edilen çözüm, hedefi mümkün olan en verimli şekilde gerçekleştiren çözümdür.

Daha büyük bir resim görmek için aşağıdaki çözümlere tıklayın.

Başlatıldığında bloğa bağlı bloklar için 19 Sürüş ve Dönüşten oluşan meydan okuma için örnek çözüm. Sırayla, bloklar robotun 90 derece sağa dönmesini, 10 inç ileri gitmesini, 90 derece sola dönmesini, 3 inç ileri gitmesini, ardından 6 inç geri gitmesini, ardından 90 derece sola dönmesini, 10 inç ileri gitmesini sağlayacaktır. Ardından 90 derece sağa dönün, 8 inç ileri ve 4 inç geri sürün, 90 derece sağa dönün, 10 inç ileri sürün. Ardından 90 derece sola dönün, 1 inç ileri sürün, 90 derece sağa dönün, 3 inç ileri ve 4 derece geri sürün, ardından 90 derece sağa dönün ve 5 inç ileri sürün.
Çözüm A (inç)

Bir When started bloğuna bağlı bloklar için 11 Drive for ve Turn ile örnek bir çözüm. Bloklar robotun 10 inç ileri sürmesini, 90 derece sola dönmesini, 1 inç ileri sürmesini, 90 derece sola dönmesini, 1 inç ileri sürmesini, 90 derece sağa dönmesini, 10 inç ileri sürmesini, 90 derece sağa dönmesini, ardından 5 inç geri sürmesini, 90 derece sağa dönmesini ve 10 inç ileri sürmesini sağlayacaktır.
Solüsyon B (inç)
Başlatıldığında bloğuna bağlı bloklar için 10 Drive for ve Turn ile örnek bir çözüm. Sırayla, bloklar robotun 8 inç sonra 4 inç ileri gitmesini, 90 derece sağa dönmesini, 13 inç ileri gitmesini, 90 derece sola dönmesini, 8 inç ileri gitmesini, 90 derece sola dönmesini, 4 inç ileri gitmesini, 90 derece sağa dönmesini ve 5 inç geri gitmesini sağlayacaktır.
Çözelti C (inç)
Başlatıldığında bloğa bağlı bloklar için 19 Sürüş ve Dönüşten oluşan meydan okuma için örnek çözüm. Sırayla, bloklar robotun 90 derece sağa dönmesini, 254 mm ileri gitmesini, 90 derece sola dönmesini, 76 mm ileri gitmesini, ardından 152 mm geri gitmesini, ardından 90 derece sola dönmesini, 254 mm ileri gitmesini sağlayacaktır. Ardından 90 derece sağa dönün, 203 mm ileri ve 101 mm geri sürün, 90 derece sağa dönün, 254 mm ileri sürün. Ardından 90 derece sola dönün, 25 mm ileri sürün, 90 derece sağa dönün, 76 mm ileri ve 101 mm geri sürün, ardından 90 derece sağa dönün ve 127 mm ileri sürün.
Çözüm A (metrik)
Bir When started bloğuna bağlı bloklar için 11 Drive for ve Turn ile örnek bir çözüm. Bloklar robotun 254 mm ileri sürmesini, 90 derece sola dönmesini, 25 mm ileri sürmesini, 90 derece sola dönmesini, 25 mm ileri sürmesini, 90 derece sağa dönmesini, 254 mm ileri sürmesini, 90 derece sağa dönmesini, ardından 127 mm geri sürmesini, 90 derece sağa dönmesini ve 254 mm ileri sürmesini sağlayacaktır.
Çözüm B (metrik)
Başlatıldığında bloğuna bağlı bloklar için 10 Drive for ve Turn ile örnek bir çözüm. Sırayla, bloklar robotun 203 mm sonra 101 mm ileri gitmesini, 90 derece sağa dönmesini, 330 mm ileri gitmesini, 90 derece sola dönmesini, 203 mm ileri gitmesini, 90 derece sola dönmesini, 10 mm ileri gitmesini, 90 derece sağa dönmesini ve 127 mm geri gitmesini sağlayacaktır.
Çözüm C (metrik)

Kod Verimliliği Nedir?

Mutfağınızdan 3 şey almanız gerekiyorsa, 3 ayrı seyahat yapmak yerine muhtemelen bir seyahatte 3 şeyi de alırsınız. Neden? Çünkü daha verimli olur. Verimli, "minimum boşa harcanan çaba veya masrafla maksimum üretkenliğe ulaşmak" anlamına gelir. Peki bunun programlamayla bağlantısı nedir?

Kod verimliliği, bir programın işini yaparken en az miktarda işi veya adımı doğru bir şekilde kullanarak iyi ve hızlı çalışması için yazılması anlamına gelir. Bu önemlidir, çünkü bir programın iyi çalışmama riskini azaltır ve sırayla bir programın etrafında çalışan diğer parçaları için sorunlara neden olur. Bir kodun verimliliği kalitenin bir ölçüsü olabilir ve VEXcode IQ bloğunda projeler yazdığımızda, genellikle tercih edilen çözüm olarak en “verimli” projeyi ararız.

Temel olarak, kod verimliliği, mümkün olan en az komutu veya bloğu kullanarak hedefinize ulaşan bir kod yazmak istediğiniz anlamına gelen bir ilkedir

. Mühendislik Defterinizde aşağıdaki soruları yanıtlayın:

  • Kod verimliliği göz önünde bulundurulduğunda, tercih ettiğiniz çözüm hangisidir ve neden?
  • Bunun en iyi çözüm olduğunu düşünüyor musunuz, neden veya neden olmasın?

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Cevaplar

Üç oda arasında gezinmek için bir sıra oluşturmak amacıyla yukarıda belirli boyutlar verilmediğinden cevaplar değişebilir. Olası bir örnek çözüm için buraya
tıklayın.

Motive Tartışma simgesi Tartışmayı Motive Et

Verimlilik yararlı olsa da, genellikle işleri nasıl veya neden belirli bir şekilde yaptığımız konusunda başka düşüncelerimiz de vardır. Öğrencilerin cevaplarını Mühendislik Defterlerinde paylaşmalarını sağlayın ve/veya bu soruyu verimlilik ve eylemler dengesi hakkında bir tartışma oluşturmak için kullanın.
S: Programlamada verimlilik genellikle tercih edilen metodolojidir; bunun neden böyle olduğuna dair bir neden düşünebiliyor musunuz?
C: Cevaplar değişecektir, ancak bazıları şunları içerir:

  • Projeleri daha verimli olacak şekilde düzenlemek, gelecekte aynı projeyle çalışabilecek olanlara yardımcı olur. Örneğin, bir proje üzerinde çalışıyorsanız ve birkaç gün sonra arkadaşınızdan projeyi güncellemesini ve işlevselliği artırmak için birkaç öğe daha eklemesini isterseniz, proje verimli bir şekilde yazılırsa arkadaşınızın okuması ve çalışması daha kolay olacaktır.

  • Projeler her zaman hatalara açıktır. Bir proje ne kadar verimli yazılırsa, hata yapma olasılığı o kadar az olur.

  • Endüstriyel robotları manevra yapmak için programlamayı kullanan bireyler, şirkete zaman, enerji ve kaynak tasarrufu sağlamak için bu projelerin verimli olmasına güvenmektedir.