نوع داده مجموعه
مجموعه ها : متغییر های ساخت یافته ای هستند که حاوی لیستی از اعداد صحیح ، کارکترها و یا مقادیری از نوع شمارشی هستند. یک مجموعه شبیه آرایه أی است که می تواند گروهی از اعضای ساده را در خود جای دهد . البته اعضای یک مجموعه شبیه یک آرایه تعریف نمی شود.
تعریف مجموعه ها :
یک مجموعه یا متغیر مجموعه درست همانطور که انواع ساخت یافته دیگر را تعریف می کنیم ، تعریف می شود .
تعاریف :
type
digitset = set of 0..9; (set type of integer elements)
var
odds,Evens,Middle,Mixed:Digitset: (4sets)
نوع مجموعه digitset و چهار متغیر Mixed,Middle,Evens,Odds را تعریف می کنند. هر متغیر مجموعه از نوع digitset می تواند حاوی اعداد صحیح 0 تا 9 باشد. اگرچه برای چهار مجموعه حافظه تخصیص داده می شود. ولی محتویات آنها نامعین است. برای اینکه بتوانیم با یک مجموع کار کنیم، باید آن را با استفاده از یک انتصاب مجموعه تعیین کنیم.
تعریف نوع مجموعه
شکل استفاده
type
set type= set of base type
مثال :
type
letter set = set of ‘A’ .. ‘z’ :
شرح : شناسه set type از روی مقادیر مشخص شده و در base type تعیین می شود. یک متغیر که از نوع set type تعریف می شود ، مجموعه أی است که اعضای آن از مقادیر base type انتخاب می شوند. البته base type باید از نوع ترتیبی باشد.
تذکر : در بیشتر پیاده سازی ها تعداد مقادیر base type از یک مجموعه محدود می شود. به همین دلیل می تواند set of char را به عنوان یک مجموعه تعیین کنید. با وجود این محدودیت نمی توانید از نوع داده Integer به عنوان یک base type استفاده کنید ، اما می توانید زیر بازه های از نوع Integer را تا 128 یا 256 مقدار به کار مقادیری را به دو متغیر مجموعه که در مثال فوق تعریف شده اند ، نسبت می دهد.
لیستی از مقادیر از نوع اصلی مجموعه هستند که در داخل دو کروشه محصور شده اند. بعد از این انتسابها مجموعه odds حاوی ارقام فرد 0 تا 9 است و مجموعه Evens حاوی ارقام زوج این بازه است. می توانیم از این دو مجموعه برای تعیین اینکه یک متغیر دارای ارقام فرد یا زوج است ، استفاده کنیم.
لیترال مجموعه أی [ ‘0’ '9’ ,’+’ ‘-‘ , ‘E’ ‘.’ ] مجموعه أی از کاراکترهاست که می توانند در یک عدد حقیقی وجود داشته باشند. این مجموعه حاوی 14 عضو است. در اینجا از نماد زیر بازه "0" .. "9" استفاده کرده ایم که بهتر از این است که 10 کاراکتر رقمی را به طور جداگانه بنویسیم.
لیترال مجموعه ای
شکل استفاده :
List of elements
[ ‘+’, ‘-‘ , ‘*’ , ‘/’ , ‘<’ ,="" ‘="">’ , ‘=’]
شرح : یک مجموعه به این صورت تعریف می شود که اعضای آن یعنی List of elements در دو کروشه محصور شوند. اعضای یک مجموعه باید از نوع ترتیبی یکسان باشند و یا از انواع ترتیبی سازگار باشد. کاماها اعضای List of elements را از هم جدا می کنند. گروهی از اعضا ممکن است با نماد زیر بازه مشخص شوند. (یعنی به صورت minavalue.maxvalue باشند که maxvalue , minvale عباراتی از نوع سازگار با هم هستند و minvalue کوچکتر یا مساوی maxvalue است.
انتساب مجموعه
شکل استفاده :
set var: = set expression
Uppercase:= [‘A’..’Z’] (set of uppercase letters)
شرح : متغیر set var به عنوان مجموعه تعیین می شود که اعضای آن توسط set expression مشخص می شوند. Set expression ممکن است به تناوب دستکاری دو یا چند مجموعه را با استفاده از عملگر های مجموعه مشخص کند. نوع اصلیset var و set expression باید باهم سازگار باشند و همه اعضای set expression باید شامل نوع اصلی set var باشند.
’>