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 (180.01 KB, 21 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Bài soạn 1: KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH
I. Mục tiêu
- Nắm được NNLT gồm 3 loại: NN máy, hợp ngữ, NN bậc cai
- Biết được vai trị của chương trình dịch
- Nắm được khái niệm biên dịch và thông dịch
- Biết 1 trong những nhiệm vụ quan trọng của ct dịch là phát hiện lỗi cú pháp của ct
nguồn
II. Phương pháp và phương tiện dạy học
1. Phương pháp
Thuyết trình - vấn đáp
2. Phương tiện dạy học
Giáo viên: SGK, SGV, bài soạn
Học sinh: SGK, vở ghi
III. Tiến trình bài giảng
1. Ổn định lớp
Sĩ số: Vắng: Có phép: Khơng phép:
2. Nội dung bài mới
Nội dung Hoạt động của thầy và trò
1. Khái niệm
a. 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 NNLT cụ thể để mô tả dữ liệu và
diễn đạt các thao tác của thuật tốn
- NNLT có 3 loại:
+ Ngơn ngữ máy: Mỗi loại máy tính đều có
NN máy riêng, thường thì ct viết banừg NN
của loại máy nào chỉ chạy được trên loại máy
đó, ct viết bằng nn máy có thể được nạp trực
tiếp vào bộ nhớ và thực hiện ngay
+ Hợp ngữ:
+ NNLT bậc cao
b. Chương trình dịch.
Là ct đặc biệt có chức năng chuyển đổi ct
viết bằng NNLT bậc cao thành ct thực hiện
được trên MT.
Ct được dịch thành ct máy tính hiểu được
thơng thường là ct trên NN máy.
2. Phân loại ct dịch
Ct dịch gồm 2 loại là thơng dịch và biên dịch
GV: Thuyết trình đưa ra kiến thức
Yêu cầu hs phân biệt NNLT cao với các
ngôn ngữ khác
Hs: NNLT bậc cao khác các NNLT khác
là ct viết bằng NNLT bậc cao nói chung
không phụ thuộc vào loại máy và phải
dịch sang nn may mới hiểu được
Gv: yêu cầu hs phân biệt thơng dịch và
biên dịch
Hs: Thơng dịch thì qt dịch là ln phiên
và khơng có ct đích để lưu trữ, cịn biên
dịch thì cả chương trình nguồn và đích có
thể lưu trữ lại dùng cho lần sau
a. Thông dịch: Được thực hiện bằng cách lặp
lại các bước sau:
b1: Kiểm tra tính đúng đắn của câu lệnh tiếp
theo trong ct nguồn
b2: Chuyển đổi câu lệnh đó thành 1 hay nhiều
câu lệnh tương ứng trong nn máy
b3: Thực hiện các câu lệnh vừa chuyển đổi
được
b. Biên dịch: Được thực hiện qua các bước
- Duyệt phát hiện lỗi, kiểm tra tính đúng đắn
- Dịch tồn bộ ct nguồn thành 1 ct đí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
- Câu lệnh diễn tả các thao tác trong các
bước của thuật toán
- Câu lệnh đơn thực hiện bước có 1 thao
tác
- Câu lệnh cấu trúc thực hiện bước gồm
dãy các thao tác
3. Cũng cố
IV. Rút kinh nghiệm và bổ sung
...
...
...
...
...
...
...
...
...
...
...
Số tiết:2
- Biết NNLT có 3 thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa. Hiểu
và phân biệt được 3 thành phần này
- Biết một số khái niệm: Tên, tên chuẩn, tên dành riêng, hằng và biến
- Yêu cầu hs ghi nhớ các quy định về tên, hằng và biến trong 1 ngơn ngữ lập trình.
biết cách đặt tên đúng và nhận biết được tên sai quy định
II. Phương pháp và phương tiện dạy học
1. Phương pháp: Thuyết trình, vấn đáp
2. Phương tiện:
Giáo viên: SGK, SGV, bài soạn
Học sinh: SGK, vở ghi
III. Tiến trình bài giảng
Sĩ số: vắng: Có phép: Khơng phép:
2. Nội dung bài mới
Nội dung Hoạt động của thầy và trò
1. Các thành phần cơ bản
a/ Bảng chữ cái: Là tập hợp các kí tự dùng
để viết chương trình, khơng được phép
dùng bất kỳ kí tự nào ngồi các kí tự quy
định trong bảng chữ cái
b/ Cú pháp: Là bộ quy tắc để viết chương
trình. Dựa vào chúng, người lập trình và
ctd biết được tổ hợp nào của các kí tự trong
bảng chữ cái là hợp lệ hay khơng hợp lệ,
nhờ đó có thể mơ tả chính xác thuật tốn
c/ Ngữ nghĩa: Xác định ý nghĩa các 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ó.
- Các lỗi cú pháp được ctd phát hiện và
thơng báo cho người lập trình biết, 1 ctc ko
cịn lỗi cú pháp mới có thể đượcdịch sang
ngôn ngữ máy
- Các lỗi ngữ nghĩa không được máy phát
GV: Bảng chữ cái của các NNLT nói chung
khơng khác nhau nhiều. Trong TP bảng chữ
cái bao gồm các kí tự sau:
- Các chữ cái in hoa và in thường của bảng
chữ cái tiếng anh.
- 10 chữ số thập phân Ả rập: 0 1 2 3 4 5 6 7
8 9
- các kí tự đặc biệt: +-*/=<>[ ] . , ; # ^ $ @&
( ) : ‘
GV: Lấy ví dụ
Trong LT TP phần đầu thân 1 chương trình
phải được đặt trong cặp dấu: Begin..end.
Do vậy nếu 1 phần thân ct mà ko viết vậy là
ko hợp lệ.
GV: Dựa vào cú pháp của 1 thân ct phải bắt
đầu bằng cặp dấu begin và kết thúc bằng end
có dấu chầm thì cưa thấy cú pháp
begin..end. là 1 thân ct
chạy ct trên các bộ dữ liệu
2. Một số khái niệm
a. Tên
Quy tắc đặt tên trong TP:
- Là một dãy liên tiếp khơng q 127 kí tự
bao gồm chữ cái, chữ số hoặc dấu gạch
dưới
Ví dụ: abc, lan_diep…
- Trong TP khơng phân biệt chữ hoa chữ
thường
Có 3 loại tên trong TP là:
+ Tên dành riêng (từ khoá): Được NNLT
quy định dùng với ý nghĩa riêng xác định,
người lập trình khơng được sử dụng với ý
nghĩa khác
+ Tên chuẩn: Được NNLT dùng với ý
nghĩa nhất định nào đó, người Lt có thể
khai báo và dùng chúng với ý nghĩa và mục
đích khác
+ Tên do người lập trình đặt
Được dùng với ý nghĩa riêng, xác định
bằng cách khai báo trước khi sử dụng, các
GV: ? yêu cầu hs lấy 5 tên hợp lệ và 5 tên
không hợp lệ
HS: trả lời
GV: chú ý tên Hoan = HOAN
GV: ví dụ các từ khoá trong TP là:
Program, var, const…
GV: số nguyên trong TP là integer, số thực
là real, hàm tính cosin của 1 số là sin.
GV: khi giải pt bậc 2 cần dùng 1 biến lưu
trữ b2<sub>-4ac ta đặt tên là delta..</sub>
HS: quan sát, lắng nghe và ghi chéo bài đầy
đủ
Tiết 3
Mục tiêu: - HS nắm được khái niệm về hằng và biến, chú thích.
- HS nắm được các dạng bài tập của chương 1
2b. Hằng và biến.
- Hằng: Là đại lượng có giá trị khơng thay
+ Hằng logíc: Là giá trị đúng hoặc sai
tương ứng với True hoặc False.
VD: True, False
+ Hằng xâu: Là chuỗi các kí tự trong bộ
mã ASCII, khi viết chuỗi kí tự được đặt
trong cặp dấu nháy ‘’ hoặc “ “
Ví dụ
GV: Lấy ví dụ minh hoạ cho các hằng
Hằng số học: 2.5; 45; 67; 4+5;
1 số trong hệ hexa biễu diễn trong TP phải
thêm dâu $ đằng trước ví dụ $A1 bd số 161
Hằng logic: true, false
Hằng xâu: ‘abc’
Trong TP: ‘lan’
Trong C: “lan”
Chú ý: Hằng là dấu nháy đơn được viết
trong NNLT TP là ‘’’’
- 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
Biến phải được 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
Ví dụ: Trong TP, chú thích được đưa trong
cặp dấu {} hoặc (* *).
GV: Khi viết chú thích trong 1 chương trình
thì khơng làm ảnh hưởng gì đến ct. Ví dụ
khi lập trình để phân biệt rõ các bài toán ta
ghi đầu đề bài tốn lên đầu chương trình để
người đọc biết ct giải bài tốn nào
Khi đó trong TP ta viết {gpt_bac2}
3. Cũng cố
Nhắc lại một số khái niệm: Tên, hằng, biến, chú thích
Yêu cầu HS về làm bài tập 1 đến 5 trang 13 (SGK)
IV. RÚT KINH NGHIỆM VÀ BỔ SUNG
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Bài soạn 4: BÀI TẬP
Số tiết: 1
I. Mục tiêu
- Khắc sâu một số khái niệm: Chương trình dịch, biên dịch, thông dịch, cú pháp, ngữ
nghĩa.
II. Phương pháp – phương tiên
1. Phương tiện:
- GV: SGK, SGV, bài soạn
2. Phương pháp: Vấn đáp, luyện tập
III. Tiến trình lên lớp
1. Ổn định lớp.
Sĩ số: Vắng: Có phép: Khơng phép:
2. Kiểm tra bài cũ.
Câu hỏi 1: Cú pháp là gì? Ngữ nghĩa là gì? Lấy VD minh hoạ trong NNLT TP?
Câu hỏi 2: Tên chuẩn và tên dành riêng khác nhau ntn? Lấy vd minh hoạ?
Câu hỏi 3: Khái niệm hằng, biến? Lấy ví dụ minh hoạ?
3. Nội dung bài mới
<b>A. Bài tập trong SGK</b>
Bài 1: Đáp án
Phải xây đựng NNLT bậc cao vì:
- NNBC gần với nn tự nhiên hơn
- NNLTBC không phụ thuộc vào phần
cứng máy tính
- Dễ hiểu, dễ hiệu chỉnh và nâng cấp
Bài 6: (trang 13 SGK)
Đáp án:
Các ý sai: c,h,e vì
6,23: Dấu phẩy cần thay bằng dấu .
‘c: thiếu dấu nháy ‘
A20: chưa rõ giá trị
<b>B. Bài tập ra thêm</b>
Bài 1: Trong chế độ thông dịch, giả sử 2/3
số câu lệnh trong ct đã được thực hiện, có
thể khẳng định rắng: CT ko cịn có lỗi cú
pháp nữa khơng?
Đáp án; Khơng ví cú pháp của các câu lệnh
chưa thực hiện chưa được kiểm tra.
GV: Gọi hs đứng tại chổ trả lời
HS: đứng dậy trả lời
Bài 2: Trong dịng chú thích có thể chứa
các kí tự ngồi bẳng chữ cái khơng? tại
sao?
Đáp án: Có thể vid TCD laọi bỏ chú thích
khi dịch chương trình
Bài 3. Hãy chọn những biểu diễn tên trong
những bd dưới đây
a. ‘****’
b. -5+9
c. PpPpPp
d. 256.53
e. FA33C9
f. (2)
Đáp án: c,e
GV: -5+9 là 1 biểu thức cho kết quả là 1
số nên nó cũng là một hằng số
4. Cũng cố và ra bài tập về nhà
Phát biểu nào dưới đây là đúng:
a. Khi cần thay đổi ý nghĩa của 1 từ khố nào đó người lập trình cần khai báo theo ý
nghĩa mới
<i>b. Tên do người lập trình đặt khơng được trùng với từ khố nhưng cũng có thể trùng với </i>
<i>tên chuẩn</i>
<i>c. Mọi đối tượng có giá trị thay đổi trong ct đều gọi là biến</i>
d. Trong ct tên gọi cũng là một đối tượng khơng thay đổi nên cũng có thể xem là hằng
IV. Rút kinh nghiệm và bổ sung
...
...
...
...
...
...
...
...
...
...
...
...
Bài soạn 5:
Bài 3:
- Nắm được và biết cách khai báo 1 số thành phần của chương trình là hằng, tên
chương trình, thư viện.
- Nhận biết được các thành phần của chương trình
<b>II. Phương pháp và phương tiện dạy học</b>
1. Phương pháp: Thuyết trình + vấn đáp
- Giáo viên: SGK, bài soạn, SGV
- Học sinh: SGK, vở ghi
<b>III. Tiến trình lên lớp</b>
1. Ổn định lớp
Sĩ số: Vắng: Có phép: Khơng phép;
2. Nội dung bài mới
1. Cấu trúc chung
Một ct trong TP có cấu trúc như sau:
<i>[<Phần khai báo>]</i>
<i><Phần thân></i>
2. Các thành phần của ct
a. Phần khai báo
- Khai báo tên ct
Phần này có thể có hoặc khơng, trong TP
nếu có được khai báo như sau:
<i>Program <tên chương trình>;</i>
Với tên chương trình do người lt đặt
- Khai báo thư viện
Muốn sử dụng đến thư viện nào đó ta cần
phải khai báo thư viện theo cú pháp:
<i> Uses <tên các thư viện></i>
- Khai báo hằng
Cú pháp:
<i>Const <tên hằng>=<giá trị của hằng>;</i>
Thường được sử dụng cho giá trị xuất hiện
nhiều lần trong ct
Khai báo hằng tạo điều kiện thuận lời cho
việc chỉnh sửa lại giá trị của hằng trong
GV: Để diễn giải cú pháp của NNLT người
ta thường sử dụng NNTN và được đặt giữa
cặp dấu <>. Các thành phần của ct có thể
có hoặc khơng được đặt trong cặp dấu [].
GV: Ví dụ program Ptbac2;
HS: Lấy 2 ví dụ minh hoạ
GV: Trong NNLT thường có các thư viện
Ví dụ khai báo thư viện có 1 số thủ tục làm
việc với bàn phím và màn hình trong TP
như sau: uses crt;
HS: Chú ý nghe giảng và chép bài đầy đủ
GV: Lấy ví dụ
toàn bộ ct khi cần
- Khai báo biến:
(Học tiết sau)
<i>b. Phần thân chương trình</i>
Phần thân chương trình bắt buộc phải có và
được đánh dấu bắt đầu bằng 1 cặp dấu hiệu
mở đầu và kết thúc
Ví dụ trong TP:
<i>Begin</i>
<i> <Dãy các câu lệnh>;</i>
<i>End.</i>
3. Một số ví dụ đơn giản
GV: Đưa ra cấu trúc thân chương trình của
một số NNLT như TP, C..
Lưu ý: Trong TP thường dùng dấu chấm
phẩy để kết thúc 1 câu lệnh
GV: Yêu cầu hs xác đinh các thành phần
trong 2 ví dụ trong SGK, sau đó rút ra nhận
xét: 2 ct cùng thực hiện 1 cv nhưng viết =
các NNLT khác nhau thì hệ thống câu lệnh
trong ct khác nhau.
4. Cũng cố và ra bài tập về nhà
IV. RÚT KINH NHGIỆM VÀ BỔ SUNG
...
...
...
...
...
...
...
...
...
...
...
...
Bài soạn 6 Bài 4,5: <b>MỘT SỐ KIỂU DỮ LIỆU CHUẨN</b>
<b> KHAI BÁO BIẾN</b>
I. Mục đích – yêu cầu
- Biết một số kiểu dữ liệu chuẩn: Nguyên, thực, kí tự, logic..
- Xác định được kiểu khai báo của dữ liệu đơn giản
- Hiểu được cách khai báo biến
- Biết cách khai báo biến đơn đúng
II. Phương pháp và phương tiện dạy học
2. Phương tiện
- GV: SGK, bài soạn
- HS: SGK, vở ghi
III. Tiến trình bài dạy
1. Kiểm tra bài cũ
Câu hỏi: Nêu cấu trúc chung của 1 thư viện
2. Nội dung bài mới
Nội dung Hoạt động của thầy và trò
1<i>. Một số kiểu dữ liệu chuẩn</i>
NNLT nào cuãng đưa ra 1 số kiểu dl chuẩn
đơn giản, từ chúng ta có thể xây dựng nên
những kiểu dl phức tạp hơn.
Một số kiểu dữ liệu chuẩn thường dùng
trong TP:
<i>a. Kiểu nguyên</i>
Ví dụ số hs trong 1 lớp
<i>b. Kiểu thực </i>
Điểm tổng kết bộ môn của hs trong 1 lớp
Chú ý: Phép toán chứa các toán hạng gồm
cả kiểu nguyên và kiểu thực sẽ cho kết quả
kiểu thực.
c. <i>Kiểu kí tự</i>
- 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ụ: Kí tự A có mã 65, kí tự a có mã 97
<i>d. Kiểu logic</i>
- Tên kiểu: Boolean;
- Miền giá trị: Chỉ có 2 giá trị là True hoặc
False
<i>2. Khai báo biến.</i>
- Mọi biến dùng trong CT đều cần khai báo
tên và kiểu dữ liệu. Tên biến dùng để xác
GV: DL là thông tin được mã hố trong
MT. DL trong mỗi NNLT chỉ có 1 số kiểu
DL chuẩn nhất định mặc dù thông tin rất đa
dạng , mỗi kiểu được đặc trưng bở tên kiểu,
miền giá trị, kích thước trong bộ nhớ, các
phép toán, các hàm và thủ tục sử dụng
chúng, chúng ta sẽ xét 1 số kiểu dl trong
NNLT TP.
GV: Trong TP thì ta hiểu kí tự là các kí tự
thuộc bảng mã ASCII gồm có 256 kí tự có
bộ mã ASCII thập phân từ 0 đến 255.
HS: Lắng nghe và ghi chép bài đầy đủ
GV: Một số ngơn ngữ có cách mơ tả các
lập quan hệ giữa các biến với địa chỉ bộ
nhớ, nơi lưu trữ giá trị biến, mỗi biến chỉ
được khai báo 1 lần
Trong TP biến được khai báo như sau:
<i>Var <DS biến>:<Kiểu dữ liệu></i>
Trong đó:
Var là từ khố
Danh sách biến: Là 1 hoặc nhiều tên biến,
các tên biến được viết cách nhau bởi dấu
phẩy.
Kiểu dữ liệu: Thường là 1 trong các kiểu
dữ liệu chuẩn hoặc do người lập trình định
nghĩa
Sau từ khố Var có thể khai báo nhiều danh
sách biến khác nhau theo cấu trúc:
<i><Danh sách biến>:<Kiểu dữ liệu>;</i>
Ví dụ Var a,b,c;real;
X,y: integer;
Một số chú ý khi khai báo biến:
- Cần đặt tên biến sao cho gợi nhớ đến ý
nghĩa của biến đó. Điều này có lợi cho việc
đọc, hiểu và sửa đổi chương trình khi cần
thiết
- Không nên đặt tên biến quá ngắn hay quá
dài, dễ mắc lỗi khi viết nhiều lần tên biến
- Khi khai báo biến cần đặc biết lưu ý đến
phạm vi giá trị của nó
HS: trả lời
GV: Lấy ví dụ về bài tốn giải phương
trình bậc 2 để đưa ra các biến cần sử dụng
trong ct
GV: Trong bài tốn giải pt bậc 2 ta hồn
tồn có thể dùng các biến có tên là m,n,l để
lưu giá trị của các hệ số a,b,c tuy nhiên lại
không thể gọi nhớ được và rất dễ nhầm,
nên ta thường dùng 3 biến có tên là a,b,c
- Ta cũng không cần đặt tên là <i>hesoa, heso </i>
<i>b, heso c</i>, vì như vậy dễ gọi nhớ nhưng quá
dài
- ví dụ muốn sử dụng biến t để lưu trữ tuổi
của 1 người thì ta khơng nên khai báo t là
kiểu integer mà chỉ cần khai báo là kiểu
byte, nhằm giảm ô nhớ
4. Cũng cố và ra bài tập về nhà
- Nhắc lại 1 số kiến thức trọng tâm: Cách khai báo biến, các chú ý khi khai báo biến
- Ra bài tập về nhà:
Hãy chỉ ra lỗi trong cách khai báo sau;
Var K,M,I,L:integer;
C,C1:char;
I,i1,j: word;
Pi=3,1416;
IV. NHỮNG NHẬN XÉT VÀ BỔ SUNG
...
...
...
...
...
...
...
...
...
...
...
Bài soạn 6 <b>PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN</b>
I. MỤC ĐÍCH –U CẦU
- Giới thiệu phép tốn, biểu thức số học, hàm số học chuẩn và biểu thức quan hệ
- Hiểu lệnh gán và viết được lệnh gán
- Phân biệt được sự khác nhau giữa lệnh gán và phép so sánh bằng
- Viết được biểu thức số học và logic với các phép tốn thơng dụng
II. PHƯƠNG PHÁP – PHƯƠNG TIỆN DẠY HỌC
1. Phương pháp: Thuyết trình, vấn đáp
2. Phương tiện
- GV: SGK, Bài soạn
- HS: SGK, vở ghi
III. TIẾN TRÌNH BÀI GIẢNG
1. Ổn định lớp
Sĩ số: Vắng: Có phép: Không phép:
2. Kiểm tra bài cũ
Câu hỏi: Nêu cấu trúc khai báo biến trong TP, những chú ý gì khi khai báo?
3. Nội dung bài mới
Nội dung Hoạt động của thầy và trị
<i>1. Phép tốn</i>
NNLT TP sử dụng 1 số phép toán sau:
- Số nguyên: +; - ; * ; div (chia); mod (Lấy
phần dư)
- Số thực: + ; - ; * ; /
- Các phép toán quan hệ
<; >; <=; >=; =; <> (khác);
- Các phép toán logic:
GV: Để mơ tả các thao tác trong thuật tốn,
mỗi NNLT đều xác định và sử dụng 1 số
khái niệm cơ bản: Phép toán, biểu thức, gắn
giá trị cho biến, ta sẽ đi tìm hiểu từng thành
phần
Not (phủ định); or (hoặc); and (và);
<i>Chú ý</i>: Kết quả cùa phép tốn quan hệ cho
giá trị logic
Ví dụ a=5; b=6 thì phép tốn quan hệ a>b
cho kết quả sai tức là false.
Một trong những ứng dụng của phép toán
logic là để tạo ra các biểu thức phức tạp từ
<i>2. Biểu thức số học</i>
- BT số học là 1 dãy các phép toán +, - ,*,/.
Div, mod và cặp dấu ngoặc () của các biến,
các hằng hoặc giữa các hằng hoặc biến tuân
theo quy tắc :
+ Dùng cặp ngoặc trịn để xác định trình tự
thực hiện phép tốn trong TH cần thiết.
+ Viết lần lượt từ trái sang phải
+ Khơng được bỏ qua sấu * trong tích
- Các phép toán được thực hiện theo thứ tự:
+ Thực hiện các phép toán trong ngoặc
trước
+ Trong dãy các phép tốn khơng chứa
ngợac thì thực hiện từ trái sang phải theo
thứ tự: *, ?, div, mod, +,
<i>-Chú ý: </i>
+ Nếu biểu thức chứa 1 hằng hay 1 biến
kiểu thực thi ta có bt số học thực và giá trị
của bt cũng thuộc kiểu thực
+ Trong 1 số trường hợp nên dùng biến
trung gian để có thể tránh được việc tính 1
<i>3. Hàm số học chuẩn</i>
Cách viết: <i>Tên hàm(đối số);</i>
Ví dụ SQRT(9)
<i>4. Biểu thức quan hệ</i>
- 2 biểu thức cùng kiểu liên kết với nhau
bởi phép toán quan hệ cho ta 1 biểu thức
GV lấy ví dụ:
6*(3+7)
(a+b)*c;
6*a+7*b
Khi giải pt bậc 2, với <i>Δ</i> = b2<sub>-4ac>0 thì </sub>
tính nghiệm
<i>± b ±</i>√<i>Δ</i>¿/2<i>∗a</i>
<i>x</i>=¿ thì cho kết quả sai mà
phải dùng dấu () như sau:
(¿2<i>∗a</i>)
<i>± b ± Δ</i>¿/¿
GV: Lấy ví dụ minh hoạ sau đó u cầu hs
lấy ví dụ
HS: Chú ý lắng nghe bài, phát biểu
GV: Biểu thức x= <i>− b −</i>
2<i>a</i> được
viết như sau:
X=(-b-sqrt(sqr(b)-4*a*c))/(2*a);
GV: Hàm tính căn bậc hai của 1 số là
sqrt (x)
quan hệ
- Biểu thức quan hệ có dạng:
<i><BT1> <phép tốn quan hệ> <BT2></i>
Trong đó BT1 và BT2 cùng là xâu hoặc
cùng là BT số học
- BTSH được thực hiện theo trình tự:
+ Tính giá trị các biểu thức
+ Thực hiện phép toán quan hệ
- Kết quả của BT quan hệ là giá trị logic
tức là true hoặc false
<i>5. Biểu thức logic</i>
- BT logic đơn giản là biến logic hoặc hằng
logic
- BTLG là các biểu thức logic đơn giản,
các bt quan hệ liên kết với nhau bởi phép
toán logic
- Giá trị BTLG là true hoặc False
- Các BTQH thường được đặt trong cặp
ngoặc ( và ).
<i>6. Câu lệnh gán</i>
Trong TP câu lệnh gán có dạng:
<i><Tên biến>:=<biểu thức>;</i>
Trong đó tên biến là tên của biến đơn, kiểu
của giá trị biểu thức phải phù hợp với kiểu
của biến. Chức năng của lệnh gán là đặt
cho biến có tên ở vế trái dấu ‘:=’giá trị mới
bằng giá trị của bt ở vế phải.
2a > 3+6b (*)
Trong đó 2a và 3+6b là các BT
> là phép tốn quan hệ
Nếu a=3, b=1 thì btqh (*) nhận kết quả là
false, nếu a=5, b=1 thì (*) nhận True
HS: Lấy ví dụ minh hoạ
GV: Dùng biến x để mơ tả tuổi của một
người ta có điều kiện của x là:
(x>=1)and (x<=150)
GV: ví dụ x:=25 có nghĩa là gán giá trị 25
cho biến x
<i>4. Cũng cố và ra bài tập về nhà</i>
Bài 1: Hãy viết lại các biểu thức sau từ dạng toán học sang dạng biểu diễn tương ứng
trong Pascal
a. <i><sub>x − y</sub>x</i>+<i>y</i> b. <i>e</i>+5(2<i>x</i>+5)x cosx c.
d. <i>x</i>3+log<sub>2</sub>(<i>x</i>4+2)<i>−</i><sub>√</sub>3<i>x −</i>4
Bài 2. Cho các cặp biểu thức: Bên trái là biểu thức ở dạng toán họcvà bên phải là biểu
diễn tương ứng trong Pascal. Ở dạng biểu diễn trong Pascal có 1 số lỗi hãy chỉ ra các lỗi
đó.
<i>a</i>+sin
2<i>e− x+y</i>
<i>x</i>2+<i>y</i>2
2*exp(abs(x+y))/(sqr(x)*sqr(y))
Sin2<i>x</i>
<i>y</i>+0. 5
Sqr(sin)(x)/(y+0.5)
3❑
√<i>−</i>8
1+<i>ex</i>
Exp(1/3*ln(-8))/(1+exp(x))
IV. NHẬN XÉT VÀ NHỮNG BỔ SUNG
...
...
...
...
...
...
...
...
<i>Bài soạn 7:</i> Bài 7 <b>CÁC THỦ TỤC VÀO RA ĐƠN GIẢN</b>
<b>I. Mục đích – Yêu cầu</b>
- Biết các câu lệnh vào ra đơn giản để nhập thơng tin từ bàn phím và đưa thơng tin ra
màn hình
- Viết được 1 số lệnh vào ra đơn giản
<b>II. Phương pháp và phương tiện dạy học</b>
1. Phương pháp: Thuyết trình và vấn đáp
2. Phương tiện dạy học:
- Giáo viên: SGK, SGV, bài soạn
- Học sinh: SGK, vở ghi
<b>III. Tiến trình dạy học </b>
1. Ổn định lớp
2. Kiểm tra bài cũ
Câu hỏi: Nêu cú pháp, ý nghĩa về lệnh gán trong Pascal, lấy ví dụ minhhoạ về lệnh
gán
3. Nội dung bài mới
<i>1. Nhập dữ liệu vào bàn phím</i>
Việc nhập dữ liệu từ bàn phím được thực
hiện banừg thủ tục chuẩn:
<i>Read(<danh sach biến vào>); hoặc</i>
<i>Readln(<danh sách biến vào>)</i>
Trong đó <i>Danh sách biến vào </i>là một hoặc
nhiều tên biến đơn (trừ biến kiểu boolean).
Nếu nhiều biến thì các biến cách nhau bởi
dấu phẩy
Việc nhập giá trị cho biến chỉ kết thúc khi
nhấn phím enter
Khi nhập giá trị cho nhiều biến, những giá
trị này được gõ cách nhau bởi ít nhất 1 dấu
<i>2. Đưa dữ liệu ra màn hình</i>
Khi đưa dữ liệu ra màn hình, Pascal cung
cấp thủ tục chuẩn:
<i>Write(<DS kết quả ra>) hoặc</i>
GV: Xét bài tốn ‘<i>tìm số nghiệm của pt bậc</i>
<i>2 ax2<sub>+bx+c=0 ‘</sub></i>
Chúng ta thực hiện nhập các bộ số a,b,c từ
bàn phím và mỗi lần nhập thì máy tính lại
cho kết luận nghiệm tương ứng với bộ số
nhập vào. Việc nhập các số a,b,c là việc
đưa dữ liệu từ bàn phím vào gán cho các
biến a,b,c. Kết quả tính tốn được lưu trữ
tạm thời trong bộ nhớ và được đưa ra ngồi
màn hình hoặc đĩa thơng qua ct đưa dl ra.
Các ct đưa dl vào và ra đó được gọi chung
là các thủ tục chuẩn vào/ra đơn giản của
NNLT Pascal
Ví dụ
Read(N); Dùng để nhập 1 giá trị tù bàn
phím và gán cho biến N
Readln(a,b,c); Dùng để nhập lần lượt 3 giá
GV: Yêu cầu HS thực hiện nhập dữ liệu
cho 3 biến x,y,z thuộc kiểu số thực
HS: Suy nghĩ và trả lời
GV: Khi nhập dl cho câu lệnh
Readln(a,b,c); ví dụ ta sẽ nhập bộ 3,6,7 ta
se nhập như sau: 3 cách hoặc enter 6 cách
hoặc enter 7 enter
Chú ý: <i>khi nhập dữ liệu ta nên dùng </i>
<i>readln, khi sử dụng readln luôn chờ gõ </i>
<i>phím enter.</i>
GV: Lấy ví dụ minh hoạ
<i>Writeln(<DS kết quả ra>)</i>
Trong đó <i>DS kết quả ra</i> có thể là biến đơn,
biểu thức hoặc hằng. Các thành phần trong
<i>DS kết quả ra</i> được viết cách nhau bởi dấu
phẩy
<i>Chú ý:</i>
- Các thủ tục readln và writeln có thể
- Với thủ tục write và writeln có quy cách
đưa thơng tin ra như sau:
Kết quả thực:
<i>Write(X:<m>:<n>); hoặc writeln(X:m:n);</i>
Kết quả khác:
<i>Write(Y:<m>); hoặc writeln(Y:<m>);</i>
- Trong đó X là kết quả thực còn Y là kết
quả khác thực, m là độ rộng của biểu diễn
X và Y, n là số chữ số thập phân trong bd
của X.
- Nếu phần dành cho các chữ số phần
nguyên (m-(n+1))>chữ số phần nguyên của
X thì trình dịch của TP thêm các dấu cách
vào bên trái bd của X sao cho đủ. Trong
trường hợp ngược lại Pascal vẫn hiển thị đủ
các chữ số phần nguyên của số X
- Nếu n < số chữ số phần thập phân đã cho
của số X thì chỉ viết giá trị đã làm trịn của
X chính xác đến n chữ số thập phân, nếu
n> số chữ số thập phân của số bd thì các số
0 được điền thêm vào cuối phần thập phân
<i>Chú ý: </i>
<i>- Các hằng xâu thường được dùng để tách </i>
<i>các kết quả hoặc đưa ra chú thích</i>
<i>- Với thủ tục writeln, sau khi đưa các kq ra </i>
<i>màn hình thì con trỏ sẽ chuyển đến đầu </i>
<i>dịng tiếp theo, cịn write thì khơng</i>
GV: Lấy vd minh hoạ
HS: Chú ý lắng nghe và xây dựng bài
GV: Writeln khơng có tham số dùng để
xuống dịng cịn readln thì ct sẽ tạm dừng ct
cho người dung có thể quan sát kq ra trên
màn hình, muốn ct chạy tiếp thì nhấn phím
enter.
GV: Lấy ví dụ minh họa
HS: Chú ý quan sát và ghi chép bài đầy đủ
4. Cũng cố và ra bài tập
- Cũng cố: Nhắc lại một số thủ tục: Readln, read, write, writeln.
- Ra bài tập:
Viết chương trình thực hiện cơng việc sau:
Nhập vào tuổi của một người và đưa ta thông báo:’ so tuoi của ban hien nay la ‘,tuoi
<b>IV. Rút kinh nghiệm và bổ sung:</b>
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
I. MỤC ĐÍCH – YÊU CẦU
HS nắm được:
- Nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Hiểu được câu lệnh rẽ nhánh (dạng khuyết và đủ)
- Hiểu và câu lệnh ghép
- Sử dụng cấu trúc rẽ nhánh trong mơ tả thuật tốn của một số bài toán đơn giản
II. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN DẠY HỌC
1. Phương pháp: Thuyết trình, vấn đáp kết hợp mô phỏng bằng dụng cụ trực quan
2. Phương tiện:
- Giáo viên: SGK, bài soạn, máy chiếu.
- Học sinh: SGK, vở ghi.
III. TIẾN TRÌNH BÀI GIẢNG
1. Ổn định lớp.
2. Nội dung bài mới
Xét ví dụ:
Ví dụ 1: Tính diện tích của hình chữ nhật
khi nhập vào kích thước a, b.
Ta có chương trình:
<i>Program Dien_tich;</i>
<i>Var S,a,b:real;</i>
<i>Begin</i>
<i> Writeln(‘nhap kich thuoc a va b’);</i>
<i> Readln(a,b);</i>
<i> Writeln(‘ Dien tich S= ‘,a*b);</i>
<i> Readln</i>
<i>End.</i>
Nhận xét:
Để kết quả đúng (S>0) thì phải thoả mãn
điều kiện:
- Nếu a >0 và b >0 thì tính S=a*b hoặc
- Nếu a>0 và b>0 thì tính S=a*b, nếu
khơng thì thơng báo ‘nhap sai du lieu’.
Kết luận:
Có nhiều mệnh đề diễn đạt dưới dạng :
<i>- Nếu ….thì…</i>
<i>- Nếu….thì….,nếu khơng thì….</i>
Cấu trúc trên được gọi là cầu trúc rẽ
nhánh
<i>If<điều kiện> then <câu lệnh>;</i>
Trong đó:
<i>Điều kiện</i> là một biểu thức lơ gíc (ví dụ
(a>0) and (b>0))
<i>Câu lệnh</i> là một câu lệnh trong TP (ví dụ
s:=a*b;)
- Hoạt động:
Điều kiện sẽ được tính và kiểm tra, nếu
điều kiện đúng thì câu lệnh sẽ được thực
GV: Gọi 1 HS đứng tại chổ đọc chương
trình của bài tốn cho GV viết lên bảng.
HS: Đứng dạy trả lời
GV: Chiếu chương trình đúng của bài
toán trên màn hình sau đó cho chương
trình chạy với 2 bộ dữ liệu và yêu cầu hs
nhận xét về kết quả của chúng
bộ1 : a= 3, b=5; bộ 2: a=-3, b=5
HS: Nhận xét
GV: Theo chương trình thì máy tính thực
hiện một cách tuần tự từ trên xuống dưới,
dù khi ta nhập kích thước là số âm thì máy
tính cũng tính S=a*b, do đó dẫn đến kết
quả sai (S=-3*5=-15<0). Để khắc phục
việc tính diện tích âm thì a, b nhập vào
ln dương. Tức là nếu a>0 và b>0 thì
tính s=a*b. Vậy đã xuất hiện mệnh đề
nếu..thì..
GV: Trong lập trình các NNLT đều cung
cấp các câu lệnh dùng để diễn đạt cấu trúc
rẽ nhánh, chúng ta sẽ tìm hiểu trong
NNLT Turbo pascal.
GV: Áp dụng câu lệnh vào ví dụ 1 ta có
câu lệnh if- then như sau:
<i>If (a>0)and(b>0) then s:=a*b;</i>
GV: Chiếu chương trình đúng khi sử dụng
hiện, ngược lại câu lệnh sẽ bị bỏ qua.
b. If – then dạng đủ
- Cú pháp:
<i>If<điều kiện> then <câu lệnh 1> else</i>
<i><câu lệnh 2>;</i>
Trong đó:
<i>Câu lệnh 1, câu lệnh 2</i> là 2 câu lệnh của
Pascal. <i>Điều kiện</i> là biểu thức logic.
- Hoạt động:
<i>Điều kiện</i> được kiểm tra, nếu đúng thì
thực hiện <i>câu lệnh1</i>, nếu sai thì thực hiện
<i>câu lệnh 2</i>.
Ví dụ:
If (a>0) and (b>0) then s:=a*b else
write (‘du lieu khong hop le’);
<b>Chú ý</b>: Câu lệnh if-then dạng đủ có thể
lồng nhau
Ví dụ: xét 1 số a nhập từ bàn phím là số
<i>If a>0 then write(‘so duong’) else</i>
<i> If a<0 then write(‘so am’) else </i>
<i> write(‘so 0’);</i>
Trong một số trường hợp sau từ khoá
then hoặc từ khố else có nhiều hơn một
câu lệnh cần thực hiện, khi đó ta phải
GV: Tiếp tục chạy chương trình với bộ dữ
liệu a=3, b=4 và a=-3, b=4 và yêu cầu HS
nhận xét kết quả
HS: Quan sát và nhận xét
GV: Với bộ dữ liệu đầu là hợp lệ nên máy
cho kết quả đúng (s=12.00) nhưng với bộ
dữ liệu 2 khơng hợp lệ nên trên màn hình
kết quả khơng thơng báo gì làm ta thấy
khó chịu, thay vì xuất hiện màn hình đen
khơng có thơng báo gì ta muốn có 1 thơng
báo ‘du lieu khong hop le’ trên màn hình
mỗi khi dữ liệu nhập khơng đúng ( khơng
dương). Khi đó Pascal cho phép ta dùng
câu lệnh if-then dạng đủ
GV: Giới thiệu về cấu trúc rẽ nhánh dạng
HS: Quan sát và chép bài
GV: Yêu cầu HS áp dụng câu lệnh if-then
dạng đủ để kiểm tra 1 số x là chẵn hay lẻ
HS: Trả lời
<i>If (x mod 2=0 ) then write(‘la so chan’)</i>
<i>else write(‘la so le’);</i>
GV: Yêu cầu HS viết câu lệnh xét delta
của 1 phương trình bậc 2
HS: Lên bảng viết
gộp các lệnh đó thành 1 câu lệnh, câu
lệnh này gọi là câu lệnh ghép
Cú pháp:
<i>Begin</i>
<i> <Các câu lênh>;</i>
<i> End</i>
<b>Chú ý</b>: <i>Câu lệnh ghép mà nằm sau từ </i>
<i>khố else thì sau end phải có dấu chấm </i>
<i>phẩy con nếu sau từ khố then thì khơng </i>
<i>cần dấu ; sau từ khố end</i>
b, ta gọi đây là ví dụ 2
Khi đó, nếu dữ liệu nhập đúng (a>0 và
b>0) thì ta phải thực hiện tới 3 câu lệnh là
tính C, S, đường chéo, tức là nhiều hơn 1
câu lệnh. Trong trường hợp đó ta gộp các
câu lệnh đó thành 1 câu lệnh, câu lệnh này
là câu lệnh ghép,bắt đầu bằng<i> begin</i> và kết
thức bằng <i>end;</i>
Vậy câu lệnh ghép là gì?
HS: Suy nghĩ trả lời
GV: Đưa ra cú pháp và hoạt động của câu
lệnh ghép.
GV: Chiếu chương trình của ví dụ 2 sau đó
chạy chương trình cho hs quan sát
? u cầu Hs viết chương trình bài tốn:
Tính nghiệm phương trình bậc 2.
HS: Suy nghĩ và thực hiện
3. Cũng cố và ra bài tập về nhà
- Nhắc lại 1 số khái niệm: Cấu trúc rẽ nhánh, câu lệnh if-then đủ và khuyết, câu lệnh
ghép
- Yêu cầu HS về làm bài tập số 2,4 trong SGK trang 51.
IV. NHẬN XÉT VÀ NHỮNG BỔ SUNG