คอมพิวเตอร์การเขียนโปรแกรม

การเขียนโปรแกรม วงจรที่มีตัวเลือก

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

รอบพันธุ์

โดยรวมแล้วมีสามสายพันธุ์:

  • กับพารามิเตอร์
  • กับเงื่อนไขที่
  • postcondition

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

ในสองโครงสร้างอื่น ๆ (ในขณะที่และทำซ้ำ) จำนวนการทำซ้ำที่ไม่รู้จักต้น ดังนั้นเมื่อการศึกษางานก็จะต้องมีความเข้าใจซึ่งวงจรถูกนำมาใช้

พื้นฐานนิยามที่เกี่ยวข้อง

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

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

For ... กับ ... ทำ: อัลกอริทึมไวยากรณ์

ตามที่ระบุไว้แล้วรอบกับพารามิเตอร์ที่มีการใช้ในการใช้งานที่ระบุว่า "ช่องว่าง" ในการที่จะทำงานร่วมกับ ดังนั้นจึงสามารถเป็นอาร์เรย์ของตัวเลขวันของสัปดาห์, บทกวีแถวและม. D.

2 การออกแบบรูปแบบที่แยก: เพิ่มขึ้นจากเคาน์เตอร์และการลดลงของ การออกแบบครั้งแรกจะสะกดออกมาในลักษณะดังต่อไปนี้:

สำหรับ iskh.peremennaya: = 1 ชายแดนไปยังชายแดน 2 ทำ

เริ่มต้น

ร่างกายห่วง;

จบ;

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

สำหรับ iskh.peremennaya = 1 downto ชายแดนชายแดน 2 ทำ

เริ่มต้น

ร่างกายห่วง;

จบ;

นี่อ้าง ตัวแปรที่จะลดลงในทีละ 1

รูปแบบของพารามิเตอร์รอบ For ... กับ ... ทำจะเป็นดังนี้:

  • มันตั้งค่าขีด จำกัด บนของช่วงเวลาที. อี 2 เขตแดน
  • Iskh.peremennoy กำหนดวงเงินค่า 1
  • ทดสอบเงื่อนไขผ่าน: iskh.peremennaya ≤ 2 เขตแดน
  • เมื่อได้รับผลที่แท้จริง (True) ร่างกายห่วงจะถูกดำเนินการ
  • เคาน์เตอร์จะเพิ่มขึ้นจากขั้นตอนที่เท่ากับ 1
  • รายการที่ 3-5 ไปอย่างราบรื่นจนกว่าจะถึงเวลาเช่นเงื่อนไขเป็นจริง: iskh.peremennaya> 2 เขตแดน ครั้งนี้ได้เกิดขึ้นในวงที่มีการออกและการควบคุมผ่านคำสั่งดังต่อไปนี้ได้รับการออกแบบ

สำหรับ ... downto ... ทำขั้นตอนวิธีการคล้ายกับข้างต้นยกเว้นไม่กี่จุด:

  • ในขั้นตอนที่ 3 อยู่ในสภาพที่มีการทดสอบ: iskh.peremennaya ชายแดน≥ 2
  • เคาน์เตอร์อัลกอริทึมเส้นที่ 5 เป็น decremented โดย 1
  • ในย่อหน้าที่ 6 3-5 ทีมจะถูกดำเนินการเป็นเวลานานเป็นเงื่อนไขที่พอใจ: iskh.peremennaya <ชายแดน 2

ทุกสิ่งทุกอย่างเป็นที่คล้ายกันในการทำงานทั้งในขั้นตอนวิธีการ

พารามิเตอร์วงจรผัง

รอบกับพารามิเตอร์มีผังรูปแบบ (แม้ว่ามันจะถูกนำเสนอข้างต้นแล้ว) นี่คือโครงสร้างที่เรียบง่าย

ความต้องการขั้นพื้นฐานพารามิเตอร์ของวงจร

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

  • เคาน์เตอร์และช่วงเวลาเขตแดน (t. อี Iskh.peremennaya ขอบเขต 1 และขอบเขต 2) ต้องเป็นชนิดข้อมูลเดียวกัน หากมีการทำงานร่วมกันระหว่างค่าเริ่มต้นและครั้งสุดท้ายของส่วนและตัวแปรอ้างอิงโปรแกรมอาจทำงานไม่ถูกต้องเพราะขอบเขตจะถูกเปลี่ยนไปตามประเภทของพารามิเตอร์ข้อมูลเบื้องต้น
  • ประเภทของข้อมูลที่ควรจะเป็นของค่าพารามิเตอร์ต้องเป็นจำนวนเต็ม มันจะไม่แนะนำให้ใช้ชนิดที่แท้จริง
  • เปลี่ยนค่าในวง iskh.peremennaya แรงเป็นที่พึงปรารถนา มิฉะนั้นผู้ใช้แทบจะไม่สามารถติดตามข้อผิดพลาดได้ปรากฏตัวขึ้น
  • ซึ่งแตกต่างจากชนิดอื่น ๆ ของวงจรใน For ... กับ ... ทำหรือ สำหรับ ... downto ... ทำขั้นตอนที่ไม่สามารถเปลี่ยนแปลงได้ การตั้งค่าอื่นเกิน 1

