Hướng dẫn giải bài thi tin học HK2

đăng 17:52, 20 thg 4, 2012 bởi Thanh Vũ Nguyễn   [ đã cập nhật 17:58, 20 thg 4, 2012 ]

Chương trình tương ứng:

program dohoa;
uses Graph;
procedure khoidong;
var
 grDriver: Integer;
 grMode: Integer;
 ErrCode: Integer;
begin
 grDriver := Detect;
 InitGraph(grDriver, grMode,'c:\tp\bgi');
 ErrCode := GraphResult;
 if ErrCode <> grOk then
 begin  { Do graphics }
   Writeln('Graphics error:', GraphErrorMsg(ErrCode));
   readln;
   halt(1);
 end;
end;
{----------------------------}
{  CHUONG TRINH CHINH        }
{----------------------------}
const
  BC = 200; {Do dai canh BC}
  A = 150; {So do goc A}
var
  R, x0, y0, xA, yA, xB, yB, xC, yC,O: integer;
BEGIN
  khoidong;
  setcolor(red);

  O := 360 - 2*A;

  x0 := GetMaxX div 2; {Toa do tam duong tron ngoai tiep}
  y0 := GetMaxY div 2;

  R := round(BC/2/Sin(O/2*Pi/180)); {Ban kinh duong tron ngoai tiep}
  circle(x0, y0, R);

  xA := x0; {Toa do diem A}
  yA := y0 - R;

  xB := x0 - (BC div 2); {Toa do diem B}
  yB := y0 - round(R*Cos(O/2*Pi/180));

  xC := xB + BC;{Toa do diem C}
  yC := yB;

  line(xA, yA, xB, yB);
  line(xA, yA, xC, yC);
  line(xB, yB, xC, yC);
  readln;
  closegraph;
END.

Comments