บ้าน - การตั้งค่าอินเทอร์เน็ต
นักแสดง "หุ่นยนต์" อัลกอริธึมเชิงเส้น หุ่นยนต์นักแสดง

โปรแกรมการศึกษาวิชาเลือก “การพัฒนาการคิดอัลกอริทึมด้วยการแก้ปัญหา” (สำหรับนักเรียนชั้นประถมศึกษาปีที่ 5-6) ระยะเวลาดำเนินการ: 4 เดือน ผู้เขียนโปรแกรม: I.G. ผู้ตรวจสอบ Shupletsov: สภาระเบียบวิธีของโรงเรียนมัธยม MBOU หมายเลข 13, 2012 หมายเหตุอธิบาย A.P. Ershov อธิบายรูปแบบการคิดในการปฏิบัติงาน - ความสามารถในการวางแผนโครงสร้างของการกระทำที่จำเป็นเพื่อให้บรรลุเป้าหมายโดยใช้ชุดวิธีการคงที่ การคิดอัลกอริทึมเกี่ยวข้องกับการทำความเข้าใจแก่นแท้ของโครงสร้างอัลกอริทึมพื้นฐาน: การติดตาม การแตกแขนง การวนซ้ำ การโทร รวมถึงความสามารถในการใช้โครงสร้างเหล่านี้อย่างมีประสิทธิภาพเมื่อเขียนอัลกอริทึมแบบง่าย ๆ และสร้างอัลกอริธึมที่ซับซ้อนโดยอิงจากแบบง่าย ๆ องค์ประกอบโครงสร้างของรูปแบบการคิดอัลกอริทึมประกอบด้วย: ความสามารถในการกำหนดปัญหา ความเข้าใจ และความสามารถในการดำเนินการตามอัลกอริทึมเบื้องต้น การเลือกวิธีที่ดีที่สุดในการบรรลุเป้าหมาย ความสามารถในการสร้างอัลกอริธึมมีความเกี่ยวข้องในหลาย ๆ ด้านของความรู้และกิจกรรมของนักเรียนจากมุมมองของกิจกรรมของวิชา ทางเลือกในการแก้ปัญหาในสภาพแวดล้อม KuMir นั้นเกิดจากการที่พวกมันอนุญาตให้คุณสาธิตอัลกอริธึมได้อย่างชัดเจนซึ่งพัฒนาทักษะอัลกอริธึมและการคิดอัลกอริทึมตามการกระทำที่มองเห็นของนักแสดง นักเรียนชั้นประถมศึกษาปีที่ 5-6 ได้รับแรงจูงใจให้ใช้นักแสดงด้านสิ่งแวดล้อมของ KuMir ใช้งานง่ายสำหรับพวกเขา และระบบคำสั่งของนักแสดงเหล่านี้ชัดเจนและใช้งานง่ายสำหรับพวกเขา นักเรียนสร้างอัลกอริทึมง่ายๆ อย่างกระตือรือร้น และสาธิตให้ครูและคนอื่นๆ ได้เห็น การมองเห็นการกระทำของนักแสดงทำให้ง่ายต่อการตรวจสอบการทำงานของอัลกอริทึมและทำการปรับเปลี่ยนหากจำเป็น หลักสูตร “การพัฒนาการคิดอัลกอริทึมด้วยการแก้ปัญหา” เป็นหลักสูตรที่เน้นการปฏิบัติ นักเรียนจะเชี่ยวชาญสภาพแวดล้อมของ KuMir และเทคนิคการแก้ปัญหาโดยอิสระโดยอาศัยเทคโนโลยีที่นำเสนอและตัวอย่างที่วิเคราะห์ ครูจะช่วยเป็นรายบุคคลเมื่อเกิดปัญหาและบันทึกปัญหาที่ได้รับการแก้ไข และยังเสนอทางเลือกที่เหมาะสมที่สุดสำหรับการแก้ปัญหาอีกด้วย หลักสูตรนี้เปิดสอนเพื่อการศึกษาในโรงเรียนที่มีอุปกรณ์การศึกษา วิธีการ และเทคนิคที่จำเป็น มีไว้สำหรับนักเรียนชั้นประถมศึกษาปีที่ 5 - 6 ที่มีทักษะพื้นฐานในการทำงานกับระบบปฏิบัติการ WINDOWS หลักสูตรนี้สามารถเรียนต่อกับหลักสูตรพื้นฐานการเขียนโปรแกรมและหลักสูตรทางไกลในการแก้ปัญหาโอลิมปิกได้ที่เว็บไซต์ http://www.acmu.ru สำหรับนักเรียนที่สนใจจำนวน 78 ชั้นเรียน หัวข้อ “อัลกอริทึม” มีการศึกษาในไตรมาสที่ 4 ของชั้นประถมศึกษาปีที่ 6 ดังนั้น ในเวลานี้ นักเรียนจะเชี่ยวชาญการใช้สภาพแวดล้อม KuMir และการออกแบบอัลกอริทึมที่ใช้งานง่าย ซึ่งจะช่วยให้พวกเขาศึกษาทฤษฎีของอัลกอริทึมได้สำเร็จและนำไปใช้ในทางปฏิบัติได้อย่างง่ายดาย หลักสูตร “การพัฒนาการคิดอัลกอริทึมโดยการแก้ปัญหา” ได้รับการออกแบบเป็นเวลา 17 ชั่วโมง ในระหว่างที่นักเรียนจะสามารถเข้าใจอย่างสังหรณ์ใจเมื่อแก้ไขปัญหาบนคอมพิวเตอร์ เชี่ยวชาญโครงสร้างอัลกอริทึมพื้นฐาน: การติดตาม การแยกสาขา การวนซ้ำ การเรียกอัลกอริทึมเสริม เพื่อการรวบรวมอัลกอริธึมที่มีประสิทธิภาพ 1 หลักสูตรนี้อาจเป็นก้าวแรกในการศึกษาต่อด้านการเขียนโปรแกรมและเลือกทิศทางการศึกษาที่เกี่ยวข้องกับเทคโนโลยีสารสนเทศ เป้าหมายและวัตถุประสงค์ของหลักสูตร วัตถุประสงค์ของหลักสูตร:  เพื่อขยายความรู้ของนักเรียนในหัวข้อ “สารสนเทศและ ICT”;  พัฒนาการคิดอัลกอริทึมของนักเรียนโดยการสร้างอัลกอริทึมสำหรับการแก้ปัญหา วัตถุประสงค์ของหลักสูตร:  เพื่อแนะนำนักเรียนในทางปฏิบัติเกี่ยวกับสภาพแวดล้อมของ KuMir;  พิจารณาความสามารถหลักของนักแสดงยอดนิยมอย่าง "หุ่นยนต์" และ "ช่างเขียนแบบ"  เรียนรู้การใช้โครงสร้างอัลกอริธึมพื้นฐาน: การติดตาม การแตกสาขา การวนซ้ำ การเรียก เทคโนโลยีการฝึกอบรม ชั้นเรียนควบคุมดำเนินการในรูปแบบของการปฏิบัติงานจริง เมื่อเริ่มบทเรียน (5 นาที) ครูตั้งเป้าหมายของบทเรียนนี้ให้กับนักเรียนและเตือนถึงผลลัพธ์ของนักเรียนแต่ละคนที่เขาทำสำเร็จในเวลานี้และงานที่เขาต้องแก้ไขในบทเรียนนี้ นักเรียนเขียนอัลกอริทึมบนคอมพิวเตอร์ ดำเนินการ ติดตามผลลัพธ์ระดับกลาง และรายงานให้ครูทราบเกี่ยวกับวิธีแก้ปัญหา นักเรียนสามารถช่วยเหลือซึ่งกันและกันในการแก้ปัญหา ปัญหาเหล่านั้นที่ไม่ได้รับการแก้ไขในชั้นเรียนสามารถแก้ไขได้เป็นการบ้านและตรวจสอบในชั้นเรียนต่อไปนี้ ครูตรวจสอบปัญหาที่แก้ไขแล้วและบันทึกวิธีแก้ไขลงในสมุดบันทึก ในตอนท้ายของบทเรียน (5 นาที) นักเรียนที่มีจำนวนปัญหาที่แก้ไขได้มากที่สุดจะถูกบันทึกไว้ มีการระบุความยากลำบากที่นักเรียนพบซึ่งยังไม่ได้แก้ไขปัญหา และมีการเสนอและอภิปรายถึงวิธีเอาชนะปัญหาเหล่านั้น ในตอนต้นและตอนท้ายของบทเรียน จะมีการตรวจสอบการให้คะแนนของนักเรียนทุกคน ซึ่งช่วยให้คุณสามารถจัดการแข่งขันระหว่างนักเรียนได้ แผนตามธีมปฏิทิน หมายเลขบทเรียน หัวข้อบทเรียน 1 2 3 4 5 ความรู้เบื้องต้นเกี่ยวกับระบบ KuMir การแก้ปัญหา หุ่นยนต์นักแสดง. การแก้ปัญหา การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา ตัวอย่างของอัลกอริธึมเสริม การวาดอัลกอริธึมเสริม การแก้ปัญหา การวาดอัลกอริธึมเสริม การแก้ปัญหา ตัวอย่างของอัลกอริธึมแบบวนรอบ การวาดอัลกอริธึมแบบวนรอบ การแก้ปัญหา 6 7 จำนวนชั่วโมง 1 1 1 1 1 1 1 2 8 9 10 11 12 13 14 15 16 17 ตัวอย่างของอัลกอริธึมการแยกสาขา การรวบรวมอัลกอริธึมการแยกสาขา การแก้ปัญหา นักแสดงเขียนแบบ. การแก้ปัญหา คำสั่งให้เคลื่อนที่ไปยังจุดใดจุดหนึ่ง การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา คำสั่งให้เลื่อนตามเวกเตอร์ การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา คำสั่งให้เลื่อนตามเวกเตอร์ การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา การเขียนอัลกอริธึมเสริม การแก้ปัญหา การเขียนอัลกอริธึมเสริม การแก้ปัญหา การวาดอัลกอริธึมแบบวนรอบ การแก้ปัญหา การวาดอัลกอริธึมแบบวนรอบ การแก้ปัญหา สรุป.. คะแนนนักเรียน การแก้ปัญหา รวม 1 1 1 1 1 2 1 1 1 17 เนื้อหาสื่อการศึกษา ความรู้เบื้องต้นเกี่ยวกับระบบ KuMir กำลังโหลดระบบ KuMir การแต่งตั้งหุ่นยนต์ปฏิบัติการ ระบบสั่งการหุ่นยนต์นักแสดง ลำดับการเขียนอัลกอริทึม ขั้นตอนการสร้างสนามหุ่นยนต์ การดำเนินการของอัลกอริทึม ติดตามผลลัพธ์ของการดำเนินการอัลกอริทึมของหุ่นยนต์ การเขียนอัลกอริธึมแรก การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา อัลกอริธึมเสริม สองตัวอย่างของอัลกอริธึมเสริม คำสั่งให้เรียกใช้อัลกอริทึมเสริม การบันทึกอัลกอริทึมเสริม สองกรณีที่มีการใช้อัลกอริธึมเสริม การเขียนอัลกอริธึมเสริม การแก้ปัญหา อัลกอริธึมแบบวนรอบ ตัวอย่างของอัลกอริธึมแบบวนรอบ วนซ้ำตามจำนวนที่ระบุ คำสั่งวนซ้ำ N ครั้ง การวาดอัลกอริธึมแบบวนรอบ การแก้ปัญหา อัลกอริธึมการแยกสาขา สองตัวอย่างของอัลกอริธึมการแยกสาขา คำสั่งถ้า รูปแบบคำสั่ง if ที่สมบูรณ์และไม่สมบูรณ์ เงื่อนไขในอัลกอริธึมการแยกสาขา การรวบรวมอัลกอริธึมการแยกสาขา การแก้ปัญหา นักแสดงเขียนแบบ. ระบบคำสั่งสำหรับช่างเขียนแบบ การเขียนอัลกอริทึมสำหรับช่างเขียนแบบ วัตถุประสงค์ของคำสั่งคือเพื่อย้ายไปยังจุดหนึ่ง ตัวอย่างของอัลกอริทึมพร้อมคำสั่งให้ย้ายไปยังจุดหนึ่ง ขั้นตอนการสร้างภาพวาดและการเขียนอัลกอริธึมสำหรับนักแสดงดราฟท์แมน การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา นักแสดงเขียนแบบ. ตัวอย่างของอัลกอริทึมพร้อมคำสั่งให้เลื่อนตามเวกเตอร์ ขั้นตอนการสร้างภาพวาดและเขียนอัลกอริธึมพร้อมคำสั่งให้เลื่อนเป็นเวกเตอร์สำหรับนักแสดงดราฟท์แมน การวาดอัลกอริธึมเชิงเส้น การแก้ปัญหา ตัวอย่างของอัลกอริทึมเสริม การเขียนอัลกอริธึมเสริม การแก้ปัญหา ตัวอย่างของอัลกอริธึมแบบวนรอบ การวาดอัลกอริธึมแบบวนรอบ การแก้ปัญหา ผลลัพธ์ที่คาดหวังจากการเรียนรู้หลักสูตร หลักสูตรนี้จะช่วยให้เด็กนักเรียนคุ้นเคยกับ: องค์ประกอบการโหลดและอินเทอร์เฟซของโปรแกรม KuMir 5 งานที่ 2 สร้างโปรแกรม หลังจากนั้นหุ่นยนต์จะทาสีเซลล์ที่จัดเรียงเป็นรูปสี่เหลี่ยมขนมเปียกปูนโดยมีความยาวด้านละ 4 เซลล์ ภารกิจที่ 3 สร้างโปรแกรม หลังจากดำเนินการแล้ว หุ่นยนต์จะทาสีเซลล์ที่จัดเรียงอยู่ในรูปพีระมิดสูง 4 เซลล์ และกลับสู่ตำแหน่งเดิม ภารกิจที่ 4 สร้างโปรแกรม หลังจากดำเนินการแล้ว หุ่นยนต์จะทาสีทับเซลล์เพื่อให้ได้ภาพวาดที่น่าสนใจ (เช่น ใบหน้าที่ยิ้ม) 6 งานที่ 5 หุ่นยนต์อยู่ที่จุดเริ่มต้นของทางเดินแนวนอน (เซลล์ A) ย้ายหุ่นยนต์ไปจนสุดทางเดิน (เซลล์ B) ตัวอักษร A และ B จะไม่อยู่ในการตั้งค่าหุ่นยนต์ ภารกิจที่ 6 หุ่นยนต์ตั้งอยู่ด้านหน้าทางเข้าทางเดินแนวตั้ง หุ่นยนต์จะต้องเดินไปตามทางเดินและออกจากเซลล์หนึ่งเซลล์ หุ่นยนต์จะต้องทาสีเซลล์ที่มันผ่านไป ภารกิจที่ 7 ในฉากหุ่นยนต์ สร้างเขาวงกตที่มีทางออกเดียว วางหุ่นยนต์ไว้ในกรงที่จะออกจากเขาวงกต เขียนโปรแกรมที่จะนำหุ่นยนต์ออกจากเขาวงกต ภารกิจที่ 8 หุ่นยนต์จะต้องย้ายจากเซลล์ A ไปยังเซลล์ B และทาสีเซลล์ที่มีเครื่องหมายจุด 7 ข้อสำคัญ: อัลกอริธึมทั้งหมดที่คุณรวบรวมนั้นเป็นเชิงเส้นเพราะว่า คำสั่งในคำสั่งเหล่านั้นจะติดตามกันตั้งแต่ต้นจนจบอัลกอริทึม 8

และวันนี้เราจะพูดถึงวัฏจักร เรามาดูกันว่าวงจรคืออะไรและจะสอนหุ่นยนต์ของเราให้ดำเนินการอัลกอริธึมแบบวนได้อย่างไร

ดังนั้น, วงจรคืออะไร- ลองนึกภาพว่าเราอยู่ในบทเรียนพลศึกษาและต้องเผชิญกับงาน ทำสควอท 7 ครั้ง- งานนี้สามารถเขียนเป็นอัลกอริธึมเชิงเส้น จากนั้นจะมีลักษณะดังนี้:

ทำหมอบ

ทำหมอบ

ทำหมอบ

ทำหมอบ

ทำหมอบ

ทำหมอบ

ทำหมอบ

นั่นคือเราทำซ้ำคำสั่ง "ทำหมอบ" 7 ครั้ง มันสมเหตุสมผลไหมที่จะเขียนคำสั่งที่เหมือนกัน 7 คำสั่ง? มันอาจจะง่ายกว่าที่จะออกคำสั่ง ทำสควอท 7 ครั้ง- แน่นอนว่ามันง่ายกว่าและถูกต้องมากกว่า นี่คือวงจร- คุณสามารถจำตัวอย่างวงจรชีวิตได้ด้วยตัวเอง - มีมากมายทีเดียว

ดังนั้น อัลกอริธึมเชิงเส้นเมื่อมีการทำซ้ำคำสั่งเดียวกัน เราก็สามารถจัดเรียงได้ เป็นอัลกอริธึมแบบวนรอบ- บางอย่างเช่นนี้:

ทำซ้ำ 7 ครั้ง

ทำหมอบ

สิ้นสุดรอบ

นี่คือวิธีที่เราออกแบบวงจรในภาษาที่เราคิดค้น นักแสดงหุ่นยนต์ยังมีความสามารถในการบันทึกรอบอีกด้วย นอกจากนี้, รอบจะแตกต่างกัน- ตัวเลือกที่เราเพิ่งดูเรียกว่า วนซ้ำกับเคาน์เตอร์หรือ วนซ้ำด้วยพารามิเตอร์.

ประเภทของรอบ

วนซ้ำกับเคาน์เตอร์

วนรอบกับเคาน์เตอร์ใช้เมื่อทราบล่วงหน้าว่าต้องทำซ้ำกี่ครั้ง ในตัวอย่างข้างต้นด้วยท่าสควอท จะเป็นเช่นนี้ทุกประการ

ในการเขียนลูปด้วยตัวนับสำหรับเอ็กซีคิวเตอร์ คุณจำเป็นต้องรู้ไวยากรณ์ของมัน และเขาก็เป็นแบบนี้:

nc<จำนวนการทำซ้ำ> ครั้ง

<команда 1>

<команда 2>

<команда n>

ที่นี่เราต้องระบุจำนวนการทำซ้ำ (จำนวน) และคำสั่งที่จะทำซ้ำ คำสั่งที่ทำซ้ำในลูปจะถูกเรียก ร่างกายของห่วง.

ลองดูตัวอย่างนี้ด้วย

เริ่มแรก หุ่นยนต์อยู่ในเซลล์ด้านซ้ายบน

ก่อนอื่นมาแก้ปัญหาเชิงเส้นตรงก่อน ในกรณีนี้ เราจะทาสีเซลล์ปัจจุบันและย้าย 1 เซลล์ไปทางขวา จากนั้นโปรแกรมจะมีลักษณะดังนี้:
ใช้หุ่นยนต์
แอลจี
จุดเริ่มต้น

ทาสีทับ

ขวา

ทาสีทับ

ขวา

ทาสีทับ

ขวา

ทาสีทับ

ขวา

ทาสีทับ

ขวา

ทาสีทับ

ขวา

ทาสีทับ

ขวา

อย่างที่คุณเห็นคำสั่งให้ทาสีและไปทางขวาซ้ำ 7 ครั้ง ตอนนี้เรามาเขียนโปรแกรมใหม่โดยใช้การวนซ้ำ อย่างไรก็ตาม หากต้องการแทรกวงจรลงในโปรแกรมของคุณ คุณสามารถไปที่เมนูได้ แทรกเลือกรายการ จุ๊ๆ-จุ๊ๆ-tskหรือกดคีย์ผสมอันใดอันหนึ่ง เอส, พี(ตัวอักษรรัสเซีย R) หรือ เอสซี, เอช(อักษรละติน ฮ) นอกจากนี้ ต้องกดปุ่มตามลำดับ- Esc แรกปล่อยแล้วจึงเฉพาะ P หรือ H

นี่คือของเรา โปรแกรมวนซ้ำจะมีลักษณะเช่นนี้:

ใช้หุ่นยนต์

ไม่ใช่ 7 ครั้ง

ทาสีทับ

ขวา

ถ้าเรารันเราจะเห็นว่าผลลัพธ์จะเหมือนเดิม - เซลล์ที่เต็มไป 7 เซลล์ อย่างไรก็ตาม โปรแกรมสั้นลงและชาญฉลาดมากขึ้นจากมุมมองของอัลกอริธึม!

เพื่อเป็นการอุ่นเครื่องและเสริมกำลัง ฉันขอแนะนำให้คุณเขียนโปรแกรมสำหรับหุ่นยนต์ด้วยตัวเอง ซึ่งจะวาดรูปสี่เหลี่ยมจัตุรัสที่มีด้านละ 7 เซลล์ โดยธรรมชาติแล้วจะใช้การวนซ้ำ ฉันกำลังรอวิธีแก้ปัญหาในความคิดเห็น

วนซ้ำแบบมีเงื่อนไข

เมื่อแก้ไขปัญหาข้อ 19 สารสนเทศวิชาการของรัฐสาขาวิทยาการคอมพิวเตอร์ด้วยหุ่นยนต์ การใช้ลูปกับตัวนับจะไม่ทำงาน เนื่องจากตามกฎแล้วสนามไม่มีที่สิ้นสุดและกำแพงไม่ได้มีความยาวเฉพาะ ดังนั้นเราจึงไม่สามารถระบุจำนวนครั้งของการวนซ้ำด้วยตัวนับได้ แต่มันไม่สำคัญ - มันจะช่วยเรา วนซ้ำอย่างมีเงื่อนไข.

กลับไปพลศึกษาและเปลี่ยนปัญหากัน ท้ายที่สุดบางคนอาจทำ 7 squats ไม่ได้ในขณะที่อีกคนทำได้ 27 ครั้ง เป็นไปได้ไหมที่จะคำนึงถึงสิ่งนี้เมื่อสร้างวงจร? แน่นอน. ตอนนี้เราจะไม่ใช้ตัวนับ (จำนวนการทำซ้ำ) แต่เป็นเงื่อนไข ตัวอย่างเช่น ก่อนที่คุณจะเหนื่อย ให้ทำสควอท ในกรณีนี้ บุคคลนั้นจะไม่ทำสควอทเป็นจำนวนเฉพาะ แต่จะหมอบจนกว่าเขาจะเหนื่อย และวงจรของเราในภาษานามธรรมจะอยู่ในรูปแบบต่อไปนี้:

ลาก่อน ไม่เหนื่อย

ทำหมอบ

สิ้นสุดรอบ

คำพูดไม่เหนื่อยในกรณีของเรา - นี่คือเงื่อนไข เมื่อเป็นจริง ลูปจะถูกดำเนินการ หากเป็นเท็จ (เหนื่อย) เนื้อความของลูปจะไม่ถูกดำเนินการ นักแสดงหุ่นยนต์มีเงื่อนไขหลายประการ

ฟรีด้านบน

ฟรีจากด้านล่าง

ปล่อยให้เป็นอิสระ

ฟรีทางด้านขวา

ผนังด้านบน

ผนังด้านล่าง

ผนังด้านซ้าย

ผนังด้านขวา

แต่ในเงื่อนไขของภารกิจที่ 19 ของ GIA มีเพียง 4 รายการแรกเท่านั้นที่ถูกระบุ ดังนั้นเราจะใช้มันเท่านั้น

ตอนนี้เรามาแก้ไขงานต่อไปสำหรับหุ่นยนต์ - วาดเส้นแนวตั้งจากซ้ายไปขวาของเส้นขอบโดยใช้การวนซ้ำที่มีเงื่อนไข ในตอนแรก หุ่นยนต์จะอยู่ที่มุมซ้ายบน

ขั้นแรกเรามากำหนดอัลกอริทึมทางวาจา - นั่นคือ อธิบายด้วยคำพูดว่าหุ่นยนต์จำเป็นต้องทำอะไร อัลกอริทึมนี้จะมีลักษณะดังนี้:

« ในขณะที่มีพื้นที่ว่างทางด้านขวา ให้ก้าวไปทางขวาแล้วทาสีเซลล์ »

เป็นผลให้หุ่นยนต์จะวิ่งผ่านเซลล์ทั้งหมดทางด้านขวาและจะทาสีจนกว่าจะมีผนังทางด้านขวา

ซอร์สโค้ดของโปรแกรมของเราสำหรับ Robot จะเป็นดังนี้:

ใช้หุ่นยนต์

ตอนนี้สิทธิ์ฟรีแล้ว

ขวา

ทาสีทับ

จากการรันโปรแกรมนี้เราจะเห็นภาพดังนี้:

หุ่นยนต์นักแสดง. อัลกอริธึมเสริม(2 ชม.)

เป้า: แนะนำแนวคิดของอัลกอริธึมหลักและอัลกอริธึมเสริม อธิบายกฎการใช้อัลกอริทึมเสริม วิเคราะห์ตัวอย่างของอัลกอริธึมโดยใช้อัลกอริธึมเสริม เพื่อพัฒนาทักษะการปฏิบัติในการสร้างอัลกอริทึมโดยใช้วิธีการปรับแต่งตามลำดับ

แผนการสอน

1. การแนะนำคำศัพท์ใหม่ (อัลกอริธึมหลักและเสริม การเรียก) และคำอธิบายแนวคิดใหม่

2. การวิเคราะห์ตัวอย่างการแก้ปัญหาโดยใช้อัลกอริทึมเสริม

3. การปฏิบัติงาน

