Dasturlashga kirish
Hech qanday dasturlash tili shart emas. Avval dasturchidek fikrlashni, robotga buyruq berib algoritmni jonli o'rganasiz. Keyin o'zingizga mos yo'nalishni tanlaysiz.
Dastur nima va qanday ishlaydi
Kompyuter qanday "o'ylaydi"
Kompyuter juda tez, lekin o'zicha o'ylamaydi. U faqat siz aytgan buyruqni, siz aytgan tartibda, aniq bajaradi. Kamiga ham, ko'piga ham hech narsa qo'shmaydi.
Shuning uchun dasturchining asosiy ishi, mashinaga aniq va bosqichma-bosqich buyruq berishdir. "Olmani ol" desangiz, u tushunmaydi. "Oldinga yur, oldinga yur, olmani ol" deb har bir qadamni aytishingiz kerak.
Pastdagi robot xuddi kompyuter kabi ishlaydi. Uning dasturi (buyruqlar ro'yxati) chapda, ijrosi o'ngda. Har bir buyruq navbat bilan yonib bajariladi:
Algoritm = qadamlar ketma-ketligi
Algoritm, bu biror ishni bajarish uchun aniq qadamlar ketma-ketligi. Buni har kuni ishlatasiz: choy damlash ham algoritm. Muhimi, qadamlar tartibi. Tartib buzilsa, natija ham buziladi.
Birinchi dasturingiz
Endi navbat sizga. Robotni olmagacha olib boring. Pastdagi buyruqlarni bosib dastur tuzing, keyin Ishga tushir tugmasini bosing. Robot dasturingizni yuqoridan pastga, aniq bajaradi.
Maslahat: robot qaysi tomonga qarab turganini kuzating. Yo'nalishni o'zgartirish uchun "buril" buyruqlaridan foydalaning.
Modul testi
Keyingi modulni ochish uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
Algoritm va blok-sxema
Muammoni qadamlarga bo'lish
Har qanday katta ishni yechishning siri, uni kichik, aniq qadamlarga bo'lishdir. Robotni labirintdan chiqarish ham, sayt yasash ham avval bosqichlarga bo'linadi.
Dasturchilar bu qadamlarni ko'pincha blok-sxema bilan chizadi: har bir amal bitta blok, o'qlar tartibni ko'rsatadi, romb esa shart (ha yoki yo'q) beradi. Pastdagi blok-sxema qadamlar qanday ketma-ket bajarilishini ko'rsatadi:
Robot uchun reja tuzish
Endi kattaroq labirint. Robotni olmagacha olib borish uchun oldindan reja tuzing: qayerda to'g'ri yurish, qayerda burilish kerak? Har bir burilishni oldindan o'ylab qo'ying, bu algoritmni rejalashtirishdir.
Modul testi
Keyingi modulni ochish uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
O'zgaruvchilar
Qiymatni saqlash: quti
O'zgaruvchi, bu qiymat saqlanadigan nomli quti. Unga son, matn yoki ha/yo'q (mantiqiy) qiymat qo'yish mumkin, va uni istagancha o'zgartirasiz.
Pastdagi "ball" qutisini sinab ko'ring. Tugmalarni bosganingizda ichidagi qiymat o'zgaradi, lekin qutining nomi o'sha bo'lib qoladi:
Robot olma sanaydi
Endi robot bir nechta olma yig'adi. Har olmani olganda olma o'zgaruvchisi 1 ga oshadi, xuddi hisoblagich kabi. Robotni uchala olmani olishga o'rgating va hisoblagichni kuzating:
Modul testi
Modulni yakunlash uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
Shartlar (agar...)
Robot qaror qabul qiladi
Hozirgacha robot buyruqni ko'r-ko'rona bajardi. Lekin haqiqiy dasturlar qaray oladi va qaror qabul qiladi: "agar bir narsa bo'lsa, buni qil; aks holda, boshqa ish qil". Bu shart deyiladi.
Kundalik misol, svetofor: "agar chiroq qizil bo'lsa, to'xta; yashil bo'lsa, yur". Robot ham oldini "ko'radi" va shunga qarab yo'l tanlaydi. Pastda ikki holat navbat bilan yonadi:
Sharti bilan boshqarish
Endi robot ikki xil vaziyatga tushishi mumkin, lekin qaysi biriga tushishini oldindan bilmaydi. Bitta dastur tuzing, u ikkala vaziyatda ham ishlasin. Siri: "agar oldda devor bo'lsa, o'ngga buril" shartidan foydalaning.
Yuqoridagi "Vaziyat A / B" tugmasi bilan holatlarni almashtiring. Bir dastur (uni o'zgartirmasdan) ikkovini ham yechishi kerak.
Modul testi
Keyingi modulni ochish uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
Takrorlash (sikllar)
Bir ishni ko'p marta
Ba'zan bir buyruqni ketma-ket ko'p marta yozishga to'g'ri keladi. Sikl (takrorlash) buni qisqartiradi: "takrorla 6 marta: oldinga" degani, "oldinga" ni 6 marta bajar.
Quyida ikkalasi bir xil natija beradi, lekin sikl ancha qisqa:
Pastdagi robot sikl bilan yuradi. Sikl hisoblagichi har takrorda oshib boradi (masalan 1/5, 2/5 ...):
Sikl bilan boshqarish
Robotni olmagacha olib boring, lekin yo'l uzun. "oldinga" ni ko'p marta yozish o'rniga sikldan foydalaning: "takrorla" tugmasini bosing va sonini − / + bilan to'g'rilang.
Modul testi
Modulni yakunlash uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
Funksiyalar
Buyruqlarga nom berish
Ba'zan bir guruh buyruqni qayta-qayta ishlatishga to'g'ri keladi. Ularni bitta nom ostida yig'sangiz, funksiya hosil bo'ladi. Keyin faqat nomini "chaqirasiz" va butun guruh bajariladi.
Kundalik misol: "choy damla" desangiz, hamma qadam o'z-o'zidan bajariladi. Quyida zina() funksiyasi bir "pog'ona" ko'tarilish harakatiga nom beradi:
Pastdagi robot zina() ni chaqirib pog'onalarga chiqadi. Chaqirilganda funksiya bloki yonadi:
Funksiya bilan boshqarish
Robot zinapoyaga chiqishi kerak. Har pog'ona bir xil harakat, ya'ni zina(). To'rt buyruqni har safar qayta yozish o'rniga, funksiyani chaqiring. "zina()" tugmasini bir necha marta bosing va olmani oling.
Modul testi
Modulni yakunlash uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
Xato va tuzatish
Xato nima va qanday topiladi
Har bir dasturchi xato qiladi, bu normal holat. Dastur ishlamay qolsa yoki noto'g'ri natija bersa, unda xato (ingliz tilida "bug") bor. Xatoni topib tuzatish jarayoni debugging deyiladi.
Robot olmaga yetmasa yoki to'siqqa urilsa, bu dasturda xato borligini bildiradi. Yaxshi dasturchi vahima qilmaydi, balki quyidagi bosqichlar bilan xatoni topadi:
Xatoni toping va tuzating
Pastdagi dasturda xato bor: robot olmaga bormasdan to'siqqa uriladi. Avval "Ishga tushir" bilan qayerda to'xtashini ko'ring, kerak bo'lsa "Qadam" bilan tekshiring. Xato, birinchi qatorda bitta ortiqcha "oldinga". Ortiqcha buyruq ustiga bosib o'chiring va qayta ishga tushiring.
Modul testi
Modulni yakunlash uchun 4 savoldan kamida 3 tasiga to'g'ri javob bering.
Bosqichma-bosqich qiyinlashadi
10 ta labirint, har biri avvalgisidan qiyinroq. Har bosqichni yechib, keyingisini oching. Bu yerda o'rgangan barcha buyruqlaringizni ishlatasiz.
O'z labirintingizni yasang
Bu yerda baho yo'q, cheklov yo'q. Avval Labirint yasash rejimida kataklarni bosib devor, olma va robot joyini belgilang. Keyin Dasturlash rejimiga o'tib, o'rgangan barcha buyruqlaringiz bilan robotni boshqaring va maydonni yeching.
Kursni to'liq tamomlaganingiz uchun
Ismingizni kiriting, «Dasturlashga kirish» kursini, shu jumladan 10 bosqichli sinovni yakunlaganingiz haqidagi shaxsiy sertifikatni ko'ring va rasm sifatida yuklab oling.