Trọng tâm của bài học là cho học sinh ôn lại các kiến thức về chương trình con và vận dụng để giải các bài toán về lập trình có cấu trúc?. Kiến thức :ôn lại các kiến thức về các kiểu [r]
(1)Ngày soạn: 2/12/2010 Tiết PPCT: 17
ƠN TẬP HỌC KÌ 1 I MỤC TIÊU.
Kiến thức.
- Học sinh nắm toàn kiến thức học từ đầu năm học đến nay. Kĩ năng
- Rèn luyện kĩ nhận xét, phân tích toán. II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH Chuẩn bị giáo viên
- Nghiên cứu, hệ thống lại kiến thức, sách giáo khoa. Chuẩn bị học sinh.
- Sách giáo khoa, số chương trình tập. III HOẠT ĐỘNG DẠY – HỌC
Hoạt động 1: Nhắc lại kiến thức cũ học. a Mục tiêu:
- Học sinh nhớ lại kiến thức lí thuyết học. b Nội dung:
- Khái niệm lập trình ngơn ngữ lập trình.
- Có hai loại chương trình dịch: Biên dịch thông dịch.
- Các thành phần ngôn ngữ lập trình: Bảng chữ cái, cú pháp ngữ nghĩa. - Các khái niệm: Tên, biến, thích.
- Cấu trúc chương trình Pascal: Phần khai báo phần thân. - Các kiểu liệu chuẩn: Số nguyên, số thực, kí tự, logic.
- Phép toán, biểu thức, lệnh gán. - Tổ chức vào/ra.
- Cấu trúc rẽ nhánh. - Cấu trúc lặp.
c Các bước tiến hành:
HƯỚNG DẪN CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Đặt câu hỏi gợi ý để học sinh tự nhắc lại kiến thức học.
- Em hiểu lập trình ngơn ngữ lập trình?
- Các loại chương trình dịch?
- Các thành phần ngôn ngữ lập trình?
- Các khái niệm ngơn ngữ lập trình?
- Cấu trúc chung chương trình TP?
- Nêu tên kiểu liệu chuẩn? - Nêu nhóm phép toán học?
- Các loại biểu thức?
Chú ý, theo dõi trả lời câu hỏi. - Lập trình trình diễn đạt thuật tốn ngơn ngữ lập trình. - Biên dịch thơng dịch.
- Bảng chữ cái, cú pháp ngữ nghĩa. - Khái niệm tên, biến, thích. - Gồm hai phần: Phần khai báo phần thân.
- Số nguyên, số thực, kí tự, logic.
- Phép toán số học, phép toán quan hệ, phép toán logic.
(2)
- Chức thực lệnh gán?
- Nêu tên chức số hàm số học?
- Tổ chức vào/ra.
- Tổ chức rẽ nhánh. - Tổ chức lặp.
biểu thức logic.
- Dùng để tính tốn biểu thức gán giá trị cho biến.
- Hàm bình phương, hàm bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos. - Lệnh Read()/readln();
- Lệnh write()/writeln();
- If <BTĐK> then <lệnh 1> else <lệnh 2>;
For tiến. For lùi. While <> do.
Hoạt động 2: Rèn luyện kĩ năng. a Mục tiêu:
- Häc sinh biÕt nhËn xÐt, ph©n tÝch giải hoàn chỉnh toán. b Néi dung:
Viết chơng trình tính đa hình tổng số chia hết cho phạm vi từ đến N (với N nhập từ bàn phím).
c C¸c bíc tiÕn hµnh:
HƯỚNG DẪN CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Xác định toán.
- Chiếu nội dung đề lên bảng. - Chia lớp thành nhóm.
Nhóm 1: Nêu câu hỏi phân tích.
Nhóm 2: Trả lời câu hỏi phân tích nhóm 1.
- Giáo viên góp ý bổ sung cho hai nhóm.
rèn luyện kĩ lập trình. - Chia lớp thành hai nhóm.
- u cầu: Viết chương trình hồn thiện lên giấy A0.
- Thu phiếu học tập, treo kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá bổ sung.
Chuẩn hóa kiến thức chương trình mẫu giáo viên Thực chương
Quan sát, theo dõi đề định hướng giáo viên để xác định tốn. - Nhóm 1:
+ Dữ liệu vào. + Dữ liệu ra.
+ Các nhiệm vụ phải thực hiện.
- Nhóm 2: + Số N
+ Điều kiện để có số chia hết cho 3 5.
+ – Nhập liệu.
– tính tổng theo điều kiện. – Đưa kết hình. Làm việc theo nhóm.
- Thảo luận theo nhóm để viết chương trình.
- Báo cáo kết quả.
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác.
(3)trình, nhập liệu để học sinh thấy kết quả của chương trình.
Củng cố
1 Những nội dung học.
- Giáo viên yêu cầu học sinh nhắc lại số nội dung ơn tập tiết học.
Câu hỏi bìa tập nhà.
- Chuẩn bị kiến thức cho tiết sau kiểm tra học kì 1: Xem lại tồn kiến thức được ôn tập, đặc biệt trọng cấu trúc lặp rẽ nhánh kiểu mảng.
Ngày soạn: 2/12/2010 Tiết PPCT: 18
KIỂM TRA HỌC KÌ 1
MỤC TIÊU CẦN ĐÁNH GIÁ.
- Kiểm tra kết tiếp thu học sinh từ đầu năm học đến nay.
- Đánh giá kĩ phân tích tốn tư lập trình giấy. - Có thái độ tự giác, tích cực làm kiểm tra.
MỤC ĐÍCH YÊU CẦU CỦA ĐỀ.
- Kiến thức: Học sinh nắm kiến thức kiểu liệu bản, kiểu liệu có cấu trúc Các hàm chuẩn thông dụng Cấu trúc vào/ra liệu, cấu trúc rẽ nhánh lặp. - Kĩ năng: Có kĩ phân tích tốn, viết chương trình.
CHUẨN BỊ.
- Giáo viên chuẩn bị đề kiểm tra.
- Học sinh chuẩn bị đầy đủ kiến thức học, ôn tập. NỘI DUNG ĐỀ BÀI VÀ ĐÁP ÁN.
- Cấu trúc đề: câu kiểm tra hiểu lí thuyết, câu lập trình, thời gian làm 45 phút, hình thức thi viết giấy.
- Nội dung đề:
Câu 1: Hãy phân biệt kĩ thuật biên dịch thông dịch.
Câu 2: So sánh giống khác cấu trúc For While. Cho chương trình có sử dụng cấu trúc For sau:
var i:byte Begin
For i:=1 to 30 write(i:4); Readln;
End.
Hãy viết lại chương trình cách thay cấu trúc For cấu trúc While. Câu 3: Viết chương trình nhập mảng số nguyên dương N, đếm số phần tử chia hết cho dãy số từ đến N.
ĐÁP ÁN VÀ BIỂU ĐIỂM. Câu 1: (2 điểm)
(4)Bước 1: Duyệt, phát lỗi, kiểm tra tính đắn lệnh chương trình nguồn.
Bước 2: Dịch tồn chương trình nguồn thành chương trình ngơn ngữ máy.
(thuận tiện cho chương trình ổn định cần thực nhiều lần) - thông dịch:
Bước 1: Kiểm tra tính đắn lệnh chương trình nguồn. Bước 2: Chuyển lệnh thành ngơn ngữ máy.
Bước 3: thực câu lệnh vừa chuyển đổi. (phù hợp với môt trường đối thoại người máy) Câu 2: (4 điểm)
- giống: For While cấu trúc lặp.
- Khác : For cấu trúc lặp có số lần biết trước, ngược lại while ;à cấu trúc lặp có số lần chưa xác định
Var i:byte Begin i:=1;
While i<=30 do begin write(i:4); i:=i+1; End; Readln; End.
Câu 3: (4 điểm)
Var N,i,dem:Integer; Begin
Write(‘nhap N’); Readln(N); Dem:=0;
For i:=1 to N do
If (i mod = 0) OR (i mod = 0) then dem:=dem+1; write(‘so luong dem duoc la’,dem);
(5)Ngày soạn:10/12/2010 TiếtPPCT 19 BÀI THỰC HÀNH 2
I Mục tiêu. Kiến thức.
- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh.
Kĩ năng
- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số tốn cụ thể.
- Làm quen với công cụ phục vụ hiệu chỉnh chương trình.
thái độ
- Tự giác, tích cực hcủ động thực hành. II Đồ dùng dạy học
Chuẩn bị giáo viên.
- Phịng máy vi tính, máy chiếu Projector để hướng dẫn.
Chuẩn bị học sinh.
- Sách giáo khoa, sách tập tập viết nhà. III Hoạt đông dạy – học
1 Ổn định lớp, sỹ số
2 Bài
HƯỚNG DẪN CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Gợi ý để học sinh nêu khái niệm số Pitago.
- Yêu cầu: lấy ví dụ cụ thể
- Hỏi : Để kiểm tra ba số a, b, c bất kì có phải Pitago, ta pahỉ kiểm tra đẳng thức nào?
Chiếu chương trình mẫu lên bảng. thực mẫu thao tác: lưu, thực hiện từng lệnh chương trình, xem kết trung gian, thực chương tình nhập liệu.
- Yêu cầu học sinh gõ chương trình mẫu vào máy.
- Yêu cầu học sinh lưu chương trình lên đĩa với tên Pytago.pas.
- Yêu cầu học sinh thực lệnh của chương trình.
- Yêu cầu học sinh xem kết a2, b2, c2.
Theo dõi dẫn dắt cuả chọ sinh để nêu khái niệm số Pitago: Tổng bình phương hai số bình phương số cịn lại.
Ví dụ số Pitago: 3 a2 = b2 + c2.
b2 = a2 + c2. c2 = a2 + b2.
Soạn chương trình vào máy theo yêu cầu giáo viên.
- Bấm F2, gõ tên file enter.
- bấm F7, nhập giá trị a=3, b=4, c=5.
(6)- Yêu cầu học sinh tự tìm thêm số bộ a b c khác so sánh.
- Quan sát trình rẽ nhánh bộ liệu vào trả lời.
Củng cố: Về nhà xem lại nội dung thực hành đồng thời xem trước nội dung phần tiếp theo để hôm sau ta thực hành tiếp.
Ngày soạn:10/12/2010 TiếtPPCT 20
BÀI THỰC HÀNH 2 I Mục tiêu.
Kiến thức.
- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh.
Kĩ năng
- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số tốn cụ thể.
- Làm quen với công cụ phục vụ hiệu chỉnh chương trình.
thái độ
- Tự giác, tích cực hcủ động thực hành. II Đồ dùng dạy học
Chuẩn bị giáo viên.
- Phịng máy vi tính, máy chiếu Projector để hướng dẫn.
Chuẩn bị học sinh.
- Sách giáo khoa, sách tập tập viết nhà. III Hoạt đông dạy – học
1 Ổn định lớp, sỹ số 2 Bài mới
Trọng tâm: Rèn luyện kĩ lập trình hồn thiện tốn
HƯỚNG DẪN CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Nêu nơi dung, mục đích, u cầu cảu bài toán.
- Hỏi : Bớc để giải toán ? - Hỏi : Để xác định ta phải đặt câu hỏi nh nào? Gọi học sinh đặt câu hỏi và gọi học sinh trả lời cho câu hỏi đó?
- Yêu cầu học sinh phác họa thuât toán. Yêu cầu học sinh gõ chơng trình vào máy.
- Giỏo viờn tip cận học sinh để h-ớng dẫn sửa sai.
Yêu cầu học sinh nhập liƯu. - NhËp d÷ liƯu víi test -2
Yêu cầu học sinh xác định testcase, nhập liệu, đối sánh kết quả.
ý theo dõi vấn đề đặt giáo viên.
- Xác định input output thuật giải. - Mục đích giải phơng trình?
+ KÕt ln sè nghiƯm vµ giá trị nghiệm x.
- tớnh đợc nghiệm x cần đại lợng nào?
+ Cần đại lợng : a b.
- Có bớc xử lí để tính đợc x? Độc lập soạn chơng trình máy.
- Thông báo kết viết đợc.
NhËp d÷ liƯu theo test giáo viên thông báo kết hcơng trình.
(7)Nhập liệu thông báo kết quả. IV Đánh giá cuối bài.
Nhng ni dung ó học
Các bớc để hoàn thành chơng trình.
- Phân tích tốn để xác định liệu vào, liệu ra, thuật toán. - Soan chng trỡnh vo mỏy.
- Lu chơng trình. - Biên dịch.
(8)Ngy son: 16/12/2010 PPCT: 21 §11 KIỂU MẢNG (Tiết 1) I Mục đích, yêu cầu
1 Kiến thức
-Biết kiểu liệu kiểu mảng chiều -Biết loại biến có số;
-Biết cấu trúc tạo mảng chiều, cách khai báo biến kiểu mảng chiều 2 Kĩ năng
-Biết thành phần khai báo kiểu mảng chiều;
-Biết định danh phần tử kiểu mảng chiều xuất chương trình;
-Biết cách khai báo mảng đơn giản với số miền kiểu nguyên; -Biết cách tham chiếu đến phần tử mảng chiều
3 Tư thái độ:
Tự giác, tích cực, chủ động sáng tạo tìm kiếm tri thức II Đồ dùng dạy học
1 Giáo viên: giáo án, sgk, sơ đồ cấu trúc mảng chiều 2 Học sinh: sgk
III Phương pháp Đặt vấn đề, thuyết giảng IV Hoạt động dạy học
1 Hoạt động 1: Khởi động
Hoạt động GV Hoạt động HS Nội dung ghi bảng
1 Nêu tốn mở đầu Y/cầu hs đọc, tìm hiểu chương trình giải tốn Và trả lời câu hỏi sau:
- Các biến: t1, …,t7 thể giá trị nào? Kiểu biến nào?
- Biến dem dùng làm gì?
- câu lệnh IF chương trình thực việc gì?
2 Mở rộng toán từ phạm vi tuần sang phạm vi N ngày (chẳng hạn tháng hay năm) chương trình có hạn chế nào?
3 Để khắc phục hạn chế người ta thường ghép chung
1 N/cứu tốn chương trình, suy nghĩ trả lời câu hỏi: - Nhận giá trị nhiệt độ ngày tuần Cùng kiểu thực (real) - dem: để đếm số ngày tron tuần có nđộ lớn nđộ trung bình
- Để kiểm tra ngày, nđộ ngày lớn nđộ trung bình
(9)biến thành dãy đặt cho chung tên đánh cho phần tử số
- GV giới thiệu mới: Kiểu mảng
Chúng ta xét hai kiểu mảng thông dụng: Kiểu mảng chiều kiếu mảng hai chiều 4. Y/cầu hs tham khảo sgk hỏi: Em hiểu mãng chiều?
Hỏi: Để mô tả mảng chiều, ta cần xác định yếu tố nào?
3. Lắng nghe
4. N/cứu sgk trả lời:
Mảng chiều dãy hữu hạn phận tử kiểu liệu Các ptử mảng tên phân biệt số
- Trả lời:
+ Kiểu p/tử + Cách đánh số p/tử
BÀI 11 KIỂU MẢNG 1.Kiếu mảng chiều a K/n mảng chiều
Mảng chiều dãy hữu hạn phận tử kiểu liệu Các ptử mảng tên phân biệt số
Để mô tả mảng chiều, ta cần xác định:
+ Kiểu p/tử + Cách đánh số p/tử
2 Hoạt động 2:Tạo kiểu mảng chiều khai báo biến mảng
Hoạt động GV Hoạt động HS Nội dung ghi bảng
1 Y/cầu hs tìm hiểu phần khai báo lời giải khác cho toán trường hợp tổng quát (N ngày), có sử dụng mảng chiều
Hỏi: Chỉ phần khai báo mảng phần báo chương trình?
* Ghi lại phần khai báo lên bảng - Ý nghĩa khai báo gì?
2 Giới thiệu cú pháp khai báo kiểu mảng chiều
-Khái qt hố, ta có cú pháp khái báo biến mảng chiều * Lưu ý cách chọn <Kiểu số>
3 Y/cầu cho ví dụ khai báo mảng?
Gọi hs khác: Ý nghĩa khai báo bạn vừa viết?
- Trả lời Trả lời:
Dòng 1: Kbáo kiểu mảng chiều gồm Max số thực
Dòng 2 : Kbáo biến mảng Nhietdo qua kiểu mảng
Lắng nghe ghi chép 3 Suy nghĩ trả lời Var Dhs2: array [1 100] of real;
- Kbáo trực tiếp mảng có tên Dhs2 gồm 100 p/tử có kiều thực Trả lời:
Cách & 3, ta dễ dàng điều chỉnh kích thước mảng
Type
Kmang1=array [1 Max] of real;
Var Nhietdo: Kmang1;
b Khai báo (Có hai cách) + Kbáo gián tiếp: (sgk) + Kbáo trực tiếp: (sgk)
Ví dụ 1:
Var Nhietdo: array [1 Max] Of real;
Ví dụ 2: Khai báo mảng tối đa 100 số nguyên (chỉ số 1)
Ta có cách sau: Cách 1:
Var a: Array[1 100] Of Integer;
(10)* Lưu ý hs tránh nhầm lẫn tên kiểu liệu mảng biến kiểu mảng
-Hỏi: (Treo bảng) Trong ba cách khai báo ví dụ 2, cách tốt hơn?
- Hỏi: Dựa vào ví dụ trang 55 SGK, cho biết:
+ Tên kiểu mảng? + Số phần tử mảng?
+ Mỗi phần tử mảng thuộc kiểu gì?
4. Cách tham chiếu đến phần tử mảng:
Y/cầu hs lấy ví dụ(sử dụng khbáo trên)
.ArrayReal 301 phần tử
.Real
a[2] p/tử vị trí thứ mảng a
a[i] p/tử vị trí i mảng a
hs trả lời câu hỏi
Const Nmax = 100; Var a: Array[1 Nmax] Of integer;
Cách 3:
Const Nmax = 100; Type MyArray = Array [1 Nmax] Of Integer; Var a:MyArray;
* Tham chiếu tới phần tử cuả mảng
Tên_biến[chỉ số]
3 Hoạt động 3: Củng cố
Hoạt động GV Hoạt động HS Nội dung ghi bảng
(Treo bảng)
+ Những khai báo đúng? + Biến a khai báo chiếm dung lượng nhớ bao nhiêu? (số phần tử mảng a, kiểu phần tử)
+ Trả lời:
Arrayr=array[1 200] of integer;
Arrayb = array[-100 100]
of boolean; + Trả lời: a chiếm 400 byte nhớ
Type
Arrayr = array[1 200] of integer; Arrayr = array[byte] of real; Arrayb = array[-100 100] of
boolean; Var a : arrayr;
B : arrayb; IV Củng cố học
Câu hỏi, tập nhà
Đọc ví dụ ví dụ 2/ trang 56+57 SGK :
-Xem lại thuật tốn tìm phần tử lớn dãy số nguyên thuật toán xếp dãy số nguyên thuật toán hoán đổi (lớp 10);
(11)Ngày soạn: 21/12/2010 PPCT: 22 §11 KIỂU MẢNG (Tiết 2)
I Mục đích, yêu cầu
1 Kiến thức: Khai báo kiểu, biến mảng chiều, cách tham chiếu dến p/tử mảng
2 Kĩ năng: Hs sử dụng biến kiểu mảng chiều để giải toán đơn giản
3 Tư duy, thái độ: Tự giác, tích cực, chủ động sáng tạo tìm kiếm tri thức II Đồ dùng dạy học
1 Giáo viên: giáo án, bảng phụ, sgk 2 Học sinh: sgk
III Phương pháp IV Hoạt dộng dạy học
1 Hoạt động 1: Kiểm tra cũ
Hoạt động GV Hoạt động HS
1. Trình bày cách khai báo kiểu mảng NNLT Pascal?
2. Khai báo mảng gồm N số nguyên (N500) (theo cách: trực tiếp gián tiếp)
Gọi hs trả lời
Gọi hs khác nhận xét Nội dung bảng Đánh giá, cho điểm
Hs1: Đứng chổ trả lời Hs2: (lên bảng)
Const N = 500;
C1: Var M : array[1 N] of integer;
C2: Type Mnguyen = array[1 N] of integer;
Var M : Mnguyen; 2 Hoạt động 2: Vận dụng kiểu mảng chiều
a Nội dung :
- Bài toán: Tạo mảng A gồm N (N100) số nguyên Tính tổng phần tử mảng
bội số nguyên dương k cho trước b Các bước tiến hành:
Hoạt động GV Hoạt động HS Nội dung ghi bảng
1 Nêu đề toán (ghi bảng) Y/cầu hs xác định In/Output toán
2. Ở lớp 10 ta xây dựng t/toán cho toán Y/cầu hs nhắc lại t/toán
3. Y/cầu hs cho biết việc cần thực chương trình gì?
4. Y/cầu hs cho biết biến cần sử dụng gì?
- Y/cầu hs khác lên viết phần
1. Đọc đề toán trả lời:
In: mảng A, số k Out: Tổng (S) p/tử mảng A bội k
2. 1-2 hs nhắc lại t/toán
3. Trả lời
+ Cho biết số ptử mảng A
+ Nhập giá trị cho ptử mảng A
+ Tính tổng
4. suy nghĩ trả lời - mảng A
Bài 1: Viết CT tạo mảng A gồm N (N100) số nguyên Tính tổng
các phần tử mảng bội số nguyên dương k cho trước
Var S, n, k, i : integer;
(12)khai báo biến đó?
5. Tiếp tục y/cầu hs lên viết phần chương trình tạo giá trị cho ptử mảng A (lưu ý nhập số lượng ptử mảng trước)
Gọi hs khác nhận xét
* Chỉnh sửa đoạn chương trình hs vừa hoàn thành
6. Để viết tiếp đoạn chương trình cịn lại (tính tổng) theo thuật tốn ta phải kiểm tra tất ptử mảng từ A[1] đến A[n] ta sử dụng câu lệnh đây?
- Hỏi: trước tính tổng, ngồi mảng A CT cần có thêm khơng? (GV bổ sung) - Y/cầu hs khác lên viết đoạn chương trình cịn lại?
** Chuẩn hố lại chương trình * Chạy thử chương trình với giá trị:
biến đơn: N, k, S - Lên bảng trình bày Var S, N, k: integer;
A: array[1 100] of integer; 5. Thực tương tự CT trước (Lên bảng trình bày)
Đứng chổ n/xét, (bổ sung sai sót) 6. Chú ý dẫn dắt vấn đề gv, suy nghĩ trả lời: Sử dụng cấu trúc lặp For -Giá trị k Biến S := 0
- Lên bảng trình bày
Begin
Write(‘Nhap n = ’); readln(n);
{tao mang}
For i:=1 To n Do begin
write(‘phan tu thu ’,i,’ =’); readln(A[i]);
end;
write(‘Nhap k = ’); readln(k); S := 0; {khoi tao S ban dau} {tinh tong}
For i:=1 To n Do
If A[i] mod k = Then S := S + A[i];
Writeln(‘Tong can tinh la ’, S); End.
Chạy thử chương trình
N = A: 5, 6, -8, 13, 24, 7, -4, -12 k =3
A 5 6 - 8 13 24 7 - 4
-12
i
A[i] mod
3
2 0 - 0 -1 0
S 0 6 6 30 30 30 18
3 Hoạt động 3: Mở rộng tốn có vận dụng mảng chiều a Nội dung :
Cho số câu lệnh:
(1) am, duong : integer; (2) am := 0; duong := 0;
(3) If A[i] >0 Then duong := duong + Else if A[i]<0 Then am := am + 1; (4) Writeln(duong: 4, am:4);
(13)b Các bước tiến hành:
Hoạt động GV Hoạt động HS Nội dung ghi bảng
(Treo bảng) chứa Nội dung câu lệnh cần thêm vào chương trình
1. Y/cầu hs n/cứu Nội dung câu lệnh hỏi:
- Ý nghĩa biến am, duong? - Chức lệnh (3)? - Lệnh (4) đưa thông tin gì? 2. Y/cầu hs tìm vị trí bổ sung lệnh vào cho phù hợp để chương trình đếm số dương, số âm 3. Y/cầu hs lên hoàn chỉnh lại chương trình?
** Chuẩn hố lại chương trình * Chạy thử chương trình với giá trị:
Quan sát câu lệnh 1 N/cứu ý nghĩa câu lệnh trả lời: - Dùng để lưu số lượng đếm - Đếm số dương đếm số âm
- Số số dương, số số âm
2 Chỉ vị trí cần bổ sung câu lệnh cần loại bỏ bớt
3. Lên bảng , chỉnh sửa lại chương trình
Var n, i : integer; am, duong : integer; A : array[1 100] of integer; Begin
Write(‘Nhap n = ’); readln(n);
{tao mang}
For i:=1 To n Do begin
write(‘phan tu thu ’,i,’ =’);
readln(A[i]); end;
am := 0; duong := 0;
{dem}
For i:=1 To n Do If A[i] >0 Then
duong := duong +
Else if A[i]<0 Then am := am + 1; Writeln(duong: 4, am:4); End.
Chạy thử chương trình
N = A: 5, 6, -8, 13, 24, 7, -4, -12
A 5 6 - 8 13 24 7 - 4 12
-Duo
ng 1 2 2 3 4 5 5 5
am 0 0 1 1 1 1 2 3
IV Củng cố học 1 Nội dung học
- Tính tổng phần tử mảng thoả mãn điều kiện - Đếm số phần tử mảng thoả mãn điều kiện 2 Câu hỏi, tập nhà
(14)Ngày soạn: 02/1/2011 PPCT: 23 §11 KIỂU MẢNG (Tiết 3)
I Mục đích, yêu cầu 1 Kiến thức:
- Khai báo kiểu, biến mảng chiều, cách tham chiếu dến p/tử mảng - Củng cố làm hs hiểu sâu thuật toán xếp học lớp 10
2 Kĩ năng: Hs sử dụng biến kiểu mảng chiều để giải toán đơn giản 3 Tư thái độ:
-Rèn luyện tác phong, tư lập trình, tự giác , tích cực, chủ động sáng tạo tìm kiếm kiến thức
II Đồ dùng dạy học
1 Giáo viên: giáo án, bảng phụ, sgk 2 Học sinh: sgk
III Phương pháp IV Hoạt động dạy học
1 Hoạt động 1: Kiểm tra cũ
Hoạt động GV Hoạt động HS
Gọi Hs lên bảng trình bày tập cho nhà tiết trước
Gọi hs khác nhận xét Đánh giá cho điểm
2 hs lên bảng trình bày Nhận xét
2 Hoạt động 2: Phân tích tốn trước viết chương trình a Nội dung : Sắp xếp dãy số nguyên thuật toán tráo đổi. b Các bước tiến hành:
Hoạt động GV Hoạt động HS Nội dung ghi bảng
1. Nêu toán, y/cầu hs xác định In/Output tốn 2 Y/cầu hs trình bày lại thuật toán xếp tráo đổi (Đã học lớp 10)
3 Y/cầu lớp n/cứu lại t/toán trả lời câu hỏi:
- Biến j sẽ nhận giá trị phạm vi nào? Tương tự với biến i?
- Có nhận xét biến i,j? (với giá trị j, i nhận giá trị từ đến j-1)
1. Đọc đề xác định toán
In: N (N250), dãy A
(A[i]<500)
Out: dãy A khơng giảm 2.Thuật tốn
B1: Nhập N, dãy A ; B2: jN;
B3: j<2 đưa dãy xếp, KT;
B4: jj-1; i1;
B5: Nếu i>j Qlại B3; B6: Nếu A[i]>A[i+1] tráo đổi A[i] A[i+1];
B7: Quay lại B5 Trả lời:
+ j N, i
j-1
Số nguyên dương N (N250)
(15)+ i phụ thuộc theo j
3 Hoạt động 3: Vận dụng kiểu liệu mảng chiều để mơ tả t/tốn Pascal
Hoạt động GV Hoạt động HS Nội dung ghi bảng
1 Y/cầu hs xác định Nội dung cần viết chương trình
* Chốt lại Nội dung cần viết
2 Yêu cầu hs lên bảng viết Nội dung chương trình - Khai báo biến gì?
- Tạo mảng làm gì?
- Sắp xếp mảng
Hỏi: Làm để tráo đổi giá trị biến cho (a[i] a[i+1])?
- Đưa mảng hình
1 Suy nghĩ trả lời: +Khai báo biến +Tạo mảng A
+Sắp xếp mảng A tăng dần
+Đưa mảng A xếp hình
2 Lên bảng trình bày Nội dung
- mảng A, biến đơn N, i, j
- Nhập sl p/tử mảng nhập giá trị cho p/tử mảng
Tl: sử dụng thêm biến trung gian t:
t:=a[i]; a[i]:=a[i+1]; a[i+1] :=t
Viết lại chương trình vào
Var A: array[1 300] of integer;
N, i, j :integer; Begin
{tao mang}
Write(‘Nhap n = ’); readln(n);
For i:=1 To n Do begin
write(‘phan tu thu ’,i,’ =’);
readln(A[i]); end;
{sap xep mang}
For j := N Downto Do for i:=1 to j - do If a[i] > a[i+1] then begin
t:=a[i]; a[i]:=a[i+1]; a[i+1] :=t
end;
{dua mang da sap xep}
Writeln (‘Mang da duoc sap xep ’);
For i :=1 To N Do write (a[i]:4);
Readln End. IV Củng cố học
1 Nội dung học
-Cách phân tích viết chương trình cho toán 2 Câu hỏi, tập nhà
-Xem lại tập mảng giải tiết 20 -Xem trước bài: Bài thực hành số
-Bài tập: Cho mảng A gồm N phần tử viết chương trình tạo mảng B gồm N phần tử, B[i] tổng i phần tử mảng A (B[i]= A[1]+A[2]+ +A[i])
(16)Ngày soạn: 4/1/2011 §11 KIỂU MẢNG (Tiết 4)
PPCT: 24 I Mục đích, yêu cầu
1 Kiến thức
- Hiểu khái niệm mảng hai chiều
- Hiểu cách khai báo tham chiếu đến phần tử mảng hai chiều 2 Kĩ năng
- Thực khai báo mảng hai chiều, cách tham chiếu đến phần tử mảng hai chiều
- Thực việc tính tốn phần tử mảng hai chiều Tư duy, thái độ
- Xây dựng lòng u thích giải tốn lập trình máy tính
- Ln muốn cải tiến chương trình nhằm nâng cao hiệu chương trình II Đồ dùng dạy học
1 Giáo viên: Bảng phụ chứa chương trình tạo in mảng hai chiều gồm hàng, cột Tính in hình tổng phần tử mảng
2 Học sinh: SGK, soạn III Phương pháp
Thuyết trình, đặt vấn đề, hỏi đáp IV Hoạt động dạy học
1 Hoạt động 1: Kiểm tra cũ
Hoạt động GV Hoạt động HS
Viết CT tạo in hình mảng A gồm n phần tử 10 phần tử Mỗi phần tử số nguyên Cho biết có phần tử mảng có giá trị số nguyên k
2 Hoạt động 2: Tìm hiểu ý nghĩa mảng hai chiều
Đặt vấn đề: Ở tiết trước, tìm hiểu cách khai báo mảng, cách tạo mảng truy cập đến phần tử mảng chiều Hôm nay, tìm hiểu vấn đề mảng hai chiều
Hoạt động GV Hoạt động HS Nội dung ghi bảng
- GV yêu cầu HS xem bảng nhân SGK
- Với kiến thức mảng chiều học, em đưa cách sử dụng kiểu mảng để lưu trữ bảng nhân?
- Với cách lưu trữ vậy, ta phải khai báo biến mảng?
- Khai báo có hạn chế nào?
- Để khắc phục hạn chế này, ta mơ tả liệu bảng nhân kiểu mảng chiều gồm phần tử, phần tử mảng chiều có 10 phần
- Xem bảng nhân SGK trang 59
- Sử dụng mảng chiều, mảng lưu hàng bảng - TL: Khai báo biến mảng chiều
- TL: Phải khai báo nhiều biến, chương trình phải viết nhiều lệnh để tạo in giá trị mảng
- Chú ý lắng nghe
(17)tử Như vậy, ta biểu diễn bảng nhân kiểu liệu mảng hai chiều
- Yêu cầu HS nhận xét mảng hai chiều?
- Nêu khái niệm mảng hai chiều - Để mô tả kiểu mảng hai chiều, cần xác định yếu tố nào?
- TL: Nếu coi hàng mảng hai chiều phần tử ta coi mảng hai chiều mảng chiều mà phần tử mảng chiều
- HS trả lời
- Tham khảo SGK trả lời
* Khái niệm mảng hai chiều: (SGK)
* Các yếu tố cần xác định để mô tả kiểu mảng hai chiều (SGK)
3 Hoạt động 3:(10’)Tìm hiểu cách khai báo biến mảng hai chiều cách tạo/in mảng hai chiều.
Hoạt động GV Hoạt động HS Nội dung ghi bảng
- GV đưa hai cách khai báo biến mảng hai chiều
- GV giải thích thành phần khai báo
- Gọi HS nêu cách khai báo gián tiếp biến B để lưu trữ bảng nhân SGK
- Gọi HS nhắc lại cách tham chiếu đến phần tử mảng chiều
- Gọi HS nêu cách tham chiếu đến số 81 bảng nhân?
- HS ý theo dõi
- Chú ý lắng nghe
- HS đứng chỗ trả lời
- TL: Tênbiến[chỉ số] - TL: B[9,9] = 81
b Khai báo: C1: Trực tiếp:
Var <tênbiếnmảng>:array [kiểu số hàng, kiểu số cột] of <kiểu phần tử>; C2: Gián tiếp:
Type <tên kiểu mảng> = array[kiểu số hàng, kiểu chỉ số cột]of <kiểu ptử>; Var <tên biến mảng>:<tên kiểu mảng>;
Ví dụ:
var A:array [1 50,1 100] of integer;
ii) type mang2c =array [1 9,1 10] of byte; var B: mang2c;
c.Tham chiếu đến phần tử mảng hai chiều: Tênbiến[chỉ số hàng,chỉ số cột]
i) A[i,j] phần tử hàng i, cột j
của mảng A
ii) B[9,9] phần tử hàng 9,
cột bảng nhân B
4 Hoạt động 4: Tìm hiểu cách viết chương trình đơn giản
Hoạt động GV Hoạt động HS Nội dung ghi bảng
d Các ví dụ:
(18)- GV hướng dẫn HS cách tạo mảng hai chiều có m hàng, n cột
- GV hướng dẫn HS cách in mảng hai chiều vừa tạo
- Gọi HS lên bảng sửa lại phần khai báo câu lệnh nhập cho phù hợp với
- GV hướng dẫn HS cách tính tổng
- GV treo bảng phụ viết sẵn chương trình cho HS tham khảo
- HS ý theo dõi
- Chú ý lắng nghe theo dõi
- HS lên bảng làm + Không khai báo m,n + Khai báo thêm biến T + Viết hai vòng for lệnh tạo in mảng là: for i := to 5 do for j := to do - HS ý theo dõi - Theo dõi chương trình bảng phụ
hàng, n cột
program Tao_in_mang; var i, j, m, n: integer;
A: array [1 100,1 100] of integer;
begin
write ('Nhap so hang m = '); readln (m);
write ('Nhap so cot n = '); readln (n);
{Tạo mảng} for i := to m do for j := 1 to n do begin
write('Nhap A[',i, ',' ,j,']='); readln (A[i , j]); end;
{In mảng}
for i:= to m do begin
for j := 1 to n write (A[i , j]:4); writeln;
end; readln end.
Ví dụ 2: Tạo in mảng hai chiều gồm hàng, cột Tính in hình tổng phần tử mảng
T:= 0;
for i := to do for j := to do T := T + A[i,j]; IV Củng cố học
1 Nội dung học
- Cách khai báo biến mảng hai chiều - Cách tạo mảng hai chiều
- Cách tính tốn phần tử mảng hai chiều
2 Câu hỏi, tập nhà : Xem ví dụ lại SGK
PPCT: 25 Ngày soạn:6/1/2011
Bài tập I Mục tiêu:
1 Về kiến thức: Củng cố kiến thức về:
(19)- Kiểu liệu có cấu trúc xây dựng từ kiểu liệu sở theo số cách thức tạo kiểu ngơn ngữ lập trình Pascal quy định
- Mỗi kiểu liệu có cấu trúc thường hữu ích việc giải số tập - Trong ngôn ngữ Pascal dùng mô tả kiểu liệu với từ khoá Type
2 Về kĩ năng:
- Rèn luyện kĩ khai báo kiểu liệu có cấu trúc (với Pascal, sử dụng thành thạo từ khoá Var, Type)
- Sử dụng thành thạo thao tác vào/ phép toán thành phần sở 3 Về tư thái độ:
- Thái độ học tập tích cực, ham thích lập trình
- Tiếp tục hình thành xây dựng phẩm chất cần thiết người lập trình II Chuẩn bị:
- GV: Computer
- HS: Chuẩn bị tập nhà III Phương pháp:
- Nêu vấn đề, Dẫn dắt, gợi ý IV Tiến trình hoạt động:
Hoạt động 1: Giải tập số trang 79 Sách GK Tin học lớp 11
Hoạt động GV Hoạt động HS Ghi bảng
HĐTP1:
H1: Sử dụng kiểu liệu cách khai báo?
H2: Khai báo biến nào?
- Yêu cầu HS viết chương trình nhập mảng A
- Chỉnh sửa làm HS H3: Số chẵn số nào? - Nếu có số lượng số chẵn dãy tìm số lượng số lẻ hay khơng? - Nếu tìm cách nào?
H4: Sử dụng câu lệnh để viết?
- Yêu cầu HS hoàn thành chương trình câu a
- Nhận xét, chỉnh sửa làm HS
HĐTP 2:
H1: Nêu thuật tốn kiểm tra số có phải số nguyên tố hay không?
- Yêu cầu HS viết chương trình dựa theo thuật tốn
Hd: Sử dụng câu lệnh nào?
- Trả lời:
Kiểu mảng chiều: Var A:array [1 100] of integer;
- Trình bày lên bảng:
TL: Chia hết cho - Nếu có số lượng số chẵn dãy tìm số lượng lẻ cách: n -số lượng -số chẵn
TL: If then - Trình bày lên bảng:
- Trả lời câu hỏi: - Trình bày lên bảng:
(20)Hoạt động GV Hoạt động HS Ghi bảng - Yêu cầu HS hồn thành đoạn
chương trình câu b - Nhận xét, đánh giá:
- Gợi ý để HS kết hợp hai đoạn chương trình thành chương trình hồn chỉnh cho
+ Hoạt động 2: Giải tập trang 79 Sách GK Tin học lớp 11
Hoạt động GV Hoạt động HS Ghi bảng
- Yêu cầu HS liệt kê số hạng đầu dãy Fiponaci
H1: Đoạn chương trình nhập từ bàn phím số nguyện dương nào?
H2: Số hạng tổng quát thứ n nào?
- Gợi ý: Để viết chương trình ta cần biến phụ? H3: sử dụng câu lệnh này?
- Yêu cầu HS viết chương trình tìm số hạng thứ n
- Gọi HS hoàn chỉnh lại chương trình
- Nhận xét, chỉnh sửa, đánh giá làm
- Liệt kê: 0, 1, 1, 2, 3, - Viết chương trình lên bảng:
TL: Fn = Fn-1 + Fn-2 TL: Dùng biến phụ (F1, F2)
- Suy nghĩ, trả lờ: - Lên bảng trình bày:
Chính xác hố 6/trang79
+ Hoạt động 3: Củng cố (2ph)
Cấu trúc lệnh: While For Về nhà làm tập
*************************
PPCT: 26-27 Ngày soạn: 10/1/2011
BÀI THỰC HÀNH SỐ 3 I.Mục tiêu:
1.Kiến thức:
- Củng cố lại kiến thức kiểu liệu mảng, cụ thể mảng chiều.Qua cung cấp cho học sinh thuật toán thường gặp với kiểu liệu mảng
2.Kĩ năng:
- Rèn luyện cho học sinh số kĩ làm việc với mảng như: +Khai báo kiểu liệu mảng chiều,
+ Nhập/ xuất liệu,
+Duyệt qua phần tử mảng,
-Qua giúp học sinh biết cách giải số toán thường gặp như: +Tính tổng phần tử thoả mãn điều kiện đó,
+Đếm số phần tử thoả mãn điều kiện đó,
(21)-Rèn luyện tác phong, tư lập trình, tự giác , tích cực, chủ động sáng tạo tìm kiếm kiến thức
II.Chuẩn bị giáo viên học sinh: 1.Giáo viên:
+Phịng máy vi tính,
+Một số chương trình cài sẵn USB đĩa mềm, +Máy chiếu bảng phụ,
2.Học sinh: +Học cũ,
+Đọc trước nhà III.Phương pháp:
-Trình chiếu kết hợp đàm thoại
-Hướng dẫn học sinh bước thực số chương trình IV.Tiến trình dạy:
Hoạt động 1: Kiểm tra cũ
Câu hỏi: Có cách khai báo mảng chiều? Cho ví dụ
Hoạt động học sinh Hoạt động giáo viên Ghi bảng
-Lắng nghe câu hỏi -Học sinh trả lời câu hỏi Cả lớp theo dõi, nhận xét
-Nêu câu hỏi
-Gọi học sinh lên trả lời
-Giáo viên nhận xét, cho điểm
Có hai cách khai báo: a/Khai báo trực tiếp:
Var < tên biến mảng > : array [ kiểu số ] of < kiểu phần tử>; b/ Khai báo gián tiếp
Type < tên kiểu mảng > : array [ kiểu số ] of < kiểu phần tử>; Var < tên biến mảng >: < tên kiểu mảng >;
Hoạt động 2: Bài tập số sgk/63
Hoạt động học sinh Hoạt động giáo viên Ghi bảng
1/HĐTP1:
Quan sát bảng phụ, - Lắng nghe câu hỏi trả lời
Treo bảng phụ có nội dung số 1a/ sgk/63 ( sử dụng máy chiếu ) Sau đặt câu hỏi cho học sinh trả lời
+ Khai báo uses CRT; có ý nghĩa gì?
+Myarray tên kiểu liệu hay tên biến?
-Khai báo thư viện chương trình CRT để sử dụng thủ tục Clrscr;
- Myarray : tên kiểu liệu
(22)-Theo dõi để nắm hàm Random
+Câu lệnh cho số ngẫu nhiên có giá trị từ -299 đến 299
+câu lệnh in hình giá trị tất phần tử mảng +cộng tất phần tử chia hết cho k
+Số lần thực lệnh gán số phần tử mảng chia hết cho k
-Theo dõi kết chạy thử chương trình
2/HĐTP2: Sửa chương trính câu a/ để chương trình giải toán câu b/ -Quan sát bảng phụ, theo dõi trả lời câu hỏi GV
+Nếu a[i] > cộng a[i] vào posi; ngược lại a[i] < cộng a[i]
+Vai trị nmax n có khác nhau?
+Những dòng lệnh dùng để tạo biến mảng a -Giáo viên giới thiệu hàm Random cho học sinh.Sau đố đặt câu hỏi:
+ a[i] := Random(300) – Random (300) có ý nghĩa gì?
+ Lệnh for i:=1 to n Write ( a[i] : 5); Có ý nghĩa gì?
+Lệnh For-do cuối thực nhiệm vụ gì? +Lệnh gán s := s + a[i] ; thực lần?
-Thực lại chương trình lần cuối để học sinh thấy kết
-Treo bảng phụ câu b/ tập sgk/64
Hỏi HS:
+ Ý nghĩa biến posi neg?
+ Chức lệnh :
n: số phần tử thực tế a
-Random(n): cho số ngẫu nhiên từ đến n-1
(23)vào neg
+Quan sát lệnh suy nghĩ vị trí cần sửa chương trình câu a?
+Theo dõi kết chạy chương trình
If a[i] > then
posi := posi +1 else if a[i] < then neg := neg +1; gì?
+Hướng dẫn học sinh thêm vào vị trí cần thiết để chương trình đếm số lượng số âm số dương
+Chạy thử chưong trình để học sinh theo dõi kết
Hoạt động 3: Bài tập số 2/sgk/64
Hoạt động học sinh Hoạt động giáo viên Ghi bảng
1/HĐTP1: Đưa một ví dụ cụ thể
-Theo dõi, suy nghĩ để nắm thuật toán
-Đọc đoạn chương trình sgk Liên hệ trả lời câu hỏi mà GV nêu +Sửa a[i] > a[j] ; thành a[i] < a[j] ;
+Sửa a[i] > a[j]; thành a[i] >= a[j];
Ví dụ: Cho mảng gồm 5 phần tử: Tìm phần tử có giá trị lớn vị trí mảng ( số thứ tự )
-Gợi ý , hướng dẫn học sinh thuật tốn tìm phần tử lớn vị trí (kết hợp làm thủ công)
-Cho học sinh đọc đoạn chương trình 2/64sgk
Hỏi HS:
+ Nếu muốn tìm phần tử nhỏ cần sửa chỗ nào?
+Nếu muốn tìm phần tử lớn với số lớn ta sửa ổ chỗ nào?
j:=1;
For i:=2 to n
If a[i] > a[j] then j:=i; (Sau kết thúc:
(24)2/HĐTP2:
-Theo dõi GV chạy chương trình làm lại máy tính
-Chạy thử chưong trình cho học sinh theo dõi -Theo dõi học sinh thực chương trình xem kết
Hoạt động 4:Củng cố
-Nhắc lại cho học sinh số kiến thức về:
+ Tính tổng phần tử phần tử thoả mãn điều kiện + Đếm số phần tử thoả mãn điều kiện
+ Tìm phần tử lớn nhất/ bé
(25)Ngày soạn:16/1/2011 BÀI THỰC HÀNH SỐ (Tiết 1)
PPCT: 28
I Mục đích, yêu cầu 1 Kiến thức
- Củng cố kiến thức liệu kiểu mảng
- Xây dựng cấu trúc liệu, hiểu thuật toán xếp tráo đổi 2 Kĩ năng
- Biết chỉnh sữa lỗi chương trình
- Tự nhập liệu để hiểu ý nghĩa số câu lệnh 3 Thái độ
- Nghiêm túc thực nội quy phòng máy, tự giác lập trình II.Chuẩn bị
- Gv:Bảng phụ viết sẵn chương trình, phịng máy, project - Hs: Sgk, CT viết sẵn
III Phương pháp IV Tiến hành dạy học
1 Hoạt động 1: Nhắc lại kiến thức học liên quan thực hành
Hoạt động GV Hoạt động Hs
Hỏi 1: Nêu cách khai báo kiểu mảng chiều
Hỏi 2: Nhập từ bàn phím xây dựng mảng chiều A có phần tử
Tl: có cách + gián tiếp: + trực tiếp:
TL: For i:= to Begin
Writeln(‘Nhap phan tu thu ’,i,’=’); Readln(A[i]);
End; 2 Hoạt động 2: Xác định toán tìm hiểu chương trình
Hoạt động GV Hoạt động HS Ghi bảng
1. Chiếu đề lên bảng 2. Xác định toán
Y/cầu hs xác định liệu vào/ra toán?
3. Gv minh hoạ toán:
A
1 Mảng A xếp:
A
1 - Yêu cầu hs nhắc lại ý tưởng thuật toán(Lớp 10)?
- Chiếu thuật toán liệt kê bước
4. Tìm hiểu chương trình - Vai trò biến i, j CT?
1. Quan sát đề lằng nghe câu hỏi gv 2. Trả lời câu hỏi - Vào: mảng A
- Ra: mảng A xếp
3. Theo dãy số minh họa, nhớ lại thuật toán xếp học
- Nhắc lại thuật toán - Quan sát, đối chiếu thuật toán liệt kê với CT (SGK)
4. Xem CT tìm hiểu số biến, lệnh
Đề: Sắp xếp dãy số nguyên thuật toán tráo đổi với giá trị khác n số
(26)- Đoạn lệnh thực tráo đổi giá trị phần tử liền kề mảng?
- Treo bảng CT chuẩn bị sẵn Giải thích số lệnh CT
- TL: Dùng làm biến số
TL:3 lệnh: tg := a[i]; a[i]:= a[i+1]; a[i+1]:= tg;
- Chú ý, lắng nghe, quan sát ghi nhớ 3 Hoạt động 3: Chạy CT câu a
Hoạt động GV Hoạt động HS Ghi bảng
- Yêu cầu hs tự nhập liệu với CT có sẵn
- Giúp hs phát sữa lỗi - Thuật toán tiến hành đưa số lớn thứ j đến vị trí j sau vịng lặp:
For i:= to j-1
- Chạy CT, nhập liệu, xm kết
- Chỉnh sữa CT thông qua thông báo lỗi - Chú ý hiểu rõ thêm CT
4 Hoạt động 4: Xác định toán câu b
Hoạt động GV Hoạt động HS Ghi bảng
1. Xác định toán
- Y/cầu hs xác I/O toán? - Biến Dem tăng lên nào?
- Cần đưa câu lệnh tăng Dem vào chỗ CT trên? - Câu lệnh khởi tạo Dem:= đặt vào vị trí CT?
+ Trước CL đầu tiên: For j:= N down to
+ Trước CL duyệt: For i:= to j-1 + Trước CL tráo đổi + Sau CL tráo đổi
- Sau CL cuối CT nên đưa CL vào để hiển thị giá trị biến Dem hình
1 Xác định tốn: + I: mảng a;
+O: mảng a xếp, số lần tráo đổi (Dem); TL: Khi A[i] > A[i+1] (tức biểu thức đk CL If đúng)
TL: Trong thân CL If: trước sau lệnh tráo đổi
TL: Chọn hai phương án 3,
(27)4 Hoạt động 5: Sữa CT câu a để giải toán câu b
Hoạt động GV Hoạt động HS Ghi bảng
- Yêu cầu hs sữa lại CT theo gợi ý nêu
- Hướng dẫn hs chỉnh sửa chạy CT
- Đánh giá kết hs
- Thêm CL hướng dẫn vào CT - Chạy CT
CT(Phụ lục)
Hoạt động 6: Củng cố
- Thuật toán xếp tráo đổi - Đếm số lần tráo đổi
Hoạt động 7: Bài tập nhà
- Tìm thêm thuật toán xếp khác tối ưu
- Cho mảng A mảng B (là mảng A xếp) Hãy in số phần tử mảng A theo mảng B
Ngày soạn: 20/1/2011 BÀI THỰC HÀNH SỐ (Tiết 2)
PPCT: 29 I Mục đích, yêu cầu
1 Kiến thức
-Tiếp tục củng cố kiến thức lập trình với liệu kiểu mảng 2 Kĩ năng
-Nhận xét, phân tích đề xuất cách giải tốn cho chương trình chạy nhanh
3 Thái độ
-Tự giác, chủ động lập trình II.Chuẩn bị
Gv:Bảng phụ viết sẵn chương trình, phịng máy, project Hs: Sgk, CT viết sẵn
III Phương pháp IV Tiến hành dạy học
1 Hoạt động 1: Ôn lại kiến thức chuẩn bị thực hành
Hoạt động GV Hoạt động Hs
Hỏi 1: cách khai báo kiểu mảng chiều Hỏi 2: (tuỳ lớp)
Tl: có cách + gián tiếp: + trực tiếp: 2 Hoạt động 2:(13') Nêu đề tốn tìm hiểu
Hoạt động GV Hoạt động HS Ghi bảng
1. Ghi đề lên bảng 2. Tìm hiểu đề
Y/cầu hs xác định liệu vào/ra tốn? 3. Gv lấy ví dụ minh hoạ
A
1. Quan sát đề lắng nghe câu hỏi gv
2. Trả lời câu hỏi - Vào:
- Ra:
3. Theo dõi ví dụ
(28)1
B
1 Ban đầu: B[i] = Hỏi: mỗi B[i] tạo bao nhiêu? Tóm lại: B[i] = A[1] + …+ A[i]
= i
j=1 [ ]
A j
GV minh hoạ số phần tử: B[1], B[2], B[3] - Y/cầu hs tìm kết mảng B theo ví dụ 4. Viết CT thơ
- Y/cầu hs cho biết phần CT cần xây dựng?
Gv tranh thủ ghi lại bảng
H: Bước B2 cụ thể CT nào?
5. Treo bảng CT chuẩn bị sẵn
Giải thích phần CT tương ứng với phần trả lời ghi bảng hs
minh hoạ
Tl: (2-3hs)
Tl:
B
0 12 15 22 4. Lần lượt cho hs trình bày
Tl:
Tl: sử dụng vòng for lồng
for i:=1 to n begin
b[i]: =0;
for j:=1 to i b[i]:= b[i]+a[j];
end;
5. Chú ý, lắng nghe, quan sát ghi nhớ
Khai báo: + k/báo mảng + biến đơn Phần thân: B1: tạo mảng A
B2: xd mảng B theo A B3: In mảng B
3 Hoạt động 3: (5')Tối ưu chương trình
Hoạt động GV Hoạt động HS Ghi bảng
1. Dựa vào phần phân tích ví dụ thuật tốn
Gv hỏi: So sánh giá trị B[i] B[i-1]?
Đặc biệt: B[1]=? 2. Chta hướng tới thuật toán tối ưu Đối với toán theo phân
Tl: B[i]:=B[i-1]+A[i] Tl: B[1]=A[1]
(29)tích ta tận dụng kết việc tính tổng i -1 phần tử có sẵn bước trước
- Do ta có được: + Số lượng phép tốn '+'
+Chỉ dùng vòng lặp for -> sd biến số i cho mảng A, B 3. Cải tiến lại chương trình
Gv treo bảng chương trình cải tiến
{tùy đối tượng hs} 3. Nhìn bảng, tự điều chỉnh hành vi nhận thức
Đoạn CT cải tiến: Sgk
4 Hoạt động 4: (20') Hs thực hành máy theo nhóm
Hoạt động GV Hoạt động HS Ghi bảng
1. Y/cầu hs nhập CT cải tiếnvào máy
2. Theo dõi trình t/hiện hs Giải số lỗi nhỏ nhóm
1. Hs nhập chương trình vào máy
2. Tự biên dịch chạy CT với ví dụ
3. Tự lấy Input để chạy lại CT
5 Hoạt động 5: Củng cố, uốn nắn sai sót thường gặp Hs 6 Hoạt động 6: Dặn dò: Xem, chuẩn bị trước 12: Kiểu xâu
Ngày soạn: 2/2/2011 Bài 12: KIỂU XÂU (tiết 1)
PPCT: 30
I Mục tiêu 1 Về kiến thức
- Biết kiểu dự liệu mới, biết khái niệm kiểu xâu - Phân biệt giống khác kiểu mảng với kiểu xâu
- Biết cách khai báo biến, nhập/xuất liệu, tham chiếu dến kí tự xâu - Biết phép tốn liên quan đến xâu
2 Về kĩ năng
- Khai báo biến kiểu xâu ngôn ngữ lập trình Pascal
- Sử dụng biến xâu phép toán xâu để giải toán đơn giản 3 Tư duy, thái độ
- Có thái độ nghiêm túc học tập, làm việc khoa học có hứng thú giải tốn lập trình
II Chuẩn bị GV HS
1 GV: Máy vi tính, Máy chiếu để giới thiệu ví dụ. 2 HS: SGK.
(30)IV Tiến trình học
Hoạt động 1: Kiểm tra cũ khởi động mới
HĐ GIÁO VIÊN HĐ HỌC SINH Ghi bảng
Ghi câu hỏi lên bảng Phát vấn HS chỗ Y/c HS khác nhận xét Chính xác hóa nội dung 'Viet Nam' liệu kiểu mảng Tuy nhiên kiểu liệu mà tiết ta học: KIỂU XÂU
Suy nghĩ, trả lời Nhận xét
Ghi nhớ kiến thức
Câu hỏi:
Định nghĩa mảng chiều cách khai báo
'Viet Nam' có phải liệu kiểu mảng chiều khơng, Vì sao?
Hoạt động 2: Tìm hiểu liệu kiểu xâu
HĐ GIÁO VIÊN HĐ HỌC SINH Ghi bảng
Xâu gì?
Y/c HS khác nhận xét Chính xác hóa nội dung Y/c HS cho VD
Xâu có kí tự? Dấu cách ký tự
Y/c HS viết xâu có ký tự trống, xâu rỗng, nêu số lượng ký tự xâu Giới thiệu cách tham chiếu phần tử
Trả lời Nhận xét
Hình thành khái niệm Xâu
Cho VD Trả lời
Bài 12: KIỂU XÂU Khái niệm (SGK)
Tương tự kiểu mảng
Hoạt động 3: Khai báo liệu kiểu xâu thao tác xử lí xâu
HĐ GV HĐ HS Ghi bảng
- Hỏi: Ý nghĩa từ String?
Độ dài lớn xâu
- Hãy nhắc lại phép toán học kiểu liệu chuẩn
- Chiếu chương trình VD - Hỏi: Kết chương trình in hình? Thực chương trình cho HS thấy kết
- Y/c HS tìm số VD khác
- Hỏi: Chức phép cộng
- Chiếu chương trình VD phép so sánh y/c HS cho biết kết
Lưu ý cho HS
Trả lời Trả lời
Quan sát chương trình để dự tính kết qủa
1 Khai báo (SGK) Các thao tác xử lí xâu Var st:string;
Begin
St:='A' + 'B'; Write(st); Readln; End VD:
'AB'<'ABC' 'AC'<'ABC' Lưu ý:
Một xâu có độ dài nhỏ lớn (>) ngược lại
(31)Hoạt động 4: Củng cố:
Nhắc lại nội dung học: - Khai báo biến
- Nhập xuất gá trị cho biến xâu - Tham chiếu kí tự xâu - Phép ghép xâu
- Các phép so sánh
- Về nhà xem phần kiến thức lý thuết lại bài, bao gồm thủ tục hàm liên quan đến xâu, sách giáo khoa trang 70 - 72
Ngày soạn: 4/2/2011 Bài 12: KIỂU XÂU(Tiết 2)
PPCT: 31
I: Mục tiêu:
1 Kiến thức:
- Hiểu lợi ích hàm thủ tục liên quan đến xâu tring ngơn ngữ lập trình Pascal
- Nắm cấu trúc ching chức số hàm liên quan đến xâu
2 Kỹ năng:
- Bước đầu sử dụng số hàm, thủ tục thông dụng xâu - Có thể cài đặt số chương trình đơn giản có sử dụng xâu
3 Tư duy, thái độ
-Rèn luyện tác phong, tư lập trình, tự giác , tích cực, chủ động sáng tạo tìm kiếm kiến thức
II Chuẩn bị GV HS:
GV: Giáo án, SGK, sách GV, bảng phụ soạn ví dụ HS: Sách GK
III Phương pháp: Đặt vấn đề
Thuyết trình, vấn đáp
Diễn giải, dùng bảng để ghi lại chi tiết quan trọng ví dụ IV Tiến trình học.
Hoạt động 1:
Tổ chức lớp: Ổn định kiểm tra sĩ số Các bước tiến hành:
HĐ GIÁO VIÊN HĐ HỌC SINH NỘI DUNG
Kiểm tra cũ
- Gọi HS :
Câu 1: Xâu gì? Cách khai báo biến xâu
-GV nhận xét cho điểm *Giới thiệu mới
ĐVĐ: Chúng ta biết xâu gì? Và số phép tốn xâu Bây chung ta học số thủ tục chuẩn dùng để xử lí xâu
- HS trả lời câu hỏi
2 Các thao tác sử lí xâu:
Một số thủ tục chuẩn dùng để sử lí xâu.
(32)HĐ GIÁO VIÊN HĐ HỌC SINH NỘI DUNG
-Ứng với thủ tục hàm giáo viên đưa ví dụ minh hoạ theo sgk
- Xâu gồm kí tự trống viết nào? số lượng kí tự bao nhiêu?
- Tham số hàm thủ tục chuẩn phải hợp lí, chẳng hạng dùng Insert( S1, S2, 12) length(S2)<12
Hoạt động 2: Rèn luyện kĩ năng vận dụng hàm thủ tục.
ĐVĐ: Bấy sâu chức hàm thủ tục xâu - Ý nghiã hàm Length(b)?
Em giải thích câu lệnh
For i:=k downto
chú ý quan sát bảng
HS trả lời
- Kí hiệu cảu xâu gồm kí tự trống ‘ ‘ xâu có độ dài
Quan sát bảng TL: Cho số lượng kí tự có sâu b
Quan sát bảng TL: Sử dụng vòng lặp For giá trị cuối
Insert(S1,S2,vt) Chèn xâu S1 vào xâu S2 vị trí vt S2
Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nến khơng đổi vị trí gây lỗi ghi m, đổi thành cơng m =
Str(X,St) Chuyển số X thành xâu kí tự lưu St Một số hàm chuẩn:
- Copy(St, vt, n) Sao chép từ xâu St n kí tự từ vị trí vt
- Pos(S1, S2) Tìm vị trí xuất S1 S2
- Length(st) Cho độ dài xâu St
- Upcase(ch) Cho chữ viết hoa tưng ứng với chữ thường ch
Bảng phụ chứa ví dụ Ues crt;
Var a, b: string; Begin
Clrscr;
Write(‘ nhap ho ten thu nhat: ‘); Realn (a);
Write(‘ nhap ho ten thu hai: ‘); Realn (b);
If length(a)>length(b) then Write(a) else writer(b); Realn
End
(33)HĐ GIÁO VIÊN HĐ HỌC SINH NỘI DUNG write([i]);
Qua ví dụ ta thấy điêù gì?
Em có nhận xét xâu b tạo thành
Tương tự em xem ví dụ
downto giá trị đầu để sau in kí tự chuỗi theo chiều ngược lại
TL: cho thấy hàm length() tham chiếu đến kí tự cử xâu thơng qua vị trí
TL: Xâu b tạo thành từ xâu rỗng qua phép ghép xâu Quan sát bảng
Bảng phụ chứa ví dụ
Bảng phụ chứa ví dụ
Hoạt động 3: Củng cố:
Nhắc lại số hàm thủ tục liên quan đến xâu Nhắc lại cấu trúc câu lệnh
Bài tập nhà:
Giải tập số 10 trang 80
Ngày soạn: 10/2/2011 Bài tập (PPCT: 32)
I Mục tiêu:
1 Về kiến thức: Củng cố kiến thức về:
- Các quy tắc kiểu liệu có cấu trúc để thực liệu thực tế
- Kiểu liệu có cấu trúc xây dựng từ kiểu liệu sở theo số cách thức tạo kiểu ngôn ngữ lập trình Pascal quy định
- Mỗi kiểu liệu có cấu trúc thường hữu ích việc giải số tập - Trong ngôn ngữ Pascal dùng mơ tả kiểu liệu với từ khố Type
2 Về kĩ năng:
- Rèn luyện kĩ khai báo kiểu liệu có cấu trúc (với Pascal, sử dụng thành thạo từ khoá Var, Type)
- Sử dụng thành thạo thao tác vào/ phép toán thành phần sở 3 Về tư thái độ:
- Thái độ học tập tích cực, ham thích lập trình
- Tiếp tục hình thành xây dựng phẩm chất cần thiết người lập trình II Chuẩn bị:
- GV: Giáo án, Computer - HS: Chuẩn bị tập nhà III Phương pháp:
(34)IV Tiến trình hoạt động:
1 Ổn định lớp, kiểm tra sĩ số Bài cũ
H1) Nhắc lại cấu trúc khai báo biến mảng chiều? hai chiều? H2) Nhắc lại cách thức khai báo biến xâu?
3 Nội dung
Dẫn dắt vấn đề: Chúng ta tìm hiểu kiểu liệu có cấu trúc kiểu mảng kiểu xâu Trong tiết học hôm vận dụng để giải số tập
Hoạt động GV Hoạt động HS Nội dung
GV: Nhắc lại số kiến thức bản: khai báo mảng? khai báo xâu? Tham chiếu?
Gv: chuẩn xác hoá câu trả lời hs
Yêu cầu hs tìm hiểu tâp SGK Phân tích viết chương trình cho tốn
Gv: Gợi ý cho hs thực bước sau: + Phân tích tốn, mơ tả liệu toán
+ trả lời câu hỏi:
Hs trả lời câu hỏi
Ghi nhớ lại kiến thức
Đọc kỹ phân tích toán
Hs xác định toán, dự đoán kiểu liệu cho đối tượng có tốn
đứng chổ trả lời câu
A Lý thuyết Kiểu mảng: + Mảng chiều: *trực tiếp:
Var <tên biến mảng>: array[kieu chi so] of <kiểu phần tử>;
*Gián tiếp:
Type <tên kiểu mảng> = array[kieu chi so] of <kiểu phần tử>;
Var <tên biến mảng>: <tên kiểu mảng>;
+ Mảng hai chiều: *trực tiếp:
Var <tên biến mảng>: array[kieu chi so hang, kiểu số cột] of <kiểu phần tử>;
*Gián tiếp:
Type <tên kiểu mảng> = array[kieu chi so, kiểu số cột] of <kiểu phần tử>; Var <tên biến mảng>: <tên kiểu mảng>;
Tham chiếu: Tên_biến[chi số phần tử] Kiểu xâu:
Khai báo: Var <tên biến xâu>:string[độ dài lớn xâu];
hoặc
Var <tên biến xâu>:string;
Tham chiếu: tên_biến[chỉ số phần tử]; B Bài tập
Bt1) Bài tập –SGK trang 79 Chương trình:
Const nmax = 100;
Type mang1 =array[1 nmax] of interger;
Var A: mang1; N,i: integer;
(35)là số chẵn? số lẻ? từ nêu ý tưởng giải yêu cầu a
+ Vận dụng kiến thức học viết đoạn chương trình xử lý
Nhận xét chuẩn hố lời giải
Viết chương trình hồn chỉnh lên bảng
Gv: Thực tương tự với yêu cầu b: Đếm số lượng số nguyên tố dãy A
Tìm hiểu tập 2:
Gv phân tích, hướng dẫn Viết chương trình hồn chỉnh cịn thời gian
hỏi
Viết đoạn chương trình hướng dẫn gv
Theo dõi, ghi chép
Hs thực bước tương tự câu a
đọc kỹ tập (BT10-SGK)
theo dõi ghi nhận
Begin
Write(‘nhap n:’); Readln(n);
For i:=1 to n Begin
Write(‘A[‘,i,’]=’); Readln(A[i]); End;
{dem so chan, le} Sochan:=0;sole:=0; For i:=1 to n
If a[i] mod =0 then sochan:=sochan+1
Else sole:=sole+1; Writeln(‘so chan:’,sochan:3,’so le:’,sole:3);
{so nguyen to} J:=2;
For i:=1 to n
While j<= sqrt(a[i]) and (a[i] mod <>0) j:=j+1;
If j> sqrt(a[i]) then sonto:=sonto+1; Writeln(‘ so nguyen to:’, sonto:3); Readln
End
Bt2) tập 10 trang 80-SGK Chương trình:
Var s: string[100]; dem,i: integer; Begin
Write(‘nhap xau ki tu S:’); Readln(S);
Dem:=0;
For i:=1 to length(s)
If (0<=s[i]) and (s[i]<=9) then dem:=dem+1;
Writeln(‘trong xau S so’,dem:3,’chu so’);
Readln End
Củng cố: Nắm kiểu liệu có cấu trúc, cách thức khai báo, tham chiếu Về nhà: Đọc trước số 13: Kiểu ghi
Ngày soạn: 16/2/2011 BÀI THỰC HÀNH SỐ 5
(36)I.Mục tiêu: 1- Kiến thức:
Củng cố cho học sinh kiến thức xâu ký tự, đặc biệt hàm thủ tục liên quan Nắm số thuật toán : tạo xâu mới, đếm số lần xuất ký tự…
2- Kỹ :
Khai báo biến kiểu xâu Nhập, xuất giá trị cho biến xâu
Duyệt qua tất ký tự xâu Sử dụng hàm thủ tục chuẩn
3- Thái độ : Tự giác, tích cực, chủ động thực hành. II.Chuẩn bị giáo viên học sinh:
GV: - Phịng máy vi tính cài đầy đủ Turbo Pascal.
Tổ chức phòng máy để HS có kỹ làm việc với kiểu xâu HS: SGK, tập chuẩn bị sẵn nhà
III.Phương pháp dạy học: Gợi mở, vấn đáp kết hợp hoạt động nhóm IV.Tiến trình dạy:
Hoạt động 1: Tìm hiểu chương trình, đề xuất phương án cải tiến
Hoạt động học sinh Hoạt động giáo viên Nội dung HĐTP1: Tìm hiểu đề bài:
- Giới thiệu nội dung đề lên bảng
- GV diễn giải: Một xâu gọi Palidrom ta đọc ký tự từ phải sang trái giống đọc từ trái sang phải
- Yêu cầu HS cho ví dụ xâu
Palidrom ví dụ khơng phải xâu Palidrom
* Gọi HS trả lời
Quan sát, đọc kỹ đề -HS trả lời:
* Là xâu Palidrom: 45654; abccba
* Không xâu Palidrom: abcdba - HS nhận xét
(37)Hoạt động 2: Rèn luyện kỹ lập trình
- Quan sát chương trình, suy nghĩ, phân tích để hiểu chương trình
- HS trả lời:
* Kiểm tra xâu có phải Palidrom hay không?
*In ra: ‘ xau la Palidrom’ ‘xau khong la Palidrom’ - HS nhận xét
- Quan sát GV thực chương trình, nhập liệu
Hoạt động 2: Tìm hiểu chương trình gợi ý
- GV thực chương trình gợi ý máy chủ để HS quan sát
* Chức chương trình gì?
(38)Hoạt động HS Hoạt động GV Ghi bảng
- Quan sát đề xác định cơng việc cần thực
- Nhóm 1:
* Dữ liệu vào, liệu tốn?
* Nêu nhiệm vụ cần thực giải toán
* Cấu trúc liệu phải sử dụng nào?
* Ta phải sử dụng hàm nào?
- Nhóm 2:
* Vào: Một xâu S
* Ra: Dãy số ứng với xuất loại ký tự xâu
* Nhiệm vụ: Duyệt từ trái sang phải, thêm đơn vị cho ký tự đọc
* Cấu trúc liệu: Dem[‘A’ ’Z’]
* Dùng hàm Upcase
-Thực soạn thảo chương trình vào máy theo yêu cầu GV
- Nhập liệu vào thông báo kết cho GV
HĐTP1: GV giới thiệu đề bài - GV nêu mục đích tốn - Chia lớp thành nhóm:
* Nhóm 1: Đặt câu hỏi phân tích * Nhóm 2: Trả lời câu hỏi phân tích
- Theo dõi câu hỏi phân tích nhóm câu trả lời nhóm - Bổ sung sửa sai cho nhóm nhóm
HĐTP2:
- GV đưa dàn ý chi tiết thông qua bảng phụ yêu cầu HS chi tiết hoá câu lệnh để có chương trình chạy
- Yêu cầu HS nhập liệu cho sẵn GV thông báo kết
-Xác nhận làm có kết sửa sai cho HS có kết sai
Bài 2: SGK trang 73
Hoạt động 3: Rèn luyện kỹ tìm kiếm thay xuất từ từ khác một xâu văn bản
Hoạt động HS Hoạt động GV Ghi bảng
- GV giới thiệu đề
- GV hướng dẫn: Tìm vị trí xâu “anh” xâu st cho, xoá xâu chèn xâu “em” vào vị trí Lặp lặp lại điều khơng tìm thấy xâu “anh” cần thay xâu st
* Các hàm thủ tục chuẩn biết kiểu xâu tìm vị trí xuất
(39)- HS trả lời - HS nhận xét -HS nhà chuẩn bị
hiện xâu con, xoá xâu con, chèn xâu không?
- Gọi HS trả lời
- Gọi HS khác nhận xét - GV xác
- GV HS thống dàn ý chương trình yêu cầu HS nhà chi tiết hoá câu lệnh để có chương trình chạy
Hoạt động 3: củng cố
Nắm số thuật toán đơn giản liên quan đến xâu ký tự : Kiểm tra xâu đối xứng
Tìm tần suất xuất ký tự có xâu Đọc trước nội dung kiểu liệu tệp– thao tác với tệp
Ngày soạn:20/2/2011 Bài 13:KIỂU BẢN GHI
PPCT: 33 I)MỤC TIÊU:
1 Về kiến thức:
- Biết khái niệm ghi
- Biết khai báo ghi, gán giá trị, truy cập trường ghi 2 Về kỹ năng:
- Khai báo kiểu ghi, khai báo biến kiểu ghi - Nhận biết trường (thuộc tính) biến ghi 3 Về tư thái độ:
- Biết quy lạ quen
- Phát triển tư logic từ mảng chiều kiểu xâu - Tích cực học tập, lắng nghe giảng
- Cẩn thận, xác lập luận II)CHUẨN BỊ:
Giáo viên: Giáo án, đồ dùng dạy học, bảng phụ
Học sinh:Sách giáo khoa, sách tập, cũ, III)PHƯƠNG PHÁP: Gợi mở vấn đáp, thuyết trình diễn giải IV)TIẾN TRÌNH BÀI HỌC:
1.Hoạt động1: Kiểm tra cũ:
Hoạt động học sinh Hoạt động giáo viên Ghi bảng -Gọi HS1 thực
- Gọi HS2 thực -Các HS khác nhận xét, bổ sung?
H1: Nêu cách khai báo mảng chiều? Cho ví dụ?
H2: Nêu cách khai báo kiểu xâu? Cho ví dụ?
(40)2.Hoạt động2: Giới thiệu
Hoạt động học sinh Hoạt động giáo viên Ghi bảng
-Học sinh thực
H1: Cho học sinh quan sát bảng kết điểm thi trang 74 SGK
Cho học sinh kết luận thông tin đó, từ kết luận kiểu liệu H2: Chỉnh sửa, giới thiệu trường, đối tượng, thuộc tính đối tượng, từ vào nội dung
3.Hoạt động3: Khai báo kiểu ghi
Hoạt động học sinh Hoạt động giáo viên Ghi bảng -HS thực
-HS thực trình bày lời giải
-Các HS cịn lại nhận xét bổ sung
H1: Yêu cầu học sinh xem SGK nêu cách khai báo kiểu ghi, kiểu biến ghi
-Chính xác hố nội dung H2:Yêu cầu học sinh khai báo kiểu ghi, kiểu biến ghi cho bảng kết thi trang 74 SGK
-Gv xác hố nội dung ví dụ
1)Khai báo: SGK trang 75
*Ví dụ:
Nội dung ví dụ chỉnh sửa
*Lưu ý: Nếu A biến kiểu ghi, X tên trường, để tham chiếu đến trường X ta viết: A.X
4.Hoạt động4: Gán giá trị
Hoạt động học sinh Hoạt động giáo viên Ghi bảng -HS xem sách trả lời
-HS thực
H1: Yêu cầu học sinh xem sách trả lời có cách gán giá trị cho biến ghi?
-Chính xác hố nội dung H2: Cho ví dụ cho cách gán?
-Gv chỉnh sửa nội dung
2)Gán giá trị:
- Có cách gán SGK trang 76
*Ví dụ:
-Nội dung chỉnh sửa 5 Hoạt động 5: Củng cố dặn dò
(41)bày lời giải.
-Các HS lại nhận xét , bổ sung
trong bảng phụ?
-Gv xác hố nội dung H2: Dặn dị: Học cũ, làm tập 1- 10 trang 79-80
Ngày sinh Giới tính Chiều cao Cân nặng
Ngày soạn:26/2/2011
Đ14 kiểu liệu tệp
Đ15 thao t¸c víi tƯp
PPCT: 36
I-Mục tiêu:
Kiến thức:
Hs nắm đặc điểm kiểu d liu
Biết hai cách phân loại tƯp, kh¸i niệm tệp cã cấu tróc v tà ệp văn Hai thao t¸c tệp
Biết bớc làm việc với tệp: gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp
Biết khai báo biến tệp thao tác với tệp văn
Biết sử dơng mét sè hµm vµ thđ tơc chn lµm viƯc víi tƯp + Biết hai cách phân loại tệp, khái niệm tệp cấu trúc tệp văn + Hai thao tác với tệp
+ Biết bước làm việc với tệp: gắn tên tệp cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp + Biết khai báo biến tệp
+ Sử dụng số hàm thủ tục chuan rlàm việc với tệp
Kĩ năng:
-Khai báo tệp văn
-Sử dụng số hàm thủ tục chuẩn làm việc với tệp
Thái độ
Hs thấy cần thiết tiện lợi kiểu liệu tệp II - Đồ dung dạy học:
Chuẩn bị giáo viên: sách giáo khoa Chuẩn bị học sinh: sách giáo khoa III - Hoạt động dạy học
HĐ GIÁO VIÊN HĐ HỌC SINH Nội dung
Hoạt động 1 Đặt vấn đề(3’) Sau chạy chương trình trước ta thấy kết in hình muốn sử dụng kết sau khơng Do ta có kiểu liệu tệp
Hoạt động 2 Đặc điểm kiểu liệu tệp.(7’)
Hỏi: Các kiểu liệu trước lưu trữ nhớ nào?
Khi tắt máy điện liệu lưu trữ nhớ nào?
Để lưu giữ liệu lâu dài nhằm khai thác, xử lí thơng tin ta phải
Trả lời: RAM
Dữ liệu
Không liệu
Đ14 kiểu liệu tệp
Vai trò kiểu tệp Dữ liệu kiểu tệp có đặc điểm sau: + Được lưu trữ lâu dài nhớ (đĩa từ, CD, ) không bị tắt nguồn điện vào máy
(42)HĐ GIÁO VIÊN HĐ HỌC SINH Nội dung
lưu nhớ ngồi thơng qua kiểu liệu tệp
u cầu học sinh đọc sách giáo khoa nhắc lại đặc điểm kiểu liệu tệp?
Hoạt động 3.Phân loại tệp thao tác với tệp(4’)
Có loại tệp( theo cách tổ chức liệu), trình bày khái niệm loại tệp?
Giới thiệu cho HS biết hai cách phân loại tệp
Có hai thao tác làm việc với tệp ghi liệu vào tệp đọc liệu từ tệp
Hoạt động Thao tác với tệp(5’) Yêu cầu HS nhắc lại thao tác làm việc với tệp
Giới thiệu cấu trúc chung khai báo biến tệp giải thích
Khai báo - Với tệp văn :
VAR <Tên biến tệp> : TEXT; Ví dụ: yêu c ầu học sinh khai báo t ệp
Thao tác với tệp
Các thao tác với tệp chia thành bốn nhóm :
Gán tên tệp; Mở tệp;
Vào/Ra liệu; Đóng tệp
Hoạt động 4.1 Gán tên tệp(4’) Để thao tác với tệp, trước hết phải gán tên tệp cho biến tệp câu lệnh :
ASSIGN(< Tên biến tệp>,<Tên tệp>);
Trong Tên tệp biến xâu xâu
Ví dụ Giả thiết có biến xâu MYFILE cần gán biến tệp F2 với tệp có tên DULIEU.DAT Việc gán tên tệp thực câu lệnh ?
Ví dụ Để chuẩn bị thao tác với
tắt máy
Dung lượng liệu lưu trữ lớn
Có loại tệp:tệp có cấu trúc tệp văn tệp văn tệp mà liệu ghi dạng kí tự theo mã ASCII
tệp có cấu trúc: tệp mà thành phần tổ chức theo cấu trúc định Hai thao tác tệp ghi liệu vào tệp đọc liệu từ tệp
Var a:text;
Assign(f1, ‘b1.inp’); Rewrite(f1);
đĩa
2 Phân loại tệp thao tác với tệp
Hai cách phân loại tệp: Theo cách tổ chức liệu -tệp văn
-tệp có cấu trúc
Theo cách thức truy cập -tệp truy cập -tệp truy cập trực tiếp
Hai thao tác tệp ghi liệu vào tệp đọc liệu từ
Đ15 thao tác với
tệp
1.Khai báo tệp văn : VAR <Tên biến tệp>: TEXT;
Vd Var f : text;
2.Gán tên tệp :
ASSIGN(< Tên biến tệp>, <Tên tệp>);
(43)HĐ GIÁO VIÊN HĐ HỌC SINH Nội dung
tệp có tên INP.DAT thư mục gốc đĩa C: ta dùng câu lệnh sau để gắn với tệp F3? Hoạt động 4.2 Mở tệp(10’)
Tệp dùng để chứa kết liệu vào Trước mở tệp, biến tệp phải gán tên tệp thủ tục ASSIGN
Câu lệnh mở tệp để ghi kết có dạng :
REWRITE(<Tên biến tệp>); Khi thực lệnh REWRITE(F3), thư mục gốc C:\ chưa có tệp KQ.DAT, tệp tạo với nội dung rỗng Nếu tệp có, nội dung bị xố để chuẩn bị ghi thông tin
Để chuẩn bị đọc liệu từ tệp có ta mở tệp câu lệnh : RESET(<Tên biến tệp>); Hoạt động 4.3 Đọc/ghi tệp (6’)
Tệp định kiểu mở thủ tục REWRITE ghi liệu thủ tục WRITE Câu lệnh ghi có dạng :WRITE(<Tên biến tệp>,<Tên Biến >);
Nếu tệp mở thủ tục RESET đọc thơng tin Câu lệnh đọc có dạng:
READ(<Tên biến tệp>,<Tên biến >);
Yêu cầu học sinh cho ví dụ giải thích
Hoạt động 4.4 Đóng tệp (3’) Sau làm việc xong với tệp cần phải đóng tệp Việc đóng tệp đặc biệt quan trọng sau ghi thơng tin vào tệp
Câu lệnh đóng tệp có dạng : CLOSE(<Tên biến tệp>);
Một tệp, sau đóng mở lại Khi mở lại tệp, dùng biến tệp cũ không cần thiết phải dùng thủ tục ASSIGN gán lại tên tệp
Assign(f1, ‘b1.out’); Reset(f1);
Readln(f,x1,x2);
Đọc liệu từ biến tệp f,đặt giá trị vào hai biến x1 x2
Writeln(f, ‘hieu la’,x1-x2); Ghi vµo biến tệp f hai tham số dòng chữ hieu la giá trị x1-x2 Hc sinh ghi bi
Close(f1); Eof(f1);
MYFILE :=
'C:\INP.DAT';
ASSIGN(F3,MYFILE); 3.Mở tệp :
Để đọc : RESET(<Tên biến tệp>);
Để ghi : REWRITE(<Tên biến tệp>);
Ví dụ
TF := 'C:\KQ.DAT'; ASSIGN(F3,TF); REWRITE(F3);
Ví dụ
Để đọc liệu từ tệp DL.INP ta mở tệp :
ASSIGN(F1, 'DL.INP');
RESET(F1); 4.Đọc/ghi tệp : Đọc :
READ(<Tên biến tệp>,<danh sách biến>); Ghi :
WRITE(<Tên biến tệp>, <danh sách kêt quả>);
Ví dụ 1
Lệnh ghi giá trị biến A vào tệp gắn với biến tệp F3 : WRITE(F3,A);
Ví dụ
Lệnh đọc giá trị từ tệp gắn với biến tệp F1 gán cho biến C :
READ(F1,C); 5 Đóng tệp
Sau làm việc xong phải đóng tệp câu lệnh : CLOSE(<Tên biến tệp>);
Ví dụ: CLOSE(F1);
(44)HĐ GIÁO VIÊN HĐ HỌC SINH Nội dung
Hoạt động 4.5 Một số hàm thủ tục chuẩn thường dùng thao tác tệp(2’)
Giới thiệu HS biết hai hàm chuẩn ý nghĩa
Một số hàm thủ tục chuẩn thường dùng trong thao tác tệp
Hàm lơ gíc EOF(<Tên biến tệp>); Cho giá trị True trỏ tệp tới cuối tệp
Hàm lơgíc EOFLN(<Tên biến tệp>) Cho giá trị True trỏ tệp tới cuối dßng
IV-Củng cố
Nêu đặc điểm kiểu liệu tệp
Hãy cho biết khác biệt tệp định kiểu tệp văn Cho biết thao tác làm việc với tệp
Sơ đồ làm việc với tệp dùng để nhập thông tin phải có lệnh nào? Các thao tác với tệp mơ tả hình16
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
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>);
WRITE(<Tªn biÕn tƯp>,<ds ket qua>);
CLOSE(<Tªn biÕn>); tƯp>);
Ghi §äc
Hình 16 Sơ đồ làm việc với tệp
(45)Ngày soạn: 2/03/2011 Tiết PPCT: 37 Bài 16: 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 tệp 14, 15 chương V thông qua ví dụ 2 Kỹ năng:
- Nhận biết cách hoạt động tệp
- Biết sử dụng thủ tục hàm liên quan để giải toán - Nắm chức thủ tục hàm để thao tác với tệp II Chuẩn bị GV HS:
- GV: Giáo án, SGK, sách GV, máy chiếu, sách tập, máy tính có soạn sẵn ví dụ - HS: Sách GK
III Phương pháp: - Đặt vấn đề - Thuyết trình
- Diễn giải, dùng bảng để ghi lại chi tiết quan trọng ví dụ IV Tiến trình học.
* Hoạt động 1: Kiểm tra cũ giới thiệu (7’) - Mục tiêu: + Ôn lại kiến thức học 14, 15
+ Vận dụng để giải vấn đề cụ thể thực tế - Các bước tiến hành:
Hoạt động thầy Hoạt động trò Nội dung
1 Nhắc lại kiến thức cũ.
- Gọi HS nhắc lại hàm thủ tục liên quan đến tệp
- Gọi HS khác nhận xét bổ sung cho đầy đủ
- Nhận xét chung ý kiến HS trình bày
2 Giới thiệu mới
- Nêu lên vai trò tệp việc xử lý lưu trữ thông tin, áp dụng vào thực tế ( Sơ lược VD1)
- HS đứng dậy trả lời câu hỏi
Var <tên biến tệp>:text; Assign(<biến tệp>,<tên tệp>); Rewrite(<biến tệp>);
- Nhận xét bổ sung thêm hàm, thủ tục còn thiếu - HS Lắng nghe lời giảng GV
- HS hướng theo dẫn dắt GV để vào VD
- Ghi lại hàm thủ tục mà HS nêu
- Bổ sung thiếu sót HS1
- Đánh số thứ tự hàm thủ tục ghi bảng
* Hoạt động : Tìm hiểu VD1 VD2 (34’)
(46)- Theo dõi VD1
- Lắng nghe hướng dẫn GV
- HS trả lời : Cần tổ chức lưu trữ tệp dạng văn - HS trả lời :
Khai báo tệp Gắn tên tệp
Mở tệp để đọc liệu Hiện kết hình Đóng tệp
- HS trả lời : Các hàm sử dụng là: Var Assign Reset While do Eof Read Writeln Close
- HS trả lời: Trả kết True trỏ cuối tệp - Khơng, khơng biết trước số lượng phần tử tệp
- Lắng nghe giải thích thầy - Theo giỏi trình thực GV
- Theo dõi VD SGK - HS lắng nghe lời giảng GV
- HS nhìn lên bảng để theo dõi
1 Tìm hiểu VD 1. - Gọi HS đọc VD1
- Nhấn mạnh điểm quan trọng cần lưu ý VD1 - Gợi ý cách giải toán, để giải bài toán ta cần phải nắm cơng thức tính khoảng cách điểm
- Nhắc lại cơng thức tính khoảng cách điểm mặt phẳng toạ độ
- ? Trong VD ta cần tổ chức lưu trữ liệu tệp dạng ?
- ? Các thao tác liên quan đến tệp sử dụng VD gồm ?
- ?Các hàm thủ tục sử dụng VD ?
- ?Hàm Eof(<biến tệp>) có chức ?
- ?Có thể thay lệnh While do bằng lệnh For to không ? - Kết luận lại vấn đề nêu
- Thực chương trình cho HS thấy kết
2 Tìm hiểu VD2. - Gọi HS đọc VD2
- Nhắc lại cơng thức tính địên trở tương đương điện trở mắc song song
- Gọi HS trình bày cách tính điện trở tương đương điện trở mắc hình đến
- Nhận xét sửa sai
- Cho HS đọc qua nội dung CT
- Ghi lại cơng thức tính khoảng cách điểm lên bảng để HS nắm rõ
Var <tên biến tệp>: text; Assign(<biến tệp>, <tên tệp>); Reset(<biến tệp>);
While do Eof(<biến tệp>);
Read(<biến tệp>,<DS biến>); Writeln(<biến tệp>);
Close(<biến tệp>);
- Trình bày nội dung CT lên bảng
- Ghi lại cơng thức tính điện trở tương đương điện trở mắc song song
- Ghi lại kết điện trở tương đương HS trình bày
(47)- Theo dõi nội dung CT VD2 SKG
- HS trả lời: Dùng để lưu kết điện trở tương đương điện trở mắc theo cách hình vẽ
- Vì CT dùng biến tệp f1và f2 nên ta phải dùng hàm Close để đóng tệp
của VD2
- ? Mảng a dùng để làm gì? - ? Dịng lệnh For to có ý nghĩa gì?
-? Tại phải dùng hàm Close?
- Tổng kết lại CT VD2 - Yêu cầu HS tìm hiểu lại VD2 qua hướng dẫn lớp
* Hoạt động 3: Củng cố kiến thức học chương V.(3) - Những nội dung học
+ Các thao tác xử lý tệp: Gán tên tệp
Tạo tệp Mở tệp
Đọc, ghi liệu vào tệp Đóng tệp
* Hoạt động 4: Dặn dị.(2)
- Cần nắm vững cách làm việc với tệp - Xem lại VD1 VD2
-Ngày soạn: 4/03/2011. Tiết PPCT: 38
BÀI TẬP I. Mục tiêu.
Trọng tâm học cho học sinh nắm vận dụng linh hoạt kiến thức tệp, đặc biệt thao tác đọc ghi tệp vào tập
Kiến thức:ôn lại kiến thức kiểu liệu có cấu trúc kiểu liệu tệp Kĩ năng:- Rèn luyện kỹ vận dụng kiểu liệu tốn cụ thể
lập trình
- Rèn luyện kỹ lập trình cho học sinh, giúp học sinh thành thao thao tác với tệp
Thái độ: Tạo hứng thú cho học sinh học lập trình II. Thiết bị dạy - học
GV: bảng, phấn, bảng phụ, giáo án, SGK, SBT HS: SGK, vở, SBT
III. Chuẩn bị giáo viên học sinh GV: Giáo án, bảng phụ
HS: đọc trước trước lên lớp IV. Tiến trình lên lớp
1 Ổn định lớp, sỹ số
(48)3 Nội dung
Hoạt động 1.
Ôn lại kiến thức tệp, vận dụng thao tác đọc ghi tệp vào giải tập 5.7 SBT
Hoạt động giáo viên Hoạt động HS Nội dung
Giả sử có hai tệp
NGUYEN1 NGUYEN2 NGUYEN12
5
8
2
7 18
6 18
Hãy thử nêu ý tưởng để giải toán?
Để viết chương trình giải tốn cần sử dụng cấu trúc nào?
Để giải toán cần sử dụng kiểu liệu tệp với tệo đề ta sử dụng tệp với mục đích nào? Hãy nhắc lại thao thác với tệp? từ áp dụng vào tập cụ thể nào?
Hãy viết thủ tục gắn tên mở tệp cho tệp f1, f2, f12? Các tệp f1, f2 gồm số nguyên dòng khác nên ta sử dụng lệnh để đọc? viết đoạn chương trình đọc từ tệp f1 rối ghi voà tệp f12?
Tương tự tự viết đoạn lệnh để dọc từ tệp f2 ghi tiếp vào tệp f12?
Quan sát, theo dõi
Nêu ý tưởng
Bài toán sử dụng kiểu liệu tệp Tệp
NGUYEN1.TXT NGUYEN2.TXT dùng để đọc liệu, tệp
NGUYEN12.TXT dùng để ghi liệu Nhắc lại thao tác với tệp
Lên bảng trình bày sử dụng thủ tục Readln để đọc
while not eof(f1) begin
readln(f1,x); writeln(f12,x); end;
BT 5.7 (tr 55 SBT) Cho hai tệp văn NGUYEN1.TXT NGUYEN2.TXT, dòng hai tệp chứa số nguyên Hãy lập trình tạo tệp van NGUYEN12.TXT, dòng dòng tệp NGUYEN1.TXT, dòng lại dòng tệp NGUYEN2.TXT
Program TB5-7; Var f1,f2,f12: text; x: integer; Begin Assign(f1,’NGUYEN1.TXT’); Reset(f1); Assign(f2,’NGUYEN2.TXT’); Reset(f2); Assign(f12,’NGUYEN12.TXT’); Rewrite(f12);
while not eof(f1) do begin
readln(f1,x); writeln(f12,x); end;
while not eof(f2) do begin
readln(f2,x); writeln(f12,x);
end; End
Hoạt động 2.
Ôn lại kiến thức tệp, vận dụng thao tác đọc ghi tệp thao tác tính tốn để đọc ghi tệp theo điều kiện vào giải tập 5.10 SBT
Hoạt động giáo viên Hoạt động HS Nội dung
Giả sử có hai tệp
(49)2 0
5
7
8 18
7 18
Để viết chương trình giải toán cần sử dụng tệp, tệp sử dụng với mục đích gì?
Hãy viết thủ tục gắn tên mở tệp cho tệp f1, f2, f12? Khi ghi kết vào tệp ORD.DAT cần ý liệu ghi số nhỏ sơ so sánh với nó, ghi liệu đọc từ tệp tiếp tục đọc tệp để so sánh thực hai tệp khơng cịn số
Quan sát, theo dõi
Bài toán sử dụng kiểu liệu tệp Tệp ORD1.DAT ORD2.DAT dùng để đọc liệu, tệp ORD.DAT dùng để ghi liệu
Lên bảng trình bày readln(f1,x); readln(f2,y);
while not(eof(f1)) and not(oef(f2)) begin
if x<y then begin writeln(f12,x); readln(f1,x) end else begin writeln(f12,y); readln(f2,y) end end;
ORD2.DAT, dòng hai tệp chứa số nguyên có giá trị tuyệt đối không 2.147.483.647 Trong tệp, số xếp theo thứ tự không giảm Hãy lập trình hợp hai tệp thành tệp văn ORD.DAT dòng chứa số nguyên, cho số giữ nguyên thứ tự không giảm (bảng phụ)
Program TB5-10; Var f1,f2,f12: text; x,y: integer; Begin Assign(f1,’ORD1.DAT’); Reset(f1); Assign(f2,’ORD2.DAT’); Reset(f2); Assign(f12,’ORD.DAT’); Rewrite(f12); Readln(f1,x); Readln(f2,y);
while not(eof(f1)) and not(eof(f2)) do
begin
if not(eof(f1)) and not(eof(f2)) then
begin
if x<y then begin writeln(f3,x); readln(f1,x); end else begin writeln(f3,y); readln(f2,y); end end
if not(eof(f1)) and eof(f2) then begin
writeln(f3,x); readln(f1,x);
(50)if eof(f1) and not(eof(f2)) then begin
writeln(f3,y); readln(f2,y);
end End V. Củng cố.
Như qua tiết học thấy việc sử dụng tệp kiểu DL khác.Khi lập trình tuỳ vào yêu cầu toán, xét thấy kiểu liệu hợp lí ta sử dụng Các thao tác kiểu liệu khác có cách thực khác chất cần sử dụng hợp lí để đạt mục đích cho đơn gian
Về nhà làm thêm tập 5.6 SBT xem lại kiến thức chương 4,5 để hôm sau ôn tập kiểm tra tiết
Ngày soạn: 05/03/2011 Tiết PPCT: 39
ÔN TẬP CHƯƠNG IV,V I Mục tiêu:
1 Về kiến thức: Củng cố kiến thức về:
- Các quy tắc kiểu liệu có cấu trúc để thực liệu thực tế
- Kiểu liệu có cấu trúc xây dựng từ kiểu liệu sở theo số cách thức tạo kiểu ngơn ngữ lập trình Pascal quy định
- Mỗi kiểu liệu có cấu trúc thường hữu ích việc giải số tập - Trong ngôn ngữ Pascal dùng mô tả kiểu liệu với từ khoá Type
2 Về kĩ năng:
- Rèn luyện kĩ khai báo kiểu liệu có cấu trúc (với Pascal, sử dụng thành thạo từ khoá Var, Type)
- Sử dụng thành thạo thao tác vào/ phép toán thành phần sở 3 Về tư thái độ:
- Thái độ học tập tích cực, ham thích lập trình
- Tiếp tục hình thành xây dựng phẩm chất cần thiết người lập trình II Thiết bị dạy học:
- GV: máy tính, bảng, phấn, giáo án - HS: vở, SGK, SBT
III Chuẩn bị giáo viên học sinh: - GV: máy tính, giáo án
- HS: Đọc trước nhà IV Tiến trình hoạt động:
1 Ổn định lớp, sỹ số. 2 Bài mới:
Hoạt động 1: tìm hiểu vấn đề lí thuyết.
Hoạt động GV Hoạt động HS Ghi bảng
(51)Hoạt động GV Hoạt động HS Ghi bảng học?
về chất mảng xâu có cấu trúc tương tự Xâu xem mảng chiều có kiểu kí tự hay sử dụng nên người ta xây dựng sẵn thủ tục hàm thực số chức cho loại
Với kiểu liệu tệp ý số điểm lưu ý sau:
- Vai trò kiểu liệu tệp? - Thứ tự thao tác với tệp?
Nhắc lại
Nghe giảng
trả lời câu hỏi
trúc
- Kiểu mảng - Kiểu xâu - Kiểu ghi
2 kiểu tệp
- Vai trò kiểu liệu tệp - Thứ tự thao tác với tệp Hoạt động 2: Chữa số tập điển hình
Giải tập số trang 79 Sách GK Tin học lớp 11
Hoạt động GV Hoạt động HS Ghi bảng
HĐTP1:
H1: Sử dụng kiểu liệu và cách khai báo?
H2: Khai báo biến nào? - Yêu cầu HS viết chương trình nhập mảng A
- Chỉnh sửa làm HS H3: Số chẵn số nào? - Nếu có số lượng số chẵn dãy tìm số lượng số lẻ hay khơng? - Nếu tìm cách nào?
H4: Sử dụng câu lệnh để viết? - u cầu HS hồn thành chương trình câu a
- Nhận xét, chỉnh sửa làm HS
HĐTP 2:
H1: Nêu thuật toán kiểm tra số có phải số nguyên tố hay khơng? - u cầu HS viết chương trình dựa theo thuật toán
Hd: Sử dụng câu lệnh nào?
- Trả lời:
Kiểu mảng chiều:
Var A:array [1 100] of integer;
- Trình bày lên bảng:
TL: Chia hết cho 2.
- Nếu có số lượng số chẵn dãy tìm số lượng lẻ cách: n - số lượng số chẵn
TL: If then
- Trình bày lên bảng:
(52)Hoạt động GV Hoạt động HS Ghi bảng - Yêu cầu HS hồn thành đoạn
chương trình câu b - Nhận xét, đánh giá:
- Gợi ý để HS kết hợp hai đoạn chương trình thành chương trình hồn chỉnh cho
- Trả lời câu hỏi: - Trình bày lên bảng:
Giải tập trang 79 Sách GK Tin học lớp 11
Hoạt động GV Hoạt động HS Ghi bảng
- Yêu cầu HS liệt kê số hạng đầu dãy Fiponaci
H1: Đoạn chương trình nhập từ bàn phím số nguyện dương nào? H2: Số hạng tổng quát thứ n thế nào?
- Gợi ý: Để viết chương trình ta cần biến phụ?
H3: sử dụng câu lệnh bài này?
- Yêu cầu HS viết chương trình tìm số hạng thứ n
- Gọi HS hồn chỉnh lại chương trình - Nhận xét, chỉnh sửa, đánh giá làm
- Liệt kê: 0, 1, 1, 2, 3, - Viết chương trình lên bảng: TL: Fn = Fn-1 + Fn-2
TL: Dùng biến phụ (F1, F2) - Suy nghĩ, trả lờ:
- Lên bảng trình bày:
Chính xác hố 6/trang79
Củng cố:
Cấu trúc lệnh: While For Về nhà làm tập
(53)Ngày soạn: 6/03/2011 Tiết PPCT: 40 KIỂM TRA TIẾT
I. Mục tiêu đánh giá:
- Kiểm tra, đánh giá khả tiếp thu kiến thức, kĩ học sinh về: Các thành phần sở ngơn ngữ Pascal, phép tốn, biểu thức, câu lệnh gán, tổ chức vào/ra đơn giản, tổ chức rẽ nhánh lặp, kiểu liệu có cấu trúc đơn giản
- Đánh giá khả tổ chức chương trình Pascal với cấu trúc II. Phương pháp đề:
III. Đề
kiểm tra:
ĐỀ KIỂM
TRA Thời gian:
45 phút
(không kể thời gian giao đề)
I Phần trắc nghiệm khách quan: (Nhận biết) Chương trình dịch là:
A Chương trình dịch ngơn ngữ tự nhiên ngơn ngữ máy B Chương trình dịch ngôn ngữ máy ngôn ngữ tự nhiên
C Chương trình có chức chuyển đổi chương trình viết ngơn ngữ lập trình bậc cao thành chương trình thực máy tính cụ thể
D Chương trình có chức chuyển đổi chương trình viết ngơn ngữ máy thành ngơn ngữ bậc cao
2 (Nhận biết) Trong ngôn ngữ Pascal, từ khoá VAR dùng để: A Khai báo tên chương trình
B Khai báo biến C Khai báo thư viện D Khai báo
3 (Thông hiểu) Trong ngơn ngữ lập trình Pascal, với câu lệnh sau (a biến kiểu số thực) a:=12;
Writeln(‘KQ la:’ , a); ghi hình:
A KQ la 1.2E+01 C KQ la a
B KQ la 12 D Khơng đưa
4 (Thơng hiểu) Trong ngơn ngữ lập trình Pascal, câu lệnh sau đúng:
A If a=5 then C If a=5 then
a:=d+1; a=d+1
else a:=d+2; else a=d+2;
B If a=5 then D If a=5 then
a:=d+1 a:=d+1
else a:=d+2; else a:=d+2
5 (Vận dụng) Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau cho kết gì? T:=0;
For i:=1 to n if (i mod = 0) then T:=T + i*i;
Nội dung Mức độ
Chương I Chương II Chương III Chương IV Nhận biết TN Câu 1, 12 Câu 2, Câu 7, 11
TL
Thông hiểu TN Câu Câu 4, Câu
TL Câu 1
Vận dụng TN Câu 10 Câu
(54)A Tính tổng số ngun có phạm vi từ đến n B Tính tổng số nguyên có phạm vi từ đến n
C Tính tổng bình phương số ngun chia hết cho có phạm vi từ đến n D Tính tổng số ngun có phạm vi từ đến n
6 (Nhận biết) Trong ngôn ngữ lập trình Pascal, kiểu liệu kiểu sau có miền giá trị lớn nhất?
A Byte B Word C Integer D Longint
7 (Nhận biết) Trong ngơn ngữ lập trình Pascal, Với khai báo mảng
X: Array[1 100,1 100] of integer; việc truy xuất đến phần tử sau:
A X[i],[j] B X[i][j] C X[i;j] D X[i,j]
8 (Thông hiểu) Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đưa hình kết gì? For i:=10 to write(i, ‘ ‘);
A 10 B 10 C Đưa 10 dấu cách D Khơng đưa
9 (Thơng hiểu) Trong ngơn ngữ lập trình Pascal, để in xâu kí tự hình theo thứ tự ngược lại kí tự xâu (Vd: abcd thành dcba), đoạn chương trình sau thực việc này?
A For i:=1 to length(S) write(S[i]); B For i:=length(S) downto write(S[i]); C For i:=length(S) downto write(S]); D For i:=1 to length(S) div write(S[i]);
10 (Vận dụng) Dưới phần chương trình Pascal: Prorgam vd;
Var a,b,c,d: integer; Begin
Readln(a,b,c,d); ………
Writeln(5*(a+b)/2:c+1:5, 10*(a-b)/2:c+d:5); ………
End
Giả sử nhập liệu sau:
Sau chạy chương trình ta thu kết gì?
A 20 B 20 -10 C -2 D -2
-10
11 (Nhận biết) Trong ngơn ngữ lập trình Pascal, khai báo khai báo sau sai khai báo xâu kí tự?
A S: string B X1: string[100] C S: string[256] D X1: string[1] 12 (Nhận biết) Xác định tên biến đúng:
A 1hoten B Ho ten C 123456 D Ho_ten
II Phần tự luận:
1 (Thơng hiểu) Cho chương trình sau: Program vidu;
Var a,S,P: integer;
Write(‘Do dai canh a:’); Readln(a);
S:=a*a; P:=4*a;
Writeln(‘S=’, S:4); Writeln(‘P=’, P:4);
(55)b Cho biết chương trình thực cơng việc gì?
2 (Vận dụng) Viết chương trình tìm giá trị lớn dãy số nguyên IV Đáp án - Biểu điểm:
- Phần trắc nghiệm: câu trả lời đúng: 0,5điểm
1C 2B 3A 4B 5C 6D 7D 8D 9B 10B 11C 12D
- Phần tự luận + Câu 1a: điểm
1b: điểm
- Phát lỗi thiếu Begin end điểm
- biết chương trình dùng để tính thơng báo hình diện tích chu vi hình vng 1điểm + Câu 2: điểm
- Khai báo 0,5 điểm
- Viết đoạn nhập liệu điểm
- Viết đoạn tính thơng báo hình 0,5 điểm
-Ngày soạn: 8/03/2011 Tiết PPCT: 41
CHƯƠNG VI – CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC
Bài 17 : CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1) I Mục đích yêu cầu:
+ Biết CTC khối lệnh nhằm giải tốn để góp phần giải toán lớn chương trình
+ Biết viết nhứng chương trình dài, phức tạp việc sử dụng CTC cần thiết + Biết lợi ích việc sử dụng CTC
II Chuẩn bị:
Máy chiếu bảng phụ viết sẵn chương trình tinh_tong khơng sử dụng chương trình sử dụng chương trình
III Nội dung:
Hoạt động GV Hoạt động HS Nội dung ghi bảng
+ Hoạt động 1:(5’) Đặt vấn đề:
Các chương trình giải tốn phức tạp thường dài, gồm nhiều lệnh, đọc khó hình dung chương trình thực cơng việc việc hiệu chỉnh chương trình khó khăn
Như làm toán phức tạp dễ đọc, dễ hiểu, dễ hiệu chỉnh, dễ nâng cấp?
Do ta nghiên cứu vấn đề CTC, để tìm hiểu CTC gì?
(56)+Hoạt động (17’)
Tỉnh tổng : an + bm + cp + dq
+ GV cho HS nêu ý tưởng tốn
Có nghĩa chia toán thành toán nhỏ, làm làm mịn dần toán -> thiết kế tốn từ xuống
+ GV phân tích: để giải BT MT chia chương trình thành khối, khối gồm nhiều lệnh giải toán -> chương trình xây dựng từ CTC
+ Chương trình gì? + Giáo viên chốt lại khái niệm bảng phụ, máy chiếu viết bảng
+Hoạt động ( 17’)
+ GV dùng bảng phụ 1: tinh_tong ( không sử dụng CTC trang 92 SGK ), cho HS nhận xét đoạn chương trình
+ GV chốt lại ý: đoạn CT có đoạn lệnh tương tự
-> chương trình dài, khó theo dõi, khó hiệu chỉnh
+ HS nêu ý tưởng giải toán trả lời + Cho HS khác nhận xét trả lời bạn
+ Trả lời khái niệm chương trình
+ Chú ý bảng phụ trình chiếu, sau nhận xét
1.Khái niệm chương trình con
Những tốn phức tạp phân chia thành nhiều toán nhỏ, toán nhỏ phân chia thành nhiều tốn nhỏ, q trình làm “mịn” dần toán gọi cách thiết kế từ xuống Khi lập trình để giải tốn chia thành khối, khối bao gồm lệnh để giải tốn đó, khối lệnh xây dựng thành CTC , sau chương trình xây dựng CTC này, cách lập trình gọi chương trình có cấu trúc
(57)+ Dùng bảng phụ 2: Chương trình tinh_tong có sử dụng chương trình
+ GV giải rhích : dịng lệnh: var j: integer;
tich:=1.0; for j:=1 to k tich:=tich*x
+ Để tính luỹ thừa ta viết: Luythua(a,n), luythua(b,m), Luythua(c,p), luythua(d,q)
+ Và rõ đoạn lệnh thay CTC
+ Từ điều nêu cho HS nêu ích lợi CTC
+ GV giải thích rõ ích lợi việc sử dụng CTC
+Hoạt động 4: Củng cố
1/ HS nêu khái niệm CTC, lợi ích việc sử dụng CTC
+ HS nhận xét so sánh đoạn chương trình
+ Các HS nêu lợi ích CTC
* Lợi ích việc sử dụng CTC
+ Tránh việc phải viết viết lại nhiều lần dãy lệnh;
+ Hổ trợ việc thực chương trình lớn;
+ Phục vụ cho q trình trừu tượng hố ;
+ Mở rộng khả ngôn ngữ;
+ Thuận tiện cho phát triển, nâng cấp chương trình;
Ngày soạn: 10/03/2011 Tiết PPCT: 42
Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 2) I: Mục tiêu:
1 Kiến thức:
Biết phân biệt hai loại chương trình con: Hàm thủ tục Biết cấu trúc chương trình
Biết phân biệt tham số hình thức với tham số thực sự, biến cục với biến toàn cục 2 Kỹ năng:
- Nhận biết hai loại tham số hình thức tham số thật - Nhận biết phạm vi hoạt động biến toàn cục, biến cục - Cách thực chương trinh
Thái độ:
- Phát huy tinh thần học tập theo nhóm. II Đồ dùng dạy học:
-GV: Bảng phụ, máy chiếu(nếu có) -HS: Sách GK, sách tập
(58)-Diễn giải, dùng bảng để ghi lại chi tiết quan trọng ví dụ -Phát huy tính sáng tạo học sinh
IV Tiến trình học.
Hoạt động thầy Hoạt động trò Nội dung
* Kiểm tra kiến thức cũ. - Gọi HS :
Câu 1: Trình bày khái niệm chương trình gì?
Câu 2: Mục đích sử dụng chương trình gì?
-GV nhận xét cho điểm *Giới thiệu mới
ĐVĐ: Chúng ta biết chương trình gì? Lợi ích việc sử dụng chương trình lập trình Nhưng ta chưa biết chương trình chương trình có cấu trúc nào? Và phân loại nào?
-Trong nhiều ngơn ngữ lập trình chương trình phân làm mấy loại?
-Trong ngôn ngữ pascal em cho biết số hàm thủ tục chuẩn mà em biết?
-Xét hàm sin(x)
Với x=∏/6 giá trị hàm sin(x) cho kết ?
GV nhận xét : Sau thực tính tốn hàm sin(x) với x= ∏/6 cho giá trị 1/2
Vậy em cho biết hàm có đặc điểm ?(hay hàm ?).
-Xét thủ tục Writeln, Writeln(‘‘xin chao’’)
Thủ tục Writeln(‘xin chao’) làm ? cho kết ? có trả giá trị nào khơng ?.
- HS đứng dậy trả lời câu hỏi
-HS trả lời câu hỏi.
-HS trả lời câu hỏi: + Hàm: Sin(x), sqrt(x),length(x) + Writeln, readln,
-HS trả lời câu hỏi: Sin(x)=1/2
-Học sinh trả lời
-Học sinh trả lời
2 Phân loại cấu trúc của chương trình con.
a Phân loại: -Chương trình
+Hàm:
Là chương trình
Thực số thao tác
Trả lại giá trị qua tên hàm
+Thủ tục:
Là chương trình
Thực số thao tác
(59)Hoạt động thầy Hoạt động trò Nội dung Vậy em cho biết thủ tục có đặc
điểm ?(hay hàm ?).
ĐVĐ : Trên sở phân loại hàm và thủ tục ta tìm hiểu cấu trúc hàm thủ tục (Chương trình con) tổ chức ? -Các em cho biết chương trình chính gồm phần ?(kiến thức củ).
-Trong chương trình cấu trúc của gồm phần ?
-Về chương trình và chuơng trình có tương tự nhau khơng ?
-Phần đầu dùng để làm ?
-Phần Khai báo dùng để làm ?
-Phần thân dùng để làm ?
ĐVĐ :Bây ta tiếp tục tìm hiểu biến khai báo phạm vi hoạt động chương trình chương trình
-Học sinh trả lời: [<Phần khai báo>] <Phần thân>
-Học sinh trả lời: <Phần đầu> [<Phần khai báo>] <Phần thân>
-Học sinh trả lời
-HS trả lời
-HS trả lời
-HS trả lời
b Cấu trúc chương trinh con
-Chương trình có cấu trúc tương tự chương trình gồm phần:
<Phần đầu> [<Phần khai báo>] <Phần thân>
+Phần đầu:
Để khai báo tên hàm thủ tục
Nếu hàm phải khai báo kiểu liệu chi giá trị trả hàm
Nhất thiết phải có +Phần khai báo:
Khai báo biến cho liệu vào/ra, biến dùng chương trình
+Phần thân:
(60)Hoạt động thầy Hoạt động trò Nội dung Xét ví dụ : Tính luỹ thừa : luythua=
xk tên chương trình có thể đặt luythua, tên biết chưa liệu vào x, k Vậy tính xk ta viết luythua(x,k) Khi x, k tham số hình thức
-Vậy tham số hình thức ?
ĐVĐ : Đối biến cục bộ, ,biến toàn cục phạm vi hoạt động ?
ĐVĐ : Sau có chương trình con, muốn thực chuơng trình ta làm ?
-Hãy cho ví dụ lệnh gọi CTC ?
CTC
Xét ví dụ :CTC luythua(x,k) với x,k tham số hình thức
Với biến : a =2, b=3
Lệnh gọi CTC Luythua(a,b) tham số hình thức x,k nhận giá trị tương ứng tham số thực a,b
-HS trả lời
-Học sinh đọc sách GK trả lời
*Khái niệm biến:
- Tham số hình thức: gồm biến khai báo cho liệu vào/ra - Biến cục bộ: Gồm biến khái khai báo chương trình
- Biến toàn cục: Gồm biến khái khai báo chương trình
*Phạm vi hoạt động các biến:
-Biến cục bộ:
Chỉ sử dụng chương trình cuả mà
Không thể sử dụng biến cục cuả chương trình cho chương trình chương trình khác
-Biến tồn cục:
Được sử dụng chương trình sử dụng chương trình
c Thực chương trình con: -Để thực gọi chương trình ta thực lệnh theo cú pháp sau Cú pháp:
<tên chương trình con>(<tham số thực sự>)
(61)Hoạt động thầy Hoạt động trị Nội dung
-HS trả lời Ví dụ: sqrt(255)
ra
-Khi thực chương trình tham số hình thức dùng để nhập liệu vào tham số hình thức nhận giá trị tham số thực tương ứng, tham số hình thức dùng để lưu trữ liệu trả giá trị cho tham số thực tương ứng
*Cũng cố kiến thức: Những nội dung học:
-CTC gồm: Hàm thủ tục -Cấu trúc chương trinh con. -Biến cục bộ, biến tồn cục.
-Tham sơ hình thức, tham số thật sự. -Cách gọi chương trinh con.
Ngày soạn: 14/03/2011 Tiết PPCT: 43
Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (T1)
I/ Mục tiêu: - Về kiến thức:
+ Nắm cấu trúc thủ tục, cách sử dụng thủ tục + Xác định biến toàn cục biến cục
- Về kỹ năng:
+ Nhận biết thành phần đầu thủ tục
+ Nhận biết lệnh gọi thủ tục tham số thực II/ Chuẩn bị giáo viên học sinh
- Giáo viên: Giáo án, bảng phụ - Học sinh: Ghi chép đầy đủ III/ Tiến trình tiết dạy:
1 Ổn định lớp, sĩ số
2 Bài cũ: Hãy so sánh thử tục hàm? Thế biến toàn cục, biến cục bộ?
(62)Chúng ta tìm hiểu khái niệm CTC Phân biệt hàm thủ tục Hoạt động giáo viên Hoạt động học sinh Nội dung ghi bảng
Hãy nhắc lại cấu trúc chung CTC?
<tên thủc tục> người dùng tự đặt
[<danh sách tham số>]: liệu vào thủ tục, không cần thiết thủ tục khơng có tham số
thủ tục viết phần khai báo chương trình sau phần khai báo biến thực phần thân chương trình
phát biểu tốn
bài tốn yêu cầu thực vẽ nhiều lần hình chữ nhật có kích thước khác nên chưa thể xác định số câu lệnh số hình chữ nhật để vẽ theo chương trình minh hoạ SGK Hơn thủ tục lại không trả lại giá trị Vì cần dùng thủ tục
- Dựa vào ví dụ chi đâu biến toàn cục, biến cục bộ? chúng khai báo vị trí nào?
Chương trình trình bày
Nhắc lại cấu trúc CTC
Nghe giảng chép
Ghi nhận
Suy nghĩ trả lời A,b,i biến toàn cục I,j ;à biến cục
I/ Dạng Thủ tục(Procedure) 1/ Cấu trúc:
Procedure <tên thủ tục>[<danh sách tham số>];
[khai báo biến]; Begin
[<dãy lệnh>] End;
2/
Sử dụng thủ thục :
- Giống thủ tục chuẩn, viết tên hàm gọi thay tham số hình thức tham số thực tương ứng
- Lệnh gọi thủ tục nằm chương trình khơng tham gia vào biểu thức
3 Các ví dụ minh hoạ
Ví dụ viết chương trình vẽ hình chữ nhật có kích thước khác
Program VD2_thutuc; Var a,b,i:integer;
Procedure Ve_HCN
(dai,rong:integer); Var i,j:integer; Begin
For i:=1 to dai write(‘*’); Writeln;
For j:=1 to rong – Begin
Write(‘*’);
For i:= to dai -2 write(‘*’); Writeln;
End;
For i:=1 to dai write(‘*’); Writeln;
End; Begin
Ve_HCN(25,10); Writeln; writeln; a:=4, b:=2; for i:= to begin
Ve_HCN(a,b); A:=a*2; b:=b*2 End;
(63)trên bảng phụ
- Phân tích cho hoc sinh biết ý tưởng thuật tốn - Chỉ biến sử dụng chương trình, phân biệt biến cục bộ, biến tồn cục, khai báo vị trí chương trình ?
thủ tục sử dụng lần? Thế tham số hình thức? tham số thực sự”
Tham trị làgì?
Thế tham biến? tham trị?
Giải thích tham biến tham trị thơng qua ví dụ SGK (dùng bảng phụ)
Theo dõi quan sát
trả lời trả lời
Trong lời gọi thủ tục tham số hình thức thay số thực hay biến chứa giá trị cụ thể gọi tham số giá trị hay tham trị
Trong lệnh gọi thủ tục tham số hình thức thay biến chứa liệu gọi tham số biến (gọi tắt Tham biến)
Trong lời gọi thủ tục tham số hình thức thay số thực hay biến chứa giá trị cụ thể gọi tham số giá trị hay tham trị
Trong lệnh gọi thủ tục tham số hình thức thay biến chứa liệu gọi tham số biến (gọi tắt Tham biến)
Hoạt động 3: Cũng cố:(4’)
- Nắm cấu trúc cách dùng thủ tục. - Phân biến toàn cục biến cục
- Phân biệt Tham trị tham biến
-Ngày soạn: 14/03/2011 Tiết PPCT: 44
Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (T2)
I/ Mục tiêu: - Về kiến thức:
+ Nhớ cấu trúc hàm, cách sử dụng hàm
+ Phân biệt hai loại chương trình (thủ tục hàm) + Xác định biến toàn cục biến cục
- Về kỹ năng:
+ Nhận biết thành phần đầu hàm
+ Nhận biết câu lệnh sử dụng hàm chương trình tham số thực - Về tư trình độ:
+ Tiếp tục rèn luyện, thảo luận làm việc theo nhóm II/ Chuẩn bị giáo viên học sinh
(64)- Học sinh: Ghi chép đầy đủ III/ Tiến trình tiết dạy:
1 Ổn định lớp, sĩ số 2 Bài cũ:
Nêu cấu trúc thủ tục? Thế tham biến? tham trị? Bài mới
Hoạt động giáo viên Hoạt động học sinh Nội dung ghi bảng - <tên hàm> người dùng tự
đặt
- Cũng giống thủ tục [<danh sách tham số>]: khơng cần thiết hàm khơng có tham số
- Em nhắc lại kiểu liệu học?
Chương trình trình bày bảng phụ
-Trong ví dụ có hàm?
- Hàm UCLN(x,y): dùng để làm gì?
- Chỉ lệnh gán giá trị cho tên hàm?
- Em cho biết giống khác hàm thủ tục?
- Các kiểu liệu: integer, real, char, boolean, string
- Có hàm UCLN
- Tính ước chung lớn hai số x, y
- UCLN:= x;
- Đều chương trình
II/ Dạng Hàm (Function) 1/ Cấu trúc:
Function <tên hàm>[<danh sách tham số>]: <kiểu liệu>;
[khai báo biến]; Begin
[<dãy lệnh>] End;
- <Kiểu liệu>: Kiểu liệu trả lại hàm kiểu integer, real, char, boolean, string
Vd: Function tong(x,y: integer): integer;
2/
Sử dụng hàm :
- Giống hàm chuẩn, viết tên hàm gọi thay tham số hình thức tham số thực tương ứng
- Lệnh gọi hàm tham gia vào biểu thức tốn hạng
Ví dụ: A:= 8*UCLN(x,y)-3;
Chú ý: Trong thân hàm phải có lệnh gán giá trị cho tên hàm
<tên hàm>:= <biểu thức>; Ví dụ 1:
- Chương trình thực rút gọn phân số, sử dụng hàm tính ước chung lơn số
3/ Phân biệt hàm thủ tục: a/ Giống nhau:
- Là chương trình con, có cấu trúc giống chương trình
(65)- Tổng hợp rút kết luật chung
- Dựa vào ví dụ chi đâu biến toàn cục, biến cục bộ? chúng khai báo vị trí nào?
Chương trình trình bày bảng phụ
- Phân tích cho hoc sinh biết ý tưởng thuật toán - Chỉ biến sử dụng chương trình, phân biệt biến cục bộ, biến toàn cục, khai báo vị trí chương trình ?
- Nêu tên hàm, giá trị kết hàm thuộc kiểu liệu nào?
- Hàm sử dụng lần?
- Khác: thân hàm phải có lệnh
- Biến toàn cục là: Tuso, mauso, a Được khai báo chương trình
- Biến cục bộ: x, y Được khai báo chương trình
- Biến sử dụng gồm biến
- a, b vừa biến toàn cục vừa biến cục bộ, c biến toàn
- Tên hàm Min, giá trị kết thuộc kiểu liệu real - Hàm sử dụng lần
b/ Khác nhau:
- Tên hàm phải có kiểu liệu - Trong thân hàm phải có lệnh gán giá trị cho tên hàm
4/ Biến toàn cục biến cục bộ: - Biến toàn cục biến khai báo chương trình - Biến cục biến khai báo chương trình
Ví dụ 2:
Chương trình tìm số nhỏ số nhập từ bàn phím
Hoạt động 3: Cũng cố:(4’)
- Nhấn mạnh lại cách khai báo hàm, phân biệt hàm thủ tục. - Phân biến toàn cục biến cục
Bài tập nhà: (3’)
Function tim(m,n: integer); Begin
r:=m mod n; If r= then tim:=n; Else
Tim:=tim(n,r); End;
1 Khai báo biến, sửa lỗi cho đoạn chương trình trên? Đoạn chương trình thực cơng việc gì?
(66)
BÀI TẬP I. Mục tiêu.
Trọng tâm học cho học sinh ôn lại kiến thức chương trình vận dụng để giải tốn lập trình có cấu trúc
Kiến thức:ôn lại kiến thức kiểu liệu có cấu trúc kiểu liệu tệp Kĩ năng:- Rèn luyện kỹ lập trình chương trình
- Rèn luyện kỹ lập trình cho học sinh, giúp học sinh thành thạo việc nhận dạng toán dạng hàm hay thủ tục
Thái độ: Tạo hứng thú cho học sinh học lập trình II. Thiết bị dạy - học
GV: bảng, phấn, bảng phụ, giáo án, SGK, SBT HS: SGK, vở, SBT
III. Chuẩn bị giáo viên học sinh GV: Giáo án, bảng phụ
HS: đọc trước trước lên lớp IV. Tiến trình lên lớp
1 Ổn định lớp, sỹ số 2 Bài cũ:
Hãy phân biệt thủ thục hàm? 3 Nội dung
Hoạt động 1.
Vận dụng kiến thức chương trình để giải toán:Trong CTC nào, nên tổ chức truyền tham biến nên tổ chức truyền tham trị? (BT6.1 SBT)
Hoạt động giáo viên Hoạt động HS Nội dung
gọi hs làm nhanh ví dụ trả lời nhanh BT6.1 SBT
Khi gặp toán mà liệu cần phảu thay đổi giả trị sau CTC thực tổ chức truyền tham biến, ngược lại tổ chức truyền tham trị
Hoạt động 2.
Vận dụng kiến thức hàm để giải toán:Viết hàm FAC(n) trả giá trị n! (giai thừa số nguyên n); sử dụng hàm để tính đưa hình n! với n= 0,1,2,3, ,10 (BT6.11 SBT)
Hoạt động giáo viên Hoạt động HS Nội dung
Theo toán học người ta định nghĩa n! nào? viết Pascal phải viết đoạn lệnh để giải tốn đó?
trả lời
If n=0 then Giaithua:=1 Else
Begin
Giai thua:=1; For i:=0 to n
Giaithua:=Giaithua*n; End;
Var n:byte;
Function FAC(n:byte):longint; Var i:byte;
Begin
If n=0 then FAC:=1 Else
(67)Rõ ràng thấy đề quy định phải sử dụng hàm FAC(n)
gọi hs hoàn chỉnh thủ tục
Hồn thành chương trình
Ghi nhận
Hồn thành chương trình
FAC:=1;
For i:=0 to n FAC:=FAC*n; End;
End; Begin N:=10
For i:=1 to n Writeln(FAC(i):10); Readln
End V. Củng cố.
Qua tiết tập làm ví dụ nhà xem lại cấu trúc hàm thủ tục Ôn tập lại vấn đề lí thuyết vừa trình bày tiết trước dựa vào tập mẫu để hoàn thành tập 6.12, 6.16 SBT tr 62,63
(68)-Ngày soạn: 1/04/2011 ppct: 46,47 Bài thực hành số 6
i Mục Tiêu Kiến thức:
- Cũng cố lại kiến thức xâu, kí tự, chơng trình Kỹ năng:
- Rèn luyện kỹ xử lý xâu việc tạo hiệu ứng cho máy chạy hình
- Nâng cao kỹ viết sử dụng chơng trình
II dựng dy hc
1 Chuẩn bị giáo viên:
- Mỏy vi tính, tổ chức phịng máyđể học sinh có đợc kỹ tronh việc tổ chức sử dụng chơng trình lập trình
2 Chuẩn bị học sinh:
- Sách giáo khoa
III Hoạt động dạy học
1 Hoạt động 1: Tìm hiểu việc xây dựng hai thủ tục catdan(s1, s2) cangiua(s).
a Mơc tiªu:
- nắm đợc chức hai thủ tục catdan(s1, s2) cangiua(s) Biết đợc ý nghĩa cảu tham số chơng trình
b Néi dung: Thđ tôc catdan
Type str79 = string[79];
Procedure catdan(s1 : str79; var s2 : str79); Begin
S2 := copy(s1 , , length(s1) - 1) + s1[1]; End;
Thđ tơc cangiua
Procedure cangiua( var s : str79); Var i,n : integer;
Begin
n:= length(s); n:= (80-n)div 2; for i:= to n
s:= ‘ ‘ + s end;
c C¸c bíc tiÕn hµnh:
Hoạt động giáo viên Hoạt động học sinh 1 Tìm hiểu hai thủ tục catdan (s1, s2)
cangiua (s).
- ChiÕu nội dung thủ tục catdan (s1, s2); - Hỏi: Đầu vào đầu thủ tục này? - Hỏi: Chức thủ tục gì? - Yêu cầu học sinh cho ví dụ minh hoạ - Chiếu nội dung thủ tục: cangiua(s); - Hỏi: Đấu vào cđa thđ tơc?
- Thđ tơc thùc hiƯn c«ng việc gì?
- Giáo viên ý: Có thể nhắc học sinh không khai báo s tham biến thủ tục hiệu lực lệnh đa s nàm hình không nằm thủ tục
2 Tìm hiểu chơng trình câu b, sách giáo khoa, trnag 103, 104
- Chiếu chơng trình lên bảng
1 Quan sát thủ tục catdan() trả lời câu hỏi giáo viên
- Vào: Xâu kí tự s1 - Ra: Biến x©u kÝ tù s2
- Thực việc tạo xâu s2 từ xâu s1 việc chuyển kí tự thứ đến vị trí cuối xâu
- S1= ‘abcd’ th× S2 = ‘ bcda’ - Quan sát, suy nghĩ trả lời
- Đầu vào xâu kí tự S không qua 79 kí tự
(69)- Hỏi: Chức chơng trình
- Giới thiệu cho học sinh thđ tơc chn : gotoxy (x,y); delay(n); vµ keypressed;
- Thực chơng trình để giúp học sinh thấy kt qu ca chng trỡnh
2 Quan sát chơng trình bảng theo dõi dẫn dắt giáo viªn
- Yêu cầu ngời sử dụng nhập xâu kí tự Đa xâu hình có dạng dịng chữ chạy hình văn 25*80
- Quan sát hình để đối chiếu với kết mà học sinh tự suy luận tính đợc
2 Hoạt động 2: Rèn luyện kĩ lập trình:
a Mơc tiªu:
- Học sịnh vận dụng đợc hiểu biết chơng trình con, thuật toàn đợc cung cấp để giải toán tổng quát
b Néi dung:
- Viết chơng trình nhập xâu kí tự đa dịng chữ chạy dịng chơng trỡnh chớnh quy nh
- Nội dung chơng trình giống nh chơng trình câub, SGK, trang 10
c Các bớc tiến hành:
Hot ng ca giỏo viờn Hoạt động học sinh Tìm hiểu yêu cầu bi
- Chiếu nội dung yêu cầu lên b¶ng
- u cầu học sinh tìm vấn đề trong tập này.
- Yªu cầu học sinh lập trình máy
- Yêu cầu học sinh thực chơng trình nhập liệu test
- Đánh giá kết lập trình học sinh
1 Quan sát yêu cầu b¶ng
- Về bản, giống nh nhiệm vụ mà câu b làm Chỉ khác chơng trình câu b ln cho xâu kí tự chạy dịng 12, cịn xâu kí tự phải chạy dịng Vì phải truyền tham số quy định dịng chạy cho thủ tục
- §éc lập viết chơng trình vào máy báo cáo kết thử nghiệm
- Nhập liệu theo test giáo viên báo cáo kết
IV Đánh giá cuối bài:
Câu hỏi tập vỊ nhµ
- Viết thủ tục chaychu ( s,dong) nhận tham số xâu S gồm không qua 79 kí tự biến nguyên Dong In hình dịng chữ xác định S chạy dịng Dong viết chơng trình thực có sử dụng th tc ny
- Chuẩn bị cho thùc hµnh sè 7: Xem tríc néi dung cđa bµØ thùc hµnh sè 7, SGK, trang 105
-Ngày soạn: 2/04/2011 PPCT: 48,49
Bài thực hành sè 7 I MỤC TIÊU:
1 Kiến thức:
Củng cố lại kiến thức chương trình con: Thủ tục, hàm, tham số biến tham số giá trị, biến toàn cục biến cục
2 Kỹ năng:
Sử dụng chương trình để giải trọn vẹn tốn máy tính II ĐỒ DÙNG DẠY HỌC:
1 Chuẩn bị giáo viên:
Máy vi tính, tổ chức phịng máy để HS có lỹ việc tổ chức sử dụng chương trình lập trình
2 Chuẩn bị học sinh:
Đọc trước tập thực hành theo yêu cầu giáo viên III HOẠT ĐỘNG DẠY VÀ HỌC:
1 Hoạt động 1: Tìm hiểu việc xây dựng hàm thủ tục chương trình, thực việc liên quan đến tam giác
(70)HS biết hàm thủ tục chương trình, hiểu chức chương trình con, tính đầu vào đầu chương trình
b Nội dung:
- Procedure daicanh(R: Tamgiac; var a,b,c: real); - Function chuvi(var R: Tamgiac): real;
- Function dientich(var R: Tamgiac): real;
- Procedure tinhchat(var R: Tamgiac; var deu,can,vuong: boolean); - Procedure hienthi(var R: Tamgiac);
- Funtion kh_cach(P,Q: Diem): real; c Các bước tiến hành:
Hoạt động GV Hoạt động HS
- Đưa toán: Nhập toạ độ đỉnh tam giác, tính diện tích, chu vi, hiển thị tính vng, cân tam giác
- GV định hướng cho HS phải xây dựng kiểu liệu để giải toán SGK
- Hỏi: Yêu cầu HS phân biệt hàm thủ tục
- GV xác hố kết quả, nhấn mạnh ý: Một chương trình dùng chương trình khai báo trước thân chương trình
- Dẫn dắt, giải thích cho HS hiểu ý nghĩa, dạng chương trình con, cách dùng tham số (tham biến, tham trị), thứ tự khai báo, đầu vào, đầu chương trình sử dụng để giải toán
+ Procedure daicanh(R: Tamgiac; var a,b,c: real);: Nhận đầu vào biến R mô tả tam giác đầu độ dài cạnh a,b,c
+ Function chuvi(var R: Tamgiac): real;: Cho giá trị chu vi tam giác R
+ Function dientich(var R: Tamgiac): real;: Cho giá trị chu vi tam giác R
+ Procedure tinhchat(var R: Tamgiac; var deu,can,vuong: boolean);: Nhận đầu vào biến R mơ tả tam giác đầu tính chất tám giác (đều, cân vuông)
+ Procedure hienthi(var R: Tamgiac);: Hiển thị toạ độ đỉnh tam giác hình
+ Funtion kh_cach(P,Q: Diem): real;: Cho giá trị khoảng cách hai điểm P, Q
- GV sử dụng máy chiếu để để hiển thị nội dung chương trình SGK lên hình cho HS quan sát, kết hợp với dùng bảng để thảo luận giải thích nội dung chương trình cách dùng chương trình chương trình Sau HS thơng hiểu chương trình, u cầu HS lên chạy thử cách nhập toạ độ HS kiểm tra trước
- HS nhìn bảng trả lời câu hỏi GV đưa
- Trả lời câu hỏi GV
- Trả lời câu hỏi GV đưa trình giảng
- HS lắng nghe GV giảng trả lời câu hỏi GV đưa ra:
+ Xác định đâu tham trị đâu tham biến chương trình bên
- Quan sát chương trình, dự tính chức chương trình
(71)2 Hoạt động 2: Rèn luyện kỹ lập trình a Mục tiêu:
Viết chương trình có sử dụng chương trình để tính số lượng tam giác đều, số lượng tam giác cân số lượng tam giác vuông
b Nội dung:
- Viết chương trình, sử dụng hàm thủ tục xây dựng để giải toán sau: Cho tệp liệu TAMGIAC.DAT có cấu trúc sau:
Dịng 1: Ghi số nguyên N (1<=N<=100)
N dòng tiếp theo: dòng ghi số thực xA, yA, xB, yB, xC, yC toạ độ đỉnh A, B, C tam giác
Yêu cầu: đọc liệu từ tệp TAMGIAC.DAT, xử lý đưa kết tệp TAMGIAC.OUT gồm dòng:
Dòng 1: Ghi số lượng tam giác
Dòng 2: Ghi số lượng tam giác cân (nhưng khơng đều) Dịng 3: Ghi số lượng tam giác vuông
c Các bước tiến hành:
Hoạt động GV Hoạt động HS
- Phân tích yêu cầu để + Chiếu nội dung, yêu cầu lên bảng + Chia lớp thành hai nhóm
Nhóm 1: Nêu câu hỏi phân tích để giải tốn
Nhóm 2: Trả lời câu hỏi phân tích nhóm để tìm cách giải tốn
+ GV góp ý, bổ sung câu hỏi phân tích trả lời phân tích
- Lập trình:
+ Yêu cầu HS lập trình máy GV tiếp cận Hs để sửa lỗi cần thiết
+ Yêu cầu HS nhập liệu vào GV báo cáo kết chương trình
+ Đánh giá kết HS
- Quan sát yêu cầu + Nhóm 1: Đặt câu hỏi
Dữ liệu vào Dữ liệu
Cần sửa chỗ tỏng chương trình câu b
Thuật tốn để đếm số lượng loại hình tam giác
+ Nhóm 2: Trả lời câu hỏi phân tích Phải viết lệnh đọc đữ liệu
tệp
Ba số nguyên dương số lương loại hình tam giác ghi dịng tệp
Cần thay đoạn chương trình nhập liệu chương trình để đọc liệu từ tệp TAMGIAC.DAT
Thay đoạn chương trình in kết hình chương trình để in số nguyên dương số lượng loại hình tệp TAMGIAC.OUT
Thuật tốn:
Nếu deu d:= d +
Ngược lại can c:= c + Ngược lại v:= v + 1;
- Độc lập viết chương trình, thực chương trình test tự tạo
- Thông báo kết cho GV
(72)IV CỦNG CỐ KIẾN THỨC:
Nhắc lại nội dung học từ đầu chương VI : Cách xây dựng chương hàm, thủ tục, cách truyền tham biến, tham trị
V CÂU HỎI VÀ BÀI TẬP VỀ NHÀ: - Đọc đọc thêm
- Chuẩn bị
- Viết chương trình sau (dùng chương trình con):
+ Đếm in hình số nguyên tố dãy số nguyên nhập từ bàn phím
(73)Ngày soạn: 12/04/2011 PPCT: 50 BÀI 19: THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN I Mục tiêu:
+ Kiến thức:
- Giới thiệu số thư viện chương trình chuẩn cách sử dụng + Kĩ năng:
- Bước đầu sử dụng thư viện lập trình - Biết khai báo sử dụng thư viện CRT, GRAPH II Đồ dùng Dạy học:
+ Giáo viên: giáo án, máy chiếu, chương trình sử dụng hàm cần giới thiệu + Học sinh: Sách giáo khoa
III Hoạt động Dạy - Học: + Ổn định lớp
+ Kiểm tra cũ + Tiến trình tiết dạy:
Hoạt động giáo viên Hoạt động HS Nội dung ghi bảng + Đặt vấn đề: Giới thiệu
thư viện chương trình ngơn ngữ lập trình
+ HĐ 1: Giới thiệu thư viện CRT
- Yêu cầu học sinh đọc sách kể tên chương trình thư viện CRT
- Trình chiếu cho chạy chương trình sau:
Program xoamanhinh; Begin
Clrscr;
Writeln(‘Xoa man hinh’); Readln;
End
- Vì xuất lỗi chạy chương trình này?
- Thêm : Uses CRT vào trước begin chạy chương trình - Chức thủ tục Clrscr ?
- Trình chiếu chương trình chứa thủ tục textcolor, yêu cầu học sinh quan sát nhận xét chức lệnh - Trình chiếu chương trình chứa thủ tục textbackground, yêu cầu học sinh quan sát
+ Các chương trình thư viện CRT :
- Clrscr, textcolor, textbackgrond, gotoXY - Quan sát
- Chưa sử dụng thư viện CRT
- Quan sát
-Xoá hình - Đặt màu chữ
- Đặt màu
1/ CRT:
- Chứa thủ tục liên quan đến việc quản lí khai thác mà hình, bàn phím máy tính
- Clrscr: xố hình
- Textcolor(n): đặt màu chữ, n biến xác định màu
(74)Hoạt động giáo viên Hoạt động HS Nội dung ghi bảng nhận xét chức lệnh
này
- Trình chiếu chương trình chứa thủ tục gotoXY, yêu cầu học sinh quan sát nhận xét chức lệnh + HĐ 2: Tìm hiểu thư viện Graph
- ĐVĐ: thư viện Graph chứa thủ tục liên quan đến chế độ đồ hoạ
+ Cho HS xem sách trả lời: - Các dạng liệu hiển thi hình? - Card hình có nhiệm vụ gì?
- Các tệp điều khiển đồ hoạ có chức gì?
- Khi nói đến hình phân giải 640x480 nói đến điều gì?
+ Để sử dụng thư viện đồ hoạ ta phải làm gì?
- Để khởi tạo chế độ đồ hoạ ta sử dụng thủ tục nào?
- Khi không sử dụng chế độ đồ hoạ ta phải làm gì?
- Đưa trỏ cột X dòng Y
- Lắng nghe
- Văn hình ảnh - Đảm bảo tương tác giữ vi xử lí hình
- Cung cấp chương trình điều khiền tương ứng với loại bảng mạch đồ hoạ - 640 dòng 480 cột
- Khởi tạo chế độ đồ hoạ - Initgraph(var driver, mode: Integer; path: string);
- Trở chế độ văn
- GotoXY(x,y): đưa trỏ đến cột x dịng y hình văn
2/ Graph:
- Chứa hàm thủ tục liên quan đến chế độ đồ hoạ
a) Các thiết bị chương trình hỗ trợ đồ hoạ:
- Có hai chế độ làm việc: văn đồ hoạ
- Bảng mạch điều khiển hình thiết bị đảm bảo tương tácgiữa vi xử lí hình
b) Khởi tạo chế dộ đồ hoạ:
- Initgraph(var driver, mode: Integer; path: string);
+ Trong đó:
- driver: số hiệu chương trình điều khiển BGI
- mode: số hiệu độ phân giải - path: đường dẫn đến tệp BGI - CloseGraph: Kết thúc chế độ đồ hoạ
- Trình chiếu ví dụ vẽ đường trịn Hãy đoạn chương trình khởi động đồ họa - Yêu cầu học sinh nghiên cứu SGK ví dụ để nêu cấu trúc chung thủ tục khởi động đồ họa
- Giải thích thơng số thủ tục
- Muốn thoát khỏi chế độ đồ họa dùng thủ tục gì?
- Trình chiếu thêm ví dụ minh
- Quan sát ví dụ trả lời
- Initgraph ( driver, mode: integer, path: string)
- Closegraph - Quan sát
b) Khởi động đồ họa:
- Cấu trúc chung thủ tục khởi động đồ họa
Initgraph (driver, mode: integer, path: string);
+ Driver: số hiệu chương trình điều khiển BGI, thường gán giá trị
+ Mode: số hiệu độ phân giải
+ Path: đường dẫn đến tệp BGI
(75)Hoạt động giáo viên Hoạt động HS Nội dung ghi bảng họa
Thủ tục Putpixel - Trình chiếu ví dụ
- Cho HS nêu kết
- Gọi HS nêu cấu trúc chung thủ tục Putpixel
- Giải thích thơng số thủ tục
- Chức Putpixel ?
Thủ tục Line: - Trình chiếu ví dụ
- Cho HS nêu kết
- Gọi HS nêu cấu trúc chung thủ tục Line
- Giải thích thơng số thủ tục
- Chức Line ? Thủ tục Lineto:
- Trình chiếu ví dụ
- Cho HS nêu kết
- Gọi HS nêu cấu trúc chung thủ tục Lineto
- Giải thích thơng số thủ tục
- Chức Lineto gì?
Thủ tục Linerel: - Trình chiếu ví dụ
- Quan sát
- HS trả lời
- HS trả lời
- Quan sát
- HS trả lời
- HS trả lời
- Quan sát
- HS trả lời
- HS trả lời
c.Các thủ tục vẽ điểm, đoạn thẳng Use graph;
Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’); Putpixel(20,40,60); Readln;
End
- Cấu trúc chung:
Putpixel (x, y: integer; color: word);
+ x y tọa độ điểm + color màu điểm
- Chức năng: Vẽ điểm màu color hình tọa độ (x,y)
Use graph; Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’); Line (20,40,30,60); Readln;
End
- Cấu trúc chung:
Line (x1,y1,x2,y2: integer)
- Chức năng: Vẽ đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2)
Use graph; Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20) Readln; End
- Cấu trúc chung: Lineto (x,y: integer)
(76)Hoạt động giáo viên Hoạt động HS Nội dung ghi bảng
- Cho HS nêu kết
- Gọi HS nêu cấu trúc chung thủ tục Linerel
- Giải thích thơng số thủ tục
- Chức Linerel gì?
Thủ tục Setcolor: - Trình chiếu ví dụ
- Cho HS nêu kết
- Gọi HS nêu cấu trúc chung thủ tục Setcolor
- Giải thích thơng số thủ tục
- Chức Setcolor gì?
- Quan sát
- HS trả lời
- HS trả lời
- Quan sát
- HS trả lời - HS trả lời
Use graph Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’) Linerel (10,10); Readln;
End
- Cấu trúc chung:
Linerel (dx,dy: integer)
- Chức năng: Vẽ đường thẳng nối điểm với điểm có tọa độ tọa độ cộng với gia số (dx,dy)
Use graph; Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20); Setcolor (10); Lineto (20;-20); Readln;
End
- Cấu trúc chung: Setcolor (color: word)
- Chức năng: Đặt màu cho nét vẽ Trình chiếu: ví dụ
- Cho HS nêu kết
- Gọi HS nêu cấu trúc chung thủ tục Circle, Ellipse, Rectange
- Quan sát
- HS trả lời - HS trả lời
d Các thủ tục vẽ hình đơn giản Use graph;
Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’) Circle (20, 20, 30);
Elipse (50,50,30,120,50,100); Rectangle (100,100,100,200); Readln;
End
- Cấu trúc chung: + Hình trịn:
Circle (x,y: integer; r:word) + Elipse:
(77)Hoạt động giáo viên Hoạt động HS Nội dung ghi bảng
- Giải thích thơng số thủ tục
- Chức thủ tục gì?
Giới thiệu hàm xác định GTLN hình, thủ tục chuyển trỏ tới tọa độ (x, y)
- HS trả lời
EndAngle, Xr, Yr: word) + Hình chữ nhật:
Rectange(x1,y1,x2,y2:integer)
- Chức năng:
+ Circle:Vẽ đường trịn có tâm (x,y) bán kính r
+ Elipse : Vẽ cung Elip có tâm điểm (x,y) với trục lớn xr, trục nhỏ yr, từ góc đầu StAngle đến góc cuối EndAngle
+ Rectange: Vẽ hình chữ nhật với (x1,y1) tọa độ đỉnh trái trên; (x2,y2) tọa độ đỉnh phải
e Các thủ tục hàm liên quan đến vị trí trỏ
- Hàm xác định GTLN cua hình:
Function GetMaxX: integer; Function GetMaxY: integer; - Thủ tục chuyển trỏ tới tọa độ (x;y)
Procedure MoveTo(x,y:integer); - Hãy nêu số thư viện khác
trong Pascal?
- Chức thư viện?
- Để sử dụng thủ tục hàm chuẩn thư viện ta phải làm gì?
- Gọi HS nêu VD
- System, Dos, printer - HS trả lời
- Khai báo
- uses crt,graph;
3 Một số thư viện khác:
- System: chứa hàm sơ cấp thủ tục vào
- Dos: chứa thủ tục tạo thư mục, thiết lập hệ thống
- Printer: cung cấp thủ tục làm việc với máy in
4 Sử dụng thư viện:
- Khai báo thủ tục hàm chuẩn theo cấu trúc:
Uses unit1, unit2, ,unit n;
Củng cố - Dặn dò
- Biết số thư viện chuẩn
- Biết số thủ tục đồ họa đơn giản - Đọc thờm bi m
-Ngày soạn: 17/04/2011 PPCT:51
Bµi thùc hµnh sè 8 I MỤC TIÊU:
1 Kiến thức:
(78)1 Chuẩn bị giáo viên:
Máy vi tính, tổ chức phịng máy để HS có lỹ việc tổ chức sử dụng chương trình lập trình, chuẩn bị trước chương trình chép vào máy tính
2 Chuẩn bị học sinh:
Đọc trước tập thực hành theo yêu cầu giáo viên III HOẠT ĐỘNG DẠY VÀ HỌC:
1 Hoạt động 1: Tìm hiểu chương trình vẽ đường gấp khúc a Muc tiêu:
HS biết khả đồ hoạ pascal cách vẽ đường gấp khúc thủ tục Lineto với đoạn có màu ngẫu nhiên
b Các bước tiến hành:
Hoạt động GV Hoạt động HS
- Giới thiệu chương trình
- HD HS mở tệp có sẵn thư mục D:\tp7\Bin\gapkhuc mà giáo viên chuẩn bị sẵn Yêu cầu HS thực chương trình quan sát kết Gọi HS dậy hỏi ý kiến học sinh nhận xét hình vẽ? Mặc dù khơng phải điểm mạnh Pascal với Pascal chung ta lập trình để tạo hình ảnh đồ hoạ
- HS lắng nghe GV giảng
- Làm theo HD GV Nhận xét kết thực
2 Hoạt động 2: Tìm hiểu chương trình vẽ hình đơn giản a Mục tiêu:
HS biết thêm khả đồ hoạ pascal chương trình vẽ hình đơn giản b Các bước tiến hành:
Hoạt động GV Hoạt động HS
Nêu chức chương trình:
Chương trình cho phép thay đổi số tham số màu vẽ, toạ độ
HDHS mở tệp có sẵn thư mục: D:\tp7\bin\bai8b.pas
Yêu cầu hs thực quan sát kết mà hình Hãy nhận xét kết thực chương trình?
Theo dõi
Thực theo HD GV
Quan sát kết thực chương trình Nhận xét kết thực
IV CỦNG CỐ KIẾN THỨC:
Đây học cuối chương trình Tin học 11 Mặc dù mơn khó, bước hình thành số kiến thức kỹ lập trình Hy vọng sau có người vào học chuyên ngày CNTT lấy làm sở cho thân Chúc em thành công với ước mơ
Ngày soạn: 18/04/2011 PPCT: 52
ƠN TẬP I Mục tiêu
*Kiến thức: - Ôn lại kiến thức học học kỳ 2: kiểu liệu có cấu trúc kiểu liệu tệp chương trình
(79)*Kỹ năng: rèn luyện kĩ lập trình cho học sinh II Chuẩn bị giáo viên học sinh.
- GV: nội dung đề cương - HS: Làm trước đề cương
III Tiến trình lên lớp. Ổn định lớp, sỹ số Vào bài:
Hoạt động Ôn lại kiến thức lý thuyết
Hoạt động GV Hoạt động HS Nội dung
Chúng ta học kiểu DL có cấu trúc nào?
Thế kiểu liệu mảng? Các em ý ôn lại phần mảng chiều, mảng hai chiều nhà em xem lại
Thế kiểu dl xâu?
về chất xâu mảng kiểu kí tự truy xuất xâu truy xuất phần tử mảng
gọi HS so sánh xâu ‘tin hoc’ Tin hoc’
Hãy nhắc lại vai trò kiểu tệp?
Nêu thứ tự thao tác với tệp Chương trình gì? Có loại?
Hãy phân biệt thủ tục hàm Ngoài khái niệm biến cục bộ, biến toàn cục, tham biến, tham trị nhà em xem lại SGK
trả lời
mảng dãy hữu hạn phàn tử có kiểu DL
Xâu dãy kí tự mã ASCII
Ghi nhận
trả lới câu hỏi
trả lới câu hỏi
1 Kiểu liệu có cấu trúc - Mảng (array)
Thao tác nhập phần tử mảng a có N phần tử
For i:= to N Begin
Write(‘a[‘, i , ‘]= ‘); readln(a[i]);
End;
- Xâu (String)
+ phép so sánh xâu (nhớ qui tắc so sánh)
+ Chú ý thủ tục hàm xử lí xâu: ghép xâu, xố bớt kí tự xâu, chèn thêm, chép kí tự xâu…
2 Dữ liệu kiểu tệp - vai trò kiểu dl tệp - Các thao tác với tệp: + Khai báo
+ Gắn tên tệp + Mở tệp + Đọc/ghi tệp Chương trình - Hàm (function) - Thủ tục (Procedure) Hoạt động 2: Giải số tập
(80)Hoạt động GV Hoạt động HS Nội dung Đây toán quen
thuộc
Yêu cầu học sinh tự làm lên bảng trình bày
Gọi hs khác nhận xét
chuẩn hoá giải
Nghiên cứu, lấy nháp làm việc
Lên bảng trình bày
Nghe giảng chép
Var a:array[1 100] of integer; N,i:byte;
S: integer; Begin
Write(‘nhap N’); readln(N);
Writeln(‘nhap cac phan tu cua mang’);
For i:=1 to N Begin
Write(‘a[‘,i,’[= ‘); Readln(a[i]); End;
S:=0;
For i:=1 to N
If a[i] mod = then s:=s+a[i]; Write(‘tong cac so chia hat cho la‘, s);
Readln; End:
(81)Ngày soạn: 1/05/2011. PPCT: 53 KIỂM TRA HỌC KỲ II
I. Mục tiêu đánh giá:
- Kiểm tra, đánh giá khả tiếp thu kiến thức, kĩ học sinh về: Các kiểu liệu có cấu trúc, chương trình liệu kiểu tệp
- Đánh giá khả tổ chức chương trình Pascal với cấu trúc chương trình chương rình
II Phương pháp đề:
III Đề kiểm tra:
ĐỀ KIỂM TRA
Thời gian: 45 phút (không kể thời gian giao đề) I Phần trắc nghiệm khách quan:
1 (Nhận biết) kiểu liệu có cấu trúc bao gồm: A kiểu mảng, kiểu xâu
B Kiểu mảng, kiểu xâu, kiểu ghi
C Kiểu mảng, kiểu xâu, kiểu ghi, kiểu nguyên, kiểu thực D Kiểu mảng, kiểu xâu, kiểu ghi, kiểu tệp
2 (Nhận biết) Trong ngôn ngữ Pascal, từ khoá Text dùng để: A Khai báo tên chương trình
B Khai báo biến tệp văn C Khai báo biến tệp
D Khai báo
3 (Thơng hiểu) Trong ngơn ngữ lập trình Pascal, với câu lệnh sau For i:=1 to N
Begin
Write(‘a[‘,i,’[= ‘); Readln(a[i]); End;
sẽ thực hiện:
A Tính giá trị A[i] C lấy giá trị từ mảng a B Nhập giá trị vào cho mảng a D Khơng đưa
4 (Nhận biết) Trong ngơn ngữ lập trình Pascal, kiểu liệu kiểu sau không bị liệu điện?
A Byte B String C Text D Longint
5 (Nhận biết) Trong ngơn ngữ lập trình Pascal, Với khai báo mảng
X: Array[1 100] of integer; việc truy xuất đến phần tử đúng:
Nội dung Mức độ
Chương IV Chương V Chương VI Nhận biết Câu 1,5 Câu 2,4
Thông hiểu Câu 3,6
(82)A X[i] B X< i> C X.i D X(i)
6 (Thơng hiểu) Trong ngơn ngữ lập trình Pascal, để in xâu kí tự hình theo thứ tự ngược lại kí tự xâu (Vd: abcd thành dcba), đoạn chương trình sau thực việc này?
A For i:=1 to length(S) write(S[i]); B For i:=length(S) downto write(S[i]); C For i:=length(S) downto write(S]); D For i:=1 to length(S) div write(S[i]);
7 (Vận dụng) Dưới phần chương trình Pascal: Function vd(a,b,c:integer):integer;
Begin
If (a>=b) and(a>=c) then vd:=a; If (b>=a) and(b>=c) then vd:=b; If (c>=a) and(c>=b) then vd:=c; End
Giả sử nhập liệu sau: write(vd(6,5, 8));
Sau chạy chương trình ta thu kết gì?
A B C D 12
II Phần tự luận:
8 (Thông hiểu) Cho chương trình sau: Program vidu;
Var f:text; begin
assign(f,’vidu.inf’); readln(f.n);
n:=n+1; write(‘n= ‘,n);
a Tìm sửa lỗi cú pháp chương trình b Cho biết chương trình thực cơng việc gì?
9 (Vận dụng) Viết hàm tìm giá trị lớn ba số nguyên IV Đáp án - Biểu điểm:
- Phần trắc nghiệm: câu trả lời đúng: 0,5điểm
1B 2B 3B 4C 5A 6B 7C
- Phần tự luận + Câu 1a: điểm
1b: điểm
- Phát lỗi thiếu Begin end điểm
- biết chương trình dùng để tính thơng báo hình diện tích chu vi hình vng 1điểm + Câu 2: 4.5 điểm
- Khai báo điểm