صفيف في "باسكال". برامج المصفوفات في باسكال

جدول المحتويات:

صفيف في "باسكال". برامج المصفوفات في باسكال
صفيف في "باسكال". برامج المصفوفات في باسكال
Anonim

يزداد الاهتمام بالبرمجة كل عام. وإذا كانت المؤسسات المتخصصة في كتابة البرامج تعتمد على لغة برمجة مثل C ++ ، فإن الطلاب في المدارس والمدارس الفنية يتعرفون على لغة "باسكال". وعلى أساس هذه اللغة ، بدأوا في فهم البرمجة من خلال استخدام برنامج دلفي. وتجدر الإشارة على الفور إلى أن لغات البرمجة هذه توفر مساحة كبيرة لإظهار خيالهم. وإذا تمكنت بمساعدة لغة باسكال من التعرف على المفاهيم الأساسية للبرمجة ، فعندئذٍ في دلفي يمكنك بالفعل كتابة برنامج كامل. ومكان مهم جدًا في كتابة البرامج يشغل أحيانًا حل المصفوفات في "باسكال".

وجود عدد كبير من المتغيرات المختلفة جدا

مجموعة في باسكال
مجموعة في باسكال

هناك الكثير من المتغيرات المختلفة في لغة البرمجة ، والتي تتميز بوجود قيمة واحدة فقط. إنهم قادرون على تخزين قيمة واحدة لها نوع معين. متغيرات السلسلة هي الاستثناء. هم انهمعبارة عن مجموعة من تلك البيانات التي يكون نوع الحرف مميزًا لها. ولكن حتى هذه المتغيرات عادة ما يتم اعتبارها من موضع قيمة منفصلة.

ليس سراً أنه بمساعدة الكمبيوتر يمكنك تقليل الوقت بشكل كبير لأداء عمل معين متعلق بكميات كبيرة من البيانات. ولكن كيف ، عند استخدام تلك المتغيرات التي لها أنواع معروفة للبشر فقط ، هل من الممكن تخزين نتائج العمل في الذاكرة ، وكذلك معالجة تلك البيانات التي تحتوي على عدد كبير من الصفوف؟ مثل هذه المهام شائعة جدًا في أي مجال من مجالات النشاط.

بالطبع ، يمكنك دائمًا إدخال العديد من المتغيرات التي تحتاجها لتحقيق أهدافك. يمكنك أيضًا تحديد بعض القيم لهم. لكن رمز البرنامج سيزيد فقط من هذا. من الصعب قراءة الكود الذي يحتوي على عدد كبير من الأسطر. خاصة عندما يكون من الضروري إيجاد الأخطاء.

بناءً على ذلك ، فكر المبرمجون في هذا السؤال. هذا هو السبب في أن اللغات التي تم تطويرها حتى الآن بها مثل هذه المتغيرات التي تجعل من الممكن تخزين كمية هائلة من البيانات في حد ذاتها. لقد تغيرت المصفوفة في "باسكال" كثيرًا في نهج البرمجة. لذلك ، يعتبر متغيرًا مهمًا في لغة البرمجة.

يمكن أن يؤدي استخدام المصفوفات إلى تقليل حجم الشفرة بشكل كبير

تحت هذا المصطلح يتم إخفاء تسلسل منظم للبيانات ، والذي يتميز بنوع واحد. بالإضافة إلى ذلك ، تحصل كل هذه البيانات على نفس الاسم. ينبغي أيضاتجدر الإشارة إلى أن العديد من كائنات العالم الحقيقي يمكن أن تناسب هذا التعريف: القواميس والرسوم المتحركة وغير ذلك الكثير. ومع ذلك ، فإن أسهل طريقة لتقديم مصفوفة في "باسكال" هي في شكل نوع من الجداول. تحتوي كل خلية فردية على متغير واحد. باستخدام الإحداثيات ، يمكنك تحديد موضع المتغير الذي سيشغله في الجدول العام.

ماذا تعني مصفوفة أحادية البعد؟

المصفوفات في باسكال
المصفوفات في باسكال

أبسط جدول هو الجدول الخطي. في هذه المصفوفة ، لتحديد موقع المعلمة ، يكفي تحديد رقم واحد فقط. يتم تشكيل مصفوفات أكثر تعقيدًا بناءً عليها.

لوصف المصفوفات أحادية البعد في "باسكال" ، فقط أدخل الكود التالي: Type Array of.

الأرقام هي تلك المتغيرات التي يمكن أن يكون لها نوع ترتيبي. عند تحديد نطاق ، يجدر بنا أن نفهم أن الرقم الأولي لا يمكن أن يكون أعلى من الرقم الأخير. يمكن أن يكون النوع الذي تحتويه عناصر المصفوفة أي شيء على الإطلاق - سواء كان قياسيًا أو تم وصفه مسبقًا. يعتمد الاختيار على الحاجة إلى حل مشكلة معينة.

كيف يتم وصف المصفوفة الخطية؟

من الممكن وصف المصفوفات أحادية البعد على الفور في "باسكال". يجب أن يتم ذلك في قسم خاص ، وهو أمر ضروري لهذا الإجراء بالذات. ستحتاج إلى إدخال الكود التالي: Var: Array Of.

لفهم كيف يمكنك وصف مصفوفة في باسكال ، يجب عليك إدخال الكود التالي:

- Var

- S، VV: صفيف [5..50] من Real؛

- K: Array ['C'.. 'R'] Of Integer؛

- Z: صفيف [-10..10] من Word ؛

- E: صفيف [3..30] من Real.

في هذا المثال ، المتغيرات S و VV و T هي مصفوفة من تلك الأرقام الحقيقية. المتغير K يخفي نوع الحرف وتلك العناصر. وهي أعداد صحيحة. تخزن المصفوفة Z الأرقام التي يكون نوعها Word.

من بين جميع الإجراءات التي يمكن استخدامها عند العمل مع مصفوفة ، يمكن تمييز المهمة. يمكن أن يخضع لها الجدول بأكمله. على سبيل المثال ، S:=VV. لكن يجب أن يكون مفهوماً أن عمليات الإسناد يمكن أن تخضع فقط لمصفوفة في "باسكال" لها نوع معين.

لا يوجد المزيد من العمليات التي يمكن إجراؤها على المصفوفة بأكملها مرة واحدة. ومع ذلك ، يمكنك العمل مع العناصر بنفس الطريقة التي تعمل بها مع الأعداد الأولية الأخرى التي لها نوع معين. للإشارة إلى معلمة فردية ، يجب تحديد اسم المصفوفة. باستخدام الأقواس المربعة ، يجب تحديد الفهرس الذي يميز العنصر المطلوب. على سبيل المثال: K [12].

الاختلافات الرئيسية بين المصفوفات والمتغيرات الأخرى

مصفوفات باسكال المهمة
مصفوفات باسكال المهمة

الاختلاف الأساسي بين مكونات الجدول والمتغيرات البسيطة هو أنه من الممكن وضع بين قوسين ليس فقط قيمة الفهرس ، ولكن أيضًا مثل هذا التعبير الذي يمكن أن يؤدي إلى القيمة المطلوبة. مثال على العنونة غير المباشرة قد يكون: V [K]. في هذه الحالة ، يأخذ المتغير K قيمة معينة. من هذاويترتب على ذلك أنه يمكنك استخدام حلقة عند ملء ومعالجة وطباعة المصفوفة.

يمكن أن يحدث هذا الشكل من التنظيم في حالة متغيرات السلسلة التي تكون قريبة بدرجة كافية في خصائصها من مصفوفات من النوع Char. لكن هناك اختلافات أيضًا. هم كالتالي:

  1. يمكن دائمًا إدخال متغيرات السلسلة من لوحة المفاتيح وطباعتها على الشاشة.
  2. متغيرات السلسلة محدودة الطول. يمكنك إدخال 255 حرفًا كحد أقصى. الحجم الحرج للمصفوفة هو 64 كيلو بايت.

ما هي الطرق التي يمكن استخدامها لعرض بيانات المصفوفة على الشاشة؟

يجب الانتباه إلى طريقة عرض محتويات المصفوفة. هناك عدة.

  1. Writeln (A [1] ، A [2] ، A [3]). مثل هذا المثال ، على الرغم من كونه بدائيًا ، قادر على إظهار كيف يمكنك الوصول مباشرة إلى كل عنصر فردي متأصل في الجدول. ومع ذلك ، فإن بعض المزايا التي تتمتع بها مصفوفات باسكال مقارنة بالمتغيرات البسيطة غير مرئية هنا.
  2. Program A1 ؛

    Var B: صفيف [1..10] من عدد صحيح ؛

    K: عدد صحيح ؛

    ابدأ

    لـ K:=1 إلى 10 افعل {هذا الأمر حلقات مع المعلمة}

    Readln (A [K]) ؛ يتم إدخال {A [I] باستخدام لوحة المفاتيح}

    لـ K:=10 Downto 1 Do {تتم طباعة الجدول بترتيب عكسي}

    اكتب (A [K]، 'VVV') نهاية

رمز مشابه لبرنامج المصفوفات في "باسكال" يوضح كيف يمكنك إدخال 10 أرقام باستخدام لوحة المفاتيح ، وطباعتها ، وإعادة ترتيب القيم بترتيب عكسي. إذا تم إعادة كتابة نفس البرنامج منباستخدام عدد كبير من المتغيرات بدلاً من المصفوفة ، سيتم زيادة الرمز بشكل كبير. وهذا يعقد بشكل كبير عملية قراءة البرنامج.

زيادة الاحتمالات من خلال استخدام المصفوفات

برنامج مجموعة في باسكال
برنامج مجموعة في باسكال

من الممكن أيضًا ملء الجداول بقيم تساوي مربع مؤشرات العناصر. من الممكن أيضًا إنشاء مثل هذه المجموعة من السلاسل في "باسكال" ، والتي ستسمح بإدخال جميع الأرقام تلقائيًا. كما ترى ، فإن استخدام مصفوفة يعزز بشكل كبير من قدرات لغة برمجة باسكال.

معالجة المصفوفات الخطية شائعة جدًا في المهام المختلفة. لذلك لا غرابة في كونهم يدرسون في المعاهد والمدارس. بالإضافة إلى ذلك ، فإن الاحتمالات التي تحملها المصفوفات واسعة جدًا.

ما هو مخفي تحت المصفوفات ثنائية الأبعاد؟

يمكنك تخيل جدول يتكون من عدة صفوف في وقت واحد. يحتوي كل صف فردي على عدة خلايا. في مثل هذه الحالة ، من أجل تحديد موضع الخلايا بدقة ، من الضروري تحديد ليس فهرسًا واحدًا ، كما كان الحال مع المصفوفات الخطية ، ولكن رقمين - وهما رقمان يميزان صفًا وعمودًا. المصفوفات ثنائية الأبعاد في "باسكال" تتميز بتمثيل مشابه.

كيف تصف جداول من هذا النوع؟

مهام صفيفات باسكال
مهام صفيفات باسكال

بنية البيانات الموجودة في لغة باسكال لتخزين قيم مثل هذا الجدول هياسم مصفوفة ثنائية الأبعاد. وصف مثل هذه المصفوفة ممكن على الفور باستخدام طريقتين.

  1. Var B: Array [1..15] Of Array [1..30] من عدد صحيح ؛
  2. Var B: صفيف [1..15، 1..30] من عدد صحيح.

في كل هذه الحالات ، يتم وصف مصفوفة ثنائية الأبعاد ، تحتوي على 15 صفًا و 30 عمودًا. تلك الأوصاف التي تم تقديمها أعلاه متكافئة تمامًا. لبدء العمل مع أي عنصر من العناصر ، من الضروري تخصيص مؤشرين. على سبيل المثال ، أ [6] [5] أو أ [6 ، 5].

سيكون الإخراج إلى الشاشة هو نفسه تقريبًا كما في حالة المصفوفة أحادية البعد. ما عليك سوى تحديد فهرسين. من جميع النواحي الأخرى ، لا توجد اختلافات على هذا النحو ، لذلك لا داعي للحديث عنها لفترة طويلة.

الطريقة الأولى للفرز

المصفوفات أحادية البعد في باسكال
المصفوفات أحادية البعد في باسكال

في بعض الأحيان يصبح من الضروري فرز البيانات. لهذا ، اللغة لديها أوامر مقابلة. هناك نوعان من الخوارزميات التي يمكن من خلالها فرز المصفوفة في باسكال. يكمن معنى طريقة التحديد المباشر في حقيقة أنه من خلال تداخل الحلقة ، ستتم مقارنة كل متغير في الجدول مع القيم الأخرى. بمعنى آخر ، إذا كانت هناك مصفوفة من 15 رقمًا ، فسيتم مقارنة الرقم الأول بأرقام أخرى. سيحدث هذا حتى يتم العثور على العنصر الأكبر من الرقم الأول ، على سبيل المثال. في وقت لاحق ، ستتم المقارنة بالضبط هذا الرقم. سوف يتكرر هذا حتى يتم العثور على الأكبر.عنصر من كل المقترحة. هذه الطريقة بسيطة جدًا لأولئك المبرمجين الذين بدأوا للتو العمل في اللغة.

طريقة فرز المصفوفة الثانية

الطريقة الثانية هي الفقاعة. يكمن جوهر هذه التقنية في حقيقة أن العناصر المجاورة تتم مقارنتها في أزواج. على سبيل المثال ، 1 و 2 و 2 و 3 و 3 و 4 ، إلخ. في حالة توافق القيمة التي تم العثور عليها تمامًا مع شروط الفرز ، سيتم نقلها إلى نهاية المصفوفة بأكملها ، أي ستظهر على شكل "فقاعة". هذه الخوارزمية هي الأكثر صعوبة في التذكر. ومع ذلك ، لا تحتاج إلى طحنها. الشيء الرئيسي هو فهم البنية الكاملة للشفرة. وفقط في هذه الحالة يمكن للمرء أن يدعي تحقيق ارتفاعات كبيرة في البرمجة.

الخلاصة

حل المصفوفات في باسكال
حل المصفوفات في باسكال

نأمل أن تفهم ماهية المصفوفات وكيف يمكنك الفرز للعثور على قيمة محددة أو تحقيق هدف معين. إذا اخترت "Pascal" لحل مشكلة معينة ، حيث تحتل المصفوفات مكانًا مهمًا ، فستحتاج إلى التعامل مع دراستها بدقة. يتأثر هذا بعامل مثل التواجد في اللغة لعدد كبير بدرجة كافية من المتغيرات المستخدمة في مواقف معينة لتبسيط الكود بأكمله. تعتبر المصفوفات الكميات الرئيسية بحق ، ويجب أن تتم دراستها دون فشل.

موصى به: