רעיון בפסקל...

רעיון בפסקל...

יש לי את הunit הבא שעוסק בנק':
unit point; interface type point_type=array[1..2] of real; {x and y of point} procedure point_init(var p:point_type; x,y:real); function point_getx(p:point_type):real; function point_gety(p:point_type):real; procedure point_copy(source:point_type; var target:point_type); procedure point_print(p:point_type); function is_equal(p,p1:point_type):boolean; function dist(p1,p:point_type):real; function distr(p:point_type):real; {distance from 0,0} procedure point_middle(var p_middle:point_type;p1,p2:point_type); procedure point_move(var p_move:point_type;dx,dy:real); implementation procedure point_init(var p:point_type; x,y:real); begin p[1]:=x; p[2]:=y; end; function point_getx(p:point_type):real; begin point_getx:=p[1]; end; function point_gety(p:point_type):real; begin point_gety:=p[2]; end; procedure point_copy(source:point_type; var target:point_type); begin target[1]:=source[1]; target[2]:=source[2]; end; procedure point_print(p:point_type); begin writeln('(',p[1]:3:2,',',p[2]:3:2,')'); end; function is_equal(p,p1:point_type):boolean; begin is_equal:= (p[1]=p1[1]) and( p[2]=p1[2]) end; function dist(p1,p:point_type):real; begin dist:=sqrt(sqr(p[1]-p1[1])+sqr(p[2]-p1[2])) end; function distr(p:point_type):real; begin distr:=sqrt(sqr(p[1])+sqr(p[2])); end; procedure point_middle(var p_middle:point_type;p1,p2:point_type); var p_x,p_y:real; begin p_x := (p1[1]+p2[1])/2; p_y := (p1[2]+p2[2])/2; point_init(p_middle,p_x,p_y); end; procedure point_move(var p_move:point_type;dx,dy:real); begin point_init(p_move,point_getx(p_move)+dx,point_gety(p_move)+dy); end; begin end.​
אני צריך רעיון ל4 פעולות שמשתמשות בpoint (הunit) דוגמאות: אתחל מלבן, הזז מלבן, הקף פוליגון... פשוט פעולות שמשתמשות בפונ' ובפרו' שבunit (וגם בטיפוס) למישהו יש רעיונות?
 
למעלה