Ketahui lebih lanjut

Bab 1: Memperkenalkan Robot Karel


Pada tahun 1970-an, seorang pelajar siswazah Stanford bernama Rich Pattis memutuskan bahawa lebih mudah untuk mengajar asas-asas pengaturcaraan jika pelajar entah bagaimana dapat mempelajari idea-idea asas dalam persekitaran yang mudah bebas daripada kerumitan yang mencirikan kebanyakan bahasa pengaturcaraan. Kaya merancang persekitaran pengenalan pengantar di mana pelajar mengajar robot untuk menyelesaikan masalah mudah. Robot itu dinamakan Karel, selepas pemain drama Republik Czech Karel Čapek , yang 1923 bermain RUR ( Robin Universal Rossum ) memberikan robot perkataan kepada bahasa Inggeris.

Karel Robot agak berjaya. Karel telah digunakan dalam pengenalan kursus sains komputer di seluruh dunia dan telah diajar kepada berjuta-juta pelajar. Ramai generasi pelajar Stanford belajar bagaimana pengaturcaraan berfungsi dengan Karel, dan ia masih pengenalan lembut untuk pengekodan yang digunakan di Stanford.

Apa itu Karel?

Karel adalah robot yang sangat mudah hidup di dunia yang sangat mudah. Dengan memberikan satu set arahan, anda boleh mengarahkannya untuk melaksanakan tugas-tugas tertentu di dalam dunia. Proses menentukan arahan tersebut dipanggil pengaturcaraan . Pada mulanya, Karel memahami hanya sebilangan kecil perintah yang telah ditetapkan, tetapi bahagian penting dalam proses pengaturcaraan adalah mengajar perintah baru Karel yang memperluas keupayaannya.

Program Karel mempunyai banyak struktur yang sama dan melibatkan elemen-elemen asas yang sama seperti Java , major bahasa pengaturcaraan . Perbezaan kritikal adalah bahasa pengaturcaraan Karel sangat kecil dan oleh itu butirannya mudah dikuasai. Walaupun demikian, anda akan mendapati bahawa menyelesaikan masalah boleh mencabar.

Dengan bermula dengan Karel, anda boleh menumpukan perhatian untuk menyelesaikan masalah dari awal lagi. Penyelesaian masalah adalah intipati pengaturcaraan. Dan kerana Karel menggalakkan imaginasi dan kreativiti, anda boleh menikmati banyak keseronokan di sepanjang jalan.

Dunia Karel

Dunia Karel ditakrifkan oleh baris run mendatar (timur-barat) dan tiang run menegak (utara-selatan). Persimpangan baris dan lajur dipanggil sudut. Karel hanya boleh diletakkan di penjuru dan mesti menghadap salah satu daripada empat arahan kompas standard (utara, selatan, timur, barat). Contoh dunia Karel ditunjukkan di bawah. Di sini Karel terletak di sudut baris 1 dan lajur 1, menghadap ke timur.

Beberapa komponen lain dari dunia Karel dapat dilihat dalam contoh ini. Objek di hadapan Karel ialah beeper . Seperti yang dijelaskan dalam buku Rich Pattis, beeper s adalah "kerusi plastik yang memancarkan bunyi bising yang tenang." Karel hanya dapat mengesan beeper jika ia berada di sudut yang sama. Garis padat dalam gambar rajah adalah dinding. Dinding berfungsi sebagai halangan dalam dunia Karel. Karel tidak boleh berjalan melalui dinding dan sebaliknya harus pergi ke sekelilingnya. Dunia Karel selalu dibatasi oleh dinding di sepanjang tepi, tetapi dunia mungkin mempunyai dimensi yang berbeza bergantung pada masalah tertentu Karel perlu selesaikan.

Arahan Karel

Apabila Karel dihantar dari kilang, ia bertindak balas kepada satu set perintah yang sangat kecil:
PerintahPenerangan
move(); Minta Karel ke move ke hadapan satu blok. Karel tidak dapat memberi respons kepada a move() perintah jika ada dinding yang menyekat jalannya.
turnLeft(); Minta Karel berputar 90 darjah ke kiri (lawan jam).
pickBeeper(); Minta Karel mengambil satu beeper dari sudut dan menyimpan beeper dalam beg beeper , yang boleh memegang jumlah tak terhingga beeper s. Karel tidak dapat memberi respons kepada a pickBeeper() arahan kecuali terdapat beeper pada sudut semasa.
putBeeper(); Minta Karel mengambil beeper dari beg beeper dan meletakkannya di sudut sekarang. Karel tidak dapat memberi respons kepada a putBeeper() perintah kecuali ada beeper s dalam begnya beeper .

Mari cuba percubaan. Gunakan butang di bawah untuk mendapatkan "dunia" untuk dipadankan dengan "matlamat":

Dunia:
Matlamat:

Pasangan kosong kurungan yang muncul dalam setiap perintah ini adalah sebahagian daripada sintaks biasa yang dikongsi oleh Karel dan Jawa dan digunakan untuk menentukan permintaan perintah tersebut. Akhirnya, program yang anda tulis akan menyertakan maklumat tambahan dalam ruang antara tanda kurung, tetapi maklumat tersebut bukan sebahagian daripada dunia primitif Karel. Oleh itu, kurungan ini akan kosong dalam program Karel standard, tetapi anda harus ingat untuk memasukkannya tetap.

Jika Karel cuba melakukan sesuatu yang menyalahi undang-undang, seperti bergerak melalui dinding atau memetik beeper tidak wujud, keadaan ralat berlaku.

Perintah Karel, tidak dilaksanakan dengan sendirinya. Sebaliknya, anda perlu memasukkannya ke dalam program Karel. Anda akan berpeluang untuk melihat beberapa program Karel mudah dalam Bab 2!


Bab seterusnya