อาร์เรย์ใน "ปาสกาล" โปรแกรมสำหรับอาร์เรย์ใน Pascal

สารบัญ:

อาร์เรย์ใน "ปาสกาล" โปรแกรมสำหรับอาร์เรย์ใน Pascal
อาร์เรย์ใน "ปาสกาล" โปรแกรมสำหรับอาร์เรย์ใน Pascal
Anonim

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

การมีอยู่ของตัวแปรที่แตกต่างกันจำนวนมาก

อาร์เรย์ใน Pascal
อาร์เรย์ใน Pascal

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

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

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

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

การใช้อาร์เรย์สามารถลดขนาดโค้ดได้อย่างมาก

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

อาร์เรย์หนึ่งมิติหมายความว่าอย่างไร

อาร์เรย์ในปาสกาล
อาร์เรย์ในปาสกาล

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

หากต้องการอธิบายอาร์เรย์หนึ่งมิติใน "ปาสกาล" เพียงป้อนรหัสต่อไปนี้: Type Array of.

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

อาร์เรย์เชิงเส้นอธิบายอย่างไร

สามารถอธิบายอาร์เรย์หนึ่งมิติใน "ปาสกาล" ได้ทันที ต้องทำในส่วนพิเศษซึ่งจำเป็นสำหรับขั้นตอนเฉพาะนี้ คุณจะต้องป้อนรหัสต่อไปนี้: Var: Array Of.

เพื่อให้เข้าใจว่าคุณสามารถอธิบายอาร์เรย์ใน "ปาสกาล" ได้อย่างไร คุณควรป้อนรหัสต่อไปนี้:

- Var

- S, VV: Array[5.5.50] Of Real;

- K: Array[‘C’.. ‘R’] Of Integer;

- Z: Array [-10..10] Of Word;

- E: อาร์เรย์ [3..30] ของจริง

ในตัวอย่างนี้ ตัวแปร S, VV และ T เป็นอาร์เรย์ของตัวเลขที่เป็นจำนวนจริง ตัวแปร K ซ่อนประเภทอักขระและองค์ประกอบเหล่านั้น ซึ่งเป็นจำนวนเต็ม อาร์เรย์ Z เก็บตัวเลขที่เป็นประเภท Word

ในบรรดาการกระทำทั้งหมดที่สามารถใช้ได้เมื่อทำงานกับอาร์เรย์ สามารถแยกแยะการมอบหมายได้ ตารางทั้งหมดสามารถอยู่ภายใต้มัน ตัวอย่างเช่น S:=VV แต่ควรเข้าใจว่าการมอบหมายงานต้องอยู่ภายใต้อาร์เรย์ใน "ปาสกาล" ที่มีบางประเภทเท่านั้น

ไม่มีการดำเนินการใดที่สามารถทำได้ในอาร์เรย์ทั้งหมดพร้อมกันในครั้งเดียว อย่างไรก็ตาม คุณสามารถทำงานกับองค์ประกอบในลักษณะเดียวกับจำนวนเฉพาะอื่นๆ ที่มีประเภทที่แน่นอนได้ ในการอ้างถึงพารามิเตอร์แต่ละรายการ คุณต้องระบุชื่อของอาร์เรย์ โดยใช้วงเล็บเหลี่ยม คุณต้องกำหนดดัชนีที่เป็นคุณลักษณะขององค์ประกอบที่ต้องการ ตัวอย่างเช่น: K[12].

ความแตกต่างหลักระหว่างอาร์เรย์และตัวแปรอื่นๆ

งานปาสกาลอาร์เรย์
งานปาสกาลอาร์เรย์

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

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

  1. ตัวแปรสตริงสามารถป้อนจากแป้นพิมพ์และพิมพ์บนหน้าจอได้ตลอดเวลา
  2. ตัวแปรสตริงมีความยาวจำกัด คุณสามารถป้อนอักขระได้สูงสุด 255 ตัว ขนาดที่สำคัญของอาร์เรย์คือ 64 kb

วิธีใดที่ใช้แสดงข้อมูลอาร์เรย์บนหน้าจอได้

คุณควรใส่ใจกับวิธีการแสดงเนื้อหาของอาร์เรย์ มีหลายตัว

  1. เขียน (A[1], A[2], A[3]). ตัวอย่างดังกล่าวแม้จะเป็นแบบดั้งเดิม แต่ก็สามารถแสดงให้เห็นว่าคุณสามารถเข้าถึงแต่ละองค์ประกอบที่มีอยู่ในตารางได้โดยตรงอย่างไร อย่างไรก็ตาม ข้อดีบางประการที่อาร์เรย์ Pascal มีเหนือตัวแปรอย่างง่ายจะไม่ปรากฏให้เห็นที่นี่
  2. โปรแกรม A1;

    Var B: Array [1..10] Of Integer;

    K: Integer;

    Begin

    For K:=1 ถึง 10 Do {คำสั่งนี้วนซ้ำด้วยพารามิเตอร์ }

    Readln(A[K]); {A[I] กำลังถูกป้อนโดยใช้แป้นพิมพ์ }

    For K:=10 Downto 1 Do {ตารางกำลังถูกพิมพ์ในลำดับย้อนกลับ}

    Write(A[K], 'VVV') จบ

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

เพิ่มความเป็นไปได้ด้วยการใช้อาร์เรย์

โปรแกรมอาร์เรย์ใน pascal
โปรแกรมอาร์เรย์ใน pascal

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

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

อะไรซ่อนอยู่ภายใต้อาร์เรย์สองมิติ

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

จะอธิบายตารางแบบนี้ยังไง

งาน อาร์เรย์ปาสกาล
งาน อาร์เรย์ปาสกาล

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

  1. Var B: Array[1..15] Of Array [1..30] Of Integer;
  2. Var B: Array [1..15, 1.3.0] Of Integer.

ในกรณีเหล่านี้ มีการอธิบายอาร์เรย์สองมิติ ซึ่งมี 15 แถวและ 30 คอลัมน์ คำอธิบายที่ให้ไว้ข้างต้นนั้นเทียบเท่ากันโดยสิ้นเชิง ในการเริ่มทำงานกับองค์ประกอบใดองค์ประกอบหนึ่ง จำเป็นต้องจัดสรรสองดัชนี ตัวอย่างเช่น A[6][5] หรือ A[6, 5].

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

วิธีแรกในการจัดเรียง

อาร์เรย์หนึ่งมิติใน pascal
อาร์เรย์หนึ่งมิติใน pascal

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

วิธีการจัดเรียงอาร์เรย์ที่สอง

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

สรุป

การแก้อาร์เรย์ใน pascal
การแก้อาร์เรย์ใน pascal

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

แนะนำ: