Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 16/8/2009 Ngày dạy : 17/08/2009
Tiết PPCT : 1
Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. MỤC TIÊU:
Kiến thức:
- Học sinh nhận biết được có ba 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 dược vai trò của chương thình dịch.
Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các loại ngôn ngữ
lập trình.
Thái độ: Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao. Liên hệ
được với quá trình giao tiếp trong đời sống.
II. CHUẨN BỊ:
Giáo viên: Một số ví dụ về ngôn ngữ lập trình.
Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng.
III. HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ: Nếu chỉ có thuật toán thì máy đã thực hiện được các bài toán mà chúng ta đã giải hay
chưa ?
3) Giảng bài mới:
Nội dung Hoạt động của GV và HS
Ngôn ngữ máy: Là ngôn ngữ duy nhất mà máy tính
có thể trực tiếp hiểu và xử lý đựơc.
Hợp ngữ: Là loại ngôn ngữ sử dụng một số từ để
thực hiện lệnh trên thanh ghi.
Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngôn
ngữ tự nhiên, ít phụ thuộc vào loại máy.
Chương trình dịch là chương trình đặc biệt, có chức
năng chuyển đổi chương trình đợc viết bằng ngôn
ngữ lập trình bậc cao sang ngôn ngữ máy.
Dùng máy chiếu diễn giải hai tình huống này.
Kết luận :
Biên dịch (Compiler): được thực hiện qua hai bước
- Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của
GV : Gọi một học sinh nhắc lại các khái niệm
: ngôn ngữ máy, hợp ngữ và ngôn ngư bậc
cao.
HS: Trả lời câu hỏi.
GV : Để chuyển đổi chương trình viết bằng
ngôn ngữ lập trình bậc cao sang ngôn ngữ
máy cần phải có gì?
HS : Đó là chương trình dịch.
GV : - Cho ví dụ từ thực tế : “ Người phóng
viên chỉ biết một ngôn ngữ là tiếng việt
phóng vấn một chính khách nước ngoài ”
thông qua người phiên dịch.
GV : Như vậy có hai cách để người phóng
viên có thể thực hiện công việc của mình :
biên dịch và thông dịch
CHƯƠNG TRÌNH NGUỒN
CHƯƠNG TRÌNH DỊCH
CHƯƠNG TRÌNH ĐÍCH
1
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
các câu lệnh trong chương trình nguồn
- Dịch toàn bộ chương trình nguồn thành một ch-
ơng trình đích có thể thực hiện trên máy và có thể l-
ưu trữ để sử dụng lại khi cần thiết
Thông dịch (Interpreter) đợc thực hiện bằng cách
lặp lại dãy các bước sau
- Kiểm tra tính đúng đắn của câu lệnh tiếp theo
trong chương trình 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âu lệnh vừa chuyển đổi được
4) CỦNG CỐ : Khái niệm lập trình? Chương trình dịch là gì? Khái niệm ngôn ngữ lập trình?
5) BÀI TẬP VỀ NHÀ:
IV. RÚT KINH NGHIỆM, BỔ SUNG:
2
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 20 /08/2009 Ngày dạy :24 /8/2009
Tiết PPCT : 2
&2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH.
I. MỤC TIÊU
- Kiến thức:
+ Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến.
+ Học sinh ghi nhớ được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình.
- Kĩ năng:
+ Phân biệt được tên, hằng và biến.
+ Biết cách đặt tên chúng và nhận biết được tên viết sai quy tắc.
- Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ trong lập trình.
II. CHUẨN BỊ:
Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính cá
nhân và máy chiếu ( nếu có).
Học sinh: Đọc trước ở nhà Sách giáo khoa.
III. HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ:
Câu hỏi :
1. Chương trình dịch là gì?
2. Biên dịch và thông dịch khác nhau như thế nào?
3) Giảng bài mới:
Hoạt động của GV và HS Nội dung
GV: Gọi HS trả lời ý nghĩa của việc đặt
tên?
HS: Tại chỗ trả lời.
GV: Nhận xét và đưa ra kết luận.
HS: Chú ý và ghi bài.
GV: Mọi đối tượng trong chương trình
đều phải được đặt tên theo quy tắc của
ngôn ngữ lập trình và từng chương trình
dịch cụ thể.
HS: Chú ý và ghi bài.
GV: Lấy ví dụ tên đặt sai và tên đặt
đúng và gọi học sinh nhận xét.
HS: - Tên đúng: a,b,c,x1, a_b.
- Tên sai: a bc, 2x.
GV: Ngôn ngữ Pascal không phân biệt
chữ hoa, chữ thường.
HS: Chú ý lắng nghe.
GV: Ngôn ngữ lập trình thường có ba
loại tên cơ bản: tên dành riêng, tên
chuẩn và tên do người lập trình đặt.
HS: Đọc SGK và trình bày về tên dành
riêng.
GV: Trong Pascal, khi soạn thảo, tên
dành riêng có màu trắng phân biệt với
các tên khác
2. Một số khái niệm
a. Tên
- Ý nghĩa của việc đặt tên và khai báo tên cho các đối
tượng:
+ Để quản lý và phân biệt các đối tượng trong chương
trình.
+ Để gợi nhớ nội dung của đối tượng.
- Qui tắc đặt tên trong Pascal:
Tên là một dãy liên tiếp không quá 127 kí tự bao gồm
các chữ cái, chữ số và dấu gạch dưới nhưng phải bắt
đầu bằng chữ cái hoặc dấu gạch dưới.
* Tên dành riêng:
- Là tên được dùng với ý nghĩa riêng xác định.
- Tên dành riêng còn được gọi là từ khoá.
3
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
GV: Gọi HS phát biểu về tên chuẩn.
HS: Tại chỗ trả lời
GV: Viết một số tên chuẩn.
HS: Ghi bài,
GV: Lấy ví dụ khi giải phương trình bậc
hai thì cần dùng các biến nào?
HS: Khi giải PTBH ta cần dùng các
biến: a,b,c, x1, x2, Delta để biểu diễn
nội dung của hệ số của phương trình;
các nghiệm của phương trình và biệt số
delta.
GV: Vậy các tên đó là tên do người lập
trình đặt.
GV: Nêu khái niệm hằng trong ngôn
ngữ lập trình.
HS: Tại chỗ trả lời.
GV: Lấy ví dụ cả ví dụ đúng và ví dụ sai
về hằng cho học sinh nhận biết.
HS: Nhận biết tên hằng đúng và tên
hằng sai.
Ví dụ: 123, ‘123’, ‘TRUE, 2+3,…
GV: Các biến được dùng trong chương
trình phải được khai báo.
GV: Khi viết chương trình người lập
trình có nhu cầu giải thích cho những
câu lệnh mình viết để khi đọc lại được
thuận tiện hoặc người khác đọc có thể
hiểu được chương trình mình viết, do
vậy các ngôn ngữ lập trình thường cung
cấp cho chúng ta cách đưa vào các đoạn
chú thích trong chương trình.
HS: Chú ý lắng nghe và ghi bài.
GV: Ví dụ một chương trình Pascal đơn
giản minh họa.
Ví dụ: Trong Pascal:
Program, uses, var, type, const, begin, end, array, type,
…
Trong C++: main, include, if, while, void.
* Tên chuẩn
- Được dùng với ý nghĩa nhất định nào đó, dùng riêng
thì phải khai báo.
Ví dụ:
Trong Pascal: abs, sqr, sqrt, cos, sin,…
Trong C++: cin, cout, getchar.
*Tên do người lập trình đặt
- Được dùng với ý nghĩa riêng, xác định bằng cách khai
báo trước khi sử dụng.
b. Hằng và biến.
Hằng
- Hằng là đại lượng có giá trị không thay đổi trong quá
trình thực hiện chương trình.
- Các ngôn ngữ lập trình thường có:
+ Hằng số: số nguyên và số thực.
VD: 2 , 1.0E-6,…
+ Hằng lôgic: Là giá trị đúng (True)hoặc sai (False).
+ Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, đặt
trong cặp dấu nháy.
Biến
- Là đại lượng được đặt tên, dùng để lưu trữ giá trị và
giá trị có thể được thay đổi trong quá trình thực hiện
chương trình.
c. Chú thích
- Các chú thích không làm ảnh hưởng đến chương trình.
- Trong Pascal chú thích được đặt trong {} hoặc (*và*).
- Trong C++ chú thích đặt trong /* và */ hoặc //.
4) CỦNG CỐ : Nhắc lại quy tắc đặt tên trong Pascal và khái niệm tên dành riêng, tên chuẩn, tên do người
lập trình đặt. Khái niệm hằng, biến và sự khác nhau giữa hằng và biến
5) BÀI TẬP VỀ NHÀ:
Hướng dẫn làm bài tập 5 và bài tập 6.
- Bài 6: Các hằng số: a,b,f,g; Các hằng xâu: d,i.
IV. RÚT KINH NGHIỆM, BỔ SUNG:
4
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 31 /8/2009 Ngày dạy :01/9/2009
Tiết PPCT : 3
BÀI TẬP .
I. MỤC TIÊU
- Kíến thức:
+ Củng cố lại cho HS những kiến thức đã học về lập trình, ngôn ngữ lập trình bậc cao, ngôn ngữ máy,
chương trình dịch, thông dịch, biên dịch qua các bài tập trắc nghiệm.
- Kĩ năng:
+ Xác định được tên đúng, tên sai, tên chuẩn, từ khoá.
+ Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể.
- 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.
+ 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. CHUẨN BỊ:
Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính cá
nhân và máy chiếu ( nếu có).
Học sinh: Làm bài tập trước ở nhà.
III. HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ ( 7 ‘)
Câu hỏi :
1. Nêu các thành phần cơ bản của ngôn ngữ lập trình?
2. Nêu quy tắc đặt tên trong Turbo Pascal?
Đáp án:
1. Ngôn ngữ lập trình có ba thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa.
- Bảng chữ cái: Là tập các kí tự được dùng để viết chương trình.
- Cú pháp: Là bộ quy tắc để viết chương trình.
- Ngữ nghĩa: Xác định ý nghĩa của các tổ hợp kí tự.
2. Quy tắc đặt tên trong Pascal:
- Đối tượng HS kiểm tra: HS trung bình.
3) Giảng bài mới:
Hoạt động của GV và HS Nội dung
GV: Gọi HS đọc câu hỏi 1, cả lớp suy
nghĩ trả lời.
HS: Đọc câu hỏi.
GV: Gọi HS đứng tại chổ trả lời.
GV: Gọi HS khác bổ sung. Sau đó GV
nhận xét câu trả lời và ghi đáp án.
HS: Chữa bài tập vào vở.
GV: Gọi HS đọc câu hỏi 2 và trả lời câu
hỏi 2.
HS: Tại chỗ trả lời và nêu khái niệm
Câu1: Tại sao người ta phải xây dựng các ngôn ngữ
lập trình bậc cao?
Người ta phải xây dựng các ngôn ngữ lập trình bậc cao,
vì:
- Ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên
hơn, thuận tiện cho đông đảo người lập trình.
- Chương trình viết bằng ngôn ngữ lập trình bậc cao nói
chung không phụ thuộc vào phần cứng máy tính.
- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ
hiệu chình và nâng cấp.
- Ngôn ngữ 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
việc mô tả thuật toán.
Câu2: Chương trình dịch là gì? Tại sao cần phải có
chương trình dịch.
- Chương trình dịch là chương trình đặc biệt, có chức
5
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
chương trình dịch.
GV: Nêu Input và Output của chương
trình dịch để gợi ý cho HS vai trò của
chương trình dịch.
HS: Tại chỗ trả lời.
GV: Gọi HS trả lời câu hỏi 3.
HS: Tại chỗ đọc câu hỏi.
GV: Gọi HS khác nhận xét câu trả lời,
bổ sung và đưa ra đáp án.
GV: Gọi HS khác nhận xét câu trả lời,
bổ sung và đưa ra đáp án.
GV: Gọi HS đọc câu hỏi 4, cả lớp suy
nghĩ câu hỏi.
GV: Gọi 1 HS trả lời.
GV: Nhận xét và nêu đáp án.
GV: Gọi HS đọc câu hỏi 5
GV: Gợi ý cho HS bằng cách gọi 1 HS
nêu quy tắc đặt tên trong Pascal và tên
được đặt khơng q ngắn, hay q dài
mà nên đặt sao cho gợi nhớ ý nghĩa đối
tượng mang tên đó.
HS: Tại chỗ đọc câu hỏi.
HS: Lên bảng làm.
GV: Chữa bài.
GV: Gọi HS đọc câu hỏi 6
GV: Từng câu a,b,…, i gọi lần lượt từng
HS: Trả lời:
- c) khơng phải là hằng vì dấu phẩy phải
thay bằng dấu chấm.
- e) là tên chưa rõ giá trị.
- h) thiếu dấu nháy đơn ơ cuối.
năng chuyển đổi chương trình được viết trên ngơn ngữ
bậc cao thành một chương trình đích có thể thực hiện
trên máy.
- Để một chương trình viết bằng ngơn ngữ bậc cao máy
có thể hiểu và thực hiện được thì phải có chương trình
dịch dịch sang ngơn ngữ máy.
Câu3: Biên dịch và thơng dịch khác nhau như thế
nào?
- Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định
chương trình nguồn có dịch được khơng và dịch tồn bộ
thành một chương trình đích có thể thực hiện trên máy
và có thể lưu trữ được.
- Trình thơng dịch lần lượt dịch từng câu ra ngơn ngữ
máy rồi thực hiện và khơng lưu lại trên máy.
Câu4: Hãy cho biết điểm khác nhau giữa tên dành
riêng và tên chuẩn? - Tên dành riêng khơng được
dùng khác với ý nghĩa đã xác định, tên chuẩn có thể
dùng với ý nghĩa khác.
Câu5: Hãy tự viết ra ba tên đúng theo quy tắc của
Pascal.
3 tên đúng trong Pascal:
abc; vidu3; _15a.
Câu6: Hãy cho biết những biểu diễn nào dưới đây
khơng phải là biểu diễn hằng trong Pascal và chỉ rõ lỗi
trong từng trường hợp.
a) 150.0; b) -22; c) 6,23; d) ‘43’ ; e) A20;
f)1.06E-15
g) 4+6 ; h) ‘c ; i) ‘True’.
- Các biểu diễn khơng phải là hằng: c), e), h).
4) CỦNG CỐ :
- Rèn luyện kĩ năng đặt tên, biến.
- Hiểu và nắm vững khái niệm chương trình dịch, hằng và biến,…
5) BÀI TẬP VỀ NHÀ:
- Hướng dẫn HS làm các bài tập trong SBT: BT 1.9; BT 1.10; BT 1.11; BT 1.12.
IV. RÚT KINH NGHIỆM, BỔ SUNG:
Ngày soạn : 06 /09/2009 Ngày dạy :08 /09/2009
Tiết PPCT : 4
CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
&3. CẤU TRÚC CHƯƠNG TRÌNH
§4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
I. MỤC TIÊU
- Kiến thức:
6
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
+ Hiểu chương trình là sự mơ tả của thuật tốn bằng một ngơn ngữ lập trình.
+ Biết cấu trúc của một chương trình đơn giản: cấu trúc chung và các thành phần.
+ Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, lôgic và miền con.
- Kĩ năng:
+ Nhận biết được các thành phần của một chương trình đơn giản.
+ Xác định kiểu cần khai báo của dữ liệu đơn giản.
- Thái độ:
+ Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều qui định nghiêm ngặt trong lập trình.
II. CHUẨN BỊ:
Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính cá
nhân và máy chiếu ( nếu có).
Học sinh: tham khảo trước tài liệu ở nhà.
III. HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ ( 7 ‘)
Câu hỏi :
Câu hỏi: Nêu qui tắc đặt tên trong Pascal? Phân biệt tên chuẩn và tên dành riêng?
Đáp án:
- Qui tắc đặt tên trong Pascal: Trong Pascal, tên là một dãy liên tiếp khơng q 127 kí tự bao gồm chữ số,
chữ cái hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới.
- Tên dành riêng khơng được sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng có thể dùng chúng
với ý nghĩa và mục đích khác.
Đối tượng kiểm tra: HS trung bình.
3) Giảng bài mới:
Hoạt động của GV và HS Nội dung
GV: Một ngơn ngữ lập trình bậc cao thường
có hai phần.
GV: Với quy ước: Các diễn giải bằng ngơn
ngữ tự nhiên được đặt trong cặp < và >
[ ] : Biểu diễn có thể có hoặc khơng.
HS: Phần thân chương trình nhất thiết phải có,
phần khai báo có thể có hoặc khơng tuỳ theo
từng chương trình dịch cụ thể.
GV: Nêu cấu trúc chung của một chương trình
Pascal đơn giản:
HS: Lắng nghe và ghi bài.
GV: Chúng ta tìm hiểu từng thành phần của
chương trình.
GV: Phần này có thể có hoặc khơng. Với
Pascal, nếu có phải khai báo theo đúng quy
tắc.
HS: Lên bảng
GV: Gọi HS lấy ví dụ về khai báo tên chương
trình đúng.
HS: Lên bảng
GV: Nhận xét.
GV: Mỗi ngơn ngữ lập trình thường có sẵn
một số thư viện cung cấp một số chương trình
I) CẤU TRÚC CHƯƠNG TRÌNH
1. Cấu trúc chung
- Cấu trúc chung:
[<phần khai báo>]
<phần thân>
- Trong Pascal:
Phần khai báo:
Program < tên chương trình>;
Uses < tên các thư viện>;
Const <tên hằng>=<giá trị của hằng>;
Var < tên biến>: <kiểu dữ liệu>;
Procedure …; <khai báo thủ tục>
Function …; <khai báo hàm>…
Phần thân:
Begin
{Dãy các câu lệnh};
End.
2. Các thành phần của chương trình
a. Phần khai báo
* Khai báo tên chương trình.
Trong Pascal:
Program <tên chương trình>;
Ví dụ:
7
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
thông dụng đã được lập sẵn. Để sử dụng các
chương trình đó cần khai báo thư viện chứa
nó.
GV: Trong Pascal, khai báo thư viện phải luôn
đặt đầu tiên, ngay sau dòng khai báo
program.
GV: Những gía trị xuất hiện nhiều lần trong
chương trình thì thường được khai báo hằng.
HS: Lắng nghe
GV: Khai báo hằng sẽ tạo điều kiện thuận lợi
cho việc chỉnh sửa lại giá trị của hằng trong
toàn bộ chương trình.
GV: Lấy ví dụ.
GV: - Biến chỉ nhận một giá trị tại mỗi thời
điểm thực hiện chương trình được gọi là biến
đơn.
GV: Khi cần viết chương trình quản lí học
sinh ta cần xử lí thông tin ở những dạng nào?
HS: Suy nghỉ và trả lời câu hỏi của GV.
GV: Phân tích câu trả lời của học sinh và đưa
ra một vài thông tin ở dạng như sau:
- Họ tên học sinh là những thông tin ở dạng
văn bản và dạng kí tự
- Điểm của học sinh là thông tin ở dạng số
thực.
- Số thứ tự của học sinh là thông tin ở dạng số
nguyên.
- Một số thông tin khác chỉ cần biết chúng là
đúng hay sai.
GV: Thuyết trình đưa ra một số bổ sung sau:
- Ngông ngữ lập trình nào cũng đưa ra một số
kiểu dữ liệu chuẩn đơn giản, từ những kiểu
đơn giản này ta có thể xây dựng thành những
kiểu dữ liệu phức tạp hơn.
- Kiểu dữ liệu nào cũng có miền giới hạn của
nó. Máy tính không thể lưu tất cả các số trên
trục số nhưng nó có thể lưu trữ với độ chính
xác cao.
- Tuỳ thuộc vào ngôn ngữ lập trình mà tên
của các kiểu dữ liệu khác nhau và miền giá trị
của các kiểu dữ liệu cũng khác nhau.
- Với mỗi kiễu dữ liệu người lập trình cần ghi
Program vidu;
Program tinhtong;
* Khai báo thư viện.
- Khai báo thư viện trong Pascal:
Uses crt; {Thư viện crt chứa các hàm vào/ra
chuẩn làm việc với màn hình và bàn phím}
Uses graph; {Thư viện graph chứa các hàm đồ
hoạ}
- Để xoá những gì trên màn hình sau khi khai báo
crt thì dùng lệnh clrscr.
- Trong C++:
#include <stdio.h>;
#include <conio.h>;
* Khai báo hằng:
- Trong Pascal:
Const MaxN = 1000;
PI = 3.1416;
* Khai báo biến: - Trong Pascal:
Var <danh sách biến>:<kiểu dữ liệu>;
Ví dụ: Giải phương trình bậc hai:
ax
2
+ bx +c = 0.
Khai báo: Var a,b,c,x1,x2,delta: real;
b. Phần thân chương trình
- Phần thân chương trình bao gồm dãy lệnh trong
phạm vi được xác định bởi cặp dấu hiệu mở đầu
và kết thúc.
- Trong Pascal, được bắt đầu và kết thúc bởi
Begin… End.
Begin
[<Dãy lệnh>];
End.
II. Kiểu dữ liệu chuẩn
1. Kiểu nguyên
Kiểu Số Byte Miền gi trị
Byte 1 0 255
Integer 2 - 215 215- 1
Word 2 0 216- 1
Longint 4 - 231 231- 1
2. Kiểu thực
- Có nhiều kiểu cho giá trị là số thực nhưng hay
dùng một số kiểu sau:
Kiểu Số
Byt
e
SCS
cĩ
nghĩa
Miền gi trị
Real 6 11- 12 2.9e
- 39
1.7e
38
Single 4 7- 8 1.5e
- 45
3.4e
- 38
Double 8 15- 16 5.4e
- 325
1.7e
- 308
Extended 10 19- 20 3.4e
- 4932
1.2e
4932
8
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
nhớ tên kiểu, miền giá trị và số ô nhớ để lưu
một giá trị thuộc kiểu đó.
- Trong lập trình nói trung thì kiểu kí tự
thường là tập kí tự trong bảng mã kí tự, mỗi kí
tự có một mã thập phân tương ứng. Để lưu các
giá trị thì phải lưu các mã thập phân tương
ứng của chúng.
Comp 8 19- 20 - 9.2e
18
9.2e
18
3. Kiểu kí tự
- Tn kiểu: Char
- Miền gi trị l cc gi trị trong bảng m ASCII gịm
256 kí tự. Mỗi kí tự cĩ 1 m tương ứng trong phạm
vi từ 0 đến 255
- Cc kí tự cĩ quan hệ so snh, việc so snh dựa trn m
của từng kí tự.
4. Kiểu Logic
- Tn kiểu: Boolean
- Miền giá trị: Chỉ có 2 giá trị là True (đúng) hoặc
False (sai).
4) CỦNG CỐ : Nhắc lại các khái niệm mới về cấu trúc chương trình gồm phần khai báo và phần thân
5) BÀI TẬP VỀ NHÀ:
Cho một chương trình mẫu về nhà yêu cầu học sinh chỉ rõ từng thành phần của chương trình đó.
Program venha;
Uses crt;
Var a,b: integer;
Begin
Clrscr;
Writeln(‘Nhâp a,b:’);
Readln(a,b);
Writeln(‘Tong hai so la:’,a+b:3);
Readln;
End.
IV. RÚT KINH NGHIỆM, BỔ SUNG:
9
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
10
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 13 /9/2009 Ngày dạy :15 /9/2009
Tiết PPCT : 5
§5 + 6. KHAI BÁO BIẾN
PHÉP TỐN, BIỂU THỨC, CÂU LỆNH GÁN
I. MỤC TIÊU
1. Về kiến thức:
- Hiểu được các khai báo biến.
- Biết được khái niệm: phép tốn, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ.
- Hiểu lệnh gán.
- Biết được một số hàm thơng dụng trong Pascal
2. Về kỹ năng:
- Khai báo biến đúng, nhận biết khai báo sai.
- Viết được lệnh gán
- Viết được cc biểu thức số học v logic với cc php tốn thơng dụng
3. Về thái độ:
- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ tính toán
và giải được một số bài toán.
II. CHUẨN BỊ:
Giáo viên: Soạn giáo án, sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính ( nếu có).
Học sinh: Cấu trúc chương trình.
III. HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ ( 7 ‘)
Câu hỏi :
Cấu trúc của một chương trình Pascal đơn giản là gì? Kết thúc của chương trình là gì ?
3) Giảng bài mới:
Hoạt động của GV và HS Nội dung
GV: Khai báo biến là chương trình báo cho
máy biết phải dùng những chương trình nào
trong chương trình.
HS: Lắng ghe và ghi chép
- Ví dụ 1: Để giải phương trình bặc nhất
ax+b=0 ta cần khai báo như sau:
Var a, b, x: Real
- Ví dụ 2: Để tính chu vi và diện tích của tam
giác cần khai báo các biến sau:
Var a, b, c, p, s, cv: Real;
Trong đó: a, b, c: Dùng để lưu độ dài của 3
cạnh tam giác;
P: là nữa chu vi;
CV, S: là chu vi và diện tích tam giác.
GV: Khi khai báo biến cần chú ý những điểm
gì?
HS: Suy ghĩ trả lời câu hỏi
GV: Phân tích câu trả lời của học sinh
I) Khai báo biến
- Trong NLT Pascal biến đơn được khai báo
như sau.
Var <danh sách biến>: <kiểu dữ liệu>;
Trong đó:
- Var: Là từ khố dùng để khai báo biến
- Danh sách biến: Tên các biến cách nhau bởi
dấu phẩy.
- Kiểu dữ liệu: Là một kiểu dữ liệu nào đó của
ngơn ngữ Pascal.
- Sau var là có thể khai báo nhiều danh sách biến
có những kiểu dữ liệu khác nhau.
- 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 q ngắn hay q dài, rễ
dẫn đến mắc lỗi hay hiểu nhầm.
- Khai báo biến cần quan tâm chú ý đến phạm vi
giá trị của nó.
11
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
GV: Trong khi viết chương trình ta thường
phải thực hiện tính toán, thực hiện các so sánh
để đưa ra quyết định xem làm việc gì? Trong
khi viết chương trình có giống với ngôn ngữ
tự nhiên không?
GV: Toán học có những phép toán nào?
HS: Đưa ra một số phép toán thường dùng
trong toán học.
GV: Chúng có được sử dụng trong ngôn ngữ
lập trình không?
- Chỉ có một số phép toán dùng được, một số
phép toán phải xây dựng từ các phép toán
khác.
- Ví dụ phép luỹ thừa không phải ngôn ngữ
nào cũng viết được.
- Mỗi ngôn ngữ khác nhau lại có cách kí hiệu
phép toán khác nhau.
GV: Trong toán học, biểu thức là gì?
HS: Đưa ra khái niệm
GV: Đưa ra khái niệm của biểu thức lập trình.
GV: Cách viết các biểu thức này trong lập
trình có giống với cách viết trong toán học
hay không?
HS: Đưa ra ý kiến của mình
GV: Phân tích ý kiến của học sinh.
GV: Đưa ra cách viết biểu thức và thứ tự thực
hiện phép toán trong lập trình.
GV: Cách viết biểu thức phụ thuộc vào từng
ngôn ngữ lập trình.
- Đưa ra một số biểu thức toán học và yêu cầu
các em viết chúng trong ngôn ngữ lập trình
Pascal.
- Gọi một vài học sinh lên bảng làm bài.
GV: Muốn tính X
2
ta làm thế nào?
HS: Có thể đưa ra là: x*x
GV: Như vậy muốn tính
x
, Sinx, cosx, ta
làm như thế nào?
HS: Chưa biết cách tính.
GV: Để tính giá trị đó được đơn giản, người ta
xây dựng sẵn một bộ chương trình trong thư
viện chương trình giúp người lập trình tính
toán nhanh các giá trị thông dụng.
GV: Với các hàm chuẩn cần quan tâm đến giá
trị của đối số và kiểu của giá trị trả về.
Ví dụ: Sinx thì đo bằng độ hay radian?
GV: Trong lập trình thường ta phải so sánh
hai giá trị nào đó trước khi thực hiện lệnh nào
đó. Biểu thức quan hệ còn được coi là biểu
II) PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
1. Phép Toán
* NLT Pascal sử dụng một số phép toán sau:
- Với số nguyên: +, - , *, Div, Mod
- Với số thực: +, - , *, /
- Các phép toán quan hệ: <, <=, >, >=, <> cho kết
quả là một giá trị Logic (true hoặc false).
- Các phép toán logic: NOT, OR, AND thường
dùng để kết hợp nhiều biểu thức quan hệ với
nhau.
2. Biểu thức số học
* Là một dãy các phép toán +, - , *, /, div và mod
từ các hằng, biến kiểu số và các hàm.
- Dùng cặp dấu () để quy định trình tự tính toán.
* Thứ tự thực hiện các phép toán:
- Trong ngoặc trước, ngoài ngoặc sau.
- Nhân chia trước, cộng trừ sau
- Giá trị của biểu thức có kiểu là kiểu của biến
hoặc hằng có miền giá trị lớn nhất trong biểu thức.
3. Hàm số học chuẩn
- Các ngôn ngữ lập trình thường cung cấp sẵn
một số hàm số học để tính một số giá trị thông
dụng.
- Cách viết: Tên_hàm (đối số)
- Kết quả của hàm phụ thuộc vào kiểu của đối số.
- Đối số của hàm là một hay nhiều biểu thức số
học đặt trong dấu ngoặc () sau tên hàm.
- Bản thân hàm cũng có thể coi là biểu thức số
học và có thể tham gia vào biểu thức như một toán
hạng bất kỳ.
* Bảng một số hàm chuẩn:
Học sinh xem SGK
4. Biểu thức quan hệ
* Có dạng như sau:
<Biểu thức 1> <phép toán quan hệ> <Biểu thức
2>
- Trong đó: Biểu thức 1 và biểu thức 2 phải cùng
kiểu.
- Kết quả của biểu thức quan hệ là True hoặc
False.
- Ví dụ: a>b hoặc 2*c<3*a
5. Biểu thức Logic
- Biểu thức Logic đơn giản nhất là hằng hoặc
biến Logic.
- Ví dụ: a, b, c là 3 cạnh của tam giác nếu thoã
mãn điều kiện:
12
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
thức so sánh 2 giá trị cho kết quả là True hoặc
False.
Ví dụ: 3>5 cho kết quả False
GV: Muốn so sánh nhiều giá trị cùng một lúc
thì làm thế nào?
HS: đưa ra ý kiến của mình (dùng biểu thức
quan hệ and, or )
- Đưa ra ví dụ cách viết đúng trong NLT
Pascal.
- Mỗi NLT có cách viết lệnh gán khác nhau.
GV: Cần chú ý đến điều gì khi viết lệnh gán?
HS: Đưa ra ý kiến.
GV: phân tích câu trả lời của học sinh sau đó
tổng hợp lại: Cần chú ý đến kiểu của biến và
kiểu của biểu thức.
GV: Minh hoạ một vài lệnh gán bằng một ví
dụ trực quan trên bảng hoặc trên màn hình.
(a+b>c) and (b+c>a) and (c+a>b)
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 ngôn
ngữ lập trình, thường dùng để gán giá trị cho biến.
- Cấu trúc: Tên biến:=biểu thức;
- Trong đó biểu thức phải phù hợp với tên biến,
nghĩa là kiểu của tên biến phải cùng với kiểu của
biểu thức hoặc phải bao hàm kiểu của biểu thức.
- Hoạt động của lệnh gán: Tính giá trị của biểu
thức sau đó ghi giá trị đó vào tên biến.
X1:=(- b + sqrt(delta))/(2*a);
X2:=(- b - sqrt(delta))/(2*a);
4) CỦNG CỐ : Các kiểu dữ liệu chuẩn: nguyên, thực, kí tự, lôgic. Cách khai báo biến
5) BÀI TẬP VỀ NHÀ:
- Làm bài tập 1,2,3,4,5 sgk trang 35
- Xem trước bài: Các thủ tục chuẩn vào/ra đơn giản. Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình.
IV. RÚT KINH NGHIỆM, BỔ SUNG:
13
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
14
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 20/9/2009 Ngày dạy : 22 /9/2009
Tiết PPCT : 6
§7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
§8. SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG TRÌNH
I. MỤC TIÊU
1. Về Kiến thức:
- Biết các lệnh vào ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin 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 chương trình.
- Biết một số công cụ của môi trường Turbo Pascal.
2. Về Kỹ năng:
- Viết một số lệnh vào ra đơn giản.
- Bước đầu sử dụng được chương trình dịch để phát hiện lỗi.
- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lý
của kết quả thu được.
3. Về Thái độ: Thấy được sự cần thiết của các thủ tục vào ra, sáng tạo trong vận dụng vào các bài toán
đơn giản.
II. CHUẨN BỊ:
Giáo viên: Soạn giáo án, sách giáo khoa, sách bài tập, tài liệu tham khảo. Máy tính ( nếu có).
Học sinh: Các kiến thức đã học trong các bài trước.
III. HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ ( 7 ‘)
2HS làm độc lập: Cho M, N là 2 biến nguyên. Điều kiện xác định M, N đồng thời là số chẵn hoặc đồng
thời là số lẻ được thể hiện trong Pascal như thế nào?
Đ/a: ((M mod 2 = 0) and (N mod 2 = 0)) Or ((M mod 2 =1) and (N mod 2 = 1))
3) Giảng bài mới:
Hoạt động của GV và HS Nội dung
1. Nêu vđ: Khi giải quyết một bài toán, ta
phải đưa dữ liệu vào máy tính xữ lí. Để
chtrình giải quyết được nhiều bài toán hơn, ta
phải sử dụng thủ tục nhập dữ liệu.
- Y/cầu Hs n/cứu Sgk cho biết cấu trúc chung
của thủ tục nhập dữ liệu trong NNLT Pascal:
- HS : N/cứu Sgk và trả lời:
Ví dụ: khi viết chtrình giải ptrình: Ax
2
+ Bx +
C = 0, ta phải nhập vào các đại lượng nào?
viết lệnh nhập?
Suy nghĩ, trả lời: phải nhập giá trị vào 3 biến
A, B, C. Lệnhnhập:Readln(A,B,C);
Treo bảng chứa chtrình Pascal đơn giản có
lệnh nhập giá trị cho 3 biến.
Hỏi: Khi nhập giá trị cho nhiều biến, ta phải
thực hiện như thế nào?
HS : Các giá trị phải được cách nhau ít nhất
một dấu cách (Space) hoặc kí tự xuống dòng
(Enter).
Hỏi: Lệnh Read và Readln khác nhau như thế
nào?
§7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN
GIẢN
1. Nhập dữ liệu vào từ bàn phím
Ta sử dụng thủ tục chuẩn read hoặc readln có
cấu trúc như sau:
read(<biến 1>,…,<biến n>);
readln(<biến 1>,…,<biến n>);
Ví dụ 1:
read(n);
readln(A,B,C);
* Chú ý: khi nhập giá trị cho nhiều biến thì
những giá trị này gõ cách nhau một dấu cách
hoặc kí tự xuống dòng (phím Enter).
2. Đưa dữ liệu ra màn hình
Để đưa dữ liệu ra màn hình tại vị trí con trỏ, ta
dùng thủ tục write hoặc writeln với cấu trúc:
Write(<giá trị 1>,…<giá trị n>);
Writeln(<giá trị 1>,…<giá trị n>);
Trong đó: các giá trị có thể là biến đơn, biểu
15
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
- Suy nghĩ, trả lời : Read: …… Readln: ……
GV : Sau khi xữ lí xong, để nhìn thấy được
kết quả ta phải dùng thủ tục xuất dữ liệu.
Y/cầu hs n/cứu Sgk cho biết cấu trúc chung
của thủ tục xuất dữ liệu trong NNLT Pascal
- N/cứu Sgk và trả lời.
Ví dụ: Khi viết CT giải pt: ax+b=0, ta phải
đưa ra màn hình gtrị nghiệm
-b/a, ta phải viết lệnh như thế nào?
HS : Writeln(-b/a);
Để nhập giá trị cho 1 biến từ bàn phím, ta
thường đưa thêm câu dẫn dắt sau đó mới đến
câu lệnh nhập. Bằng cách dùng cặp thủ tục
write và read.
Ví dụ: Write(‘Moi ban nhap 3 so:’);
Hỏi: chức năng câu lệnh writeln();
Viết ra màn hình dòng chữ và đưa con trỏ
xuống dòng.
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 học sinh
khởi động Pascal trên máy tính. Học sinh chú
ý lắng nghe và theo dõi hình minh họa
Giới thiệu các thành phần cơ bản của màn
hình soạn thảo (màn hình làm việc).
Giới thiệu một số thao tác thường dùng khi
soạn thảo, dịch, hiểu chỉnh, chương trình
thức, tên hàm hoặc hằng.
Ví dụ : xét chương trình sau
Program vd;
Uses crt;
Var tuoi:byte;
Begin
Clrscr;
Write(‘Moi ban nhap 3 so:’);readln(a,b,c)
Write(‘Ban vua nhap 3 so:’,a,b,c);
Write(‘Ban go ENTER de ket thuc’);
Readln;
End.
Ghi chú: - Các thủ tục readln và writeln có thể
không có tham số.
- Quy cách đưa thông tin ra: Kết quả số thực
:<độ rộng>:<số chữ số thập phân>
Kết quả khác :<độ rộng>
Độ rộng và số chữ số thập phân là các hằng
nguyên dương.
Ví dụ:
Writeln(n:5,x:6:2);
Write(i:3,j:4,a+b:8:3);
§8. SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU
CHỈNH CHƯƠNG TRÌNH
Một số thao tác thường dùng:
+ Lưu chương trình: F2
+ Mở file đã có: F3
+ Biên dịch chương trình: Alt+F9
+ Chạy chương trình: Ctrl+F9
+ Đóng cửa sổ chương trình: Alt+F3
+ Thoát khỏi TP: Alt+X
4) CỦNG CỐ : Trình bài một số thao tác thường dùng khi soạn thảo chương trình?
Khi viết read(x,y,z); write(‘x’,y,z); nó có ý nghĩa như thế nào?
5) BÀI TẬP VỀ NHÀ: So sánh sự giống nhau và khác nhau của các cặp lệnh write()/writeln() và
read()/readln().
- Làm bài tập 9, 10 sgk trang36
* Xem phụ lục B sgk: Trang 122: Môi trường Turbo Pascal. Trang 136: Một số thông báo lỗi
IV. RÚT KINH NGHIỆM, BỔ SUNG:
16
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 26/9/2009 Ngày dạy : 29/8/2009, 16/10/2009
Tiết PPCT : 7- 8
BÀI TẬP THỰC HÀNH SỐ 1
I. MỤC TIÊU
1. Kiến thức
- Biết được một chtrình Pascal hoàn chỉnh.
- Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu, dịch, thực hiện chtrình.
2. Kĩ năng
- Soạn thảo được chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh.
- Bước dầu biết phântích và hoàn thành chtrình đơn giản trên Pascal
3. Thái độ: Tự giác, tích cực và chủ động trong thực hành
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên: Phong máy vi tính được cài đầy đủ Turbo Pascal, projector để hướng dẫn
2. Học sinh: Sgk, sách bài tập và bài tập đã viết ở nhà
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (8 phút) Kiểm tra bài cũ
Hoạt động của GV và HS Nội dung
Viết chtrình nhập vào một số và tính bình phương
của số đó.
Cho 2 hs xung phong lên bảng
Nhận xét, đánh giá, cho điểm
Chtrình đạt yêu cầu:
Var x, y: integer;
Begin
Write(‘nhap vao một so ’); readln(x);
Y:= sqr(y);
Write(y); readln
End.
2. Hoạt động 2: (30phút)Tìm hiểu một chtrình hoàn chỉnh
a. Nội dung: Cho chương trình sau:
Program Giai_pt;
Uses crt;
Var a, b, c, d, x1, x2: real;
Begin
Clrscr;
Write(’nhap a b c ’); Readln(a, b, c);
D:= b*b-4*a*c;
X1:= (-b-sqrt(d))/(2*a);
X2:= (-b+sqrt(d))/(2*a);
Writeln(’x1=’,x1:6:2,’ x2=’,x2:6:2);
Readln
End.
b. Các bước tiến hành:
Hoạt động của GV và HS Nội dung
1. Chiếu chtrình lên bảng. Y/cầu hs thực hiện các nhiệm
vụ:
- Soạn chtrình vào máy
- Lưu chtrình
- Dịch lỗi cú pháp
- Thực hiện chtrình
- Nhập dữ liệu 1 -3 2. Thông báo kết quả
- Trở về màn hình soạn thảo
Program Giai_pt;
Uses crt;
Var a, b, c, d, x1, x2: real;
Begin
Clrscr;
Write(’nhap a b c ’);
Readln(a, b, c);
D:= b*b-4*a*c;
17
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
- Thực hiện chtrình
- Nhập dữ liệu 1 0 2. Thông báo kết quả.
- Vì sao có lỗi xuất hiện?
HS:
1. Quan sát chtrình, đọc lập soạn vào máy
F2
Alt+F9
Ctrl+F9
x1=1.00 x2=2.00
Enter
Ctrl+F9
Thông báo lỗi
Do căn bậc hai của một số âm
X1:= (-b-sqrt(d))/(2*a);
X2:= (-b+sqrt(d))/(2*a);
Writeln(’x1=’,x1:6:2,’ x2=’, x2:6:2);
Readln
End.
3. Hoạt động 3: (45 phút)Rèn luyện kĩ năng lập chương trình.
a. Mục tiêu: Hs soạn, lưu, dịch và thực hiện được chương trình
b. Nội dung: Viết chương trình nhập từ bàn phím 2 số thực a và b, tính và đưa ra màn hình trung bình cộng
các bình phương của hai số đó.
c. Các bước tiến hành:
Hoạt động của GV và HS Nội dung
1. Định hướng để hs phân tích bài toán
- Dữ liệu vào:
- Dữ liệu ra:
- Cách tính:
HS :
1. Phân tích theo yêu cầu của gv
- Dữ liệu vào: a b
- Dữ liệu ra: tb
- tb =(a
2
+b
2
)/2
GV: 2. Y/cầu hs tự sọan chtrình và lưu lên máy.
HS: 2. Thực hiện các y/cầu của gv
- Soạn chtrình
- F2, gõ tên file để lưu
- Alt+F9 : biên dịch lỗi
- Ctrl+F9: t/hiện chtrình
Quan sát hướng dẫn từng nhóm hs trong lúc thực hành
Bài toán: Viết chương trình nhập từ
bàn phím 2 số thực a và b, tính và
đưa ra màn hình trung bình cộng các
bình phương của hai số đó.
- nhập dữ liệu và thông báo kết quả
- Với a=5, b=7
- Với a=7, b=-5
-Nhập dữ liệu theo y/cầu.
- Với a=5, b=7 thì tb=37
- Với a=7, b=-5thì tb=37
IV. ĐÁNH GIÁ CUỐI BÀI (7phút)
1. Nội dung đã học
Các bước để hoàn thành một chương trình: - Phân tích bài toán để xácđịnh dữ liệu vào/ra; xác định thuật
toán; soạn thảo chtrình vào máy; lưu trữ chtrình; biên dịch chtrình; thực hiện và hiệu chỉnh chtrình
2. Câu hỏi, bài tập về nhà: - Viết chương trình nhập vào độ dài 3 cạnh của một tam giác, tính chu vi, diện
tích của tam giác đó.
18
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 11 /10/2009 Ngày dạy : 13 /10/2009
Tiết PPCT : 9
BÀI TẬP
I. MỤC TIÊU
1. Kiến thức: Biết phânbiệt các loại biểu thức trong NNLT
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.
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên: bài giải các bài tập sgk
2. Học sinh: sgk
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 2: (10 phút) Bài tập 8/sgk/36
a. Mục tiêu: Xây dựng được biểu thức logic làm điều kiện để giải một số bài toán đơn giản
b. Nội dung: Viết biểu thức lôgic cho kết quả True khi tọa độ (x, y) là điểm nằm trong vùng gạch chéo kể
cả biên của hình 2.a và 2.b (trang 36/sgk)
c. Các bước tiến hành:
Hoạt động của GV và HS Nội Dung
Tóm tắt lí thuyết
Nhắc lại một số Nội dung trong phần chương II
Tại sao phải khai báo biến?
Trong Pascal, nếu một biến chỉ nhận giá trị trong phạm vi
từ 5 đến 25252 thì biến đó có thể nhận khai báo bằng các
kiểu dữ liệu nào?
1. Hình 2.a:
Y/cầu hs quan sát hình và trả lời các câu hỏi:
- Giá trị của y trong vùng gạch chéo?
- Giá trị của x trong vùng gạch chéo? HS: Quan sát hình và
trả lời
0<=y<=1
-1<=x<=1
- Điểm A(x,y) thì x, y có quan hệ thế nào?
HS: |x|<=y
- Y/cầu hs từ các biểu thức quan hệ viết ra bthức lôgic theo
yêu cầu của đề?
HS: (|x|<=y) and ((x>=-1)and (x<=1)) and ((y>=0)
andy<=1)
- Phân tích các giá trị x, y để đơn giản biểu thức
(y<=1) and (abs(x)<=y)
Chú ý lắng nghe, để ý cách xác định giá trị đúng.Tự làm
2. Hình 2.b
Y/cầu hs tự làm, tương tự hình 2.a
Bài tập làm thêm :Hãy chuyển các biểu thức toán học
dưới đây sang Pascal.
a. 2x
2
- 5x + 1 = 0; b. (1+x
3
)(
1−x
);
c. (
4
2
13 +x
)(| x- 3|);
d.
2
3
2
2
2
1
)252(
x
x
xx
−
+−
e. 2
- Một chương trình thường gồm có 2
phần: Phần khai báo và phần thân
chương trình, phần khi báo có thể có
hoặc không.
- Kiểu dữ liệu chuẩn: Kiểu nguyên,
kiểu thực, kiểu kí tự và kiểu logic.
- Các biến trong chương trình đều
phải được khai báo và mỗi biến chỉ
khai báo một lần.
- Các phép toán: Số học, quan hệ và
logic
- Các loại biểu thức: Số học, quan hệ
và logic.
- Các ngôn ngữ lập trình có:
+ Lệnh gán dùng để gán giá trị
của biểu thức cho biến.
+ Các thủ tục chuẩn dùng để
đưa dữ liệu vào và ra.
Câu hỏi và bài tập
Bài tập 8/sgk/36
ĐS: (y<=1) and (abs(x)<=y)
Bài tập làm thêm
a. 2*x*x-5*x-1=0
b. (1+x*x*x)*sqrt(x-1)
c. Sqrt(sqrt(3*x*x+1))*abs(x-3)
d. (2*x*x-5*x+2)/(1-(2*x*x*x/
(2*x*x))
19
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
)23)(1(
2
−− yx
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: Cấu trúc rẽ nhánh, sgk trang 38
V. RÚT KINH NGHIỆM, BỔ SUNG:
20
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 18/10/2009 Ngày dạy : 19 /10/2009
Tiết PPCT : 10
KIỂM TRA 1 TIẾT
I. MỤC TIÊU
1. Kiến thức: Củng cố các kiến thức về ngôn ngữ lập trình, cấu trúc chương trình, khai báo biến, các biểu
thức trong Pascal, các câu lệnh vào ra đơn giản.
2. Kĩ năng: Viết được các biểu thức số học trong Toán học sang dạng tương ứng trong Pascal và ngược
lại, viết được chương trình đơn giản.
3. Thái độ: Nghiêm túc trong khi làm bài.
II. ĐỒ DÙNG DẠY HỌC
1. Giáo viên: Đề kiểm tra, đáp án, biểu điểm cho các lớp.
2. Học sinh: ôn lại các kiến thức đã học.
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (5 phút) Ghi đề.
Đề 1: (lớp 11A
1
)
Câu 1: (3 điểm) Biến là gì? Viết cấu trúc của khai báo biến trong Pascal và lấy ví dụ minh hoạ?
Câu 2: (3 điểm) : Hãy viết các biểu thức toán học sau sang dạng tương ứng trong Pascal:
a)x + yz;
b)-1 ≤ cosx ≤ 1
c)| x
3
+
x x+
|
Câu 3: (4 điểm) Viết chương trình Pascal đưa ra màn hình dòng chữ : “Lop 11a1 xin chao cac ban”
Đề 2: (lớp 11A
2
)
Câu 1: (3 điểm) Nêu các thành phần của ngôn ngữ lập trình. Phân biệt tên chuẩn và tên dành riêng.
Câu 2: (4 điểm) : Hãy viết các biểu thức toán học sau sang dạng tương ứng trong Pascal:
a)
x y
xy
+
b)
2
2 ( 1)x x− −
c) | x +
2
x x+
|
d)
1x
y x
≥
f
Câu 3: (3 điểm) Viết chương trình Pascal đưa ra màn hình dòng chữ : “Lop 11a2 xin chao cac ban”
Đề 3: (lớp 11A
3
)
Câu 1: (3 điểm) Nêu chức năng của chương trình dịch. Phân biệt quá trình thông dịch và biên dịch.
Câu 2: (4 điểm) : Hãy viết các biểu thức toán học sau sang dạng tương ứng trong Pascal:
a) xy + 3
b)
x y
xy
+
c)
2 2 2
x y R+ ≤
d) | x +
x x+
|
Câu 3: (3 điểm) Viết chương trình Pascal đưa ra màn hình dòng chữ : “Lop 11a3 xin chao cac ban”
ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM (ĐỀ 1)
ĐÁP ÁN, HƯỚNG DẪN CHẤM BIỂU ĐIỂM
21
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Câu 1 :
Biến là đại lượng được đặt tên dùng để lưu trữ giá trị và giá trị của nó có thể
thay đổi trong quá trình thực hiện chương trình.
Cấu trúc khai báo biến :
Var <danh sách biến> : <kiể dữ liệu>;
Ví dụ : Var a: integer;
1,5 điểm
1,0 điểm
0,5 điểm
Câu 2:
a) x + y*z;
b) -1 <= cos(x) and cos(x) <= 1
c) Abs(x*x*x + sqrt(x+sqrt(x)))
1,0 điểm
1,0 điểm
1,0 điểm
Câu 3:
Program vd;
Begin
Write(‘Lop 11a1 xin chao cac ban’);
End.
1,0 điểm
1,0 điểm
1,0 điểm
1,0 điểm
IV. ĐÁNH GIÁ CUỐI BÀI
1. Dặn dò về nhà
Xem trước bài: Cấu trúc rẽ nhánh, sgk trang 38
V. RÚT KINH NGHIỆM, BỔ SUNG:
22
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 25 /10/2009 Ngày dạy : 27 /10/2009
Tiết PPCT : 11
CẤU TRÚC RẼ NHÁNH (t1/2)
I.MỤC ĐÍCH YÊU CẦU:
Kiến thức:Giới thiệu tổ chức rẽ nhánh, cú pháp và chức năng các câu lệnh rẽ nhánh (dạnh thiếu và
dạng đầy đủ).
Kỹ năng: Rèn luyện kỹ năng sử dụng câu lệnh rẽ nhánh để viết các chương trình có sử dụng các câu
lệnh này.
II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Đồ dùng dạy học: Máy tính điện tử
2.Phương pháp dạy học: Giải quyết vấn đề
3.Sự chuẩn bị ở nhà: Các kiến thức học sinh đã học trong các bài học trước
III.TIẾN HÀNH BÀI DẠY:
1. Ổn định lớp:(2’) Vắng: Trể:
2.Dạy bài mới:(30 - 37’)
Hoạt động của Giáo viên và Học sinh Nội dung
Câu hỏi: Những câu nói sau đây có dạng của mậnh
đề gì?
Trả lời:
-Chiều mai nếu trời không mưa thì Châu đến nhà
Ngọc chơi.
Câu nói trên có dạng: Nếu Thì
-Chiều mai nếu trời không mưa thì Châu đến nhà
Ngọc soạn bài, nếu trời mưa thì Châu gọi điện cho
Ngọc để trao đổi.
Câu nói trên có dạng: Nếu Thì , Ngược lại thì
Câu hỏi: Em hãy vẽ sơ đồ khối của bài toán trên.
Trả lời: HS lên bảng vã sơ đồ khối của bài toán
GV nhận xét
Câu hỏi: trong cú pháp của hai câu lệnh, em hãy giải
thích các thành phần trong câu lệnh
Trả lời:
IF, THEN, ELSE: Từ khoá
Điều kiện là biểu thức logic hoặc biểu thức quan hệ.
khi tính giá trị của điều kiện thì trả lại một trong 2 giá
trị T hoặc F.
Câu lệnh1, câu lệnh 2, câu lệnh là một câu lệnh bất kỳ
đã học
Câu hỏi: Hãy vẽ sơ đồ khối minh hoạ sự thực hiện
của câu lệnh IF
Trả lời:
I.RẼ NHÁNH:
Một trong hai việc cụ thể chắc chắn sẽ
xảy ra, còn việc một hay việc hai sẽ được
thực hiện thì tuỳ thuộc vào điều kiện cụ
thể có thảo mãn hay không.
Các mênh đề rẽ nhánh thường có dạng:
Nếu Thì
Nếu Thì Nếu không thì
Ví dụ: Thuật toán giải và biện luận
phương trình bậc nhất ax + b = 0
Bước 1: Nhập a, b
Bước 2: Nếu a<>0 thì x:=-b/a bước 4
Ngược lại bước 3
Bước 3: Nếu b<>0 thì thông báo phương
trình vô nghiệm
Ngược lại thông báo phương trình vô số
nghiệm.
Bước 4: Đưa x ra màn hình.
II.CÂU LỆNH IF THEN
1.Cú pháp:
a)Dạng thiếu:
IF <Điều kiện> THEN<Câu lênh>;
b)Dạng đủ:
IF <Điều kiện> THEN <Câu lệnh 1>
ELSE <Câu lệnh 2>;
Trong đó:
IF, THEN, ELSE là từ khoá
Điều kiện: Là biểu thức Logic hoặc biểu
thức quan hệ.
Câu lệnh, câu lệnh 1, câu lệnh 2 (Câu
lệnh sau từ khoá THEN và ELSE là một
23
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
a)Dạng thiếu:
b)Dạng đủ:
câu lệnh duy nhất.
2.Sự thực hiện:
a)Dạng thiếu:
Bước 1: Tính giá trị của biểu thức điều
kiện.
Bước 2: Kiểm tra giá trị cảu biểu thức
điều kiện
-Nếu biểu thức đk có giá trị đúng thì thực
hiện câu lệnh sau từ khoá THEN, rồi
thoát ra khỏi câu lệnh IF
-Nêu biểu thức đk có giá trị F thì thoát ra
khỏi câu lệnh IF
b)Dạng đủ
Bước 1: Tính giá trị của biểu thức điều
kiện.
Bước 2: Kiểm tra giá trị cảu biểu thức
điều kiện
-Nếu biểu thức đk có giá trị đúng thì thực
hiện câu lệnh sau từ khoá THEN, rồi
thoát ra khỏi câu lệnh IF
-Nêu biểu thức đk có giá trị F thì thực
hiện câu lệnh 2, rồi thoát ra khỏi câu lệnh
IF.
3.Hoạt động củng cố:(1-3’) Nhắc lại cú pháp và chức năng của câu lệnh rẽ nhánh dạng khuyết và câu lệnh
rẽ nhánh dạng đủ
4.Hướng dẫn học sinh về nhà:(2-3’)
- Học các nội dung: Cú pháp và chức năng cảu các câu lệnh rẽ nhánh
- Bài tập: 1/SGK
- Chuẩn bị bài mới: Sau Then và ELSE có thể sử dụng từ hai câu lệnh trở lên được không, nếu được
thì làm thế nào?
24
Kết thúc
Câu lệnh 2
Điều kiện
Điều kiện
Đúng
Câu lệnh
1
Đúng
Câu lệnh
Giáo án Tin học 11 – năm học 2009 – 2010 GV: Nguyễn Phúc Đức
Ngày soạn : 25 /10/2009 Ngày dạy : 3 /11/2009
Tiết PPCT : 12
CẤU TRÚC RẼ NHÁNH (t2/2)
I.MỤC ĐÍCH YÊU CẦU:
Kiến thức:Giới thiệu cú pháp và chức năng của câu lệnh ghép và một số ví dụ minh hoạ.
Kỹ năng: Rèn luyện kỹ năng sử dụng câu lệnh ghép khi sau từ kháo THEN và ELSE có từ 2 câu lệnh
trở lên.
II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Đồ dùng dạy học: Máy tính điện tử.
2.Phương pháp dạy học: Giải quyết vấn đề
3.Sự chuẩn bị ở nhà: Các kiến thức học sinh đã học trong các bài học trước
III.TIẾN HÀNH BÀI DẠY:
1. Ổn định lớp:(2’) Vắng: Trể:
2.Kiểm tra bài củ( 5-7’):
1. Nêu cú pháp và chức năng của câu lệnh rẽ nhánh dạng khuyết?
2.Nêu cú pháp và chức năng của các câu lệnh rẽ nhánh dạng đầy đủ?
2.Dạy bài mới:(30 - 37’)
Hoạt động của Giáo viên và Học sinh Nội dung
Câu hỏi: Sau THEN và ELSE có thể viết bao
nhiêu câu lệnh
Trả lời: Chỉ một câu lệnh duy nhất.
GV: TỶong trường hợp sau THEN và ELSE ta
có từ 2 câu lệnh trở lên thì ta phải ghép chúng lại
thành một nhóm nằm giữa 2 từ khoá Begin và
end được gọi là câu lệnh ghép.
Câu hỏi: Câu lệnh ghep được xem là bao nhiêu
câu lệnh.
Trả lời: Là một câu lệnh
GV: Gọi hoc sinh lên bảng viết chương trình của
bài toán trên.
Có thể viết ngay trên máy tính để thực hiện thử.
GV: Gọi một HS lên chạy chương trình và sữa
lỗi.
Cho HS chép bài vào vở
III.CÂU LỆNH GHÉP:
Khi sau THEN và sau ELSE có từ 2 câu lệnh
trở lên ta phải ghép chúng lại thành một nhóm
nằm giữa 2 từ khoá BEGIN và END.
1.Cú pháp:
BEGIN
CL1;
CL2;
CLn
END;
2.Giải thích:
BEGIN, END: Từ khoá
CL1, CL2, , CLn là các câu lệnh bất kỳ
IV.MỘT SỐ VÍ DỤ:
1.Ví dụ 1: Tìm nghiệm của phương trình bậc
2: ax
2
+ bx + c = 0 với a<>0
PROGRAM vidu1;
VAR a,b,c,x,x1,x2,delta:real;
BEGIN
Write(‘nhap a,b,a’); readln(a,b,c);
Delta:=b*b-4*a*c;
IF delta <0 THEN writeln(‘phuong
trinh vo nghiem’)
ELSE IF delta=0 THEN
Begin
X:=-b/2*a;
Writeln(‘phuong trinh co 1
nghiem la:’,x:8:2);
End
25