- Bước2: Ý tưởng
PHƯƠNG PHÁP GIẢI BÀI TẬP TIN HỌC
ỊPHƯƠNG PHÁP CHUNG TIẾP CÂN GIẢI BÀI TẬP
BÀI TẬP 3.44: Cho tam giác ABC có tọa độ đỉnh A là (xa,xb), tọa độ đỉnh B(xb,0) và tọa độ đỉnh C là( xc,0), xb <> xc .Các tọa độ nhận giá trị thực. Hãy tìm tọa độ xd sao cho điểm D có tọa độ ( xd, ya) tạo thành một tam giác BDC cân, DB=DC. Hãy lập trình:
- Nhập vào từ bàn phím các giá trị xa,ya,xb,xc.
- Đưa ra màn hình tọa độ điểm D với 3 chữ số sau dấu chấm thập phân BƯỚC 1:
Xác định: Input: nhập tọa độ xa,ya,xb,xc Output: In ra xd,yd
BƯỚC 2; Ý tưởng
B1-Nhập tọa độ xa,ya,xb,yb B2 -Kiểm tra nếu
+ xc=xb thì nhập lại
+ xc<>xb thì chuyển sang B3 B3: Gán xd:=(xb+xc)/2;
yd:=ya; B4: In ra xd,yd
BƯỚC 3: Vẽ sơ đồ khối
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
Program baitap344; Var xa,ya,xb,xc: real; Xd,yd: real; Begin
Repeat
Write(‘nhap toa do diem A); Readln(xa,ya)
Write(‘nhap toa do diem B’); Readln(xb.yb);
Write(‘nhap toa do diem C’); Readln( xc,yc);
Until (xb<>xc); Xd:=(xb+xc)/2; Yd:=ya;
Writeln(‘toa do diem A’,xd:5,yd:5); End.
BÀI 6.7: Đường thẳng ax+by+c= 0 chia mặt phẳng thành hai nửa âm và dương. Hãy xây dựng hàm funtion vitri( a,b,c,u,v: real) : integer; trả về giá trị:
-1 nếu u,v nằm ở nửa mặt phẳng âm 1 nếu u, v nằm ở nửa mặt phẳng dương 0 nếu u,v nằm trên đường thẳng
Hãy lập trình:
- Nhập vào từ bàn phím các hệ số a,b,c của đường thẳng ax+by+c=0 và tọa độ của các điểm A,B,C
- Sử dụng hàm nói trên để kiểm tra xem tam giác ABC có nằm gọn trong một mặt phẳng nào đó hay không. Kết quả kiểm tra đưa ra màn hình dưới dạng thông báo ‘ABC nằm trong nửa mặt phẳng âm ,hoặc ABC nằm trong nửa mặt phẳng dương, hay ABC không nằm trong nửa mặt phẳng nào cả
BƯỚC 1:
Xác định : Input: Nhập hê số a,b,c.
Nhập toa độ xa,xb,xc,yạyb.yc Output :In ra màn hình
+Tam giác ABC nằm trong mặt phẳng dương hoặc Tam giác ABC nằm trong mặt phẳng âm hoặc tam giác ABC không nằm trong mặt phẳng nào cả BƯỚC 2: ý tưởng giả thuật
B1: Nhập các hệ số a,b,c của đường thẳng ax+by+c=0; Xây dựng hàm kiểm tra một điểm có thuộc nửa mặt phẳng Sử dụng hàm kiểm tra vị tric cho 3 điểm A,B,C
Nếu vị trí 3 điểm nhận giá trị
+ 1 thì tam giác nằm trong mặt phẳng dương + -1 thì tam giác nằm trong mặt phẳng âm Ngược lại thì không nằm trong mặt phẳng nào
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
BƯỚC 3: SƠ ĐỒ KHỐI
BƯỚC 4 : VIẾT CHƯƠNG TRÌNH Program baitap6.7;
Var a,b,c,xa,xb,xc,xd,ya,yb,yc,yd: real; F Nhập a,b,c Xa,xb,xc,ya,yb,yc P:=vitri(a,b,c,xa,ya) q:=vitri(a,b,c,xa,ya) r:=vitri(a,b,c,xa,ya) (Q=1) and(p=1) and(r=1) (Q=-1) and(p=- 1) and(r=- 1)
In ra màn hình tam giác ABC nằm trong mặt phẳng dương
In ra màn hình tam giác ABC nằm trong mặt phẳng âm
In ra tam giác ABC không nằm trong mặt phẳng nào
T
F
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
Q,r,p: integerl
Function vitri(a,b,c ,u,v: real): integer; Var vt: integer;
Begin
If(a*ưb*v+c)>0 then vt:=1
Else if (a*ưb*v+c)<0 then vt:=-1 Else vt:=0; Vt:=vitri; End. Begin Write(‘nhap he so a,b,c’); Readln(a,b,c);
Write(‘nhap toa do diem A’); Readln(xa,ya);
Write(‘nhap toa do diem B’); Readln(xb,yb);
Write(‘nhap toa do diem C’); Readln(xc,yc);
Q:=vitri(a,b,c,xa,ya); P:=vitri(a,b,c,xb,yb); R:=vitri(a,b,c,xc,yc);
If (Q=1)and(P=1)and(R=1) then writeln(‘tam giac ABC nam trong mat phang duong’); Else
If (Q=-1)and(P=-1)and(R=-1) then writeln(‘tam giac ABC nam trong mat phang am’) Else writeln(‘tam giac ABC khong nam trong mat phang nao’)
End.
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com