Tải bản đầy đủ (.doc) (67 trang)

Giáo án Tin học 11 chuẩn KTKN_Bộ 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (439.26 KB, 67 trang )

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 Ngày soạn:08/08/2011
Tiết: 01 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?
HS: Suy nghĩ và trả lời câu hỏi.
GV: Phân tích câu trả lời của học sinh.
Nhắc lại các bước giải bài toán trên máy
tính đã học ở lớp 10.
GV: Đặt câu hỏi 2: Em hãy cho biết có
mấy loại ngôn ngữ lập trình?
HS: Trả lời câu hỏi của giáo viên.
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,
thường thì chương trình viết bằng ngôn
ngữ của máy nào chỉ chạy được trên máy
Khái niệm lập trình: 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 ngôn ngữ lập trình cụ thể để mô tả dữ
liệu và diễn đạt thuật toán .
-Trả lời câu hỏi: Có 3 loại ngôn ngữ lập
trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ
bậc cao.
Chương trình viết bằng ngôn ngữ máy có
thể nạp trực tiếp vào bộ nhớ thi hành ngay.
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
1
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
cao muốn thi hành được trên loại máy nào
thì cần chuyển chương trình sang ngôn ngữ
máy của máy đó.

Chương trình viết bằng ngôn ngữ bậc cao
nói chung không phụ thuộc loại máy, muốn
thi hành được thì nó phải được chuyển sang
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
chương trình viết bằng ngôn ngữ bậc cao
sang ngôn ngữ máy?
Đư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)
GV: Lấy ví dụ về biên dịch và thông dịch
cho học sinh có thể hình dung được mỗi
công việc.
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.
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.
Đ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
nguồn, lưu trữ, tìm kiếm, phát hiện lỗi,
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
=>Cần phải có chương trình dịch để
chuyển chương trình viết bằng ngôn ngữ
lập trình bậc cao sang ngôn ngữ máy để
máy có thể thi hành đượ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:
 Duyệt, kiểm tra, phát hiện lỗi và kiểm
tra tính đúng đắn của 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 (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 (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:
 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á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 Gv: Nguyễn Thị Thu Thủy
2
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 Ngày soạn:08/08/2011
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
3
Trường THPT Nguyễn Trãi Năm học 2011-2012
Tiết: 02 Ngày dạy: …/…/……
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ư:
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ó
ý nghĩa là gì? Mỗi ngôn ngữ lập trình có
một quy định riêng về những thành phần
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.

- Cú pháp các ngôn ngữ lập trình khác nhau
cũng khác nhau, ngôn ngữ Pascal dùng cặp
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 {}.
1.Các thành phần cơ bản:
- Mỗi ngôn ngữ lập trình thường có 3
thành phần cơ bản là : bảng chữ cái, cú
pháp và ngữ nghĩa.
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)
b.Cú pháp: Là bộ quy tắc dùng để viết
chương trình.
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
4
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.
HS: Lắng nghe, ghi chép.
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ừ.
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ó.
- 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
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
nhau là khác nhau, có ngôn ngữ phân biệt
chữ hoa, chữ thường, có ngôn ngữ không
phân biệt chữ hoa, chữ thường.
GV: Giới thiệu cách đặt tên trong ngôn ngữ
cụ thể Pascal.
Ví dụ :
Tên đúng: a, b, c, x1, x2, _ten …
Tên sai: a bc,2x, a&b …
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 có ý nghĩ khác nhau trong các ngôn ngữ
khác nhau.
2. Một số khái niệm
a. Tên
- Mọi đối tượng trong chương trình đều
phải được đặt tên. Mỗi ngôn ngữ lập
trình có một quy tắc đặt tên riêng .
- Trong ngôn gnữ Turbo Pascal tên là
một dãy liên tiếp không qúa 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.
- Trong Free Pascal, tên có thể có tối đa
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.
Tên dành riêng:
- Là những tên được ngôn ngữ lập trình
quy định với ý nghĩa xác định mà
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
5
Trường THPT Nguyễn Trãi Năm học 2011-2012
o Trong khi soạn thảo chương trình, cá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
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,
từ khóa thường hiển thị bằng màu
trắng.
GV: Mở một chương trình viết bằng Pascal
để học sinh quan sát cách hiển thị của một
số từ khóa trong chương trình.
- Các ngôn ngữ lập trình thường cung
cấp một số đơn vị chương trình có sẵn
trong các thư viện chương trình giúp
người lập trình có thể thực hiện đượ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.
- Biến là đối tượng được sử dụng nhiều
nhất trong khi viết chương trình. Biến
là đại lượng có thể thay đổi được nên
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
loại ngôn ngữ có những loại biến khác
người lập trình không thể dùng với ý
nghĩa khác.
- Tên dành riêng còn được gọi là từ
khóa
Ví dụ: Một số từ khóa
Trong ngôn ngữ Pascal: Program, Var,
Uses, Begin, End, …
Trong ngôn ngữ C
++
: main, include,
while, void,…
Tên chuẩn:
- Là những tên được ngôn ngữ lập trình
(NNLT) dùng với ý nghĩa nào đó
trong các thư viện của NNLT, tuy
nhiên người lập trình có thể sử dụng
với ý nghĩa khác.
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 lượng được đặt tên, giá trị có
thể thay đổi được trong chương trình.
- Các NNLT có nhiều loại biến khác
nhau.
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
6
Trường THPT Nguyễn Trãi Năm học 2011-2012
nhau và cách khai báo cũng khác nhau.
- 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
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 ta cách để đưa các chú thích
vào trong chương trình.
- Ngôn ngữ khác nhau thì cách viết chú
thích cũng khác nhau.
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
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 .
- Biến phải khai báo trước khi sử dụng.
c. Chú thích
- Trong khi viết chương trình có thể viết
các chú thích cho chương trình. Chú
thích không làm ảnh hưởng đến
chương trình.
Trong Pascal chú thích được đặt trong { và
} hoặc (* và *)
Trong C
++
Chú thích đặt trong /* 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à
V. PHỤ LỤC
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………

……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………
BÀI TẬP
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
7
Trường THPT Nguyễn Trãi Năm học 2011-2012
- 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 Nội dung
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:
Đặt câu hỏi 2: Chương trình
dịch là gì? Tại sao cần phải có
chương trình dịch?
Hs: Suy nghĩ, trả lời câu hỏi, cho ví
dụ
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.
Câu 2:
- 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 trên ngôn ngữ lập trình
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
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
8
Trường THPT Nguyễn Trãi Năm học 2011-2012
Gv:Đặt câu hỏi 3: Biên dịch và
thông dịch khác nhau như thế nào?
Hs: Suy nghĩ, trả lời, giải thích từng
câu hỏi,
Gv: Phân tích câu trả lời của học
sinh.
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
riêng và tên chuẩn?
- Gọi hs trả lời và cho ví dụ
Hs: Suy nghĩ, trả lời, giải thích từng
câu hỏi,
Gv: Phân tích câu trả lời của học
sinh.
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 ý.
Gv: Đặt câu hỏi 6: 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õ 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’
Hs: Suy nghĩ trả lời
Gv: Nhận xét, sữa chữa, góp ý
đích
Câu 3:
- 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? 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ữ lại để sử dụng về sau
khi cần thiết.
- 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.
Câu 4:
- 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.

VD:
Tên dành riêng trong Pascal: program, uses, const, type, var,
begin, end.
Tên chuẩn: trong Pascal abs, integer.
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ự).
- Tuy nhiên, không nên đặt tên quá dài hay quá ngắn mà
nên đặt sao cho gợi ý nghĩa đối tượng mang tên đó.
Câu 6:
-Những biểu diễn sau đây không phải là hằng trong Pascal:
6,23 dấu phẩy phải thay bằng dấu chấm;
A20 là tên chưa rõ giá trị;
4+6 là biểu thức hằng trong Pascal chuẩn cũng được coi là
hằng trong Turbo Pascal;
‘TRUE’ là hằng xâu nhưng không là hằng lôgic.
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
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
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
9
Trường THPT Nguyễn Trãi Năm học 2011-2012
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 :
HS: Lắng nghe, ghi chép
GV : Thuyết trình đưa ra kiến thức
HS : Lắng nghe, ghi chép .
1. Cấu trúc chung
- Mỗi chương trình nói chung gồm 2 phần:
phần khai báo và phần thân chương trình.
[<Phần khai báo>]

<Phần thân>
Hoạt động 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
của máy.
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
báo những gì .
GV : Thư viện chương trình thường chứa
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
dùng, các đoạn chương trìnhnày cực kỳ hữu ích
2. Các thành phần của chương trình
a.Phần khai báo
- 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,…
Khai báo tên chương trình
- Trong Turbo pascal
Program <tên chương trình>;
- 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;
Program Tong;
Khai báo thư viện:
- Trong ngôn gnữ Pascal :
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
10
Trường THPT Nguyễn Trãi Năm học 2011-2012

cho gnười lập trình, nhất là trong những ngôn
ngữ lập trình tiên tiến hiện nay.
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ử dụng thư viện.
GV : Khai báo hằng là việc đặt tên cho hằng để
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
giá trị của nó trong chương trình.
GV : Lập trình bằng ngôn ngữ nào cần tìm
hiểu cách khai báo hằng của ngôn ngữ ấy.
GV : Nếu có thể giáo viên giải thích để học
sinh có thể hiểu được rằng, khai báo biến là xin
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ớ
trong.
GV : Mỗi ngôn ngữ lập trình có cách tổ chức
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.
GV : Đưa ra những ví dụ khác nhau về cách
viết thân chương trình trong các ngôn ngữ lập
trình khác nhau.
Uses <tên thư viện>;
- Trong ngôn ngữ C
++
:
#include<Tên tệp thư viện>
Ví dụ: Trong Turbo Pascal : Uses CRT,

GRAPH;
Trong VISUAL STUDIO 2005 :
Imports System.Xml
Khai báo hằng :
- 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
khi sử dụng.
Ví dụ:
Trong Pascal :
Const N = 100;
e = 2.7;
Trong C
++
:
Const int N = 100;
Const float e = 2.7
Khai báo biến :
- 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
(Khai báo biến sẽ trình bày ở bài 5)
Phần thân chương trình :
- Thân chương trình thường là nơi chứa toàn
bộ các câu lệnh của chương trình hoặc lời
gọi chương trình con.
- 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

[<Các câu lệnh>]
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
++
.
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
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ữ
khác nhau sau đây :
Chương trình 1 : Trong ngôn ngữ Turbo Pascal
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
11
Trường THPT Nguyễn Trãi Năm học 2011-2012
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.
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à
nếu muốn đưa ra câu thông báo thì ta có thể sử
dụng lệnh. Writeln và xâu được để trong dấu
nháy đơn .
Program VD;
Begin
Write(‘Chao cac ban’);
Readline;

End.
Chương trình 2 : Trong ngôn ngữ C
++
#include<stdio.h>
Main()
{
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
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 ?
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
12
Trường THPT Nguyễn Trãi Năm học 2011-2012
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 :
- Họ tên học sinh là những thông tin
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
các số thực .
- Số thứ tự của học sinh là các số
nguyên.
- Một số thông tin khác lại chỉ cần biết
chúng là đúng hay sai .
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ử

dụng bảng mã ASCII cho kiểu kí tự.
- Kiểu logic là kiểu thường chỉ có 2 giá
trị đúng – sai. Mỗi ngôn ngữ khác
NNLT Pascal có một số kiểu dữ liệu chuẩn sau :
1. Kiểu số nguyên
Kiểu Số
Byte
Miền giá trị
BYTE 1 0 … 255
INT GER 2
-2
15
… 2
15

1WORD
2 0 … 2
16
– 1
LONGINT 4 -2
31
… 2
31
– 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 :
Tên kiểu Miền giá trị Số Byte
REAL 0 hoặc nằm trong (10
-38

 10
38
)
6
EXTENDED 0 hoặc nằm trong (10
-
4932
 10
4932
)
10
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)
- Một số ngôn ngữ có cách mô tả các giá trị logic
bằng những cách khác nhau.
- Khi viết chương trình bằng ngôn ngữ lập trình
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy

13
Trường THPT Nguyễn Trãi Năm học 2011-2012
nhau lại có cách mô tả kiểu logic khác
nhau, Pascal dùng True – False như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.
nào thì cần tìm hiểu đặc trưng của các kiểu dữ
liệu của ngôn ngữ đó.
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 chương trình.
HS : Lắng nghe và ghi chép
Ví dụ :
- Để giải phương trình bậc hai
ax
2
+ bx + c = 0
cần khai báo các biến như sau:
Var a, b, c, x1, x2, delta : real;
- Để tính chu vi và diện tích 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 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
chú ý những điều gì ?
HS : Suy nghĩ trả lời câu hỏi
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
- Trong ngôn ngữ Pascal, biến đơn được khai báo
như sau :
Var <danh sách biến> : <kiểu số liệu>
Trong đó:
+ Var : là từ khóa 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 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 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ó .


Ví dụ 1:
Khai báo biến giải phương trình ax
2
+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
a
1
x+b
1
y=c
1
a
2
x+b
2
y=c
2
{Phương pháp thông thường}
Var a
1
, a
2,
b
1
, b
2,
c
1

, c
2
, x, y:Real;
{Phương pháp định thức}
Var a
1
, a
2,
b
1
, b
2,
c
1
, c
2
, x, y:Real;
D, Dx, Dy :real

Ví du 3: khai báo biến tính diện tích tam giác biết độ
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
14
Trường THPT Nguyễn Trãi Năm học 2011-2012
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

quyết định xem làm việc gì? Vậy trong
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
ngôn ngữ có sử dụng chúng một cách
giống nhau 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ó dùng được trong các ngôn
ngữ lập trình ?
- Ngôn ngữ lập trình nào cũng sử dụng đến
phép toán, biểu thức, câu lệnh gán.
- Ta xét các khái niệm này trong ngôn ngữ
Pascal
1. Phép toán
NNLT Pascal sử dụng một số phép toán sau:
- Với số nguyên : +, -, * (nah6n), div (chia
lấy nguyên), mod (chia lấy dư)
- Với số thực : +, -, *, / (chia)
- Các phép toán quan hệ <, <= , >, >=, =,
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
15
Trường THPT Nguyễn Trãi Năm học 2011-2012
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.
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.
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.
Đư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 X
2
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.
GV : Với các hàm chuẩn, cần quan tâm
đến kiểu của đối số và kiểu của giá trị trả

về.
<>: Cho kết qủa là một giá trị logic (True
hoặc False)
- 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
- 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.
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)
4. Biểu thức quan hệ
Có dạng như sau:
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
16
Trường THPT Nguyễn Trãi Năm học 2011-2012
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
GV : Đặt câu hỏi, muốn so sánh nhiều điều
kiện đồng thời làm thế nào?
HS : Đưa ra ý kiến của mình. (và, hoặc,…)
Đưa ra ví dụ và cách viết đúng trong ngôn
ngữ Pascal
Chú ý : Mỗi ngôn ngữ có cách viết khác
nhau.
<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;
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
quan hệ lại với nhau bởi các phép toán logic.
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)
- Biểu thức điều kiện 0 d” X d’ 5 được viết
như sau:
(x >= 0) and (x <= 5)
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.
GV : Cần chú ý đ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 họa 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.
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. 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.
Ví dụ:
X1 := (-b –sqrt(b*b – 4*a*c))/(2*a);
X2 := (-b +sqrt(b*b – 4*a*c))/(2*a);
I := I + 1;
J := J – 2;
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
17
Trường THPT Nguyễn Trãi Năm học 2011-2012
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 <btđk> then <lệnh 1> Else <lệnh 2>;
If <btđk> then <lệnh >;
- Lặp For
For <biến đếm>:=<giá trị đầu> To <giá trị cuối> Do <lệnh>;
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
18

Trường THPT Nguyễn Trãi Năm học 2011-2012
For <biến đếm>:=<giá trị đầu> downto <giá trị cuối> Do <lệnh>;
- Lặp While
While <điều kiện> Do <lệnh>;
c. Các bước tiến hành:
Hoạt động của Gv & Hs Nội dung
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

1. Câu lệnh rẽ nhánh(If_then)
Dạng 1(dạng thiếu)
If <btđk> then <câu lệnh>;
Dạng 2(dạng đủ)
If <btđk> then <câu lện 1>
Else <câu lệnh 2>;
- 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 <biến đếm>:=<giá trị đầu>to<giá trị
cuối>do<câu lệnh>;
-Dạng lùi
For <biến đếm>:=<giá trị cuối>downto<giá trị
đầu>do<câu lệnh>;
*While_do
While <btđk>do<câu lệnh>;
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 Gv: Nguyễn Thị Thu Thủy
19

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 X
n
=1
3
+3
3
+…+(2n+1)
3
cho tới khi X
n
không nhỏ hơn 2 x
10
9
c. Các bước tiến hành
Hoạt động của Gv & Hs Nội dung
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.
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
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.
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 độ
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
20
Trường THPT Nguyễn Trãi Năm học 2011-2012
- Ý 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: Kể tên và cho ví dụ về biểu thức số học?
Câu 2: Nêu cú pháp câu lệnh gán và cho ví dụ
3. Bài mới
Hoạt động của GV & HS Nội dung
Hoạt động 1: Thủ tục nhập dữ liệu từ bàn phím
GV: Khi sử dụng các ứng dụng ta thường
nhập thông tin vào, như vậy bằng cách nào
ta nhập được thông tin nào khi lập trình?
Làm cách nào để nhập giá trị từ bàn
phím vào cho biến.
GV: Diễn giải hoạt động của
READ/READLN, nêu sự khác nhau khi
dùng Read/Readln.

GV: Mỗi ngôn ngữ có cach nhập thông tin
vào khác nhau.
GV: Đưa ra hai ví dụ về chương trình có
nhập thông tin vào từ bàn phím .
Ví dụ 1 : Xét chương trình sau:
Program VD;
Uses crt;
Var Tuoi: Byte
Begin
Clrscr;
Write(‘Moi ban cho biet tuoi cua ban’);
Readln(tuoi);
Write(‘Cam on, tuoi cua ban la’,tuoi,
‘Tuoi’);
Readln;
End.
GV : Chạy chương trình cho học sinh quan
1. Nhập dữ liệu từ bàn phím
- Ta dùng thủ tục chuẩn READ hoặc READLN
có cấu trúc như sau:
READ/READLN(<biến 1>, …,<biến n>);
Ví dụ: Read(N);
Readln(a,b,c);
Chú ý : 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. READLN luôn chờ gõ
phím Enter.
Ví dụ 2 : Xét chương trình sau:
Program VD;
Uses crt;

Var a, b, c : Integer;
Begin
Clrscr;
Write(‘Moi ban nhap 3 so:’);
Readln(a, b, c);
Write(‘Ban vua nhap vao 3 so:, a, b, c);
Readln;
End.
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
21
Trường THPT Nguyễn Trãi Năm học 2011-2012
sát, nhận xét về chương trình .
Giải thích việc nhập giá trị cho nhiều
biến đồng thời .
Có thể thay đổi lệnh Readln(a, b, c) trong
ví dụ 2 thánh Read(a, b, c), chạy chương
trình để học sinh thấy sự khác nhau khi sử
dụng hai lệnh này .
GV : Ta thấy ở ví dụ 2 của phần 1 việc ghi
ra dữ liệu thì 3 giá trị a, b, c dính liền vào
nhau và người sử dụng không thể phân biệt
được giá trị của từng biến. Vậy làm thế nào
và có những cách nào để hiển thị dữ liệu
theo ý muốn của người lập trình .
Việc lập dữ liệu cho nhiều biến thì giá trị mỗi
biến phải cách nhau ít nhất một dấu cách hoặc
dấu Enter,máy sẽ gán giá trị cho các biến theo thứ
tự như trong lệnh tương ứng .
Hoạt động 2: Thủ tục đưa dữ liệu ra màn hình
GV : Giới thiệu một số tập tin vầ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ướng dẫn)
GV : Giới thiệu một số thao tác thường
dùng khi soạn thảo chương trình trong môi
trường soạn thảo Turbo Pascal .
GV : Thực hiện một vài lần các thao tác
này để các em nhận thấy mức độ tệin lợi
của nó khi soạn thảo cũng như chạy
chương trình .
GV : Viết một chương trình ví dụ, thực
hiện các thao tác sửa lỗi…
Có thể lấy ví dụ yêu cầu người dùng nhập
vào năm sinh, trả ra kết quả là tuổi của
người đó.
Màn hình làm việc ngôn ngữ Pascal có dạng như
sau:
Một số thao tác thường dùng trong Pascal:
-Xuống dòng: Enter
-Ghi file vào đĩa: F2
-Mở file đã có: F3
-Biên dịch chương trình: Alt + F9
-Soát lỗi chương trình: F9
-Chạy chương trình: Ctrl + F9
-Đóng cửa sổ chương trình: Alt + F3
-Chuyển qua lại giữa các cửa sổ: F6
-Xem lại màn hình kết qủa: Alt + F5

-Thoát khỏi Turbo Pascal: Alt + X
4. Cũng cố:
- Biết được cấu trúc và ý nghĩa của câu lệnh nhập xuất
- Sử dụng được câu lệnh nhập xuất trong một số trường hợp đơn giản
- Về nhà học bài cũ và đọc bài mới
V. PHỤ LỤC
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
22
Trường THPT Nguyễn Trãi Năm học 2011-2012
Tuần: 5 Ngày soạn:03/09/2011
Tiết: 9-10 Ngày dạy: …/…/……
BÀI TẬP VÀ THỰC HÀNH 1
I. MỤC ĐÍCH, YÊU CẦU
1. Về kiến thức:
- Biết được một chương trình Pascal hoàn chỉnh.
- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch và thực hiện chương
trình.
2. Về kỹ năng:
- Viết được chương trình đơn giản, lưu được chương trình trên đĩa, dịch lỗi cú pháp, thực hiện và
tìm lỗi thuật toán, hiệu chỉnh.
- Bước đầu biết phân tích và hoàn thành một chương trình đơn giản trên Pascal hoặc Free Pascal.
3. Về tư duy và thái độ:
- Hình thành cho học sinh bước đầu về tư duy về lập trình có cấu trúc.
- Tự giác, tích cực và chủ động hoàn thành.
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ũ, chuẩn bị bài thực hành trong SGK.
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ũ: Thông qua bài dạy
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy
23
Trường THPT Nguyễn Trãi Năm học 2011-2012
3. Bài mới
Tiết 9
Hoạt động 1: Kiểm tra nội dung thực hành và khởi động máy.
Hoạt động của GV và HS Ghi bảng
- GV kiểm tra sự chuẩn bị nội dung thực hành của
học sinh.
- HS để nội dung thực hành trước mặt.
- GV hướng dẫn học sinh khởi động máy, và khởi
động chương trình Turbo Pascal hoặc Free Pascal.
- Chý ý hướng dẫn của GV để khởi động máy và
chương trình Turbo Pascal hoặc Free Pascal.
Hoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh.
Hoạt động của GV và HS Ghi bảng
- GV ghi chương trình Giai_PTB2 lên bảng
- GV yêu cầu học sinh đọc và gõ chương trình
Giai_PTB2 như trên bảng.
- Học sinh quan sát trên bảng và độc lập gõ chương
trình vào máy.
- GV yêu cầu học sinh thực hiện các nhiệm vụ sau:
+ Lưu chương trình bằng cách nhấn phím F2 với tên
PTB2.PAS.

+ Dịch và sửa lỗi cú pháp với tổ hợp phím Alt+F9.
+ Thực hiện chương trình với tổ hợp phím Ctrl+F9.
+ Nhập các giá trị 1; -3; và 2. Thông báo kết quả của
máy đưa ra.
Hs:
- Nhấn phím F2 và gõ PTB2.PAS
- Nhấn phím Alt+F9
- Nhấn phím Ctrl+F9
- x1 = 1.00 x2 = 2.00
Gv:
- Trở về màn hình soạn thảo bằng phím Enter.
- Tiếp tục thực hiện chương trình
Chương trình giải phương trình
bậc hai:
program Giai_PTB2;
uses crt;
var a, b , c, D: real;
x1, x2: real;
begin
clrscr;
write(‘ a, b, c: ‘);
readln(a, b, c);
D:=b*b - 4a*b*c;
x1:= (-b - sqrt(D))/(2*a);
x2:= -b/a - x1;
write(‘x1 = ‘, x1 : 6 : 2, ’
‘x2: = ‘, x2 : 6 : 2);
readln
end.
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy

24
Trường THPT Nguyễn Trãi Năm học 2011-2012
- Nhập các giá trị 1 ; 0 ; -2. Thông báo kết quả của
máy đưa ra.
- Nhấn phím Ctrl+F9
Hs:
- Thông báo lỗi
Gv: Vì sao lại có lỗi xuất hiện? và sửa lại cho đúng
Hs: Suy nghĩ trả lời: do delta âm.
+ Sửa lại chương trình trên không dùng đến biến D
và thực hiện chương trình đã sửa.
- Thông báo lỗi và cho biết vì sao: Do căn bậc hai
của một số âm.
- Thông báo lỗi với lý do delta của pt là số âm.
+ Thực hiện chương trình đã sửa với bộ dữ liệu 1 ; -
5 ; 6. Thông báo kết quả.
+ Thực hiện chương trình với bộ dữ liệu 1 ; 1 ; 1.
Thông báo kết quả.
readln(a, b, c);
x1:= (-b -sqrt(b*b - 4a*b*c))/
(2*a);
x2:= -b - x1;
write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘,
x2 : 6 : 2);
readln(a, b, c);
x1:=(-b - sqrt(b*b - 4a*b*c))/
(2*a);
x2:=(-b+ sqrt(b*b - 4a*b*c))/
(2*a);
write(‘x1 = ‘, x1 : 6 : 2, ’x2:

= ‘, x2 : 6 : 2);
- x1 = 2.00 x2 = 3.00
4. Cũng cố
- Nhắc lại các bước khi hoàn thành một chương trình
- Phân tích một bài toán xác đinh I/O
V. PHỤ LỤC 1
……………………………………………………………………………………………………………
…………………………………………….
……………………………………………………………………………………………………………
……………….
……………………………………………………………………………………………………………
……………….
……………………………………………………………………………………………………………
……………….
……………………………………………………………………………………………………………
……………………………………………………………………
Tiết 10
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ũ: Thông qua bài dạy
3. Bài mới
Hoạt động 3: Rèn luyện thêm về kỹ năng lập trình cho học sinh
Hoạt động của Gv và Hs Ghi bảng
GV: yêu cầu học sinh hãy viết một chương trình
tính diện tích một tam giác khi biết độ dài ba cạnh
của nó.
Giáo án tin học 11 Gv: Nguyễn Thị Thu Thủy

25

×