جواب بالایی رو یخورده اصلاح کردم!

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: