آشنایی با داده های پاسکال

انواع داده ها

داده ها در کل دو نوع هستند :

1.     داد ه های ساده

2.     داده های پیچیده

داده های ساده

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

1.    داده های عددی

داده های عددی عبارتند از :

                                i.      اعداد صحیح integer

                              ii.      اعداد اعشاری  real

داده های عددی صحیح :( integer)  

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

نکته: اعداد صحیح در دامنه -32768تا 32767 می باشد


Byte   0.. 65535

Short int -128    تا 127
integer -32768 تا 32767
Word    0.. 65535
Longint -2147483648 تا 2147483647

داده های عددی اعشاری یا حقیقی :((real

زمان اجرا از اعداد صحیح حافظه اشغال می کند .6  بایت از حافظه را اشغال می کند .

نکته:اعداد اعشاری در دامنه 39-2/9*10 تا 1/7*1038 تغییر می کند .

 

 

Memory required (bytes)

Significant digits

Range

type

6

11-12

2.9e-39

1.7e38

real

4

7-8

1.5e-45

3.4e38

single

8

15-16

5.0e-324

1.7e308

double

10

19_20

3.4e-4932

1.1e4932

extended

8

19_20

-2e63+1

2e63-1

comp

در مورد اعداد اعشاری به نکات زیر توجه کنید:

1.  اگر روی دو نوع عدد اعشاری و صحیح عمل محاسباتی انجام دهید , نتیجه یک عدد اعشاری خواهد بود . عدم توجه به این نکته می توان در نوشتن بر نامه مشکلاتی ایجاد کند .

2.     کامپیوتر اعداد اعشاری را به نماد اعشاری نشان می دهد .

2.داده های غیر عددی

دو نوع می باشند :

1.     داده های نوع متن

2.     داده های boolean

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

1.     داده نوع کاراکترchar

2.     رشته کاراکتر ها یا string

داده های کاراکتری :( char)

کراکتر یک حرف  الفبا یا یک رقم و یا یک علامت ویژه است .مثل 'g'یا'5'یا'&' و باید داخل آپوستروف  باشد .از char, برای پاسخگویی به سوالات صفحه نمایش  و  از رشته,جهت دادن پیغام به اپراتور استفاده می شود . نوعی از داده ها به نام text  نیز وجود دارد که به عنوان نوعی فایل مورد استفاده قرار می گیرد .داده های کاراکتری شامل یک کاراکتر از جدول اسکی می باشدو یک بایت از حافظه را اشغال می کند که طولشان یک کاراکتر می باشد .مثل 'a'

نکته:

اگر کاراکتر ی را به خواهیم به صورت خنثی در نظر بگیریم داخل علامت کوتیشن قرار می دهیم.

رشته ها (string):

(لازم بذکر است که داده رشته ایی فقط در توربو پاسکال موجود است)

برای ذخیره سازی اطلاعات متنی بکار می ر وند حالت آنها شبیه آرایه هاست . مثلاً کلمه program آرایه ای است که محتوای آن حروف کلمه هستند .

S name: String [20];

وقتی می گوییم[20] String یعنی 21 بایت از حافظه را اشکال می کند اولین بایت مربوط به طول رشته است .

 

داده های boolean یاداده های نوع منطقی

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

1.     درست یا true

2.     نادرست یا false

این نوع داده ها را boolean یا د اده های بولی بنام George  Bool  دانشمند ریاضی می نامند .

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

داده های پیچیده

داده های پیچیده شامل موارد زیر می باشد :

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

آرایه :

آرایه را به صورت یک جدول یک بعدی (سطر یا ستونی)و یا دو بعدی و یا جند بعدی در نظر بگیرید . ابتدا باید نام آرایه ,سپس تعداد عناصر و نوع آنها را مشخص نمود . به هر عنصر از آرایه توسط نام آن و اندیسی که داخل کروشه می گذاریم مراجعه می نماییم.در کل آرایه متغییری است که داده های متعددی را که همگی از یک نوع می باشند را درخود ذخیره می کند شکل تعریف آن به صورت زیر می باشد.

نام متغییر  =array[lowerlimit(حد پایین)• •uplimit((حدبالا]of basetype(نوع ارایه) ;

 

مثال :

نام آرایه avrageمی خواهیم معدل های بین 20 تا 12 را اعشاری و صحیح نشان دهد ؟

Average= array [12 ••20] of real

 

رکورد :

یک رکورد ترکیب چند نوع داده در داخل یک نوع داده جدید می باشد .مثلا   اطلاعات دانشجویی ,می تواند شامل نام دانشجو, آدرس و معدل نمرات او باشد و یک رکورد را در بخش type معرفی می کنیم  و معرفی آن با کلمه end  پایان می پذیرد.

Record Type = record

              Field 1 name : field 1 Type ; 

              Field 2 name : field 2 Type ;     

end;

حالت ترکیبی در یک رکورد امکان پذیر است همچنین یک رکورد می تواند از نوع ساده یا ترکیبی باشد مثلاً رکورد Address (آدرس) یا Age (سن)

مثال برای Age :

 Age : integer (صحیح ) 

YY :  (سال )

MM : (  ماه )

DD :  ( روز )

مثال

برای رکورد Student  

Student = record

نام   Sname : String (رشته)  [15] (طول رشته );

سن Age : integer  صحیح));

end;

داده های نوع اشاره گر (pointers)         

این نوع داده ها آدرس متغییر ها را در خود دارند.

Type

My first pointer=^integer;

My second pointer=^ My pointer data item;

My pointer data item=record

                                Name:  string10;

                                Age   :  integer;

                                Paid   :  boolean;

                                End;

Var

Numptr : My first pointer ;

Recptr   : My second pointer ;

ثابت Const

یک مقدارعددی یا یک رشته را به یک شناسه نسبت دهیم یعنی اگر عنصر داده در سراسر بر نامه ثابت باقی بماند .

تعریف یک ثابت به صورت کلی زیر است :

Const

نام شناسه =مقدار ثابت  ;

 

خلاصه ای در مورد عملگر ها

خلاصه فصل چهارم

دربرنامه نویسی  ساخت یافته یک برنامه به قسمت های کوچکتر و ساده ترتقسیم می شوددرهر قسمت, بر نامه نویسی به صورت مستقل انجام می شود.

ساختار بر نامه پاسکال از 3 قسمت اصلی ساخته شده   است:

1.     عنوان

2.     تعریف

3.     بدنه بر نامه

بخش عنوان شامل

1.     PROGRAM      نام برنامه  ;

2.     PROCEDURE    نام زیر برنامه;

3.     Function    نام زیر برنامه;

4.     Unit   نام;

بخش تعریف شامل

1.     بخش بر چسب

2.     بخش ثابت

3.     بخش نوع

4.     بخش متغییر ها

بخش بدنه شامل

1.     کلمات رزرو شده

2.     شناسه ها

3.     ثابت ها

4.     نماد ها

شناسه دارای 2 قسمت است :

1.     شناسه استاندارد

2.     شناسه تعریف شده توسط کاربر

انواع ثابتها

1.ثابت عددی                           2.ثابت رشته ای

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

1) ثابت های بدون نوع (const )        X=45         یا          Test="Turbo"

2) ثابت های دارای نوع( =20                (canst صحیح   x=integer  è 

تفاوت ثابت و متغییر

ثابت داده ای که در طول بر نامه تغییر نمی کند در حالیکه داده متغییر در زمانهای مختلف مقادیر متغییر را در خود دارد ثابت و متغییر می توانند هر یک از انواع داده را شامل باشند .

3 نوع عملگر وجود دارد

1.     عملگرهای حسابی یا ریاضی یا محاسباتی  

2.     عمل گرهای منطقی

3.     عمل گر مقایسه ای