เมื่อแก้ไขปัญหาบางอย่าง จะสะดวกที่จะแบ่งปัญหาออกเป็นงานย่อยเล็กๆ ซึ่งแต่ละปัญหาสามารถกำหนดเป็นอัลกอริทึมอิสระได้ ในกรณีนี้สิ่งที่เรียกว่าอัลกอริธึมหลักจะถูกคอมไพล์ก่อน ซึ่งการเรียกอัลกอริธึมเสริมจะใช้ในการแก้งานย่อยซึ่งจะถูกเพิ่มในภายหลัง วิธีแก้ปัญหานี้เรียกว่า วิธีการปรับแต่งตามลำดับ ช่วยให้กลุ่มโปรแกรมเมอร์สามารถทำงานในโครงการโดยแต่ละคนแก้ไขงานย่อยของตนเอง

ในกระบวนการแก้ปัญหา อัลกอริธึมเสริมแต่ละอัลกอริธึมสามารถแบ่งออกเป็นอัลกอริธึมเสริมที่มีขนาดเล็กกว่าได้ หากจำเป็น

คำสั่งเพื่อดำเนินการอัลกอริธึมเสริมเรียกว่า ท้าทาย และเขียนไว้ในเนื้อความของอัลกอริธึมหลัก

อัลกอริธึมเดียวกันถือได้ว่าเป็นอัลกอริธึมหลักและอัลกอริธึมเสริมที่สัมพันธ์กับอัลกอริธึมอื่น ๆ ในภาษาอัลกอริทึม อัลกอริธึมหลักจะถูกเขียนก่อน และอัลกอริธึมเสริมจะถูกเขียนเรียงกันเป็นแถว

ภารกิจที่ 1:

หุ่นยนต์อยู่ที่มุมซ้ายบนของสนาม ไม่มีผนังหรือเซลล์ทาสี สร้างอัลกอริธึมโดยใช้อัลกอริธึมเสริมที่วาดสี่กากบาทบนเส้นแนวนอนเส้นเดียว ตำแหน่งสุดท้ายของหุ่นยนต์สามารถกำหนดได้ตามใจชอบ

สารละลาย

การวิเคราะห์บนกระดาน:

ภารกิจที่ 2 หุ่นยนต์อยู่ที่มุมซ้ายบนของสนาม ไม่มีผนังหรือเซลล์ทาสี สร้างอัลกอริทึมที่วาดสี่เหลี่ยมจัตุรัสขนาด 8 x 8 ในรูปแบบกระดานหมากรุก โดยตำแหน่งสุดท้ายของหุ่นยนต์สามารถกำหนดเองได้

การปฏิบัติงานบนพีซี “การแก้ปัญหาโดยใช้อัลกอริธึมเสริม”

ปัญหาที่ 1 - หุ่นยนต์อยู่ที่มุมซ้ายล่างของสนาม ไม่มีผนังหรือเซลล์ทาสี สร้างอัลกอริทึมที่วาดแถบแนวตั้ง 6 เส้นที่มีความยาวเท่ากันเป็น 6 เซลล์ ตำแหน่งสุดท้ายของหุ่นยนต์สามารถกำหนดได้ตามใจชอบ

ปัญหาที่ 2 - ใช้ตัวช่วยสร้างอัลกอริธึมสำหรับการวาดภาพเซลล์ที่มีหมายเลข 1212

การบ้าน : สร้างอัลกอริทึมที่วาดภาพต่อไปนี้: ในการแก้ปัญหา ให้ใช้อัลกอริธึมเสริมสองตัว

คู่มือระเบียบวิธีสำหรับครูวิทยาการคอมพิวเตอร์ Evgrafova Olga Vladimirovna โรงยิมหมายเลข 8 Kolomna, 2013 ในกระบวนการศึกษาวิชา "สารสนเทศและไอซีที" นักเรียนไม่เพียงแต่เรียนรู้วัฒนธรรมสารสนเทศ (วัฒนธรรมของการสื่อสารที่มีความสามารถด้วยคอมพิวเตอร์ การเตรียมเอกสาร การสื่อสารทางอิเล็กทรอนิกส์) แต่ยังเชี่ยวชาญพื้นฐานของการเขียนโปรแกรมด้วย หนึ่งในการพัฒนาภายในประเทศที่ประสบความสำเร็จมากที่สุดในด้านนี้คือระบบการเขียนโปรแกรม Kumir ในนั้นนักเรียนจะได้รับทักษะเชิงปฏิบัติในการสร้างและแก้ไขอัลกอริทึมโดยการทำงานร่วมกับหุ่นยนต์และช่างเขียนแบบ ข้อดีของระบบนี้คือความเป็นไปได้ในการเขียนคำสั่งในภาษารัสเซียในภาษาอัลกอริทึมของโรงเรียนและความชัดเจนของผลลัพธ์ที่ได้จากการดำเนินการอัลกอริทึม ระบบ KuMir ได้รับการพัฒนาตามความต้องการของระบบการศึกษาของรัสเซีย คุณสมบัติ:      แจกจ่ายอย่างอิสระ; หลากหลายแพลตฟอร์ม; ความต้องการทรัพยากรเป็นศูนย์ ได้รับการสนับสนุนจาก Russian Academy of Sciences; ในบรรดานักพัฒนาคือผู้เขียนหนังสือเรียนและสื่อการสอนเกี่ยวกับวิทยาการคอมพิวเตอร์หลายเล่ม  เชลล์ซอฟต์แวร์ Idol ฟรีสามารถพบได้บนเว็บไซต์ http://www.niisi.ru/kumir/ น่าเสียดายที่ผู้เขียนหนังสือเรียนวิทยาการคอมพิวเตอร์เล่มใหม่ให้ความสนใจไม่เพียงพอหรือแม้กระทั่งเพิกเฉยต่อนักแสดงเหล่านี้ ในเวลาเดียวกัน ผู้พัฒนา GIA และ -1-

พี 2

การสอบ Unified State รวมถึงงานที่ใช้ข้อมูลนักแสดงในงานสอบ หัวข้อนี้ศึกษาในชั้นประถมศึกษาปีที่ 9 ในส่วน "อัลกอริทึมและการเขียนโปรแกรม" จัดสรรเวลา 9 ชั่วโมงสำหรับการศึกษาหัวข้อนี้ นักเรียนควรรู้ว่านักแสดงคืออะไร SKI Robot สภาพแวดล้อมของนักแสดงหุ่นยนต์ อัลกอริธึมคืออะไร คุณสมบัติหลักของอัลกอริทึมคืออะไร วิธีการเขียนอัลกอริทึม ผังงาน ภาษาอัลกอริทึมทางการศึกษา โครงสร้างอัลกอริธึมพื้นฐาน ต่อไปนี้ การแตกแขนง การวนซ้ำ วัตถุประสงค์ของอัลกอริธึมเสริม นักเรียนจะต้องสามารถ: เข้าใจคำอธิบายของอัลกอริทึมในภาษาอัลกอริทึมทางการศึกษา ดำเนินการติดตามอัลกอริทึมสำหรับนักแสดงที่รู้จัก เขียนอัลกอริธึมการควบคุมเชิงเส้น การแตกแขนง และวงจรสำหรับนักแสดงหุ่นยนต์ เน้นงานย่อย กำหนดและใช้อัลกอริธึมเสริม แผนการสอนเฉพาะเรื่อง: หมายเลข 1. 2. 3. 4. 5. จำนวนชั่วโมง หุ่นยนต์นักแสดง. ระบบคำสั่งของผู้ปฏิบัติงาน องค์ประกอบ1 0.5 อัลกอริธึมเชิงเส้น อัลกอริธึมแบบวนรอบ 3 1 งานภาคปฏิบัติครั้งที่ 1 การรวบรวมและการดีบักอัลกอริธึมแบบวนรอบ การแตกแขนงและการปรับแต่งอัลกอริทึมตามลำดับ 2 1 งานภาคปฏิบัติครั้งที่ 2 การรวบรวมและการดีบักอัลกอริธึมแบบวนและการแยกสาขา อัลกอริธึมเสริมและรูทีนย่อย 2 0.5 อเวนิว ทาส. ลำดับที่ 3. "การใช้อัลกอริธึมเสริม" ทดสอบ. “การสร้างอัลกอริทึมในสภาพแวดล้อมของผู้ดำเนินการ” หัวข้อบทเรียน แบบฝึกหัด 0.5 2 1 1.5 1 สื่อสำหรับบทเรียนในหัวข้อ “การฝึกอบรมหุ่นยนต์ผู้บริหาร”: -2-

พี 3

