أنواع البيانات الصحيحة. باسكال

البيانات هي مفهوم عام لكل ما تعمل به. آلة حاسبة. يحدد أي نوع بيانات مجموعة القيم التي يمكن أن يأخذها متغير معين والعمليات التي يمكن تطبيقها عليها، ويجب أن يرتبط كل متغير يتم مواجهته في البرنامج بنوع واحد فقط.

هناك نوعان من الأنواع البسيطة في باسكال: الأنواع الترتيبية والأنواع الحقيقية. يتم تعريف النوع الترتيبي بواسطة المبرمج (نوع التعداد أو نوع النطاق) أو تتم الإشارة إليه باسم أحد الأنواع الترتيبية الثلاثة المحددة مسبقًا: Boolean أو Integer أو Char. يُشار إلى النوع الحقيقي باسم النوع الإلزامي Real.

يتميز النوع المعدود بالعديد من القيم المختلفة التي يحتوي عليها، ومن بينها يتم تحديد ترتيب خطي. يتم تحديد القيم نفسها بأسماء في تعريف هذا النوع.

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

أنواع البيانات الترتيبية

يصف نوع البيانات الترتيبي مجموعة محددة ومرتبة من القيم. يتم تعيين هذه القيم لتسلسل الأرقام الترتيبية 0,1,2,...; يتم إجراء استثناء فقط للأعداد الصحيحة الترتيبية، التي ترتبط بنفسها. كل نوع ترتيبي له قيمة الحد الأدنى والحد الأقصى. لجميع القيم ما عدا الحد الأدنى هناك قيمة سابقة، ولكل القيم ما عدا الحد الأقصى هناك قيمة لاحقة.

تقبل الوظائف الموصوفة succ، pred، ord الوسائط من أي نوع من الأنواع الترتيبية:
succ(X) - يعطي القيمة الترتيبية التالية بعد X
pred(X) - يعطي القيمة الترتيبية التي تسبق X
ord(X) - يعطي الرقم الترتيبي لـ X

بالنسبة لجميع الأنواع الترتيبية، هناك عوامل علائقية = و = و > ، بافتراض أن كلا المعاملين من نفس النوع.

نوع منطقي

القيمة المنطقية هي إحدى قيمتي الحقيقة، ويُشار إليها بالأسماء المحددة مسبقًا false و true .

هناك العمليات المنطقية التالية التي تعطي قيمة منطقيةعند تطبيقها على المعاملات المنطقية:
و - منطقي و
أو - منطقي أو
لا - منطقية لا

أيضًا، أي من العمليات العلائقية (=، =، >، in) تنتج نتيجة منطقية.

بالإضافة إلى ذلك، يتم تعريف النوع المنطقي بحيث يكون خطأ

هناك أيضًا وظائف منطقية محددة مسبقًا (أي الوظائف التي تعطي نتيجة منطقية):
فردي (F) - صحيح إذا كان العدد الصحيح هو F-فردي وتكون النتيجة خاطئة إذا كان F-زوجيًا
eoln(F) - فحص نهاية السطر
eof(F) - فحص نهاية الملف

نوع عدد صحيح

يتضمن نوع الأعداد الصحيحة مجموعة متنوعة من الأعداد الصحيحة.

عند العمل مع المعاملات الصحيحة، ما يلي عمليات حسابيةإعطاء قيم صحيحة:
* - عمليه الضرب
div - جزء صحيح من القسمة
وزارة الدفاع - ما تبقى من القسمة
+ - إضافة
- - الطرح

لدى باسكال أيضًا ثابت محدد مسبقًا يسمى MaxInt، والذي يحتوي على الحد الأقصى لقيمة عدد صحيح ويساوي 32767

يتم تحقيق النتيجة بأكملها أيضًا من خلال أربع وظائف مهمة محددة:
abs(I) - القيمة المطلقة للقيمة الصحيحة I
sgr(I) - القيمة الصحيحة لـ I تربيع نظرًا لأنني trunc(R) - تعطي الجزء الصحيح من الرقم الحقيقي R
round(R) - يُرجع عددًا صحيحًا مستديرًا. في هذه الحالة: بالنسبة لـ R>0 يعني الجذع (R+0.5)، وبالنسبة لـ R

إذا كانت I قيمة عددية، فإن:
succ(I) - يعطي القيمة الصحيحة التالية (I+1)
pred(I) - يعطي قيمة العدد الصحيح السابقة (I-1)

نوع الحرف (شار)

قيم Char هي عناصر مجموعة محدودة ومنظمة من الأحرف. يتم تمثيل القيم من هذا النوع بحرف واحد محاط بعلامات اقتباس مفردة (الفواصل العليا). إذا كانت هناك حاجة إلى الفاصلة العليا نفسها، يتم كتابتها مرتين.
أمثلة: "*" "G" "3" """" "X"

    بالنسبة لنوع Char، يتم تطبيق الحد الأدنى من الافتراضات التالية:
  1. يتم ترتيب الأرقام العشرية من 0 إلى 9 وفقًا لقيمها الرقمية وتتبع بعضها البعض (على سبيل المثال، succ("5") = "6").
  2. قد تكون هناك أحرف كبيرة من "A" إلى "Z"؛ إذا كان الأمر كذلك، فسيتم ترتيبها أبجديًا، ولكن ليس بالضرورة أن تتبع بعضها البعض (على سبيل المثال، "أ"
  3. قد تكون هناك أحرف صغيرة من "a" إلى "z"؛ إذا كان الأمر كذلك، فسيتم ترتيبها أبجديًا، ولكن ليس بالضرورة أن تتبع بعضها البعض (على سبيل المثال، "أ"

لتعيين مجموعة معينة من الأحرف إلى أرقام تسلسلية وعكسها، هناك وظيفتان محددتان مسبقًا:
ord(C) - يعطي الرقم الترتيبي للحرف C في مجموعة الأحرف المرتبة المذكورة
chr(I) - يعطي الحرف برقم التسلسل I

بالنسبة للوسائط من النوع Char، يمكن تعريف الوظائف المحددة مسبقًا pred وsucc على النحو التالي:
بريد (C) = مركز حقوق الإنسان (أورد (C) -I)
succ(C) = مركز حقوق الإنسان(أورد(C)+I)

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

النوع الحقيقي

قيم النوع الحقيقي هي عناصر مجموعة فرعية محددة بالتنفيذ من الأعداد الحقيقية.

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

إذا كان أحد المعاملات على الأقل من النوع الحقيقي (يمكن أن يكون الآخر عددًا صحيحًا)، فإن العمليات التالية تعطي نتيجة حقيقية:
* - عمليه الضرب
/ - القسمة (كلا المعاملين يمكن أن يكونا أعدادا صحيحة، ولكن النتيجة دائما حقيقية)
+ - إضافة
- - الطرح

هناك وظائف محددة تعطي نتيجة حقيقية في ضوء وسيطة حقيقية:
القيمة المطلقة (R) - القيمة المطلقة لـ R
sqr(R) - R تربيع إذا كانت النتيجة ضمن نطاق الأعداد الحقيقية

وهذه الوظائف الموصوفة تعطي نتيجة حقيقية باستخدام عدد صحيح أو وسيطة حقيقية:
الخطيئة (X) - يعطي جيب X؛ يتم التعبير عن X بالراديان
cos(X) - يعطي جيب تمام X؛ يتم التعبير عن X بالراديان
arctan(X) - يعطي ظل الزاوية لـ X معبرًا عنه بالراديان
ln(X) - يعطي قيمة اللوغاريتم الطبيعي (الأساسي) لـ X، X>0
exp(X) - يعطي قيمة الدالة الأسية (أي قوة X)
sqrt(X) - يعطي قيمة الجذر التربيعي لـ X، X>=0

تحذير.لا يمكن استخدام الوظائف pred، succ للوسائط الحقيقية. لا يمكنك استخدام قيم من النوع الحقيقي عند فهرسة المصفوفات، للتحكم في حلقة باستخدام معلمة، لتحديد النوع الأساسي للمجموعات، للفهرسة في عامل متغير.

الأكثر شيوعا في الرياضيات أنواع رقمية- هذا جميعالأرقام التي تمثل عدد لا حصر له من القيم المنفصلة، ​​و صالحالأرقام التي تمثل سلسلة متصلة غير محدودة من القيم.

وصف أنواع البيانات الرقمية في باسكال (الأعداد الصحيحة)

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

مع كامل أنواع البيانات الرقميةيستطيع باسكال القيام بالعمليات التالية:

  • علم الحساب:
    إضافة(+);
    الطرح(-);
    عمليه الضرب(*)؛
    باقي القسمة (mod) ؛
    الأسي.
    زائد أحادي (+)؛
    أحادي ناقص (-).
  • عمليات العلاقة:
    علاقة المساواة (=)؛
    علاقة عدم المساواة (<>);
    النسبة أقل(<);
    نسبة أكبر من (>)؛
    علاقة لا تقل عن (>=)؛
    موقف لا أكثر (<=).

عندما يتصرف مع أنواع البيانات الرقمية الصحيحةسيتوافق نوع النتيجة مع نوع المعاملات، وإذا كانت المعاملات من أنواع صحيحة مختلفة، فسوف يتوافق مع نوع المعامل الذي يتمتع بأقصى قوة (النطاق الأقصى للقيم). لا يتم التحكم في التجاوز المحتمل للنتيجة بأي شكل من الأشكال (انه مهم!) ، مما قد يؤدي إلى أخطاء.

ينبغي إيلاء اهتمام خاص لعملية تقسيم أنواع البيانات الرقمية الصحيحة. يسمح باسكال بإجراء عمليتين للقسمة، والتي يتم الإشارة إليها وفقًا لذلك "/" و شعبة. عليك أن تعلم أن نتيجة القسمة "/" ليست عددًا صحيحًا، ولكن عدد حقيقي(وهذا صحيح حتى لو قسمت 8 على 2، أي 8/2=4.0). شعبة القسم هو تقسيم صحيح، أي. نوع النتيجة عدد صحيح.

وصف أنواع البيانات الرقمية في باسكال (الحقيقية)

يشير نوع البيانات الرقمية الحقيقية إلى مجموعة فرعية من الأرقام الحقيقية التي يمكن تمثيلها فيما يسمى بتنسيق النقطة العائمة بعدد ثابت من الأرقام. باستخدام النقطة العائمة، يتم تمثيل كل نوع بيانات رقمي كمجموعتين من الأرقام. المجموعة الأولى من الأرقام تسمى الجزء العشري، والثانية هي الأس. بشكل عام، يمكن تمثيل نوع البيانات الرقمية في شكل الفاصلة العائمة على النحو التالي: X= (+|-)MP (+ | -) r، حيث M هو الجزء العشري للرقم؛ ص - ترتيب الأرقام (ص - عدد صحيح)؛ P - قاعدة نظام الأرقام. على سبيل المثال، بالنسبة للقاعدة العشرية، فإن التمثيل 2E-1 (هنا E هو أساس نظام الأرقام العشرية) سيبدو كما يلي: 2*10 -1 =0.2، والتمثيل 1.234E5 سيتوافق مع: 1.234*10 5 =123400.0.

يستخدم باسكال الأنواع التالية من الأعداد الحقيقية، والتي تحدد رقمًا عشوائيًا فقط مع بعض الدقة المحدودة اعتمادًا على التنسيق الداخلي للرقم الحقيقي:

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

يمكن تنفيذ العمليات التالية على أنواع البيانات الرقمية الحقيقية:

  • علم الحساب:
    إضافة (+)؛
    الطرح(-);
    عمليه الضرب(*)؛
    قسم(/)؛
    الأسي.
    زائد أحادي (+)؛
    أحادي ناقص (-).
  • عمليات العلاقة:
    علاقة عدم المساواة (<>);
    النسبة أقل(<);
    نسبة أكبر من (>)؛
    علاقة لا تقل عن (>=)؛
    موقف لا أكثر (<=).

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

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

حول تحويل أنواع البيانات الرقمية لباسكال

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

فار X: عدد صحيح؛ ص: حقيقي؛

هذا هو المشغل

سيكون صحيحًا من الناحية النحوية، على الرغم من وجود تعبير عدد صحيح على يمين علامة التعيين ومتغير حقيقي على اليسار، سيقوم المترجم بتحويل أنواع البيانات الرقمية تلقائيًا. يتم كتابة التحويل العكسي تلقائيًا حقيقيفي النوع عدد صحيحمستحيل في باسكال. دعونا نتذكر عدد البايتات المخصصة لمتغيرات النوع عدد صحيحو حقيقي: لنوع البيانات الصحيح عدد صحيحيتم تخصيص 2 بايت من الذاكرة، وفي الواقع - 6 بايت. لتحويل حقيقيالخامس عدد صحيحهناك وظيفتان مدمجتان: دائري(x) يقوم بتقريب x الحقيقي إلى أقرب عدد صحيح، جذع(x) يقتطع رقمًا حقيقيًا عن طريق تجاهل الجزء الكسري.

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

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

تقسيم الأنواع المتغيرة

تنقسم أنواع المتغيرات في باسكال إلى بسيطة ومنظمة. تشمل الأنواع البسيطة الأنواع الحقيقية والترتيبية. وتشمل تلك المنظمة المصفوفات والسجلات والمجموعات والملفات. بشكل منفصل، يتم تمييز المؤشرات والكائنات والأنواع الإجرائية.

دعونا نلقي نظرة على الأنواع الترتيبية والحقيقية. تتضمن الأنواع الترتيبية 5 أنواع من الأعداد الصحيحة ونوع التعداد ونوع النطاق.

الأنواع الترتيبية

هناك 5 أنواع من الأعداد الصحيحة، تختلف في طول البايت ونطاق القيم.

طول البايت و ShortInt هو 1 بايت. الفرق بينهما هو أن Byte يخزن القيم غير السالبة فقط، بينما يسمح لك ShortInt بتخزين القيم السالبة (من -128 إلى +127). يرتبط نوعي Word وInteger ببعضهما البعض بطريقة مماثلة، مع الاختلاف الوحيد وهو أن حجمهما هو 2 بايت.

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

من المهم أن نفهم أن الصفر يشغل مساحة كبيرة من الذاكرة مثل أي رقم آخر. وبالتالي، عند تكوين نطاق من القيم، سيكون الحد الأدنى للرقم السالب في القيمة المطلقة أكبر بمقدار واحد من الرقم الموجب: على سبيل المثال، من -128 إلى +127.

يمكن أن تأخذ المتغيرات التابعة لها القيمة TRUE (صحيح) أو FALSE (خطأ) وتتطلب بايت واحد من الذاكرة.

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

أنواع حقيقية

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

وفقًا للترتيب الموضح أعلاه، سيشغل المتغير من كل نوع 4 أو 6 أو 8 أو 10 بايت.

المصفوفات

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

سلسلة = صفيف شار؛

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

يتيح نطاق المؤشرات المكتوبة الوصول إلى كل عنصر محدد في المصفوفة:

في هذه الحالة، نقرأ العنصر الثاني من المصفوفة Y التي تم إنشاؤها مسبقًا.

تعد متغيرات السلسلة في باسكال أيضًا حالة خاصة لمصفوفة أحادية البعد، لأن السلسلة عبارة عن سلسلة من الأحرف، أي عناصر من نوع char.

دعامات

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

اكتب NTel = سجل

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

وأخيراً، في السطر الأخير قمنا بتعريف المتغير One، وهو من النوع NTel.

يمكنك الوصول إلى السجل ككل ومكوناته الفردية، على سبيل المثال: one.NAME (أي متغير_اسم.سجل_فيلد_اسم).

ملفات

يتيح لك Pascal العمل مع النصوص والملفات المكتوبة وغير المكتوبة، وهي عبارة عن تسلسل منظم للمكونات التي لها نفس النوع.

عند القراءة من ملف أو الكتابة إليه، يمكن استخدام العنوان الكامل أو شكله القصير:

"C:\Folder\File2.txt"

يتم استخدام النموذج القصير عندما يتم وضع الملف في المجلد حيث يتم تخزين البرنامج الذي يصل إليه. يمكن استخدام النموذج الكامل في أي ظرف من الظروف.

يمكنك تعيين متغير نوع الملف على النحو التالي:

f1: ملف عدد صحيح؛

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

أخيراً

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

تتضمن الأنواع الترتيبية (انظر الشكل 4.1) أنواع الأعداد الصحيحة والمنطقية والحرفية والمعدادة والنطاقية. تنطبق الدالة ORD(X) على أي منها، حيث تقوم بإرجاع الرقم الترتيبي لقيمة التعبير X. بالنسبة للأنواع الصحيحة، تقوم الدالة ORD(X) بإرجاع قيمة X نفسها، أي. ORD(X) = X لـ X التي تنتمي إلى أي نوع من أنواع الصدفة. يؤدي تطبيق ORD(X) على الأنواع المنطقية والحروف والتعداد إلى إنتاج عدد صحيح موجب في النطاق من 0 إلى 1 (منطقي)، ومن 0 إلى 155 (حرف)، ومن 0 إلى 65535 (تعداد). يحتفظ نوع النطاق بجميع خصائص النوع الترتيبي الأساسي، وبالتالي فإن نتيجة تطبيق الدالة ORD(X) عليه تعتمد على خصائص هذا النوع.

يمكنك أيضًا تطبيق الوظائف على الأنواع الترتيبية:

PRED (X) - تُرجع القيمة السابقة للنوع الترتيبي (القيمة التي تتوافق مع الرقم الترتيبي ORD(X) - 1)، أي.

ORD(PRED(X)) = ORD(X) - 1;

SUCC (X) - تُرجع القيمة الترتيبية التالية التي تطابق الرقم الترتيبي ORD(X) +1، أي.

ORD(SUCC(X)) = ORD(X) + 1.

على سبيل المثال، إذا قام البرنامج بتعريف متغير

ثم سترجع الدالة PRED(C) القيمة "4"، وسترجع الدالة SUCC(C) القيمة "6".

إذا تخيلنا أي نوع ترتيبي كمجموعة مرتبة من القيم، تتزايد من اليسار إلى اليمين وتحتل مقطعًا معينًا على محور الرقم، فلن يتم تعريف الدالة PRED(X) لليسار، وSUCC(X) لليمين نهاية هذا الجزء.

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

الجدول 4.1

عند استخدام الإجراءات والوظائف ذات المعلمات الصحيحة، يجب أن تسترشد بـ "تداخل" الأنواع، أي. أينما يمكن استخدام WORD، يمكن استخدام BYTE (ولكن ليس العكس)، LONGINT "يتضمن" عددًا صحيحًا، والذي بدوره يتضمن SHORTINT.

وترد قائمة الإجراءات والوظائف المطبقة على أنواع الأعداد الصحيحة في الجدول 4.2. حروف ب، ق، ث، ط، ليتم تحديد التعبيرات من النوع BYTE وSHORTINT وWORD وINTEGER وLONGINT، على التوالي، x هو تعبير عن أي من هذه الأنواع؛ حروف vb، vs، vw، vi، vl، vxتشير إلى متغيرات الأنواع المقابلة. تتم الإشارة إلى المعلمة الاختيارية بين قوسين مربعين.

الجدول 4.2

الإجراءات والوظائف القياسية المطبقة على الأنواع بأكملها
جاذبية نوع النتيجة فعل
القيمة المطلقة (خ) س إرجاع الوحدة x
مركز حقوق الإنسان (ب) شار إرجاع حرف حسب الكود الخاص به
ديسمبر (vx[، i]) - يقلل قيمة vx بمقدار i، وفي غياب i - بمقدار 1
المؤتمر الوطني العراقي (VX [، أنا]) - تزيد قيمة vx بمقدار i، وفي غياب i - بمقدار 1
مرحبا انا) بايت إرجاع البايت العالي للوسيطة
مرحبا (ث) نفس نفس
لو (ط) " إرجاع البايت المنخفض للوسيطة
قليل) " نفس
غريب (ل) منطقية إرجاع True إذا كانت الوسيطة رقمًا فرديًا
عشوائي (ث) نفس المعلمة إرجاع رقم عشوائي زائف موزع بشكل موحد في النطاق 0...(w-l)
سنجر (خ) X إرجاع مربع الوسيطة
مبادلة (ط) عدد صحيح مبادلة بايت في كلمة واحدة
مبادلة (ث) كلمة

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

أ:= 32767; (أقصى قيمة عددية ممكنة)

س:= أ + 2؛ (تجاوز الحد أثناء تقييم هذا التعبير !}

y:= LongInt(a)+2; (لا يوجد تجاوز بعد إرسال المتغير إلى نوع أكثر قوة)

رايت لين (س:10:0، ص:10:0)

نتيجة لتشغيل البرنامج نحصل عليه

نوع منطقي. يمكن أن تكون القيم المنطقية إحدى الثوابت المعلنة مسبقًا FALSE أو TRUE. تنطبق عليهم القواعد:

خطأ شنيع< True;

succ(False)= صحيح;

بريد (صحيح) = خطأ.

بما أن النوع المنطقي هو نوع ترتيبي، فيمكن استخدامه في عامل نوع قابل للعد، على سبيل المثال:

لـ 1:= خطأ إلى صحيح افعل ....

نوع الحرف.قيمة نوع الحرف هي مجموعة كافة أحرف الكمبيوتر. يتم تعيين عدد صحيح لكل حرف في النطاق 0...255. يعمل هذا الرقم كرمز للتمثيل الداخلي للرمز؛ ويتم إرجاعه بواسطة الدالة ORD.

يتم استخدام رمز ASCII للتشفير ( الكود القياسي الأمريكي لتبادل المعلومات- الكود الأمريكي القياسي لتبادل المعلومات). هذا رمز 7 بت، أي. يمكنه تشفير 128 حرفًا فقط في النطاق من 0 إلى 127. وفي الوقت نفسه، في البايت 8 بت المخصص لتخزين حرف في Turbo Pascal، يمكنك تشفير ضعف عدد الأحرف في النطاق من 0 إلى 255. النصف الأول من أحرف الكمبيوتر الشخصي مع الرموز 0...127 يتوافق مع معيار ASCII (الجدول 4.3). النصف الثاني من الأحرف ذات الرموز 128...255 لا يقتصر على الإطار الصارم للمعيار ويمكن تغييره على أنواع مختلفة من أجهزة الكمبيوتر (يوضح الملحق 2 بعض خيارات التشفير الشائعة لهذه الأحرف).

الجدول 4.3

ترميز الأحرف وفقًا لمعيار ASCII
شفرة رمز شفرة رمز شفرة رمز شفرة رمز
NUL ب.ل. ® "
منطقة ! أ أ
اس تي اكس " في ب
إيتكس # مع مع
محكمة تكافؤ الفرص $ د د
إن كيو % ه ه
بسأل & F F
بيل " ز ز
ب.س. ( ح ح
NT ) أنا أنا
LF * ج ي
VT + ك ك
FF , ل أنا
سجل تجاري - م م
لذا . ن ن
إس.آي. / عن
ديل ص ص
DC1 س س
DC2 ر ص
DC3 س س
DC4 ت ر
ن.ك. ش ش
مزامنة الخامس الخامس
إي تي بي ث ث
يستطيع X X
م. ش ش
الفرعية : ض ض
خروج / [ {
خ.س < \ ل
جي إس. = ] }
ر.س. > ^ ~
نحن ? - ن

تشير الأحرف ذات الرموز 0...31 إلى رموز الخدمة. إذا تم استخدام هذه الرموز في نص أحرف البرنامج، فسيتم اعتبارها مسافة بيضاء. عند استخدامها في عمليات الإدخال/الإخراج، يمكن أن يكون لها المعنى المستقل التالي:

رمز شفرة معنى
بيل يتصل؛ يكون عرض هذا الرمز مصحوبًا بإشارة صوتية
NT الجدولة الأفقية؛ عند عرضه على الشاشة، يحرك المؤشر إلى موضع يكون من مضاعفات 8 زائد 1 (9، 17، 25، إلخ.)
LF ترجمة الخط؛ عند عرضه على الشاشة، سيتم إخراج جميع الأحرف اللاحقة بدءًا من نفس الموضع، ولكن في السطر التالي
VT علامة تبويب عمودية؛ وعند عرضه على الشاشة يتم استبداله بحرف خاص
FF تشغيل الصفحة؛ عند الإخراج إلى الطابعة، فإنه يشكل صفحة؛ وعند الإخراج إلى الشاشة، يتم استبداله بحرف خاص
سجل تجاري إرجاع؛ يتم إدخاله بالضغط على مفتاح Enter (عند الإدخال باستخدام READ أو READLN، فهذا يعني أمر "Enter" ولا يتم وضعه في المخزن المؤقت للإدخال؛ وعند الإخراج، يعني أمر "متابعة الإخراج من بداية السطر الحالي")
الفرعية نهاية الملف؛ يتم الدخول من لوحة المفاتيح بالضغط على Ctrl-Z؛ عند الإخراج يتم استبداله بعلامة خاصة
التعاون بين بلدان الجنوب نهاية العمل؛ يتم إدخاله من لوحة المفاتيح بالضغط على مفتاح ESC؛ عند الإخراج يتم استبداله بعلامة خاصة

تنطبق العمليات العلائقية، بالإضافة إلى الوظائف المضمنة، على نوع CHAR: СНR(В) - وظيفة من نوع CHAR؛ تحويل تعبير B من النوع BYTE إلى حرف وإرجاعه بقيمته؛

UPCASE(CH) - وظيفة نوع CHAR؛ يتم إرجاع الحرف الكبير إذا كان CH حرفًا لاتينيًا صغيرًا، وإلا يتم إرجاع الحرف CH نفسه، على سبيل المثال:

cl:= UpCase("s") ;

c2:= UpCase ("Ф") ;

WriteLn(cl،" "،c2)

نظرًا لأن وظيفة UPCASE لا تعالج السيريلية، فإن نتيجة تشغيل هذا

سيتم عرض البرامج على الشاشة

نوع التعداد. يتم تحديد النوع المُعدّد من خلال تعداد القيم التي يمكنه تلقيها. تتم تسمية كل قيمة بواسطة معرف ما، وتقع في قائمة محاطة بأقواس، على سبيل المثال:

الألوان =(الأحمر، الأبيض، الأزرق)؛

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

TypeMonth=(يناير، فبراير، مارس، أبريل، مايو، يونيو، يوليو، أغسطس، سبتمبر، أكتوبر، نوفمبر، ديسمبر)؛

الشهر: TypeMonth؛

إذا كان الشهر = أغسطس ثم WriteLn("سيكون من الجيد الذهاب إلى البحر!");

سيكون الأمر، كما ترى، واضحًا جدًا. واحسرتاه! في Turbo Pascal لا يمكنك استخدام السيريلية في المعرفات، لذلك نحن مضطرون إلى الكتابة على النحو التالي:

TypeMonth=(jan,feb,mar,may,jun,jul,aug,sep,oct,nov,dec);

الشهر: TypeMonth؛

إذا كان الشهر = أغسطس ثم WriteLn("سيكون من الجيد الذهاب إلى البحر!");

يتم تحديد المراسلات بين قيم النوع المعدود والأرقام الترتيبية لهذه القيم من خلال ترتيب التعداد: القيمة الأولى في القائمة تتلقى الرقم الترتيبي 0، والثانية - 1، وما إلى ذلك. الحد الأقصى للسعة للنوع المُعدَّد هو 65536 قيمة، لذلك في الواقع يحدد النوع المُعدَّد مجموعة فرعية معينة من نوع WORD بأكمله ويمكن اعتباره إعلانًا مضغوطًا لمجموعة من الثوابت الصحيحة ذات القيم 0، 1، إلخ.

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

الألوان = (أسود، أحمر، أبيض)؛

الترتيبي = (واحد، اثنان، ثلاثة)؛

الأيام = (الإثنين، الثلاثاء، الأربعاء)؛

من حيث السلطة والتمثيل الداخلي، فإن الأنواع الثلاثة متساوية:

أورد (أسود) = 0، ...، أورد (أبيض) = 2،

أورد(واحد)=0, ...أورد(ثلاثة)=2,

أورد(الاثنين)=0, ...أورد(الأربعاء)=2.

ومع ذلك، إذا تم تعريف المتغيرات

العقيد: الألوان؛ الأسطوانات: ترتيبي؛

ثم يسمح للمشغلين

الأسطوانات:= succ(two);

يوم:= بريد(الثلاثاء);

ولكن غير مقبول

كما ذكرنا من قبل، هناك مراسلات فردية بين قيم النوع المذكور ومجموعة الأعداد الصحيحة المحددة بواسطة الدالة ORD(X). يسمح Turbo Pascal أيضًا بالتحويل العكسي: يمكن تحويل أي تعبير من النوع WORD إلى قيمة من نوع التعداد، طالما أن قيمة التعبير الصحيح لا تتجاوز power1™ لنوع التعداد. يتم تحقيق هذا التحويل باستخدام دالة معلنة تلقائيًا باسم النوع المذكور (انظر القسم 4.4). على سبيل المثال، بالنسبة لإعلان النوع الذي تمت مناقشته أعلاه، فإن المهام التالية متكافئة:

العقيد:= الألوان(0);

بالطبع التكليف

سيكون غير مقبول.

يمكن الإعلان عن المتغيرات من أي نوع تم تعداده دون الإعلان عن هذا النوع أولاً، على سبيل المثال:

العقيد: (أسود، أبيض، أخضر)؛

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

<мин.знач.>..<макс.знач.>

هنا<мин.знач. >- الحد الأدنى لقيمة نطاق النوع؛

<макс.знач.>- قيمته القصوى.

على سبيل المثال:

رقم = "0".."9";

ليس من الضروري وصف نوع النطاق في قسم TYPE، ولكن يمكن تحديده مباشرة عند الإعلان عن متغير، على سبيل المثال:

Ihr: "أ".."Z"؛.

عند تحديد نوع النطاق، يجب عليك اتباع القواعد التالية:

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

أيام = (mo,tu,we,th,fr,sa,su);

نهاية الأسبوع = sa .. su;

ثم سيقوم ORD(W) بإرجاع القيمة 5 بينما سيؤدي PRED(W) إلى حدوث خطأ.

تتضمن مكتبة Turbo Pascal القياسية وظيفتين تدعمان العمل مع أنواع النطاقات:

HIGH(X) - يُرجع القيمة القصوى لنوع النطاق الذي ينتمي إليه المتغير X؛

LOW(X) - يُرجع الحد الأدنى لقيمة نوع النطاق.

سيقوم البرنامج القصير التالي بطباعة السطر

WriteLn(منخفض(ك)،".."،عالي(ك))

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

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

رياضيا يتم كتابته على النحو التالي:

(-1) s × M × B E، حيث s هي الإشارة، وB هو الجذر، وE هو الأس، وM هو الجزء العشري.

تحدد القاعدة نظام الأرقام. لقد ثبت رياضيًا أن أرقام الفاصلة العائمة ذات الأساس B=2 (التمثيل الثنائي) هي الأكثر مقاومة لأخطاء التقريب، وبالتالي يتم مصادفة القواعد 2 فقط، والأقل شيوعًا، 10. لمزيد من العرض، سنفترض دائمًا B= 2، وستبدو صيغة الرقم ذو النقطة العائمة كما يلي:

(-1) ق × م × 2 ه

ما هو العشري والنظام؟ الجزء العشريهو عدد صحيح ذو طول ثابت يمثل البتات الأكثر أهمية في الرقم الحقيقي. لنفترض أن الجزء العشري الخاص بنا يتكون من ثلاث بتات (|M|=3). خذ على سبيل المثال الرقم "5"، والذي سيكون في النظام الثنائي يساوي 101 2. البتة الأكثر أهمية تقابل 2 2 = 4، والبت الأوسط (الذي يساوي الصفر) هو 2 1 =2، والبت الأقل أهمية هو 2 0 =1. طلب- هذه هي قوة القاعدة (اثنان) ذات الرقم الأعلى. في حالتنا E = 2. ومن الملائم كتابة مثل هذه الأرقام بالشكل القياسي "العلمي"، على سبيل المثال "1.01e+2". من الواضح على الفور أن العشري يتكون من ثلاث علامات، والترتيب هو اثنان.

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

1.01e+1 = 1×2 1 +0×2 0 +1×2 -1 =2+0.5=2.5

من الواضح أنه بهذه الطريقة يمكن تمثيل نفس العدد بطرق مختلفة. دعونا نفكر في مثال بطول الجزء العشري |M|=4. ويمكن تمثيل الرقم "2" على النحو التالي:

2 = 10 (ثنائي) = 1.000e+1 = 0.100e+2 = 0.010e+3.

لذلك، بالفعل في الآلات الأولى، تم تمثيل الأرقام في ما يسمى شكل طبيعي، عندما كان يُفترض دائمًا أن الجزء الأول من الجزء العشري يساوي واحدًا.

يؤدي هذا إلى حفظ بت واحد (نظرًا لأن البت الضمني لا يحتاج إلى تخزينه في الذاكرة) ويضمن تمثيل الرقم بشكل فريد. في مثالنا، "2" له تمثيل واحد ("1.000e+1")، ويتم تخزين الجزء العشري في الذاكرة كـ "000"، لأن الوحدة الرائدة ضمنية. لكن تظهر مشكلة جديدة في التمثيل الطبيعي للأرقام، وهو أنه من المستحيل تمثيل الصفر بهذا الشكل.

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

  • يعد مفهوم النوع أحد المفاهيم الأساسية لأي لغة برمجة. الكائنات (الثوابت، المتغيرات، الدوال، التعبيرات) التي يعمل عليها البرنامج تنتمي إلى نوع معين.

    يكتب هي مجموعة من القيم التي يمكن أن تتخذها كائنات البرنامج، ومجموعة العمليات المسموح بها على هذه القيم.

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

    تنقسم جميع الأنواع المسموح بها في لغة باسكال إلى مجموعتين كبيرتين: بسيطة ومعقدة (منظمة).

    يكتب يتراوح العشري، علامات الذاكرة المطلوبة (بايت)
    حقيقي 2.9*10E-39..1.7*10E38 11-12
    أعزب 1.5*10E-45..3.4*10E38 7-8
    مزدوج 5.0*10E-324..1.7*10E308 15-16
    ممتد 1.9*10E-4951..1.1*10E4932 19-20
    شركات -2ه+63+1..2ه+63-1 10-20

    لا يمكن الاستخدام الفعال للأنواع SINGLE وDOUBLE وEXTEND وCOMP إلا عند تمكين التوجيه ($N+). بشكل افتراضي يتم إيقاف تشغيله. لحل المشاكل الهندسية والاقتصادية تكون قيم النوع REAL كافية.

    مثال

    Var Res، Summa، Itog: حقيقي؛

    منطقيةيتم وصف نوع البيانات بواسطة المعرف BOOLEAN. يمكن أن تأخذ المتغيرات والثوابت من هذا النوع قيمة واحدة فقط من قيمتين: TRUE (صحيح) أو FALSE (خطأ).

    مثال

    فار Sel1، Sel2: منطقي؛

    أ، ب، ج، د: منطقية؛

    تشغل التعبيرات المنطقية بايتًا واحدًا من الذاكرة وتستخدم في التعبيرات المنطقية والعلائقية وللتحكم في ترتيب تنفيذ عبارات البرنامج.

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

    على سبيل المثال، فار بوكفا، زناك، الرمز: شار؛

    بوكفا:='أ'; زناك:='+'; الرمز:='!'

    تشغل متغيرات نوع الحرف بايت واحد في الذاكرة. يحظر استخدام بيانات char في التعبيرات الحسابية. يمكن تطبيق عمليات المقارنة على القيم الحرفية، وتعتمد النتيجة على عدد المتغير الحرفي أو الثابت في جدول التعليمات البرمجية.

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

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

    شكل

    يكتب<имя типа>=(<значение1, значение2, ..., значениеN>);

    فار<идентификатор, ...>: < имя типа>;

    مثال

    نوع الموسم =(الربيع، الصيف، الخريف، الشتاء)؛

    فار S1، S2: الموسم؛

    الخريف: (سبتمبر، أكتوبر، نوفمبر)؛

    يوضح هذا المثال نوع بيانات مستخدم الموسم المحدد بوضوح. يتم تحديد معانيها - تسميات الفصول. يمكن للمتغيرين S1 وS2 أن يأخذا واحدة فقط من القيم المدرجة. ستؤدي محاولة تعيين أي قيمة أخرى لهم إلى مقاطعة البرنامج. النوع الثالث من التعداد هو مجهول (ليس له اسم) ويتم تحديده عن طريق تعداد القيم في قسم Var. الخريف هو متغير من هذا النوع ويمكن أن يأخذ القيم سبتمبر، أكتوبر، نوفمبر. وبالتالي، يمكن تحديد أي نوع، لكن هذا ليس مقبولًا دائمًا. الطريقة الأولى هي بالتأكيد أكثر قابلية للفهم وأكثر انسجاما مع طبيعة لغة باسكال.

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

    شكل

    يكتب<имя типа> = <константа1> .. <константа2>;

    فار<идентификатор>: < имя типа>;

    مثال

    اكتب الأيام = 1..31؛

    فار Work_d، Free_d: أيام؛

    في هذا المثال المتغيرات Work_d، Free_dلديك نوع أيامويمكن أن تأخذ أي قيمة من النطاق 1. . 31.

    يؤدي الخروج من النطاق إلى مقاطعة البرنامج.

    يمكنك تحديد نوع الفاصل الزمني من خلال تحديد حدود النطاق ليس من خلال قيم الثوابت، ولكن من خلال أسمائها:

    الحد الأدنى للقيمة = 1؛ الحد الأقصى = 31؛

    نوع الأيام = الحد الأدنى .. الحد الأقصى؛

    فار Work_d، Free_d: أيام؛

    أنواع منظمةتعتمد أنواع البيانات على الأنواع العددية ويمكن أن تحتوي على مجموعات مختلفة منها. وهي تحدد مجموعة مرتبة من العناصر العددية وتتميز بنوع مكوناتها. توفر لغة باسكال أنواع البيانات المنظمة التالية:

    خط -سلسلة من الأحرف المحاطة بفواصل عليا؛

    مجموعة مصفوفة -نوع بيانات منظم يتكون من عدد ثابت من العناصر من نفس النوع، يمكن الوصول إليها عن طريق الفهرس ;

    مجموعة من -مجموعة من الكائنات المختارة وفقا لبعض الخصائص أو مجموعة من الخصائص التي يمكن اعتبارها ككل؛

    سِجِلّ -مجموعة من عدد ثابت من المكونات من أنواع مختلفة؛

    ملف- سلسلة من المكونات من نفس النوع ونفس الطول.

    من الصعب تعيين نوعين أكثر تنظيماً - الإجرائي والكائن - إلى البيانات في التمثيل التقليدي.

    الصورة 1- مجموعة من الأنواع الأساسية للغة باسكال



    تحميل...
    قمة