نمونه های پاسکال را تایپ کنید. چکیده: انواع داده ها در پاسکال

برای اینکه ماشین بتواند هر داده ورودی را پردازش کند، باید بفهمد که متغیرهایی که در آن مقادیر ذخیره شده اند به چه نوع تعلق دارند. در صورت عدم وجود اطلاعات در مورد قالب داده ها، رایانه قادر نخواهد بود تشخیص دهد که آیا این یا آن عملیات در یک مورد خاص مجاز است یا خیر: به عنوان مثال، به طور مستقیم واضح است که نمی توان یک حرف را به قدرت رساند یا دریافت کرد. انتگرال یک رشته بنابراین، کاربر باید تعیین کند که چه اقداماتی مجاز است با هر متغیر انجام شود.

مانند سایر زبان های برنامه نویسی سطح بالا، انواع متغیر در پاسکال برای انجام وظایف انواع مختلف بهینه شده اند، دارای دامنه متفاوتی از مقادیر و طول در بایت هستند.

تقسیم بندی انواع متغیرها

انواع متغیرها در پاسکال به ساده و ساخت یافته تقسیم می شوند. انواع ساده شامل انواع حقیقی و ترتیبی است. ساختار یافته ها شامل آرایه ها، رکوردها، مجموعه ها و فایل ها هستند. به طور جداگانه، اشاره گرها، اشیاء و انواع رویه ای متمایز می شوند.

بیایید به انواع ترتیبی و واقعی نگاه کنیم. انواع ترتیبی شامل 5 نوع عدد صحیح، نوع شمارش و نوع محدوده می باشد.

انواع ترتیبی

5 نوع عدد صحیح وجود دارد که در طول بایت و محدوده مقادیر متفاوت هستند.

طول Byte و ShortInt 1 بایت است. تفاوت بین آنها این است که Byte فقط مقادیر غیر منفی را ذخیره می کند، در حالی که ShortInt به شما امکان می دهد مقادیر منفی (از 128- تا 127+) را ذخیره کنید. نوع Word و Integer به روشی مشابه با یکدیگر ارتباط دارند و تنها تفاوت آنها در اندازه 2 بایت است.

در نهایت، LongInt به شما امکان می دهد هر دو مقدار منفی و مثبت را با استفاده از 4 بایت - در توان شانزدهم بعد عددی در دو طرف صفر ذخیره کنید. انواع مختلفی از متغیرها در پاسکال به حل کارآمد وظایف کاربر کمک می کنند، زیرا در هر مورد خاص ممکن است به محدوده کوچک و بزرگی از مقادیر نیاز باشد و همچنین ممکن است محدودیت هایی در میزان حافظه اختصاص داده شده وجود داشته باشد.

درک این نکته مهم است که صفر به اندازه هر عدد دیگری فضای حافظه را اشغال می کند. بنابراین، هنگام تشکیل محدوده ای از مقادیر، حداقل عدد منفی در مقدار مطلق یک بزرگتر از مثبت خواهد بود: به عنوان مثال، از 128- تا 127+.

متغیرهای متعلق به می توانند مقدار TRUE (true) یا FALSE (false) را بگیرند و به 1 بایت حافظه نیاز دارند.

نوع CHAR به شما امکان می دهد هر یک از کاراکترهای زیادی را که در حافظه کامپیوتر وجود دارد ذخیره کنید. در عین حال، در متغیرهای نمادین در پاسکال، فقط کد علامت در واقع ذخیره می شود که مطابق با آن شکل گرافیکی آن نمایش داده می شود.

انواع واقعی

در بین انواع متغیرهای پاسکال، چندین عدد عددی با قابلیت نوشتن جزء کسری وجود دارد. تفاوت بین انواع Single، Real، Double و Extended به محدوده مقادیر پذیرفته شده، تعداد ارقام مهم بعد از نقطه اعشار و اندازه بر حسب بایت بر می گردد.

با توجه به ترتیب ارائه شده در بالا، یک متغیر از هر نوع 4، 6، 8 یا 10 بایت را اشغال می کند.

آرایه ها

انواع داده های ساختاریافته پیچیده هستند و به شما امکان می دهند تعدادی از مقادیر ساده را در یک متغیر واحد ترکیب کنید. مثال اصلی یک آرایه است که می توان آن را به صورت زیر تعریف کرد:

رشته = آرایه char;

بنابراین، یک نوع به نام String دریافت کردیم که به ما اجازه می دهد تا متغیرهایی با طول حداکثر 100 کاراکتر را تعریف کنیم. خط آخر به طور مستقیم داده می شود آرایه یک بعدی Y که از نوع String است. متغیرها در پاسکال با قرار دادن شناسه در سمت چپ و مقدار متغیر در سمت راست، پس از علامت مساوی توصیف می شوند.

محدوده شاخص های نوشته شده در اجازه دسترسی به هر عنصر خاص آرایه را می دهد:

در این حالت عنصر دوم آرایه Y که قبلا ایجاد شده بود را می خوانیم.

متغیرهای رشته در پاسکال نیز یک مورد خاص از یک آرایه یک بعدی هستند، زیرا یک رشته دنباله ای از کاراکترها است، یعنی عناصری از نوع char.

نوشته ها

یک رکورد شامل چندین فیلد است که با هر نوع داده ای به جز فایل پر شده است. به طور کلی، این نوع متغیر شبیه به یک عنصر پایگاه داده است. به عنوان مثال، می توانید نام و شماره تلفن یک فرد را وارد کنید:

نوع NTel = رکورد

اولین خط در سمت چپ نام نوع را نشان می دهد و در سمت راست - رکورد کلمه سرویس را نشان می دهد. خط دوم شامل یک فیلد با نام، سوم - یک شماره تلفن است. کلمه "پایان" به این معنی است که ما تمام فیلدهایی را که می خواستیم وارد کرده ایم و این روند ایجاد رکورد را کامل می کند.

در نهایت در خط آخر متغیر One را که از نوع NTel است قرار می دهیم.

شما می توانید هم به کل رکورد و هم به اجزای جداگانه آن دسترسی داشته باشید، برای مثال: one.NAME (یعنی متغیر_name. record_field_name).

فایل ها

پاسکال به شما امکان می دهد با فایل های متنی، تایپ شده و تایپ نشده کار کنید که دنباله ای ساختاریافته از اجزای یکسان هستند.

هنگام خواندن یا نوشتن روی یک فایل، می توان از آدرس کامل یا فرم کوتاه آن استفاده کرد:

«C:\Folder\File2.txt»

فرم کوتاه زمانی استفاده می شود که فایل در پوشه ای قرار می گیرد که برنامه ای که به آن دسترسی دارد ذخیره می شود. فرم کامل را می توان در هر شرایطی استفاده کرد.

می توانید یک متغیر نوع فایل را به صورت زیر تنظیم کنید:

f1: فایل عدد صحیح.

برای کار با فایل‌ها، از توابع و رویه‌های مختلفی استفاده می‌شود که یک متغیر را با یک فایل روی دیسک مرتبط می‌کند، آن را برای خواندن، نوشتن و بازنویسی باز می‌کند، پس از اتمام آن را می‌بندد، به شما امکان می‌دهد یک نام جدید ایجاد کنید و فایل را از رایانه حذف کنید.

سرانجام

بدون امکان استفاده از انواع متغیرها در پاسکال، کاربر قادر به پیاده سازی ساده ترین کار نیز نخواهد بود. برای اینکه برنامه بتواند الگوریتم را بدون خطا اجرا کند، لازم است هم کلمات تابع و هم نحو را بیاموزید، زیرا دستگاه فقط در صورتی می تواند دستورات را "درک" کند که آنها به روش صحیح نوشته شده باشند.

رایج ترین در ریاضیات انواع عددی- این کلاعدادی که تعداد نامتناهی از مقادیر گسسته را نشان می دهند و معتبراعدادی که نشان دهنده زنجیره نامحدودی از مقادیر هستند.

شرح انواع داده های عددی پاسکال (اعداد صحیح)

در یک زبان، زیر مجموعه های مختلفی از مجموعه اعداد صحیح را می توان پیاده سازی کرد. محدوده مقادیر ممکن انواع عددی عدد صحیح به نمایش داخلی آنها بستگی دارد که می تواند یک، دو یا چهار بایت باشد. بنابراین، در پاسکال 7.0 از انواع داده های عددی صحیح زیر استفاده می شود:

با کل انواع داده های عددیپاسکال می تواند عملیات زیر را انجام دهد:

  • حسابی:
    افزودن (+);
    منها کردن(-)؛
    ضرب(*)؛
    باقی مانده تقسیم (mod)؛
    توانمندی؛
    به علاوه unary (+)؛
    واحد منهای (-).
  • عملیات رابطه:
    رابطه برابری (=);
    رابطه نابرابری (<>);
    نسبت کمتر است (<);
    نسبت بزرگتر از (>)؛
    رابطه نه کمتر از (>=)؛
    نگرش دیگر (<=).

هنگام بازیگری با انواع داده های عددی صحیحنوع نتیجه با نوع عملوندها مطابقت دارد و اگر عملوندها از انواع مختلف عدد صحیح باشند، با نوع عملوندی که حداکثر توان را دارد (حداکثر دامنه مقادیر) مطابقت دارد. سرریز احتمالی نتیجه به هیچ وجه کنترل نمی شود (مهم است!) ، که ممکن است منجر به خطا شود.

توجه ویژه باید به عملیات تقسیم انواع داده های عددی صحیح شود. پاسکال دو عملیات تقسیم را امکان پذیر می کند که بر این اساس مشخص می شوند "/" و بخش. باید بدانید که نتیجه تقسیم "/" یک عدد صحیح نیست، بلکه عدد واقعی(این درست است حتی اگر 8 را بر 2 تقسیم کنید، یعنی 8/2=4.0). تقسیم بندی است تقسیم عدد صحیح، یعنی نوع نتیجه عدد صحیح است.

شرح انواع داده های عددی پاسکال (واقعی)

نوع داده عددی واقعی به زیرمجموعه‌ای از اعداد واقعی اشاره دارد که می‌توانند در قالب به اصطلاح ممیز شناور با تعداد ثابتی از ارقام نمایش داده شوند. با ممیز شناور، هر نوع داده عددی به صورت دو گروه از ارقام نمایش داده می شود. گروه اول اعداد مانتیس نامیده می شود و دومی نما هستند. به طور کلی، یک نوع داده عددی به شکل ممیز شناور را می توان به صورت زیر نشان داد: X= (+|-)MP (+ | -) r، که در آن M مانتیس عدد است. r - ترتیب اعداد (r - عدد صحیح)؛ P - پایه سیستم اعداد. به عنوان مثال، برای پایه اعشاری، نمایش 2E-1 (در اینجا E پایه سیستم اعداد اعشاری است) به این صورت خواهد بود: 2*10 -1 =0.2، و نمایش 1.234E5 مطابق با: 1.234*10 5 خواهد بود. =123400.0.

پاسکال از انواع زیر از اعداد حقیقی استفاده می کند که بسته به فرمت داخلی اعداد حقیقی تنها با دقت محدودی یک عدد دلخواه را تعریف می کنند:

هنگام توصیف یک متغیر واقعی از نوع real، یک متغیر 4 بایتی در حافظه کامپیوتر ایجاد می شود. در این حالت 3 بایت برای مانتیس و یک بایت برای سفارش داده می شود.

عملیات زیر را می توان بر روی انواع داده های عددی واقعی انجام داد:

  • حسابی:
    اضافه (+)؛
    منها کردن(-)؛
    ضرب(*)؛
    تقسیم (/);
    توانمندی؛
    به علاوه unary (+)؛
    واحد منهای (-).
  • عملیات رابطه:
    رابطه نابرابری (<>);
    نسبت کمتر است (<);
    نسبت بزرگتر از (>)؛
    رابطه نه کمتر از (>=)؛
    نگرش دیگر (<=).

همانطور که می بینید، پاسکال با طیف گسترده ای از انواع واقعی، اما دسترسی به انواع داده های عددی مشخص می شود تنها, دو برابرو تمدید شدهفقط در حالت های کامپایل ویژه امکان پذیر است. این نوع داده‌های عددی برای پشتیبانی سخت‌افزاری برای محاسبات ممیز شناور طراحی شده‌اند و برای استفاده مؤثر از آنها، رایانه شما باید دارای یک پردازشگر ریاضی باشد.

نوع داده عددی در پاسکال موقعیت خاصی را اشغال می کند. مقایسه، که به عنوان یک عدد واقعی بدون بخش های نمایی و کسری در نظر گرفته می شود. در حقیقت، مقایسهیک عدد صحیح امضا شده "بزرگ" است که 19..20 رقم اعشاری قابل توجه را حفظ می کند. در همان زمان، نوع داده های عددی مقایسهدر عبارات کاملاً با انواع واقعی دیگر سازگار است: تمام عملیات واقعی بر روی آن تعریف شده است، می توان از آن به عنوان آرگومان برای توابع ریاضی و غیره استفاده کرد.

درباره تبدیل انواع داده های عددی پاسکال

تبدیل ضمنی (خودکار) انواع داده های عددی در پاسکال تقریبا غیرممکن است. استثنا فقط برای نوع ایجاد شده است عدد صحیح، که مجاز به استفاده در عباراتی مانند واقعی. برای مثال، اگر متغیرها به صورت زیر تعریف شوند:

Var X: عدد صحیح. Y: واقعی

اون اپراتوره

از نظر نحوی صحیح خواهد بود، اگرچه یک عبارت عدد صحیح در سمت راست علامت تخصیص و یک متغیر واقعی در سمت چپ وجود دارد، کامپایلر انواع داده های عددی را به طور خودکار تبدیل می کند. تبدیل معکوس به صورت خودکار تایپ می شود واقعیدر نوع عدد صحیحغیر ممکن در پاسکال بیایید به یاد بیاوریم که چند بایت برای متغیرهای نوع اختصاص داده شده است عدد صحیحو واقعی: زیر نوع عدد صحیحداده ها عدد صحیح 2 بایت حافظه اختصاص داده می شود و برای واقعی - 6 بایت. برای تبدیل واقعی V عدد صحیحدو عملکرد داخلی وجود دارد: گرد(x) x واقعی را به نزدیکترین عدد صحیح گرد می کند، تنه(x) یک عدد واقعی را با حذف قسمت کسری کوتاه می کند.

مهمترین عناصر یک برنامه متغیرها هستند. آنها بر روند وقایع برنامه در طول اجرای آن تأثیر می گذارند. به عنوان مثال، اگر مقدار متغیر Name را در تعیین نکرده بودیم، خروجی تبریک برنامه خطاب به چه کسی خواهد بود؟

متغیرها می توانند حاوی داده های کاملاً متفاوتی باشند. به عنوان مثال، یک متغیر می تواند نام شخصی را ذخیره کند، متغیر دیگری می تواند سال تولد او را ذخیره کند، متغیر سوم می تواند قد او را ذخیره کند و غیره. چنین داده های متفاوتی توسط کامپیوتر به روش های مختلف نمایش داده می شود. نام یک رشته کاراکتر است، سال تولد یک عدد صحیح و ارتفاع یک عدد واقعی است (به عنوان مثال، ارتفاع 1.72 متر است).

نحوه نمایش داده ها توسط رایانه توسط آن تعیین می شود نوع. علاوه بر این، نوع داده تعیین می کند که چه اقداماتی مجاز است روی آن داده ها انجام شود.

انواع داده های استاندارد اصلی زبان توربو پاسکال در زیر فهرست شده اند:

  1. عدد صحیح- داده های عدد صحیح در محدوده -32768 تا 32767، اشغال دو بایت در حافظه.
  2. واقعی- اعداد واقعی در محدوده 2.9´10 -39 (2.9E-39) تا 1.7´10 38 (1.7E38)، شش بایت را اشغال می کنند.
  3. CHAR- کاراکتر جداگانه، یک بایت؛
  4. STRING- رشته ای از کاراکترها، تعداد کاراکترهای یک خط (طول رشته) با عدد N در پرانتز محدود می شود، N+1 بایت می گیرد (اگر عدد N مشخص نشده باشد، حداکثر طول خط است. 255 کاراکتر)؛
  5. بولین– نوع منطقی، دو مقدار دارد: FALSE (نادرست) و TRUE (true)، یک بایت.

توجه داشته باشید که انواع INTEGER، CHAR و BOOLEAN به عنوان دسته بندی می شوند ترتیبی انواع ترتیبی

همانطور که احتمالاً به یاد دارید، هنگام توصیف یک متغیر، یک دو نقطه بعد از نام آن قرار می گیرد و سپس نوع آن مشخص می شود. اگر چندین متغیر دارای یک نوع باشند، نام آنها را می توان با کاما از هم جدا کرد.

نمونه ای از توصیف متغیرهای مختلف:

دلفی/پاسکال

var a, b, c: عدد صحیح; جمع: واقعی آلفا، بتا: char; S:string; S_1: رشته t: بولی؛

a, b, c: عدد صحیح;

جمع: واقعی

آلفا، بتا: char;

S: رشته[25];

S_1: رشته

t: بولی؛

توجه داشته باشید که متغیر S_1 یک رشته کاراکتری است، اما اعلان آن طولی را مشخص نمی کند. در این مورد، خود کامپایلر حداکثر طول ممکن را تعیین می کند - 255 کاراکتر.

انواع داده های از پیش تعریف شده دیگری برای ذخیره اعداد صحیح و اعداد واقعی وجود دارد. مشخصات آنها در جداول زیر نشان داده شده است. این انواع را با انواع INTEGER و REAL که در جداول نشان داده شده است مقایسه کنید.

دامنه

اندازه بر حسب بایت

کوتاه
عدد صحیح
LONGINT

2147483648 .. 2147483647

BYTE
کلمه

انواع داده های واقعی

دامنه

تعداد ارقام قابل توجه

اندازه بر حسب بایت

واقعی

2.9´10 -39 .. 1.7´10 3 8

تنها

1.5´10 - 45 .. 3.4´10 3 8

دو برابر

5.0´10 -3 24 .. 1.7´10 3 08

تمدید شده

3.4´10 -4932 .. 1.1´10 49 32

COMP

2 63 +1 .. 2 63 -1

از چه نوع داده ای استفاده کنید

ممکن است بگویید انواع مختلفی وجود دارد، بنابراین کدام یک را باید استفاده کنید؟
بستگی به وظیفه ای دارد که به شما محول شده است. به عنوان مثال، شما به متغیری نیاز دارید که قد یک فرد خاص را در آن ذخیره کنید (مقدار واقعی): در این حالت، کافی است از نوع SINGLE استفاده کنید. اگر از متغیری برای شمارش تعداد اشیاء خاص استفاده می‌کنید (یک مقدار صحیح مثبت)، سپس بفهمید که آیا این عدد می‌تواند بزرگ‌تر از 255 باشد، اگر نه، از BYTE استفاده کنید، اگر می‌تواند، نمی‌توانید بدون WORD انجام دهید، و در برخی موارد موارد LONGINT نیز ممکن است مورد نیاز باشد.

برای کسب اطلاعات بیشتر در مورد انواع مختلف، Shift+F1 را در Turbo Pascal فشار دهید (یک پنجره فهرست راهنمای ظاهر می شود)، و سپس شی مورد نظر خود را انتخاب کنید (به عنوان مثال، نوع "نوع" یا "واقعی" را تایپ کنید).

هر داده - ثابت، متغیر، مقادیر تابع - در پاسکال با یک نوع داده مشخص می شود.

بیایید مفهوم را تعریف کنیم نوع داده. همانطور که قبلاً مشخص است، تمام اشیاء برنامه (متغیرها، ثابت ها و غیره) باید توصیف شوند.

توضیحات، اولاً مترجم را از وجود متغیرها و سایر اشیاء مورد استفاده مطلع می کند و ثانیاً ویژگی های این اشیاء را نشان می دهد. به عنوان مثال، توصیف متغیری که مقدار آن عدد است، ویژگی های اعداد را نشان می دهد. به طور رسمی، اعداد می توانند عدد صحیح و واقعی (کسری) باشند. در پاسکال، مانند سایر زبان های برنامه نویسی، اعداد به دو نوع تقسیم می شوند: کل(کلمه رزرو شده عدد صحیح) و واقعی(کلمه رزرو شده واقعی).

تفکیک اعداد صحیح به یک نوع جداگانه با این واقعیت توضیح داده می شود که در یک کامپیوتر، اعداد صحیح و واقعی به طور متفاوت نشان داده می شوند: یک عدد صحیح را می توان کاملاً دقیق نشان داد، اما یک عدد واقعی ناگزیر دارای مقداری خطای متناهی است که توسط ویژگی ها تعیین می شود. از مترجم

برای مثال، اجازه دهید متغیر x از نوع real و مقدار آن برابر با یک باشد: x=1 . مقدار مربوطه در حافظه کامپیوتر می تواند 0.999999999، 1.000000001 یا 1.000000000 باشد. اما اگر متغیر x به عنوان یک متغیر از نوع عدد صحیح اعلام شود، واحد در رایانه کاملاً دقیق نشان داده می شود و متغیر x قادر به گرفتن مقادیر واقعی (کسری) نخواهد بود - پس از همه، به این صورت توصیف شد. یک متغیر از نوع عدد صحیح

بنابراین نوع داده تعریف می کند:

  • نمایش داخلی داده ها در حافظه کامپیوتر؛
  • مجموعه مقادیری که مقادیر از این نوع می توانند بگیرند؛
  • عملیاتی که می توان روی مقادیری از این نوع انجام داد.

معرفی انواع داده ها یکی از مفاهیم اساسی زبان پاسکال است که در هنگام انجام عملیات انتساب متغیر به مقدار یک عبارت، متغیر و عبارت باید از یک نوع باشند. این بررسی توسط کامپایلر انجام می شود که جستجوی خطاها را بسیار ساده می کند و منجر به افزایش قابلیت اطمینان برنامه می شود.

بسیاری از انواع داده های زبان توربو پاسکال را می توان به دو گروه تقسیم کرد:

  • انواع استاندارد (از پیش تعریف شده). ;
  • انواع تعریف شده توسط کاربر (انواع تعریف شده توسط کاربر) .

انواع استاندارد توربو پاسکال عبارتند از:

  • نوع عدد صحیح – عدد صحیح;
  • نوع واقعی – واقعی;
  • نوع شخصیت – char;
  • نوع بولی – بولی;
  • نوع رشته – رشته ;
  • نوع اشاره گر – اشاره گر;
  • نوع متن – متن

انواع داده های سفارشی ترکیب های مختلفی از انواع استاندارد هستند.

انواع سفارشی عبارتند از:

  • نوع برشمرده شده؛
  • نوع فاصله؛
  • نوع اشاره گر؛
  • انواع ساختار یافته؛
  • نوع رویه ای

اظهار نظر. دسته بندی دیگری از انواع داده ها امکان پذیر است که بر اساس آن انواع به ساده و پیچیده تقسیم می شوند.

انواع ساده عبارتند از: نوع عدد صحیح، نوع واقعی، نوع کاراکتر، نوع منطقی، نوع برشماری و نوع فاصله.

نوع پیچیده نشان دهنده ترکیبات مختلف است انواع ساده(آرایه ها، رکوردها، مجموعه ها، فایل ها و ...)

انواع استاندارد

نوع داده استاندارد توسط خود زبان پاسکال تعریف می شود. هنگام استفاده از انواع استاندارد در یک برنامه، کافی است زیرمجموعه های انواع مورد نیاز (const، var) را مشخص کنید و سپس ثابت ها و متغیرهای مورد استفاده در برنامه را توضیح دهید. نیازی به استفاده از زیربخش Type نیست.

به عنوان مثال، اگر برنامه فقط از متغیرها استفاده کند:

i,j - عدد صحیح (اعداد صحیح)؛

x,y - واقعی (واقعی)؛

t,s - کاراکتر (شخصیت)؛

a,b - بولی (منطقی)

سپس فقط یک زیربخش از متغیرها مورد نیاز است - Var. بنابراین، در قسمت توصیفی برنامه، اعلان های متغیر به صورت زیر نوشته می شود:

انواع عدد صحیح

داده های این نوع فقط می توانند مقادیر صحیح را بپذیرند. در یک کامپیوتر، مقادیر یک نوع عدد صحیح کاملاً دقیق نشان داده می شوند. اگر متغیر منفی است، باید قبل از آن علامت «–» قرار گیرد، اگر متغیر مثبت باشد، علامت «+» را می توان حذف کرد. این نوع در مواردی ضروری است که مقداری را نمی توان تقریباً به عنوان یک عدد واقعی نشان داد. مثلاً تعداد افراد، حیوانات و غیره.

نمونه هایی از نوشتن مقادیر صحیح: 17، 0، 44789، -4، -127.

دامنه تغییرات داده های یک نوع عدد صحیح توسط پنج نوع استاندارد از اعداد صحیح تعیین می شود و در جدول ارائه شده است:

تایپ کنید دامنه اندازه بر حسب بایت
کوتاه -128...+128 1
عدد صحیح -32768...32767 2
Longint -2147483648...2147483647 4
بایت 0...255 1
کلمه 0...65535 2

دو نوع آخر فقط اعداد مثبت را نشان می دهند و سه نوع اول هم اعداد مثبت و هم منفی را نشان می دهند.

در متن برنامه یا هنگام وارد کردن داده از نوع عدد صحیح، مقادیر نوشته می شود بدون نقطه اعشار . مقادیر متغیر واقعی نباید از مقادیر مجاز تجاوز کند نوع (Shortint، Integer، Longint، Byte، Word) که برای توصیف متغیر استفاده شده است. مازادهای احتمالی در حین محاسبات به هیچ وجه کنترل نمی شوند که منجر به عملکرد نادرست برنامه می شود.

مثالی از استفاده از متغیر عدد صحیح

Var a:integer; ب: کلمه c:byte; شروع a:=300; (a به مقدار 300 اختصاص داده شده است) b:=300; (b تنظیم شده روی 300) c:=200; (c روی 200 تنظیم شده است) a:=b+c; (a روی 500 تنظیم شده است) c:=b; (خطا! متغیر c فقط می تواند مقادیر 255 را بگیرد. در اینجا متغیر c روی 500 تنظیم می شود که باعث سرریز شدن نتیجه می شود.) پایان.

انواع واقعی

مقادیر انواع واقعی تقریباً در یک رایانه نشان داده می شوند. محدوده تغییرات داده‌های نوع واقعی توسط پنج نوع استاندارد تعیین می‌شود: واقعی (Real)، دقت تکی (Single)، دقت دوگانه (Double)، دقت گسترده (Extended)، پیچیده (Comp) و در جدول ارائه شده است:

تایپ کنید دامنه تعداد ارقام قابل توجه اندازه بر حسب بایت
واقعی 2.9E-39...1.7E+38 11-12 6
تنها 1.5E-45...3.4E+38 >7-8 4
دو برابر 5E-324...1.7E+308 15-16 8
تمدید شده 3.4E-4951...1.1E+4932 19-20 10
Comp -2E+63+1...+2E+63-1 19-20 8

اعداد واقعی را می توان در دو قالب نمایش داد: نقطه ثابت و ممیز شناور.

فرمت نوشتن یک عدد نقطه ثابت مانند نماد ریاضی معمولی است عدد اعشاریبا قسمت کسری. به عنوان مثال، قسمت کسری با استفاده از یک نقطه از کل قسمت جدا می شود

34.5, -4.0, 77.001, 100.56

فرمت نشانه گذاری ممیز شناور هنگام نوشتن اعداد بسیار بزرگ یا بسیار کوچک استفاده می شود. در این قالب، عدد قبل از "E" در عدد 10 به توان بعد از "E" ضرب می شود.

1E-4 1*10-4
3.4574E+3 3.4574*10+3
4.51E+1 4.51*10+1

نمونه هایی از اعداد ممیز شناور:

عدد ضبط در پاسکال
0,0001 1E-4
3457,4 34574E-1
45,1 451E-1
40000 4E+4
124 0.124E+3
124 1.24E+2
124 12.4E+1
124 1240E-1
124 12400E-2

جدول از 5 تا 9 خط، ضبطی از همان عدد 124 را نشان می دهد. با تغییر موقعیت اعشار در مانتیس (نقطه شناور است، از این رو نام "ضبط عدد ممیز شناور") و در همان زمان با تغییر مقدار سفارش، می توانید مناسب ترین شماره های ضبط را انتخاب کنید.

نمونه ای از توصیف متغیرهای نوع واقعی.

نوع کاراکتر

مقادیر کاراکترها کاراکترهایی هستند که می توانند روی صفحه کلید کامپیوتر تایپ شوند. این به شما امکان می دهد متن را در برنامه ارائه دهید و عملیات مختلفی را روی آن انجام دهید: درج، حذف حروف و کلمات جداگانه، قالب بندی و غیره.

