tiến trình bài giảng Hđ1: củng cố kiến thức đã học - Chiếu các câu hỏi trắc nghiệm để củng cố lại kiến thức Câu 1:Trong Pascal khai báo nào trong các khai báo sau là đúng khi khai báo x
Trang 1Bài soạn số 34
Bài tập ôn tập chơng IV
I mục tiêu
1 Kiến thức
• Ôn tập củng cố lại cho học sinh các kiến thức về mảng 1 chiều, mảng hai chiều, xâu kí
tự và kiểu bản ghi
2 Kỹ năng
- Rèn luyện kĩ năng lập trình
3 Thái độ
- Yêu thích môn học và hình thành t duy lập trình
* Trọng tâm: mảng 1 chiều và xâu kí tự
II chuẩn bị của GV và hs
1 chuẩn bị của GV
- Giáa án, sgk
- đồ dùng dạy học
2 Chuẩn bị của HS
- SGK, vở ghi, SBT
- Đồ dùng học tập
III Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, giảng giải, gợi ý, nêu vấn đề, giải quyết vấn đề.
2 Phơng tiện: Máy chiếu, máy tính, phông chiếu, bảng.
IV tiến trình bài giảng
Hđ1: củng cố kiến thức đã học
- Chiếu các câu hỏi trắc nghiệm để củng cố
lại kiến thức
Câu 1:Trong Pascal khai báo nào trong các khai
báo sau là đúng khi khai báo xâu S có độ dài là
100?
A Var S: String;
C var X1:string[100];
B.var S: string[256];
D var X1:String[1];
Câu 2: Trong NNLT Pascal, để đếm số ký tự là số
trong xâu S, đoạn chơng trình nào trong các đoạn
sau thực hiện việc này( biến d dùng để đếm)
A d:=0;
C d:=0;
For i:=1 to length(S) do
For i:= 1 to length(S) do
If (S[i]>=0) and(S[i]<=9) then d:= d+1;
if(S[i]>=’0’) and (S[i]<=’9’) then d:=d+1;
B d:=0;
D d:=0;
For i:=1 to length(S) do
For i:= 1 to length(S) do
If (S[i]=0) and(S[i]=9) then d:=d+1;
if (S[i]=’0’) and (S[i]=’9’) then d:=d+1;
Câu 3: Để truy cập vào từng trờng của bản ghi ta
- HS chú ý theo dõi và trả lời
Trang 2A <Tên biến bản ghi> <Tên trờng> C
<Tên kiểu bản ghi>.<tên trờng>
B <Tên biến bản ghi>.<Giá trị của trờng> D
< Tên kiểu bản ghi>.<giá trị của trờng>
Câu 4: Trong NNLT Pascal quá trình xuất dữ liệu
của mảng 2 chiểu A[1 m,1 n] để các phần tử hiển
thị đúng nh mô hình của mảng 2 chiều ta viết lệnh
nh sau:
A For i:=1 to m do C
For i:= 1 to m do
For j:=1 to n do
begin
Write( A[i,j]:5); End;
For j:= 1 to n do writeln; end;
B For i:= 1 to m do D
For j:= 1 to n do write(A[i,j]:5); writeln; end;
Begin
For j:= 1 to n do Write (A[i,j]:5);
End;
Hđ2: Củng cố kĩ năng lập trình với bài tập về
mảng 1 chiều
Bài tập: Bài 1(3 đ): Viết chơng trình nhập vào một
số nguyên dơng N (N ≤ 250) và dãy số nguyên A
có N phần tử.Tính tổng các số chia hết cho 2 nhng
không chia hết cho 5 của dãy A
- GV dẫn dắt học sinh tìm hiểu bài toán
+ Em hãy cho biết dữ liệu vào và dữ liệu ra của bài
toán?
+ yêu cầu học sinh viết thuật toán
Sauk hi học sinh viết thuật toán xong viết chơng
trình
- Gọi học sinh lên bảng viết chơng trình, còn các
học sinh khác làm trên vở để chem Lấy điểm
miệng
HĐ3: Củng cố kĩ năng lập trình với bài tập về xâu
kí tự
Bài 2 ( 2 đ): Viết chơng trình nhập vào một xâu S
Sau đó đếm số dấu cách có trong xâu
- GV dẫn dắt học sinh tìm hiểu bài toán
+ Em hãy cho biết dữ liệu vào và dữ liệu ra của bài
toán?
+ yêu cầu học sinh viết thuật toán
Sauk hi học sinh viết thuật toán xong viết chơng
trình
- HS trả lời + Input: N ∈ Z ( 0≤ N ≤250) và dãy A1, A2, … , AN ∈ Z
+ Output: Tổng các số chia hết cho
2 nhng không chia hết cho 5 của A
- HS thực hiện yêu cầu
- HS dựa vào thuật toán viết chơng trình
- HS trả lời + Input:Xâu S + Output: Số dấu cách trong xâu
- HS thực hiện yêu cầu
- HS dựa vào thuật toán viết chơng trình
Trang 3- Gọi học sinh lên bảng viết chơng trình, còn các
học sinh khác làm trên vở để chem Lấy điểm
miệng
IV củng cố
Về nhà ôn tập, giờ sau làm bài KT viết 1 tiết
Yên dũng, ngày tháng … …… năm
2010
Bài soạn số 35
Kiểm tra 45’
A Mục tiêu đánh giá
Đánh giá kiến thức, kỹ năng của HS về kiểu dữ liệu có cấu trúc: Kiểu xâu, kiểu mảng, kiểu bản ghi
B Mục đích, yêu cầu của đề
- Về kiến thức: Kiểm tra kiến thức của HS về cách khai báo hằng xâu, hằng xâu, cách truy cập vào từng trờng của bản ghi, cách in mảng 2 chiều dới dạng bảng,một số thao tác xử lý xâu
- Về kỹ năng: Vận dụng các kiến thức đã học để viết chơng trình cho các bài tập cụ thể
C Ma trận đề
ND
câu 6, câu 10 Câu 3
D Nội dung đề
I Phần trắc nghiệm (5 đ)
Câu 1:Trong Pascal khai báo nào trong các khai báo sau là đúng khi khai báo xâu S có độ dài
là 100?
A Var S: String; C var X1:string[100];
B.var S: string[256]; D var X1:String[1];
Câu 2: Trong NNLT Pascal, để đếm số ký tự là số trong xâu S, đoạn chơng trình nào trong các
đoạn sau thực hiện việc này( biến d dùng để đếm)
A d:=0; C d:=0;
For i:=1 to length(S) do For i:= 1 to length(S) do
If (S[i]>=0) and(S[i]<=9) then d:= d+1; if(S[i]>=’0’) and (S[i]<=’9’) then
d:=d+1;
B d:=0; D d:=0;
For i:=1 to length(S) do For i:= 1 to length(S) do
If (S[i]=0) and(S[i]=9) then d:=d+1; if (S[i]=’0’) and (S[i]=’9’) then
d:=d+1;
Câu 3: Để truy cập vào từng trờng của bản ghi ta viết?
A <Tên biến bản ghi> <Tên trờng> C <Tên kiểu bản ghi>.<tên trờng>
B <Tên biến bản ghi>.<Giá trị của trờng> D < Tên kiểu bản ghi>.<giá trị của trờng>
Trang 4Câu 4: Trong NNLT Pascal quá trình xuất dữ liệu của mảng 2 chiểu A[1 m,1 n] để các phần
tử hiển thị đúng nh mô hình của mảng 2 chiều ta viết lệnh nh sau:
A For i:=1 to m do C For i:= 1 to m do
For j:=1 to n do begin
Write( A[i,j]:5); End; For j:= 1 to n do writeln; end;
B For i:= 1 to m do D For j:= 1 to n do write(A[i,j]:5); writeln; end; Begin
For j:= 1 to n do Write (A[i,j]:5); End;
Câu 5: Trong NNLT Pascal, xâu ký tự không có ký tự nào goi là
A Xâu rỗng C Xâu trắng
B Xâu không D Không phải là xâu ký tự
Câu 6: Trong NNLT Pascal, phần tử đầu tiên của xâu ký tự mang chỉ số là:
A 0 C 1
B Do ngời lập trình khai báo D Không có chỉ số
Câu 7: Câu lệnh nào trong các câu lệnh sau không dùng để gán gía trị cho trờng của bản ghi
A?( Với bản ghi A có 3 trờng là Hote, lop, diem)
A A.Ten:=’Nguyen Van A’; C Readln(A.Diem);
B A.Lop:=’10A7’; D S:= A.Diem
Câu 8: Trong NNLT Pascal, đoạn chơng trình sau thực hiện công việc gì?
D:=0;
For i:= 1 to length(S) do
If S[i] =’ ‘ then d:= d+1;
A Xóa đi các dấu cách trong xâu; B Đếm số dấu cách trong xâu
C.Đếm số ký tự có trong xâu; D Xoá đi các ký tự số
Câu 9: Trong NNLT Pascal, sau khi thực hiện xong đoạn chơng trình sau, giá trị của biến S là?
S:= ‘ Ha Noi mua thu’;
Delete(S,7,8);
Insert(‘Mua thu’,s,1);
A Ha noi mua thu; C Mua thu Ha Noi;
B Mua thu Ha noi mua thu; D Ha Noi;
Câu 10:Trong NNLT Pascal, hai xâu ký tự đợc so sánh dựa trên?
A Mã của từng ký tự trong các xâu lần lợt từ trái sang phải B Độ dài tối đa của xâu
C Độ dài thực sự của 2 xâu D Số lợng các ký tự khác nhau trong xâu
II Phần tự luận (5 đ)
Bài 1(3 đ): Viết chơng trình nhập vào một số nguyên dơng N (N ≤ 250) và dãy số nguyên A có
N phần tử.Tính tổng các số chia hết cho 3 nhng không chia hết cho 6 của dãy A
Bài 2 ( 2 đ): Viết chơng trình nhập vào một xâu S Sau đó thay thế tất cả các cụm kí tự ‘HS’
bởi cụn kí tự ‘HOC SINH’
E Đáp án
I Trắc nghiệm : mỗi câu trả lời đúng đợc 0, 5 điểm
II Tự luận
Câu1:
Program bt1;
Uses crt;
Const Nmax = 250;
Trang 5Var N , i : byte;
A : mang;
T : longint;
BEGIN
CLRSCR;
Write(‘ Nhap vao N =’); readln(N); writeln; 0, 75 điểm Writeln(‘NHAP TUNG PHAN TU CUA DAY’);
T := 0;
For i := 1 to n do
Begin
Write(‘Nhap phan tu thu’,i,’=’);
Readln(A[i]);
If (A[i] mod 3 = 0) and ( A[i] mod 6 <> 0) then s := s + A[i];
End; writeln;
0, 5 điểm
0,75 điểm
Write(‘ Tong cac so chia het cho 3 nhung khong chia het cho 6 la:’,S);
Readln;
END
0, 5 điểm
(Chú ý: nếu học sinh làm đúng nhng theo cách khác vẫn cho điểm tơng đơng, và cứ 4 lỗi cú pháp trừ 1 điểm)
Câu1:
Program bt2;
Uses crt;
Var K , vt : byte;
BEGIN
CLRSCR;
Write(‘ Nhap vao xau S: ’); readln(S); writeln; 0, 5 điểm
K := length(S);
While pos(‘HS’,S) <> 0 do
Begin
Vt := pos(‘HS’,S);
Delete(S,vt,2);
Insert(‘HOC SINH’,S,vt);
End; writeln;
0,75 điểm
Write(S);
Readln;
END
0, 25 điểm
Yên dũng, ngày tháng … …… năm
2010 Bài soạn số 36
Đ14 Kiểu dữ liệu tệp
Đ15 thao tác với tệp
I mục tiêu
1 Kiến thức
• Học sinh biết đợc vai trò của kiểu dữ liệu tệp
Trang 6• Học sinh biết đợc có hai cách phân loại tệp
• Hs biết khai báo biến tệp và các thao tác cơ bản đối với tệp văn bản
2 Kỹ năng
Dần dần hình thành kỹ năng về các thao tác với tệp văn bản
3 Thái độ
Rèn luyện cho HS ý thức lu trữ dữ liệu một cách khoa học, phòng chống mất mát thông tin hoặc nhiễm virut
4 Trọng tâm
Biết khai báa biến tệp và thao tác cơ bản đồi với tệp văn bản
5 T duy
Logic, linh hoạt, mạch lạc
II chuẩn bị của GV và hs
1 chuẩn bị của GV
- Giáa án, sgk
- đồ dùng dạy học
2 Chuẩn bị của HS
- SGK, vở ghi, SBT
- Đồ dùng học tập
III Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, giảng giải, gợi ý, nêu vấn đề, giải quyết vấn đề.
2 Phơng tiện: Máy chiếu, máy tính, phông chiếu hoặc bảng.
IV tiến trình bài giảng
Hđ1: Đặt vấn đề:
Trong các giờ thực hành đã học, sau khi chạy một
chơng trình ta thấy kết quả in lên màn hình, tuy
nhiên muốn sử dụng kết quả đó về sau thì không
đợc( Nó không lu trữ đợc lâu dài) Để khắc phục
nhợc điểm này ta nghiên cứu kiểu dữ liệu tệp
Hđ2: Vai trò của kiểu tệp
Câu hỏi 1: Trong máy tính có những loại bộ nhớ
nào? Loại bộ nhớ nào không bị mất khi ta tắt máy
hoặc mất điện?
Câu hỏi 2: Vậy theo em các kiểu dữ liệu đã học
đ-ợc lu trữ ở bộ nhớ nào? Dự đoán xem dữ liệu kiểu
tệp lu trữ trên bộ nhớ nào?
Câu hỏi 3: Bộ nhớ trong hay bộ nhớ ngoài thờng
có dung lợng lớn hơn?
GV: Chốt lại
- Dữ liệu kiểu tệp đợc lu trữ lâu dài ở bộ nhớ ngoài
nên nó không bị mất khi tắt máy hoặc mất điện
- Lợng dữ liệu lu trữ trên tệp có thể rất lớn và phụ
thuộc vào dung lợng ổ đĩa
Hoạt động 3: Phân loại tệp và thao tác với tệp
* Phân loại tệp:
Gv: Giới thiệu cho HS biết đợc hai cách phân loại
tệp
- Theo cách tổ chức dữ liệu:
+Tệp văn bản
- HS chú ý nghe giảng
HS: Lần lợt trả lời từng câu hỏi một dựa vào kiến thức đã học ở lớp 10
- HS dựa vào phần đặt vấn đề của giáa viên và các câu trả lời bên trên
để suy luận rồi đa ra câu trả lời
HS: trả lời
HS: chú ý nghe giảng
Trang 7+ Tệp có cấu trúc
- Theo cách thức truy cập
+Tệp truy cập tuần tự
+ Tệp truy cập trực tiếp
Hoạt động 4: Thao tác với tệp
GV: Có hai thao tác cơ bản đối với tệp là ghi dữ
liệu vào tệp và đọc dữ liệu ra Ta xét xem trong
Pascal các thao tác đó đợc thể hiện nh thế nào đối
với tệp văn bản?
Hoạt động 5: Khai báa
GV: Viết khai báo biến tệp lên bảng, rồi giải thích
các từ khoá, tên biến tệp để HS hiểu đợc
Var <tên biến tệp>:text;
Hoạt động 6: Thao tác với tệp
Hoạt động 6.1: Gắn tên tệpL
GV: Giải thích cho hs tại sao phải gắn tên tệp cho
biến tệp, rồi đa ra thủ tục
Assign(<tên biến tệp>), <tên tệp>;
ví dụ: Để gắn tệp KQ.TXT cho biến tệp f
Assign(f,’KQ.TXT’);
Hoạt động 6.2 Mở tệp
GV: Lấy ví dụ về 2 tình huống cần phải mở vở
“Tin học 11” đó là:Mở ra để ghi bài( ghi dữ liệu)
và mở ra để học bài( Đọc dữ liệu)-> hai trờng hợp
đó phải mở tệp
GV: Giới thiệu 2 thủ tục để mở tệp
+ Mở tệp để ghi dữ liệu
Rewrite(<tên biến tệp>);
+ Mở tệp để đọc dữ liệu:
Reset(<tên biến tệp>);
GV: Phải nhấn mạnh rằng: Trớc khi sử dụng hai
thủ tục trên phải gắn tên tệp cho biến tệp đồng thời
biến tệp phải đợc khai báa từ trớc
GV: yêu cầu học sinh lấy ví dụ
Hoạt động 6.3: Đọc ghi tệp văn bản
Câu hỏi: Để đọc dữ liệu từ bàn phím và để in dữ
liệu lên màn hình ta có thể dùng thủ tục gì?
GV: Giới thiệu các thủ tục đọc dữ liệu và ghi dữ
liệu vào tệp
* Đọc d liệu từ tệp
Read(<tên biến tệp>, <danh sách biến>);
Hoặc
Readlntên biến tệp>, <danh sách biến>);
* Ghi dữ liệu vào tệp
Write(<tên biến tệp>,<danh sách kết quả>);
Hoặc
Writelntên biến tệp>,<danh sách kết quả>);
* Một số hàm thờng dùng đối với tệp văn bản
GV: Giới thiệu để hs biết hai hàm chuẩn thờng
dùng và ý nghĩa của nó
HS: chú ý nghe giảng
HS: Lấy một vài ví dụ về khai báo biến tệp văn bản
ví dụ:
var t1,t2: text;
Mỗi HS tự lấy một vài ví dụ và ghi vào vở
HS chú ý nghe giảng và liện hệ với bài học
Mỗi hs lấy 1 ví dụ
HS: Trả lời câu hỏi
Hs ghi các thủ tục vào vở
HS: Viết các câu lệnh theo sự gợi ý của GV
Trang 8+Hàm EOF (<tên biến tệp>);
+Hàm EOLN(<tên biến tệp>);
Hoạt động 6.4 Đóng tệp
GV: Đa ra lý do của việc phải đóng tệp để giáo
dục cho hs ý thức bảa mật, an toàn thông tin
Close(<tên biến tệp>);
HS : lấy vài ví dụ về thủ tục đóng tệp
IV củng cố
Goi một hs đứng lên khái quát lại vai trò của kiểu tệp và phân loại tệp
V BTVN
+ Đọc trớc bài 16
+ Làm bài tập 7.40, 7.41 sách BT
Yên dũng, ngày tháng … …… năm
2010 Bài soạn số 37
Đ16 ví dụ làm việc với tệp
I Mục tiêu
1 Kiến thức
• Mở tệp
• Gán tên tệp cho biến tệp
• Đọc/ ghi dữ liệu đối với tệp
• Đóng tệp
2 Kỹ năng
Hiểu và thành thạo các kiến thức nêu trên
3 Thái độ
Học tập tích cực, nghiêm túc
4 T duy
Logic, linh hoạt, mạch lạc
5 Trọng tâm
Đọc ghi dữ liệu đối với tệp
II chuẩn bị của GV và hs
1 chuẩn bị của GV
- Giáa án, sgk
- đồ dùng dạy học
2 Chuẩn bị của HS
- SGK, vở ghi, SBT
- Đồ dùng học tập
III Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, giảng giải, gợi ý, nêu vấn đề, giải quyết vấn đề.
2 Phơng tiện: Máy chiếu, máy tính, phông chiếu hoặc bảng.
IV tiến trình bài giảng
Hoạt động 1: Ví dụ 1
Hoạt động 1.1: Tìm hiểu đầu bài
Chiếu đầu bài của bài toán lên màn hình
- HS phân tích bài toán, xác định yêu cầu của bài toán theo sự hớng dẫn của giáo viên
Trang 9GV: Nhắc lại công thức tính khoảng cách giữa 2
điểm khi biết toạ độ của chúng
Hoạt động 1.2: tìm hiểu chơng trình
GV: chiếu chơng trình đã soạn lên màn hình
GV: Gọi một vài hs đứng lên trả lời ý nghĩa của
từng câu lệnh trong chơng trình
Sau đó khái quát lại cả chơng trình để hs lắm
đ-ợc Sau đó chạy chơng trình
Hoạt động 1.3: Mở rộng bài toán
GV: có thể bổ sung thêm yêu cầu: “ in lên màn
hình khoảng cách của trại xa với trại của hiệu
tr-ởng nhất
Hoạt động 2: Ví dụ 2
Hoạt động 2.1 tìm hiểu bài toán
GV: nhắc lại công thức tính điện trở tơng đơng
của 2 điện trở mắc nối tiếp và của 2 điện trở mắc
song song
GV: Chuẩn hoá để đạt đựơc công thức chính xác
Hoạt động 2.2 Xây dựng chơng trình
GV: Gọi từng HS xây dựng chơng trình theo từng
bứơc một:
+ Khai báa
+Gán tên tệp cho biến
+ Đọc dữ liệu từ tệp
+Tính các điện trở tơng đơng
+Ghi vào tệp
+ Đóng tệp
GV: Chính xác và tối u hóa chơng trình
HS: tìm hiểu chơng trình
Quan sát kết quả khi chạy chơng trình
HS: Tìm hiểu bài toán Các nhóm xây dựng công thức tính
điện trở tơng đơng của 5 trờng hợp theo hình vẽ
HS: Suy nghĩ và trả lời câu hỏi theo yêu cầu của GV
V củng cố
- Các thao tác làm việc với tệp đặc biệt là thao tác đọc và ghi tệp
VI btvn
- Bài 7.36 và 7.43 SBT trang 74 và 78
Rút kinh nghiệm sau giờ dạy Kiểm tra của tổ trởng chuyên môn
Yên dũng, ngày tháng … …… năm 2010 Bài soạn số 38
thực hành
I mục tiêu
1 Kiến thức
- Sử dụng các hàm và thủ tục đã học để viết các chơng trình đơn giản
2 Kỹ năng
Thành thạo các kiến thức cơ bản dữ liệu kiểu tệp tin
3 Thái độ
Rèn luyện kỹ năng t duy thuật toán
4 T duy
Logic, linh hoạt, mạch lạc
5 Trọng tâm
- Dạng bài tập đếm ký tự trong tệp
Trang 10- Dạng bài tập kiểm tra thao tác vào/ ra file trên đĩa.
II chuẩn bị của GV và hs
1 chuẩn bị của GV
- Giáa án, sgk
- đồ dùng dạy học
2 Chuẩn bị của HS
- SGK, vở ghi, SBT
- Đồ dùng học tập
III Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, giảng giải, gợi ý, nêu vấn đề, giải quyết vấn đề.
2 Phơng tiện: Máy chiếu, máy tính, phông chiếu hoặc bảng.
IV tiến trình bài giảng
Bài 1: Viết chơng trình đếm số lần xuất
hiện của từng loại ký tự từ ‘A’ tới ‘Z’ chứa
trong tệp văn bản F
Chơng trình:
Var dem:array[ A Z ] of integer;‘ ’ ’ ’
Ch: char;
F: text;
Name: string[30];
St: string[255];
BEGIN
Clrscr;
For ch:= A to Z do dem[ch]=0;‘ ’ ‘ ’
Write( Ten van ban can dem chu );‘ ’
Readln(name);
Assign(F, Name);
{$I+};
If IOResult< > 0 then halt;
While not EOF (F) do
Begin
Readln(F, st);
For i:= 1 to length(st) do
Begin
Ch:=upcase(ch);
if ch in[ A Z ] then dem[ch]:= dem[ch]‘ ’ ’ ’
+1;
end;
end;
for ch:= A to Z do‘ ’ ‘ ’
if dem[ch] <> then writeln(ch, = ,’ ’
dem[ch]);
close(F);
end.
Bài 2: Trong khi mở file mới để ghi, nếu
trên đĩa có sẵn File cùng tên thì file trên đĩa
sẽ bị xoá đè lên Hãy tìm cách phát hiện ra
sự tồn tại của File trên đĩa và hỏi đáp xem
GV: chiếu phần đề bài lên máy chiếu Yêu cầu HS phân tích đề bài
GV: ý tởng ( cách giải):Đọc từng dòng của File F vào xâu ký tự st
HS: Lắng nghe, suy nghĩ GV: yêu cầu HS viết chơng trình
GV: chấm bài của 1 vài HS để đánh giá
GV: Chiếu đề lên máy chiếu HS: Quan sát đề và suy nghĩ GV: Gợi ý:Mỗi khi mở fkile để ghi cũng nh thao tác khác trên file, cần