Pelaku Algoritma Linear "Robot". Robot Pelaku

Pelaku Algoritma Linear "Robot". Robot Pelaku

Program pendidikan mata kuliah pilihan“Pengembangan berpikir algoritmik melalui pemecahan masalah” (untuk siswa kelas 5-6). Periode implementasi: 4 bulan. Penulis program: I.G. Shupletsov Pengulas: dewan metodologi sekolah menengah MBOU No.13, 2012. Catatan penjelasan A.P. Ershov menggambarkan gaya berpikir operasional - kemampuan untuk merencanakan struktur tindakan yang diperlukan untuk mencapai suatu tujuan dengan menggunakan seperangkat cara yang tetap. Pemikiran algoritmik melibatkan pemahaman esensi struktur algoritmik dasar: mengikuti, mencabang, mengulang, memanggil, serta kemampuan untuk menggunakan struktur ini secara efektif saat menyusun algoritme sederhana dan membangun algoritme kompleks berdasarkan algoritme sederhana. Komponen struktural gaya berpikir algoritmik meliputi: kemampuan memformalkan suatu masalah, pemahaman dan kemampuan mengimplementasikan operasi algoritmik dasar, memilih cara optimal untuk mencapai suatu tujuan. Kemampuan membangun algoritma relevan, dari sudut pandang aktivitas mata pelajaran, di banyak bidang pengetahuan dan aktivitas siswa. Pilihan pemecahan masalah di lingkungan KuMir disebabkan oleh fakta bahwa mereka memungkinkan Anda mendemonstrasikan algoritma dengan jelas, yang mengembangkan keterampilan algoritmik dan pemikiran algoritmik berdasarkan tindakan visual para pemain. Siswa kelas 5-6 termotivasi untuk menggunakan pelaku lingkungan KuMir. Mereka mudah digunakan dan sistem perintah para pemain ini jelas dan mudah digunakan oleh mereka. Para siswa antusias mengarang algoritma sederhana dan menunjukkannya kepada guru dan satu sama lain. Visibilitas tindakan para pelaku memudahkan pemantauan eksekusi algoritme dan melakukan penyesuaian jika diperlukan. Kursus “Pengembangan pemikiran algoritmik melalui pemecahan masalah” berorientasi pada praktik. Siswa secara mandiri menguasai lingkungan KuMir dan teknik pemecahan masalah berdasarkan teknologi yang diusulkan dan contoh-contoh yang dianalisis. Guru secara individu membantu ketika kesulitan muncul dan mencatat masalah yang dipecahkan, dan juga menawarkan pilihan terbaik untuk memecahkan masalah. Kursus ini ditawarkan untuk dipelajari di sekolah yang memiliki peralatan pendidikan, metodologi dan teknis yang diperlukan. Diperuntukkan bagi siswa kelas 5 - 6 yang mempunyai keterampilan dasar ruang operasi sistem JENDELA. Kursus ini dapat dilanjutkan dengan kursus dasar-dasar pemrograman dan kursus jarak jauh penyelesaian masalah olimpiade di website http://www.acmu.ru untuk siswa yang berminat dari 78 kelas. Topik “Algoritma” dipelajari pada kuartal ke-4 kelas 6. Dengan demikian, pada saat ini siswa akan mampu menguasai penggunaan lingkungan KuMir dan desain algoritmik intuitif, yang akan memungkinkan mereka mempelajari teori algoritmik dengan sukses dan menerapkannya dengan mudah dalam praktik. Kursus "Pengembangan pemikiran algoritmik melalui pemecahan masalah" dirancang selama 17 jam, di mana siswa akan dapat secara intuitif, ketika memecahkan masalah di komputer, menguasai struktur algoritmik dasar: berikut, percabangan, perulangan, pemanggilan algoritma tambahan, untuk kompilasi algoritma yang efektif. 1 Mata kuliah ini dapat menjadi langkah awal untuk mempelajari pemrograman lebih lanjut dan memilih jurusan studi yang berkaitan dengan teknologi informasi. Maksud dan tujuan mata kuliah Tujuan mata kuliah:  memperluas pengetahuan mahasiswa pada mata kuliah “Informatika dan TIK”;  mengembangkan pemikiran algoritmik siswa dengan menciptakan algoritma untuk memecahkan masalah. Tujuan kursus:  untuk memperkenalkan siswa dalam praktek ke lingkungan KuMir;  mempertimbangkan kemungkinan-kemungkinan utama yang paling banyak artis populer"Robot" dan "Pengambar";  mempelajari penggunaan struktur algoritmik dasar: berikut, percabangan, perulangan, pemanggilan. Teknologi sesi pelatihan . Kelas Kontrol dilaksanakan dalam bentuk kerja praktek. Pada awal pembelajaran (5 menit), guru menetapkan tujuan pembelajaran ini kepada siswa dan mengingatkan hasil setiap siswa yang telah dicapainya selama ini dan tugas apa yang harus ia selesaikan dalam pembelajaran tersebut. Siswa menyusun algoritma di komputer, menjalankannya, melacak hasil antara, dan melaporkan kepada guru tentang solusi masalah. Siswa dapat saling membantu dalam memecahkan masalah. Soal-soal yang tidak terselesaikan di kelas dapat diselesaikan sebagai pekerjaan rumah dan diperiksa pada kelas berikutnya. Guru memeriksa masalah yang diselesaikan dan mencatat penyelesaiannya dalam jurnal. Di akhir pembelajaran (5 menit), siswa yang mempunyai jumlah masalah terselesaikan terbanyak dicatat, kesulitan-kesulitan yang dihadapi oleh siswa yang belum menyelesaikan masalah diidentifikasi, dan cara mengatasinya diusulkan dan didiskusikan. Di awal dan akhir pelajaran, peringkat semua siswa ditinjau, yang memungkinkan Anda untuk mengatur kompetisi antar siswa. Rencana tematik kalender Nomor Pelajaran Topik pelajaran 1 2 3 4 5 Pengenalan sistem KuMir. Pemecahan masalah. Robot Pelaku. Pemecahan masalah. Menyusun algoritma linier. Pemecahan masalah. Menyusun algoritma linier. Pemecahan masalah. Contoh algoritma bantu. Menyusun algoritma tambahan. Pemecahan masalah. Menyusun algoritma tambahan. Pemecahan masalah. Contoh algoritma siklik. Menyusun algoritma siklik. Pemecahan masalah. 6 7 Jumlah jam 1 1 1 1 1 1 1 2 8 9 10 11 12 13 14 15 16 17 Contoh algoritma percabangan. Kompilasi algoritma percabangan. Pemecahan masalah. Juru Gambar Pelaku. Pemecahan masalah. Perintah untuk berpindah ke suatu titik. Menyusun algoritma linier. Pemecahan masalah. Perintah untuk bergeser berdasarkan vektor. Menyusun algoritma linier. Pemecahan masalah. Perintah untuk bergeser berdasarkan vektor. Menyusun algoritma linier. Pemecahan masalah. Menyusun algoritma tambahan. Pemecahan masalah. Menyusun algoritma tambahan. Pemecahan masalah. Menyusun algoritma siklik. Pemecahan masalah. Menyusun algoritma siklik. Pemecahan masalah. Kesimpulannya. Peringkat siswa. Pemecahan masalah. Jumlah 1 1 1 1 1 2 1 1 1 17 Isi materi pendidikan Pengenalan sistem KuMir. Memuat sistem KuMir. Penunjukan Robot Pelaksana. Sistem komando pemain robot. Urutan penulisan algoritma. Prosedur pembuatan field Robot. Eksekusi algoritma. Melacak hasil eksekusi algoritma Robot. Menulis algoritma pertama. Menyusun algoritma linier. Pemecahan masalah. Algoritma bantu. Dua contoh algoritma bantu. Perintah untuk memanggil algoritma tambahan. Merekam algoritma tambahan. Dua kasus di mana algoritma tambahan digunakan. Menyusun algoritma tambahan. Pemecahan masalah. Algoritma siklik. Contoh algoritma siklik. Loop dengan jumlah pengulangan yang ditentukan, perintahkan Loop N kali. Menyusun algoritma siklik. Pemecahan masalah. Algoritma percabangan. Dua contoh algoritma percabangan. Perintah Jika. Bentuk perintah if yang lengkap dan tidak lengkap. Kondisi dalam algoritma percabangan. Kompilasi algoritma percabangan. Pemecahan masalah. Juru Gambar Pelaku. Sistem perintah untuk juru gambar. Menulis algoritma untuk juru gambar. Tujuan dari perintah tersebut adalah untuk berpindah ke suatu titik. Contoh algoritma dengan perintah untuk berpindah ke suatu titik. Tata cara pembuatan gambar dan penulisan algoritma untuk juru gambar. Menyusun algoritma linier. Pemecahan masalah. Juru Gambar Pelaku. Contoh algoritma dengan perintah untuk menggeser vektor. Tata cara pembuatan gambar dan penulisan algoritma dengan perintah perpindahan ke vektor untuk juru gambar. Menyusun algoritma linier. Pemecahan masalah. Contoh algoritma bantu. Menyusun algoritma tambahan. Pemecahan masalah. Contoh algoritma siklik. Menyusun algoritma siklik. Pemecahan masalah. Hasil yang diharapkan dari penguasaan kursus Kursus ini memungkinkan siswa untuk mengenal: Elemen pemuatan dan antarmuka program KuMir. Dengan perintah melakukan beberapa tindakan dalam program KuMir.: Masalah. buku pelajaran untuk sedang buku pelajaran pendirian A.G. Kushnirenko, G.V. Lebedev, R.A. Svoren - edisi ke-2. – M.: Pendidikan, 1991. – 224 hal.: sakit. Lampiran 1 Pelaku “Robot” Algoritme linier Pelaku “Robot” bergerak dalam bidang kotak-kotak berukuran 15 kali 10 sel dan mengecat sel tersebut. Robot dapat melakukan perintah SKI berikut: atas, bawah, kiri, kanan, cat. Unduh program KuMir untuk pemain “Robot” 1. Metode - buka pintasan di desktop. 2. Metode – Drive komputer C: folder Folder sekolah File KumirWin kumir.exe (aplikasi). 4 Contoh 1 1. Ketik program Contoh1 dari keyboard di KuMir. 2. Panggil perintah Menu Alat Edit lingkungan awal Robot. 3. Panggil menu Bantuan Pengaturan, baca tindakan yang dilakukan saat mengedit pengaturan, dan ingatlah tindakan tersebut. 4. Bersihkan lingkungan dan tempatkan Robot di tengah lapangan. Tutup pengaturan tanpa menyimpan. 5. Panggil menu Eksekusi dan perintah STEP (F8 adalah tombol pintas). 6. Panggil kolom Robot, menu Robot, perintah Tampilkan jendela Robot. 7. Tekan tombol F8 hingga program berakhir (sampai bilah hijau hilang). Anda harus mendapatkan hasil berikut. Tugas 1 Membuat program, setelah itu Robot akan mengecat sel-sel yang tersusun dalam pola kotak-kotak dengan panjang sisi 3 sel. 5 Tugas 2 Membuat program, setelah itu Robot akan mengecat sel-sel yang disusun berbentuk belah ketupat dengan panjang sisi 4 sel. Tugas 3 Membuat program, setelah dijalankan Robot akan mengecat sel-sel yang disusun berbentuk piramida setinggi 4 sel dan kembali ke posisi semula. Tugas 4 Membuat program, setelah dijalankan, Robot akan mengecat sel sehingga diperoleh gambar yang menarik (misalnya wajah tersenyum). 6 Tugas 5 Robot berada di awal koridor horizontal (sel A). Pindahkan Robot ke ujung koridor (sel B). Huruf A dan B tidak ditempatkan pada setting Robot. Tugas 6 Robot terletak di depan pintu masuk koridor vertikal. Robot harus berjalan sepanjang koridor dan keluar satu sel. Robot harus mengecat sel yang dilewatinya. Tugas 7 Dalam pengaturan Robot, buat labirin dengan satu pintu keluar. Tempatkan Robot di dalam sangkar tempat ia akan keluar dari labirin. Tulis program yang akan memimpin Robot keluar dari labirin. Tugas 8 Robot harus berpindah dari sel A ke sel B dan mengecat sel yang ditandai dengan titik. 7 Penting: semua algoritma yang telah Anda kompilasi adalah linier, karena perintah-perintah di dalamnya mengikuti satu demi satu dari awal hingga akhir algoritma. 8

