PHƯƠNG PHÁP GIẢI BÀI TẬP TIN HỌC

Một phần của tài liệu phương pháp giải bài tập tin học lớp 11 (Trang 123 - 127)

- 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

Một phần của tài liệu phương pháp giải bài tập tin học lớp 11 (Trang 123 - 127)

Tải bản đầy đủ (DOC)

(197 trang)
w