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

Giao an tron bo tin hoc 11 day du hoan chinh

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 (416.96 KB, 79 trang )

Tiết CT: 1 Tuần: 1
Ngày soạn: 15.07.2013
Ngày dạy: 15.08.2013

CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ CHƯƠNG TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNH
§ 1: KHÁI NIỆM LẬP TRÌNH VÀ
NGÔN NGỮ LẬP TRÌNH

I. MỤC ĐÍCH, YÊU CẦU
- Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ;
- Hiểu ý nghĩa và nhiệm vụ của chương trình dịch;
- Phân biệt được biên dịch và thông dịch.
II. PHƯƠNG PHÁP
Phát vấn kết hợp diễn giảng
III. PHƯƠNG TIỆN DẠY HỌC
SGK, SGV, bảng vẽ khổ lớn… nếu có máy chiếu thì tốt.
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1. Ổn định lớp (Kiểm tra sĩ số)
2. Ôn lại kiến thức cũ (nếu có)
3. Hoạt động dạy và học
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
Hoạt động 1: tìm hiểu khái niệm
lập trình và ngôn ngữ lập trình
Ở lớp 10 các em đã học các loại
ngôn ngữ lập trình.
? Hãy cho thầy biết có mấy loại Có 3 loại: ngôn ngữ
ngôn ngữ lập trình?
máy, hợp ngữ, ngôn ngữ


lập lập trình bậc cao?
? Cho biết đặc điểm của từng Ngôn ngữ máy là ngôn
loại?
ngữ máy có thể hiểu trực
tiếp.
Hợp ngữ: sd từ tiếng
Anh
Ngôn ngữ lập trình bậc
cao:
Các bước để giải bài toán
? Có mấy bước để giải bài toán trên máy tính:
trên máy tính? Kể tên?
- Xác định bài toán
Chúng ta thấy ở bước thứ 3 viết - Xây dựng và lựa thuật
chương trình hay còn gọi là lập toán
trình?
- Viết chương trình (lập
Thế nào là lập trình?
trình)
- Hiệu chỉnh
- Viết tài liệu
Bài toán:
Viết chương trình giải phương
trình ax + b = 0?
? Hãy xác định Input và Output
bài toán?
Xác định thuật toán?

Input: hai số a, b.
Output: x = - b/a, ptvn,

pt có vô số nghiệm.
Bước 1: nhập a, b;

1


HOẠT ĐỘNG CỦA GV

HOẠT ĐỘNG CỦA HS
Bước 2: nếu a <> 0 thì
x=-b/a
Bước 3: Nếu a = 0 thì
ptvn;
Bước 4: nếu a = 0 và b=0
thì pt có vô số nghiệm

Đó là thuật toán của bài toán.
Em dùng tiếng Anh
? Để diễn tả thuật toán cho
người nước ngoài hiểu em dùng Ngôn ngữ lập trình
ngôn ngữ nào?
? Còn để cho máy hiểu em dùng
ngôn ngữ nào?
HS phát biểu
Dẫn dắt vấn đề: như vậy hoạt
động diễn đạt một thuật toán thông
qua ngôn ngữ lập trình được gọi là
lập trình.
Đọc SGK cho biết thế nào là lập
trình?

Giải thích thế nào là câu lệnh
Về việc chọn ngôn ngữ lập trình
ta có thể chọn 1 trong 3 loại ngôn
ngữ trên.
Nhưng do đặc điểm vượt trội của
ngôn ngữ bậc cao nên người ta
thường sd nó để lập trình.
? Những đặc điểm đó là những
đặc điểm nào? Và để sd ngôn ngữ
lập trình bậc cao phải có cái gì?
Đó là những đặc điểm của ngôn
ngữ lập trình. Nhưng khi sd ngôn
ngữ lập trình bậc cao cần phải có
chương trình dịch.
Chức năng của chương trình
dịch.

NỘI DUNG

1. Khái niệm lập trình
Lập trình là sử dụng cấu trúc dữ
liệu và các câu lệnh của ngôn ngữ lập
trình cụ thể để mô tả dữ liệu và diễn
đạt các thao tác của thuật toán.

HS chia nhóm thảo luận
trong 3 phút
2. Chương trình dịch
Chức năng: chuyển đổi chương
trình được viết bằng NNLT bậc cao

thành chương trình thực hiện trên máy
được.
Dịch từ ngôn ngữ khác
sang ngôn ngữ máy

Chương trình nguồn
Chương trình dịch

Ví dụ trong SGK giới thiệu về
trường.
Chương trình dịch có hai loại:
Biên dịch và thông dịch.

Chương trình đích

Biên dịch:
Chương trình dịch có hai loại: biên
? Biên dịch và thông dịch khác - Dịch toàn bộ chương dịch và thông dịch
nhau chỗ nào?
trình
- Có thể lưu trữ để sd lại
a) Thông dịch:
Thông dịch:
 Kiểm tra tính đúng đắn của
- Dịch từng câu lệnh
câu lệnh tiếp theo trong chương trình
- Không lưu lại được

2



HOẠT ĐỘNG CỦA GV

HOẠT ĐỘNG CỦA HS

V. CỦNG CỐ - DẶN DÒ
a. Củng cố:
Thế nào là lập trình?
Chức năng của chương trình dịch?
Sự giống và khác nhau của biên dịch và thông dịch?
b. Dặn dò:
Soạn bài trước:
? Thành phần của NNLT?
? Thế nào là tên? Qui tắc đặt tên?
? Có mấy loại tên? tại sao phải nhớ tên riêng?
? Thế nào là hằng? thế nào là biến?
Học bài và trả lời câu hỏi SGK
VI. RÚT KINH NGHIỆM

3

NỘI DUNG
nguồn
 Chuyển đổi câu lệnh đó
thành một hoặc nhiều câu lệnh tương
ứng trong NN máy
 Thực hiện câu lệnh vừa
chuyển được
b) Biên dịch:
 Duyệt, phát hiện lỗi, kiểm tra

tính đúng đắn của câu lệnh
 Dịch toàn bộ chương trình
nguồn thành 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.


Tiết CT: 2 Tuần: 2
Ngày soạn: 22.07.2013
Ngày dạy: 22.08.2013

§ 2. CÁC THÀNH PHẦN CƠ BẢN
CỦA NGÔN NGỮ LẬP TRÌNH

