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

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

รอบด้วยพารามิเตอร์

ประเภทของวัฏจักร

ทั้งหมดมีสามสายพันธุ์:

  • ด้วยพารามิเตอร์,
  • ด้วยเงื่อนไขเบื้องต้น
  • กับ postcondition

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

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

ความหมายพื้นฐานในหัวข้อ

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

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

สำหรับ ... to ... do: อัลกอริทึม, ไวยากรณ์

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

มี 2 ​​แบบก่อสร้าง: เพิ่มเมตรและลด การก่อสร้างครั้งแรกจะเขียนเป็นดังนี้:

สำหรับ iskh.peremennaya : = ขอบเขต 1 ไปยัง ขอบเขต 2 ทำ

เริ่มต้น

ร่างกายของวงจร;

จบ;

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

สำหรับ iskh.peremennaya : = ขอบเขต 1 downto ขอบเขต 2 ทำ

เริ่มต้น

ร่างกายของวงจร;

จบ;

นี่คือ ref ตัวแปรจะลดลงในขั้นตอนที่ 1

รูปแบบของวัฏจักรที่มีพารามิเตอร์ For ... to ... do จะมีลักษณะดังนี้:

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

ใน For ... downto ... do อัลกอริทึมทำงานคล้ายกับข้างต้นยกเว้นบางรายการ:

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

รอบที่มีพารามิเตอร์

ส่วนที่เหลือทั้งหมดมีความคล้ายคลึงกันในทั้งสองขั้นตอนของการทำงาน

แผนภาพบล็อกของวัฏจักรที่มีพารามิเตอร์

วงจรที่มีพารามิเตอร์มีแผนภาพบล็อกต่อไปนี้ (แม้ว่าจะมีการแสดงไว้ด้านบนแล้ว) นอกจากนี้เรายังแสดงโครงสร้างองค์กรที่เรียบง่าย

รอบด้วยพารามิเตอร์หมายถึง

ความต้องการขั้นพื้นฐานสำหรับวัฏจักรที่มีพารามิเตอร์

รอบกับพารามิเตอร์ต้องมีเงื่อนไขบางอย่าง

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

Turbo Pascal: วิธีออกจากลูป

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

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

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

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

ตัวอย่างงานที่มีโซลูชัน

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

ภารกิจ 1

ให้อาร์เรย์สองมิติของจำนวนธรรมชาติในช่วง [0..199] ซึ่งถูกสุ่มเลือก ค้นหาจำนวนของตัวเลขสองหลักทั้งหมดที่มีผลรวมของตัวเลขเป็นตัวเลขหลายข้อจาก 2

อัลกอริทึมของการกระทำ:

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

a) ถ้า 9 <X <100 แล้วหารทั้งหมด 10 โดย div;

b) จัดสรรตัวเลขที่สองของตัวเลขโดยการหารด้วย mod;

c) เพิ่มตัวเลขที่เน้น;

d) หาร mod ตามจำนวนที่กำหนดโดย 2;

e) ถ้าผลเป็น 0 จากนั้นตัวนับจะเพิ่มขึ้นทีละ 1

รอบกับตัวอย่างพารามิเตอร์งาน

ภารกิจ 2

มีอาร์เรย์มิติเดียวขององค์ประกอบจำนวนเต็ม ค้นหาจำนวนบวก

อัลกอริทึมของการกระทำ:

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

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

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

รอบด้วยพารามิเตอร์ในตัวอย่าง pascal

ภารกิจ 3

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

คำอธิบาย:

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

อัลกอริทึมของการกระทำ:

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

รอบที่มีพารามิเตอร์ในการเขียนโปรแกรม Pascal

การเผชิญหน้าของสองภาษาโปรแกรม: C และ Turbo Pascal

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

รอบด้วยพารามิเตอร์ใน c

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

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

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

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