یک نوع کاراکتر با کلمه رزرو شده Char مشخص می شود و برای ذخیره یک کاراکتر طراحی شده است. داده های کاراکتر یک بایت در حافظه اشغال می کند.

قالب اعلان متغیر نمادین:

<имя переменной>: Char;

هنگام تعریف مقدار یک متغیر کاراکتر، کاراکتر به صورت آپستروف نوشته می شود. علاوه بر این، می توانید نماد مورد نیاز را با تعیین مستقیم آن تنظیم کنید مقدار عددیکد اسکی در این حالت، باید قبل از عددی که کد اسکی کاراکتر مورد نیاز را نشان می‌دهد، علامت # قرار دهید.

مثالی از استفاده از متغیرهای نوع کاراکتر:

Var c:char; (c یک متغیر از نوع کاراکتر است) شروع c:=’A’; (متغیر c به کاراکتر 'A' اختصاص داده می شود) c:=#65; (متغیر c نیز به کاراکتر A اختصاص دارد. کد اسکی آن 65 است) c:=’5’; (به متغیر c نماد 5، End اختصاص داده شده است. در اینجا 5 دیگر یک عدد نیست)

نوع بولی

نوع داده Boolean به نام ریاضیدان انگلیسی جورج بول، خالق رشته ریاضیات - منطق ریاضی، Boolean نامیده می شود.

فرمت اعلان یک متغیر نوع Boolean:

<имя переменной>: بولی;

داده های این نوع فقط می توانند دو مقدار داشته باشند:

  • صحیح صحیح؛
  • دروغ یک دروغ است.

داده های منطقی به طور گسترده در بررسی اعتبار شرایط خاص و در مقایسه کمیت ها استفاده می شود. نتیجه ممکن است درست یا نادرست باشد.

برای مقایسه داده ها، عملیات رابطه ای زیر ارائه شده است:

مثالی از استفاده از عملیات رابطه ای:

رابطه 5>3، نتیجه درست است.

رابطه 5=3، نتیجه نادرست است.

نمونه ای از استفاده از متغیرهای نوع Boolean.

Var a,b:boolean; (a,b متغیرهایی از نوع منطقی هستند) شروع a:=True; (متغیر a روی true تنظیم شده است) b:=false; (متغیر b روی false تنظیم شده است) پایان.

ثابت ها

اعداد صحیح، اعداد واقعی، کاراکترها، رشته های کاراکتر و ثابت های منطقی می توانند به عنوان ثابت استفاده شوند.

یک ثابت باید در قسمت توصیفی آن با استفاده از کلمه رزرو شده const اعلام شود.

فرمت اعلامیه ثابت

Const<имя константы>= <значение>;

اگر یک برنامه از چندین ثابت استفاده کند، تنها یکی مجاز است. کلمه کلیدی Const، شرح هر ثابت با نقطه ویرگول به پایان می رسد. یک بلوک ثابت با اعلان یک بخش دیگر یا اعلان یک بلوک از دستورات اجرایی به پایان می رسد.

Const (اعلام بخش ثابت) year=2003; (ثابت از نوع عدد صحیح، چون هیچ نقطه اعشاری در رکورد وجود ندارد) time=14.05; (ثابت نوع واقعی) N=24; (ثابت از نوع عدد صحیح، زیرا هیچ نقطه اعشاری در نماد وجود ندارد) P=3.14; (ثابت نوع واقعی) A=true; (ثابت بولی) str1=’7’; (ثابت نوع کاراکتر) str2=’A’; (ثابت نوع کاراکتر) str3=’Turbo’; (ثابت نوع رشته) Var (اعلان بخش متغیر) X,y:integer; (متغیرهای نوع عدد صحیح)

انواع سفارشی

از مجموعه انواع کاربر، ما فقط در نظر خواهیم گرفت

  • نوع برشمرده شده؛
  • نوع فاصله

هنگام مطالعه آرایه ها به این دو نوع نیاز خواهیم داشت.

نوع Enum

یک نوع داده شمارش شده انواع داده های جدیدی را توصیف می کند که مقادیر آنها توسط برنامه نویس تعریف می شود. یک نوع شمارش شده با شمارش مقادیری که می تواند دریافت کند مشخص می شود. هر مقدار با یک شناسه نامگذاری می شود و در لیستی قرار دارد که با پرانتز احاطه شده است. نوع شمارش شده یک نوع داده تعریف شده توسط کاربر است، بنابراین اعلام نوع آن با کلمه رزرو شده TYPE شروع می شود.

فرمت نوع Enum:

<имя типа>= (constant1,constant2,...,constantN);

جایی که
ثابت1، ثابت2،...، ثابتN - مجموعه مرتبی از مقادیر شناسه که به عنوان ثابت رفتار می شوند.

نمونه ای از توصیف نوع برشماری شده:

تایپ توپ=(یک، دو، سه، چهار، پنج); var t:ball;

در اینجا توپ نام نوع برشمرده شده است. یک، دو، سه، چهار، پنج - ثابت. t متغیری است که می تواند هر مقدار ثابتی را بگیرد.

در یک نوع شمارش شده، یک ثابت یک شناسه است، بنابراین نقل قول نمی شود و نمی تواند عدد باشد. بنابراین، در یک نوع برشماری، یک ثابت نوع خاصی از ثابت است که نمی تواند باشد:

  • ثابت های نوع عددی: 1، 2، 3، 4، و غیره.
  • ثابت های نوع کاراکتر: "a"، "s"، "1"، "3"، و غیره.
  • ثابت های نوع رشته: "اول"، "دوم" و غیره.

علاوه بر این، عملیات حسابی و رویه‌های استاندارد ورودی و خروجی Read و Write برای مقادیر از این نوع قابل اعمال نیستند.

مثالی از استفاده از متغیرهای شمارش شده:

روزهای نوع = (دوشنبه، سه شنبه، چهارشنبه، پنجشنبه، جمعه، شنبه، یکشنبه)؛ روز وار: روز؛ begin if day = Sunday then writeln('امروز یکشنبه است!'); پایان.

عناصری که در تعریف نوع شمارش شده گنجانده شده اند به ترتیبی که به ترتیب شمارش شده اند، مرتب می شوند. شماره گذاری از صفر شروع می شود. بنابراین، در مثال ارائه شده، روزهای هفته دارای شماره سریال زیر هستند

برای تعیین برنامه‌ای عدد ترتیبی، از تابع Ord() استفاده می‌شود.

در مثال ما، اعداد دنباله ای برابر هستند:

مرتبه (دوشنبه) = 0;

سفارش (شنبه) = 5;

Ord (یکشنبه) = 6.

نوع فاصله

اگر متغیری همه مقادیر از نوع خود را نپذیرد، بلکه فقط مقادیر موجود در یک محدوده خاص را بپذیرد، این نوع داده را نوع بازه ای می نامند. نوع فاصله اغلب نوع محدود و نوع محدوده نامیده می شود. یک نوع فاصله با مرزهای مقادیر آن تعریف می شود:

<минимальное значение>..<максимальное значение>

  • دو کاراکتر ".." به عنوان یک کاراکتر در نظر گرفته می شوند، بنابراین فاصله بین آنها مجاز نیست.
  • مرز سمت چپ محدوده نباید از مرز راست آن تجاوز کند.

نوع فاصله یک نوع داده تعریف شده توسط کاربر است، بنابراین اعلان این نوع با شروع می شود کلمه تابعتایپ کنید.

نمونه ای از توصیف نوع فاصله:

تایپ رقم = 1..10; ماه = 1..31; lat = 'A'..'Z';

یک نوع داده مجموعه ای از مقادیر معتبر و مجموعه ای از عملیات معتبر را تعریف می کند.

انواع ساده

انواع ساده به ORDINAL و REAL تقسیم می شوند.

1. انواع سفارشی , به نوبه خود وجود دارد:

الف) کل

پاسکال 5 نوع عدد صحیح را تعریف می کند که بسته به علامت و مقداری که متغیر می گیرد تعیین می شود.

اسم را تایپ کن

طول (بر حسب بایت)

محدوده ارزش ها

32 768...+32 767

2 147 483 648...+2 147 483 647

ب) منطقی

نام این نوع BOOLEAN است. مقادیر بولی می تواند یکی از ثابت های بولی باشد: TRUE (درست) یا FALSE (نادرست).

ج) نمادین

نام این نوع CHAR است - 1 بایت را اشغال می کند. مقدار یک نوع کاراکتر مجموعه ای از تمام کاراکترهای رایانه شخصی است. به هر کاراکتر یک عدد صحیح در محدوده 0…255 اختصاص داده می شود. این عدد به عنوان کدی برای نمایش داخلی نماد عمل می کند.

2. انواع واقعی .

بر خلاف انواع ترتیبی، که مقادیر آنها همیشه به یک سری اعداد صحیح نگاشت می شوند و بنابراین کاملاً دقیق در رایانه شخصی نشان داده می شوند، مقادیر انواع واقعی یک عدد دلخواه را تنها با دقت محدودی بسته به قالب داخلی اعداد واقعی تعریف می کنند. .

طول نوع داده عددی، بایت

نام نوع داده عددی

تعداد ارقام مهم یک نوع داده عددی

محدوده ترتیب اعشاری یک نوع داده عددی

2*1063 +1..+2*1063 -1

انواع ساختار یافته

انواع داده های ساختاریافته مجموعه مرتبی از متغیرهای اسکالر را تعریف می کنند و با نوع اجزای آنها مشخص می شوند.

انواع داده های ساختاریافته، بر خلاف انواع ساده، مقادیر پیچیده زیادی را با یک نام مشترک تعریف می کنند. می توان گفت که انواع ساختاری روش خاصی را برای تشکیل انواع جدید از انواع موجود تعیین می کند.

چندین روش ساختاری وجود دارد. با توجه به روش سازماندهی و نوع اجزاء در انواع داده های پیچیده، انواع زیر متمایز می شوند: نوع معمولی (آرایه ها). نوع ترکیبی (سوابق)؛ نوع فایل (فایل ها)؛ چندین نوع؛ نوع رشته (رشته ها); در زبان توربو پاسکال نسخه 6.0 و بالاتر، یک نوع شی (اشیاء) معرفی شد.

بر خلاف انواع داده های ساده، داده های نوع ساختار یافته با تعدد عناصری که این نوع را تشکیل می دهند، مشخص می شود. یک متغیر یا ثابت از نوع ساختاریافته همیشه دارای چندین مؤلفه است. هر جزء، به نوبه خود، می تواند به یک نوع ساختار یافته تعلق داشته باشد، به عنوان مثال. تودرتو از انواع امکان پذیر است.

1. آرایه ها

آرایه ها در توربو پاسکال از بسیاری جهات شبیه به انواع داده های مشابه در سایر زبان های برنامه نویسی هستند. ویژگی متمایز آرایه ها این است که تمام اجزای آنها داده هایی از یک نوع (احتمالاً ساختار یافته) هستند. این اجزا را می توان به راحتی سازماندهی کرد و به سادگی با تعیین شماره سریال به هر یک از آنها دسترسی داشت.

شرح آرایه به صورت زیر مشخص می شود:

<имя типа>= آرایه[<сп.инд.типов>] از<тип>

اینجا<имя типа>- شناسه صحیح؛

آرایه، از – کلمات رزرو شده (آرایه، از);

<сп.инд.типов>- لیستی از یک یا چند نوع شاخص که با کاما از هم جدا شده اند. پرانتزهای مربعی که لیست را قاب بندی می کنند یک الزام دستوری است.

<тип>- هر نوع توربو پاسکال

هر نوع ترتیبی را می توان به عنوان انواع شاخص در توربو پاسکال استفاده کرد، به جز انواع LongInt و محدوده با نوع پایه LongInt.

