Trường THPT Nguyễn Trãi
Năm học 2011-2012
Chương 1: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tuần: 01
Tiết: 01
Ngày soạn:08/08/2011
Ngày dạy: …/…/……
Bài 1: KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Nắm được các thành phần cơ bản của ngôn ngữ lập trình nói chung
- Biết được khái niệm về chương trình dịch
- Phân biệt được chươn trình dịch là biên dịch và thông dịch
2. Kỹ năng
- Biết vai trò của chương trình dịch
- Hiểu ý nghĩa nhiệm vụ của chương trình dịch
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.
2. Hs: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. NỘI DUNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ: Không kiểm tra
3. Bài mới
Hoạt động của GV & HS
Nội dung
Hoạt động 1: Khái niệm về lập trình và ngôn ngữ lập trình
GV: Đặt câu hỏi 1: Em hãy cho biết các
bước giải một bài toán trên máy tính?
Khái niệm lập trình: Lập trình là sử dụng
HS: Suy nghĩ và trả lời câu hỏi.
một cấu trúc dữ liệu và các câu lệnh của
GV: Phân tích câu trả lời của học sinh.
một ngôn ngữ lập trình cụ thể để mô tả dữ
Nhắc lại các bước giải bài toán trên máy liệu và diễn đạt thuật toán .
tính đã học ở lớp 10.
GV: Đặt câu hỏi 2: Em hãy cho biết có -Trả lời câu hỏi: Có 3 loại ngôn ngữ lập
mấy loại ngôn ngữ lập trình?
trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ
HS: Trả lời câu hỏi của giáo viên.
bậc cao.
GV: Phân tích câu trả lời của học sinh.
Mỗi loại máy có một ngôn ngữ riêng, Chương trình viết bằng ngôn ngữ máy có
thường thì chương trình viết bằng ngôn thể nạp trực tiếp vào bộ nhớ thi hành ngay.
ngữ của máy nào chỉ chạy được trên máy
Giáo án tin học 11
1
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
đó.
Khi viết chương trình bằng ngôn ngữ bậc Chương trình viết bằng ngôn ngữ bậc cao
cao muốn thi hành được trên loại máy nào nói chung không phụ thuộc loại máy, muốn
thì cần chuyển chương trình sang ngôn ngữ thi hành được thì nó phải được chuyển sang
máy của máy đó.
ngôn ngữ máy.
Hoạt động 2: Phân loại chương trình dịch
GV: Đặt câu hỏi 3 : Làm thế nào để chuyển =>Cần phải có chương trình dịch để
chương trình viết bằng ngôn ngữ bậc cao chuyển chương trình viết bằng ngôn ngữ
sang ngôn ngữ máy?
lập trình bậc cao sang ngôn ngữ máy để
máy có thể thi hành được.
Đưa ra ví dụ : 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 một người làm phiên dịch người đó
phải dịch như thế nào? (Dịch ngay từng
câu khi 2 người nói chuyện)
+ Khi một người muốn dịch 1 cuốn sách
sang tiếng Việt thì làm thế nào? (Dịch
toàn bộ cuốn sách đó sang tiếng Việt để
người đó có thể đọc được)
Chương trình dịch có 2 loại: Biên dịch và
thông dịch
+ Biên dịch (Compiler): Thực hiện các
bước sau:
GV: Lấy ví dụ về biên dịch và thông dịch Duyệt, kiểm tra, phát hiện lỗi và kiểm tra
cho học sinh có thể hình dung được mỗi tính đúng đắn của các câu lệnh trong
công việc.
chương trình nguồn .
Biên dịch: Sử dụng ngôn ngữ lập trình
Pascal để dịch một chương trình viết sẵn ra
đĩa và thi hành chương trình đã dịch để học
sinh quan sát.
Dịch toàn bộ chương trình nguồn thành
một chương trình đích (ngôn ngữ máy) để
có thể thực hiện trên máy và có thể lưu trữ
để sử dụng lại khi cần.
Thông dịch: Sử dụng các lệnh trong
Command promt để thực hiện một số lệnh
của DOS hoặc dùng ngôn ngữ Foxpro để
thực hiện một số lệnh quản trị dữ liệu, học
sinh dễ dàng nhận ra việc thông dịch.
+ 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 được thực hiện bằng cách lặp
lại dãy các bước sau:
Đi kèm với các chương trình dịch thường
có các công cụ như soạn thảo chương trình Kiểm tra tính đúng đắn của câu lệnh tiếp
nguồn, lưu trữ, tìm kiếm, phát hiện lỗi,
theo trong chương trình nguồn
thông báo lỗi,… ngôn ngữ lập trình thường
chứa tất cả các dịch vụ trên
Chuyển đổi các câu lệnh đó thành một
hay nhiều câu lệnh trong ngôn ngữ máy.
Thực hiện các câu lệnh vừa chuyển đổi
được
Giáo án tin học 11
2
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
4. Cũng cố
Nhắc lại một số khái niệm mới.
V. PHỤ LỤC
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………
Tuần: 01
Giáo án tin học 11
Ngày soạn:08/08/2011
3
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
Ngày dạy: …/…/……
Tiết: 02
Bài 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Biết một số khái niệm như: tên, tên chuẩn, tên dành riêng, ….
2. Kỹ năng
- Phân biệt được tên chuẩn với tên dành riêng và tên do người lập trình đặt.
- Nhớ các quy tắc đặt tên hằng và biến
- Biết đặt tên đúng, nhận biết tên sai.
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.
2. Hs: Hiểu kiến thức ở bài 1, đọc trước SGK bài 2.
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. NỘI DUNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ
Câu 1: Thế nào là lập trình, ngôn ngữ lập trình?
Câu 2: Chương trình dịch là gì? Có mấy loại chương trình dịch?
3. Bài mới
Hoạt động của GV & HS
Nội dung
Hoạt động 1: Các thành phần của ngôn ngữ lập trình
GV: Các ngôn ngữ lập trình nói chung
thường có chung một số thành phần như: 1.Các thành phần cơ bản:
Dùng những ký hiệu nào để viết chương
trình, viết theo quy tắc nào, viết như vậy có - Mỗi ngôn ngữ lập trình thường có 3
ý nghĩa là gì? Mỗi ngôn ngữ lập trình có thành phần cơ bản là : bảng chữ cái, cú
một quy định riêng về những thành phần pháp và ngữ nghĩa.
này.
Ví dụ: Bảng chữ cái của các ngôn ngữ lập
trình khác nhau có sự khác nhau. Chẳng hạn
ngôn ngữ Pascal không sử dụng dấu ! nhưng
ngôn ngữ C++ lại sử dụng ngôn ngữ này.
a.Bảng chữ cái: Là tập các ký hiệu dùng
để viết chương trình.
-Trong ngôn ngữ Pascal bảng chữ cái
gồm: Các chữ cái trong bảng chữ cái tiếng
Anh, các chữ số 0 9 và một số ký tự
đặc biệt (xem trong SGK)
- Cú pháp các ngôn ngữ lập trình khác nhau b.Cú pháp: Là bộ quy tắc dùng để viết
cũng khác nhau, ngôn ngữ Pascal dùng cặp chương trình.
từ Begin – End để gộp nhiều lệnh thành 1
lệnh nhưng C++ lại dùng cặp kí hiệu {}.
Giáo án tin học 11
4
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
Ví dụ: Xét 2 biểu thức:
A + B (1) A, B là các số thực.
I + J (2) I, j là các số nguyên.
Khi đó dấu + trong (1) sẽ là cộng hai số
thực, trong (2) là cộng hai số nguyên.
- Mỗi ngôn ngữ khác nhau cũng có cách xác
định ngữ nghĩa khác nhau.
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
HS: Lắng nghe, ghi chép.
vào ngữ cảnh của nó.
- Cú pháp cho biết cách viết chương
trình hợp lệ, ngữ nghĩa xác định ý
nghĩa của các tổ hợp ký tự trong
chương trình.
- Lỗi cú pháp được chương trình dịch
phát hiện và thông báo cho người lập
trình. Chương trình không còn lỗi cú
pháp thì mới có thể dịch sang ngôn
ngữ máy.
- Lỗi ngữ nghĩa được phát hiện khi
chạy chương trình.
Hoạt động 2: Một số khái niệm
GV: Trong các ngôn ngữ lập trình nói
chung, các đối tượng sử dụng trong chương 2. Một số khái niệm
trình đều phải đặt tên để tiện cho việc sử
dụng. Việc đặt tên trong các ngôn ngữ khác a. Tên
nhau là khác nhau, có ngôn ngữ phân biệt - Mọi đối tượng trong chương trình đều
chữ hoa, chữ thường, có ngôn ngữ không
phải được đặt tên. Mỗi ngôn ngữ lập
phân biệt chữ hoa, chữ thường.
trình có một quy tắc đặt tên riêng .
- Trong ngôn gnữ Turbo Pascal tên là
GV: Giới thiệu cách đặt tên trong ngôn ngữ
một dãy liên tiếp không qúa 127 ký tự
cụ thể Pascal.
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
Ví dụ :
chữ cái hoặc dấu gạch dưới.
Tên đúng: a, b, c, x1, x2, _ten …
- Trong Free Pascal, tên có thể có tối đa
Tên sai: a bc,2x, a&b …
255 ký tự.
- Ngôn ngữ lập trình Pascal không phân
biệt chữ hoa, chữ thường nhưng một
số ngôn ngữ lập trình khác lại phân
biệt chữ hoa và chữ thường.
- Ngôn ngữ lập trình thường có 3 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ự đặt.
GV: Ngôn ngữ nào cũng có 3 loại tên cơ
bản này nhưng tùy theo ngôn ngữ mà các Tên dành riêng:
tên có ý nghĩ khác nhau trong các ngôn ngữ - Là những tên được ngôn ngữ lập trình
GV: Đưa ra ví dụ ngôn ngữ tự nhiên cũng
có bảng chữ cái, ngữ pháp (cú pháp) và
nghĩa của câu, từ.
Giáo án tin học 11
5
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
khác nhau.
quy định với ý nghĩa xác định mà
o Trong khi soạn thảo chương trình, các
người lập trình không thể dùng với ý
nghĩa khác.
ngôn ngữ lập trình thường hiển thị các
tên dành riêng với một màu chữ khác - Tên dành riêng còn được gọi là từ
khóa
hẳn với 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 (từ khóa). Trong ngôn ngữ Pascal, Ví dụ: Một số từ khóa
Trong ngôn ngữ Pascal: Program, Var,
từ khóa thường hiển thị bằng màu
Uses, Begin, End, …
trắng.
Trong ngôn ngữ C++: main, include,
GV: Mở một chương trình viết bằng Pascal while, void,…
để học sinh quan sát cách hiển thị của một
Tên chuẩn:
số từ khóa trong chương trình.
- Các ngôn ngữ lập trình thường cung - Là những tên được ngôn ngữ lập trình
(NNLT) dùng với ý nghĩa nào đó
cấp một số đơn vị chương trình có sẵn
trong các thư viện của NNLT, tuy
trong các thư viện chương trình giúp
nhiên người lập trình có thể sử dụng
người lập trình có thể thực hiện được
với ý nghĩa khác.
nhanh một số thao tác thường dùng.
-
Giáo viên chỉ cho học sinh một số tên
chuẩn trong ngôn ngữ Pascal.
GV: Đưa ra ví dụ: Để viết chương trình
giải phương trình bậc hai ta cần khai báo
những tên sau:
+ a,b,c là ba tên để lưu ba hệ số của
chương trình.
+ X1,X2 là 2 tên dùng để lưu
nghiệm nếu có.
+ Delta là tên để lưu giá trị của
Delta.
-
-
Hằng thường có 2 loại, hằng được đặt
tên và hằng không được đặt tên. Hằng
không được đặt tên là những giá trị viết
trực tiếp khi viết chương trình. Mỗi
ngôn ngữ lập trình có một quy định về
cách viết hằng riêng.Hằng được đặt tên
cũng có cách đặt tên cho hằng khác
nhau.
Ví dụ: Một số tên chuẩn
Trong ngôn ngữ Pascal: Real, Integer, Sin,
Cos, Char, …
Trong ngôn ngữ C==: cin,cout. Getchar…
Tên do người lập trình tự đặt
- Được xác định bằng cách khai báo
trước khi sử dụng và không được
trùng với tên dành riêng.
- Các tên trong chương trình không
được trùng nhau
b. Hằng và biến
Hằng: Là các đại lượng có giá trị không
đổ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ố học : số nguyên hoặc số thực.
+ Hằng xâu : là chuỗi ký tự đặt trong
d6áu nháy “ hoặc ””
+ Hằng Logic : là các giá trị đúng hoặc
sai
Biến là đối tượng được sử dụng nhiều
nhất trong khi viết chương trình. Biến Biến:
là đại lượng có thể thay đổi được nên - Là đại lượng được đặt tên, giá trị có
thể thay đổi được trong chương trình.
thường được dùng để lưu trữ kết qủa,
làm trung gian cho các tính toán,…Mỗi - Các NNLT có nhiều loại biến khác
Giáo án tin học 11
6
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
loại ngôn ngữ có những loại biến khác
nhau và cách khai báo cũng khác nhau.
Năm học 2011-2012
nhau.
- Biến phải khai báo trước khi sử dụng.
-
Khi viết chương trình, người lập trình
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 được c. Chú thích
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
- Trong khi viết chương trình có thể viết
vậy các ngôn ngữ lập trình thường cung
các chú thích cho chương trình. Chú
cấp cho ta cách để đưa các chú thích
thích không làm ảnh hưởng đến
vào trong chương trình.
chương trình.
- Ngôn ngữ khác nhau thì cách viết chú
thích cũng khác nhau.
Trong Pascal chú thích được đặt trong { và
} hoặc (* và *)
GV: Mở một chương trình Pascal đơn giản
có chứa các thành phần là các khái niệm của Trong C++ Chú thích đặt trong /* và */
bài học, nếu không có máy để giới thiệu thì
có thể sử dụng bản in sẵn khổ lớn. chỉ cho
học sinh từng khái niệm được thể hiện trong
chương trình .
4. Cũng cố
Nhắc lại một số khái niệm mới
Cho bài tập về nhà
V. PHỤ LỤC
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………
Giáo án tin học 11
7
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
BÀI TẬP
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Cũng cố lại kiến thức về ngôn ngữ lập trình, chương trình dịch
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa.
2. Kỹ năng
- Biết các thành phần cơ bản 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. Quy tắc đặt tên trong Pascal, biết đặt tên đúng.
- Phân biệt được tên, hằng và biến
- Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của
chương trình nguồn.
3. Thái độ
- Nghiêm túc, tích cực trong học tập.
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.
2. Hs: Học bài cũ, đọc trước SGK bài mới.
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. NỘI DUNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ ( Kiểm tra trong khi giảng bài )
3. Bài mới
Hoạt động của GV & HS
Gv: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?
Hs: - Suy nghĩ để đưa ra phương án
trả lời.
- Suy nghĩ, trả lời câu hỏi.
Gv: 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:
Nội dung
Câu 1:
- Ngôn ngữ 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ữ bậc cao nói chung
không phụ thuộc vào phần cứng máy tính và một chương
trình có thể thực hiện trên nhiều máy tính khác nhau.
- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu
chỉnh và dễ 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 mô tả
thuộc toán.
Đặt câu hỏi 2: Chương trình Câu 2:
dịch là gì? Tại sao cần phải có - Chương trình dịch là chương trình đặc biệt, có chức năng
chương trình dịch?
chuyển đổi chương trình được viết trên ngôn ngữ lập trình
Giáo án tin học 11
8
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
Hs: Suy nghĩ, trả lời câu hỏi, cho ví
dụ
bậc cao thành chương trình thực hiện được trên máy tính
cụ thể.
Chương trình nguồn -> Chương trình dịch -> Chương trình
đích
Gv:Đặt câu hỏi 3: Biên dịch và
Câu 3:
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
Hs: Suy nghĩ, trả lời, giải thích từng
chương trình nguồn có dịch được không? dịch toàn bộ
câu hỏi,
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ữ lại để sử dụng về sau
Gv: Phân tích câu trả lời của học
khi cần thiết.
sinh.
- Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ
máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo
lỗi nếu không dịch được.
Gv:
Đặt câu hỏi 4: Hãy cho biết các
điểm khác nhau giữa tên dành Câu 4:
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
- Gọi hs trả lời và cho ví dụ
định, tên chuẩn có thể dùng với ý nghĩa khác.
Hs: Suy nghĩ, trả lời, giải thích từng VD:
câu hỏi,
Tên dành riêng trong Pascal: program, uses, const, type, var,
Gv: Phân tích câu trả lời của học begin, end.
sinh.
Tên chuẩn: trong Pascal abs, integer.
Gv: Đặt câu hỏi 5: Hãy tự viết ra
ba tên đúng theo quy tắc của Pascal
- Gọi 3 học sinh lên bảng cho ví
dụ về tên do người lập trình đặt.
Hs: Suy nghĩ trả lời
Gv: Nhận xét, sửa chữa, góp ý.
Câu 5: Gợi ý: Trong Pascal tên (do người lập trình đặt) được
đặt tuân theo các quy tắc sau:
- Chỉ bao gồm chữ cái, chữ số và dấu gạch dưới;
- Không bắt đầu bằng chữ số;
- Độ dài theo quy định của chương trình dịch (TP không
quá 127 kí tự, Free Pascal không quá 255 kí tự).
Gv: Đặt câu hỏi 6: Hãy cho biết - Tuy nhiên, không nên đặt tên quá dài hay quá ngắn mà
những biểu diễn nào dưới đây
nên đặt sao cho gợi ý nghĩa đối tượng mang tên đó.
không phải là biểu diễn hằng trong
Pascal và chỉ rõ trong từng trường Câu 6:
hợp:
-Những biểu diễn sau đây không phải là hằng trong Pascal:
a) 150.0
b) -22
6,23 dấu phẩy phải thay bằng dấu chấm;
c) 6,23
d) ‘43’
A20 là tên chưa rõ giá trị;
e) A20
f) 1.06E-15
4+6 là biểu thức hằng trong Pascal chuẩn cũng được coi là
g) 4+6
h) ‘C
hằng trong Turbo Pascal;
i) ‘TRUE’
‘TRUE’ là hằng xâu nhưng không là hằng lôgic.
Hs: Suy nghĩ trả lời
Gv: Nhận xét, sữa chữa, góp ý
4. Cũng cố
-Ôn lại các khái niệm, các tên & Chuẩn bị bài Cấu trúc chương trình.
Chương 2: CHƯƠNG TRÌNH ĐƠN GIẢN
Bài 3: CẤU TRÚC CHƯƠNG TRÌNH
Giáo án tin học 11
9
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Cấu trúc chung của một chương trình và cấu trúc chung của một chương trình Pascal
2. Kỹ năng
- Hiểu và phân biệt các thành phần trong cấu trúc của một chương trình.
- Nhận biết được các thành phần của một chương trình đơn giản.
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.
2. Hs: Học bài cũ, đọc trước SGK bài mới.
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. NỘI DUNG BÀI GIẢNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ
Câu 1: Nêu các thành phần của ngôn ngữ lập trình?
Câu 2: Trong Pascal có máy loại tên?nêu quy tắc đặt tên?
3. Bài mới
Hoạt động của GV & HS
Nội dung
Hoạt động 1: Cấu trúc chung của chương trình
GV : Thuyết trình đưa ra cấu trúc chung của
chương trình :
1. Cấu trúc chung
- Mỗi chương trình nói chung gồm 2 phần:
HS: Lắng nghe, ghi chép
phần khai báo và phần thân chương trình.
[
]
GV : Thuyết trình đưa ra kiến thức
HS : Lắng nghe, ghi chép .
Hoạt động 2: Các thành phần của chương trình
2. Các thành phần của chương trình
GV : Phần khai báo sẽ báo cho máy biết
chương trỉnh sẽ sử dụng những tài nguyên nào a.Phần khai báo
của máy.
- Có thể khai báo tên chương trình, hằng được
đặt tên, biến, thư viện, chương trình con,…
GV : Mỗi ngôn ngữ lập trình có cách khai báo
khác nhau và tùy thuộc vào ngôn ngữ mà ta cần
tìm hiểu xem trong chương trình ta cần khai Khai báo tên chương trình
báo những gì .
- Trong Turbo pascal
Program ;
- Tên chương trình do người lập trình tự đặt
theo đúng quy tắc đặt tên.
Ví dụ : Program Bai_1;
GV : Thư viện chương trình thường chứa
Program Tong;
Giáo án tin học 11
10
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
những đoạn chương trình lập sẵn giúp người
lập trình thực hiện một số công việc thường Khai báo thư viện:
dùng, các đoạn chương trìnhnày cực kỳ hữu ích - Trong ngôn gnữ Pascal :
cho gnười lập trình, nhất là trong những ngôn
Uses ;
ngữ lập trình tiên tiến hiện nay.
- Trong ngôn ngữ C++ :
#include
GV : Lấy một ngôn ngữ lập trình mới nhất hiện
nay, chẳng hạn Visual Basic.NET, lấy một số
lệnh để học sinh thấy được sự tiện dụng khi sử Ví dụ: Trong Turbo Pascal : Uses CRT,
dụng thư viện.
GRAPH;
Trong VISUAL STUDIO 2005 :
GV : Khai báo hằng là việc đặt tên cho hằng để
Imports System.Xml
tiện khi sử dụng và tránh việc phải viết lặp lại
nhiều lần cùng một hằng trong chương trình.
Khai báo hằng còn tiện lợi hơn khi cần thay đổi Khai báo hằng :
giá trị của nó trong chương trình.
- Những hằng sử dụng nhiều lần trong
chương trình thường được đặt tên cho tiện
GV : Lập trình bằng ngôn ngữ nào cần tìm
khi sử dụng.
hiểu cách khai báo hằng của ngôn ngữ ấy.
Ví dụ:
Trong Pascal :
Const N = 100;
e = 2.7;
Trong C++ :
GV : Nếu có thể giáo viên giải thích để học
Const int N = 100;
sinh có thể hiểu được rằng, khai báo biến là xin
Const float e = 2.7
máy tính cấp cho chương trình một vùng nhớ
để lưu trữ và xử lý thông tin trong bộ nhớ Khai báo biến :
trong.
- Mọi biến sử dụng trong chương trình đều
phải khai báo để chưoyng trình dịch biết để
xử lý và lưu trữ.
- Biến chỉ mang một giá trị gọi là biến đơn
GV : Mỗi ngôn ngữ lập trình có cách tổ chức (Khai báo biến sẽ trình bày ở bài 5)
chương trình khác nhau, thường thì phần thân
chứa các câu lệnh của chương trình.
Phần thân chương trình :
- Thân chương trình thường là nơi chứa toàn
GV : Đưa ra những ví dụ khác nhau về cách
bộ các câu lệnh của chương trình hoặc lời
viết thân chương trình trong các ngôn ngữ lập
gọi chương trình con.
trình khác nhau.
- Thân chương trình thường có cặp dấu hiệu
bắt đầu và kết thúc chương trình
Ví dụ: Trong ngôn gnữ Pascal
Begin
[]
End.
Hoạt động 3: Chương trình đơn giản
GV : Cho học sinh quan sát 2 chương trình
trong 2 ngôn ngữ khác nhau là Pascal và C++.
3. Ví dụ chương trình đơn giản
Xét hai chương trình đơn giản trong 2 ngôn ngữ
Giáo án tin học 11
11
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
HS : Quan sát và nhận xét về cách viết của hai
chương trình trong 2 ngôn ngữ khác nhau.
Thông qua đó học sinh cần nhận ra : hai
chương trình cùng thực hiện một công việc
nhưng viết bằng hai ngôn ngữ khác nhau nên
hệ thống các câu lệnh trong chương trình cũng
khác nhau.
khác nhau sau đây :
Chương trình 1 : Trong ngôn ngữ Turbo Pascal
Program VD;
Begin
Write(‘Chao cac ban’);
Readline;
End.
Có thể thêm câu lệnh hiển thị một xâu vào
trong chương trình Pascal để thể hiện rõ hơn là Chương trình 2 : Trong ngôn ngữ C++
nếu muốn đưa ra câu thông báo thì ta có thể sử #include
dụng lệnh. Writeln và xâu được để trong dấu Main()
nháy đơn .
{
Printf(“Chao cac ban”);
}
4. Cũng cố
Nhắc lại một số khái niệm mới
Cho một chương trình mẫu về nhà yêu cầu học sinh phân biệt và chỉ rõ từng thành phần của
chương trình đó.
Bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Bài 5: KHAI BÁO BIẾN
I. MỤC ĐÍCH YÊU CẦU
1. Kiến thức
- Biết được cấu trúc chung của một chương trình.
- Biết được một số kiểu dữ liệu chuẩn: nguyên, ký tự, logic, thưc.
- Biết đực cấu trúc chung của khai báo biến.
2. Kỹ năng
- Sử dụng được kiểu dữ liệu và khai báo biến để viết được một chương trình đơn giản
- Hiểu được khai báo biến. Khai báo đúng, nhận biết được khai báo sai.
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.
2. Hs: Học bài cũ, đọc trước SGK bài mới.
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. NỘI DUNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ
Câu 1: Nêu cấu trúc chung của chương trình? Cách khai báo các thành phần của chương trình?
3. Bài mới
Hoạt động của GV & HS
Nội dung
Hoạt động 1: Một số kiểu dữ liệu chuẩn
Giáo án tin học 11
12
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
GV : Vấn đáp: Khi cần viết chương trình
quản lý học sinh ta cần sử lý thông tin ở
những dạng nào ?
HS : Suy nghĩ, 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,
đưa ra một vài dạng thông tin như sau :
NNLT Pascal có một số kiểu dữ liệu chuẩn sau :
- Họ tên học sinh là những thông tin
1. Kiểu số nguyên
dạng văn bản hay là dạng ký tự .
- Điểm của học sinh là các thông tin
Kiểu
Số
Miền giá trị
các số thực .
Byte
- Số thứ tự của học sinh là các số
BYTE
1
0 … 255
nguyên.
INT
GER 2
- Một số thông tin khác lại chỉ cần biết
15
15
-2 … 2 – 2
0 … 216 – 1
chúng là đúng hay sai .
1WORD
LONGINT
4
-231 … 231 – 1
GV : Thuyết trình đưa ra một số bổ sung
như sau :
-
-
-
-
-
Ngôn 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
trữ 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 cực
cao.
Tùy 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 này
cũng khác nhau.
Với mỗi kiểu dữ liệu người lập trình
cần ghi nhớ tên kiểu, miền giá trị và
số lượng ô nhớ để lưu một giá trị
thuộc kiểu đó.
Trong lập trình nói chung thì kiểu kí
tự thường là tập các kí tự trong các
bảng mã kí tự, trong các bảng mã hóa
kí tự người ta quy định có bao nhiêu
kí tự khác nhau và mỗi kí tự có một
mã thập phân tương ứng. Để lưu các
giá trị là kí tự thì phải lưu mã thập
phân tương ứng của nó .
GV : Đặt câu hỏi: Em biết những bảng
mã nào?
HS : HS sẽ đưa ra một số bảng mã nhưng
GV chú ý các em NNLT Pascal chỉ sử
Giáo án tin học 11
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 :
Tên kiểu
REAL
Miền giá trị
Số Byte
0 hoặc nằm trong (10-38 6
1038)
EXTENDED 0 hoặc nằm trong (10- 10
4932
104932)
3. Kiểu kí tự
- Tên kiểu: CHAR
- Miền giá trị: Là các kí tự trong bảng mã ASCII
gồm 256 ký tự
- Mỗi ký tự có 1 mã tương ứng từ 0 đến 255
- Các kí tự có quan hệ so sánh, việc so sánh dựa
trên mã của từng kí tự.
Ví dụ: Trong bảng mã ASCII, các kí tự trong bảng
chữ cái tiếng Anh xếp liên tiếp vối nhau, các chữ số
cũng xếp liên tiếp, cụ thể: A mã 65; a mã 97, 0 mã
48
4. Kiểu logic
- Tên kiểu : Boolean
- Miền giá trị : Chỉ có 2 giá trị là TRUE (Đúng)
hoặc FALSE (Sai)
13
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
dụng bảng mã ASCII cho kiểu kí tự.
- Một số ngôn ngữ có cách mô tả các giá trị logic
- Kiểu logic là kiểu thường chỉ có 2 giá
bằng những cách khác nhau.
trị đúng – sai. Mỗi ngôn ngữ khác
- Khi viết chương trình bằng ngôn ngữ lập trình
nhau lại có cách mô tả kiểu logic khác
nào thì cần tìm hiểu đặc trưng của các kiểu dữ
nhau, Pascal dùng True – False nhưng
liệu của ngôn ngữ đó.
một số ngôn ngữ khác lại mô tả bằng 0
– 1,… Có ngôn ngữ lại không có kiểu
logic mà người lập trình phải tự tìm
cách để thể hên những giá trị dạng
này.
Hoạt động 2: Khai báo biến
GV : Khai báo biến là chương trình báo
cho máy biết phải dùng những tên nào - Trong ngôn ngữ Pascal, biến đơn được khai báo
trong chương trình.
như sau :
HS : Lắng nghe và ghi chép
Var :
Ví dụ :
Trong đó:
- Để giải phương trình bậc hai
2
ax + bx + c = 0
+ Var : là từ khóa dùng để khai báo biến
cần khai báo các biến như sau:
+ Danh sách biến : tên các biến cách nhau bởi
Var a, b, c, x1, x2, delta : real;
dấu phẩy
- Để tính chu vi và diện tích tam giác
+
Kiểu dữ liệu : là một kiểu dữ liệu nào đó của
cần khai báo các biến sau:
ngôn ngữ Pascal
Var a, b, c, p, s, cv: Real;
+ Sau Var có thể khai báo nhiều danh sách biến có
Trong đó :
những kiểu dữ liệu khác nhau
a, b, c: dùng để lưu độ dài 2 cạnh
của tam giác.
p: nửa chu vi tam giác
cv, s: chu vi và diện tích tam giác
GV : Đặt câu hỏi: Khi khai báo biến cần
+ Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa
chú ý những điều gì ?
của nó.
HS : Suy nghĩ trả lời câu hỏi
+ Không nên đặt tên quá ngắn hay quá dài, dễ dẫn
tới mắc lỗi hoặc hiểu nhầm.
Khai báo biến cần quan tâm đến phạm vi giá trị của
nó .
GV : Phân tích câu trả lời của học sinh.
GV: Lấy ví dụ về khai báo biến giải
phương trình bậc 2, giải hệ phương trình
bậc nhất, tính diên tích tam giác khi biết 3
cạnh.
GV: Phân tích ví dụ đầu, 2 ví du sau cho
học sinh phân tích và tự khai báo
GV: Phân tích và chữa lại
Giáo án tin học 11
Ví dụ 1:
Khai báo biến giải phương trình ax2+bx+c=0(a<>0)
Var a, b, c, x1, x2, Delta :Real;
Ví du 2: Khai báo biến giải hệ phương trình bậc
nhất
a1x+b1y=c1
a2x+b2y=c2
{Phương pháp thông thường}
Var a1, a2, b1, b2, c1, c2, x, y:Real;
{Phương pháp định thức}
Var a1, a2, b1, b2, c1, c2, x, y:Real;
14
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
D, Dx, Dy :real
Ví du 3: khai báo biến tính diện tích tam giác biết độ
dài 3 cạnh
Var a, b, c, p, S: Real;
4. Cũng cố
Nhắc lại các kiểu dữ liệu đơn giản hay dùng.
Cho về nhà một số ví dụ về việc lưu trữ trong cuộc sống và yêu cầu học sinh tìm kiểu dữ liệu
tương ứng
Bài 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Biết được các phép toán thông dụng trong ngôn ngữ lập trình
- Biết diễn đạt một số hình thức trong ngôn ngữ lâp trình
- Biết được chức năng của câu lệnh gán
- Biết được cấu trúc câu lệnh gán và một số hàm chuẩn trong ngôn ngữ lập trình Pascal.
2. Kỹ năng
- Sử dụng được các phép toán để xây dựng biểu thức
- Sử dụng lệnh gán để viết chương trình.
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập.
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng.
2. Hs: Học bài cũ, đọc trước SGK bài mới.
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV. NỘI DUNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ
Câu 1: Nêu cú pháp khai báo biến trong Pascal? Cho ví dụ.
3. Bài mới
Hoạt động của GV & HS
Nội dung
Hoạt động 1: Phép toán, biểu thức số học
GV : Dẫn dắt vào bài: Trong khi viết
chương trình ta thường phải thực hiện các
tính toán, thực hiện các so sánh để đưa ra
- Ngôn ngữ lập trình nào cũng sử dụng đến
quyết định xem làm việc gì? Vậy trong
phép toán, biểu thức, câu lệnh gán.
chương trình ta viết thế nào? Có giống với
ngôn ngữ tự nhiên hay không? Tất cả các
- Ta xét các khái niệm này trong ngôn ngữ
ngôn ngữ có sử dụng chúng một cách
Pascal
giống nhau không ?
1. Phép toán
GV : Toán học có những phép toán nào ?
NNLT Pascal sử dụng một số phép toán sau:
HS : Đưa ra một số phép toán thường dùng - Với số nguyên : +, -, * (nah6n), div (chia
Giáo án tin học 11
15
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
trong toán học
GV : Chúng có dùng được trong các ngôn
ngữ lập trình ?
Chỉ một số phép dùng được, một số phép
phải xây dựng từ các phép toán khác.
VD : Phép lũy thừa không phải ngôn ngữ
nào cũng viết được.
GV : 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 biểu thức trong lập
trình.
Năm học 2011-2012
-
-
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 cú
pháp từng ngôn ngữ lập trình.
Các phép toán Logic : NOT (phủ định),
OR (hoặc), AND (và): 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
-
GV: Cách viết các biểu thức này trong lập
trình có giống cách viết trong toán học ?
HS : Đưa ra ý kiến của mình
GV : Phân tích ý kiến của học sinh.
lấy nguyên), mod (chia lấy dư)
Với số thực : +, -, *, / (chia)
Các phép toán quan hệ <, <= , >, >=, =,
<>: Cho kết qủa là một giá trị logic (True
hoặc False)
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 () để qui đị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.
Đư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ữ
Pascal.
HS : Gọi một vài học sinh lên bảng viết.
GV : Đặt câu hỏi, muốn tính X2 ta viết thế
nào?
HS : Có thể đưa ra là X*X
GV : Muốn tính
,sinx, cosx,… làm thế
nào ?
HS : Chưa biết cách tính
GV : Để tính các giá trị đó một cách đơn
giản, người ta xây dựng sẵn một số đơn vị
chương trình trong các 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.
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 qủa của hàm phụ thuộc vào kiểu của
đối số.
- Đối số 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ư
toán hạng bất kỳ.
Bảng một số hàm chuẩn:
(Theo dõi SGK và màn hình)
GV : Với các hàm chuẩn, cần quan tâm
Giáo án tin học 11
16
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
đến kiểu của đối số và kiểu của giá trị trả
về.
VD : Sinx thì được đ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
gọi là biểu thức so sánh 2 giá trị, cho kết
quả là đúng hoặc sai (logic).
VD : 3>5: Cho kết quả sai
Năm học 2011-2012
4. Biểu thức quan hệ
Có dạng như sau:
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;
2*A >= 4+ B
5. Biểu thức logic
- Biểu thức logic đơn giản nhất là hằng hoặc
biến logic.
- Thường dùng để liên kết nhiều biểu thức
GV : Đặt câu hỏi, muốn so sánh nhiều điều
quan hệ lại với nhau bởi các phép toán logic.
kiện đồng thời làm thế nào?
HS : Đưa ra ý kiến của mình. (và, hoặc,…) Ví dụ:
- Ba số dương a, b, c là độ dài ba cạnh tam
giác nếu biểu thức sau cho giá trị đúng
(a+ b > c) and (b+ c >a) and (c+ a >b)
Đưa ra ví dụ và cách viết đúng trong ngôn
- Biểu thức điều kiện 0 d” X d’ 5 được viết
ngữ Pascal
như sau:
(x >= 0) and (x <= 5)
Chú ý : Mỗi ngôn ngữ có cách viết khác
nhau.
Hoạt động 2: Câu lệnh gán
GV : Mỗi NNLT có cách viết lệnh gán
khác nhau.
6. Câu lệnh gán
GV : Cần chú ý điều gì khi viết lệnh gán?
HS : Đưa ra ý kiến.
- Lệnh gán là cấu trúc cơ bản nhất của mọi
GV : Phân tích câu trả lời của học sinh sau
ngôn ngữ lập trình, thường dùng để gán giá
đó tổng hợp lại: cần chú ý đến kiểu của
trị cho biến
biến và kiểu của biểu thức.
Cấu trúc:
:= ;
- Trong đó biểu thức phải phù hợp với tên
biến. Có nghĩa là kiểu của tên biến phải
cùng kiểu 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.
GV : Minh họa một vài lệnh gán bằng một Ví dụ:
ví dụ trực quan trên bảng hoặc trên màn
X1 := (-b –sqrt(b*b – 4*a*c))/(2*a);
hình.
X2 := (-b +sqrt(b*b – 4*a*c))/(2*a);
Giáo án tin học 11
17
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
I := I + 1;
J := J – 2;
Trong đó : lệnh thứ 3 tăng giá trị của I một đơn
vị, lệnh thứ 4 giảm giá trị biến J hai đơn vị.
4. Cũng cố
- Nhắc lại một số khái niệm mới.
- Cho bài tập về nhà, ngoài bài tập có trong sách có thể cho thêm nhiều biểu thức logic để học sinh về
nhà tính toán tìm giá trị của nó, cho học sinh một số biểu thức trong toán học và yêu cầu viết nó trong
tin học (NNLT); có thể cho thêm bài theo cột, một cột là biểu thức toán học, một cột là biểu thức
trong tin học tương ứng và tìm chỗ sai của biểu thức so với trong toán.
V. PHỤ LỤC
BÀI TẬP
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức.
- Củng cố lại hco học sinhnhững kiến thức liên quan đén tổ chức rẽ nhánh và lặp : Cấu trúc lặp, sơ
đồ thực hiện, sự thực hiện của máy khi gặp lệnh lặp.
2. Kĩ năng.
- Rèn luyện kĩ năng vận dụng và linh hoạt trong công việc lựa hcọn cấu trúc rẽ nhánh và cấu trúc
lặp phù hợp để giải quyết bài toán đặt ra.
3. Thái độ.
- Tự giác tích cực, chủ động trong giải quyết các bài tập.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên.
- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh họa, một số chương trình mẫu.
2. Chuẩn bị của học sinh
- Sách giáo khoa.
III. PHƯƠNG PHÁP
- Thuyết trình, gợi mở, vấn đáp
- Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
- Làm việc theo nhóm.
IV. NỘI DUNG BÀI GIẢNG
1. Ổn định lớp:
+ Chào thầy cô.
+ Cán bộ lớp báo cáo sỉ số
+ Chỉnh đốn trang phục
2. Kiểm tra bài cũ
Kiểm tra khi giảng bài
3. Bài mới
Hoạt động 1: Nhắc lại kiến thức đã học về tổ hcức rẽ nhánh và lặp .
a. Mục tiêu:
- Học sinh nắm được cấu trúc rẽ nhánh và lặp, sơ đồ thực hiện của máy. Phân được được sự giống
và khác nhau giữa lệnh lặp For và lệnh lặp While.
b. Nội dung:
- Rẽ nhánh
If then Else ;
If then ;
- Lặp For
Giáo án tin học 11
18
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
For := To Do ;
For := downto Do ;
- Lặp While
While <điều kiện> Do ;
c. Các bước tiến hành:
Hoạt động của Gv & Hs
Gv. Yêu cầu học sinh nhắc lại cấu trúc rẽ
nhánh
Hs. Độc lập suy nghĩ để trả lời câu hỏi
Gv: Cũng cố và nhắc lại
- Chiếu chương trình tìm giá trị lớn nhất của
hai số, trong đó có sử dụng câu lệnh rẽ
nhánh dạng đủ.
Var a,b:integer;
Begin
Write(‘nhap a,b=’);readln(a,b);
If a>b then write(a) else write(b);
readln
End.
- Hỏi: Chương trình thực hiện công việc
gì?
- Yêu cầu học sinh viết lại chương trình
bằng cách sử dụng lệnh rẽ nhánh dạng thiếu.
Hs. Học sinh làm bài
Gv. Yêu cầu hs nhắc lại cấu trúc của các câu
lện lặp đã học
Hs. Suy nghĩ trả lời.
Gv. Yêu cầu hs phân biệt giữa For_do và
While_do.
Hs.Trả lời
Nội dung
1. Câu lệnh rẽ nhánh(If_then)
Dạng 1(dạng thiếu)
If then ;
Dạng 2(dạng đủ)
If then
Else ;
- In ra màn hình giá trị lớn nhất
Var a,b:integer;
Begin
Write(‘nhap a,b=’);readln(a,b);
Max:=b;
If a>b then max:=a;
Write(max);
readln
End.
2. Câu lệnh lặp For_do & While_do
*For_do
-Dạng tiến:
For :=todo;
-Dạng lùi
For :=downtodo;
*While_do
While do;
For_do: biết trước số lần lặp.
While_do: không biết trước số lần lặp.
Hoạt động 2: rèn luyện kỹ năng vận dụng tổ chức lặp.
Giáo án tin học 11
19
Gv: Nguyễn Thị Thu Thủy
Trường THPT Nguyễn Trãi
Năm học 2011-2012
a. mục tiêu:
Học sinh biết sử dụng lệnh lặp để giải quyết một bài toán cụ thể. Linh hoạt trong việc chọn lựa
cấu trúc lặp.
b. Ví dụ
Ví dụ 1: Viết chương trình tính giá trị của biểu thức Y=
Ví dụ 2: Viết chương trình tính tổng Xn=13+33+…+(2n+1)3 cho tới khi Xn không nhỏ hơn 2 x
109
c. Các bước tiến hành
Hoạt động của Gv & Hs
Gv. Tìm hiểu bài tập 1 và giải quyết
- Chiếu nội dung ví dụ 1 lên bảng.
- Có thể triển khai biểu thức Y thành tổng
các số hạng như thế nào?
Hs. Suy nghĩ trả lời.
Gv. Dùng câu lệnh lặp nào?
Hs. Thảo luận và làm việc theo nhóm.
Báo cáo kết quả theo nhóm.
Nội dung
Y=1/2+2/3+3/4+…+50/51
Var n,i :integer;
Begin
Y:=0;
For i:=1 to 50 do Y:=Y+n/(n+1);
Write(Y);
readln
End.
Gv. Cho học sinh tìm hiểu ví dụ 2, gợi ý và
yêu cầu học sinh về nhà làm bài.
- dùng câu lệnh lặp với số lần không biết
trước
4. cũng cố
- Nhắc lại cấu trúc câu lệnh rẽ nhánh và câu lệnh lặp
- Yêu cầu học sinh làm các bài tập còn lại.
V. PHỤ LỤC
Bài 7: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
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 ĐÍCH, YÊU CẦU
1. Kiến thức
- Biết được ý nghĩa của các thủ tục vào\ra chuẩn đối với lập trình
- Biết được cấu trúc chung của thủ tục vào\ra trong ngôn ngữ lập trình pascal.
- Biết được các bước để hoàn chỉnh một chương trình.
- Biết được các file chương trình cơ bản của Turbo Pascal 7.0
2. Kỹ năng
- Viết đúng lệnh vào\ra dữ liệu
- Biết nhập đúng dữ liệu khi thực hiện chương trình.
- Biết khởi động và thoát khỏi hệ soạn thảo Turbo Pascal.
- Soạn thảo được một chương trình vào máy
- Dịch được chương trình để phát hiện lỗi cú pháp.
- Thực hiện chương trình để nhập dữ liệu và thu kết quả, tìm lỗi của thuật toán và sủa lỗi.
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tìm hiểu học tập
Giáo án tin học 11
20
Gv: Nguyễn Thị Thu Thủy