جواب بالایی رو یخورده اصلاح کردم!
data type تشکیل شده از یه مجموعه داده و یه مجموعه از عملگرها (البته یسری اصول هم داره که فعلا بی خیال) ?خوب با این دید به نوع داده همونطور که خودت هم میدونی تنها لازمه مجموعه داده و عملگر ها رو معرفی کنی یعنی همون چیزی که در بالا نوشتم.
مجموعه داده :
a/b={(a,b) | a e IN , b e IN}
که مجموعه داده تعریف شده در بالا میگه ما با اعدادی سر و کار داریم که از دو جزء a و b تشکیل شدند که هر دو تاشون هم مقدار صحیح میگیرن .حالا شما میتونی توی برنامت این دو جزء رو مثلا توی دوتا خونه یه آرایه ذخیره کنی مثلا:
Type AdaDGooya=array[1..2] of integer;
در مورد کد function یا همون عملگرها هم که توضیح دادم . مثلا یه پیاده سازی از function جمع میتونه به این صورت باشه:
Procedure ADD(a,b:AdaDGooya,var c:AdaDGooya);
BEGIN
c[1]:=(a[1]*b[2]+b [1]*a[2]);
c[2]:=(a[2]*b[2]&# 41;;
END;
و در مورد فراخوانی اول دوتا متغیر از نوع AdaDGooya رو تعریف میکنی:
Var M,N,P:AdaDGooya;
و در نهایت :
M[1]:=2; { مقداردهی M و N }
M[2]:=7;
N[1]:=6;
N[2]:=13;
ADD(M,N,P);
توی کد بالا فرض کردم که قسمت صحیح رو توی عنصر اول آرایه میریزی و مخرج رو توی عنصر دوم.
امیدوارم خوب توضیح داده باشم :)
در مورد ID ایم هم از عمد اینو گذاشتم که دیگرانو بترسونم :evil2: