ประเภทของอัลกอริธึม: เชิงเส้น การแยกสาขา วงจร ประเภทของอัลกอริทึมและตัวอย่าง

การเขียนโปรแกรมคือการเขียนบางอย่างโดยใช้ภาษาที่ไม่คุ้นเคยของผู้อื่น ด้วยการพัฒนาความรู้ในด้านนี้ นักพัฒนาได้ดำเนินการเพิ่มเติมและเรียนรู้ที่จะเขียน "บางสิ่ง" โดยไม่เข้าใจด้วยซ้ำว่าเสียงในภาษารัสเซียเป็นอย่างไร ผู้เริ่มต้นเรียนรู้การเขียนโค้ดโดยตรงด้วย C++ หรือ PHP โดยใช้ไลบรารีจำนวนมาก และไม่เข้าใจด้วยซ้ำว่าพวกเขาสร้างเสียงในภาษาของตนเองอย่างไร อัลกอริทึมเกี่ยวข้องกับการอธิบายและทำให้ "บางสิ่ง" นี้เข้าใจได้

อัลกอริทึม

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

ข้อดีของแนวทางนี้คือนักพัฒนาจะใช้เวลาเพียง 25% ในการแปล ในขณะที่เมื่อเขียนโปรแกรมในภาษาใหม่ เขาจะใช้เวลา 100% ในการทำงานกับภาษาที่ไม่คุ้นเคย ในเวลาเดียวกันเขาจะพบว่าตัวเองอยู่ในสภาพที่คับแคบและจะไม่สามารถดำเนินการตรวจสอบข้อผิดพลาดที่ดีและเสร็จสิ้นโครงการได้

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

แนวคิดอัลกอริธึม

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

แน่นอนว่าเขาต้องได้รับการฝึกฝนให้แก้สมการกำลังสอง สิ่งนี้เกิดขึ้นตามรูปแบบต่อไปนี้:

  1. เลือกวิธีแก้ปัญหา
  2. ศึกษารายละเอียดทั้งหมดของวิธีที่เลือก
  3. อธิบายสองประเด็นแรกให้กับนักแสดงในอนาคตในภาษาที่เขาเข้าใจ

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

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

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

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

คุณสมบัติพื้นฐานของอัลกอริทึม

ความรอบคอบ. กระบวนการแก้ไขปัญหามักประกอบด้วยการกระทำที่แยกจากกันอย่างเคร่งครัด เรียกว่าขั้นตอนซึ่งมีลำดับการดำเนินการที่แน่นอน

ความแน่นอน. แต่ละขั้นตอนจะต้องมีความชัดเจนและไม่คลุมเครือทั้งในความหมายและเป็นกุญแจสำคัญในการดำเนินการ

ผลผลิต อัลกอริธึมจะต้องสร้างผลลัพธ์ ยิ่งกว่านั้น จำนวนขั้นตอนอาจเป็นหลักพันหรือเป็นล้านก็ได้ แต่ควรนำไปสู่ผลลัพธ์เสมอ

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

ความสามารถของคอมพิวเตอร์

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

ตัวเลขคงที่หมายถึงตัวเลขทั้งหมด: 3.15, 100, 10 5 คุณลักษณะของพวกเขาคือยังคงไม่เปลี่ยนแปลงตลอดการทำงานของโปรแกรม ตัวแปรเปลี่ยนความหมายระหว่างการรันโค้ดและมักจะถูกกำหนดด้วยตัวอักษร: x, y, max, min เป็นต้น

ตัวแปรข้อความ เช่น ตัวเลข อาจเป็นค่าคงที่หรือตัวแปรก็ได้ ในกรณีแรกเป็นเพียงข้อความ: "ดี", "a และ b" ฯลฯ ในกรณีที่สองเป็นการกำหนดสัญลักษณ์แบบเดียวกับตัวแปรตัวเลข: ชื่อเมือง ฯลฯ ความแตกต่างระหว่างสิ่งเหล่านี้ส่วนใหญ่อยู่ ในหน่วยความจำคอมพิวเตอร์ที่จัดสรรไว้เพื่อจัดเก็บตัวแปรดังกล่าว

การดำเนินการที่คอมพิวเตอร์สามารถทำได้:

  1. อ่านข้อมูลจากอุปกรณ์อินพุต (คีย์บอร์ด เมาส์ ไฟล์)
  2. การคำนวณค่าโดยใช้ฟังก์ชันทางคณิตศาสตร์: การบวก การลบ บาป cos ln ฯลฯ - แต่ละภาษาการเขียนโปรแกรมมีชุดฟังก์ชันในตัวของตัวเอง
  3. เอาต์พุตข้อมูล (บนหน้าจอ บนกระดาษ ไปยังอินเทอร์เฟซเครือข่าย)
  4. การเปลี่ยนผ่านระหว่างขั้นตอนต่างๆ ของการทำงานของโปรแกรม
  5. การเปรียบเทียบปริมาณสองปริมาณ (มาก น้อย เท่ากัน)

สิ่งเหล่านี้เป็นการทำงานพื้นฐานที่สามารถทำได้ในภาษาการเขียนโปรแกรมส่วนใหญ่

วิธีอธิบายอัลกอริทึม

วาจา นี่เป็นวิธีที่ง่ายที่สุด ตัวอย่างนี้จะเป็นสูตรอาหาร อนุญาตให้ใช้สูตรทางคณิตศาสตร์อย่างง่ายได้

กราฟิก คำอธิบายโดยใช้ไดอะแกรม นี่เป็นวิธีพิเศษในการเขียนอัลกอริธึมโดยใช้ภาษาอัลกอริธึมที่เป็นที่ยอมรับโดยทั่วไป - รูปร่างและบล็อกที่มีความหมายเฉพาะ: สี่เหลี่ยมผืนผ้า - การกระทำอย่างง่าย, สี่เหลี่ยมด้านขนานแบบเอียง - อินพุต / เอาท์พุต, รูปสี่เหลี่ยมขนมเปียกปูน - เงื่อนไข ฯลฯ

การใช้ภาษาอัลกอริทึม เช่นเดียวกับกราฟิก นี่เป็นวิธีพิเศษในการเขียนอัลกอริทึมด้วย มีภาษาอัลกอริธึมมากมาย กฎของพวกเขาไม่เข้มงวด ไม่เช่นนั้นมันจะเป็นภาษาโปรแกรม ลองพิจารณาตัวอย่างอัลกอริทึมในการคำนวณค่าจ้างตามระยะเวลาการทำงานที่เขียนโดยใช้ภาษาอัลกอริทึม

เงินเดือน alg (int ST, ZP จริง) arg ST res ZP เริ่มต้นถ้า ST< 5 то zp = 150 иначе если ST <= 15 то ZP = 180 иначе ZP = 180 + (ST - 15)*10 конец

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

ประเภทของอัลกอริทึม

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

  • เชิงเส้น (การคำนวณผลลัพธ์ของการบวกหรือการคูณการแลกเปลี่ยนค่าของตัวแปรหลายตัว)
  • การแตกแขนง (กำหนดจำนวนที่ใหญ่ที่สุดจากหลาย ๆ ตัว)
  • วงจร (การเรียงลำดับอาร์เรย์ การคำนวณแฟกทอเรียล)

เหล่านี้เป็นประเภทพื้นฐาน นอกจากนี้ยังเป็นที่น่าสังเกตว่าในวรรณกรรมบางประเภทมีการระบุประเภทที่สี่ด้วย - แบบเรียกซ้ำ แต่ไม่มีการกำหนดพิเศษในสัญกรณ์แผนผังและดำเนินการผ่านสัญกรณ์พื้นฐาน

แต่ละอัลกอริทึมการคำนวณพร้อมตัวอย่างจะกล่าวถึงรายละเอียดเพิ่มเติมด้านล่าง

หลักการของอัลกอริทึม

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

การดีบักอัลกอริทึม

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

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

อัลกอริธึมเชิงเส้น

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

กุญแจสำคัญในการแก้ปัญหานี้คือกรงชั่วคราวเพิ่มเติมซึ่งควรใช้เพื่อสลับสัตว์

อัลกอริทึมการแยกสาขา

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

ให้เรายกตัวอย่างอัลกอริธึมในการแก้ปัญหาการหาค่าที่ใหญ่ที่สุดในบรรดาตัวเลขสามตัว

อัลกอริธึมแบบ Round-Robin

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

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

อัลกอริธึมแบบวนมีหลายประเภท: โดยมีเงื่อนไขภายหลัง เงื่อนไขเบื้องต้น และพารามิเตอร์

มาสร้างอัลกอริทึมแบบวนโดยใช้ตัวอย่างการค้นหาแฟกทอเรียลของจำนวน N

อัลกอริธึมประเภทอื่น

มีอัลกอริธึมอื่นๆ จำนวนหนึ่งที่แตกต่างกันในการจำแนกประเภทหรือที่มา

  • อัลกอริธึมเครื่องกล ตัวอย่างเช่น การทำงานของเครื่องยนต์สันดาปภายในหรือสายการประกอบ
  • อัลกอริธึมความน่าจะเป็น งานของพวกเขาอยู่บนพื้นฐานของทฤษฎีความน่าจะเป็นและสถิติทางคณิตศาสตร์
  • อัลกอริธึมการเรียนรู้แบบฮิวริสติก พวกเขาใช้ข้อพิจารณาเชิงปฏิบัติในการทำงานโดยไม่มีการให้เหตุผลทางคณิตศาสตร์ที่เข้มงวด
  • อัลกอริธึมทางพันธุกรรม พวกเขานำแนวคิดทางชีววิทยามาใช้ในงานของพวกเขา

>> ประเภทของอัลกอริทึม

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

อัลกอริธึมเชิงเส้น
อัลกอริธึมการแยกสาขา
อัลกอริธึมที่มีการทำซ้ำ

อัลกอริธึมเชิงเส้น

คำสั่งใดที่ถูกดำเนินการตามลำดับที่เขียนนั่นคือตามลำดับทีละคำสั่งเรียกว่าเชิงเส้น

ตัวอย่างเช่น อัลกอริธึมการปลูกต้นไม้ต่อไปนี้เป็นแบบเส้นตรง:

1) ขุดหลุมในดิน
2) ลดต้นกล้าลงในหลุม
3) เติมดินลงในหลุมด้วยต้นกล้า
4) รดน้ำต้นกล้าด้วยน้ำ

การใช้บล็อกไดอะแกรม อัลกอริธึมนี้สามารถอธิบายได้ดังต่อไปนี้:

อัลกอริทึมเกี่ยวกับการแตกแขนง

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

ตรรกะการตัดสินใจสามารถอธิบายได้ดังต่อไปนี้:

ถ้า<условие>ที่<действия 1>มิฉะนั้น<действия 2>

ตัวอย่าง:

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

ในบางกรณี<действия 2>อาจจะขาด;

ถ้า<условие>ที่<действия 1>

ตัวอย่าง:

ถ้าคุณเรียกตัวเองว่าเห็ดนมก็ให้เข้าไปด้านหลัง

รูปแบบของการจัดระเบียบการดำเนินการซึ่งขึ้นอยู่กับการปฏิบัติตามเงื่อนไขบางประการ จะดำเนินการอย่างใดอย่างหนึ่ง ลำดับต่อมาขั้นตอนเรียกว่าการแตกแขนง

ให้เราบรรยายในรูปแบบของผังงานลำดับการกระทำของนักเรียนชั้นประถมศึกษาปีที่ 6 Mukhin Vasya ซึ่งเขาจินตนาการดังนี้: “ ถ้า Pavlik อยู่ที่บ้านเราจะแก้ปัญหาทางคณิตศาสตร์ มิฉะนั้นเราควรโทรหา Marina และเตรียมรายงาน เรื่องชีววิทยาด้วยกัน ถ้ามาริน่าไม่อยู่บ้าน ก็ต้องนั่งเขียน"

ดังนั้น ด้วยความช่วยเหลือของผังงาน คุณสามารถนำเสนอเหตุผลได้อย่างชัดเจนเมื่อแก้ไขปัญหาต่อไปนี้

ในเหรียญสามเหรียญที่มีสกุลเงินเดียวกัน มีเหรียญหนึ่งเป็นของปลอม (ไฟแช็ก) จะค้นหาโดยใช้เครื่องชั่งน้ำหนักแบบถ้วยโดยไม่มีตุ้มน้ำหนักได้อย่างไร

อัลกอริทึมที่มีการทำซ้ำ

ในทางปฏิบัติมักมีปัญหาที่ต้องทำซ้ำการกระทำหนึ่งหรือหลายอย่างซ้ำหลายครั้งจนกว่าจะเป็นไปตามเงื่อนไขที่กำหนดไว้ล่วงหน้า

อัลกอริทึมที่มี รอบเรียกว่าอัลกอริธึมแบบวนหรืออัลกอริธึมที่มีการทำซ้ำ

สถานการณ์ที่การวนซ้ำไม่สิ้นสุดเรียกว่าการวนซ้ำ ควรพัฒนาอัลกอริทึมเพื่อป้องกันสถานการณ์ดังกล่าว

ลองดูตัวอย่างจากคณิตศาสตร์

จำนวนธรรมชาติเรียกว่าจำนวนเฉพาะหากมีตัวหารเพียงสองตัว คือ ตัวหนึ่งและตัวมันเอง1

2, 3, 5, 7 - จำนวนเฉพาะ; 4, 6, 8 - ไม่ ในศตวรรษที่ 3 ก่อนคริสต์ศักราช เอราทอสเธเนส นักคณิตศาสตร์ชาวกรีกเสนออัลกอริทึมต่อไปนี้เพื่อค้นหาจำนวนเฉพาะทั้งหมดที่น้อยกว่าจำนวนที่กำหนด n:

1) เขียนตัวเลขธรรมชาติทั้งหมดตั้งแต่ 1 ถึง n;
2) ขีดฆ่า 1;
3) ขีดเส้นใต้ตัวเลขที่เล็กที่สุดที่ไม่มีเครื่องหมาย
4) ขีดฆ่าตัวเลขทั้งหมดที่เป็นผลคูณของสิ่งที่ขีดเส้นใต้ในขั้นตอนที่แล้ว
5) หากมีตัวเลขที่ไม่ได้ทำเครื่องหมายในรายการ ให้ไปที่ขั้นตอนที่ 3 ไม่เช่นนั้นตัวเลขที่ขีดเส้นใต้ทั้งหมดจะเป็นจำนวนเฉพาะ

นี่คืออัลกอริธึมแบบวนรอบ เมื่อดำเนินการแล้ว ให้ทำซ้ำขั้นตอนที่ 3-5 จนกว่าจะมีตัวเลขที่ไม่มีเครื่องหมายอยู่ในรายการเดิม

นี่คือลักษณะของผังงานสำหรับเด็กนักเรียนที่ต้องทำการบ้านคณิตศาสตร์ก่อนไปเดินเล่นในตอนเย็น:

โปรดจำไว้ว่า จำนวน 1 ไม่ใช่จำนวนประกอบ (ที่มีตัวหารมากกว่าสองตัว) หรือจำนวนเฉพาะ

ที่สำคัญที่สุด

อัลกอริธึมสามประเภทสามารถแยกแยะได้ ขึ้นอยู่กับลำดับการดำเนินการคำสั่ง:

> อัลกอริธึมเชิงเส้น
> อัลกอริธึมการแยกสาขา
> อัลกอริธึมที่มีการทำซ้ำ

อัลกอริธึมที่คำสั่งถูกดำเนินการตามลำดับที่เขียนซึ่งก็คือตามลำดับทีละคำสั่งเรียกว่าเชิงเส้น

รูปแบบของการจัดระเบียบการดำเนินการซึ่งขึ้นอยู่กับการปฏิบัติตามเงื่อนไขบางประการการดำเนินการตามลำดับขั้นตอนหนึ่งหรืออย่างอื่นเรียกว่าการแตกแขนง

รูปแบบของการจัดระเบียบการดำเนินการซึ่งมีการดำเนินการตามลำดับคำสั่งเดียวกันซ้ำจนกระทั่งตรงตามเงื่อนไขที่กำหนดไว้ล่วงหน้าเรียกว่า วงจร (การทำซ้ำ)

คำถามและงาน

1. อัลกอริธึมอะไรที่เรียกว่าเชิงเส้น?
2. ยกตัวอย่างอัลกอริธึมเชิงเส้น
3. นักแสดง "เครื่องคิดเลข" สามารถทำได้เพียงสองคำสั่งเท่านั้น: คูณด้วย 2 แล้วบวก คิดแผนการที่สั้นที่สุดเพื่อให้เขาได้หมายเลข 50 จาก O
4. รูปแบบของการจัดระเบียบการกระทำใดที่เรียกว่าการแตกแขนง?
5. นางเอกของเรื่อง "ห่านและหงส์" ต้องปฏิบัติตามเงื่อนไขอะไรบ้าง?
6. ยกตัวอย่างอัลกอริทึมที่มีการแตกแขนง"
7. อ่านข้อความที่ตัดตอนมาจากบทกวีของ J. Rodari “ งานฝีมือมีกลิ่นอย่างไร”:

แต่ละตลับมีกลิ่นพิเศษ:
เบเกอรี่มีกลิ่นแป้งและขนมอบ
คุณเดินผ่านโรงช่างไม้ -
มันมีกลิ่นเหมือนขี้กบและกระดานสด
จิตรกรมีกลิ่นเหมือนน้ำมันสนและสีทา
กระจกมีกลิ่นเหมือนสีโป๊วหน้าต่าง
เสื้อแจ็คเก็ตคนขับมีกลิ่นเหมือนน้ำมันเบนซิน
เสื้อคนงาน-ทาน้ำมันเครื่อง

ใช้ถ้อยคำใหม่
เกี่ยวกับวิชาชีพที่ใช้คำว่า “IF... THEN”/

8. จำไว้ว่าฮีโร่ในนิทานพื้นบ้านรัสเซียคนไหนที่ตัดสินใจเลือกชะตากรรมของพวกเขา
9. จากทั้งหมด 9 เหรียญที่เป็นสกุลเงินเดียวกัน มีเหรียญหนึ่งเป็นของปลอม (เบากว่า) คุณสามารถชั่งน้ำหนักบนตาชั่งถ้วยที่ไม่มีตุ้มน้ำหนักได้กี่ครั้ง
10. การดำเนินการในรูปแบบใดที่เรียกว่าการทำซ้ำ?
11.ยกตัวอย่างอัลกอริทึมที่มีการทำซ้ำ
12. คุณรู้ไหมว่างานวรรณกรรมใดมีรูปแบบการจัดระเบียบของการกระทำที่เป็นวัฏจักรเกิดขึ้น?
13. นักแสดงจะอยู่ที่ไหนซึ่งทำกลุ่มคำสั่งต่อไปนี้ครบ 16 ครั้งติดต่อกัน?

เดินไปข้างหน้า 10 เมตร

หมุน 90° ตามเข็มนาฬิกา

14. การกระทำกลุ่มใดและควรทำซ้ำกี่ครั้งเมื่อแก้ไขปัญหาต่อไป?

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

15. จำปัญหาของเครื่องคิดเลขที่สามารถคูณด้วย 2 และเพิ่ม 1 ได้เท่านั้น มันจะง่ายกว่ามากในการพัฒนาอัลกอริธึมเชิงตรรกศาสตร์หากคุณใช้บล็อกไดอะแกรมต่อไปนี้:

ใช้ผังงานนี้พัฒนาอัลกอริทึมเชิงตรรกยะเพื่อให้ได้ตัวเลข 1024 และ 500 จาก 0

Bosova L. L. วิทยาการคอมพิวเตอร์: หนังสือเรียนสำหรับชั้นประถมศึกษาปีที่ 6 / L. L. Bosova - ฉบับพิมพ์ครั้งที่ 3, ฉบับที่. และเพิ่มเติม - ม.: บินอม. ห้องปฏิบัติการความรู้, 2548. - 208 หน้า: ป่วย.

เนื้อหาบทเรียน บันทึกบทเรียนและการสนับสนุนการนำเสนอบทเรียนแบบเฟรมวิธีการสอนแบบเร่งเทคโนโลยีแบบโต้ตอบ ฝึกฝน การทดสอบ การทดสอบงานออนไลน์ และแบบฝึกหัด การบ้าน และคำถามการฝึกอบรมสำหรับการอภิปรายในชั้นเรียน ภาพประกอบ วัสดุวิดีโอและเสียง ภาพถ่าย รูปภาพ กราฟ ตาราง แผนภาพ การ์ตูน อุปมา คำพูด ปริศนาอักษรไขว้ เกร็ดเล็กเกร็ดน้อย เรื่องตลก คำพูด ส่วนเสริม บทคัดย่อเคล็ดลับแผ่นโกงสำหรับบทความที่อยากรู้อยากเห็น (MAN) วรรณกรรมพื้นฐานและพจนานุกรมคำศัพท์เพิ่มเติม การปรับปรุงตำราเรียนและบทเรียน แก้ไขข้อผิดพลาดในตำราเรียนแทนที่ความรู้ที่ล้าสมัยด้วยความรู้ใหม่ สำหรับครูเท่านั้น ปฏิทิน แผน โปรแกรมการฝึกอบรม คำแนะนำด้านระเบียบวิธี

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

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

คำอธิบายโครงสร้างอัลกอริทึมต่างๆ ในภาษาของผังงาน

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

การแยกส่วนแบบ if-else
หากนิพจน์เงื่อนไขคืนค่าเป็นจริง อัลกอริทึมจะดำเนินการตามสาขา "ใช่" หากเงื่อนไขไม่เป็นที่พอใจ (เท็จ) อัลกอริทึมจะดำเนินการตามสาขา "ไม่ใช่" สำหรับผลลัพธ์ใดๆ ของนิพจน์เงื่อนไข คุณจะไม่สามารถกลับไปยังสาขาโปรแกรมหลักโดยไม่ผ่านขั้นตอนเพิ่มเติมได้

การแตกแขนงของ If-elif-else
จำนวนเงื่อนไขอาจแตกต่างกันไป หากดำเนินการครั้งแรก จากนั้นหลังจากเสร็จสิ้นการดำเนินการ โปรแกรมจะย้ายไปยังสาขาหลักโดยไม่ตรวจสอบเงื่อนไขเพิ่มเติม หากเงื่อนไขแรกคืนค่าเป็นเท็จ เงื่อนไขที่สองจะถูกตรวจสอบ หากเงื่อนไขที่สองคืนค่าเป็นจริง การดำเนินการที่รวมอยู่ในสาขาที่สองของโครงสร้างจะถูกดำเนินการ เงื่อนไขสุดท้ายจะถูกตรวจสอบเฉพาะในกรณีที่ไม่มีก่อนที่จะให้ผลลัพธ์เป็นจริง โครงสร้างอัลกอริทึมนี้ (ถ้า – elif – อื่น) ไม่ควรสับสนกับโครงสร้างอัลกอริทึม “ตัวเลือก”

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

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

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

วัตถุประสงค์ของบทเรียน: เพิ่มความสนใจในการศึกษาวิชา; การพัฒนาทักษะการคิดอย่างรวดเร็ว การพัฒนากิจกรรมสร้างสรรค์ของนักเรียน การพัฒนาความสนใจทางปัญญา
วัตถุประสงค์ของบทเรียน: 1. ทางการศึกษา:
- เสริมสร้างแนวคิดของอัลกอริทึม ตัวดำเนินการ ระบบคำสั่งของตัวดำเนินการ และวิธีการนำเสนออัลกอริทึมกับนักเรียน
- แนะนำนักเรียนให้รู้จักกับประเภทของอัลกอริธึม: เชิงเส้น, การแยกสาขา, วงจร
- สอนการนำเสนออัลกอริธึมในรูปแบบ Flowchart
2. พัฒนาการ:
- เปิดใช้งานกิจกรรมการรับรู้ของนักเรียนผ่านเครื่องมือการเรียนรู้มัลติมีเดีย
- พัฒนาจินตนาการ มีวิจารณญาณ การคิดที่แตกต่าง
3. ทางการศึกษา:
- การเพิ่มแรงจูงใจของนักเรียนในห้องเรียน
- บรรลุระดับความเชี่ยวชาญของเนื้อหาโดยนักเรียนอย่างมีสติ
- การก่อตัวของความรู้สึกร่วมกันและการแข่งขันที่ดี
- การก่อตัวของการคิดอัลกอริทึม
ข้อกำหนดสำหรับความรู้และทักษะ: - รู้จักประเภทของอัลกอริธึม
- รู้แนวคิด: อัลกอริธึมเชิงเส้น, การแตกแขนง, ไซคลิก
- สามารถประยุกต์ความรู้ที่ได้รับเมื่อปฏิบัติงานจริงได้
ประเภทบทเรียน: รวมกัน
เทคโนโลยี: การก่อตัวของความสามารถในการสื่อสาร
วิธีการ: - ค้นหาบางส่วนใช้งานได้จริง
- ข้อมูล (วาจา);
- ภาพและภาพประกอบ
อุปกรณ์: ฟลิปชาร์ตในหัวข้อ (ภาคผนวก 1) คอมพิวเตอร์ ทรัพยากร

แผนที่เทคโนโลยีของนักเรียน (ภาคผนวก 2), การ์ดหลายระดับ (ภาคผนวก 3), เครือข่ายท้องถิ่น NetOp

ในระหว่างเรียน

I. ช่วงเวลาขององค์กร
1. ทักทายหนุ่มๆ สวัสดีทุกคน! นั่งลง! อารมณ์ของคุณคืออะไร? ถ้ามันดีก็ยิ้มให้ทุกคนสิ! ถ้าไม่ก็มองหน้ากันแล้วยิ้ม! มาเริ่มบทเรียนกันเถอะ! ฉันนำเสนออัลกอริทึมให้คุณในรูปแบบวาจา ดูกระดานดำสิ อัลกอริธึมเดียวกันนี้แสดงเป็นภาพกราฟิก วันนี้ในบทเรียน เราจะเรียนรู้การแสดงประเภทของอัลกอริทึมโดยใช้ผังงาน (ฟลิปชาร์ตหน้า 1)
บทบรรยายของบทเรียนของเราจะเป็นคำพูดของนักวิทยาศาสตร์ชาวฝรั่งเศสชื่อดัง Gustave Guillaume: "ถนนนั้นควบคุมโดยผู้ที่เดิน แต่โดยผู้ที่คิดเกี่ยวกับวิทยาการคอมพิวเตอร์"
2. การประกาศวัตถุประสงค์ของบทเรียน
ครั้งที่สอง การอัพเดตความรู้ของนักเรียน

แต่ก่อนที่เราจะเริ่มเรียนรู้เนื้อหาใหม่ๆ เราต้องจำไว้ว่าเราเรียนอะไรในบทเรียนที่แล้ว

1. ตรวจการบ้าน
ตรวจสอบปริศนาอักษรไขว้ที่แก้ไขโดยนักเรียนที่บ้าน

คำตอบ:
1. 1. กราฟิก
2. แขนขา
3. ข้อมูล
4. นักแสดง
5. อัลกอริธึม
6. ซอฟต์แวร์
7. แผน
8. คอมพิวเตอร์
9. เครื่องมือ
10. การวาดภาพ
11. ขั้นตอน


ตัวเลือกที่ 1. “ การปลูกต้นกล้า”

ตัวเลือก 2 ตอนจากเทพนิยาย "ห่านและหงส์"

6. การบ้าน.
1. เรียนรู้บันทึกย่อ
2. วาดในรูปแบบ A4 ตัวอย่างของอัลกอริทึมแบบวนและบล็อกไดอะแกรมสำหรับเทพนิยาย "Kolobok"

7. คำถาม. 1. อัลกอริธึมประเภทใดบ้าง?
2. อัลกอริทึมประเภทใดที่แสดงในรูปภาพ

ภาคผนวกหมายเลข 3

การ์ดหลายระดับ
1. ทำงานหมายเลข 1,2,3 บนทรัพยากรให้เสร็จสิ้น
กรอกตารางด้วยสองตัวอย่างสำหรับอัลกอริทึมแต่ละประเภท
สร้างอัลกอริทึมใน Paint โดยใช้คำสั่งย้ายและคัดลอก
ตัวเลือกที่ 1. (ฟลิปชาร์ตหน้า 25)
"การปลูกต้นกล้า"
ตัวเลือกที่ 2 (ฟลิปชาร์ตหน้า 26)
ตอนจากเทพนิยายเรื่อง "ห่านกับหงส์"

หลัก คุณสมบัติอัลกอริธึมคือ:

1.

2.

3.

4.

·เชิงเส้น;

การแตกแขนง;

· วัฏจักร

เชิงเส้น

การแตกแขนง

วัฏจักร

โครงสร้างโปรแกรมในภาษาปาสคาล

ปาสคาลเป็นภาษาที่สอนเรื่องความถูกต้องและชัดเจน (ส่วนของโปรแกรม ไม่สามารถสลับได้ ต้องเข้าใจการทำงานของโปรแกรมให้ชัดเจน เป็นต้น) ด้วยเหตุนี้จึงจำเป็นต้องรู้และเข้าใจโครงสร้างของโปรแกรม Pascal อย่างชัดเจน

โปรแกรมชื่อโปรแกรม;
(ในตัวอักษรภาษาอังกฤษคำเดียว อยากเจาะลึกไหม ต้องใช้กฎในการเขียนตัวระบุ)

การใช้งานไลบรารีปลั๊กอิน (โมดูล);
(คุณสมบัติเพิ่มเติมสามารถเชื่อมต่อกับโปรแกรมในบรรทัดนี้ได้)

ฉลากรายการแท็ก
(จากที่หนึ่งในโปรแกรมเพื่อ "ข้าม" ไปยังอีกที่หนึ่ง)



คงที่ส่วนคำอธิบายคงที่
(ค่าคงที่ไม่สามารถเปลี่ยนแปลงได้)

พิมพ์คำอธิบายประเภทตัวแปร (พิมพ์)

วีเออาร์การกำหนดตัวแปรระดับโลก
(คำอธิบายตัวแปรทั้งหมดที่สามารถเปลี่ยนได้ในโปรแกรม)

คำจำกัดความของขั้นตอน;

คำจำกัดความของฟังก์ชัน

บล็อกหลักของโปรแกรม

หลังจากเกือบทุกบรรทัดจะมีป้าย" ; “ ป้ายนี้แสดงว่าสายเสร็จแล้ว ป้าย " ; " ไม่ได้อยู่หลังคำฟังก์ชัน เริ่มและอันสุดท้าย จบ.(ซึ่งหมายถึงการสิ้นสุดโปรแกรม) ตามด้วยจุด

3. ตัวดำเนินการแบบมีเงื่อนไข ตัวดำเนินการเลือก การดำเนินการเชิงตรรกะในภาษาปาสคาล ตารางความจริง กฎพื้นฐานของพีชคณิตแห่งตรรกศาสตร์
คำสั่งแบบมีเงื่อนไข

IF [นิพจน์บูลีน] จากนั้น [คำสั่ง 1]; อื่น [คำสั่ง 2];

คำสั่ง IF ทำงานดังนี้: ขั้นแรกจะตรวจสอบผลลัพธ์ของนิพจน์บูลีน หากผลลัพธ์เป็น TRUE ดังนั้น [statement_1] ที่ตามหลังคำฟังก์ชัน That จะถูกดำเนินการ และ [statement_2] จะถูกข้ามไป หากผลลัพธ์เป็น FALSE ระบบจะข้าม [statement_1] และดำเนินการ [statement_2]

สำหรับ [loop_parameter] := [n_z_p_ts] ถึง [k_z_p_ts] Do [operator];

FOR, To, Do เป็นคำฟังก์ชัน [cycle_parameter] – พารามิเตอร์รอบ [n_z_p_ts] – ค่าเริ่มต้นของพารามิเตอร์รอบ [k_z_p_ts] – ค่าสุดท้ายของพารามิเตอร์รอบ [ตัวดำเนินการ] – ตัวดำเนินการโดยพลการ

พารามิเตอร์ลูปต้องเป็นตัวแปรลำดับ ค่าเริ่มต้นและสิ้นสุดของพารามิเตอร์ลูปจะต้องเป็นประเภทเดียวกันกับพารามิเตอร์ลูป

ในขณะที่ [เงื่อนไข] ทำ [ผู้ดำเนินการ];

WHILE, Do – ฟังก์ชั่นคำ [เงื่อนไข] – การแสดงออกของประเภทตรรกะ [ผู้ดำเนินการ] – ผู้ดำเนินการสามัญ

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



ทำซ้ำ [วงจร_ร่างกาย]; จนกระทั่ง [เงื่อนไข];

คำสั่ง REPEAT ทำงานดังต่อไปนี้: ขั้นแรก คำสั่งในส่วนเนื้อหาของลูปจะถูกดำเนินการ หลังจากนั้นผลลัพธ์จะถูกตรวจสอบสำหรับเงื่อนไขลอจิคัล หากผลลัพธ์เป็นเท็จ ก็จะกลับไปดำเนินการคำสั่งของเนื้อหาลูปถัดไป หากผลลัพธ์เป็นจริง ผู้ดำเนินการจะออกจากระบบ

ตรรกะและการดำเนินการ

การดำเนินการแบบตรรกะ AND จะดำเนินการกับสองบิต ลองเรียกมันว่า a และ b ผลลัพธ์ของการดำเนินการเชิงตรรกะ AND จะเท่ากับ 1 ถ้า a และ b เท่ากับ 1 และในกรณีอื่น ๆ ทั้งหมดผลลัพธ์จะเท่ากับ 0 เราดูที่ตารางความจริงของการดำเนินการเชิงตรรกะและ

เอแอนด์บี

ประเภทข้อมูล

ลำดับ:

ทั้งหมด; พัฒนาสมอง; อักขระ; รายการ; ช่วงเวลา;

จริง:

มีโครงสร้าง:

อาร์เรย์; สตริง; ชุด; บันทึก; ไฟล์;

ป้ายบอกทาง

6.อาร์เรย์ ความหมาย คำอธิบาย การจัดเก็บ และการใช้งาน
อาร์เรย์เป็นประเภทข้อมูลที่มีโครงสร้างซึ่งประกอบด้วยองค์ประกอบประเภทเดียวกันจำนวนคงที่

คุณสมบัติ:

องค์ประกอบอาเรย์ทั้งหมดเป็นประเภทเดียวกัน

อาร์เรย์มีชื่อเดียวสำหรับองค์ประกอบทั้งหมด

องค์ประกอบอาร์เรย์เฉพาะถูกเข้าถึงโดยดัชนี

7.ขั้นตอนและหน้าที่ ส่วนหัวและเนื้อหาของขั้นตอนและฟังก์ชัน การจำแนกพารามิเตอร์ ขั้นตอนการโทรและฟังก์ชั่นคุณสมบัติการใช้งาน

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

กลไกของรูทีนย่อยในภาษา Turbo Pascal ถูกนำมาใช้ในรูปแบบของขั้นตอนและฟังก์ชัน มีโครงสร้างเกือบจะเหมือนกัน ความหมายเหมือนกัน แต่มีจุดประสงค์และวิธีการเรียกต่างกัน

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

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

ขั้นตอนชื่อขั้นตอน (FormalParametersList);
ฉลาก
การแสดงรายการป้ายกำกับภายในเนื้อหาของขั้นตอน
คงที่
คำอธิบายของค่าคงที่ท้องถิ่น
พิมพ์
คำอธิบายของประเภทท้องถิ่น
วีเออาร์
คำอธิบายของตัวแปรท้องถิ่น
เริ่ม
ขั้นตอนร่างกาย
จบ.

แนวคิดของอัลกอริทึม คุณสมบัติ วิธีการอธิบาย ประเภทของอัลกอริทึม

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

หลัก คุณสมบัติอัลกอริธึมคือ:

1. ระดับ (ความแน่นอน) ถือว่าได้รับผลลัพธ์ที่ชัดเจนของกระบวนการคำนวณด้วยข้อมูลเริ่มต้นที่กำหนด เนื่องจากคุณสมบัตินี้ กระบวนการดำเนินการอัลกอริธึมจึงมีลักษณะเป็นกลไก

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

3. ตัวละครมวล คุณสมบัตินี้บอกเป็นนัยว่าอัลกอริทึมควรเหมาะสมสำหรับการแก้ปัญหาทุกประเภทตามประเภทที่กำหนด

4. ความรอบคอบ หมายถึงการแบ่งกระบวนการคำนวณที่กำหนดโดยอัลกอริธึมออกเป็นขั้นตอนที่แยกจากกันซึ่งความสามารถที่นักแสดง (คอมพิวเตอร์) จะต้องดำเนินการนั้นไม่ต้องสงสัยเลย

ด้วยอัลกอริธึมที่หลากหลายสำหรับการแก้ปัญหา กระบวนการคำนวณสามประเภทหลักสามารถแยกแยะได้:

·เชิงเส้น;

การแตกแขนง;

· วัฏจักร

เชิงเส้นเป็นกระบวนการคำนวณที่ดำเนินการทุกขั้นตอนของการแก้ปัญหาตามลำดับธรรมชาติของการบันทึกขั้นตอนเหล่านี้

การแตกแขนงเป็นกระบวนการคำนวณที่การเลือกทิศทางในการประมวลผลข้อมูลขึ้นอยู่กับข้อมูลเริ่มต้นหรือข้อมูลกลาง (ขึ้นอยู่กับผลลัพธ์ของการตรวจสอบการปฏิบัติตามเงื่อนไขเชิงตรรกะใด ๆ )

วงจรเป็นส่วนหนึ่งของการคำนวณที่ทำซ้ำหลายครั้ง กระบวนการคำนวณที่มีหนึ่งหรือหลายรอบเรียกว่า วัฏจักร- ขึ้นอยู่กับจำนวนการดำเนินการ รอบจะถูกแบ่งออกเป็นรอบโดยมีจำนวนการทำซ้ำ (กำหนดไว้ล่วงหน้า) ที่แน่นอน และรอบที่มีจำนวนการทำซ้ำไม่จำกัด



มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: