Câu 1: Để giải pt bậc nhất ax + b = 0 với a, b thuộc kiểu Integer thì biến x thuộc kiểu dữ liệu nào là đúng nhất?
a. Byte b. Integer c. Real d. Char
Câu 2: Các ngơn ngữ lập trình đều cĩ câu lệnh thể hiện cấu trúc lặp, các lệnh nào trong ngơn ngữ lập trình Pascal ta dùng để lặp:
a. While…do, if…then b. For …to…do, if…then
c. While …do, for…to(downto)…do d. If…then, while …do, for…to(downto)…do Câu 3: Trong Pascal, biến đếm của lệnh For…to(downto)…do phải cĩ kiểu dữ liệu là: a. Kiểu thực b. Kiểu nguyên hoặc thực
c. Kiểu nguyên hoặc thực hoặc kí tự d. Kiểu nguyên hoặc kí tự Câu 4: Cho biết các lệnh sau cĩ mấy lỗi cú pháp:
Var a,b:byte;
If a>b then writeln(a); else write(b)
a. Khơng cĩ lỗi b. Cĩ 1 lỗi
c. Cĩ 2 lỗi d. Cĩ 3 lỗi
Câu 5: Cho a,b là các biến kiểu nguyên, kết qủa in ra màn hình của đoạn chương trình sau là bao nhiêu? a:=10; b:=15;
While a<b do Begin
a:=a+3; b:=b-1;
Write(a:4);
a. 13 b. 16 c. 19 d. 14
Câu 6: Cho S, i là biến nguyên. Khi chạy đoạn chương trình: S:=1;
For i:=1 to 10 do s:=s+i; Writeln(s);
Kết qủa in ra màn hình là:
a.11 b.55 c. 56 d. 101
Câu 7: Cơng thức nào sau đây đúng (trong đĩ S, S1, S2: kiểu chuỗi; n: kiểu số): a. Pos(S, S1, S2); b. Insert(S, S1, n);
c. Copy(S, S1, n); d. Delete(S, 2, ‘Hoc’);
Câu 8: Cho chuỗi S=‘Học học hoai van the’ và chuổi X:=Copy(S, Pos(‘h’,S),7). Kết quả của chuổi X là:
a. ‘hoc hoc’ b. ‘hoc hoai’
c. ‘van the’ d. ‘ hoai van the’
Câu 9: Cho n là biến nguyên, lệnh n:=length(‘Tin_hoc’); write(n); kết qủa in ra màn hình là:
a.6 b. 7 c. 8 d. 9
Câu 10. Cho t:=’Tin_hoc’; để cĩ kết qủa là xâu ‘Tin’ ta thực hiện: a. Delete(t,1,3); b. Delete(t,3,1); c.Delete(t,4,4); d.Delete(t,4,3);
II/ Phần thực hành (6điểm)
Viết chương trình nhập vào 3 số tìm và cho hiển thị số nhỏ nhất của 3 số đĩ
Ngày soạn: 25/01/2008 Chương V: TỆP VÀ THAO TÁC VỚI TỆP
Tiết: 37 KIỂU DỮ LIỆU TỆP, THAO TÁC VỚI TỆP
I. Mục tiêu:
1/ Kiến thức:
- Biết được đặc điểm của kiểu dữ liệu tệp
- Biết khái niệm về tệp cĩ cấu trúc và tệp văn bản 2/ Kĩ năng:
- Khai báo đúng biến kiểu tệp
- Thực hiện được thao tác xử lí tệp: gán tên tệp, mở/đĩng tệp, đọc/ghi tệp - Sử dụng được các thủ tục liên quan để đọc/ghi dữ liệu của tệp
II. Đồ dùng dạy học:III. Hoạt động dạy – học: III. Hoạt động dạy – học:
1/ Đặc điểm và phân loại kiểu dữ liệu tệp
Hoạt động của giáo viên Hoạt động của học sinh
- Hỏi: cho biết dữ liệu trong các kiểu dữ liệu từ trước đến nay ta sử dụng được lưu trữ ở loại bộ nhớ nào khi thực hiện ct?
- Hỏi: vì sao em biết điều đĩ?
- Để lưu giữ được dữ liệu, ta phải lưu nĩ ở bộ nhớ ngồi thơng qua kiểu dữ liệu tệp. Mọi ngơn ngữ lập trình đều cĩ các thao tác: khai báo biến tệp, mở tệp, đọc/ghi dữ liệu, đĩng tệp
- Yêu cầu: nghiên cứu SGK và cho biết đặc điểm của kiểu tệp? Cĩ mấy loại kiểu tệp?
- Yêu cầu: trình bày khái niệm tệp cĩ cấu trúc và tệp văn bản
- Mất dữ liệu khi mất điện
- Khơng mất thơng tin khi tắt máy - Dung lượng dữ liệu được lưu trữ lớn
- Cĩ 2 loại kiểu tệp: tệp cĩ cấu trúc và tệp văn bản + Tệp cĩ cấu trúc là loại tệp mà các thành phần của nĩ được tổ chức theo 1 cấu trúc nhất định + Tệp văn bản là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII
Nội dung:
- Đặc điểm của kiểu tệp:
+ Được lưu trữ lâu dài ở bộ nhớ ngồi, khơng bị mất khi mất điện + Lượng thơng tin lưu trữ trên tệp cĩ thể rất lớn
- Cĩ 2 loại tệp:
+ Tệp cĩ cấu trúc là loại tệp mà các thành phần của nĩ được tổ chức theo 1 cấu trúc nhất định
+ Tệp văn bản là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII. Trong tệp văn bản, dãy kí tự kết thúc bởi kí tự xuống dịng hay kí tự kết thúc tệp tạo thành 1 dịng
2/ Các thao tác cơ bản xử lí tệp:
Hoạt động của giáo viên Hoạt động của học sinh
1. Giới thiệu cấu trúc chung của khai báo biến tệp Var <tên_biến_tệp>:Text;
- Yêu cầu: tìm ví dụ cụ thể
2. Giới thiệu các thao tác gán tên tệp, tạo tệp mới để ghi, mở tệp để đọc, đĩng tệp
Assign(<tên_biến_tệp>,<tên_tệp>); Rewrite(<tên_biến_tệp>);
Reset(<tên_biến_tệp>); close(<tên_biến_tệp>);
- Yêu cầu: lấy ví dụ minh họa mở tệp để ghi thơng tin và mở tệp để đọc thơng tin
3. Yêu cầu: Giải thích ý nghĩa của sơ đồ làm việc với tệp (hình 16 SGK trang 86)
4. Giới thiệu cấu trúc chung của thủ tục đọc/ghi dữ liệu tệp văn bản
Yêu cầu: lấy ví dụ minh họa
1. Quan sát cấu trúc và suy nghĩ trả lời Var f,g:text;
2. Quan sát và suy nghĩ để trả lời câu hỏi
Assign(f5,’B1.INP’); Rewrite(f5); Close(f5); Assign(f5,’B1.OUT’); Reset(f5); Close(f5);
3. Quan sát sơ đồ và suy nghĩ để trả lời
- Ghi tệp: gán tên tệp, tạo tệp mới, ghi thơng tin, đĩng tệp
- Đọc tệp: gán tên tệp, mở tệp, đọc thơng tin, đĩng tệp
4. Quan sát cấu trúc chung
- Readln(f,x1,x2); đọc dữ liệu từ biến tệp f, đặt giá trị vào 2 biến x1 và x2
hai tham số; dịng chữ ‘Tong la’ và giá trị tổng x1+x2
Nội dung:
- Khai báo biến tệp văn bản: Var <tên_biến_tệp>:Text;
- Gán tên tệp: Assign(<tên_biến_tệp>,<tên_tệp>); <tên_tệp>: là biến xâu hoặc hằng xâu - Tạo tệp mới để ghi: Rewrite(<tên_biến_tệp>);
- Mở tệp để đọc: Reset(<tên_biến_tệp>); - Đĩng tệp: close(<tên_biến_tệp>);
- Đọc tệp văn bản: Read(<tên_biến_tệp>,<danh sách tên biến>); Hoặc Readln(<tên_biến_tệp>,<danh sách tên biến>);
- Ghi tệp văn bản: Write(<tên_biến_tệp>,<danh sách kết quả>); Hoặc Writeln(<tên_biến_tệp>,<danh sách kết quả>);
IV. Đánh giá cuối bài:
1/ Những nội dung đã học: 2/ Câu hỏi và bài tập về nhà:
- Trả lời các câu hỏi 1, 2, 3, 4 SGK trang 89 - Xem trước bài: Ví dụ làm việc với tệp
Ngày soạn: 28/01/2008
Tiết: 38-39 Thực hành: VÍ DỤ LÀM VIỆC VỚI TỆP
I. Mục tiêu:
1/ Kiến thức:
Củng cố lại kiến thức đã học về tệp trong chương 5 thơng qua thực hành ví dụ 2/ Kĩ năng:
Sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập
II. Đồ dùng dạy học:III. Hoạt động dạy – học: III. Hoạt động dạy – học:
1/ Oân tập kiến thức lí thuyết
a) Mục tiêu: Nhớ được các kiến thức lí thuyết về kiểu tệp b) Nội dung:
- Gán tên tệp, mở tệp, tạo tệp mới, đĩng tệp - Đọc/ghi tệp văn bản
- Các hàm và thủ tục liên quan
c) Các bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1. Gợi ý để HS nhớ lại các kiến thức đã học về kiểu tệp
- Hỏi: cách khai báo biến kiểu tệp?
1. Theo dõi dẫn dắt của GV và trả lời - Var <tên_biến_tệp>:Text;
- Hỏi: cĩ các thủ tục cơ bản nào khi làm việc với tệp?
- Hỏi: hàm và thủ tục nào liên quan khi xử lí tệp? 2. Giới thiệu bảng tổng hợp các hàm và thủ tục lên bảng, xem như đây là tổng kết kiến thức liên quan - Rewrite(<tên_biến_tệp>); - Reset(<tên_biến_tệp>); - Close(<tên_biến_tệp>); - Read/Readln(<tên_biến_tệp>,<danh sách tên biến>); - Write/Writeln(<tên_biến_tệp>,<danh sách kết quả>); - Eof(<tên_biến_tệp>) - Seek(<tên_biến_tệp>,<biến_nguyên>); 2. Quan sát bảng tổng hợp và ghi nhớ 2/ Tìm hiểu chương trình ví dụ:
a) Mục tiêu: Hiểu được nội dung ct. Biết được đầu vào và đầu ra của ct b) Nội dung:
- Ví dụ 1, SGK trang 87: tính khoảng cách giữa các điểm - Ví dụ 2, SGK, trang 87, 88: tính điện trở tương đương
c) Các bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1. Tìm hiểu ví dụ 1
- Giới thiệu nội dung đề bài
- Chiếu ct ví dụ lên bảng và gợi ý để HS tìm hiểu ct
- Hỏi: hàm Eof(f) cĩ chức năng gì?
- Cĩ thể sử dụng cấu trúc For thay cho While được khơng?
- Chương trình này thực hiện cơng việc gì? - Thực hiện ct để HS thấy được kết quả 2. Tìm hiểu ct của ví dụ 2
- Giới thiệu đề bài
- Chiếu tranh mơ phỏng kết nối các điện trở, hình 17, SGK trang 88
- Hỏi: cơng thức tính điện trở của sơ đồ II, III, IV - Chiếu ct ví dụ lên bảng
- Hỏi: mảng a dùng để lưu giữ giá trị nào?
- Cho 1 file dữ liệu vào gồm 2 dong. Yêu cầu HS tính kết quả
- Thực hiện ct đọc file dữ liệu vào trên để HS đối chiếu kết quả
1. Theo dõi, quan sát đề bài và ct gợi ý
- Hàm cho giá trị true nếu con trỏ tệp định vị ở vị trí kết thúc tệp
- Khơng: vì khơng biết số lượng phần tử của tệp - Tính và đưa ra màn hình khoảng cách từ trại của thầy hiệu trưởng đến trại của mỗi GV
2. Quan sát nội dung đề bài, quan sát tranh mơ phỏng kết nối các điện trở và các yêu cầu
- Dùng để lưu giữ điện trở tương đương của 3 điện trở theo 5 cách ghép nối như trong sơ đồ
- Tính kết quả của 5 điện trở tương đương
- Quan sát kết quả của ct và so sánh với kết quả tính được
- Nhận xét về tình chính xác và thời gian thực hiện của ct
3/ Rèn luyện kĩ năng lập trình:
a) Mục tiêu: sử dụng được các thủ tục liên quan kiểu tệp để giải quyết bài tốn đặt ra b) Nội dung:
Viết ct tạo tệp MYBOOK.DAT định kiểu bản ghi, mỗi bản ghi cĩ cấu trúc: Record
Tac_gia:String[30]; Gia_tien:longint; End;
Yêu cầu: ghi ra tệp này các quyển sách của em
c) Các bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1. Chiếu đề bài lên bảng. Yêu cầu HS tự viết ct, chạy thử và báo cáo kết quả
2. Quan sát, theo dõi việc lập trình của từng HS, cĩ thể gợi ý cho 1 số em cịn yếu
3. Yêu cầu HS cùng thực hiện ct với bộ test GV đã chuẩn bị. Thơng báo kết quả mà ct tìm được. Xác nhận kết quả đúng
1. Theo dõi đề bài, định hướng dữ liệu vào, ra và thuật tốn
2. Soạn ct vào máy, thực hiện ct và thơng báo kết quả cho GV
3. Nhập dữ liệu theo yêu cầu