Robot Pelaku. Algoritma tambahan (2 jam)

Target: memperkenalkan konsep algoritma utama dan tambahan; menjelaskan aturan penggunaan algoritma bantu; menganalisis contoh algoritma menggunakan algoritma tambahan. Untuk mengembangkan keterampilan praktis dalam membangun algoritma menggunakan metode penyempurnaan sekuensial.

Rencana Pelajaran

1.Pengenalan istilah-istilah baru (algoritma utama dan tambahan, panggilan) dan penjelasan konsep-konsep baru.

2. Analisis contoh penyelesaian masalah dengan menggunakan algoritma bantu.

3. Kerja praktek

Saat memecahkan beberapa masalah, akan lebih mudah untuk memecahnya menjadi subtugas yang lebih kecil, yang masing-masing dapat dirumuskan sebagai algoritma independen. Dalam hal ini, apa yang disebut algoritma utama pertama kali dikompilasi, di mana panggilan ke algoritma tambahan digunakan untuk menyelesaikan subtugas, yang ditambahkan kemudian. Solusi ini disebut metode penyempurnaan berurutan. Hal ini memungkinkan sekelompok pemrogram untuk mengerjakan suatu proyek, masing-masing menyelesaikan subtugasnya sendiri.

Dalam proses penyelesaian suatu masalah, setiap algoritma bantu, jika perlu, dapat dibagi menjadi algoritma bantu yang lebih kecil.