เทอร์โบปาสคาล: วิธีการรับออกจากวง

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

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

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

ขั้นตอนการหยุดลดหลักการการดำเนินงานต่อไปนี้: โปรแกรมการทำงานเต็มรูปแบบปลาย

ตัวอย่างของงานที่จะตัดสินใจ

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

วัตถุประสงค์ 1

ได้รับอาร์เรย์สองมิติของจำนวนเต็มในช่วง [0..199] สุ่มเลือก พบจำนวนทั้งหมดตัวเลขสองหลักที่มีผลรวมของตัวเลขมีหลาย 2

อัลกอริทึมคือ:

  1. สร้างอาร์เรย์สองมิติ
  2. ตรวจสอบหมายเลขเพื่อให้สอดคล้องกับเงื่อนไขต่อไปนี้แต่ละ:

ก) ถ้า 9

ข) เลือกหมายเลขหลักที่สองโดยการหารโดย mod;

ค) ที่จะวางลงเบอร์จัดสรรของพวกเขา;

d) หารด้วยจำนวนเงินที่กำหนดไว้ mod 2;

จ) ถ้าผลที่ได้จะมีค่าเท่ากับ 0, เคาน์เตอร์จะเพิ่มขึ้นโดยที่ 1

งานที่ 2

กำหนดอาร์เรย์หนึ่งมิติขององค์ประกอบจำนวนเต็ม พบจำนวนของตัวเลขในเชิงบวก

อัลกอริทึมคือ:

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

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

ในบรรทัดที่ 12 เคาน์เตอร์ตัวแปรนอกจากนี้ยังสามารถเพิ่มขึ้นในสองวิธีทั้งค่าก่อนหน้านี้ที่จะเพิ่ม 1 หรือใช้ฟังก์ชั่นอิงค์มาตรฐาน

งาน 3

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

คำอธิบาย:

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

อัลกอริทึมคือ:

  1. สร้างตารางเมทริกซ์
  2. กำหนดตัวแปรที่รับผิดชอบในการนับจำนวนขององค์ประกอบในเชิงบวกค่า "0"
  3. สร้างวงจรการสร้างตารางเมทริกซ์
  4. จัดระเบียบเงื่อนไขการตรวจสอบวงจร: ถ้าจำนวนที่อยู่บนเส้นทแยงมุมหลัก> 0 แล้วที่เคาน์เตอร์จะเพิ่มขึ้นโดยที่ 1
  5. หลังจากที่หมดอายุของวงจรบนหน้าจอเพื่อแสดงค่าของตัวแปรที่เก็บจำนวนขององค์ประกอบบวก

การเผชิญหน้าระหว่างสองภาษาการเขียนโปรแกรม: C และเทอร์โบปาสคาล

ตามกฎโปรแกรมเมอร์เคารพตัวเองรู้หลายภาษา ยกตัวอย่างเช่นมันอาจจะเป็น C ++ เทอร์โบปาสคาลเดลฟี, Java, และอื่น ๆ . D. การเผชิญหน้าระหว่างสองของพวกเขาได้เด่นชัดใน 80 โอบอุ้ม (C และเทอร์โบปาสคาล) ในตอนท้ายของศตวรรษที่ยี่สิบเช่นการต่อสู้ก็สังเกตเห็นระหว่าง C ++ และ Java

ในพื้นที่เสมือนในสามของการเขียนโปรแกรมภาษาโหลมีสามคู่ที่โดดเด่นที่สุดซึ่งฝ่ายค้านจะตีจิตใจที่ยิ่งใหญ่ที่สุดของโลกไซเบอร์: Algol 60 และ Fortran, Pascal, C, Java และ C ++ แน่นอนความรู้สึกเหล่านี้มีวิสัย แต่ในครั้งเดียวหรือหนึ่งในคู่อื่นเป็นผู้นำ เพราะนี่คือความต้องการของอุตสาหกรรมและความจำเป็นในผลิตภัณฑ์ซอฟต์แวร์โดยเฉพาะอย่างยิ่ง ใน 70 โอบอุ้ม "โลกที่ปกครอง" Fortran, ใน 80 - เทอร์โบปาสคาลใน 90 - c ++ แน่นอนไม่มีของพวกเขา "เสียชีวิต" แต่พวกเขาจะกลายเป็นผลิตภัณฑ์ซอฟต์แวร์ที่ซับซ้อน

ในการศึกษาการเขียนโปรแกรมภาษาที่คุณอาจสังเกตเห็นว่ารูปแบบบางไวยากรณ์ที่คล้ายกัน ดังนั้นรอบกับพารามิเตอร์ใน C มีความคล้ายคลึงกับโครงสร้างที่คล้ายกันใน Pascal ยกเว้นสำหรับบางช่วงเวลา

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 th.delachieve.com. Theme powered by WordPress.