กลับไปหน้าบทความ

อ่าน 2 นาที

ไม่มีชื่อบทความ

โครงสร้างของ Zahn ใน วิทยาการคอมพิวเตอร์ หรือที่รู้จักกันในชื่อ "คำสั่งกรณีสถานการณ์" เป็นโครงสร้างที่เสนอสำหรับ การควบคุมการไหล แบบมีโครงสร้าง ในภาษาการเขียนโปรแกรมคอมพิวเตอร์...

โครงสร้างของ Zahn

โครงสร้างของ Zahnในวิทยาการคอมพิวเตอร์หรือที่รู้จักกันในชื่อ "คำสั่งกรณีสถานการณ์" เป็นโครงสร้างที่เสนอสำหรับการควบคุมการไหล แบบมีโครงสร้าง ในภาษาการเขียนโปรแกรมคอมพิวเตอร์ ซึ่งอธิบายครั้งแรกโดยCharles T. Zahnในปี 1974 [ 1 ]โครงสร้างนี้อธิบายโดยหลักๆ แล้วในแง่ของการขยายโครงสร้างการวนซ้ำเพื่อรับรู้ถึงวิธีการหลายวิธีที่การวนซ้ำสามารถสิ้นสุดได้ตัวอย่างเช่น การวนซ้ำการค้นหาอาจสิ้นสุดก่อนกำหนด เมื่อพบเป้าหมาย หรืออาจสิ้นสุดหลังจากการค้นหาไม่สำเร็จ โครงสร้างของ Zahn สามารถใช้เพื่อหลีกเลี่ยงGO TOคำสั่งเมื่อพิจารณาว่าพบกรณีใด Zahn ทำเช่นนี้โดยการแนะนำตัวแปรชนิดใหม่ที่เรียกว่าตัวบ่งชี้สถานการณ์ใน โครงสร้างคล้าย CASEที่ล้อมรอบการวนซ้ำ

Donald Knuthในบทความของเขาเรื่อง "การเขียนโปรแกรมเชิงโครงสร้างด้วยคำสั่ง Go To" [ 2 ]อธิบายโครงสร้างของ Zahn สองรูปแบบดังนี้:

วนลูปจนกว่าจะถึง <สถานการณ์ที่ 1> หรือ ... หรือ <สถานการณ์ที่ n>: <รายการคำสั่ง 0> ทำซ้ำ; จากนั้น <สถานการณ์ที่ 1> => <รายการคำสั่งที่ 1>; ... <สถานการณ์ n> => <รายการข้อความ n>; ไฟ

และ:

เริ่มจนถึง <สถานการณ์ที่ 1> หรือ ... หรือ <สถานการณ์ที่ n>: <รายการคำสั่ง 0>; จบ; จากนั้น <สถานการณ์ที่ 1> => <รายการคำสั่งที่ 1>; ... <สถานการณ์ n> => <รายการข้อความ n>; ไฟ

นอกจากนี้ยังต้องมีข้อความที่ระบุตัวบ่งชี้สถานการณ์เฉพาะและออกจากส่วนของโครงสร้างนั้นด้วย

ตัวอย่างง่ายๆ ต่อไปนี้เป็นการค้นหารายการเฉพาะในตารางสองมิติ

ออกเมื่อพบหรือขาดหายไป; สำหรับ I := 1 ถึง N ทำซ้ำสำหรับ J := 1 ถึง M ทำซ้ำถ้าตาราง[I,J] = เป้าหมายแสดงว่าพบแล้ว; หายไป; ทางออก พบ: พิมพ์ ("รายการอยู่ในตาราง"); ขาดหายไป: พิมพ์ ("รายการไม่อยู่ในตาราง"); ออกจากระบบ ;

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

Zahn ได้นำคำสั่งกรณีสถานการณ์ของเขาไปใช้ในภาษา SKOL SKOL ถูกพัฒนาขึ้นในรูปแบบของชุดมาโครสำหรับตัวประมวลผลล่วงหน้าMORTRAN ของภาษา Fortran

  • Zahn, CT การควบคุมโครงสร้างในภาษาโปรแกรมSLAC Pub-1530 มกราคม 1975
  • โครงสร้างควบคุมที่เก็บถาวรไว้เมื่อวันที่ 8 มิถุนายน 2011 ในWayback Machineถูกกำหนดโดยใช้Schemeโดยโครงสร้างของ Zahn เป็นโครงสร้างสุดท้ายในรายการ
  • โครงสร้างของ Zahn ที่เก็บถาวรไว้เมื่อวันที่ 23 กันยายน 2006 ในWayback Machineกำหนดโดยใช้คำสั่ง GOTO ในภาษา Forth
  • คู่มืออ้างอิงภาษาการเขียนโปรแกรม SKOL

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไม่มีชื่อบทความ

โครงสร้างของ Zahn ใน วิทยาการคอมพิวเตอร์ หรือที่รู้จักกันในชื่อ "คำสั่งกรณีสถานการณ์" เป็นโครงสร้างที่เสนอสำหรับ การควบคุมการไหล แบบมีโครงสร้าง ในภาษาการเขียนโปรแกรมคอมพิวเตอร์...

ลิงก์ภายนอก

Zahn, CT การควบคุมโครงสร้างในภาษาโปรแกรม SLAC Pub-1530 มกราคม 1975 โครงสร้างควบคุมที่เก็บถาวรไว้ เมื่อวันที่ 8 มิถุนายน 2011 ใน Wayback Machine ถูกกำหนดโดยใช้ Scheme โดยโครงสร้างของ Zahn เป็นโครงสร้างสุดท้ายในรายการ โครงสร้างของ Zahn ที่เก็บถาวรไว้...