Hiển thị kết quả từ 1 đến 10 / 10
  1. #1
    Tham gia
    04-10-2011
    Bài viết
    8
    Like
    3
    Thanked 2 Times in 2 Posts

    Giúp mìk bài này đi

    Viết chương trình của pt đường thằng khi đi qua 2 điểm A,B. Ai giúp mình gải nha
    Quote Quote

  2. Thành viên Like bài viết này:


  3. #2
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Nếu bạn cho mình công thức để có thể có pt đường thẳng thì có thể giúp được bạn !
    vì mình chỉ biết code, chưa học tới cái pt này nên chả biết !

  4. Thành viên Like bài viết này:


  5. #3
    Tham gia
    04-10-2011
    Bài viết
    8
    Like
    3
    Thanked 2 Times in 2 Posts
    A(xA;yA),B(xB;yB)
    pt đường thắng: (x-xA)/(xB-xA)=(y-yA)/(yB-yA)

  6. Thành viên Like bài viết này:


  7. #4
    Tham gia
    16-03-2008
    Location
    Hà nội
    Bài viết
    109
    Like
    0
    Thanked 17 Times in 13 Posts
    Tức là chương trình sẽ nhập tọa độ 2 điểm A và B sau đó sẽ ra phương trình đường thẳng phải không?
    Mình nghĩ bạn không nên dùng phương trình kia, phương trình đường thẳng nên thường có dạng là Ax + By + C = 0.
    Bạn có thể dùng phương trình này (phương tình này mình tự suy ra từ phương trình của bạn):
    (yB-yA)x - (xB-xA)y + yA(xB - xA) - xA(yB - yA) =0
    Như vậy chương trình bạn chỉ cần nhập toạ độ A & B, sau đó cứ đúng công thức trên, bạn tìm ra được giá trị A,B,C sau đó thay vào là ra phương trình đường thẳng đi qua 2 điêm A & B
    Empty

  8. 2 thành viên Like bài viết này:


  9. #5
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    code hộ bạn theo cách của bạn trên:
    Code:
    Uses crt;
    Var
      YB,Ya,xB,Xa,A,B,C:longint;
    BEGIN
      Clrscr;
      Writeln('NHap toa do cua diem A:');
      Writeln;
      Write('Nhap xA va yA:');
      Readln(xA,yA);
      Writeln('NHap toa do cua diem B:');
      Writeln;
      Write('Nhap xB va yB:');
      Readln(xB,yB);
      Writeln('Phuong trinh duong thang cua 2 diem A va B la:');
      A:=(yB-yA);
      B:=(xB-xA);
      C:=yA*(xB - xA) - xA*(yB - yA);
      Write(A,'x-',B,'y+',C,'=0');
      Readln;
    END.

  10. Thành viên Like bài viết này:


  11. #6
    Tham gia
    04-10-2011
    Bài viết
    8
    Like
    3
    Thanked 2 Times in 2 Posts
    Tks bạn nhìu, lúc đầu mình bí ở chỗ làm sao xuất trên màn hình đc 2 cái biến x,y ấy. Tks nhìu haz

  12. #7
    Tham gia
    04-10-2011
    Bài viết
    8
    Like
    3
    Thanked 2 Times in 2 Posts
    Bạn cho mình hỏi về phần này nữa. Cho điểm A(xA;yA) và đường thằng d: Ax+By+C=0 viết ptđt song song với d.
    Mình làm như sau mà không biết có đúng dấu của pt hay hok nữa.

    var x,y,A,B,C:longint;
    begin
    write('Nhap toa do cua diem A x,y: ');
    readln(x,y);
    write('Nhap he so A,B cua pt: ');
    readln(A,B);
    C:=-A*x-B*y;
    writeln('Pt can tim la');
    write(A,'x-',B,'y+',C,'=0');
    readln
    end.

    N/x giùm mình để dấu như vậy đúng chưa.

  13. #8
    Tham gia
    16-03-2008
    Location
    Hà nội
    Bài viết
    109
    Like
    0
    Thanked 17 Times in 13 Posts
    Sau đoạn code bạn nên để trong cặp thẻ {code} {/code} (thay { = [ và } = ]) để cho dễ nhìn nhé.
    Về thuật toán thì bạn làm thế là ok rồi, vì 2 đường thẳng // là 2 đường thẳng có hệ số A & B giống nhau và chỉ khác mỗi C. Nhưng ở đây có vấn đề là write(A,'x-',B,'y+',C,'=0'); phải là dấu + chứ vì ở trên là +B mà. Để mà thực sự hoàn thiện thì bạn nên xét dấu của B và C, nếu B, C >0 thì bạn thêm + đằng trước, nếu là <0 thì bạn để nguyên, như vậy phương trình đưa ra sẽ chuẩn hơn. Mình sửa lại dựa trên code của bạn nhé.
    Code:
    var x,y,A,B,C:longint;
    begin
    write('Nhap toa do cua diem A x,y: ');
    readln(x,y);
    write('Nhap he so A,B cua pt: ');
    readln(A,B);
    C:=-A*x-B*y;
    writeln('Pt can tim la');
    write(A,'x');
    if B > 0 then write("+");
    write (B,'y');
    if C > 0 then write("+");
    write (C,' = 0');
    readln
    end.
    Empty

  14. Thành viên Like bài viết này:


  15. #9
    Tham gia
    04-10-2011
    Bài viết
    8
    Like
    3
    Thanked 2 Times in 2 Posts
    Tks nhìu. Mình chưa nghĩ tới if then . Trong trường mình chưa học đến cái đó.

  16. #10
    Tham gia
    16-03-2008
    Location
    Hà nội
    Bài viết
    109
    Like
    0
    Thanked 17 Times in 13 Posts
    Thực ra phần if - then đó chỉ là để hoàn thiện bài cho bạn để nó không bị lỗi mà thôi, còn không thì như của bạn cũng chấp nhận được
    Empty

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •