Giáo án Tin học 11

Giáo án Tin học 11

I. Mục đích, yêu cầu.

 Hiểu được khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ.

 Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được thông dịch và biên dịch.

 Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp, ngữ nghĩa.

 Hiểu và phân biệt được các thành phần này

II. Lên lớp

1. Ổn định tình hình lớp.

 Giới thiệu làm quen với HS của lớp.

 Tạo tâm lý và quan hệ tốt với HS trước khi bắt đầu tiết học đầu tiên

 

doc 70 trang Người đăng minh_thuy Lượt xem 1423Lượt tải 0 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH 
VÀ NGÔN NGỮ LẬP TRÌNH
Tuần:1
Tiết 1: 	KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
	CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I. Mục đích, yêu cầu.
Hiểu được khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ.
Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được thông dịch và biên dịch.
Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp, ngữ nghĩa. 
Hiểu và phân biệt được các thành phần này
II. Lên lớp
1. Ổn định tình hình lớp.
Giới thiệu làm quen với HS của lớp.
Tạo tâm lý và quan hệ tốt với HS trước khi bắt đầu tiết học đầu tiên
2. Bài mới
T/g
Hđ của GV
Hđ của HS
Nd ghi bảng
2’
ĐVĐ: Về lập trình các em chỉ mới được tìm hiểu qua bài các bước để giải bài toán trên máy tính chúng ta chưa có khái niệm cụ thể. Còn ngôn ngữ lập trình chúng ta cũng đã tìm hiểu tất cả ở lớp 10.
H: Vậy có những loại ngôn ngữ lập trình nào?
H: Hãy phân biệt ngôn ngữ bậc cao với các loại ngôn ngữ khác?
Phân biệt ngôn ngữ bậc cao: chương trình viết bằng ngôn ngữ bậc cao ko phụ thuộc vào loại máy và phải dùng chương trình dịch để chuyển về ngôn ngữ máy.
H: Tóm lại ngôn ngữ lập trình dùng để làm gì?
Dẫn dắt: Vậy lập trình là gì? Chúng ta tìm hiểu k/n này.
Ghi bảng
Giải thích thêm về câu lệnh:
- Câu lệnh để diễn tả các thao tác trong các bước của t/toán.
- Câu lệnh đơn thực hiện bước có 1 thao tác
- Câu lệnh ghép thực hiện bước gồm dãy các thao tác.
Dẫn dắt: Chương trình viết bằng ngôn ngữ máy sẽ thực hiện được ngay, còn chương trình viết bằng ngôn ngữ bậc cao thì phải chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được. Công cụ thực hiện chuyển đổi đó gọi là chương trình dịch.
H: Input, Output của chương trình dịch là gì? ( Có thể cho điểm miệng Hs trả lời đúng )
H: nhiệm vụ quan trọng nhất của chương trình dịch là gì?
* Phân biệt Thông dịch và Biên dịch
Phân tích Ví dụ Sgk
ĐVĐ sang bài mới: Để có thể sử dụng một ngôn ngữ lập trình nào đó thì trước hết chúng ta phải biết các thành phần cơ bản có trong nó là gì? 
Có ba thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp, ngữ nghĩa.
Trước hết chúng ta tìm hiểu bảng chữ cái. Treo bảng chữ cái
* So sánh bảng chữ cái của ngôn ngữ lập trình với bảng chữ cái của ng2 tự nhiên
Về cú pháp: 
Về ngữ nghĩa:
Trong từng ngữ cảnh khác nhau, ngữ nghĩa của 1 tổ hợp kí tự là khác nhau
Ví dụ: Sgk
* Tóm lại
+ Phân biệt giữa cú pháp và ngữ nghĩa
+ Lỗi cú pháp
+ Lỗi ngữ nghĩa 
Ví dụ: 
Xem thử 3 cách mô tả cách nào đúng.
H: Lỗi ngữ nghĩa thường được phát hiện khi nào?
Tl: Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao.
Tl: (1-2 hs) 
Tl: Lập trình
Ghi bài
Nghe giảng và tự ghi chép
Tl: In: chương trình viết bằng ngôn ngữ bậc cao
Out: chương trình trên ngôn ngữ máy.
Tl: (2-3Hs) phát hiện lỗi cú pháp của chương trình nguồn
Tìm hiểu ví dụ Sgk 
Cách1:
If a2+b2>1 then
 if a>b then s=a+b Else s =1;
(* a2+b2<1 thì s =? *)
Cách2:
If a2+b2>1 then
 begin
 if a>b then s=a+b 
 end
Else s =1;
(* a<b thì s =? *)
Cách 3:
If a2+b2>1 and a>b then s=a+b 
 Else s=1 
Tl: Khi thực hiện kiểm thử chương trình.
KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
1. Khái niệm lập trình
(Sgk)
Ý nghĩa: tạo ra các chương trình giải được bài toán trên MT.
2. Chương trình dịch
a. Khái niệm: Sgk
b. Phân loại:
Có 2 loại
- Thông dịch: lần lượt dịch và thực hiện từng câu lệnh.
- Biên dịch: dịch toàn bộ chương trình rồi mới thực hiện và được lưu trữ để sử dụng lại lần sau.
CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
1. Các thành phần cơ bản
- Bảng chữ cái
- Cú pháp: bộ qui tắc để viết chương trình
- Ngữ nghĩa
3. Củng cố:
Ba lớp của ngôn ngữ lập trình và các mức của nó.
Vai trò của chương trình dịch
Khái niệm biên dịch và thông dịch
Lỗi cú pháp, lỗi ngữ nghĩa
4. Về nhà: 
Đọc Bài đọc thêm 1 để tìm hiểu sơ về 1 số ngôn ngữ lập trình
Soạn trước phần còn lại của bài 2. Trong đó chú ý các khái niệm mới: tên, hằng, biến. Cách sử dụng nó trong lập trình 
Tuần:1	
Tiết 2: 	CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I. MỤC TIÊU
1. Kiến thức
Biết được một số khái niệm như: tên, tên chuẩn, tên dành riêng, tên do người dùng đặt, hằng biến chú thích
2. Kĩ năng
Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt
Nhớ các qui định về tên hằng biến
Biết đặt tên đúng, nhận biết được tên sai qui định
Sử dụng đúng chú thích
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên
Bảng chứa các tên đúng –sai để Hs chọn, bảng con, bút dạ.
2. Học sinh
Sách giáo khoa
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (7 phút) Kiểm tra bài cũ
Hđ của GV
Hđ của HS
H1: Hãy phân biệt chương trình thông dịch và biên dịch?
H2: NNLT có những thành phần nào? Lỗi cú pháp và lỗi ngữ nghĩa được phát hiện bằng gì?
Nhận xét, đánh giá cho điểm 3 Hs
Hs1: trình bày trên bảng. 
Hs2: trả lời trước lớp
Hs3: nhận xét câu trả lời của Hs1
2. Hoạt động 2: (18 phút) Tìm hiểu khái niệm tên trong thành phần của ngôn ngữ lập trình.
a. Mục tiêu:
Hs biết và phân biệt được 1 số loại tên: tên dành riêng, tên chuẩn, tên tự đặt.
b. Nội dung:
Mọi đối tượng trong chương trình đếu phải được đặt tên theo một qui tắc của NNLT và từng chương trình dịch cụ thể.
Tên dành riêng (từ khóa): là những tên được NNLT qui định dùng với ý nghĩa xác định, người lập trình ko được dùng với ý nghĩa khác
Tên chuẩn: là những tên được NNLT qui định dùng với ý nghĩa nào đó, người lập trình có thể định nghĩa lại để dùng với ý nghĩa khác.
Tên do người dùng đặt: là tên được dùng theo ý nghĩa riêng của người lập trình, phải được khai báo trước khi sử dụng và không được trùng với từ khóa.
c. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
ĐVĐ: Mọi đối tượng trong chương trình đếu phải được đặt tên 
1. Nghiên cứu Sgk nêu qui tắc đặt tên trong Turbo Pascal?
2. Chọn các tên đúng trong bảng sau:
A _24 
A_BC A BC 
5ad A5d
C#BC
Khẳng định lại các tên đúng
3. Yêu cầu Hs nghiên cứu Sgk để biết các khái niệm về tên dành riêng, tên chuẩn, tên tự đặt.
Chia lớp thành 3 nhóm, mỗi nhóm tìm hiểu và trình bày về một loại tên và cho ví dụ.
Treo tranh chứa 1 số tên trong NNLT Pascal đã được chuẩn bị sẵn:
Type Const Integer Dem
Function Byte Inc
 Mang string
HS xác định tên theo từng loại tên?
Treo bảng con của 3 nhóm cho nhóm khác nhận xét, bổ sung
Tổng kết vấn đề này
1. Nghiên cứu sgk và trả lời:
+ Gồm chữ cái, chữ số, dấu gạch dưới
+ Không quá 127 kí tự, không bắt đầu bằng kí tự số.
2. Quan sát và trả lời
A
A_BC
_24
A5d
3. Nghiên cứu sgk và trả lời
Thảo luận theo nhóm và cử người trình bày.
+ Tên dành riêng
+ Tên chuẩn
+ Tên do người dùng đặt
Quan sát và ghi lên bảng con.
+ Từ khóa: Type, Const, function
+ Tên chuẩn: Integer, byte, string, inc
+ Tên tự đặt: dem, mang
Quan sát kết quả cnhóm khác, nhận xét và bổ sung
1. Khái niệm Tên
(Sgk)
Ví dụ:
+ Tên dành riêng
+ Tên chuẩn
+ Tên do người dùng đặt
Ví dụ:
3. Hoạt động 3: (15 phút) Tìm hiểu hằng, biến, chú thích
a. Mục tiêu: Hs biết được khái niệm về hằng, biến và chú thích. Phân biệt được hằng và biến. Thấy được ý nghĩa của chú thích.
b. Nội dung: 
	* Hằng là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình. Có 3 loại hằng
	+ Hằng số học: số nguyên, só thực, có dấu và không dấu
	+ Hằng xâu: chuổi kí tự bất kì, được đặt trong dấu nháy đơn
	+ Hằng logic: có 2 giá trị True hoặc False
	* Biến: là đại lượng đặt tên để lưu giá trị và giá trị này có thể thay đổi trong quá trình thực hiện chương trình, biến dùng trong chương trình đều phải được khai báo.
	* Chú thích : giải thích cho chương trình rõ ràng, dể hiểu. Được đặt trong cặp dấu { } 
hoặc (* *)
c. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
1. Yêu cầu Hs cho 1 số ví dụ về hằng số, hằng xâu, hằng logic
Trình bày khái niệm về các loại hằng.
2. Ghi bảng: Xác định hằng số và hằng xâu:
56 -3785 ‘485’
‘THPT’ 1.5E+2 45,7
H: hằng kí tự nháy đơn và hằng kí tự nháy kép được biểu diễn như thế nào?
3. Yêu cầu Hs nghiên cứu Sgk và cho biết khái niệm Biến
Cho ví dụ một số biến
4. Yêu cầu Hs nghiên cứu Sgk và cho biết chức năng của chú thích trong chương trình.
Cho 1 số ví dụ khác về chú thích
H: Tên biến và tên hằng thuộc loại tên nào?
H: Các lệnh được viết trong cặp { } có được TP thực hiện ko? Vì sao?
1. Suy nghĩ và trả lời
+ Hằng số: 55 73.05
+ Hằng xâu: ‘211’ ‘AB’
+ Hằng logic: False True
Xem khái niệm hằng ở Sgk
2. Quan sát và trả lời
+ Hằng số: 56; -3785; 1.5E+2
+ Hằng xâu: ‘485’ ‘THPT’
Tl: nháy đơn: ’’’’
Nháy kép: ‘””’
3. Nghiên cứu Sgk và trả lời
4. Cá nhân nghiên cứu Sgk vá trả lời
Chú thích được đặt giữa cặp dấu { } và (* *) dùng để giải thích chương trình rõ ràng dễ hiểu.
Tl: Tên do người lập trình đặt.
Tl: Không, vì đó là dòng chú thích.
2. Hằng và biến
a. Hằng 
+ Hằng số
+ Hằng xâu
+ Hằng logic
b. Biến
K/niệm: (Sgk)
Ví dụ: Tong, dtoan, 
c. Chú thích
Ví dụ: 
{thu tuc nhap du lieu}
IV. ĐÁNH GIÁ CUỐI BÀI
1. Nội dung đã học.
Thành phần của NNLT: bảng chữ cái, cú pháp, ngữ nghĩa
Khái niệm: tên, từ khóa, tên chuẩn, tên tự đặt, biến, hằng, 
2. Câu hỏi, bài tập về nhà.
Làm bài tập 3, 4, 5 trang 13 Sgk
Xem bài đc thêm: Ngôn ngữ Pascal
Xem trước bài: Cấu trúc chương trình Sgk
Xem nội dung phụ lục B, trang 128 Sgk: Một số tên dành riêng
Tuần:2
Tiết 3: 	BÀI TẬP	
I. MỤC TIÊU
1. Kiến thức
Biết có 3 lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
Biết vai trò của chương trình dịch.
Biết khái niệm biên dịch và thông dịch.
Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa.
Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và biến.
2. Kĩ năng: Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể.
3. Về tư duy và thái độ:
Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp.
Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện tử.
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của chương.
2. Học sinh: Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương.
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (5 phút) Kiểm tra bài cũ
T/g
Hđ của GV
Hđ của HS
1. Phân biệt giữa Hằng và Biến? Cho một số biến đúng?
2. Đâu là từ khóa trong các tên sau đây?
Integer Begin Do int chan tong
- Nhận xét, đánh giá cho điểm
HS1: trả lời
Hs2: trả lời (Begin và Do)
2. Hoạt động 2:
T/g
Hđ của GV
Hđ của HS
Nd ghi bảng
ĐVĐ: Trước khi giải bài tập trong SGK, các em tự ôn lại một số kiến thức mà chúng ta đã học ở các bài trước dựa trên yêu cầu của câu hỏi trang 13 SGK.
Đặt câu hỏi số 1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?
- Nhận xét, đánh giá và bổ sung hướng dẫn cho học sinh trả lời câu hỏi số 1:
Đặt câu hỏi 2: Biên dịch và thông dịch khác nhau như thế nào?
Phân tích câu trả lời của học sinh.
- Đọc yêu cầu của câu ... hong la palidrom’
-Quan sát gv thực hiện chương trình, nhập dữ liệu và kquả của chương trình.
3. Chú ý theo dõi Yêu cầu của gv, trả lời một số cau hỏi dẫn dắt
- Kí tự thứ i đối xứng với kí tự thứ length(s) –i +1
- Tối đa length(s) div 2
- For hoặc While
- Thực hiện soạn thảo chương trình lên máy theo yêu cầu cải tiến của gv
- Nhập dữ liệu và thông báo kết quả.
2. Hoạt động 2: (40 phút) Rèn luyện kĩ năng lập trình
a. Mục tiêu: Hs biết phân tích yêu cầu để viết một chương trình hoàn chỉnh
b. Nội dung: Viết CT nhập vào một xâu S bất kì và thông báo ra màn hình số lần xuất hiện trong S của mỗi chữ cái tiếng Anh (không phân biệt chữ hoa và thường)
c. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
1. Giới thiệu đề bài
- Giới thiệu đề bài lên bảng
-Yêu cầu hs trả lời các câu hỏi để phân tích bài toán
+Dữ liệu vào và dữ liệu ra của bài toán?
+Nhiêm vụ chính cần thực hiện khi giả quyết bài toán?
+Cấu trúc dữ liệu cần sử dụng?
+ Ta phải sử dụng hàm gì?
Bổ sung và sửa sai cho hs.
2. Yêu cầu hs được lập viết chương trình hoàn chỉnh theo thuật toán phát hiện ở trên
- Yêu cầu các em lập trình xong trước tìm một số bộ test
- Yêu cầu hs nhập dữ liệu vào theo test của gv và thông báo kết quả.
Xác nhận kết quả đúng của hs và sửa sai cho các em có kết quả sai.
+Vào:một xâu S
Ra:dãy các số ứng với sự xuất hiện của mỗi loại kí tự trong xâu.
+T/toán: Duyệt xâu từ trái sang phải, thêm 1 đơn vị cho kí tự đọc được
+Cấu trúc dữ liệu: 
Dem[‘A’.. ‘Z’]
+Upcase()
2. Độc lập soạn chương trình vào máy
- Tìm test
- Nhập dữ liệu của gv thực hiện chương trình và xem kết quả
- Thông báo kết quả
IV. ĐÁNH GIÁ CUỐI BÀI (5phút)
1. Nội dung đã học: Một số thuật toán cơ bản liên quan đến xâu kí tự
2. Câu hỏi, bài tập về nhà
	Xem trước bài: Kiểu bản ghi
Ngày soạn: 11/12/07
Tiết 31	KIỂU BẢN GHI
I. MỤC TIÊU
1. Kiến thức
- biết được khái niệm về bản ghi
- Phân biệt được sự giống và khác nhau giữa kiểu bản ghi và kiểu mảng 1 chiều
2. Kĩ năng
- Khai báo được kiểu bản ghi, khai báo được biến kiểu bản ghi trong NNLT Pascal
- Nhập/xuất được dữ liệu cho bản ghi
- Thamchiếu đến từng trường của bản ghi
- Sử dụng kiểu bản ghi để giải quyết một số bài tập đơn giản
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên: Giáo án, Máy tính
2. Học sinh: sgk
III. PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp.
IV. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (5 phút) Kiểm tra bài cũ
Hđ của GV
Hđ của HS
Viết CT nhập vào một xâu bất kì và cho biết trong xâu có bao nhiêu kí tự số?
Var S: string; i: integer;
Begin 
write(‘Nhap xau S ’); readln(S);
d:=0;
For i:=1 to length(s) do
If (s[i]>=’0’) and (s[i]<=’9’) then inc(d);
Write(d);
End.
2. Hoạt động 2: Giới thiệu kiểu bản ghi. Tạo một kiểu bản ghi trong NNLT Pascal.
Hđ của GV
Hđ của HS
Nd ghi bảng
1. Tìm hiểu kiểu bản ghi
Yêu cầu hs quan sát bảng kết quả thi TN sgk trang 74.
Hỏi: trên bảng có những thông tin gì?
-bảng chứa thông tin của bao nhiêu đối tượng?
-Yêu cầu hs cho thêm ví dụ tương tụ.
* Mỗi thông tin của đtượng đgl 1 thuộc tính hay 1 trường của đtượng. Mỗi đtượng đươc mô tả bằng nhiều thiông tin trên một hàn đgl một bản ghi.
* Để mô tả các đtượng như vậy, NNLT cho phép ta xác định kiểu bản ghi. một đtượng được mô tả băng một bản ghi.
2. Yêu cầu hs n/cứu sgk và cho biết cách khai báo kiểu bản ghi, khai báo biến kiểu bản ghi trong Pascal
Yêu cầu: Tìm 1 vídụ để minh hoạ 
Để giải quyết bài toán trong mục 1 ta phải khai báo 1 mảng các bản ghi. Hãy tạo kiểu mảng?
Yêu cầu hs so sánh giống và khác nhau của kiểu bản ghi và kiểu mảng 1 chiều.
1. Quan sát ví dụ sgk, trả lời câu hỏi:
- Họ tên, ngày sinh, giới tính, điểm các môn thi.
- 3 đối tượng
- Để mô tả 1 người trong danh bạ điện thoại cần các thông tin: họ tên, địa chỉ, SĐT.
2. Tham khảo sgk để năm cách khai báo kiểu và biến kiểu bản ghi.
Độc lập suy nghĩ, tạo kiểu bản ghi
Type kieu_hs =record
Hten,ngsinh:string;
Toan, van:byte;
Dtb:real;
End;
Kieu_m=array[1..50] of kieu_hs;
Var Lop:kieu_m;
Tl:
Giống: được ghép bởi nhiều phần tử
Khác: mảng 1 chiều ghép bởi nhiều ptử cùng kiểu,kiểu bản ghi ghép nhiều ptử có kiểu dữ liệu có thể khác nhau.
1. Khai báo
Type =record
: ;
.
:;
End;
Var : ;
Ví dụ: 
Type knguoi = record
 Hoten:string;
 Dchi:string;
 SDT:longint
End;
Var nguoi: knguoi;
3. Hoạt động 3: Tìm hiểu cách sử dụng bản ghi trong NNLT Pascal
Hđ của GV
Hđ của HS
Nd ghi bảng
1. Giới thiệu cấu trúc chung, tham chiếu đến từng trường của biến bản ghi
Yêu cầu hs tìm vídụ về tham chiếu đến từng trường của biến bản ghi từ các khai báo ở trên
2. Gới thiệu 2 cách gán giá trị cho biến bản ghi
+Gán nguyên cảu biến bản ghi (1)
+ Gán lần lượt từng trường (2)
Hỏi: trường hợp (1) thực hiện trong điều kiện nào?
3. Nhập/xuất dữ liệu chó biến bản ghi
* ta phải nhập/xuất giá trị cho từng trường.
Yêu cầu hs viết lệnh nhập giá trị cho 3 trường của biến nguoi; lệnh in giá trị của trường hoten của bản ghi nguoi
1. Quan sát cấu trúc gv giới thiệu
Vd:
Nguoi.hoten
Nguoi.dchi
Nguoi.sdt
2. Quan sát 2 cách gán giá trị và tìm ví dụ cụ thể
Tl: hai biến A, B được khai báo cùng 1 kiểu bản ghi.
3. Chú ý theo dõi sự dẫn dắt của gv, ghi nhớ và tìm ví dụ.
Readln(Nguoi.hoten);
Readln(Nguoi.dchi);
Readln(Nguoi.sdt);
Writeln(nguoi.hoten;)
2. Tham chiếu đến từng trường của bản ghi
Tênbiến.têntrường
Vd: Type knguoi = record
 Hoten:string;
 Dchi:string;
 SDT:longint
End;
Var nguoi: knguoi;
3. Gán giá trị cho biến bản ghi
(1) A:=B
(2) A.ht:=B.ht; 
A.toan:=9; A.dtb:=(A.toan+A.li)/2;
4. Hoạt động 4: Rèn luyện kĩ năng lập trình
a. Nội dung: Viết CT giải quyết bài toán quản lí sau: Nhập họ và tên, điểm toán(toan) và điểm lý (ly) của 30 học sinh trong lớp. In ra màn hình họ tên và điểm trung bình (dtb) của 30 học sinh đó (dtb=(toan+ly)/2)
b. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
1. Nêu nội dung đề bài
Hỏi: Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toán?
-Yêu cầu hs mô tả thông tin của 1 hs bằng kiểu bản ghi. 
- Tạo mảng các bản ghi đó
- Yêu cầu hs nếu các bước gải quyết bài toán
2. chia lớp thành 3 nhóm. Yêu cầu viết CT lên bìa con.
Thu bìa và treo lên bảng, gọi hs nhóm khác nhận xét và đánh giá.
3. Thông báo chương trình mẫu để hs chuẩn hoá lại.
1. Đọc đề, phân tích để trả lời câu hỏi.
-Một mảng các bản ghi
Type hs=record
Ten:string;Toan,li,tb:real;
end;
Manghs=array[1..30] of hs;
Var Lop:manghs;
Các bước:
B1:Tạo kiểu dữ liệu, kbáo biến.
B2: Nhập dliệu cho mảng các bản ghi, tính giá trị trường tb.
B3: đưa các t/tin theo Yêu cầu ra màn hình. (ten, tb)
2. Thảo luận nhóm và hoàn tất CT,Nộp kết quả
Nhận xét, đánh giá và bổ sung nhữ sau sót của nhóm khác.
3. Quan sát và ghi nhớ
Type hs=record
Ten:string;Toan,li,tb:real;
end;
Manghs=array[1..30] of hs;
Var Lop:manghs;
BEGIN
For i:=1 to 30 do
begin
write(‘Hoc sinh ’,i); 
readln(lop[i].ten);
write(‘diem toan, ly ‘’); 
readln(lop[i].toan,lop[i].li);
lop[i].tb:=(lop[i].toan+lop[i].li)/2;
end;
writeln(‘ Ho va ten |Diemtb ’);
For i:=1 to 30 do
Writeln(lop[i].ten:30, lop[i].tb:8:2);
END.
IV. ĐÁNH GIÁ CUỐI BÀI (5phút)
1. Nội dung đã học
2. Câu hỏi, bài tập về nhà
	Xem nội dung phụ lục B, sgk, trang 134: Câu lệnh With.
Ngày soạn: 15/12/07
Tiết 32-33	ÔN TẬP
I. MỤC TIÊU
1. Kiến thức
2. Kĩ năng
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên
2. Học sinh
III. PHƯƠNG PHÁP
IV. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (5 phút) Kiểm tra bài cũ
Hđ của GV
Hđ của HS
2. Hoạt động 2:
a. Mục tiêu:
b. Nội dung:
c. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
3. Hoạt động 3:
a. Mục tiêu:
b. Nội dung:
c. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
4. Hoạt động 4:
a. Mục tiêu:
b. Nội dung:
c. Các bước tiến hành:
Hđ của GV
Hđ của HS
Nd ghi bảng
IV. ĐÁNH GIÁ CUỐI BÀI (5phút)
1. Nội dung đã học
2. Câu hỏi, bài tập về nhà
	Xem trước bài: 
KIỂM TRA HỌC KỲ I
I.TRẮC NGHIỆM (Hs khoanh tròn vào một phương án trả lời đúng cho mỗi câu)
Biểu diễn nào dưới đây là Hằng?	A. begin	B. E58	C. 12.4E-5	D. type
Kiểu dữ liệu nào dưới đây thuộc loại kiểu dữ liệu chuẩn:
A. Kiểu kí tự	B. Kiểu xâu	C. Kiểu mảng	D. Kiểu bản ghi
Phép toán nào sử dụng trong biểu thức trả về giá trị True hoặc False
A. Phép toán số học	B. Phép toán quan hệ và phép toán số học
C. Phép toán số học và phép toán logic	D. Phép toán quan hệ và phép toán logic
Chương trình sau đây Đúng hay Sai? Vì sao?
Begin
Writeln(‘Chuc cac em thi tot!’);	A. Sai, vì CT này không có phần khai báo 
Write(‘Dat ket qua cao’);	B. Đúng, vì CT này không cần khai báo
Readln	C. Sai, vì CT này thiếu phần nhập giá trị	 
End.	D. Sai, vì CT này thiếu phần tính toán
Chương trình dịch Pascal cấp phát bao nhiêu Byte bộ nhớ cho các biến trong khai báo sau:
Var A: array[1..10] of integer;	A. 28	B. 36
I, N: real; q, b: word;	C.5	D. 18	
Giá trị của các biểu thức boolean sau đây là gì với N = 300, p = - 0.001, 
q = 0.001, c = ‘5’
(1) 2*N <=500
(2) (abs(p) = q) and (c < ‘4’)
(3) Not (c > ‘7’)
A. False – False – True	B. False – True – False	
C. False – True – True	D. False – False – False
Sau khi thực hiện đoạn chương trình sau thu được kết quả xâu S là gì?
begin
S := ‘GBCDEFA’;
T := S[1];
S[1] := S[length(S)];
 S[length(S)] := T;	A. ‘GBCDEFA’	B. ‘ABCDEFG’
end;	C. ‘AGBCDEF’	D. ‘BCDEFAG’	
Trong NNLT Pascal, hai xâu kí tự được so sánh dựa trên?
A. Độ dài tối đa của hai xâu
B. Mã của từng kí tự trong các xâu lần lượt từ trái sang phải
C. Độ dài thực sự cảu hai xâu
D. Số lượng các kí tự khác nhau trong xâu
Hãy đọc kỹ đoạn chương trình sau: 
Program timkiem;
Var m: array[1..100] of integer;
	i, n, k: integer;
Begin	Write('Ban can nhap bao nhieu so:'); Readln (n);
	For i:=1 to n do
	Begin 
	Write('Nhap so thu ',i,':'); Readln(m[i]); 
	End;
	Write('Nhap so can tim:'); Readln(k);
	i:=1;
	While (m[i]k)and (i<=n)Do i:=i+1;
	If i>n then Writeln ('Trong day ban da nhap khong co so nguyen nao bang ',k)
	else Writeln('Trong day ban da nhap co so bang',k);
	Readln;
End.
Và hãy trả lời các câu hỏi 9 và 10: 
Trong chương trình trên có đoạn lệnh có sử dụng vòng lặp While Do, chương trình trên thoát khỏi vòng lặp khi:
A. m[ i ]=k 	 	B. (m[ i ]=k) hoặc( i>n) 	C. i>n 	 	D. (m[ i ]=k) và (i>n) 
Giả sử khi chạy chương trình, ta tạo dữ liệu cho mảng m gồm các phần tử lần lượt là: 7, 5, 19, 54 và 20. Và gán cho biến k mang giá trị 54. Vậy sau khi thực hiện xong chương trình, trên màn hình sẽ có dòng thông báo: 
A. Trong dãy bạn đã nhập có số bằng k B. Trong dãy bạn đã nhập có số bằng 54 
C. Trong day ban da nhap co so bang k D. Trong day ban da nhap co so bang 54 
II. TỰ LUẬN
1. Cho chương trình
Var i: byte;
Begin
	For i:=1 to 35 do 
If i mod 3 = 0 then write (i:4);
	Readln
End.
a. Hãy viết lại chương trình bằng cách thay đổi cấu trúc FOR bằng cấu trúc WHILE.
b. Cho biết chương trình trên thực hiện công việc gì?
2. Viết CT tạo mảng A có N (N£200) phần tử là số nguyên. In ra màn hình mảng vừa tạo. Tính và đưa ra màn hình giá trị trung bình của các số nguyên dương lẻ có trong mảng A.

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

  • docGiao_an_Tin_11[2].doc