Giáo án Tin học 11 - Tiết 20 đến tiết 39

Giáo án Tin học 11 - Tiết 20 đến tiết 39

I. MỤC TIÊU

1. Kiến thức

 - Biết được một kiểu dữ liệu mới là kiểu mảng một chiều. Biết được một loại biến có chỉ số.

 - Biết cấu trúc tạo kiểu mảng một chiều và cách khai báo biến khiểu mảng một chiều.

2. Kĩ năng

 - Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể.

3. Thái độ

- Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tich cực, chủ động và sáng tạo trong tìm kiếm kiến thức.

 

doc 62 trang Người đăng quocviet Lượt xem 1844Lượt tải 2 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 11 - Tiết 20 đến tiết 39", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn : 25/01/2010
Ngày dạy : 04/01/2010
Tiết :20
CHƯƠNG IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG (TIẾT 1)
I. MỤC TIÊU
1. Kiến thức
	- Biết được một kiểu dữ liệu mới là kiểu mảng một chiều. Biết được một loại biến có chỉ số.
	- Biết cấu trúc tạo kiểu mảng một chiều và cách khai báo biến khiểu mảng một chiều.
2. Kĩ năng
	- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể.
3. Thái độ
- Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tich cực, chủ động và sáng tạo trong tìm kiếm kiến thức.
II. ĐỒ DÙNG DẠY HỌC
	- Giáo án, SGK, SGV,...
2. Chuẩn bị của học sinh
	- Sách giáo khoa, vở ghi.
3. Nội dung ghi bảng
1. Kiểu mảng một chiều
VD: SGK_53
Chương trình minh họa:
Program nhietdotuan;
Var t1,t2,t3,t4,t5,t6,t7,tb:real;
	dem:integer;
Begin
	Write(‘Nhap vao nhiet do 7 ngay: ’); readln(t1,t2,t3,t4,t5,t6,t7);
	tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
	dem:=0;
	if t1>tb then dem:=dem+1;
	if t2>tb then dem:=dem+1;
	if t3>tb then dem:=dem+1;
	if t4>tb then dem:=dem+1;
	if t5>tb then dem:=dem+1;
if t6>tb then dem:=dem+1;
	if t7>tb then dem:=dem+1;
	writeln(‘Nhiet do trung binh tuan ’,tb);
	writeln(‘So ngay nhiet do trung binh cao hon nhiet do trung binh tuan’,dem);
	readln;
