คอมพิวเตอร์, การเขียนโปรแกรม
การเขียนโปรแกรม โครงสร้างพื้นฐานขั้นพื้นฐาน
สำหรับการสร้างโปรแกรมใด ๆ จำเป็นต้องใช้โครงสร้างอัลกอริทึมพื้นฐาน ต่อไปนี้เป็นวิธีที่ง่ายที่สุดในการแก้ปัญหา สามารถใช้ตัวอย่างเช่นในการทำงานกับตัวอย่างที่คล้ายคลึงกัน มีประเภทอื่น ๆ ได้แก่ branching และ looping เกี่ยวกับพวกเขาจะบอกในบทความนี้ แต่ก่อนอื่นคุณต้องเข้าใจว่าอัลกอริธึมเป็นอย่างไร
ขั้นตอนวิธี
คำว่า "algorithm" มาจาก algoritmi ภาษาละติน หมายความว่าอย่างไร คำที่แท้จริงมาจากชื่อของนักคณิตศาสตร์ที่ทำงานอยู่ในศตวรรษที่ 9 ขอบคุณบทความจาก al-Khwarizmi มนุษย์สามารถทำความคุ้นเคยกับประเภทพื้นฐานของการก่อสร้างอัลกอริทึมและโดยทั่วไปมีแนวคิดทั่วไป
ก่อนหน้านี้ได้มีการนำรูปแบบของการเขียนคำว่า "algorithm" มาใช้ ตอนนี้ใช้เฉพาะในบางกรณีเท่านั้น
อัลกอริทึมเป็นกระบวนการที่หมายถึงการเปลี่ยนข้อมูลอินพุตที่เกิดขึ้นในรูปแบบของขั้นตอนแบบแยกส่วน ด้วยแนวคิดนี้ทุกคนต้องเจอกับชีวิตไม่ว่าเขาจะเป็นใครก็ตาม อัลกอริธึมอาจเรียกได้ว่าเป็นการเตรียมชาหรืออาหารการคูณหรือการเติมสมการการแก้สมการเป็นต้นเครื่องใช้ในครัวเรือนทั้งหมดที่มีกระบวนการทำงานโดยอัตโนมัติทำงานที่ค่าใช้จ่ายตามขั้นตอนที่ชัดเจนซึ่งกำหนดไว้ในหน่วยความจำของโปรเซสเซอร์ อัลกอริธึมดังกล่าวเรียกว่า algorithms ครัวเรือน ยังมีอีกหลายชนิด พิจารณาพวกเขา
ประเภทของอัลกอริทึม
โครงสร้างอัลกอริธึมขั้นพื้นฐานแบ่งออกเป็นหลายประเภทซึ่งจะกล่าวถึงในอนุวรรคนี้ พวกเขาชอบอะไร?
- ข้อมูล อัลกอริทึมดังกล่าวสามารถทำงานกับข้อมูลจำนวนมากได้ แต่ขั้นตอนการประมวลผลเหล่านี้มีขนาดเล็กและไม่ซับซ้อน
- การควบคุม การทำงานของอัลกอริทึมดังกล่าวเกี่ยวข้องกับข้อมูลที่มาจากแหล่งหนึ่งหรืออีกแหล่งหนึ่ง หลังจากรับสัญญาณแล้วจะมีการส่งสัญญาณพิเศษเพื่อให้มั่นใจว่าการทำงานของอุปกรณ์นั้น ๆ
- การคำนวณ ไม่เหมือนอัลกอริทึมข้อมูลงานที่อธิบายด้วยข้อมูลเพียงเล็กน้อย แต่เป็นกระบวนการที่มีขนาดใหญ่
ในความเป็นจริงอัลกอริทึมมีความถูกต้องกับคำแนะนำรายละเอียดที่เล็กที่สุด อย่างไรก็ตามข้อมูลทั้งหมดไม่สามารถเรียกได้ว่าเป็นแนวคิดที่อธิบายไว้ เพื่อให้เข้าใจถึงขั้นตอนของคำสั่งหรือไม่ควรตรวจสอบคุณสมบัติบางอย่าง
คุณสมบัติของอัลกอริทึม
โครงสร้างพื้นฐานขั้นพื้นฐานทั้งหมดต้องมีการกระทำที่เชื่อฟัง ลองพิจารณาเรื่องนี้ในรายละเอียดเพิ่มเติม
ถ้าคุณติดตามการทำงานของอัลกอริทึมและคุณสมบัติของพวกเขาอย่างสมบูรณ์คุณจะเห็นว่าไม่จำเป็นต้องเข้าใจส่วนประกอบของพวกเขาค่อนข้างชัดเจนว่าสอดคล้องกับแผน ผลลัพธ์ที่ถูกต้องจะได้รับแม้ว่าจะทำตามขั้นตอนที่จำเป็นเท่านั้น จากนี้เราสามารถสรุปได้ว่าเนื่องจากการขาดความหมายในการรับรู้ของการกระทำที่อัลกอริทึมสามารถจริงๆจะจัดสรรให้กับการดำเนินงานของเครื่องคอมพิวเตอร์ กล่าวอีกนัยหนึ่งสำหรับอุปกรณ์อัตโนมัติขั้นตอนนี้จำเป็น
สิ่งที่คุณสมบัติควรโครงสร้างพื้นฐานขั้นพื้นฐานสำหรับการทำงานที่ถูกต้องที่สุด?
- สามารถทำความเข้าใจได้ คำสั่งแต่ละคำควรมีความชัดเจนที่สุดเท่าที่จะเป็นไปได้กับวัตถุที่กำลังดำเนินการ ดูเหมือนว่าไม่มีอะไรที่ง่ายกว่าเช่นการวาดจุดกึ่งกลางไม่ แต่จนกว่าคุณจะมีคำสั่งที่ช่วยให้คุณสามารถดำเนินการได้คุณจะไม่สามารถทำสิ่งนี้ได้
- ประสิทธิผล สถานที่นี้หมายถึงอะไร? ผลลัพธ์ที่ต้องการ อัลกอริทึมไม่สามารถนำไปสู่คำตอบได้ เนื่องจากข้อผิดพลาดคุณสามารถได้รับผลลัพธ์ที่ไม่ถูกต้องซึ่งเป็นที่ต้องการ แต่ก็ยังคงเป็นไป นอกจากนี้คำตอบจะต้องได้รับหลังจากขั้นตอนบางอย่าง
- มวล อัลกอริธึมใดก็ได้ควรใช้กับชั้นเรียนบางประเภท ระหว่างพวกเขาพวกเขาสามารถแตกต่างจากข้อมูลเดิม
- ความเชื่อมั่น การดำเนินการแต่ละรายการต้องมีเพียงค่าเดียวเท่านั้นและไม่อนุญาตให้มีการถอดรหัสอนุพันธ์ ไม่ว่าจะใช้งานโปรแกรมเท่าไหร่ผลลัพธ์ก็ควรจะเหมือนกัน
- ไม่ต่อเนื่อง อัลกอริธึม - ขั้นตอนตามลำดับ แต่ละขั้นตอนคือคำสั่งคุณไม่สามารถข้ามหรือเพิ่มคำสั่งใหม่ได้
- ความถูกต้อง อัลกอริธึมที่ใช้กับงานประเภทใดต้องถูกต้องสำหรับทุกคน ในการเขียนโปรแกรมปัญหามักเกิดขึ้นไม่ใช่การเขียนขั้นตอนซึ่งมักใช้เวลาไม่มากนัก แต่ในการแสดงคำถามต่างๆ ดังนั้นขั้นตอนที่สำคัญคือการแก้จุดบกพร่องของอัลกอริทึม สามารถช่วยในการนี้และการออกแบบขั้นตอนพื้นฐานที่ซ้ำซ้อนซึ่งจะได้ผลลัพธ์ที่ดีกว่า
คำอธิบายของอัลกอริทึม
ถ้าเราพูดถึงวิธีการเขียนอัลกอริทึมเราควรแยกแยะดังต่อไปนี้:
- ทางวาจา กล่าวอีกนัยหนึ่งในภาษาที่สะดวกสำหรับการแสดงองค์ประกอบ
- ตาราง ตรรกะอัลกอริทึมจะถูกเขียนลงในตารางและตามกฎจะใช้เป็นองค์ประกอบเสริม
- พูดด้วยวาจาอย่างเป็นทางการ พื้นฐานของวิธีการอธิบายด้วยวาจาถูกนำมาใช้ แต่สูตรทางคณิตศาสตร์หรือสัญลักษณ์จะถูกบันทึกไว้ในการกระทำเช่นนี้ด้วย
- กราฟฟิค อัลกอริธึมดังกล่าวถูกเขียนขึ้นเป็นภาษาพิเศษของแผนภาพบล็อก
ประเด็นสุดท้ายควรชี้แจง แผนผังบล็อกคืออะไร? นี่คืออัลกอริธึมเชิงเส้นหรือไม่เชิงเส้นซึ่งขั้นตอนต่างๆจะถูกบันทึกโดยใช้บล็อกพิเศษ พวกเขามีการกำหนดค่าวัตถุประสงค์และหน้าที่ของตนเอง ในกรณีของคำอธิบายดังกล่าวอัลกอริทึมจะถูกเขียนในแผนภาพบล็อกที่เชื่อมโยงกันตามสาย ในพวกเขาจำเป็นต้องเขียนการกระทำ (ขั้นตอน) เพิ่มเติม
โครงสร้างอัลกอริทึม
บางคนแย้งว่าอัลกอริทึมไม่ได้มีอยู่ 3 แบบ แต่ 4. โครงสร้างหลักของอัลกอริธึมคือเส้นตรงแบ่งกิ่ง สาเหตุของความเข้าใจผิดนี้ไม่ชัดเจน อย่างไรก็ตามสำหรับการแก้ปัญหาที่ซับซ้อนของปัญหาที่ซับซ้อนคอมพิวเตอร์ใช้อัลกอริทึมของกลุ่มที่มีขนาดใหญ่ทั้งสามกลุ่มนี้ พิจารณาพวกเขา
- เชิงเส้น กระบวนการคำนวณดังกล่าวได้รับชื่อนี้เนื่องจากข้อเท็จจริงที่ว่าการดำเนินการทั้งหมดจะดำเนินการในลำดับแบบเชิงเส้นโดยที่แต่ละขั้นตอนดำเนินการไม่เกินหนึ่งครั้ง ถ้าเราพิจารณาแผนของปัญหาแล้วบล็อกในนั้นจะวางด้านล่างอื่น ๆ ขึ้นอยู่กับลำดับหมายเลขของงาน อัลกอริทึมเชิงเส้นทำงานในลักษณะที่ทิศทางและความหมายของการกระทำไม่เปลี่ยนแปลงไปจากข้อมูลเริ่มต้น วิธีการแก้ปัญหาดังกล่าวเหมาะสำหรับการคำนวณผลรวมหรือความแตกต่างพื้นที่ของรูปหรือเส้นรอบวง ฯลฯ ประเภทของการก่อสร้างขั้นตอนวิธีหลักคือ
- การแตกแขนง กระบวนการคำนวณนี้หมายถึงการปรากฏตัวของนิพจน์เชิงตรรกะ (LV เพิ่มเติม) และการเลือกเงื่อนไข (สาขา "โกหก" และ "ความจริง") ในแต่ละกรณีมีการใช้งานเพียงหนึ่งในสองทีมเท่านั้น ไม่มีงานใดและไม่สามารถทำได้ซึ่งในทางเลือกอื่น ๆ จะได้รับการปฏิบัติจริง ถ้ามีสองสาขาในอัลกอริทึมจะง่ายถ้าสาขามากกว่าสองสาขามีความซับซ้อน และขั้นตอนสุดท้ายสามารถแสดงได้อย่างง่ายดายโดยค่าใช้จ่ายของอดีต ประเภทหลักของการก่อสร้างอัลกอริทึมคือทั้งจุดแรกและจุดที่สอง ชนิดต่อไปนี้ยังรวมอยู่ในรายการนี้
- เป็นวงกลม ในอัลกอริทึมดังกล่าวจำเป็นต้องมีองค์ประกอบที่ซ้ำหลายครั้งและใช้ข้อมูลเริ่มต้นที่แตกต่างกัน กล่าวอีกนัยหนึ่งกระบวนการดังกล่าวเรียกว่าวงจร
ควรสังเกตว่าโครงสร้างพื้นฐานขั้นพื้นฐาน (ตามสาขารอบ) มีความสัมพันธ์กันแม้ว่าจะสามารถใช้แยกกันได้ก็ตาม
การสร้างวงจรและประเภทของพวกเขา
สิ่งที่จำเป็นในการสร้างลูป?
- ตัวนับรอบ นี่คือตัวแปรที่กำหนดค่าเริ่มต้นและเมื่อการกระทำเกิดขึ้นซ้ำ ๆ ก็จะเปลี่ยนไป จำเป็นต้องเป็นส่วนหนึ่งของอัลกอริทึม การสร้างอัลกอริธึมขั้นพื้นฐานของชนิดไซเคิลจะไม่สามารถทำงานได้หากไม่มีมัน
- เปลี่ยนตัวบ่งชี้ของข้อมูลข้างต้นก่อนที่จะทำซ้ำวัฏจักรใหม่
- การตรวจสอบเงื่อนไขที่คอมพิวเตอร์ตัดสินใจว่าจะ "ย้อนกลับ" รอบหรือมากกว่านั้นไม่จำเป็นต้องมี
วงจรสามารถกำหนดและซ้ำได้ ครั้งแรกเป็นการแสดงซ้ำของการกระทำที่มีจำนวน repetitions ที่รู้จักกันอยู่แล้ว รอบการทำซ้ำเป็นครั้งที่ซ้ำหลายครั้งจนกว่าเงื่อนไขจะกลายเป็นจริงหรือเท็จ
อัลกอริทึ่มพื้นฐาน
เป็นมูลค่าจดจำว่าอัลกอริธึมพื้นฐานไม่ใช้กับโครงสร้างพื้นฐานขั้นพื้นฐาน เขาชอบอะไร? แนวคิดนี้ได้รับการค้นพบไม่ได้ในวรรณคดีสมัยใหม่ แต่ไม่ได้หมายความว่ามันไม่มีอยู่อีกต่อไป พิจารณาว่าหลายกิ่งหรือ repetitions สามารถเกิดขึ้นในการแก้ปัญหาข้อสรุปต่อไปนี้สามารถแยกออกได้ โครงสร้างเชิงเส้นพื้นฐาน (เส้น, กิ่ง, ไซเคิล) เป็นพื้นฐาน ในความเป็นจริงพวกเขาเป็นตัวแทนของ "โครงสร้างหน่วย" ของแต่ละคำสั่งที่เรียกว่า
อัลกอริธึมเชิงเส้น
ตามที่ชัดเจนจากข้างต้นขั้นตอนวิธีเชิงเส้นและไม่เชิงเส้น พิจารณาตัวเลือกแรก ทำไมจึงเรียกว่า? ทุกสิ่งทุกอย่างง่ายมาก ความจริงก็คือการกระทำทั้งหมดที่ทำซ้ำในอัลกอริทึมมีการดำเนินการตามลำดับอย่างชัดเจนขั้นตอนทั้งหมดจะดำเนินการอย่างเคร่งครัดต่อหนึ่งรายการ ตามกฎแล้วงานดังกล่าวมีขนาดเล็กและมีความซับซ้อนในระดับต่ำ
ตัวอย่างของขั้นตอนวิธีเชิงเส้นสามารถเป็นกระบวนการของการทำชา:
- เทน้ำลงในกาต้มน้ำ
- ใส่กาต้มน้ำลงบนเตาเพื่อต้ม
- เอาถ้วย
- เทชาลงในถ้วย
- เพิ่มน้ำตาล
- หลังจากเดือดเทน้ำเดือดลงในถ้วย
- ใช้เวลาสักหนึ่งช้อน
- ผสมน้ำตาล
การเขียนโปรแกรมการสร้างอัลกอริธึมขั้นพื้นฐานค่อนข้างเป็นเรื่องยาก แต่เมื่อพูดถึง ขั้นตอนวิธีเชิงเส้น ก็มักจะใช้งานได้ง่ายมาก
ขั้นตอนการแบ่งแยก
จะเข้าใจได้อย่างไรว่าอัลกอริทึมคือการแบ่งแยก? พอเพียงเพื่อให้แน่ใจว่ามีตัวเลือกสองตัวเลือกขึ้นไปขึ้นอยู่กับว่าเงื่อนไขนั้นเป็นไปตามหรือไม่ แต่ละเส้นทางเรียกว่าสาขา
คุณลักษณะหลักของอัลกอริทึ่มกิ่งคือการดำรงอยู่ของสาขาที่มีเงื่อนไข เกิดขึ้นระหว่างการตรวจสอบความถูกต้องเป็นจริงหรือเท็จ
โดยปกติการนิพจน์เชิงตรรกะจะแสดงด้วยน้อยกว่ามากกว่าหรือน้อยกว่าหรือเท่ากับมากกว่าหรือเท่ากับเท่ากับหรือเท่ากับ บางครั้งมีตัวแปรที่มีเงื่อนไขเกี่ยวข้องกับแต่ละอื่น ๆ ด้วยความช่วยเหลือของและ (และ) และหรือ (หรือ) คำสั่ง
ตัวอย่างของอัลกอริทึมดังกล่าวสามารถแก้ปัญหาต่อไปนี้ได้: ถ้านิพจน์ ((x + 3) / 1) มีค่าเท่ากับจำนวนบวกให้ผลลัพธ์ผลลัพธ์ไปยังหน้าจอถ้าเป็นค่าลบบอกผู้ใช้เกี่ยวกับข้อผิดพลาด
ค่อนข้างง่ายที่จะใช้โครงสร้างพื้นฐานขั้นพื้นฐานในทางปฏิบัติ สาขาคือหนึ่งในวิธีการแก้ปัญหาที่พบมากที่สุด
วัฏจักรหรือวัฏจักรที่กำหนดด้วยตัวนับ
ลูปที่มีตัวนับเป็นลูปที่มีตัวแปรที่เปลี่ยนแปลงค่าด้วยขั้นตอนหนึ่ง ขั้นตอนที่กำหนดโดยผู้ใช้หรือกำหนดโดยโปรแกรมเมอร์ในขณะที่เขียนหลักประกัน ภาษาส่วนใหญ่สำหรับลูปนี้ใช้คำสั่ง for
สำหรับโปรแกรมจะแสดง 2 บรรทัด 4 ครั้ง:
- "คุณเป็นอย่างไร?"
- "ดีขอบคุณ!"
- "คุณเป็นอย่างไร?"
- "ดีขอบคุณ!"
จำเป็นต้องสร้างวงจรกำหนด มันมีลักษณะอย่างไร? เราใช้ภาษา "Pascal" เพื่อให้ได้รับการออกแบบที่ดีขึ้น
1. สำหรับ i: = 1 ถึง 2:
- i เป็นตัวนับวงเล็บจะกำหนดจำนวนซ้ำในลูป
2. เริ่มต้น (วงเล็บของผู้ปฏิบัติงานจะเปิดขึ้นเพื่อให้ทั้งสองวลีเป็นตัวของวงและจะต้องทำซ้ำกัน)
3. Writeln ("คุณเป็นอย่างไร?"):
- คำว่า writeln หมายถึงผลลัพธ์ของวลีที่อยู่ในเครื่องหมายคำพูดเดียว
4. Writeln ('Well, thank you')
5. จบ
6. i: = i + 1
อย่างที่คุณเห็นมันค่อนข้างง่ายและน่าสนใจแม้กระทั่งการใช้โครงสร้างพื้นฐานขั้นพื้นฐาน อัลกอริทึ่มพื้นฐานเป็นที่รู้จักอย่างกว้างขวางโดยที่ไม่มีโปรแกรมเขียนโปรแกรม
รอบการทำงานกับ postcondition
ลูปที่มีการ postcondition สามารถทำซ้ำได้หลายครั้งโดยไม่ต้องใส่คำว่า staples หรือคำประสมในพวกเขา จะบรรลุผลอย่างน้อยหนึ่งครั้ง ลูปทำงานจนกว่าสภาพจะเป็น false จะหยุดเมื่อตัวบ่งชี้ถูกต้อง อัลกอริทึมนี้สร้างขึ้นจากข้อมูลนี้ โครงสร้างขั้นตอนพื้นฐานของงานประเภทนี้ที่ก้าวนี้
ในการดำเนินการตามขั้นตอนนี้จำเป็นต้องมีการทำซ้ำ A ถึง B ซึ่งแปลเป็นตัวอักษรว่า "การทำซ้ำในขณะที่เงื่อนไขเป็นเท็จ" ดังนั้นกระบวนการของการทำซ้ำจะแสดงผ่าน A และข้อมูลผ่าน B ซึ่งเป็นผลต้องใช้ค่าที่ถูกต้อง
รอบที่มีสภาพก่อนกำหนด
ห่วงกับ postcondition ถูกสร้างขึ้นในลักษณะที่จะดำเนินการอย่างน้อยหนึ่งครั้งในกรณีใด ๆ อย่างไรก็ตามมีกรณีที่จำเป็นต้องใช้วัฏจักรในกรณีที่มีเงื่อนไขเฉพาะและถ้าไม่มีการทำซ้ำก็ไม่ควร มิฉะนั้นผลลัพธ์จะไม่ถูกต้อง ในกรณีนี้จะใช้ห่วงที่มีเงื่อนไขก่อน ในการสร้างคุณต้องใช้โครงสร้าง "while A do B" คำสั่งแรกถูกแปลเป็นวลี "bye" A เป็นเงื่อนไขและ B คือการกระทำที่จะทำซ้ำ การออกแบบทั้งหมดหมายถึง: "ตราบเท่าที่เงื่อนไขถูกต้องให้ดำเนินการ"
โครงสร้างพื้นฐานขั้นพื้นฐานทั้งหมดทำงานเฉพาะในบางกรณีเท่านั้น สิ่งที่พวกเขาอยู่ในวงจรที่มีเงื่อนไขก่อน? ถ้าจำเป็นต้องทำซ้ำอีกครั้งหนึ่ง แต่หลาย ๆ ข้อก็ควรจะใช้ตัวประกอบแบบผสมหรือวงเล็บพิเศษ วงจรอาจไม่สามารถบรรลุได้หากเงื่อนไขไม่เป็นจริงเมื่อป้อนข้อมูล ดังนั้นการกระทำจะถูกทำซ้ำถ้าถูกต้อง
อัลกอริธึมเสริม
อัลกอริธึมเสริมใช้ในกระบวนการอื่น ๆ โดยการระบุเฉพาะชื่อ ไม่ใช้กับโครงสร้างพื้นฐานขั้นพื้นฐาน ในกระบวนการเขียนโปรแกรมกระบวนการนี้เรียกว่า subroutine เพื่อความสะดวกในการทำงานกับรหัสและการแก้ปัญหาในภายหลังได้ง่ายยิ่งขึ้นการกระทำแต่ละอย่างจะรวมกันเป็นหนึ่งบล็อกซึ่งเป็นอัลกอริทึมเสริม แต่ละคนสามารถได้รับชื่อซึ่งช่วยให้คุณสามารถอ้างอิงข้อมูลได้ซ้ำ ๆ
Similar articles
Trending Now