KHOA TIN HỌC TRƯỜNG ĐHSP HUẾ

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 85 - 89)

. Tiếp tục so sánh cho đến khi hết các phần tử trong dãỵ

KHOA TIN HỌC TRƯỜNG ĐHSP HUẾ

TRƯỜNG ĐHSP HUẾ

BÀI TẬP GIÁO KHOA TIN HỌC 11 ( Số lượng: 2 bài 5.15 & 3.42)

Bài 3.42 Cho điểm A nằm trên trục 0x và có toạ độ (Xa,0), điểm B nằm trên trục 0y và có toạ độ (0,Yb), Xa,Yb nhận giá trị nguyên. Hãy xác định xem hai điểm Avà B cùng thuộc góc phần tư nào của mặt phẳng toạ độ? Nêu hai điểm A và B đồng thời thuộc nhiều góc phần tư khác nhau thì quy ước là chúng thuộc góc phần tư có thứ tự nhỏ nhất. Ở hình 16, các điểm A và B cùng thuộc góc phần tư thứ Ị Hãy viết chương trình xác định góc phần tư mà hai điỉem A và B cùng thuộc.

Giải

* Ă Xa,0) và B( 0, Yb) là hai điểm thuộc hệ toạ độ 0xy thì có các trường hợp sau : - nếu Xa>0 và Yb>0 thì A,B thuộc góc phần tư I

- nếu Xa<0 và Yb>0 thì A,B thuộc góc phần tư II - nếu Xa<0 và Yb<0 thì A,B thuộc góc phần tư III - nếu Xa>0 và Yb<0 thì A,B thuộc góc phần tư IV

- nếu Xa=Yb=0 thì A,B thuộc góc phần tư thứ I ( A trùng B trùng với gốc toạ độ ) - nếu (Xa=0 và Yb>0) hoặc (Yb=0 và Xa>0 ) thì A,B thuộc góc phần tư I

* viết chương trình xác định góc phần tư mà hai điểm A, B cùng thuộc là góc phần tư I ( hình 16-trang 27 –sách btth 11)

Bước1: xác định bài toán - input: nhập Xa, Yb

- output: thông báo A,B cùng thuộc góc phần tư I hoặc không cùng thuộc góc phần tư này

Bước 2: xác định giải thuật - nhập Xa, Yb

- sử dụng câu lệnh IF để kiểm tra các trường hợp mà A,B cùng thuộc góc phần tư I đã nêu ở trên

- thông báo kết quả kiểm tra

Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com

Bước 3: viết chương trình

Program 3-42; Ues crt;

Var Xa, Yb: integer; Begin

Write ( ‘ nhâp hoanh do cua diem A la:’); readln( Xa); Write ( ‘ nhâp tung do cua diem B la:’); readln( Yb);

If (Xa>=0 ) then Begin

If ( Yb>=0) then writeln ( ‘ A, B thuoc goc phan tu thu I’) Else writeln (‘ khong thuoc ‘);

End

Else writeln ( ‘ A, B khong thuoc goc phan tu I’) ; End.

Bài 5.15 Đường viền trang trí ở nền nha có kích thước 2* N , được lát bằng hai loại kích thước 1*2, 2*2. Hãy xác định số cách lát khác nhau có thể thực hiện được.

Hãy lập trình :

-đọc dữ liệu từ tệp văn bản TILẸINP gồm nhiều dòng, mỗi dòng chứa mọt số nguyên N ( 1<N<=20)

- đưa ra tệp văn bản TILẸOUT các kết quả tìm được, mỗi số trên mọt dòng . giải:

* xác định số cách lát

-gọi n là kích thước của đường viền trang trí của nền nhà cần phải lót gạch. - Sn là số cách lót có thể thực hiện được

Theo giải thiết đường viền có kich thước 2*n, và chỉ có thể lót được hai loại gạch là: 1*2 và 2*2, ta xét các trường hợp có thể có: Xét n=1  S1=1 n=2  S2=3 n=3  S3=5 n=4  S4=10 …. n=k  Sk= Sk-1+ 2* Sk-2 * viết chương trình Bước 1: xác định bài toán

-input: nhập n ( 1<n<= 20) từ tệp TILẸINP

-output: In ra số cách có thể thực hiện được trên tệp TILR.OUP

Bước 2: Xây dựng giải thuật

thực hiện việc thực hiên các bước dưới đây cho mỗi giá trị n được đọc từ tệp TILẸINP và ghi kết quả S vào tệp TILẸOUP, lặp lại chi đến khi hết gía trị trong tệp đã đọc

B1: nhập n

B2: nếu n=2 thì S:=3; S1:=1; S2:=3

Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com B3: nếu n>=3 thì i:=3; S:=2*S1+S2; S1:=S2; S2:=S; i := i+1; quay lại B3 B4: in S, kết thúc * Sơ đồ khối * viết chương trình Program 5-15; Var S1,S2,S: longint; n ,i: integẻ; fi, fo : tẽt; begin

assign( fi, ‘tilẹinp’); reset( fi);

Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com

rewrite(fo);

While not eof (fi) do Begin Readln(fi, n); If n=2 then S:=3; S1:= 1; S2:=3; For i:= 3 to n do Begin S:=S2+ 2*S1; S1:=S2; S2:=S; End; Writeln( fo, S); End; Close (fi); Close(fo); 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 85 - 89)

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

(197 trang)
w