end.
Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số.
Để mô tả mảng một chiều cần xác định được kiểu của các phần tử và cách đánh số các phần tử của nó.
Khai báo
TYPE tên_km= Array[kiểu_cs] Of kiểu_thành_phần;
Kiểu chii số thường là kiểu số nguyên (hoặc đoạn kí tự) liên tục, có dạng n1..n2 với n1 và n2 là các biểu thức nguyên (hoặc kí tự) xác ddingj chỉ số đầu và chỉ số cuối của mảng.
Kiểu thành phần: Là kiểu dữ liệu chung của mọi phần tử trong mảng.
Khai báo biến mảng 1 chiều: Var Tên_biến: Tên_kiểu_mảng;
Tham chiếu đến từng phần tử: Tên_biến[chỉ số];
III. HOẠT ĐỘNG DẠY-HỌC
Ổn định tổ chức
Kiểm tra sĩ số:
Lớp - Sĩ số
Ngày dạy
Vắng
Tên HS vắng
11A1 – 39
....../....../ 2010
11A2 – 41
....../....../ 2010
11A3 – 44
....../....../ 2010
11A4 – 49
....../....../ 2010
11A5 – 50
....../....../ 2010
11A6 – 47
....../....../ 2010
11A7 – 44
....../....../ 2010
11A8 – 46
....../....../ 2010
11A9 – 47
....../....../ 2010
11A10 – 51
....../....../ 2010
11A11 – 41
....../....../ 2010
2. Kiểm tra bài cũ
- Lồng vào bài.
3. Bài mới.
Hoạt động 1: Tìm hiểu ý nghĩa của mảng một chiều.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Nêu đề bài và chương trình ví dụ lên bảng.
- Hỏi: Khi N lớn thì chương trình trên có những hạn chế như thế nào?
- Dẫn dắt: Để khắc phục những hạn chế trên, người ta thường ghép chung 7 biến trên thành một dãy và đặt cho nó chung một tên và đánh cho một phần tử một chỉ số.
2. Yêu cầu học sinh tham khảo sách giáo khoa và hỏi: Em hiểu như thế nào về mảng một chiều?
- Hỏi: Để mô tả mảng một chiều, ta cần xác định những yếu tố nào?
1. Quan sát trên bảng, suy nghĩ và trả lời.
- Phải khai báo quá nhiều biến. Chương trình phải viết rất dài. 
2. Nghiên cứu sách giáo khoa để trả lời.
- Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số.
- Để mô tả mảng một chiều cần xác định được kiểu của các phần tử và cách đánh số các phần tử của nó.
Hoạt động 2: Tạo kiểu mảng một chiều và khai báo biến mảng.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cách tạo kiểu dữ liệu mảng một chiều trong ngôn ngữ lập trình Pascal.
- Tìm một ví dụ để minh họa.
- Gọi học sinh khác, hỏi: Ý nghĩa của lệnh bạn vừa viết?
- Chiếu lên bảng một số khai báo kiểu mảng một chiều
Type
Arrayr=array[1..200] of real;
Arrayr=array[byte] of real;
Arrayb=array[-100..0] of boolean;
- Hỏi: Những khai báo nào đúng?
2. Yêu cầu học sinh cho biết cách khai báo biến và một ví dụ khai báo một biến mảng ứng với kiểu dữ liệu vừa tạo.
- Gọi học sinh khác, hỏi: Ý nghĩa của lệnh bạn vừa viết?
- Dung lượng bộ nhớ của biến a đã chiếm là bao nhiêu?
- Chú ý cho học sinh về cách đặt tên kiểu dữ liệu và tên biến, tránh nhầm lẫn.
3. Giới thiệu cách tham chiếu đến từng phần tử của mảng một chiều. Yêu cầu học sinh lấy một ví dụ.
1. Tham khảo sách giáo khoa và trả lời
- TYPE tên_km= Array[kiểu_cs] Of kiểu_thành_phần;
- Ví dụ: Type mmc=array[1..100] of integer;
- Tạo một kiểu dữ liệu mới có tên mmc, gồm 100 phần tử, có kiểu nguyên.
- Quan sát bảng và chọn khai báo đúng.
Arrayr=array[1..200] of real;
Arrayb=array[-100..0] of boolean;
2. Tham khảo sách giáo khoa và trả lời
- VAR tên_biến:tên_km;
- Ví dụ: Var a:mmc;
- Khai báo một biến mảng một chiều. 
- a đã chiếm 200 byte trong bộ nhớ.
3. Theo dõi hướng dẫn của giáo viên và độc lập suy nghĩ để trả lời.
a[1] là phần tử ở vị trí 1 của mảng a.
a[i] là phần tử ở vị trí i của mảng a.
4. Củng cố và dặn dò
- Cách tạo kiểu mảng một chiều và cách khai báo biến.
	TYPE tên_kiểu_mảng = Array[kiểu_chỉ_số] Of kiểu_thành_phần;
	VAR tên_biến:tên_kiểu_mảng;
- Tham chiếu đến từng phần tử: Tên_biến[chỉ số]
	- Trả lời các câu hỏi 1-4 trang 79.
	- Đọc trước nội dung về kiểu mảng một chiều phần b.
IV. RÚT KINH NGHIỆM TIẾT DẠY
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
Tổ trưởng duyệt
Ngày tháng 1 năm 2010
Phạm Anh Quý
Giáo viên soạn
( Chữ ký, Họ tên)
Giáp Văn Khiêm
Ngày soạn : 25/01/2010
Ngày dạy : 06/01/2010
Tiết :21
§11. KIỂU MẢNG (TIẾT 2)
I. MỤC TIÊU: 
1. Kiến thức: 
Học sinh sau tiết học sẽ: 
Nắm được khái niệm mảng 1 chiều
Hiểu cách khai báo và truy cập đến các phần tử của mảng 
2. Kỹ năng: 
Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều
Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng
3. Thái độ:
Có tư duy đúng đắn trong việc áp dụng mảng 1 chiều để giải các bài toán đơn giản
Tạo lòng ham muốn giải được một số bài tập tính toán đơn giản bằng ngôn ngữ Pascal
II. ĐỒ DÙNG DẠY HỌC 
1. Giáo viên: 
Sách giáo viên, giáo án, SGK,....
2. Học sinh: 
Vở ghi, SGK
III. PHƯƠNG PHÁP: 
	Phương pháp thuyết trình, vấn đáp, kết hợp tạo tình huống có vấn đề 
IV. HOẠT ĐỘNG DẠY HỌC
Ổn định tổ chức
Kiểm tra sĩ số:
Lớp - Sĩ số
Ngày dạy
Vắng
Tên HS vắng
11A1 – 39
....../....../ 2010
11A2 – 41
....../....../ 2010
11A3 – 44
....../....../ 2010
11A4 – 49
....../....../ 2010
11A5 – 50
....../....../ 2010
11A6 – 47
....../....../ 2010
11A7 – 44
....../....../ 2010
11A8 – 46
....../....../ 2010
11A9 – 47
....../....../ 2010
11A10 – 51
....../....../ 2010
11A11 – 41
....../....../ 2010
2. Kiểm tra bài cũ
Mảng một chiều là gì? 
Khai báo cho bài toán sau: Cho dãy A gồm n phần tử có giá trị nguyên dương. Sau đó đếm và đưa ra có bao nhiêu số chẵn, bao nhiêu số lẻ trong dãy.
3. Bài mới.
Hoạt động 1: Trình bày ví dụ 1 SGK trang 56.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
Nêu nội dung bài toán ví dụ 1.
Trình bày Input và Output của bài toán.
* Ý tưởng của thuật toán
Đặt số A1 là số lớn nhất (max).
Cho i lặp từ 2 đến N, nếu A[i]> A[1] thì đổi max = A[i] và lưu lại vị trí i.
* Thuật toán:
 B1: Nhập N và dãy A1, A2,, AN;
 B2: Max←A1; i←2;
 B3: Nếu i>N thì đưa ra Max rồi kết thúc;
 B4:
 B4.1: Nếu Ai>Max thì Max← Ai;
 B4.2: i←i+1 rồi quay lại bước 3.
Biến i dùng để làm gì?
Ý nghĩa của bước 3.
Có sử dụng vòng lặp không?
Khi nào thì vòng lặp dừng lại?
* Chương trình như sau :
Program timmax ;
Uses crt ;
var a : array[1..250] of integer ;
 n,i,max,csmax : Integer ;
Begin
 clrscr ;
 Write('Nhap n = ') ;
 Readln(n) ;
 For i := 1 to n do
 Begin
 Write('a[',i,'] = ') ;
 readln(a[i]) ;
 End ;
 max := a[i] ;
 csmax := 1 ;
 For i := 2 to n do
 If a[i] > max then
 Begin
 max := a[i] ;
 csmax :=i ;
 End ;
 Writeln('Gia tri lon nhat : ',max) ;
 Writeln('chi so ptu lon nhat : ',csmax) ;
 Readln ;
 End .
Cho HS chạy thử thuật toán với bộ dữ liệu: 5 1 7 6 3 15 8 4
Input : Số nguyên dương N và dãy số A1, A2, .., AN
Output : Chỉ số và giá trị của số lớn nhất trong dãy 
Để thực hiện lần lượt từng phần tử từ vị trí thứ 2 đến vị trí thứ n.
Để kết thúc thuật toán sau khi đã duyệt xong (Tính dừng của thuật toán).
Có.
Khi i=N+1 thì vòng lặp sẽ dừng lại.
Hoạt động 2: trình bày ví dụ 3 trong SGK trang 58.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
Ví dụ 3 : Tìm kiếm nhị phân .
Gọi HS xác định Input và Output của bài toán?
* Thuật toán:
Bước 1: Nhập N, các số hạng A1, A2, , AN, và khóa k;
Bước 2: Dau ß 1; Cuoi ß N;
Bước 3: 
Bước 4: Nếu AGiua = k thì thông báo chỉ số Giua, rồi kết thúc;
Bước 5: Nếu AGiua > k thì đặt Cuoi = Giua – 1 rồi chuyển đến bước 7;
Bước 6: Dau ß Giua + 1;
Bước 7: Nếu Dau > Cuoi thì thông báo dãy A không có số hạng có giá trị bằng k, rồi kết thúc;
Bước 8: Quay lại bước 3.
Gọi HS lên bảng viết phần khai báo và nhập dữ liệu cho bài toán?
Chương trình như sau : 
 dau := 1 ; cuoi := n ;
 TK := false ;
 while (dau <= cuoi) and Not TK Do
 Begin
 giua := (dau+cuoi) div 2 ;
 If A[giua] = k then TK := true
 Else
 If a[giua]>k then cuoi := giua - 1
 Else dau := giua + 1 ;
 End ;
Sau khi đã tìm ra được số cần tìm kết quả đã được hiện thị trên màn hình chưa?
Cho một bộ dữ liệu cụ thể và yêu cầu HS chạy chương trình với bộ dữ liệu đó.
Input: Dãy A là dãy tăng gồm N số nguyên dương A1, A2, , AN, số nguyên k.
Output: Chỉ số i mà Ai = k hoặc thông báo “Khong tim thay” nếu không có số hạng nào của dãy A có giá trị bằng k.
Program sapxep ;
Uses crt ;
var A : Array[1..250] of integer ;
 n,i,k : Integer ;
 dau,cuoi,giua : Integer ;
 TK : boolean ;
Begin
 clrscr ;
 Write('Nhap so ptu mang n = ') ;
 Readln(n) ;
 For i := 1 to n do
 Begin
 Write('A[',i,'] = ') ;
 readln(A[i]) ;
 End ;
 Write('nhap so can tim k : ') ;
 Readln(k);
Kết quả chưa hiển thị được trên màn hình, ta phải dùng thủ tục để đưa dữ liệu đó ra màn hình
If TK then write('Chi so la : ',giua)
 else write(' Khong tim thay ');
 readln ;
End .
4. Củng cố và dặn dò
- Thuật toán tráo đổi giá trị của hai phần tử, sử dụng biến trung gian để lưu giá trị tạm thời.
- Đối với thuật toán tìm kiếm nhị phân, mảng phải được sắp xếp có thứ tự (dãy tăng hoặc dãy giảm).
- Về nhà làm các bài tập 5,6 SGK_79 và chuẩn bị ví dụ 2 SGK_57.
V. RÚT KINH NGHIỆM TIẾT DẠY
.................................................................................................................................. ... ông qua ví dụ.
2. Kĩ năng:
	- Sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập. 
II. ĐỒ DÙNG DẠY HỌC
1. Chuẩn bị của giáo viên
	-Giáo án, SGK,...
2. Chuẩn bị của học sinh
	- Sách giáo khoa, vở ghi.
III. PHƯƠNG PHÁP
	- Thuyết trình, vấn đáp,
IV. HOẠT ĐỘNG DẠY-HỌC
Ổn định tổ chức
Kiểm tra sĩ số:
Lớp - Sĩ số
Ngày dạy
Vắng
Tên HS vắng
11A1 – 39
....../....../ 2010
11A2 – 41
....../....../ 2010
11A3 – 44
....../....../ 2010
11A4 – 49
....../....../ 2010
11A5 – 50
....../....../ 2010
11A6 – 47
....../....../ 2010
11A7 – 44
....../....../ 2010
11A8 – 46
....../....../ 2010
11A9 – 47
....../....../ 2010
11A10 – 51
....../....../ 2010
11A11 – 41
....../....../ 2010
Kiểm tra bài cũ
- Lồng vào bài.
Bài mới
Hoạt động 1: Ôn tập kiến thức lý thuyết.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Gợi ý để học sinh nhớ lại các kiến thức đã học về kiểu tệp.
- Hỏi: Cách khai báo biến kiểu tệp?
- Hỏi: Có các thủ tục cơ bản nào khi làm việc với tệp?
- Hỏi: Hàm và thủ tục nào liên quan khi xử lý tệp?
2. Giới thiệu bảng tổng hợp các hàm và thủ tục lên bảng, xem như đây là tổng kết kiến thức liên quan.
1. Theo dõi dẫn dắt của giáo viên và trả lời.
- Var : Text;
- Assign(,);
- Rewrite();
- Reset();
- Close();
- Read/Readln(, 
 );
- Write/Writeln(, 
 );
- Eof()
- Seek(,);
2. Quan sát bảng tổng hợp và ghi nhớ.
Hoạt động 2: Tìm hiểu chương trình ví dụ.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Tìm hiểu ví dụ 1.
- Giới thiệu nội dung đề bài.
- Gợi ý để học sinh tìm hiểu chương trình.
- Hỏi: Hàm Eof(f) có chức năng gì?
- Có thể sử dụng cấu trúc For thay cho While được không?
- Chương trình này thực hiện công việc gì?
- Thực hiện chương trình để học sinh thấy được kết quả. 
2. Tìm hiểu chương trình của ví dụ 2.
- Giới thiệu đề bài 
- Mô phỏng kết nối các điện trở, hình 17, trang 88, sách giáo khoa.
- Hỏi: Công thức tính điện trở của sơ đồ II, III, IV.
- Chiếu chương trình ví dụ lên bảng.
- Hỏi: Mảng a dùng để lưu giữ giá trị nào?
- Cho một file dữ liệu vào gồm 2 dòng. Yêu cầu học sinh tính kết quả.
- Thực hiện chương trình đọc file dữ liệu vào trên để học sinh đối chiếu kết quả.
1. Theo dõi và quan sát đề bài và chương trình gợi ý.
- Hàm cho giá trị True nếu con trỏ tệp định vị ở vị trí kết thúc tệp.
- Không. Vì không biết số lượng phần tử của tệp.
- Tính và đưa ra màn hình khoảng cách từ trại của thầy hiệu trưởng đến trại của mỗi giáo viên.
2. Quan sát nội dung đề bài, quan sát tranh mô phỏng kết nối các điện trở và các yêu cầu.
- Dùng để lưu giữ điện trở tương đương của 3 điện trở theo 5 cách ghép nối như trong sơ đồ.
- Tính kết quả của 5 điện trở tương đương.
- Quan sát kết quả của chương trình và so sánh với kết quả tính đương
- Nhận xét về tính chính xác và thời gian thực hiện của chương trình.
Hoạt động 3: Rèn luyện kĩ năng lập trình.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Ra đề bài. Yêu cầu học sinh tự viết chương trình, chạy thử và báo cáo kết quả.
2. Quan sát, theo dõi việc lập trình của từng học sinh, có thể gợi ý cho một số em còn yếu.
3. Yêu cầu học sinh cùng thực hiện chương trình với bộ test giáo viên đã chuẩn bị. Thông báo kết quả mà chương trình tìm được. Xác nhận kết quả đúng.
1. Theo dõi đề bài, định hướng dữ liệu vào, ra và thuật toán.
2. Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả cho giáo viên.
3. Nhập dữ liệu theo yêu cầu.
4. Củng cố và dặn dò
- Các thao tác xử lý tệp:
	+ Gán tên tệp.
+ Mở tệp.
+ Tạo tệp mới.
	+ Đọc/ghi thông tin của tệp.
	+ Đóng tệp.
- Hàm và thủ tục liên quan
	+ Hàm EOF(tên_biến_tệp)
Đọc trước nội dung bài: Chương trình con và phân loại, Cách viết và sử dụng thủ tục.
V. RÚT KINH NGHIỆM TIẾT DẠY
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
Tổ trưởng duyệt
Ngày tháng 3 năm 2010
Phạm Anh Quý
Giáo viên soạn
( Chữ ký, Họ tên)
Giáp Văn Khiêm
Ngày soạn : 18/3/2010
Ngày dạy : 22/3/2010
Tiết : 37
BÀI TẬP VÀ THỰC HÀNH
I. MỤC TIÊU
1. Kiến thức:
	- Củng cố lại kiến thức đã học về tệp trong chương 5 thông qua ví dụ.
2. Kĩ năng:
	- Sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập. 
3. Thái độ:
	- Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tich cực, chủ động và sáng tạo trong tìm kiếm kiến thức.
- Tích cực, chủ động trong thực hành.
II. ĐỒ DÙNG DẠY HỌC
1. Chuẩn bị của giáo viên
	-Giáo án, SGK,...
2. Chuẩn bị của học sinh
	- Sách giáo khoa, vở ghi.
III. PHƯƠNG PHÁP
	- Thuyết trình, vấn đáp, trực quan
IV. HOẠT ĐỘNG DẠY-HỌC
Ổn định tổ chức
Kiểm tra sĩ số:
Lớp - Sĩ số
Ngày dạy
Vắng
Tên HS vắng
11A1 – 39
....../....../ 2010
11A2 – 41
....../....../ 2010
11A3 – 44
....../....../ 2010
11A4 – 49
....../....../ 2010
11A5 – 50
....../....../ 2010
11A6 – 47
....../....../ 2010
11A7 – 44
....../....../ 2010
11A8 – 46
....../....../ 2010
11A9 – 47
....../....../ 2010
11A10 – 51
....../....../ 2010
11A11 – 41
....../....../ 2010
Kiểm tra bài cũ
- Lồng vào bài.
Bài mới
Hoạt động 1: Viết chương trình cho bài toán ví dụ 1.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Yêu cầu học sinh hoàn thiện chương trình của bài toán ví dụ 1 trên máy.
- Quan sát học sinh làm bài trên máy và hỗ trợ một số học sinh yếu.
- Yêu cầu học sinh chạy thử chương trình.
2. Từ chương trình của bài toán ví dụ 1:
? Em hãy nêu lại các bước để thực hiện chương trình trên?
? Khi chạy chương trình thì kết quả bài toán được hiển thị ở đâu? 
? Nếu ta muốn lưu kết quả đó vào một tệp khác thì phải làm thế nào? Hãy thể hiện lại câu lệnh đó trong chương trình?
Yêu cầu học sinh hoàn thiện bài tập trên máy.
*. Trước khi chạy được chương trình trên máy ta phải tạo ra một tệp ‘TRAI.TXT’ trên máy chứa dữ liệu vào.
1. Học sinh thực hiện.
2. 
- Các bước thực hiện:
Khai báo
Gắn tên tệp
Mở tệp theo lối đọc dữ liệu
Tính và đưa dữ liệu ra màn hình.
Đóng tệp.
- Kết quả được hiển thị tại màn hình.
- Phải tạo ra một tệp mới để lưu kết quả vào đó.
Var f1,f2: text;
 x,y: integer;
 d: real;
Begin
 Assign(f1, ‘TRAI.TXT’);
 reset(f1);
 Assign(f2);
 rewrite(f2, ‘KETQUA.TXT’);
 while not eof(f1) do
 begin
 read(f1,x,y);
 d:=sqrt(x*x+y*y);
 writeln(f2,d);
 end;
 close(f1); Close(f2);
 readln;
end.
Hoạt động 3: Rèn luyện kĩ năng lập trình .
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Ra đề bài. Yêu cầu học sinh viết chương trình cho bài toán ví dụ 2.
2. Quan sát, theo dõi việc lập trình của từng học sinh, có thể gợi ý cho một số em còn yếu.
3. Yêu cầu học sinh cùng thực hiện chương trình với bộ test giáo viên đã chuẩn bị. Thông báo kết quả mà chương trình tìm được. Xác nhận kết quả đúng.
1. Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả cho giáo viên.
2. Học sinh làm bài theo sự hướng dẫn của giáo viên.
3. Chạy chương trình với bộ test có sẵn.
4. Củng cố và dặn dò
Sửa các lỗi mà học sinh thường mắc phải.
Về nhà làm các bài tập trong sách giáo khoa.
BTVN: Bài 7.36 SBT_73.
V. RÚT KINH NGHIỆM TIẾT DẠY
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
Tổ trưởng duyệt
Ngày tháng 3 năm 2010
Phạm Anh Quý
Giáo viên soạn
( Chữ ký, Họ tên)
Giáp Văn Khiêm
Ngày soạn : 18/3/2010
Ngày dạy : 23/3/2010
Tiết : 39
BÀI TẬP
I. MỤC TIÊU
1. Kiến thức:
	- Củng cố lại kiến thức đã học về tệp trong chương 5 thông qua ví dụ.
2. Kĩ năng:
	- Sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập. 
3. Thái độ:
- Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tich cực, chủ động và sáng tạo trong tìm kiếm kiến thức.
II. ĐỒ DÙNG DẠY HỌC
1. Chuẩn bị của giáo viên
	-Giáo án, SGK,...
2. Chuẩn bị của học sinh
	- Sách giáo khoa, vở ghi.
III. PHƯƠNG PHÁP
	- Thuyết trình, vấn đáp,
IV. HOẠT ĐỘNG DẠY-HỌC
Ổn định tổ chức
Kiểm tra sĩ số:
Lớp - Sĩ số
Ngày dạy
Vắng
Tên HS vắng
11A1 – 39
....../....../ 2010
11A2 – 41
....../....../ 2010
11A3 – 44
....../....../ 2010
11A4 – 49
....../....../ 2010
11A5 – 50
....../....../ 2010
11A6 – 47
....../....../ 2010
11A7 – 44
....../....../ 2010
11A8 – 46
....../....../ 2010
11A9 – 47
....../....../ 2010
11A10 – 51
....../....../ 2010
11A11 – 41
....../....../ 2010
Kiểm tra bài cũ
- Lồng vào bài.
Bài mới
Hoạt động 1: Giới thiệu các kiến thức trọng tâm trong chương I.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
1. Đặc điểm của kiểu dữ liệu tệp?
2. Có mấy loại tệp?
3. Các thao tác với dữ liệu kiểu tệp?
1.
- Không mất thông tin khi tắt máy.
- Dung lượng dữ liệu được lưu trữ lớn.
2. Có hai loại kiểu tệp: tệp có cấu trúc và tệp văn bản.
+ Tệp có cấu trúc là loại tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định
+ Tệp văn bản: là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII.
Assign(,
Reset()
Rewrite()
Read(,
)
Write(,)
Close()
3. 
Hoạt động 2: Giải các bài tập.
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
Yêu cầu học sinh lên bảng làm bài tập 1,2,3,4 trong SGK_89.
Hướng dẫn học sinh làm bài tập: Xét chương trình nhập vào từ bàn phím 10 số nguyên và ghi ra tệp văn bản SOLIEU.DAT dưới dạng mỗi số nguyên một dòng
Program C7B36;
Var a:integer;
f:text;
i:byte;
begin
assign(f, ‘SOLIEU.DAT’);
rewrite(f);
for i:= 1 to 10 do 
begin
write(‘ Nhap so thu’, i);
readln(a);
write(f,a);
end;
close(f);
end.
Đây là một chương trình đúng về cú pháp, nhưng sai về ngữ nghĩa! Lỗi nằm ở trong câu lệnh nào? Hãy chỉ ra cách sửa.
 HS lên bảng làm các bài tập
HS suy nghĩ trả lời câu hỏi.
4. Củng cố và dặn dò
- Cấu trúc của một chương trình gồm mấy phần? Trong đó phần nào quan trọng nhất?
- Viết một chương trình đơn giản không chứa phần khai báo?
- Về nhà học bài và đọc trước bài 4,5.
IV. RÚT KINH NGHIỆM TIẾT DẠY
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
Tổ trưởng duyệt
Ngày tháng 3 năm 2010
Phạm Anh Quý
Giáo viên soạn
( Chữ ký, Họ tên)
Giáp Văn Khiêm

Tài liệu đính kèm:

  • docGA11HKII.doc