عمق تودرتو انواع ساختار یافته به طور کلی و در نتیجه آرایه ها دلخواه است، بنابراین تعداد عناصر موجود در فهرست شاخص های نوع (اندازه آرایه) محدود نیست، با این حال، طول کل نمایش داخلی هر آرایه نمی تواند باشد. بیش از 65520 بایت باشد.

2. سوابق

رکورد یک ساختار داده ای است که از تعداد ثابتی اجزا تشکیل شده است که فیلدهای رکورد نامیده می شوند. برخلاف آرایه، اجزای (فیلدها) یک رکورد می توانند باشند انواع مختلف. برای ایجاد امکان ارجاع به یک یا آن جزء از یک رکورد، فیلدها نامگذاری می شوند.

ساختار یک اعلان نوع پست به صورت زیر است:

< نامنوع>= ضبط< سرمایه گذاری مشترک. زمینه های> پایان

اینجا<имя типа>- شناسه صحیح؛

RECORD، END - کلمات رزرو شده (رکورد، پایان)؛

<сп.полей>- لیست فیلدها؛ دنباله ای از بخش های یک رکورد است که با نقطه ویرگول از هم جدا شده اند.

3. مجموعه

مجموعه ها مجموعه ای از اشیاء از یک نوع هستند که به طور منطقی به یکدیگر متصل هستند. ماهیت اتصالات بین اشیا فقط توسط برنامه نویس ذکر شده است و به هیچ وجه توسط توربو پاسکال کنترل نمی شود. تعداد عناصر موجود در یک مجموعه می تواند از 0 تا 256 متغیر باشد (مجموعه ای که حاوی عناصر نباشد خالی نامیده می شود، این عدم ثبات تعداد عناصر آن است که مجموعه ها با آرایه ها و رکوردها متفاوت هستند).

دو مجموعه اگر و تنها در صورتی معادل در نظر گرفته می شوند که همه عناصر آنها یکسان باشند و ترتیب عناصر مجموعه بی تفاوت باشد. اگر تمام عناصر یک مجموعه در مجموعه دیگری نیز گنجانده شود، مجموعه اول در مجموعه دوم گنجانده شده است.

توضیحات نوع مجموعه عبارت است از:

< نامنوع>=مجموعه< پایه ها. نوع>

اینجا<имя типа>- شناسه صحیح؛

SET، OF - کلمات رزرو شده (مجموعه، از)؛

<баз.тип>- نوع پایه عناصر مجموعه که می تواند هر نوع ترتیبی به جز WORD، Integer و LONGINT باشد.

برای تعریف یک مجموعه، به اصطلاح سازنده مجموعه استفاده می شود: لیستی از مشخصات عناصر مجموعه، که با کاما از یکدیگر جدا شده اند. لیست با پرانتز احاطه شده است. مشخصات عنصر می تواند ثابت یا عبارتی از یک نوع پایه و همچنین یک نوع محدوده از همان نوع پایه باشد.

4. فایل ها

یک فایل به یکی از مناطق نامگذاری شده اشاره دارد حافظه خارجیرایانه شخصی یا دستگاه منطقی منبع یا گیرنده بالقوه اطلاعات است.

هر فایلی دارای سه ویژگی مشخصه است

    یک نام دارد که به برنامه اجازه می دهد با چندین فایل به طور همزمان کار کند.

    شامل اجزایی از همان نوع است. نوع کامپوننت می تواند هر نوع Turbo Pascal باشد، به جز فایل ها. به عبارت دیگر، شما نمی توانید یک "فایل فایل ها" ایجاد کنید.

    طول فایل جدید ایجاد شده به هیچ وجه هنگام اعلام آن مشخص نمی شود و تنها با ظرفیت دستگاه های حافظه خارجی محدود می شود.

نوع فایل یا متغیر نوع فایل را می توان به یکی از سه روش مشخص کرد:

< نام>= فایل از< نوع>;

< نام>=TEXT;

<имя>= فایل؛

اینجا<имя>- نام نوع فایل (شناسه صحیح)؛

FILE، OF – کلمات رزرو شده (فایل، از)؛

TEXT - نام نوع استانداردفایل های متنی؛

<тип>- هر نوع توربو پاسکال، به جز فایل ها.

بسته به روش اعلام، سه نوع فایل قابل تشخیص است:

· فایل های تایپ شده (تنظیم شده توسط بند FILE OF...).

· فایل های متنی(تعریف شده با نوع TEXT)؛

· فایل های تایپ نشده (تعریف شده توسط نوع FILE).

درباره تبدیل انواع داده های عددی پاسکال

تبدیل ضمنی (خودکار) انواع داده های عددی در پاسکال تقریبا غیرممکن است. استثنا فقط برای نوع عدد صحیح است که مجاز به استفاده در عبارات نوع real است. برای مثال، اگر متغیرها به صورت زیر تعریف شوند:

Var X: عدد صحیح. Y: واقعی

سپس اپراتور

از نظر نحوی صحیح خواهد بود، اگرچه یک عبارت عدد صحیح در سمت راست علامت تخصیص و یک متغیر واقعی در سمت چپ وجود دارد، کامپایلر انواع داده های عددی را به طور خودکار تبدیل می کند. تبدیل معکوس خودکار از نوع واقعی به عدد صحیح در پاسکال غیرممکن است. بیایید به یاد بیاوریم که چند بایت برای متغیرهای نوع صحیح و واقعی تخصیص داده می شود: 2 بایت حافظه برای عدد صحیح نوع داده و 6 بایت برای واقعی اختصاص داده می شود. دو تابع داخلی برای تبدیل واقعی به عدد صحیح وجود دارد: round(x) x واقعی را به نزدیکترین عدد صحیح گرد می کند، trunc(x) یک واقعی را با دور انداختن قسمت کسری کوتاه می کند.

اشتراک گذاری