. 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