บทที่ 1 หุ่นยนต์นักแสดง ระบบคำสั่งของผู้ปฏิบัติงาน เมื่อรันโปรแกรม หุ่นยนต์จะเคลื่อนที่ในสนามตารางหมากรุกสี่เหลี่ยม ระหว่างเซลล์ที่สามารถวางผนังได้ ฟิลด์นี้จะถูกเรียกขึ้นมาบนหน้าจอโดยใช้ปุ่ม "หน้าต่างหุ่นยนต์" ซึ่งอยู่บนแถบเครื่องมือ ช่องรหัสโปรแกรมหุ่นยนต์ หุ่นยนต์สามารถดำเนินการคำสั่ง-คำสั่ง และคำสั่ง-คำถามได้ คำสั่งคำสั่ง: ขวา, ซ้าย, ขึ้น, ลง, ทาสี หากมีกำแพงขวางทาง คำสั่งจะไม่สามารถดำเนินการได้ รีโมทคอนโทรลใช้เพื่อควบคุมหุ่นยนต์โดยตรง โดยการกดปุ่มบนรีโมทคอนโทรล บุคคลจะออกคำสั่งที่เหมาะสม และหุ่นยนต์จะดำเนินการตามนั้น สำหรับการควบคุมโปรแกรม การทราบว่าคำสั่งใดและลำดับใดที่ต้องดำเนินการนั้นไม่เพียงพอ นอกจากนี้ยังจำเป็นต้องเขียนคำสั่งเหล่านี้ในรูปแบบที่คอมพิวเตอร์เข้าใจได้เช่น จัดทำเป็นอัลกอริทึม ในกรณีที่ง่ายที่สุด อัลกอริธึมสำหรับหุ่นยนต์จะถูกเขียนดังนี้: ชื่อของอัลกอริธึมคือลำดับของอักขระหรือคำที่คั่นด้วยช่องว่าง อักขระตัวแรกของชื่อต้องไม่ขึ้นต้นด้วยตัวเลข ชื่อที่ถูกต้อง: g, sum, ชื่อเล่นปริมณฑล, 12 เมษายน, สิบสองเมษายน, number_11_kl ชื่อที่ “ถูกต้อง” จะถูกเน้นด้วยสีน้ำเงิน ใช้ Robot alg Algorithm_name ลำดับการเริ่มต้นของคำสั่ง Con เพื่อให้เข้าใจอัลกอริธึมในตัวโปรแกรมได้ดีขึ้นคุณสามารถใช้ความคิดเห็นได้ ความคิดเห็นขึ้นต้นด้วย | หากความคิดเห็นขยายหลายบรรทัด แต่ละบรรทัดต้องมีเครื่องหมาย | นำหน้า ความคิดเห็นไม่มีผลกระทบต่อความคืบหน้าของอัลกอริทึม ตัวอย่างที่ 1. โปรแกรม “Knight's move” (ย้ายหุ่นยนต์จากจุด A ไปยังจุด B) สถานะเริ่มต้น: โปรแกรม: ผลลัพธ์: กฎของภาษาอัลกอริธึมอนุญาตให้เขียนคำสั่งหลายคำสั่งในบรรทัดเดียว โดยคั่นด้วยเครื่องหมายอัฒภาค -3-

พี 4

ตัวอย่างที่ 2 คุณต้องย้ายหุ่นยนต์จากจุด A ไปยังจุด B เส้นทางที่หุ่นยนต์ต้องใช้สามารถแบ่งออกเป็นห้าส่วนที่เหมือนกัน สะดวกในการจัดกลุ่มคำสั่งเพื่อส่งแต่ละส่วนเป็นหนึ่งบรรทัดซึ่งจะทำให้การบันทึกอัลกอริทึมสั้นลงและทำให้เข้าใจได้ง่ายขึ้น หุ่นยนต์เปลี่ยนฉาก เพื่อบังคับให้หุ่นยนต์ดำเนินการในสภาพแวดล้อมใหม่ จะต้องโหลดโดยใช้คำสั่งเมนูหลักต่อไปนี้: เลือกองค์ประกอบ “หุ่นยนต์” “เปลี่ยนสภาพแวดล้อมเริ่มต้น” เปิดโฟลเดอร์ที่ต้องการและเลือกไฟล์ การสร้างสภาพแวดล้อมใหม่ เพื่อสร้างสภาพแวดล้อมใหม่สำหรับหุ่นยนต์ คุณต้องดำเนินการคำสั่งเมนูหลัก: เลือกองค์ประกอบ “เครื่องมือ” “แก้ไขสภาพแวดล้อมเริ่มต้น” ในหน้าต่าง "การตั้งค่า" เลือกองค์ประกอบ "การตั้งค่า" "การตั้งค่าใหม่" กำหนดจำนวนแถวและคอลัมน์ คลิกเมาส์เพื่อติดตั้งผนังและย้ายหุ่นยนต์ไปยังเซลล์ที่ต้องการ บันทึกการตั้งค่าโดยใช้คำสั่ง: “การตั้งค่า” “บันทึกเป็น” ระบุชื่อไฟล์และโฟลเดอร์สำหรับการวางตำแหน่ง คลิกปุ่ม "บันทึก" วาง/ลบกำแพง – คลิกที่เส้นขอบระหว่างเซลล์ ทาสี / ทำให้เซลล์สะอาด - คลิกที่เซลล์ เพิ่ม/ลบจุด - คลิกที่เซลล์ขณะกดปุ่ม Ctrl ตั้งรังสี, ป้ายกำกับ - คลิกขวา เคลื่อนย้ายหุ่นยนต์ - ลากด้วยเมาส์ "การดำเนินการ" การดำเนินการของโปรแกรม “รันอย่างต่อเนื่อง” งานอิสระบนคอมพิวเตอร์: 1. โหลดสภาพแวดล้อมใหม่ ย้ายหุ่นยนต์ไปที่จุด “B” ระบายสีตามจุดที่ทำเครื่องหมายด้วยสัญลักษณ์ “จุด”: โฟลเดอร์ “Workshop for the Robot” “1” งาน “ B” (เอกสารจากเว็บไซต์ของ K. Polyakov http://kpolyakov.narod.ru) เขียนโปรแกรม เปิดหน้าต่าง Robot และรันโปรแกรมเพื่อดำเนินการ บันทึกโปรแกรมลงในโฟลเดอร์ของคุณด้วยชื่อ “1_B” 2. สร้างสถานการณ์ใหม่ บันทึกลงในโฟลเดอร์ของคุณในชื่อ “Setting_1” เขียนโปรแกรมสำหรับสภาพแวดล้อมใหม่และบันทึกไว้ในโฟลเดอร์ของคุณชื่อ "new_environment_1" 3. **แก้ไขปัญหาอื่นๆ จากโฟลเดอร์หมายเลข 1 ของเวิร์กชอป -4- บ

พี 5

บทที่ 2 อัลกอริธึมแบบวนรอบ รอบ N - ครั้ง งานตรวจสอบ: Petya สร้างอัลกอริทึมสำหรับหุ่นยนต์ "เดิน" Kolya ลบหนึ่งทีมในนั้น พิจารณาว่าทีมใดที่ Kolya ลบหากทราบว่าหุ่นยนต์จะต้องกลับสู่สถานะดั้งเดิม คำตอบ: ใช้ Robot alg Walk start อย่างถูกต้อง ขึ้น; ไปทางขวา - - ลง; ซ้าย; ปลายซ้าย N ครั้ง · ชุดคำสั่ง kc เมื่อเขียนอัลกอริธึม มักมีกรณีที่จำเป็นต้องดำเนินการลำดับคำสั่งบางชุดติดต่อกันหลายครั้ง ตัวอย่างเช่นตัวอย่างที่ 2 จากบทเรียนที่แล้ว เพื่อให้การเขียนอัลกอริทึมง่ายขึ้นในกรณีเช่นนี้ คุณสามารถใช้คำสั่ง “Loop N times” N คือนิพจน์จำนวนเต็มที่ระบุจำนวนการซ้ำ เมื่อดำเนินการอัลกอริทึม ลำดับของคำสั่งจะถูกทำซ้ำแบบวนซ้ำตามจำนวนครั้งที่ระบุ จำนวนนี้อาจเป็นศูนย์หรือเป็นลบก็ได้ กรณีเหล่านี้ไม่ถือว่ามีข้อผิดพลาด เนื้อความของลูปจะไม่ถูกดำเนินการแม้แต่ครั้งเดียว และคอมพิวเตอร์จะดำเนินการตามคำสั่งที่เขียนหลังจากการวนซ้ำทันที ตัวอย่างที่ 1 คุณต้องย้ายหุ่นยนต์จากจุด A ไปยังจุด B A B ตัวอย่างที่ 2 ทาสีแถวจำนวน 16 เซลล์ ตัวอย่างที่ 3 ระบายสีสี่เหลี่ยมผืนผ้าขนาด 5(แถว) x 6(คอลัมน์) ใช้ Robot alg สี่เหลี่ยมผืนผ้าเริ่ม nc 5 คูณ cc สิ้นสุด วงจรหนึ่งสามารถอยู่ในอีกวงจรหนึ่งได้ แล้วจะเรียกว่าซ้อนกัน. -5-

พี 6

งานอิสระบนคอมพิวเตอร์: ตัวอย่างที่ 4 สมมติว่าคุณต้องย้ายหุ่นยนต์จากตำแหน่งเริ่มต้นไปยังจุดที่ระบุด้วยเครื่องหมายดอกจันและระบายสีเซลล์ของเขาวงกตไปพร้อมกัน สร้างสภาพแวดล้อมและโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง ตัวอย่างที่ 5 ย้ายหุ่นยนต์จากตำแหน่งเริ่มต้นไปยังฐานและทาสีเซลล์ที่มีเครื่องหมายจุด สร้างสภาพแวดล้อมและโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง ตัวอย่างที่ 6 มีความจำเป็นต้องนำทางหุ่นยนต์ผ่านเขาวงกตจากตำแหน่งเริ่มต้นไปยังจุด A ตัวอย่างที่ 7 มีความจำเป็นต้องนำทางหุ่นยนต์ไปตามทางเดินจากตำแหน่งเริ่มต้นไปยังจุด A โดยมองเข้าไปในทางเดินด้านข้างแต่ละด้าน ตัวอย่างที่ 8 เขียนโปรแกรมสำหรับวาดภาพเซลล์ของฟิลด์ที่มีเครื่องหมาย * ตำแหน่งเริ่มต้นของหุ่นยนต์จะถูกระบุโดยไอคอน ◊ ตัวอย่างที่ 9* มีกำแพงอยู่บนสนามของนักแสดง มีความจำเป็นต้องค้นหาตำแหน่งเริ่มต้นที่เหมาะสมที่สุดของนักแสดงและเขียนโปรแกรมซึ่งผลลัพธ์จะถูกเติมลงในเซลล์ (ดังแสดงในรูป) **สร้างโปรแกรมโดยใช้โฟลเดอร์ “Workshop for the Robot”_ No. 2. -6-

พี 7

บทที่ 3 ปั่นจักรยานก่อน เราจำเป็นต้องเรียนรู้วิธีสร้างอัลกอริธึมสากลที่ไม่ขึ้นอยู่กับระยะห่างระหว่างหุ่นยนต์กับกำแพง หรือความยาวของกำแพง เมื่อต้องการทำเช่นนี้ เราจะใช้ตัวดำเนินการลูปใหม่ nts ในขณะที่ชุดคำสั่งเงื่อนไข kts เมื่อดำเนินการวงจร คอมพิวเตอร์จะทำซ้ำการกระทำต่อไปนี้:  ตรวจสอบเงื่อนไข;  หากตรงตามเงื่อนไข คำสั่งของตัวลูปจะถูกดำเนินการและตรวจสอบเงื่อนไขอีกครั้ง เป็นต้น  ถ้าไม่ตรงตามเงื่อนไข การดำเนินการบนผนังด้านซ้ายด้านซ้ายอย่างอิสระของวงจรจะเสร็จสิ้น และคำสั่งบนผนังด้านขวาทางด้านขวาจะเขียนได้อย่างอิสระหลังจากดำเนินการ CC จากด้านล่างผนัง จากด้านล่างเป็นอิสระ  เงื่อนไขของวงจร (คำสั่งคำถาม): จากด้านบนผนัง จากด้านบนเป็นอิสระ เซลล์ถูกทาสีทับเซลล์สะอาด หมายเหตุ  หากไม่ตรงตามเงื่อนไขตั้งแต่เริ่มต้น เนื้อความของลูปจะไม่ถูกดำเนินการแม้แต่ครั้งเดียว!  การวนซ้ำอาจไม่เสร็จสมบูรณ์หากตรงตามเงื่อนไขตลอดเวลา สถานการณ์นี้มักเกิดขึ้นจากข้อผิดพลาดใน NC ในขณะที่อัลกอริทึมการคอมไพล์ถูกต้องอย่างอิสระ ขวา; ด้านซ้าย ตัวอย่างของอัลกอริธึมอนันต์ (ไม่มีผนังทางด้านขวา): เงื่อนไข CC อาจเป็นแบบง่ายหรือแบบผสมก็ได้ เงื่อนไขง่ายๆ มักจะเป็นการตรวจสอบบางอย่าง ตัวอย่างจะเป็นคำสั่งคำถามของโรบ็อต เงื่อนไขแบบผสมเกิดขึ้นจากเงื่อนไขง่ายๆ หลายเงื่อนไขโดยใช้คำฟังก์ชัน AND, OR, NOT หากมี AND ระหว่างเงื่อนไขอย่างง่าย ดังนั้นเพื่อให้เงื่อนไขประสมเป็นจริง เงื่อนไขอย่างง่ายทั้งสองจะต้องเป็นจริง หากมี OR ระหว่างเงื่อนไขง่าย ๆ เพื่อให้เงื่อนไขประสมเป็นจริง ก็เพียงพอที่จะมีเงื่อนไขง่าย ๆ อย่างน้อยหนึ่งเงื่อนไขเป็นจริง ตัวอย่างที่ 2 หุ่นยนต์ ตัวอย่างที่ 1 ped ต้องทาสีทับและแทนที่ Roklets ที่ระบุโดยบอทไปที่ฐาน ในภาพ ไม่ทราบความยาวของกำแพงและระยะห่างจากผนัง ใช้ Robot alg To Base เริ่มต้น ตอนนี้ด้านบนฟรีแล้ว - ขึ้น. นอต ตอนนี้มีกำแพงอยู่ด้านบนแล้ว - ไปทางขวา นอต ขึ้นคอน -7-

พี 8

▪ งานอิสระบนคอมพิวเตอร์: ที่ไหนสักแห่งในสนามหุ่นยนต์มีผนังเป็นรูปมุม ซึ่งไม่ทราบขนาด หุ่นยนต์จากห้องอิสระทางด้านซ้ายของผนัง แต่อยู่ตรงข้ามอย่างแน่นอน จะต้องไปถึงผนังและทาสีเซลล์ทั้งหมดตามแนวผนังด้านหลัง ดังแสดงในรูป ▪ จำเป็นต้องย้ายหุ่นยนต์จากตำแหน่งเริ่มต้นไปยังจุด A ในขณะที่ทาสีเซลล์ที่ระบุของสนาม ขนาดของผนังและระยะห่างระหว่างผนังสามารถกำหนดเองได้ ▪ สร้างโปรแกรมโดยใช้โฟลเดอร์ “Workshop for the Robot”  Folder_4_Tasks_A_C_D  Folder_5_Tasks_A_B_C_D บทที่ 4. ภาคปฏิบัติข้อที่ 1 อัลกอริธึมแบบวนรอบสำหรับหุ่นยนต์ ตัวเลือกที่ 1 ภารกิจที่ 1 ทาสีทับเซลล์ที่อยู่ทางด้านซ้ายของผนังหรือด้านบนของผนัง ไม่ทราบระยะห่างจากหุ่นยนต์ถึงผนัง ไม่ทราบความยาวของกำแพง สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง P ภารกิจที่ 2 ผู้แสดง หุ่นยนต์ตั้งอยู่ที่ไหนสักแห่งภายในพื้นที่สี่เหลี่ยมที่จำกัด ไม่ทราบความยาวด้านของสี่เหลี่ยมจัตุรัส เขียนอัลกอริธึมสำหรับหุ่นยนต์ที่ระบายสีเซลล์ทั้งหมดที่อยู่ในแนวทแยงของสี่เหลี่ยมจัตุรัสจากซ้ายบนไปยังมุมขวาล่าง สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง ภารกิจที่ 3 ย้ายนักแสดงจากเซลล์ A ไปยังเซลล์ B โดยระบายสีเซลล์ที่ทำเครื่องหมายไว้ ไม่ทราบความยาวของกำแพงและระยะห่างระหว่างกำแพง สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง -8-

พี 9

ภารกิจที่ 4 จำเป็นต้องย้ายหุ่นยนต์จากตำแหน่งเริ่มต้น (◊) ไปยังจุด A ในขณะที่วาดภาพเซลล์ที่ระบุของสนาม ขนาดของผนังและระยะห่างระหว่างผนังสามารถกำหนดเองได้ ภารกิจที่ 5 มีบันไดบนสนามที่ไม่มีที่สิ้นสุด จำนวนขั้นตอนสามารถเป็นเท่าใดก็ได้ ผนังแนวนอนด้านล่างทอดยาวไปทางขวาไม่มีกำหนด ผนังแนวนอนด้านบนทอดยาวไปทางซ้ายไม่มีกำหนด หุ่นยนต์ตั้งอยู่ที่ไหนสักแห่งเหนือผนังแนวนอนด้านล่าง ทาสีทับเซลล์ที่อยู่ตามแนวตั้งของขั้นตอน (ดูรูป) ตำแหน่งสุดท้ายของหุ่นยนต์คือตำแหน่งใดก็ได้ สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง แต่ละขั้นตอนมีขนาด 2 เซลล์ในแนวนอนและ 2 เซลล์ในแนวตั้ง ตัวเลือกที่ 2 ภารกิจที่ 1 เขียนอัลกอริทึมสำหรับหุ่นยนต์ที่ทาสีเซลล์ทั้งหมดที่อยู่ทางด้านซ้ายและด้านบนด้านล่างของสี่เหลี่ยมผืนผ้าและติดกับผนัง ไม่ทราบระยะห่างจากหุ่นยนต์ถึงผนังและความยาวของผนัง สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง ภารกิจที่ 2 ผู้แสดง หุ่นยนต์ตั้งอยู่ที่ไหนสักแห่งภายในพื้นที่สี่เหลี่ยมจัตุรัสที่จำกัด ไม่ทราบความยาวด้านของสี่เหลี่ยมจัตุรัส เขียนอัลกอริธึมสำหรับหุ่นยนต์ที่ระบายสีเซลล์ทั้งหมดที่อยู่ในแนวทแยงของสี่เหลี่ยมจัตุรัสจากมุมขวาบนไปยังมุมซ้ายล่าง สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง ภารกิจที่ 3 ย้ายนักแสดงจากเซลล์ A ไปยังเซลล์ B โดยระบายสีเซลล์ที่ทำเครื่องหมายไว้ ไม่ทราบความยาวของกำแพงและระยะห่างระหว่างกำแพง สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง -9-

พี 10

ภารกิจที่ 4 จำเป็นต้องย้ายหุ่นยนต์จากตำแหน่งเริ่มต้น (◊) ไปยังจุด A ในขณะที่วาดภาพเซลล์ที่ระบุของสนาม ขนาดของผนังและระยะห่างระหว่างผนังสามารถกำหนดเองได้ ภารกิจที่ 5 มีบันไดบนสนามที่ไม่มีที่สิ้นสุด จำนวนขั้นตอนสามารถเป็นเท่าใดก็ได้ ผนังแนวนอนด้านล่างทอดยาวไปทางซ้ายไม่มีกำหนด ผนังแนวนอนด้านบนทอดยาวไปทางขวาไม่มีกำหนด หุ่นยนต์ตั้งอยู่ที่ไหนสักแห่งเหนือผนังแนวนอนด้านล่าง ทาสีทับเซลล์ที่อยู่ตามแนวตั้งของขั้นตอน (ดูรูป) ตำแหน่งสุดท้ายของหุ่นยนต์คือตำแหน่งใดก็ได้ สร้างการตั้งค่าและเขียนโปรแกรม บันทึกไฟล์ในโฟลเดอร์ของคุณเอง แต่ละขั้นตอนมีขนาด 2 เซลล์ในแนวนอนและ 2 เซลล์ในแนวตั้ง บทที่ 5 อัลกอริธึมการแตกแขนง คำสั่ง “ถ้า _ จากนั้น _ มิฉะนั้น _ ทั้งหมด” มุมมองทั่วไปของคำสั่ง: หากเงื่อนไขดำเนินการ 1 มิฉะนั้นการกระทำ 2 โครงสร้างคำสั่งทั้งหมด: หลังจากตรวจสอบเงื่อนไขแล้ว การดำเนินการที่ 1 จะถูกดำเนินการ หากเงื่อนไขเป็นจริง มิฉะนั้น การดำเนินการที่ 2 จะถูกดำเนินการ หลังจากนี้คำสั่งที่เขียนไว้จะถูกดำเนินการหลังจากคำว่า everything มิฉะนั้นสาขาอาจหายไป (การแยกสาขาไม่สมบูรณ์) ในกรณีนี้ คำสั่งจะมีรูปแบบ: หากเงื่อนไข แสดงว่าการดำเนินการทั้งหมดไม่ตรงตามเงื่อนไข คำสั่งที่เขียนหลังคำบริการทั้งหมดจะถูกดำเนินการทันที ตัวอย่างที่ 1 สร้างโปรแกรมที่จะนำทางหุ่นยนต์ผ่านทางเดินที่มีความยาวตามใจชอบ ระหว่างทาง หุ่นยนต์จะต้องทาสีเซลล์ทั้งหมดที่ไม่มีผนังด้านล่าง ไม่ทราบจำนวนหลุม - 10 -

พี 11

ตัวอย่างที่ 2 ย้ายหุ่นยนต์ไปที่จุด B และทาสีเซลล์ที่มีเครื่องหมายจุด ไม่ทราบความยาวของกำแพงและจำนวน "ทางตัน" ใช้ Robot alg To Base start nc ในขณะที่ right free ขวาถ้า top ว่าง จากนั้นขึ้นทาสี kts ทั้งหมดลง con ตัวอย่าง** คำนวณจำนวนเซลล์ที่แรเงาอยู่ในทางเดิน (ในการดำเนินการนี้ คุณต้องแยกวิเคราะห์โครงสร้างเพิ่มเติม: integer sch | คำอธิบายของตัวแปรประเภทจำนวนเต็ม sch:= сч+1 | การเพิ่มตัวแปร 1 เอาต์พุต сч | แสดงค่าของตัวแปรบนหน้าจอ งานอิสระบนคอมพิวเตอร์: สร้างสถานการณ์และแก้ไขปัญหา อัลกอริธึมสำหรับหุ่นยนต์ที่จะผ่านสภาพแวดล้อม: ภารกิจที่ 2 สร้างโปรแกรมที่หุ่นยนต์เอาชนะอุปสรรคจำนวนเท่าใดก็ได้และสามารถวางอุปสรรคได้ทุกที่ - 11 -

พี 12

ภารกิจที่ 3 ระบายสีเซลล์ที่มีเครื่องหมายจุด ภารกิจที่ 4. ใช้ Robot alg บนฐาน เริ่มทาสีทับ nc ในขณะที่ทางด้านขวาจะว่างไปทางขวาหากว่างจากด้านบนแล้วขึ้น; ทาสี; ลงหรือทาสีทับ kts ทั้งหมดลงไป งานที่ 5 ทาสีทับเซลล์ที่อยู่ติดกับผนัง สร้างอัลกอริธึมที่จะทาสีเซลล์ทั้งหมดที่ตั้งอยู่ระหว่างผนังทั้งสอง ไม่รู้ว่ากำแพงไหนอยู่ทางซ้ายมือ ใช้ Robot alg between_walls เริ่ม nts จนกระทั่ง (ไม่ใช่จากด้านบนอย่างอิสระ) หรือ (ไม่ใช่จากด้านล่างอย่างอิสระ) ไปทางขวาถ้า (ไม่ใช่จากด้านบนอย่างอิสระ) และ (ไม่ใช่จากด้านล่างอย่างอิสระ) จากนั้นทาสีทับ kts ทั้งหมดโดยใช้ Robot alg uch5 เริ่มที่ ขวา nts จนกระทั่งไม่จากด้านล่างทาสีอย่างอิสระ; ไปทางขวา kts ทาสี; ลง nc จนกระทั่งซ้ายมีอิสระในการทาสี ไปทางซ้าย kts ts จนกระทั่งด้านซ้ายมีอิสระในการทาสี ลงสี kts ทับ; ซ้าย; ทาสี; ขึ้น; nts จนกว่าด้านบนจะทาสีอย่างอิสระ ขึ้น kts ts จนกระทั่งด้านบนถูกทาสีอย่างอิสระ เหลือ kts กับภารกิจ 6** หุ่นยนต์อยู่ที่จุดเริ่มต้นของทางเดิน ทางเดินมีทางตันที่ด้านบนและด้านล่างซึ่งไม่ทราบความยาว แต่ตำแหน่งของพวกมันไม่เคยอยู่ตรงข้ามกัน ไม่ทราบความยาวของทางเดิน เขียนอัลกอริธึมสำหรับทาสีทางตันทั้งหมดและออกจากทางเดิน - 12 -

พี 13

ใช้ Robot alg dead end เริ่มต้น ตอนนี้ (ผนังด้านบน) หรือ (ผนังด้านล่าง) - ไปทางขวา - ถ้า (ว่างด้านบน) และ (ผนังด้านล่าง) - - ที่. - - - ตอนนี้ด้านบนฟรีแล้ว - - - - ขึ้น; ทาสีทับ - - - นอต - - - มันยังฟรีจากด้านล่าง - - - - ลง. - - - นอต - ทั้งหมด. - ถ้า (อิสระจากด้านล่าง) และ (ผนังจากด้านบน) - - ที่. - - - มันยังฟรีจากด้านล่าง - - - - ลง; ทาสีทับ - - - นอต - - - ตอนนี้ด้านบนฟรีแล้ว - - - - ขึ้น. - - - นอต - ทั้งหมด; - นอต; คำสั่งที่เน้นด้วยสีแดงจะต้องหยุดเมื่อออกจากทางเดิน บทที่ 6 งานภาคปฏิบัติหมายเลข 2 อัลกอริธึมแบบวนและการแตกแขนงสำหรับหุ่นยนต์ แก้ไขปัญหาการใช้งาน CMM GIA ความคิดเห็น เมื่อรวบรวมอัลกอริธึมปัญหาจะต้องได้รับการแก้ไขในรูปแบบทั่วไปเช่น กำหนดประเภทของรูป แต่ความยาวของด้านข้างจำนวนขั้นตอนและพารามิเตอร์อื่น ๆ อาจแตกต่างกันไป โปรแกรมควรใช้งานได้กับรูปร่างที่มีลักษณะคล้ายกัน! ภารกิจที่ 1 สร้างสถานการณ์และเขียนอัลกอริทึมที่ทาสีเซลล์ทั้งหมดที่อยู่ทางด้านขวาของส่วนแนวตั้งของผนัง ใช้ Robot alg งาน 1 เริ่มต้นลง; ไปทางขวา ตอนนี้ด้านบนฟรีแล้ว - ทาสี นอต ยังไม่ฟรีจากด้านบน - ไปทางขวา นอต ขึ้น. nts ยังไม่ว่างทางด้านซ้าย - ทาสี; ขึ้น. เคทีเอส คอน - 13 -

พี 14

เริ่มใช้งาน Robot alg job 2 ตอนนี้สิทธิ์ฟรีแล้ว - ไปทางขวา นอต ยังไม่ว่างทางด้านขวา - ขึ้น. นอต ไปทางขวา ยังไม่ว่างทางด้านขวา - ทาสี; ไปทางขวา kts con ความสูงแต่ละขั้นคือ 1 สี่เหลี่ยมจัตุรัส ความกว้าง 2 สี่เหลี่ยมจัตุรัส ปัญหาที่ 2. เขียนอัลกอริทึมที่ระบายสีเซลล์ทั้งหมดเหนือขั้นตอนต่างๆ ภารกิจที่ 3 ทาสีเซลล์ทั้งหมดที่อยู่เหนือขั้นบันไดลงจากซ้ายไปขวา ใช้ Robot alg job 3 เริ่มต้น มันยังฟรีจากด้านล่าง - ลง; ซ้าย; ไปทางซ้าย นอต nts ยังไม่ว่างทางด้านซ้าย - ทาสี; ไปทางขวา - ทาสี; ไปทางขวา - ลง. kts con ภารกิจที่ 4 ระบายสีเซลล์ของเขาวงกต ใช้ Robot alg Labyrinth เริ่มต้น ไปทางขวา ตอนนี้มีกำแพงอยู่ทางขวามือ - ทาสี; ขึ้น. - ทาสี; ขึ้น. - ทาสี; ไปทางขวา - ทาสี; ลง. - ทาสี; ลง. - ทาสี; ไปทางขวา kts con Task 5** นักแสดงอยู่ในห้องขังที่กำหนดเอง แต่อยู่ตรงข้ามผนังเสมอ (ภาพด้านบน) เป็นผลให้คุณต้องทาสีทับเซลล์ดังแสดงในรูปด้านล่าง - 14 -

พี 15

ใช้ Robot alg Exit start ในขณะที่ทางด้านขวาจะเป็นอิสระทางด้านขวา - นอต ในขณะที่ทางด้านขวากำแพงพังลง - นอต ขวา; ขึ้น. ตอนนี้ (ผนังด้านซ้ายและว่างด้านบน) หรือ (ผนังด้านบนและว่างทางด้านขวา) หรือ (ผนังด้านขวาและว่างด้านล่าง) หรือ (ผนังด้านล่างและว่างด้านซ้าย) - if (ผนังด้านซ้าย) และ (ว่างด้านบน) - - ที่. ทาสี; ขึ้น. - ทั้งหมด. - if (ผนังอยู่ด้านบน) และ (ว่างทางด้านขวา) - - ที่. - ทาสี; ไปทางขวา - ทั้งหมด. - หากมีผนังด้านขวาและมีพื้นที่ว่างด้านล่าง - - ที่. - ทาสี; ลง; - - ทั้งหมด. - หากมีผนังด้านล่างและมีพื้นที่ว่างด้านซ้าย - - ที่. - - ทาสี; ซ้าย; - - ทั้งหมด; - นอต; บทที่ 7 อัลกอริธึมเสริม เมื่อแก้ไขปัญหาบางอย่าง จะสะดวกในการแบ่งปัญหาออกเป็นงานย่อยเล็กๆ ซึ่งแต่ละปัญหาสามารถกำหนดเป็นอัลกอริธึมอิสระได้ ในกรณีนี้สิ่งที่เรียกว่าอัลกอริธึมหลักจะถูกคอมไพล์ก่อน ซึ่งการเรียกอัลกอริธึมเสริมจะใช้ในการแก้งานย่อยซึ่งจะถูกเพิ่มในภายหลัง วิธีการแก้ปัญหานี้เรียกว่าวิธีการปรับแต่งตามลำดับ ช่วยให้กลุ่มโปรแกรมเมอร์สามารถทำงานในโครงการโดยแต่ละคนแก้ไขงานย่อยของตนเอง คำสั่งเพื่อดำเนินการอัลกอริธึมเสริมเรียกว่าการโทรและเขียนไว้ในเนื้อความของอัลกอริธึมหลัก ในภาษาอัลกอริทึม อัลกอริธึมหลักจะถูกเขียนก่อน และอัลกอริธึมเสริมจะถูกเขียนเรียงกันเป็นแถว ตัวอย่างที่ 1 พิจารณาสถานการณ์จากบทที่ 1 หุ่นยนต์จะต้องถูกย้ายไปยังเซลล์ที่มีเครื่องหมายจุด ใช้ Robot alg Corridor เริ่มบายพาส บายพาส; บายพาส; บายพาส; บายพาส con alg บายพาสเริ่มต้น; ขึ้น; ลงขวา; ลง; ถูกต้อง - 15 -

 


อ่าน:



ตำแหน่งของหัวบนเสาอากาศ

ตำแหน่งของหัวบนเสาอากาศ

บทความนี้เปิดเผยวิธีการหลักในการกำหนดราบโดยใช้เข็มทิศแม่เหล็กและสถานที่ที่เป็นไปได้ การใช้งาน...

วิธีดาวน์โหลดและกำหนดค่าผู้ช่วยอัจฉริยะสำหรับอุปกรณ์ Android

วิธีดาวน์โหลดและกำหนดค่าผู้ช่วยอัจฉริยะสำหรับอุปกรณ์ Android

วันที่อัปเดต: 2017-08-05 09:22:20 เวอร์ชันล่าสุด: ความเข้ากันได้: จาก android 4.0.3-4.0.4 - ถึง android 6.0 สิทธิ์ของแอปพลิเคชัน: การเปลี่ยนโหมด...

ตัวเลือก "ทุกที่ที่บ้าน" และ "ทุกที่ที่บ้านในรัสเซีย" MTS - คำอธิบายต้นทุนวิธีเชื่อมต่อ

ตัวเลือก

รัสเซียครอบครองพื้นที่ขนาดใหญ่ในโลกของเรา ชาวรัสเซียจำนวนมากเผชิญกับการเดินทางบ่อยครั้งทั่วดินแดนบ้านเกิด: การเดินทางเพื่อธุรกิจ การเดินทาง...

วิธีการกู้คืนหรือรีเซ็ตรหัสผ่านผู้ใช้ Windows

วิธีการกู้คืนหรือรีเซ็ตรหัสผ่านผู้ใช้ Windows

หากคุณลืมรหัสผ่านสำหรับบัญชี Windows ของคุณกะทันหัน คุณจะไม่มีทางเลือกอื่นนอกจากต้องหาทางรีเซ็ตหรือตั้งค่า...

ฟีดรูปภาพ อาร์เอสเอส