انواع داده : مبحث تکمیلی
-
Upload
rae-mccarty -
Category
Documents
-
view
52 -
download
0
description
Transcript of انواع داده : مبحث تکمیلی
![Page 1: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/1.jpg)
1
انواع داده : مبحث تکمیلی
:تهیه و تنظیم فاطمه قاسمی
دانشگاه صنعتی شریف – 86پاییز
![Page 2: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/2.jpg)
2
مروری بر مطالب
با نوع های تعریف شده در پاسکال استاندارد آشناشدیم:
Boolean, char, real, Integer با نوع دادهstring.در توربو پاسکال آشنا شدیم
.با نوع های دیگر آشنا خواهیم شد پاسکال به ما اجازه می دهد تا برای خودمان نوع
داده تعریف کنیم.
![Page 3: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/3.jpg)
3
انواع داده های صحیح
نوع بازه
byte 0..255
shortInt -128..127
Integer -32768..32767
Word 0..65535
LongInt -2147483648...2147483647
![Page 4: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/4.jpg)
4
انواع داده های حقیقی
نوع بازه
single 1.5E-45..3.4E38
real 2.9E-39..1.7E38
double 5.0E-324..1.7E308
extended 1.9E-4951..1.1E4932
![Page 5: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/5.jpg)
5
توابع ترتیبی
نوع داده هایinteger، boolean و char به عنوان داده های ترتیبی طبقه بندی می شوندو
Ord موقعیت نسبی یک مقدار ترتیبی را در سری : مقادیر مربوط به خودش تعیین می کند.
Pre.عنصر قبل از پارامترش را نشان می دهد : Succعنصر بعد از پارامترش را نشان می دهد :
![Page 6: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/6.jpg)
6
داده تعريف يک نوع
Typeنوع داده جديد = نام دلخواه ;
Varهمان نام دلخواه : نام متغير ;
![Page 7: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/7.jpg)
7
انواع زیر داده ای
زیر بازه زیرمجموعه ای از مقادیر وابسته به نوعترتیبی خاص است
: نوع ترتیبیinteger, char, boolean حوزه مقادیر مجاز برای یک متغیر ترتیبی را نشان
می دهد. ،اگر به یک متغیر مقداری خارج از محدوده داده شود
خطا رخ می دهد.
![Page 8: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/8.jpg)
8
انواع زیر داده ای )ادامه(
اولین زیر بازه از نوع میزبانinteger.است نوع میزبان توسط دو مقدار که زیر بازه را مشخص
می کند تعیین می شود که عدد ترتیبی اولین مقدار بایستی کوچکتر یا مساوی عدد ترتیبی دوم باشد.
کلیه اعمالی که برای نوع میزبان معتبر است، رویهر نوع زیربازه- اش نیز می تواند انجام شود.
Type
Days = 1 .. 31 ;
Letters = ‘A’ .. ‘Z’ , ‘a’ .. ‘z’ ;
Var
a, b : Days;
c : Letters;
![Page 9: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/9.jpg)
9
انواع زیر داده ای )ادامه(
نوع دیگری از تعریف آرایهType
matrix : array[1..10,1..10] of byte;
Var
a,b,c: matrix;
![Page 10: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/10.jpg)
10
ترتیب تعاریف در پاسکال
در پاسکال استاندارد، تعریف نوع داده یا هر نوعتعریف شده توسط کاربر، باید بین تعریف ثابت ها و
متغیرها باشد:تعریف ثابت هاتعریف نوع هاتعریف متغیرهاتعریف رویه ها و توابع
در توربو پاسکال به این ترتیب نیازی نیست و تنهاباید هر نوع داده قبل از اولین استفاده اش تعریف
شده باشد.
![Page 11: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/11.jpg)
11
نوع های مشابه
داده تشابه دارند، هنگامی در توربو پاسکال دو نوعکه:
.طوری تعریف شوند که مشابه یکدیگر باشند هر نوع داده تعریف شده، مشابه نوع شناسه سوم
باشد.Type
Numbers = Integer;
posAndNeg = Numbers;
IntType = PosAndNeg;
Type
percent = 1...100;
hundred = 1..100;
![Page 12: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/12.jpg)
12
سازگاری نوع
:دو نوع داده در توربو پاسکال با هم سازگارندتشابه نوع دارند هر دو نوع از انواع صحیح باشند که لزومی ندارد هر دو
یک نوع صحیح باشند. از نوع های حقیقی باشند که لزومی ندارد هر دو یک
نوع حقیقی باشند..یک نوع زیربازه ای از دیگری باشد.هر دو نوع زیربازه ای از یک نوع میزبان باشند
![Page 13: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/13.jpg)
13
سازگاری انتساب
در توربو پاسکال یک عبارت با یک متغیر سازگاریانتساب دارد:
نوع آن ها یکسان باشد سازگاری نوع داشته باشند و مقدار عبارت در بازه
ممکن برای متغیر باشد متغیر یکی از انواع حقیقی باشد، نوع عبارت صحیح
باشد و مقدار عبارت، در بازه ممکن برای متغیر باشد.
![Page 14: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/14.jpg)
14
انواع شمارشی
Type
Seasons = (spring, summer, fall, winter);
Var
s : seasons;
Begin
if s=spring then writeln(‘all months have 31 days’);
![Page 15: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/15.jpg)
15
)ادامه( انواع شمارشی
مقادیر یک نوع شمارشی، شناسه است و نمیتواند عدد، کاراکتر یا رشته ای از حروف باشد.
مقادیر و ترتیب مربوط به این نوع در لیستشناسه ها مشخص می شود
Type
day = (Sunday, Monday,Tuesday, Wednesday, Thursday, Friday);
Sunday<monday
![Page 16: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/16.jpg)
16
)ادامه( انواع شمارشی
متغیرها از نوع شمارشی توسط هر کدام ازمقادیر لیست شده منسوب شوند.
توابع ترتیبیord, pre, succ قابل استفاده است و صدق می <,>,=,><در رابطه های ترتیبی
کنند.
![Page 17: انواع داده : مبحث تکمیلی](https://reader036.fdocument.pub/reader036/viewer/2022081809/56812ad9550346895d8ec014/html5/thumbnails/17.jpg)
17
خواندن و نوشتن مقادیر با نوع شمارشی
Type
color = (Red,Green,Blue, Yellow);
Var
eyes : color;
Begin
eyes := red;
write(ord(eyes));
end.