I. MỤC ĐÍCH YÊU CẦU
- Biết ngôn ngữ lập trình có ba thành phần cơ bản
- Biết một số khái niệm tên, tên dành riêng, tên chuẩn, hằng và biến
- HS nhớ qui định về cách đặt tên hằng, biến... Biết nhận biết tên đặt sai, đúng.
II. PHƯƠNG PHÁP
Diễn giảng kết hợp phát vấn
III. PHƯƠNG TIỆN DẠY HỌC
SGK, SGV, nếu có máy chiếu thì tốt
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1. Ổn định lớp (Kiểm tra sỉ số)
2. Kiểm tra bài cũ
Câu 1: Chức năng của chương trình dịch
Câu 2: Sự giống và khác nhau giữa biên dịch và thông dịch
3. Nội dung
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS

NỘI DUNG
Hoạt động 1:
? Có những yếu tố nào để − Bảng chữ cái tiếng Việt, 1. Các thành phần cơ bản
xây dựng nên ngôn ngữ tiếng số, dấu.
a) Bảng chữ cái
− Cách ghép kí tự thành
Việt?
Tập hợp kí tự được dùng để viết
câu, cách ghép từ thành câu chương trình.
NNLT cũng tương tự như − Ngữ nghĩa của từ và
Không được dùng bất cứ kí tự nào
vậy, nó gồm các thành phần: câu.
ngoài các kí tự qui định trong bảng chữ
bảng chữ cái, cú pháp và ngữ
cái
nghĩa.
? Hãy đọc SGK trang 9 Đọc SGK và trả lời câu hỏi Ví dụ:
cho thầy biết trong Pascal
Trong Pascal bảng chữ cái bao gồm:
bảng chữ cái bao gồm kí tự
Chữ cái thường và chữ cái in hoa tiếng
nào?
Anh
Sau khi HS trả lời treo
a...z ; A..Z;
bảng khổ lớn bảng chữ cái
10 chữ thập phân: 0..9
Bảng chữ cái của các
kí tự đặc biệt:
NNLT nói chung không khác

+ - * /
=
< < [ ] . ,
nhau nhiều.
; # ^ @ $ & ( ) { } : ‘
VD: trong C++ khác với

Dấu cách (mã ASCII là 32)
Pascal còn có sd thêm kí tự
như dấu (“), ( \), ( ! ).
Nhờ vào chúng mà chương
trình dịch biết được tổ hợp Chú ý nghe giảng
nào của các kí tự trong bảng
chữ cái là hợp lệ và tổ hợp
nào là không hợp lệ. Nhờ đó,
có thể mô tả thuật toán để

b) Cú pháp Là bộ qui tắt để viết chương
trình

4


HOẠT ĐỘNG CỦA GV
máy thực hiện.
VD: phần lớn NNLT đều sd
dấu cộng ( +)
Xét hai biểu thức sau:
A+B
(1)

I+J
(2)
Giả sử: A, B là đại lượng nhận
giá trị thực; I, J nhận giá trị
nguyên
(giải thích số thực và số
nguyên)
Dấu (+) trong biểu thức (1)
là cộng hai số thực
Dấu (+) trong biểu thức (2)
là cộng hai số nguyên.
Hoạt động 2: Một số khái
niệm
Một trong những khái niệm
đó là tên.
Tên phải được đặt theo qui
tắc đặt tên tuỳ vào từng
NNLT
? Những tên sao đây tên nào
đúng qui tắc tên nào sai qui
tắc trong NNLT Pascal?
LOP11C2
LOP 11C2
LOP_11C2
2D
A\B
Lưu ý: NNLT Pascal không
phân biệt chữ hoa chữ thường
Lấy ví dụ về tên HS
Tên thì có các loại tên sau:

Chúng ta không được dùng
tên này với ý nghĩa khác.
? Trong Pascal có những
tên riêng nào?

HOẠT ĐỘNG CỦA HS

NỘI DUNG

c) Ngữ nghĩa xác định ý nghĩa thao tác
cần phải thực hiện, ứng với tổ hợp kí tự
dựa vào ngữ cảnh của nó

Những tên đúng:
LOP11C2 LOP_11C2
Những tên sai
LOP 11C2, 2D, A\B

2. Một số khái niệm
a) Tên
Mọi đối tượng trong chương trình đều
phải đặt tên theo qui tắc của NNLT và của
từng chương trình dịch cụ thể
* Trong Turbo Pascal tên:
- Không chứa dấu cách, không quá
127 kí tự, không chứa kí hiệu đặc biệt.
- Bắt đầu bằng chữ cái hoặc dấu gạch
dưới.
VD:
- Tên đúng

LOP11C2, LOP_11C2
- Tên sai:
LOP 11C2, 3D, A\B
* Tên dành riêng (từ khoá): NNLT qui
định dùng với ý nghĩa xác định.

Program, uses, const, type,
var, begin, end…

Ý nghĩa của tên chuẩn được
qui định trong các thư viện
của NNLT.
? Trong Pascal có những
tên chuẩn nào?
abs, sqr, sqrt, byte, integer,
Chúng ta nên đặt tên sao real, longin…
cho gợi nhớ nội dung của nó
không nên đặt quá dài hay quá

5

Vd: Trong pascal: program, uses,
const, type, var, begin, end…
* Tên chuẩn: được dùng với một ý nghĩa
nào đó. Nhưng ta có thể khai báo và dùng
với ý nghĩa và mục đích khác.
Vd: abs, sqr, sqrt, byte, integer, real,
longin



HOẠT ĐỘNG CỦA GV
ngắn. vd: để đặt tên cho điểm
môn toán thì ta nên đặt dtoan
không nên đặt dt hay
diem_mon_toan.
? Vì sao ta phải nhớ tên dành
riêng?

HOẠT ĐỘNG CỦA HS

NỘI DUNG
* Tên do người lập trình đặt: tên này xác
định bằng cách khai báo trước khi sd,
không được trùng với tên dành riêng
Vd: X1; X2; DELTA, CT_VD; BAI6_3

Để khi đặt tên không trùng.
Hằng có nhiều loại như: hằng
số học, hằng logic, hằng
xâu…

b) Hằng và biến
* Hằng:
Hằng là đại lượng không thay đổi
trong quá trình thực hiện chương trình.
Vd: - hằng số học: 2; 0; -5; 1.25; -2.36
- hằng logic: TRUE; FALSE.
- hằng xâu: ‘tin hoc’;
‘nguyen_van_A’; ‘Truong THPT Duyen
Hai’

* Biến:
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:
Đặt chú thích để người đọc chương
trình đó dễ hiểu hơn
Trong pascal chú thích được đặt trong
dấu (* và *) hoặc { và }.

VD: DELTA, I, J…
Khi đặt chú thích thì
chương trình dịch sẽ bỏ qua.

V.CỦNG CỐ - DẶN DÒ
1. Củng cố:
- Thành phần của NNLT: bảng chữ cái, cú pháp, và ngữ nghĩa.
- Một số khái niệm: tên, hằng, biến.
2. Dặn dò:
Về nhà học bài và trả lời câu hỏi trong SGK tiết sau giải bài tập
VI. RÚT KINH NGHIỆM

6


Tiết CT: 3 Tuần: 3
Ngày soạn: 29.07.2013
Ngày dạy: 29.08.2013


BÀI TẬP CUỐI CHƯƠNG 1
-----------------

I. MỤC ĐÍCH - YÊU CẦU
- Củng cố lại kiến thức chương 1
- Giải một số bài tập của chương
II. PHƯƠNG PHÁP
Phát vấn kết hợp làm việc theo nhóm và diễn giảng.
III. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1. Ổn định lớp: (Kiểm tra sĩ số)
2. Kiểm tra bài cũ
Câu 1: Hãy kể tên thành phần của NNLT?
Câu 2: Thế nào là tên dành riêng? Tại sao ta phải nhớ tên dành riêng?
Câu 3: Những tên nào sau đây là đúng qui tắc, sai qui tắc?
_VIDU1; A#B; VI_DU1; VAR; VAR1.
3. Nội dung:
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DỤNG
Câu 1 Tại sao người ta phải
Câu 1
xây dựng các NNLT bậc cao? Trao đổi nhóm trong 7 phút
Người ta phải xây dựng các NNLT bậc
cao:
- NNLT bậc cao gần với NN 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 NNLT bậc cao
ít phụ thuộc vào máy.
- Chương trình viết bằng NNLT bậc cao

dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp.
- 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
Câu 2: Chương trình dịch là Trao đổi nhóm trong 2 phút? thuận tiện cho mô tả thuật toán.
gì? Tại sao phải có chương
Câu 2:
trình dịch?
- SGK trang 4
Nêu Input và Output của
- Nhờ có chương trình dịch mà chương
chương trình dịch.
trình dịch mà máy có thể thực hiện được
chương trình viết bằng NNLT bậc cao.
Trả lời câu hỏi
Câu 3: Biên dịch và thông
dịch khác nhau chỗ nào?
Câu 4: tên dành riêng không được dùng
Câu 4 Cho biết sự các điểm
với ý nghĩa khác; tên chuẩn có thể dùng
khác nhau giữa tên riêng và
với ý nghĩa khác.
tên chuẩn?
Trả lời câu hỏi
Gọi một em trả lời
-3 tên đúng: VI_DU, _BAI6,

7


HOẠT ĐỘNG CỦA GV

HOẠT ĐỘNG CỦA HS
Câu 5: Hãy viết ra 3 tên đúng BAITAP.
và 3 tên sai theo qui tắc của - 3 Tên sai: 2AB, I+J,
Pascal.
BAI TAP.
Câu 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ỉ lỗi từng trường
hợp:
Thảo luận trong 5 phút
a) 150.0 b) -22
c) 6,23
d) ‘43’
e) A20
f) ‘C
g) 1.06E-15 h) 4+6
i) ‘TRUE”
Nếu còn thời gian cho bài
tập thêm:
Câu 7: Hãy chỉ ra những tên
nào đúng tên nào sai trong
Pascal giải thích lí do:
#TONG 1DIEM SO2
USES1
DT HV END
EN5D
BAI_1
BAI1
Câu 8: những chú thích nào

sau đây là sai? Giải thích lí
do?
a. (*giải phương trình*
b.(*giải phương trình*)
c.(*giải phương trình}
d.{giải phương trình
e.{giải {phương{ trình}
f.{giải (*phương trình}

Những tên sai:
#TONG : Sai vì tên bắt
bằng kí tự đặc biệt #
1DIEM : Sai vì bắt
bằng kí tự số.
END
: Sai vì trùng
từ khoá
DT HV : Sai vì có
cách

NỘI DỤNG

Những biểu diễn không là hằng:
6,23: dấu phẩy (nếu là dấu chấm thì
đúng)
A20: tên không rõ giá trị
‘C: sai qui định về hằng xâu: thiếu dấu
nháy đơn ở cuối

đầu

đầu
với
dấu

Chú thích sai:
a : sai vì thiếu dấu )
c : sai vì mở là (* nhưng
đóng }
d : sai vì thiếu dấu }

IV. DẶN DÒ
Về nhà học bài tiết sau kiểm tra 15 phút.
Soạn bài trước theo câu hỏi sau:
Câu 1: Cấu trúc của một chương trình được viết bằng NNLT?
Câu 2: Các cách khai báo trong Pascal: khai báo tên chương trình, khai báo thư viện, khai báo
hằng, khai báo biến.
Câu 3: thân chương trình của Pascal gồm những từ khoá nào?
Câu 4: để viết được lệnh đưa thông báo ra màn hình ta dùng lệnh nào?
V. RÚT KINH NGHIỆM

8


KIỂM TRA ĐÁNH GIÁ 15 PHÚT
I. MỤC ĐÍCH
Kiểm tra lại khả năng tiếp thu cũng như quá trình học tập của HS. Từ đó có thể điều chỉnh
phương pháp giảng dạy.
II. BẢNG RA ĐỀ KIỂM TRA
Mức độ
Biết

Hiểu
Vận dụng

Bài 1
1, 2, 3, 4

Bài 2
5, 6, 7, 8, 10, 13, 14, 15, 18, 19, 20
9, 11, 12

III. NỘI DUNG
IV. KẾT QUẢ KIỂM TRA
Trên trung bình:
Dưới trung bính:

9


Tiết CT: 4 Tuần: 4
Ngày soạn: 05.08.2013
Ngày dạy: 05.09.2013

CHƯƠNG II. CHƯƠNG TRÌNH ĐƠN GIẢN
---------§ 3. CẤU TRÚC CHƯƠNG TRÌNH

I. MỤC ĐÍCH – YÊU CẦU
Hiểu chương trình là sự mô tả của thuật toán bằng NNLT.
Biết cấu trúc của chương trình đơn giản: cấu trúc chung và các thành phần
Nhận biết được thành phần của một chương trình đơn giản
II. PHƯƠNG PHÁP

Phát vấn kết hợp với diễn giảng.
III. PHƯƠNG TIỆN DẠY HỌC
SGK, SGV, giáo án, một số bảng vẽ lớn.
IV. NỘI DUNG VÀ DIỄN BIẾN TIẾT DẠY
1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ
Câu 1: NNLT có những thành phần nào?
Câu 2: Thế nào là tên dành riêng? Viết một số tên dành riêng mà em biết?
Câu 3: Tên dành riêng khác với tên chuẩn ở điểm nào?
3. Nội dung
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
Hoạt động 1:
? Một bài làm văn em thường viết Lắng nghe, suy nghĩ trả lời:
− Có 3 phần
có mấy phần? các phần đó có thứ
− Có thứ tự: mở bài, thân
tự không? tại sao phải chia như
vậy?
bài, kết luận.
− Để dễ viết, dễ đọc, dễ
Tư tự như vậy một chương trình
hiểu nội dung.
viết bằng NNLT bậc cao cũng có
1. Cấu trúc chung
thành phần và thứ tự của các thành
phần đó.
Đọc SGK
Yêu cầu HS đọc SGK.

Trả lời câu hỏi
[]
? Cấu trúc chung của chương trình

viết bằng NNLT bậc cao có những
thành phần nào?
Phần khai báo được đặt trong dấu
ngoặc vuông có nghĩa là có thể có
hoặc không. Phần thân nhất thiết
2. Thành phần của chương trình
phải có.
a. Phần khai báo:
? Trong khai báo có những loại
a1) Khai báo tên chương trình
nào?
Cú pháp:
Bắt đầu bằng từ khoá
Program <tên chương trình>;
? Để khai báo tên chương trình ta
Program
Ví dụ:
bắt đầu bằng từ khoá nào?
Program giai_phuong_trinh;
Khai báo tên chương trình chỉ có ý
Program VI_DU;
nghĩa để ghi nhớ tên bài toán cần
giải .
Một số NNLT có thể không cần
phải khai báo tên chương trình.


10


HOẠT ĐỘNG CỦA GV
Lưu ý là kết thúc câu lệnh ta
dùng dấu chấm phẩy‘;’
Mỗi NNLT thường có sẵn một số
thư viện cung cấp một số chương
trình thông dụng đã được lập sẵn.
để sử dụng chương trình đó cần
khai báo thư viện chứa nó.
Trong thư viện CRT trong
pascal cung cấp các chương trình
có sẵn để làm việc với màn hình
văn bản và bàn phím.
Khai báo hằng thường được sử
dụng cho những giá trị xuất hiện
nhiều lần trong chương trình.
? Yêu cầu lấy ví dụ khai báo
hằng trong Pascal.
Tất cả các biến dùng trong chương
trình đều phải đặt tên và phải khai
báo cho chương trình dịch biết để
lưu trữ và xử lí.
Khai báo biến ta sẽ học ở bài 5.
Ở đây ta làm quen khái niệm biến
đơn.
Ví dụ: khi khảo sát phương
trình đường thẳng ax + by + c = 0
các hệ số a, b, c có thể được khai

báo như một biến đơn.
Ngoài ra ta còn khai báo chương
trình con được trình bày ở chương
VI.
? Dấu hiệu nào để nhận biết thân
chương
trình.
BEGIN

HOẠT ĐỘNG CỦA HS

Sau khi khai báo CRT ta dùng
lệnh: clrscr; (lệnh xóa màn hình)
a3) Khai báo hằng
Cú pháp
CONST Tên _hằng = giá trị;
Ví dụ:
CONST Nmax = 1000;
PI = 3.14;

a4) Khai báo biến:
Biến đơn là 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.

Thân chương trình nằm
trong hai từ khoá mở đầu và
kết thúc.

[

lệnh>]
END.

Hướng dẫn học sinh các bước
− Khai báo tên chương trình
− Dùng câu lệnh đưa ra màn
hình là lệnh Write hay Writeln
trong Pascal.
Yêu cầu học sinh viết chương
trình này?
Giải thích sự khác nhau giữa
lệnh write và writeln.

NỘI DUNG
a2) Khai báo thư viện
Cú pháp:
USES <tên thư viện>;
Ví dụ: khai báo thư viện trong
pascal:
USES CRT;

b) Phần thân chương trình:
Thân chương trình trong Pascal

3. Ví dụ chương trình đơn giản
Ví dụ 1: viết chương trình đưa ra
màn hình thông báo ‘Xin chao cac
ban!’
Một em lên bảng trình bày
các em khác làm trong

nháp.

Ví dụ 2 tương tự như ví dụ 1

11

Program vi_du1;
Begin
writeln(‘Xin chao cac ban’);
End.


HOẠT ĐỘNG CỦA GV
nhưng thêm câu lệnh Writeln
Yêu cầu học sinh viết chương
trình này?

HOẠT ĐỘNG CỦA HS
Lên bảng viết chương trình

NỘI DUNG
Ví dụ 2:
Program vi_du2;
Begin
writeln(‘Xin chao cac ban’);
writeln(‘Moi cac ban lam quen
voi Pascal’);
End.

V. CỦNG CỐ − DẶN DÒ

1. Củng cố:
− Cấu trúc của chương trình có mấy phần?
− Các từ khoá trong khai báo: tên chương trình; hằng; thư viện.
− Dấu hiệu nhận biết thân chương trình trong Pascal.
2. Dặn dò
Về nhà soạn bài 4, 5 SGK.
− Trong Pascal sử dụng kiểu dữ liệu nào? Phạm vi của từng kiểu?
− Cách khai báo biến. Ví dụ khai báo biến trong Pascal.
− Khi khai báo biến ta cần chú ý đến điểm nào?
VI. RÚT KINH NGHIỆM

12


§ 4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN
§ 5 KHAI BÁO BIẾN
I. MỤC ĐÍCH – YÊU CẦU
Biết một số kiểu dữ liệu chuẩn: nguyên; thực, logic, kí tự.
Xác định được kiểu cần khai báo của dữ liệu đơn giản.
Hiểu cách khai báo biến
Biết khai báo biến đúng
II. PHƯƠNG PHÁP
Diễn giảng, phát vấn kết hợp làm việc nhóm.
III. PHƯƠNG TIỆN DẠY HỌC
Bảng vẽ khổ lớn, SGK, giáo án…
IV. NỘI DUNG VÀ DIỄN BIẾN TIÉT DẠY
1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ
Câu 1: Cấu trúc chung của chương trình viết bằng NNLT bậc cao?
Câu 2: Trong Pascal khi khai báo tên chương trình, thư viện, hằng ta dùng từ khoá nào?

3. Nội dung
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS
NỘI DUNG
Các bài toán trong thực
tế thường có dữ liệu vào
§ 4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN
và kết quả ra thuộc những
kiểu dữ liệu quen biết: số
1. Kiểu nguyên
nguyên, thực, kí tự…
Treo bảng vẽ lên bảng
Bộ nhớ lưu trữ
Kiểu
Phạm vi giá trị
một giá trị
Ta nên chọn kiểu số
Byte
1 Byte
0 → 255
nguyên sao cho phù hợp
Integer
2 Byte
-215 → 215 – 1
để ít tốn bộ nhớ.
Word
2 Byte
0 → 216-1
Longint
4 Byte
-231 → 231-1

Có nhiều kiểu dùng để
khai báo các đại lượng
nhận giá trị là số thực.
Thường dung hơn cả là
các kiểu được liệt kê trong
bảng
Treo bảng lên

2. Kiểu thực
Kiểu

? Ở đây kí tự chính là kí tự
trong bảng mã ASCII
Bộ mã ASCII bao nhiêu kí
tự?
Ví dụ kí tự A có mã
ASCII thập phân là 65.
Bộ mã ASCII có 256 kí tự
? Dấu cách có mã ASCII
là bao nhiêu?
Dấu cách có mã ASCII là

13

Bộ nhớ lưu
trữ một giá
trị

Real


6 Byte

Extended

10 Byte

Phạm vi giá trị
0 hoặc giá trị tuyệt đối
nằm trong phạm vi
10-38 Đến 1038
0 hoặc giá trị tuyệt đối
nằm trong phạm vi
10-4932 đến 104932

3. Kiểu kí tự
Kiểu
Char

Bộ nhớ lưu
trữ một giá
trị
1 Byte

Phạm vi giá trị
256 Ktự trong mã
ASCII


HOẠT ĐỘNG CỦA GV


HOẠT ĐỘNG CỦA HS
32

NỘI DUNG
4. Kiểu lôgic
Kiểu

Chú ý: người lập trình
cần tìm hiểu đặc trưng của
các kiểu dữ liệu chuẩn
được xác định bởi bộ dịch
và sử dụng để khai báo
biến

Boolean

Như nói ở trên, mọi
biến dùng trong chương
trình đều cần khai báo tên
và kiểu dữ liệu. Tên biến
dung để xác lập quan hệ
giữa biến với địa chỉ bộ
nhớ nơi lưu giữ giá trị
biến.
? Trong chương trình biến
được khai báo bao nhiêu
lần?

§ 5 KHAI BÁO BIẾN
Mọi biến dùng trong chương trình đều cần

khai báo tên và kiểu dữ liệu.
Trong Pascal khai báo biến bắt đầu bằng từ khoá
VAR
Cú pháp
VAR <danh sách biến>: <kiểu dữ liệu>;
Danh sách biến: gồm một hoặc nhiều biến, các
biến được viết cách nhau bởi dấu phẩy;
Kiểu dữ liệu là kiểu dữ liệu chuẩn hoặc kiểu dũ
liệu do người lập trình tự định nghĩa
Ví dụ 1: GSử trong chương trình cần các biến
A, B, C, D, X1, X2 là các biến thực
M, N là biến nguyên
Ta khai báo
VAR
A, B, C, D, X1, X2: REAL;
M, N : INTEGER;

Một lần
Phần này được trình
bày trong chương IV.
Ta sẽ khai báo như thế
nào?
Lên bảng khai báo
Ví dụ 2:
Xét khai báo sau:
VAR
X, Y, Z: real;
C: char;
I, J: byte;
N: word;

? Trong khai báo này bộ
nhớ cần cấp phát bao
nhiêu ?
Khi khai báo ta cần chú ý
đến một số vấn đề sau:

Bộ nhớ lưu
trữ một giá
Phạm vi giá trị
trị
1 Byte
True hoặc False

Bộ nhớ cấp cho ba biến
X, Y, Z là 18 byte
C là 1 byte

14


HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS
- Ví dụ: cần đặt tên hai I, J là 2 byte
biến biểu diễn điểm toán, N là 2 byte
điểm tin mà không nên vì Tổng cộng: 23 byte
ngắn gọn mà đặt d1, d2
mà nên đặt dtoan, dtin.
- Ví dụ không nên
dùng
d1,
d2

hoặc
diemmontoan, diemmontin
Ví dụ khi khai báo biến là
số học sinh của một lớp thì
nên khai báo biến đó thuộc
kiểu byte, nhưng nếu là số
HS toàn trường thì phải là
kiểu word.

NỘI DUNG
* Một số vấn đề cần chú ý:
- Cần đặt tên biến sao cho gợi nhớ ý nghĩa của
biến đó.
- Không nên đặt tên biến quá ngắn hay quá
dài, dễ mắc lỗi khi viết tên biến nhiều lần.
- Khai báo biến cần đặc biệt lưu ý đến phạm vi
giá trị của nó.

V. CỦNG CỐ DẶN DÒ
1. Củng cố:
- Các kiểu dữ liệu chuẩn: số nguyên (integer), số thực (real), kí tự (char), logic (Boolean)
- Mọi biến trong chương trình đèu phải được khai báo tên và kiểu dữ liệu
VAR <danh sách biến>: <kiểu dữ liệu>;
2. Dặn dò
Về nhà học bài trả lời các câu hỏi 1; 2; 3; 4; 5 SGK trang 35.
Soạn bài 6:
Yêu cầu 1: lớp chia làm 3 nhóm chuẩn bị bảng phụ ghi những bảng sau:
Tổ 1: ghi bảng phép toán trong Pascal.
Tổ 2: ghi qui tắt viết biểu thức toán học trong Pascal.
Tổ 3: chuẩn bị bảng một số hàm chuẩn.

Yêu cầu 2: soạn phần 4, 5, 6
Câu 1: biểu thức quan hệ có dạng nào? Trình tự thực hiện biểu thức quan hệ? Kết quả
biểu thức quan hệ?
Câu 2: Biểu thức lôgic gồm những biểu thức nào? Các biểu thức quan hệ đặt đâu? Giá
trị khi thực hiện biểu thức logic?
Câu 3: Trong Pascal câu lệnh gán có dạng nào? Kiểu của biểu thức như thế nào với kiểu
của biến?

15


Tiết CT: 5 Tuần: 5
Ngày soạn: 12.08.2013
Ngày dạy: 12.09.2013

§ 6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

I. MỤC ĐÍCH – YÊU CẦU
Biết các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ.
Hiểu lệnh gán.
Viết được lệnh gán.
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. PHƯƠNG PHÁP
Phát vấn và diễn giảng
III. PHƯƠNG TIỆN DẠY HỌC
Bảng phụ, SGK, giáo án…
IV. NỘI DUNG VÀ DIỄN BIẾN TIÉT DẠY
1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ
Câu 1: Có những kiểu dữ liệu chuấn nào?

Câu 2: Để khai báo tuổi của con người tốt nhất ta dùng kiểu dữ liệu nào?
Câu 3: giả sử ta có các biến sau: x, y nhận giá trị thực; i, j nhận giá trị nguyên vậy ta khai báo
như thế nào?
3. Nội dung
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
Để mô tả các thao tác của
§ 6 PHÉP TOÁN, BIỂU THỨC, CÂU
thuật toán, mỗi NNLT đều xác
LỆNH GÁN
định và sd khái niệm cơ bản:
Phép toán, biểu thức gán giá trị
cho biến.
Hoạt động 1
? Hãy kể những phép toán
Cộng, trừ, nhân, chia, lấy
1. Phép toán
trong toán học.
phần dư, chia nguyên…
Tương tự trong Pascal cũng
Trong toán
Trong
Phép toán
có những phép toán đó nhưng
học
Pascal
diễn đạt bằng cách đó.
Các phép
Cho tổ 1 treo bảng phụ phép Lên treo bảng phụ đã chuẩn toán số học +, -, x, /, div,

+, -, x, /,
toán trên bảng
bị trước
với số
mod
div, mod
nguyên
Giải thích phép toán div,
Các phép
mod, not, or, and.
toán số học
+, -, x, /
+, -, x, /
với số thực
Các phép
<, ≤, >, ≥,
<, <=, >,
toán quan
>=, =, <>
=, ≠
hệ
Chú ý:
¬ (phủ dịnh),
Các phép
Kết quả các phép toán quan
∧ (hoặc), ∨
toán lôgic
not, or, and
hệ cho giá trị logic.
(và)

Ứng dụng của phép toán
logic là để tạo ra các biểu thức

16


HOẠT ĐỘNG CỦA GV
phức tạp từ các quan hệ đơn
giản.
Hoạt động 2
Trong lập trình, biểu thức số
học là một biến kiểu số hoặc
các biến kiểu sô và các hằng số
liên kết với nhau bởi một số
hữu hạn phép toán số học và
dấu ngoặc tròn (và )
Treo bảng do tổ 2 chuẩn bị

Lấy một số ví dụ
Yêu cầu HS viết cho đúng

HOẠT ĐỘNG CỦA HS

NỘI DUNG
2. Biểu thức số học

Tổ 2 đem bảng lên

Lên bảng viết biểu thức
tương ứng.


Chú ý:
Nếu biểu thức chứa hằng
hay biến thực thì ta có biểu
thức số học thực, giá trị biểu
thức cũng thuộc kiểu thực
Trong một số trường hợp
nên dùng biến trung gian
Hoạt động 3
Để lập trình dễ dàng và
thuận tiện hơn, các NNLT đều
có thư viện chứa một số chương
trình tính giá trị những hàm
toán học thường dùng
Cú pháp:
Hàm(đối số)
Treo bảng hàm chuẩn

Qui tắc viết biểu thức:
- Dùng dấu ngoặc tròn để xác định trình
tự thực hiện phép toán
- Viết lần lượt từ trái sang phải
- Không được bỏ qua dấu nhân (*) trong
tích.
Thứ tự thực hiện phép toán:
- Trong ngoặc thực hiện trước
- Nếu không có dấu ngoặc thì thực hiện
từ trái sang phải theo thứ tự nhân, chia, div,
mod, thực hiện trước sau đó cộng, trừ.
Vd: 3 x + 7 y → 3 * x + 7 * y

ab
→ a *b / c
c
Ax 2 + Bx + C → A * x * x + B * x + C
x+ y x−z

1
xy
x−
2
→(x + y)/(x -1/2) – (x-z)/(x*y)

3. Hàm số học chuẩn
Hàm

Pasca
l

Kiểu
đối số

Bình
phương

x2

sqr(x)

I or R


2

sqrt(x
)

I or R

|x|

abs(x
)

I or R

Lnx

ln(x)

R

Theo
kiểu
đối số
R

ex

exp(x
)


R

R

sinx
cosx

sin(x)
cos(x

R
R

R
R

Căn bậc
hai
Trị
tuyệt
đối
Lôgarit
Lũy
thừa của
e
Sin
Cos

Yêu cầu hai học sinh lên
bảng biểu diễn

Hai em lên bảng

17

Kiểu
kết
quả
Theo
kiểu
đối số

Toán
học

R


HOẠT ĐỘNG CỦA GV

HOẠT ĐỘNG CỦA HS

Hoạt động 4
Hai biểu thức cùng kiểu liên
kiết với nhau bởi phép toán
quan hệ cho ta biểu thức quan
hệ
Biểu thức quan hệ có dạng
Đọc SGK, lên bảng viết
như thế nào?
Lấy ví dụ cụ thể

i +1 >=2*j
Lấy ví dụ trong SGK

NỘI DUNG
)
− b + b 2 − 4ac
2a
→ (-b+sqrt(sqr(b)-4*a*c)/(2*a)
b. sin x = 1 − cos 2 x
→ sin(x) = sqrt(1-sqr(cos(x)))
4. Biểu thức quan hệ
VD:

a.

- Dạng:
<Bthức 1><Phép toán qhệ><Bthức 2>
VD: x<5
i + 1 >= 2*j
- Trình tự thực hiện:
+ Tính giá trị biểu thức
+ Thực hiện phép toán quan hệ
- Kết quả: TRUE hoặc FALSE
5. Biểu thức logic
- Biểu thức logic đơn giản là biến hoặc
hằng logic
- Biểu thức logic là biểu thức logic đơn
giản, các biểu thức quan hệ lien kết với
nhau bởi phép toán logic


Hoạt động 5
Các biểu thức quan hệ
thường được được đặt trong
ngoặc tròn
Giải thích biểu thức quan hệ
Kết quả biểu thức quan hệ
cũng là TRUE hoặc FALSE
Hoạt động 6
Trong trường hợp đơn giản
tên biến là biến đơn.
Kiểu của biểu thức phải
cùng kiểu của biến
VD: biến là kiểu thực thì
biểu thức phải là kiểu thực
Dấu := có nghĩa là giá trị
mới bằng giá trị của biểu thức ở
vế phải
Chú ý: viết dấu ( : )sát với
dấu bằng
Ý nghĩa của lệnh 3 là giảm
giá trị z một đơn vị
Ý nghĩa của lệnh 4 là tăng
giá trị x lên một đơn vị

VD: not(4>6)
(5 <= x) and (x<=11)
(M mod 3 = 0) or (N mod 3 = 0)
6. Câu lệnh gán
- Dạng:
<tên biến> := <biểu thức>;


VD: x1:= (-b + sqrt(delta))/(2*a);
x2 := -b/a – x1;
z := z – 1;
x := x + 1;
V. CỦNG CỐ DẶN DÒ
1. Củng cố:
Các phép toán , biểu thức số học, hàm chuẩn, biểu thức quan hệ, biểu thức lôgic, câu lệnh gán
trong Pascal.

18


2. Dặn dò
Học bài và xem trước bài 7 – 8.
VI. RÚT KINH NGHIỆM

19


Tiết CT: 6 Tuần: 6
Ngày soạn: 19.08.2013
Ngày dạy: 19.09.2013

§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 ĐÍCH – YÊU CẦU
Biết các lệnh vào/ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình

Viết được một số lệnh vào ra đơn giản.
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.
Bước đầu sd đượ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 thong 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
II. PHƯƠNG PHÁP
Phát vấn và diễn giảng
III. PHƯƠNG TIỆN DẠY HỌC
Máy chiếu, máy tính có soạn sẵn chương trình đơn giản, SGK, giáo án…
IV. NỘI DUNG VÀ DIỄN BIẾN TIÉT DẠY
1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ
Câu 1: Viết biểu thức biểu diễn trong toán học sang biểu thức trong pascal
x− y
a b
xz ( x + y )
+ ;
z
c d
x+
y
cos 2 x − sin 2 ( x)
Câu 2: Biểu diễn hàm sau trong pascal:
cos x 1 − sin x
3. Nội dung
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
Đặt vấn đề

Để khởi tạo giá trị ban đầu
§7. CÁC THỦ TỤC CHUẨN VÀO/RA
của biến, ta có thể dùng lệnh
ĐƠN GIẢN
gán để gán một giá trị cho biến.
Như vậy mỗi chương trình luôn Chú ý lắng nghe
làm việc với một bộ dữ liệu
vào.
Để chương trình có thể làm
việc với nhiều bộ dữ liệu vào
khác nhau, thư viện của các
NNLT cung cấp một số chương
trình dùng để dưa dữ liệu vào
và đưa dữ liệu ra.
Các chương trình đưa dữ liệu
vào và ra được gọi chung là các
thủ tục chuẩn vào/ra đơn giản.
Hoạt động 1
1. Nhập dữ liệu vào từ bàn phím
Cú pháp:

20


HOẠT ĐỘNG CỦA GV
Danh sách biến gồm 1 hoặc
nhiều biến(trừ biến kiểu
Boolean). Trường hợp có
nhiều biến thì tên biến được
viết cách nhau bởi dấu phẩy.

? Lệnh thứ nhất và lệnh thứ
hai dùng để làm gì?
Khi nhập giá trị cho nhiều
biến, những giá trị này được gõ
cách nhau ít nhất một dấu cách
hoặc xuống dòng (nhấn Enter)
Nhập giá trị biến nguyên
không được sd dấu chấm thập
phân.
Nhập giá trị biến thực có
thể nhập bình thường hoặc
dùng dấu phẩy động.
Vd: nhập giá trị cho a, b, c bằng
1, -5, 6 ta gõ;
1 -5 6 ↵
hoặc 1.0 ↵
-5 ↵
6 ↵
Hoạt động 2
? viết cú pháp thủ tục đưa ra
màn hình?
? Phân biệt thủ tục write và
writeln.

HOẠT ĐỘNG CỦA HS

NỘI DUNG
Read(<danh sách biến vào>);
hoặc
Readln(<danh sách biến vào>);

Ví dụ:

Lệnh thứ nhất để nhập N
Lệnh thứ hai để nhập a, b, c

read(N);
readln(a, b, c);

Nhập giá trị cho a, b, c bằng 1, -5, 6
ta gõ:
1 -5 6 ↵
hoặc 1.0 ↵
-5 ↵
6 ↵

Lên bảng viết
Write khi đưa kết quả ra
màn hình con trỏ không
chuyển xuống dòng, còn
đối với thủ tục writeln khi
đưa ra màn hình con trỏ tự
động xuống dòng.

Minh hoạ cụ thể

- - - 36 - 24.00
425 - -56 - -23.200
Giải thích sự qui cách trên

Để có thể thực hiện chương


21

2. Đưa dữ liệu ra màn hình
*Cú pháp:
Write(<danh sách kết quả ra>);
hoặc
writeln(<danh sách kết quả ra>);
Vd. để nhập giá trị cho biến M ta dùng
Writeln('nhap gia tri M’);
Readln(M);
*Chú ý:
Các thủ tục readln và write có thể
không có tham số.
Trong thủ tục write hoặc writeln,
sau mỗi kết quả có thể qui cách ra:
+ Đối với kết quả thực
:<độ rộng>:phân>
+ Đối với kết quả khác:
: <độ rộng>
Ví dụ:
Writeln(N:5, x:6:2);
Write(( i:3, j:4, a+b:8:3);


HOẠT ĐỘNG CỦA GV
trình được viết bằng NNLT,
cần soạn thảo, sd chương trình
dịch để dịch chương trình đó

sang NN máy. Các hệ thống
lập trình cụ thể thường cung
cấp phần mềm phục vụ cho
việc soạn thảo, dịch và hiệu
chỉnh chương trình.
Chiếu lên màn hình
Giới thiệu sơ lược về màn
hình của Pascal.

HOẠT ĐỘNG CỦA HS

NỘI DUNG
§8. SOẠN THẢO, DỊCH, THỰC HIỆN
HIỆU CHỈNH CHƯƠNG TRÌNH

- Màn hình làm việc của Pascal

Việc soạn thảo giống như
soạn thảo trong word và lưu ý
là không bỏ dấu.

- Soạn thảo: gõ nội dung chương trình gồm
phần khai báo và các lệnh trong phần thân
- Lưu chương trình:
 Nhấn phím F2 → gõ tên tệp
 Vào File → Save → gõ tên tệp
- Biên dịch chương trình: Nhấn Alt +F9
- Chạy chương trình: nhấn Ctrl + F9
- Dóng cửa sổ chương trình: nhấn phím
Alt + F3

- Thoát khỏi phần mềm: Alt + X
- Mở tệp đã có: nhấn phím F3

Nếu chương trình có lỗi cú
pháp phần mềm sẽ hiển thị
thông báo. Cần sửa lỗi lại và
biên dịch lại tới khi không còn
lỗi.

V. CỦNG CỐ DẶN DÒ
1. Củng cố:
Viết được thủ tục đưa dữ liệu vào/ra: write( ) hoặc writeln( ), read( ) hoặc readln.
Các thao tác lưu tệp, dịch chương trình, đóng cửa sổ, đóng phần mềm, mở tệp
2. Dặn dò
Học bài xem trước bài tập thực hành 1
VI. RÚT KINH NGHIỆM

22


Tiết CT: 7 Tuần: 7
Ngày soạn: 26.08.2013
Ngày dạy: 26.09.2013

BÀI THỰC HÀNH 1

I. MỤC ĐÍCH – YÊU CẦU
1. Kiến thức
− Giới thiệu một chương trình Pascal hoàn chỉnh đơn giản;
− Làm quen với một số dịch vụ cơ bản của Turbo Pascal hoặc Free Pascal trong việc soạn thảo,

lưu trữ, dịch và thực hiện chương trình.
2. Kĩ năng
− Soạn được chương trình, lưu trên đĩa, phát hiện thông báo 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 chỉnh một chương trình đơn giản trên Turbo Pascal
3. Thái độ
Tự giác, tích cực, chủ động trong thực hành.
II. PHƯƠNG PHÁP
Nêu vấn đề giải quyết vấn đề
III. PHƯƠNG TIỆN DẠY HỌC
Phòng máy thực hành của trường, máy chiếu nếu có
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1. Ổn định lớp (kiểm tra sĩ số)
2. Nội dung
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
Phổ biến nội qui phòng máy
Program Giai_PTB2;
Chiếu chương trình lên bảng
Uses crt;
yêu cầu học sinh thực hiện các
Var a, b, c, D: real;
nhiệm vụ.
x1, x2 : real;
Hướng dẫn học sinh cách
Begin
khởi động chương trình Pascal
Khởi động chương trình
Clrscr;

Pascal
Write(‘a, b, c: ‘);
Soạn chương trình vào máy Gõ nội dung vào máy
Readln(a, b, c);
Lưu chương trình với tên
D:=b*b − 4*a*c;
PTB2.PAS
x1 = (−b − sqrt(D))/(2*a);
Dịch và sửa lỗi cú pháp
x2 = −b/a − x1;
Thực hiện chương trình
writeln(‘x1= ‘, x1:6:2,’x2 = ‘,x2:6:2);
Nhập dữ liệu 1 −3 2 . Xem
readln
kết quả.
End.
Trở về màn hình soạn thảo
Thực hiện chương trình
Nhập dữ liệu 1 0 2 xem
thông báo.
? Vì sao có lỗi xảy ra.
Sửa lại chương trình không
x1 = (−b − sqrt(b*b−4*a*c))/(2*a);
dùng biến D.
x2 = (−b +sqrt(b*b − 4*a*c))/(2*a)
writeln(‘x1= ‘, x1:6:2,’x2 = ‘,x2:6:2);
readln
Nếu còn thời gian cho thêm bài
Viết chương trình tính diện tích hình được
tập

tô màu, với a được nhập vào bàn phím.

23


HOẠT ĐỘNG CỦA GV
Chiếu nội dung bài tập lên bản

HOẠT ĐỘNG CỦA HS
Quan sát lắng nghe

Phân tích hướng dẫn học
sinh làm bài toán
? Dữ liệu vào?
Dữ liệu vào a
? Dữ liệu ra?
Dữ liệu ra S
Cách tính:
Tính diện tích hình tròn và
diện tích hình vuông
Diện tích hình tô đen =
diện tích hình tròn - diện
tích hình vuông
Yêu cầu HS soạn chương - Soạn chương trình
trình và lưu trên đĩa.
- Nhấn phím F2, gõ tên vào
Quan sát hướng dẫn HS - Nhấn phím Alt + F9, dịch
trong lúc thực hành
sửa lỗi nếu có.
- Nhấn phím Ctrl + F9 để

thực hiện chương trình
Yêu cầu HS nhập dữ liệu và
thông báo kết quả
Nhập dữ liệu vào
a=3

NỘI DUNG

S1:= Pi*R*R;
S2:= sqr(a*sqrt(2));
S := S1- S2;

Với a = 3 ta được S = 10.26
Với a = - 3 kết quả không đúng vì độ dài
cạnh phải là hình vuông.

V. CỦNG CỐ - DẶN DÒ
1. Củng cố:
Các bước để hoàn thành một chương trình
- Xác định dữ liệu vào, dữ liệu ra.
- Xác định thuật toán
- Soạn chương trình vào máy
- Lưu trữ chương trình
- Biên dịch chương trình
- Thực hiện và hiệu chỉnh chương trình
2. Dặn dò
Về nhà làm bài tập 4, 5, 6, 7, 8, 9, 10 SGK trang 35-36

24



Tiết CT: 8,9 Tuần: 8-9
Ngày soạn: 03.10.2013
Ngày dạy: 03.10.2013
10.10.2013

BÀI TẬP CHƯƠNG 2

I. MỤC ĐÍCH – YÊU CẦU
1. Kiến thức
− Cũng cố những nội dung đã đạt được ở tiết thực hành 1
− Biết sử dụng thủ tục chuẩn vào/ra
− Biết xác định Input và Output
II. PHƯƠNG PHÁP
Nêu vấn đề giải quyết vấn đề
III. PHƯƠNG TIỆN DẠY HỌC
Hình vẽ khổ lớn, bảng phụ…
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ:
Câu 1. Trong Pascal, nếu một biến chỉ nhận giá trị nguyên từ phạm vi 10 đến 25532 thì biến đó có
thể được khai báo bằng các kiểu dữ liệu nào?
Câu 2. Viết dạng của thủ tục vào/ra? Cho biết sự khác nhau giữa thủ tục write và writeln?
Câu 3. Biến P có thể nhận giá trị 5, 10, 15, 20, 30, 60, 90 biến X có thể nhận giá trị 0.1, 0.2, 0.3,
0.4, 0.5. Khai báo nào trong khai báo sau là đúng?
a. Var X, P: byte;
b. Var X, P: real;
c. Var P: real;
d. Var X: real;
X: byte;

P: byte;
3. Nội dung
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
Bài 6. tr35
Hãy biểu diễn biểu thức toán học sau
đây trong Pascal
Yêu cầu 2 học sinh lên bảng Lên bảng biểu diễn trong
y
x+
biểu diễn
Pascal
z
(1 + z )
1
a−
1 + x3

Yêu cầu 4 HS lên bảng

a
2a
2=
b
b
1
b
b
c. a

=
c
ac
a.

b.
d.

abc
2
b

(1+z)*(x+y/z)/(a-1/(1+x*x*x))
Bài 7 - tr36
Hãy chuyển biểu thức trong Pascal dưới
đây sang biểu thức toán học tương ứng.
a. a/b*2
b. a*b*c/2
c. 1/a*b/c
d. b/sqrt(a*a+b)

a2 + b
Bài 8 - tr 36
Hãy viết biểu thức lôgic cho cho kết quả
True khi toạ độ (x,y) là điểm nằm trong

25



×