Perintah untuk menjalankan algoritma tambahan disebut tantangan dan ditulis di badan algoritma utama.

Algoritma yang sama dapat dianggap sebagai algoritma utama dan tambahan dalam kaitannya dengan algoritma lainnya. Dalam bahasa algoritmik, algoritma utama ditulis terlebih dahulu, baru kemudian algoritma bantu.

Tugas 1:

Robot berada di pojok kiri atas lapangan. Tidak ada dinding atau sel yang dicat. Buatlah sebuah algoritma, dengan menggunakan algoritma bantu, yang menggambar empat tanda silang pada satu garis horizontal. Posisi akhir Robot bisa berubah-ubah.

Larutan

Analisis di papan tulis:

Tugas 2. Robot berada di pojok kiri atas lapangan. Tidak ada dinding atau sel yang dicat. Buat algoritma yang melukiskan persegi 8 x 8 dalam pola kotak-kotak. Posisi akhir Robot bisa berubah-ubah.

Kerja Praktek di PC “Memecahkan masalah menggunakan algoritma bantu”

Masalah 1 . Robot berada di pojok kiri bawah lapangan. Tidak ada dinding atau sel yang dicat. Buat algoritma yang melukis 6 garis vertikal dengan panjang yang sama menjadi 6 sel. Posisi akhir Robot bisa berubah-ubah.

Masalah 2 . Dengan menggunakan bantu, buatlah algoritma untuk mengecat sel yang membentuk angka 1212.

Pekerjaan rumah : Buatlah algoritma yang menggambarkan gambar berikut: Untuk menyelesaikan masalah, gunakan dua algoritma tambahan.

Dan hari ini kita akan membahas tentang siklus. Mari kita cari tahu apa itu siklus dan bagaimana cara mengajari Robot kita melakukan algoritma siklik.

Jadi, apa itu siklus? Bayangkan kita sedang mengikuti pelajaran pendidikan jasmani dan kita dihadapkan pada suatu tugas lakukan 7 squat. Tugas ini dapat ditulis sebagai algoritma linier dan akan terlihat seperti ini:

melakukan jongkok

melakukan jongkok

melakukan jongkok

melakukan jongkok

melakukan jongkok

melakukan jongkok

melakukan jongkok

Artinya, kita mengulangi perintah “lakukan jongkok” sebanyak 7 kali. Apakah masuk akal untuk menulis 7 perintah yang identik? Mungkin lebih mudah memberi perintah lakukan 7 squat? Tentu saja lebih sederhana dan tepat. Inilah siklusnya. Anda dapat mengingat sendiri contoh siklus dari kehidupan - ada cukup banyak.

Dengan demikian algoritma linier, dimana perintah yang sama diulangi, kita dapat mengaturnya sebagai algoritma siklik- sesuatu seperti ini:

ulangi 7 kali

melakukan jongkok

akhir siklus

Beginilah cara kami merancang siklus dalam bahasa yang kami ciptakan. Pelaku Robot juga memiliki kemampuan merekam siklus. Lebih-lebih lagi, siklusnya berbeda. Opsi yang baru saja kita lihat disebut lingkaran dengan penghitung atau lingkaran dengan parameter.

Jenis siklus.

Ulangi dengan penghitung.

Lingkaran dengan penghitung digunakan bila sudah diketahui sebelumnya berapa banyak pengulangan yang perlu dilakukan. Dalam contoh squat di atas, inilah masalahnya.

Untuk menulis loop dengan counter untuk eksekutor, Anda perlu mengetahui sintaksnya. Dan dia seperti ini:

nc<jumlah pengulangan> kali

<команда 1>

<команда 2>

<команда n>

Disini kita harus menentukan jumlah pengulangan (number) dan perintah yang akan diulang. Perintah yang diulang dalam satu lingkaran disebut badan lingkaran.

