Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. program task1;
  2. uses SysUtils,Math;
  3. type
  4. Point = record
  5. x,y:integer;
  6. end;
  7. var
  8. a:double;
  9. iscorrect:boolean;
  10. Arr:array of Point;
  11. i,num,s,sum:Integer;
  12. function getInt(min,max:integer):integer;
  13. begin
  14. repeat
  15. try
  16. read(result);
  17. if((result>0)and (result<20)) then
  18. iscorrect:=true
  19. else
  20. begin
  21. iscorrect:=false;
  22. writeln('ошибка.введите заново');
  23. end;
  24. except
  25. iscorrect:=false;
  26. writeln('ошибка.введите заново');
  27. end;
  28. until iscorrect;
  29. end;
  30. function getPoint:point;
  31. begin
  32. result.x:=getInt(20,58);{(Integer.M,Integer.MaxValue);}
  33. result.y:=getInt(20,58);{(Integer.MinValue,Integer.MaxValue); }
  34. end;
  35. begin
  36. sum:=0;
  37. writeln('введите количество вершин:');
  38. num:=getInt(2,8);
  39. setLength(Arr,num);
  40. writeln('введите координаты вершин');
  41. Dec(num);
  42. for i:=1 to (num+1) do
  43. begin
  44. writeln('введите координаты ',i,' вершины:');
  45. Arr[i]:=getPoint;
  46. end;
  47.  
  48. for i:=1 to num do
  49. begin
  50. Arr[num+1].y := Arr[0].y;
  51. Arr[0].y :=Arr[num].y;
  52. s:=Arr[i].x*(Arr[i+1].y - Arr[i-1].y);
  53. sum:=sum+s;
  54. end;
  55. sum:=abs(sum);
  56. a:=sum/2;
  57. writeln(a:3:1);
  58. readln;
  59. readln;
  60. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement