Giáo án Tin học Lớp 11 - Chương trình cả năm - Năm học 2011-2012

Giáo án Tin học Lớp 11 - Chương trình cả năm - Năm học 2011-2012

I. MỤC TIÊU BÀI DẠY:

1. Kiến thức:

 -Biết các thành phần cơ bản của NNLT Pascal:

 + Tên dành riêng (từ khoá), tên chuẩn, tên do người lập trình đặt

 +Hằng và biến

2. Kĩ năng:

+Phân biệt được tên, hằng, biến

+Đặt được tên đúng

II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

 -Thuyết trình đưa học sinh vào tình huống có vấn đề

 -Sử dụng câu hỏi gợi mở

 -Giáo án, SGK,sách giáo viên

I. MỤC TIÊU BÀI DẠY:

 Nhằm mục đíchcủng cố lại kiến thức Đ1, Đ2. Để HS thấy được sự khác nhau giữa thông dịch, biên dịch; phân biẹt được tên, hằng, biến và biết cách đặt tên.

II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC

-Nêu vấn đề

-Câu hỏi gợi mở

-Hoạt động theo nhóm

-Giáo án, SGK

 

docx 133 trang huemn72 3401
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học Lớp 11 - Chương trình cả năm - Năm học 2011-2012", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Thứ 3, ngày 01/08/2011
Tiết 1 
CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNH
Đ1. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. MỤC TIÊU BÀI DẠY:
1. Kiến thức:
-Biết ngôn ngữ lập trình có 3 loại: Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao.
-Biết vai trò của chương trình dịch
-Biết khái niệm 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(NNLT).
2. Kĩ năng:
	Phân biệt được ngôn ngữ bậc cao với ngôn ngữ máy và hợp ngữ.
	-Phân biệt được biên dịch và thông dịch.
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
	-Thuyết trình đưa HS vào tình huống có vấn đề.
	-Vấn đáp + câu hỏi gợi mở.
	-Giáo án, SGK tin 10,SGK tin 11.
III. NỘI DUNG
NỘI DUNG
HOẠT ĐỘNG GV AND HS
-Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một NNLT cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
 BÀI MỚI:
-GV: ở lớp 10 chúng ta đã biết các bước để giải bài toán trên máy tính. Em hãy nêu các bước để giải bài toán trên máy tính?
-HS: Để giải một bài toán trên máy tính ta cần thực hiện 5 bước:
 +Xác định bài toán
 + Lựa chọn hoặc thiết kế thuật toán
 + Viết chương trình
 +Hiệu chỉnh 
 +Viết tài liệu
-GV: Giải thích:
+XĐ bài toán: 
Xác định input và output.
+Lực chọn hoặc thiết kế thuật toán:
Một thuật toán chỉ giải được một bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải một bài toán. Do đó chúng 
ta cần thiết kế hoặc chọn 1 thuật toán phù hợp để giải bài toán cho trước.
-Chương trình viết bằng NN máy có thể nạp trực tiếp vào bộ nhớ và thực hiện ngay.
-CT viết ngôn ngữ bậc cao nói chung không phụ thuộc vào loại máy. CT muốn thực hiện được thì phải chuyển sang ngôn ngữ máy.
CT có chức năng muốn chuyển CT viết bằng NNLT bậc cao sang ngôn ngữ máy gọi là CT dịch.
CT nguồn
CT dịch
CT đích
-CT dịch có 2 loại: 
 +Thông dịch
 +Biên dịch
a. Thông dịch (Interpreter)
Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy. Thông dịch là việc lặp lại dảy các bước:
Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong CT nguồn.
Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy
Thực hiện các câu lệnh vừa chuyển đổi
b. Biên dịch (Compiler)
Thực hiện các bước sau:
Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của câu lệnh trong CT nguồn
Dịch toàn bộ CT nguồn thành một 
CT đích có thể thực hiện trên máy và 
có thể lưu trữ để sữ dụng khi cần thiết.
? Em hãy cho biết có mấy loại NNLT?
-HS: Có 3 loại NNLT:
+Ngôn ngữ máy
+Hợp ngữ
+Ngôn ngữ bậc cao
-GV: Phân tích câu trả lời của HS: Mỗi loại máy có một ngôn ngữ riêng thường thì chương trình viết bằng ngôn ngữ của một loại máy thì được chạy trên loại máy đó.
3+ Khi viết bằng NNLT bậc cao muốn thực hiện được trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ của máy đó.
Như vậy thì một câu hỏi đặt ra: Làm thế nào để chuyển CT viết bằng NNLT bặc cao sang ngôn ngữ máy?
→ Để làm được điều đó chúng ta cần phải có CT dịch. CT dịch có tác dụng chuyển CT viết bằng NNLT bậc cao sang ngôn ngữ máy.
Vd: Bạn là người không biết tiếng Anh vậy làm sao bạn có thể nói chuyện với người Anh hay đọc một cuốn sách tiếng Anh.
+Khi làm người phiên dịch người đó phải thực hiện như thế nào? (Dịch ngay từng câu khi hai người nói chuyện. Cách dich trực tiếp như thế này gọi là thông dịch).
+Khi một người muốn dịch một cuốn sách sang tiếng Việt thì phải làm như thế nào? (Dịch toàn bộ cuốn sách sang tiếng Việt để người khác có thể đọc. Cách dich như vậy gọi là biên dich)
-GV: Ví dụ
+Thông dịch: Thực hiện một số lệnh trong DOS
C:\MD : Tạo thư mục
C:\Dir : Xem thư mục
+Biên dịch: Viết CT: Nhập vào 2 số nguyên a, b và tính tổng 2 số đó (sử dụng NNLT Pascal)
IV. §¸nh gi¸ cuèi bµi.
 1. Nh÷ng néi dung ®· häc.
 - Kh¸i niÖm lËp tr×nh vµ ng«n ng÷ lËp tr×nh.
 - Cã ba lo¹i ng«n ng÷ lËp tr×nh : Ng«n ng÷ m¸y, hîp ng÷ vµ ng«n ng÷ bËc cao.
 - Kh¸i niÖm ch­¬ng tr×nh dÞch.
 - Cã hai lo¹i ch­¬ng tr×nh dÞch lµ biªn dÞch vµ th«ng dÞch.
2. C©u hái vµ bµi tËp vÒ nhµ.
 - Mçi lo¹i ng«n ng÷ lËp tr×nh phï hîp víi nh÷ng ng­êi lËp tr×nh cã tr×nh ®é nh­ thÕ nµo?
 - KÓ tªn mét sè ng«n ng÷ lËp tr×nh bËc cao cã sö dông kÜ thuËt biªn dÞch vµ mét sè ng«n ng÷ lËp tr×nh cã sö dông kÜ thuËt th«ng dÞch.
 - Tr¶ lêi c¸c c©u hái 1, 2, 3, s¸ch gi¸o khoa trang 13.
 - Xem bµi häc thªm 1 : Em biÕt g× vÒ ng«n ng÷ lËp tr×nh? s¸ch gi¸o khoa trang 6
 - Xem tr­íc bµi häc : C¸c thµnh phÇn cña ng«n ng÷ lËp tr×nh .
V. Rót kinh nghiÖm tiÕt d¹y
Thứ 3, ngày 16/08/2011
Tiết 2
Đ2. CÁC THÀNH PHẦN CƠ BẢN CỦA
 NGÔN NGŨ LẬP TRÌNH (Tiếp)
I. MỤC TIÊU BÀI DẠY:
1. Kiến thức:
	-Biết các thành phần cơ bản của NNLT Pascal:
	 + Tên dành riêng (từ khoá), tên chuẩn, tên do người lập trình đặt
	 +Hằng và biến
2. Kĩ năng:
+Phân biệt được tên, hằng, biến
+Đặt được tên đúng
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
	-Thuyết trình đưa học sinh vào tình huống có vấn đề
	-Sử dụng câu hỏi gợi mở
 -Giáo án, SGK,sách giáo viên
IV. NỘI DUNG
NỘI DUNG
HĐ CỦA GV AND HS
Hỏi bài cũ:
Câu hỏi: Biên dịch và thông dịch khác nhau ở chỗ nào?
+Thông dịch: Lần lượt duyệt từng lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừu dịch được hoặc báo lỗi nếu không dịch được.
+Biên dịch: Duyệt, kiểm tra, phát hiện lỗi, xác định CT nguồn có dịch được không, dịch toàn bộ CT nguồn thành 1 CT đích có thể thực hiên ngay trên máy và có thể lưu lại để sữ dụng về sau khi cần thiết
1. Các thành phần cơ bản:
Mỗi NNLT có 3 thành phần:
 +Bảng chữ cái
 +Cú pháp
 +Ngữ nghĩa.
a. Bảng chữ cái: Là tập hợp các kí tự để viết CT.
Trong Pascal bảng chữ cái bao gồm các kí tự:
 -Chữ cái: ‘A’..’Z’
 ‘a’..’z’
 -Số: 0..9
 -Kí hiệu đặc biệt: +, -, *, / 
b. Cú pháp: Là bộ quy tắc để viết chương trình
c. Ngữ nghĩa: Xác định ý nghĩa thao tác cần thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.
-Lỗi cú pháp được CT dịch phát hiện và thông báo cho người lập trình. CT không còn lỗi cú pháp thì mới dịch sang ngôn ngữ máy.
-Lỗi ngữ nghĩa được phát hiện khi chạy CT.
2. Một số khái niệm
a. Tên:
-Mọi đối tượng trong CT đều phải được đặt tên theo quy tắc của NNLT và từng CT dịch cụ thể.
-Quy tắc đặt tên:
+Trong Pascal: Tên là một dãy liên tiếp không qua 127 kí tự bao gồm: Chữ cái, chữ số, dấu gạch dưới và không bắt đầu bằng số.
+Trong free Pascal: Tên có thể có độ dài tới 256 kí tự
GV: Nêu câu hỏi
HS: Trả lời câu hỏi
GV: Nhận xét đánh giá và cho điểm
 BÀI MỚI:
-GV: Trong các NNLT nói chung, các đối tượng trong CT đều phải được đặt tên để thuận tiện cho việc sử dụng. Việc đặt tên trong các NNLT khác nhau là khác nhau, có ngôn ngữ phân biệt chữ hoa (C++), có ngôn ngữ không phân biệt chữ hoa (Pascal)
+Dùng kí hiệu nào để viết CT?
+Viết theo quy tắc nào?
+Viết như vậy thì có ý nghĩa gì?
-GV: Bảng chữ cái của các NNLT nói chung không khác nhau nhiều (NNLT C++ chí khác Pascal là có sữ dụng: (“), (\), (!)).
-GV: Trong Pascal: Phép gán (:=)
 Dấu bằng (=)
Trong C/C++: Phép gán (=)
Dấu bằng (==)
Dó đó buộc chúng ta phải tuân theo quy tắc của NNLT.
 -GV: Ví dụ
(1) A+B; A,B: Là số thực
(2) I+J: Là số nguyên
 Khi đó dấu + trong biểu thức (1) sẽ cộng 2 số thực, trong (2) sẽ cộng 2 số nguyên
-GV: Ví dụ
Tên đúng; a, b, _A, phương_trình .
Tên sai: 6mn, A BC 
-GV: Trong các tên sau đây tên nào đúng; X#Y, _tam-giác, vi-du
-HS: Tên đúng: _tam-giác
X#Y: Tên sai vì chứa #
-NNLT thường có 3 loại tên:
+Tên dành riêng
+Tên chuẩn
+Tên do người LT đặt
*Tên dành riêng (Từ khoá):
-Là tên do NNLT quy định với ý nghĩa xác định mà người LT không dùng với ý nghĩa khác.
-Ví dụ: Program, ues, const, begin, end 
*Tên chuẩn:
-Là tên được NNLT dùng với ý nghĩa nào đó, tuy nhiên người lập trình có thể sữ dụng với ý nghĩa khác.
Ví dụ: Trong Pascal: integer, real, char, boolean, readln, write 
*Tên do người LT đặt:
Được xác định bằng cách khai báo trước khi sữ dụng
-Lưu ý: Tên này không được trùng với từ khoá.
b. Hằng và biến:
*Hằng: Là đại lượng có giá trị không thay đổi trong quá trình thực hiện CT.
-Các NNLT thường có:
+ Hằng số học: Số nguyên, số thực
+Hằng logic: Có giá trị đúng hoặc sai(true hoăc false)
+Hằng xâu: Là chuổi kí tự trong bộ mã ASCII
Trong Pascal: Chuổi kí tự này được đặt trong cặp nháy đơn (‘’) còn trong C đặt trong(“”).
*Biến:
-Là đại lượng được đặt tên, dùng để lưu trữ giá trị, có thể có giá trị thay đổi trong quá trình thực hiện CT
-Biến phải khai báo trước khi sữ dụng
vi-du: Tên sai vì chứa dấu gạch trên
-GV:Trong khi soạn thảo CT, các NNLT thường hiển thị các tên dành riêng với 1 màu chữ khác hẳn vớ các tên còn lại giúp người lập trình nhận biết được tên nào là tên dành riêng (Pascal: Có màu trắng)
-GV: Ví dụ
 Program ct;
 Ues crt;
 Begin
 Clrscr;
 Write(‘ Xin chào lớp 11A’);
 Readln;
 End.
Trong CT này thì program, ues, begin, end có màu trắng.
-GV: Có thể lấy lại ví dụ hiển thị lời chào các bạn lớp 11a ở trên.
→Để chỉ cho HS thấy được trong CT đó: Readln, write: Tên chuẩn.
GV: Giải pt: a+bx+c=0 (a<>0)
Đối với bài toán này chúng ta cần khai báo những tên nào?
-HS: a, b, c: Ba tên dùng để lưu hệ số của phương trình.
X1, x2: Hai tên dùng để lưu nghiệm
Delta:Tên dùng để lưu giá trị delta
-GV: Ví dụ:
+Hằng số học: 2, -5
 3.14: dấu phẩy tĩnh
 1.0E-06: dấu phẩy động
+Hằng xâu: 
 Pascal: ‘Lớp 11A3’, ‘12345’
 C: “Lớp 11A3”
-GV: Biến là đối tượng được sữ dụng nhiều nhất trong khi viết CT. Biến là đại lượng có thể thay đổi được nên dùng để lưu trữ kết quả, làm trung gian cho phép toán 
c. Chú thích:
Trong khi viết CT có thể viết các chú thích trong CT. Các chú thích không làm ảnh hưởng CT
Ví dụ: 
Trong Pascal: Chú thích được đặt trong: { và }, (* và *)
Trong C: /* */ 
-GV: Khi viết CT người LT thường có nhu cầu giải thích cho những câu lệnh mình viết, để khi đọc lại hay người khác đọc có thể hiểu được CT mình viết.
Do vậy các NNLT thường cung cấp cho ta cách để đưa các chú thích vào tong CT.
V. CŨNG CỐ:
	 +Tên dành riêng, tên chuẩn, tên do người LT đặt.
	 + Hằng và biến
Thứ 3, ngày 23/08/2011
Tiết 3
BÀI TẬP
I. MỤC TIÊU BÀI DẠY:
 	Nhằm mục đíchcủng cố lại kiến thức Đ1, Đ2. Để HS thấy được sự khác nhau giữa thông dịch, biên dịch; phân biẹt được tên, hằng, biến và biết cách đặt tên.
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC
-Nêu vấn đề
-Câu hỏi gợi mở
-Hoạt động theo nhóm
-Giáo án, SGK
HĐ CỦA GV
HĐ CỦA HS
A. HỎI BÀI CŨ:
Câu hỏi: Nêu quy tắc đặt tên và lấy ví dụ minh hoạ?
B. NỘI DUNG:
-GV: Củng cố lại kiến thức Đ1, Đ2 
Câu 1:
-GV: Gọi HS đọc đề câu 1
-GV: Phân lớp thành 4 nhóm để trao đổi
 Nhóm 1: Tổ 1
 Nhóm 2; Tổ 2
 Nhóm 3:Tổ 3
 Nhóm 4: Tổ 4
-GV: Nếu nhóm 4 trả lời thiếu thì gọi các nhóm khác bổ sung sau đó GV tổng kết lại.
Câu 2:
-GV: CT dịch là gị?
GV: Tại sao phải có CT dịch?
-HS: Trả lời
Quy tắc: Tên là một dảy liên tiếp không qua 127 kí tự bao gồm: Chữ cái, chữ số, dấu gạch dưới và không bắt đầu bằng chữ số.
Ví dụ: m6n, tinh_tong, giauthua 
-HS: Đọc
-HS: Nhóm 4 trả lời:
+NN bấc cao gần với NN tự nhiên, thuận tiên cho đông đảo người LT
+CT viết bằng NN bậc cao nói chung không phụ htuộc vào phần cứng của máy mà CT có thể thực hiện trên nhiều loại máy khác nhau.
+CT viết bằng NN bậc cao dễ hiểu, dễ hiệu chỉnh và nâng cấp.
+NN bậc cao cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng thuận tiện cho mô tả thuật toán
HS: CT dịch là CT có chức năng chuyển đổi CT được viết trên NN bậc cao thành CT thực hiện được trên máy tính cụ thể.
HS: Mỗi loại máy có 1 loại NN máy riêng. Nếu không có CT dịch chuyễn đổi CT viết bằng NN bậc cao sang NN máy thì máy tính sẽ không hiểu được CT nguồn.
Câu 3: Biên dịch và thông dịch khác nhau như thế nào?
Câu 6: 
GV: Hướng dẩn:
 4+6: Đây là biểu thức hằng trong Pascal cũng được gọi là hằng.
GV: A20: Tên chưa rõ giá trị
GV: Cho CT :
Program CT;
Ues crt;
Var a, b, s: integer;
Begin
 Clrscr;
 Write(‘Nhap a:’);readln(a);
 Write(‘Nhap b:’);readln(b);
 S:=a+b;
 Write(‘Tong la:’,s:5);
 Readln;
End.
Em hãy xác định: Từ khoá, tên chuẩn, tên do người LT đặt?
HS: Thông dịch: Lần lượt duyệt từng câu lệnh ra NN máy rồi thực hiện ngay câu lệnh ấy hoặc báo lỗi nếu không dịch được.
+Biên dịch: Duyệt, kiểm tra, phát hiện lỗi xác điịnh CT nguồn có thực hiện được không, dịch toàn bộ CT nguồn thành một CT đích có thể thực hiện trên máy và có thể lưu lại để sữ dụng khi cần thiết
HS: Những biểu diển không phải là hằng:
c.6,23
e.A20
h.’C
HS:
-Từ khoá: program, ues, var, begin, end
-Tên chuẩn: Integer, readln, write
-Tên do người LT đặt: a, b, s, CT
V. CŨNG CỐ:
+ GV: Nhắc lại một số kiến thức cơ bản thông qua các bài tập
Thứ 3, ngày 30/08/2011
Tiết 4
CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
Đ3. CẤU TRÚC CHƯƠNG TRÌNH
I. MỤC TIÊU BÀI DẠY:
1. Kiến thức:
	-Hiểu CT là sự mô tả của thuật toán bằng một NNLT 
	-Biết cầu trúc của một CT Pascal: Cấu trúc chung, các thành phần.
2. Kĩ năng:
	-Thực hiện được việc khai báo: Tên CT, thư viện, hằng 
	-Viết được CT Pascal đơn giản.
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
	+Thuyết trình +câu hỏi gợi mở
	+Vấn đáp HS
+Giáo án, SGK, sách GV
IV. NỘI DUNG
NỘI DUNG
HĐ CỦA GV AND HS
1. Cấu trúc chung:
Một CT viết bằng NNLT bậc cao gồm 2 phần: +Phần khai báo
 +Phần thân CT
[ ];
 ;
2. Các thành phần của CT:
a. Phần khai báo:
-Phần khai báo có thể có các khai báo:
 +TênCT
 +Thư viện
 +Hằng, biến
 +CT con
* Khai báo tên CT:
Trong Pascal:
 Program ;
Ví dụ: program Tinh_tong;
HỎI BÀI CŨ
BÀI MỚI:
GV: Vấn đáp HS: Một bài tập làm văn thường có mấy phần? Vì sao phải chia ra như vậy?
HS: -Chia làm 3 phần: Mở bài, thân bài, kết luận
-Dể viết, dể đọc, dể hiểu nội dung
GV: Đối với CT viết bằng NN bậc cao gồm 2 phần: phần khai báo, phần thân. Trong đó phần thân CT phải có, phần khai báo có thể có hoặc khôngtuỳ thuộc CT cụ thể.
GV: Phần khai báo sẽ báo cho máy biết CT sẽ sữ dụng những tài nguyên nào của máy.
GV: Yêu cầu HS nghiên cứu SGK để trả lời câu hỏi: Trong phần khai báo có những khai báo nào?
HS: Trả lời
GV: Tên CT do người lập trình tự đặt theo đúng quy tắc đặt tên
GV: yêu cầu HS láy một số ví dụ
HS: Program Bai_1;
 Program DT_tam_giac;
GV: Thư viện CT thường chứa những đoạn
* Khai báo thư viện:
Pascal: Uses ;
C++: #include ;
Ví dụ:
Pascal: Ues CRT,Graph;
C++: #include ;
 #include ;
* Khai báo hằng:
 Những hằng sử dụng nhiều lần trong CT thường được đặt tên cho tiện sử dụng.
Const := ;
Ví dụ: Pascal: const N:=100;
 Const pi:=3.14;
C++: Const int N=100;
Const float pi=3.14;
* Khai báo biến:
Mọi biến sử dụng trong CT đều phải khai báo để CT dịch biết để xữ lý và lưu trữ.
b. Phần thân CT:
Thân CT là nơi chứa toàn bộcác câu lệnh của CT hoặc lời gọi CT con.
 Begin
 [ ];
 End.
3. Ví dụ CT đơn giản:
Xét 2 CT đơn giản:
-Trong Pascal:
Program Vi_du;
Begin
 Writeln(‘Xin chao cac bạn!’);
End.
-Trong C++:
#include ;
Void main()
{
 Ptrintf(“ Xin chao cac bạn!”);
}
CT lập sẵn giúp người LT thực hiện một số công việc thường dùng, các đoạn CT này cực kì hữu ích cho người LT nhất là trong những NNLT tiên tiến hiện nay.
GV: Đối với giá trị tham gia và CT ở nhiều nơi chúng ta nên khai báo hằng. Để mổi 
khi thay đổi giá trị của hằng ở tất cả các
chỗ thì chỉ cần sửa đổi 1 lần ở khai báo hằng.
GV: Khai báo biến là xin máy cấp cho biến một vùng nhớ để lưu trữ và xữ lý thông tin trong bộ nhớ.
Ví dụ: ax+bx+c=0 (a<>0)
Đối với bài toán này ta khai báo các biến: a, b, c, delta, x1, x2. Tức là chúng ta xin cấp bộ nhớ để lưu: a, b, c, delta, x1, x2
GV: Như vậy chúng ta có cấu trúc chung CT Pascal như sau:
Program ;
Uses ;
Const := ;
Var : ;
(*Có thể có những khai báo khác*)
Begin
 [ ];
End.
GV: Cho HS đọc 2 CT viết bằng NNLT Pascal và C++
HS: nhận xét: Hai CT cùng thực hiện một công việc nhưng viết bằng 2 NNLT khác nhau nên hệ thống câu lệnh trong CT là khác nhau.
IV. CỦNG CỐ:
	GV hệ thống lại cấu trúc CT chung
Thứ 4, ngày 07/9/2011
Tiết 5
Đ4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Đ5. KHAI BÁO BIẾN
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức:
	-Biết các kiểu dữ liệu chuẩn: Integer, real, char, boolean
	-Biết cách khai báo biến
2. Kĩ năng:
	-Thực hiện được việc khai báo biến
3. Thái độ:
	-Tạo hứng thú học NNLT (Pascal)
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
	-Thuyết trình + câu hỏi gợi mở
	-Vấn đáp
	-Giáo án, SGK, sách tham khảo
IV. NỘI DUNG
NỘI DUNG
HĐ CỦA GV AND HS
Hỏi bài cũ
Câu hỏi: Em hãy nêu cấu trúc CT?
Đ4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
1. Kiểu nguyên:
Kiểu
Dung lượng
Miền giá trị
Byte
1byte
0..255
Integer
2byte
-2..2
Word
2byte
0..2
Longint
4byte
-2..2
2. Kiểu thực:
Kiểu
Dung lượng
Miền giá trị
Real
6 byte
0 hoặc 10..10
extended
10 byte
0 hoặc 10..10
3. Kiểu kí tự:
Kiểu
Dung lượng
Miền giá trị
Char
1 byte
256 kí tự trong bộ mã ASCII
GV: Nêu câu hỏi
HS: Lên bảng làm bài
GV: Nhận xét đánh giá vàcho điểm
 BÀI MỚi:
-GV: Khi cần viết CT quản lý HS ta cần xử lý thông tin ở dạng nào?
HS: Trả lời câu hỏi
Dạng số nguyên, dạng văn bản
-GV: phân tích câu trả lời của HS: Đua ra một vài thông tin sau:
+Họ tên HS: Là những thông tin dang văn bản hay ký tự
+Điểm của HS: Là thông tin dạng số thực
+Số thứ tự HS: Là thông tin dạng số nguyên
 ..
-GV: Để khai báo kiểu dữ liệu cho một đối tượng nào đó thì chúng ta phải dựa vào từng đối tượng để khai báo cho phù hợp khỏi lảng phí bộ nhớ.
Ví dụ:
+ Số HS một lớp thì chúng ta nên khai báo kiểu byte 
+Tính giai thừa N thì chúng ta nên khai báo kiểu longint.
4. Kiểu logic:
Kiểu
Dung lượng
Miền giá trị
Boolean
1 byte
True hoặc false
Đ5. KHAI BÁO BIẾN
-Trong Pascal khai báo biến bằng từ khoá var
Var : ;
Trong đó;
+ Var: Từ khoá dùng để khai báo biến
+ DS biến: Tên các biến cách nhau bởi dấu phẩy
+ Kiểu dữ liệu: Là kiểu dữ liệu của NN Pascal
* Lưu ý: 
-Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó
- Không nên đặt tên quá ngắn hay quá dài dể dẩn đến mắc lổi và hiểu nhầm
-Khai báo biến cầc quan tâm đến phạm ví giá trị.
GV: Máy tính điện tử không chỉ có khả năng xữ lý những dữ liệu bằng số nguyên, số thực mà còn có khả năng xữ lý các dữ liệu là các kí tự như khi soạn thảo văn bản 
-GV: Kiểu logic là kiểu chỉ có 2 giá trị đúng sai
Ví dụ: Để kiểm tra N có phải là số nguyên tố hay không thì chúng ta dùng một biến kiểm tra và biến kiểm tra này sẻ nhận hai giá tri hoặc đúng hoặc sai.
-GV: Khai báo biến là CT báo cho máy biết phải dùng những tên nào trong CT.
Ví dụ: Bài toán: Tính chu vi và diện tích tam giác khi biết độ dài ba cạnh.
Đối với bài toán này chúng ta cần khai báo những biến nào?
-HS: Var a, b, c, p, s, cv: Real;
-GV: Khi khai báo biến cần chú ỹ những điều gì?
-HS: Nghiên cứu SGK trả lời câu hỏi
IV. CỦNG CỐ:
GV nhắc lại:
	+ Các kiểu dữ liệu chuẩn: Số nguyên, số thực, char, boolean
	+ Khai báo biến.
V. BÀI TẬP VỀ NHÀ:
Thứ 3, ngày 13/09/2011
Tiết 6
Đ6. PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức:
- Biết các khái niệm: Phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ.
- Biết một số hàm chuẩn
- Biết biểu thức quan hệ, biểu thức logic
- Biết câu lệnh gán
2. Kĩ năng:
-Viết được các biểu thức số học và logic với các phép toán thông dụng
- Viết biểu thức câu lênh gán
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
- Nêu vấn đề + câu hỏi gợi mở
- Vấn đáp
- Sử dụng một số kiến thức toán học và từ kiến thức toán học đó để nói sang kiến thức tin học như: phép toán, biểu thức quan hệ .
 - SGK,sách GV, giáo án
III. NỘI DUNG
NỘI DUNG
HĐ CỦA GV AND HS
Hỏi bài cũ
Câu hỏi: Em hãy nêu các kiểu dữ liệu chuẩn và cách khai báo biến?
- HS: Trả lời:
+ Các kiểu dữ liệu chuẩn: SGK
+ Cách khai báo biến
Var : ;
Ví dụ: var m, n: integer;
1. Phép toán:
NNLT Pascal có sử dụng một số phép toán sau:
- Với số nguyên: +, -, *, div, mod
- Với số thực: +, -, *, /
- Phép toán quan hệ: , >=, <>
- Phép toán logic: Not, AND, OR
2. Biểu thức số học:
* Khái niệm: Biểu thức số học là một biến kiểu số hoặc hằng số hoặc các biến số và hằng số liên kết lại với nhau bởi một số hữu hạn các phép toán số học, các dấu ( ).
GV: Nêu câu hỏi
HS: Lên bảng trả lời câu hỏi
GV: Nhận xét đánh giá và cho điểm
-GV: Để mô tả các thao tác trong thuật toán, mỗi NNLT đều xác định và sử dụng một số khái niệm cơ bản: Phép toán, biểu thức, gán giá trị cho biến
?Trong toán học có những phép toán nào?
-HS: Trả lời
-GV: Từ đó GV đưa ra các phép toán trong Tin học.
-GV: Ví dụ:
 17 mod 2= 1
 17 div 2= 8
? Trong toán học biểu thức số học là gì?
-HS: Đưa ra khái niệm
Sau đó GV đưa ra khái niệm biểu thức số học trong NNLT
-GV: Đưa ra một số biểu thức số học trong
* Quy tắc viết biểu thức số học:
- Chỉ dùng dấu ( ) xác định trình tự thực hiện các phép toán trong trường hợp cần thiết
- Viết lần lượt từ trái sang phải
- Không bỏ qua dấu nhân (*) trong tích
* Thứ tự thực hiện các phép toán:
- Thực hiện các phép toán trong ngoặc trước
- Trong dảy các phép toán không chứa dấu ngoặc thì thực hiện từ trái sang phải: *, /, div, mod thực hiện trước và các phép toán +, - thực hiện sau
3. Hàm số học chuẩn:
- Các NNLT thường cung cấp sẳn một số
Hàm số học để tính giá trị một số hàm thông dụng.
Cách viết: Tên-hàm(Đối - số)
Trong đó: 
 -Đối - số: Là một hay nhiều biểu thức số học đặt trong dấu ngoặc đơn
* Một số hàm chuẩn thường dùng:
 Sqr(x) : Bình phương
 Sqrt(x): Căn bậc hai
 Abs(x): Giá trị tuyệt đối
 Sin(x) : Tính giá trị sinx
 ..
4. Biểu thức quan hệ:
Biểu thức quan hệ có dạng sau:
Trong đó:
 -Bt1, bt2: Phải cùng kiểu
 - Kết quả của biểu thức quan hệ: True hay false
5. Biểu thức logic:
- Biểu thức logic đơn giản: Là biến logic hoặc hằng logic
- Biểu thức logic: Là các biểu thức logic đơn giản, các biểu thức quan hệ liên kết lại với nhau bởi các phép toán logic
Vi du: Ba số dương a, b, c là độ dài ba cạnh của tam giác nếu thoả mản điều kiện sau: (a+b>c) AND (a+c>b) AND (b+c>a)
toán học và yêu cầu HS viết các biểu thức đó dưới dạng biểu thức số học trong tin học.
-HS: Thực hiện
-GV: Để tính giá trị x2 thì chúng ta có thể được biểu diển: x*x
Nhưng để tính giá tri của hay /x/ thì chúng ta phải làm như thế nào?
GV: Để tính các giá trị đó một cách đơn giản các NNLT đều có thư viện chứa một số CT tính giá trị những hàm toán học thường dùng. Các CT như vậy gọi là các hàm số học chuẩn
Ví dụ: Biểu thức toán học:
Trong Pascal biểu thức này được biểu diển như thế nào?
-HS: Trả lời:
(-b+sqrt(b*b-4*a*c))/(2*a)
GV: 3>5 → Kết quả false
10>5 → Kết quả true
GV: Đưa ra ví dụ
Để thể hiện điều kiện: 5≤x≤10, trong Pascal cần phải tách thành: 5≤x và x≤10:
 (5<=x) AND (x<=10)
6. Câu lệnh gán:
- Lệnh gán là cấu trúc cơ bản nhất của mọi NNLT thường dùng để gán giá trị cho biến
- Cấu trúc: := ;
 Trong đó: Kiểu của giá trị biểu thức phải phù hợp với kiểu của biến
- Hoạt động của lệnh gán: Tính giá trị của biểu thức sau đó ghi giá trị
Ví dụ: ax2+bx+c=0 (a<>0)
X1:=(-b+sqrt(b*b-4*a*c))/(2*a)
X2:=(-b-sqrt(b*b-4*a*c))/(2*a)
? Giả sử: A:=10, B:=5
 Tg:=A;
 A:=B;
 B:=Tg;
Sau khi thực đoạn CT này A=?, B=?
- HS: Trả lời
-GV: Nhận xét câu trả lời của HS sau đó biểu diển cho HS tháy quá trình tráo đổi 2 giá trị A và B:
A
B
Tg
10
5
10
5
10
5
5
10
5
10
10
IV. CỦNG CỐ:
GV nhắc lại: 
Biểu thức logic, biểu thức quan hệ, biểu thức số học
Một số hàm chuẩn
Câu lệnh gán
V. BÀI TẬP VỀ NHÀ:
 Bài 2.10, 2.11, 2.12, 2.13, 2.16 sách bài tập
Thứ 4, ngày 21/09/2011
Tiết 7
Đ7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức:
- Biết các lệnh vào/ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình
- Biết các bước : Soạn thảo, dịch, thực hiện và hiệu chỉnh CT
- Biết một số công cụ của môi trường Tubor pascal
2. Kĩ năng:
- Viết được một số câu lệnh vào ra đơn giản
- Bước đầu sử dụng được CT dịch để phát hiện lỗi
- Bước đầu chỉnh sữa được CT dựa vào thông báo lỗi của Ct dịch và tính hợp lý của kết quả thu được
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
Thuyết trình
Dẫn dắt HS vào tình huống có vấn đề
Giáo án, SGK
Màn hình làm việc của Pascal
IV. NỘI DUNG
NỘI DUNG
HĐ CỦA GV AND HS
Hỏi bài cũ
Câu hỏi: Em hãy nêu 1 số ví dụ về biểu thức số học, biểu thức quan hệ, biểu thức logíc
+ Biểu thức số học: x/y+(x*y)/2
+ Biểu thức quan hệ: a+b <= c+d
+Biểu thức logic: (x>=5) or (x<=-1)
 Đ7. CÁC THỦ TỤC CHUẨN 
 VÀO/RA ĐƠN GIẢN
1. Nhập dữ liệu từ bàn phím:
Việc nhập dữ kiệu từ bàn phím được thực hiện bằng thủ tục:
 Read( );
Hoặc: Readln( );
Trong đó: DS biến vào là một hoặc nhiều biến đơn
Ví dụ: Read(N);
 Readln(a,b,c);
GV: Nêu câu hỏi
HS: Trả lời câu hỏi
GV: Nhận xét đánh giá bổ sung và cho điểm
-GV: Khi giải một bài toán nào đó, nếu chúng ta muốn nhập dữ liệu từ bàn phím để giả bài toán đó thì làm như thế nào? Hay muốn hiện thị kết quả ra màn hình thì phải làm như thế nào?
Để giải quyết được những vấn đề đó thì NNLT pascal các rhủ tục chuẩn vào ra/ra đơn giản
-GV: Khi nhập dữ liệu từ bàn phím : Read và readln có ý nghĩa như nhau, thường hay dùng readln hơn
-GV: + Read(N): nhập 1 giá trị từ bàn phím cho N
2. Đưa dư liệu ra màn hình:
Để đưa dữ liệu ra màn hình, pascal cung cấp thủ tục chuẩn:
 Write( );
Hoặc: Writeln( )
Trong đó:
 + DS kết quả đưa ra: Có thể là tên biến, biểu thức, hoặc hằng
-Write: Sau khi đưa kết quả ram màn hình con trỏ không chuyển xuống dòng tiếp theo
- Writeln: Con trỏ chuyển xuống dòng tiếp theo
Ví dụ: Nhập một số nguyên và một số thực từ bàn phím
Write(‘Nhập số nguyên M:’);readln(M);
Write(‘Nhập số thực N:’);readln(N);
* Ngoài ra trong Pascal cón có quy cách đưa thông tin như sau:
- Kết quả thực:
: : 
- Kết quả khác: 
 : 
Ví dụ: Xét CT Pascal đầy đủ như sau
 Program ví_du;
 Uses CRT;
 Var a, b, Max: Integer;
Begin
 Write(‘Nhập a, b:’);readln(a,b);
+Readln(a,b,c): Nhập 3 giá trị và gán cho a, b, c
Lưu ý: Khi nhập giá trị cho nhiều biến, các giá trị này cách nhau ít nhất một dấu cách trống hoặc enter
Readln(a,b,c)
Nếu ta nhập: 1, 5, 9 → sai
Mà chúng ta phải nhập:
 1 5 9
Hoặc:
 1
 5
 9
-GV: Giả sử chúng ta muốn nhập một số nguyên và một số thực. Nếu chúng ta sử dụng lệnh nhập readln(m,n) thì chúng ta khó biết biến nào nhận giá trị nguyên, biến nào nhận giá trị thực
Vậy làm như thế nào để hiện thị dữ liệu theo ý muốn của người LT
GV lấy ví dụ minh hoạ sự khác nhau giáu write và writeln
-GV: Giải thích kết quả từng câu lệnh
-GV: Lấy ví dụ minh hoạ:
 + Var N : real;
 Writeln(‘N=’, N:5:2);
 +Var M:integer;
 Writeln(‘M=’,M:5); 
 Max:=a;
 If Max<b then Max:=b;
 Write(‘Max la:’, Max:5);
 Readln;
 End.
-GV: Giải thích kết quả đạt được của bài toán này
IV. CỦNG CỐ:
GV nhắc lại:
Nhập dữ liệu vào từ bàn phím
Đưa dữ liệu ra màn hình
Soạn thảo, dịch, thực hiện và hiệu chỉnh CT
V. BÀI TẬP VỀ NHÀ:
 	Hãy viết CT tính diện tích hình tròn bán kính R với R nhập vào từ bàn phím
Hướng dẫn: 
 	Program dt_hinh_tron;
	Const pi=3.1416;
	Var R,S: Real;
	Begin
 	Write(‘Nhap R=’);Readln(R);
 	S:=pi*R*R;
 	Write(‘Dt hinh tron S=’,S:8:3);
 	Readln;
	 	End.
Ngày soạn 10/9/2018
Tiết PPCT : 
Bài 8. SOẠN THẢO, DỊCH, THỰC HIỆN
VÀ HIỂU CHỈNH CHƯƠNG TRÌNH
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức:
- Biết các lệnh vào/ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình
- Biết các bước : Soạn thảo, dịch, thực hiện và hiệu chỉnh CT
- Biết một số công cụ của môi trường Tubor pascal
2. Kĩ năng:
- Viết được một số câu lệnh vào ra đơn giản
- Bước đầu sử dụng được CT dịch để phát hiện lỗi
- Bước đầu chỉnh sữa được CT dựa vào thông báo lỗi của Ct dịch và tính hợp lý của kết quả thu được
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:
Thuyết trình
Dẫn dắt HS vào tình huống có vấn đề
Giáo án, SGK
Màn hình làm việc của Pascal
IV. NỘI DUNG
NỘI DUNG
HĐ CỦA GV AND HS
Hỏi bài cũ
Em viết cú pháp của thủ tục chuẩn vào ra và lấy ví dụ
Bài mới
Một số thao tác thường dùng trong pascal:
Xuống dòng: Enter
Ghi file lên đĩa: F2
Mở file đã có: F3
Biện dich CT: Alt+F9
Chạy CT: Crtl+F9
Thoát khỏi TP: Alt+X
GV: Nêu câu hỏi và gọi HS lên bảng
HS: Lên bảng trả lời bài cũ
GV: Nhận xét đánh giá, cho điểm
GV: Giới thiệu một số tập tin cần thiết để Turbo pascal có thể chạy được, hướng dẫn các em cách khởi động pascal trên máy tính
+Turbo.exe (file chạy)
+Turbo.tpl (file thư viện)
+Turbo.tph (file hướnh dẫn)
-GV: Giới thiệu mốt số thao tác thường dùng khi soạn thảo CT trong môi trường soạn thảo turbo pascal
-GV: Lấy 1 ví dụ để minh hoạc cá thao tác đó
GV: Lấy ví dụ và thực hành ngay trên máy trình chiếu qua máy chiếu
HS: Chú ý nghe giảng và quan sát các thao tác.
Program dt_hinh_tron;
	Const pi=3.1416;
	Var R,S: Real;
	Begin
 	Write(‘Nhap R=’);Readln(R);
 	S:=pi*R*R;
 Write(‘Dt hinh tron S=’,S:8:3);
 	Readln;
	 	End.
GV: Hướng dẫn cụ thể và bày cho HS một số thủ thuật sửa lỗi khi gặp
IV. CỦNG CỐ:
GV nhắc lại:
Nhập dữ liệu vào từ bàn phím
Đưa dữ liệu ra màn hình
Soạn thảo, dịch, thực hiện và hiệu chỉnh CT
Ngày soạn: 12/9/2018
Tiêt PPCT: 9	 
BÀI TẬP
I. MỤC TIÊU BÀI HỌC	
-Cũng cố nội dung đã đạt được ở bài tập và thực hành 1
-Biết sử dụng các thủ tục chuẩn vào ra
-Biết xác định input và output
II. PHƯƠNG PHÁP DẠY HỌC;
-Nêu vấn đề
-Hướng dẫn, giảng giải
-Vấn đáp
III. PHƯƠNG TIỆN DẠY HỌC
-Giáo án, SGK, SGV
-Chuẩn bị thêm một số bài tập về Pascal
IV. TIẾN TRÌNH BÀI GIẢNG:
HOẠT ĐỘNG GV
HOẠT ĐỘNG HS
-GV:Các bài tâp 1, 2, 3, 4, 5, 7 HS tự làm ở nhà. Nếu có vấn đề gì thì GV có thể hướng dẫn thêm cho HS. Tiết này chỉ tập trung vào các bài 6, 8, 9, 10 
Bài 6: Hãy viết biểu thức toán học dưới đây trong Pascal
(1+z)
Gợi ý: Phép nhân : *
 Phép chia: /
Bài 8: Hãy viết biểu thức logic cho kết quả true khi toạ độ (x,y) là điểm nằm trong vùng gạch chéo kể cả biện.
 y
 1
 x
 -1 1
Bài 9: Hãy viết Ct nhập số a (a>0) rồi tính và đưa ra diện tích phần gạch chéo trong hình 3(kết quả làm tròn đến 4 chữ số thập phân)
-HS: Thực hiện
(1+z)*((x+y/z)/(a-1/(1+x*x*x))
-HS: 
((x>=-1)and(x 0))
GV: hướng dẫn:
 + Đầu tiên tính dt hình tròn
 + Xác định phần diện tích phần gạch chéo = 1/2 dt dình tròn
-GV: Gọi HS lên bảng thực hiện
Bài 10: LT tính và đưa ra màn hình vận tôc v khi chạm đất của 1 vật rơi tự do từ độ cao h, biết rằng v= trong đó gia tốc rơi tự do g=9.8 m/s2 độ cao h(m) được nhập từ bàn phím
-GV; Gọi HS lên

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

  • docxgiao_an_tin_hoc_lop_11_chuong_trinh_ca_nam_nam_hoc_2011_2012.docx