Mari kita lihat ini dengan sebuah contoh.

Awalnya Robot berada di sel kiri atas.

Mari kita selesaikan dulu masalahnya secara linear. Dalam hal ini, kita akan mengecat sel saat ini dan memindahkan 1 sel ke kanan dan programnya akan terlihat seperti ini:
menggunakan robot
alg
awal

mengecat

Kanan

mengecat

Kanan

mengecat

Kanan

mengecat

Kanan

mengecat

Kanan

mengecat

Kanan

mengecat

Kanan

Seperti yang Anda lihat, perintah untuk melukis dan ke kanan diulang sebanyak 7 kali. Sekarang mari kita menulis ulang program menggunakan loop. Omong-omong, untuk memasukkan siklus ke dalam program Anda, Anda bisa masuk ke menu Menyisipkan pilih barang ck-ck-ck atau tekan salah satu kombinasi tombol Esc, P(Huruf Rusia R) atau Esc, H(Huruf Latin H). Lebih-lebih lagi tombol harus ditekan secara berurutan- Esc pertama, lepaskan dan baru kemudian P atau H.

Jadi inilah milik kita program lingkaran akan terlihat seperti ini:

menggunakan robot

tidak sebanyak 7 kali

mengecat

Kanan

Jika kita menjalankannya, kita akan melihat hasilnya sama - 7 sel terisi. Namun, program ini menjadi lebih pendek dan lebih cerdas dari sudut pandang algoritmik!

Sebagai pemanasan dan penguatan, saya sarankan Anda menulis sendiri program untuk Robot, yang akan menggambar persegi dengan sisi 7 sel. Tentu saja, menggunakan loop. Saya menunggu solusinya di komentar.

Lingkaran bersyarat.

Saat menyelesaikan Soal 19 Informatika Akademik Negara Ilmu Komputer dengan Robot, penggunaan loop dengan counter tidak akan berhasil. Karena lapangan di sana biasanya tidak ada habisnya dan dindingnya tidak memiliki panjang tertentu. Oleh karena itu, kita tidak akan dapat menentukan jumlah pengulangan untuk satu loop dengan penghitung. Tapi itu tidak masalah - itu akan membantu kita loop dengan kondisi.

Mari kita kembali ke pendidikan jasmani dan mengubah masalahnya. Lagi pula, seseorang mungkin tidak dapat melakukan 7 squat, sementara yang lain mampu melakukan 27 squat. Apakah mungkin untuk memperhitungkan hal ini saat membuat siklus? Tentu. Hanya sekarang kita tidak akan menggunakan penghitung (jumlah pengulangan), tetapi sebuah kondisi. Misalnya sampai lelah, lakukan squat. Dalam hal ini, orang tersebut tidak akan melakukan sejumlah jongkok tertentu, tetapi akan jongkok hingga ia lelah. Dan siklus kita dalam bahasa abstrak akan berbentuk sebagai berikut:

Selamat tinggal tidak lelah

melakukan jongkok

akhir siklus

Kata-kata tidak melelahkan dalam kasus kami - ini adalah suatu kondisi. Jika benar, perulangan dijalankan. Jika salah (lelah), badan perulangan tidak akan dieksekusi. Pelaku Robot memiliki beberapa syarat

bebas di atas

bebas dari bawah

dibiarkan bebas

bebas di sebelah kanan

dinding di atas

dinding di bawah

dinding kiri

dinding di sebelah kanan

Namun dalam kondisi tugas 19 GIA, hanya 4 yang pertama yang ditunjukkan.

Sekarang mari kita selesaikan tugas Robot berikutnya - menggambar garis vertikal Dari batas kiri ke kanan bidang saya menggunakan loop dengan syarat. Awalnya, Robot terletak di pojok kiri atas.

Pertama-tama mari kita rumuskan algoritma verbal - yaitu, jelaskan dengan kata-kata apa yang perlu dilakukan Robot. Algoritma ini akan berbunyi seperti ini:

« Meskipun ada ruang kosong di sebelah kanan, ambil langkah ke kanan dan cat selnya »

Hasilnya, Robot akan melewati semua sel di sebelah kanan dan mengecatnya hingga ada dinding di sebelah kanan.

Kode sumber program Robot kita akan seperti ini:

menggunakan robot

nts haknya gratis untuk saat ini

Kanan

mengecat

Hasil dari mengeksekusi program ini, kita akan melihat gambar berikut: