Những biểu diễn sau đây không phải là hằng trong Pascal c 6,23 Dấu phẩy phải thay bằng dấu chấm e A20 Là tên cha rõ giá trị h 'C Sai quy định về hằng xâu: thiếu nháy đơn ở cuối Chú ý g 4
Trang 1Bài tập
I Mục tiêu:
- Củng cố lại kiến thức bài 1 & 2
- HS làm đợc các bài tập SGK ( Tr13) và bài tập trong SBT
- GV cho thêm một số bài tổng hợp kiến thức bài 1 & 2
- Bớc đầu làm quen với bài tập về NNLT bậc cao
II Đồ dùng dạy học
GV: Giáo án, SGK, SGV, STK
HS: Vở ghi, SGK Tin học 10, tin học 11
III Các hoạt động dạy và học
1 ổ n định tổ chức lớp
2 Kiểm tra bài cũ ( xen kẽ)
3 Bài tập
GV có thể cho điểm miệng đối
với mỗi câu trả lời của HS
HS đọc câu 1
? Em hãy nêu tác dụng của NNLT
bậc cao HS trả lời
GV nhận xét, bổ sung và kết luận
Đó chính là lí do ngời ta xây dựng
các NNLT bậc cao
HS đọc câu hỏi
GV ? Thế nào là tên dành riêng
? Thế nào là tên chuẩn
? Điểm khác nhau giữa chúng là gì?
HS suy nghĩ trả lời GV kết luận
HS đọc câu 6
Gợi ý ? Hằng thờng có những loại
nào ? Chi tiết từng loại ?
Từ đó đối chiếu với câu hỏi để tìm ra
những biểu diễn không là hằng
Thảo luận nhóm
Từng nhóm đa ra kết quả
GV tổng hợp và đa ra đáp án
Gv yc HS đọc đề bài, suy nghĩ trả
lời HS khác nhận xét, bổ sung
GV kết luận
Gv yc HS đọc đề bài,
? Nhớ lại thông dịch là gì?
HS suy nghĩ trả lời HS khác nhận
xét, bổ sung GV kết luận
Gv đa ra VD: gpt bậc 2
Nếu chỉ dùng 1 bộ dữ liệu kiểm thử
có kiểm tra đợc các trờng hợp
nghiệm xảy ra không ?
Từ đó HS trả lời bài 1.5
HS đọc đề bài
? Nhắc lại thế nào là từ khoá trong
pascal? Cho VD
Từ đó làm bài 1.11 và giải thích
HS đọc đề bài
Câu 1(13) Ngời ta phải xây dựng các ngôn ngữ lập
trình bậc cao Vì:
- Nó gần với NN tự nhiên, thuận tiện cho ngời LT
- Nó không phụ thuộc vào phần cứng MT và một
ch-ơng trình có thể thực hiện trên nhiều loại MT khác nhau
- Chơng trình viết bằng NNBC dễ hiểu, dễ hiệu chỉnh
và dễ nâng cấp
- Nó cho phép làm việc với nhiều kiểu dữ liệu
Câu 4(tr13) 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 Tên dành riêng không đợc dùng khác với ý nghĩa xác
định, tên chuẩn có thể dùng với ý nghĩa khác
Câu 6 Những biểu diễn sau đây không phải là hằng
trong Pascal c) 6,23 Dấu phẩy phải thay bằng dấu chấm e) A20 Là tên cha rõ giá trị
h) 'C Sai quy định về hằng xâu: thiếu nháy đơn ở
cuối Chú ý
g) 4+6 Là biểu thức hằng cũng đợc coi là hằng i)TRUE Là hằng xâu nhng không là hằng logic Bài 1.3 ( SBT-tr6)
Không thể khẳng định chơng trình đúng vì chơng trình có thể vẫn còn chứa lỗi ngữ nghĩa
Bài 1.4 ( SBT-tr6)
Trong chế độ thông dịch, giả sử 2/3 số câu lệnh trong chơng trình đã đợc thực hiện thì Không thể khẳng
định chơng trình đã đúng cú pháp Vì cú pháp của những câu lệnh cha đợc thực hiện cha đợc kiểm tra
Bài 1.6 ( SBT-tr6)
Phải kiểm tra tính đúng đắn của chơng trình bằng nhiều bộ dữ liệu thử nghiệm khác nhau
Vì: Chơng trình có thể có nhiều nhánh và có nhiều dạng lỗi ngữ nghĩa khác nhau
Bài 1.11 (Tr7)
Từ khoá trong Pascal là:
A) END F) var Bài 1.15 (Tr7)
Trong dòng thông tin chú thích có thể chứa kí tự
Tiết 3
Trang 2? Tác dụng của chú thích là gì ?
Từ đó HS trả lời bài 1.15
GV kết luận và khác sâu hơn
ngoài bảng chữ cái vì chơng trình dịch bỏ qua chú thích khi dịch chơng trình
4 Củng cố- HDVN
Đa ra bài tập: Ghép mỗi câu ở cột 1 với một câu thích hợp ở cột 2 trong bảng sau:
(1)Biên dịch (a) là các đại lợng có giá trị không đổi trong quá
(2) Thông dịch (b) dịch và thực hiện từng câu lệnh, nếu còn câu lệnh
tiếp theo thì quá trình này còn tiếp tục 2-b (3) Chơng trình viết
trên NNLT bậc cao (c) là những đại lợng đợc đặt tên, dùng để lu trữ giátrị và giá trị có thể đợc thay đổi trong quá trình thực
hiện chơng trình
3-e
(4) Biến (d) 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ể lu trữ
để sử dụng lại khi cần thiết
4-c
(5) Hằng (e) phải đợc chuyển đổi thành chơng trình trên ngôn
ngữ máy mới có thể thực hiện đợc 5-a
- Học bài
- Đọc bài 3 và Đọc bài 4
Chơng II: chơng trình đơn giản
Bài 3: cấu trúc chơng trình Bài 4: một số kiểu dữ liệu chuẩn
I Mục tiêu:
- Hiểu chơng trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình
- Biết cấu trúc của một chơng trình đơn giản; cấu trúc chung và các thành phần;
- Nhận biết đợc các thành phần của một chơng trình đơn giản
- Bíêt một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic;
- Xác định đợc kiểu cần khai báo của dữ liệu đơn giản
II Đồ dùng dạy học
GV: Giáo án, SGK, SGV, STK, máy chiếu, máy tính
HS: Vở ghi, SGK Tin học 10, tin học 11
III Các hoạt động dạy và học
1 ổ n định tổ chức lớp
3 KTBC
3 Bài mới
HS nghiên cứu SGK
? Em hãy cho biết cấu trúc chung của
NNLT bậc cao ? Cách sử dụng của từng
phần?
HS TL GV kết luận
HS nghiên cứu SGK
? Phần khai báo bao gồm những gì
HSTL
GV đa ra ví dụ 1 chơng trình Pascal
Program < SX_Day_so>;
Uses crt;
Const n= 100 ;
Var i, j: <kiểu dữ liệu>
(*có thể còn những khai báo khác *)
Begin
[<dãy lệnh>]
I Cấu trúc chơng trình
1 Cấu trúc chung
[<phần khai báo>]: có thể có hoặc không
<phần thân>: nhất thiết phải có
2 Các thành phần của ch ơng trình
a) Phần khai báo Gồm: tên chơng trình, th viện, hằng, biến và
ch-ơng trình con
* Khai báo tên chơng trình : có thể có hoặc
không Pascal: Program< tên chơng trình>
Tên chơng trình là tên do ngời lập trình đặt theo
đúng quy định về tên
VD: Program vi_du;
* Khai báo th viện: uses <tên các t.v>
Tiết 4
Trang 3HS nghiên cứu ví dụ trên + SGK
GV đa ra một số câu hỏi
Câu 1: cho biết đâu là khai báo tên chơng
trình và dạng tổng quát ? Cho VD Tên
ch-ơng trình có đặc điểm gì?
Câu2: nội dung nào khai báo th viện và đặc
điểm của nó ? Cho VD
Câu 3 Nội dung nào khai báo hằng và đặc
điểm của nó ? Cho VD
Câu 4: Nội dung nào khai báo biến và đặc
điểm của nó ? Cho VD
Chú ý: GV hớng dẫn HS nghiên cứu cả VD
trong C++ để các em có nhận thức đúng về
ngôn ngữ lập trình bậc cao
HS thảo luận theo nhóm, mỗi nhóm 1 câu
Mỗi nhóm báo báo kết quả
GV nhận xét và tổng hợp
Chú ý: Lập trình bằng ngôn ngữ nào cần
tìm hiêu cách khai báo của ngôn ngữ ấy
HS nhiên cứu SGK
? Hãy cho biết phần thân chơng trình trong
Pascal bao gồm những gì?
Từ Begin và end thuộc loại tên nào?
Nếu dịch ra tiếng việt nó có nghĩa ntn?
HS thảo luận trả lời GV nhận xét, bổ sung
và kết luận
GV: Mỗi NNLT 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 cho HS 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 2
chơng trình trong 2 ngôn ngữ khác nhau
HS thảo luận và trả lời câu hỏi
HS nghiên cứu thêm VD SGK
GV treo giấy khổ lớn phóng to gồm một số
kiểu dữ liệu
HS quan sát, kết hợp SGK để biết đợc kiểu
nguyên
GV phân tích bộ nhớ lu trữ 1 giá trị có
nghĩa là thế nào?
HS Kẻ bảng vào vở và học thuộc
GV giải thích thêm
? Nếu 1 biến chỉ dùng giá trị từ 0 đến 100
ta khai báo kiểu integer có đợc không?
( Đợc nhng lãng phí bộ nhớ)
HS nghiên cứu SGK
Kẻ bảng vào vở
HS nhớ lại bảng mã ASCII ở lớp 10
HS đọc VD SGK để hiểu đợc kiểu kí tự
trong Pascal là thế nào?
HS Kẻ bảng SGK và học thuộc
- Trong Pascal: uses crt;
- Trong C++: #include <stdio.h>
* Khai báo hằng
Const <tên hằng>=<giá trị của hằng>;
- Trong Pascal:
const Pi=3.1416 thờng đợc sử dụng cho những giá trị xuất hiện nhiều lần trong chơng trình
* Khai báo biến
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 Biến đơn: Biến chỉ nhận 1 giá trị tại mỗi thời
điểm thực hiện chơng trình VD: GPT bậc 2: Các hệ số a, b, c đợc khai báo
nh những biến đơn
b) Phần thân chơng trình Dãy lệnh trong phạm vi đợc xác định bởi cặp dấu hiệu mở đầu và kết thúc tạo thành thân chơng trình
VD: Thân chơng trình trong pascal
3 Ví dụ ch ơng trình đơn giản
VD1
Program VD;
Begin
Writeln(' Xin chao');
End.
# include <stdio.h> void main ()
{ printf("xin chao");
}
VD trên đa dòng ' Xin chao' ra màn hình
II Một số kiểu dữ liệu chuẩn
trong Pascal
1 Kiểu nguyên
Kiểu Bộ nhớ Phạm vi giá trị byte 1 byte Từ 0 đến 255 integer 2 byte -215 đến 215-1
(-32768 đến 32767) word 2 byte Từ 0 đến 216-1(65535) longint 4 byte Từ -231 đến 231-1
-2147483648-2147483647)
2 Kiểu thực
Kiểu Bộ nhớ Phạm vi giá trị Real 6 byte 0 hoặc10-38 đến 1038 extended 10 byte 0 hoặc10-4932 đến 104932
3 Kiểu kí tự
Kí tự là các kí tự thuộc mã ASCII gồm 256 kí tự
có mã ASCII thập phân từ 0 đến 255 Kiểu Bộ nhớ Phạm vi giá trị Char 1 byte 256 kí tự trong bảng mã ASCII
4 Kiểu logic
Begin [<dãy lệnh>] end.
Tên dành riêng
Bắt đầu
Tên dành riêng
Kết thúc
Trang 4KiÓu Bé nhí Ph¹m vi gi¸ trÞ Boolean 1 byte True hoÆc False
4
Cñng cè - HDVN
Gv hÖ thèng l¹i kiÕn thøc vµ nh¾c l¹i mét sè kiÕn thøc quan träng trong bµi
- Lµm c©u hái 1, 2( SGK tr 35) vµ
bµi tËp 2.1, 2.2, 2.3 ( SBT - Tr 9)
- §äc bµi 4, 5
Trang 5&5 Khai báo biến Bài 6: phép toán, biểu thức, câu lệnh gán
I Mục tiêu:
- Hiểu cách khai báo biến Biết cách khai báo biến đúng
- 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à lôgic với các phép toán thông dụng
- Bớc đầu hình thành kĩ năng sử dụng NNLT bậc cao để giải toán
II Đồ dùng dạy học
GV: Giáo án, SGK, SGV, STK;
HS: Vở ghi, SGK Tin học 11
III Các hoạt động dạy và học
1 ổ n định tổ chức lớp
2 Kiểm tra bài cũ
? Hãy nêu các thành phần của chơng trình và cách khai báo chúng
3 Bài mới
GV giải thích thêm cho HS hiểu về khai
báo biến
Sau khai báo sẽ có một vùng nhớ dành cho
biến này với kích thớc đúng bằng kích thớc
kiểu của nó để lu trữ gía trị của biến
HS nghiên cứu SGK
GV đa ra VD về khai báo biến trong bài
Giải phơng trình bậc 2
Var
a, b, c: integer;
delta, x1, x2: real;
Trong đó: các tham số trên là thành phần
nào của NNLT; Real thuộc kiểu dữ liệu
nào ?
Từ cách khai báo trên hãy đa ra cú pháp
khai báo biến trong Pascal
HS tự cho VD minh hoạ
Từ VD GV đa ra em hãy tính tổng bộ nhớ
dành cho các biến đã khai báo là bao nhiêu
=3*2+2*6+1*2+1*1=21byte
HS nghiên cứu mục : Một số chú ý khi khai
báo biến
GV nhấn mạnh lại
GV nêu một số VD về sử dụng biến cha
đúng trong Pascal
HS tự lấy VD
Gv yêu cầu HS nghiên cứu SGK
GV dùng máy chiếu, chiếu bảng kí hiệu các
phép toán trong pascal
HS quan sát, phân tích
GV giải thích thêm
HS nghiên cứu chú ý SGK
GV giải thích thêm chú ý và lấy VD minh
hoạ
(a+b)>c and (b+c)>a and (a+c)>b
Đay là biểu thức kiểm tra xem ba cạnh có
tạo thành tam giác không
I 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 Khai báo biến để cấp phát bộ nhớ cho biến Mỗi biến chỉ đợc khai báo 1 lần Ta xét khai báo các biến đơn Pascal, khai báo bắt đầu bằng từ khoá Var
Var <danh sách biến>: < kiểu dữ liệu>;
- DS 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 DL: là một trong các kiểu DL chuẩn hay
do ngời lập trình định nghĩa
- Cấu trúc <danh sách biến>: < kiểu dữ liệu>;
có thể xuất hiện nhiều lần
VD: Xét khai báo biến Var
a, b, c: integer;
x,y: real;
n:word;
d: char Một số chú ý khi khai báo biến (SGK - Tr23)
- Tên biến gợi nhớ đến ý nghĩa của biến đó
- Không nên đặt tên biến quá ngắn hay quá dài
- Khi khai báo lu ý đến phạm vi gia strị của nó
VD về sử dụng biến cha đúng trong Pascal nh:
đặt tên biến sai với quy định đặt tên, các biến trong danh sách biến không phân cách bởi dấu phẩy, tên biến trùng nhau, sử dụng biến cha khai báo, các biến trong danh sách không cùng kiểu,
II phép toán, biểu thức, câu lệnh gán
1 Phép toán
Các ngôn ngữ lập trình đều có những phép toán
số học nh: cộng, trừ, nhân, chia trên các đại
l-Tiết 5
Ngày soạn:
Tuần 5
Trang 6HS nghiên cứu SGK và VD trong SGK
? Biểu thức số học là gì? Em cho 1 VD về
biểu thức trong toán học và viết nó trong
pascal ntn
GV cho 1 VD: 2*(x+y)/5*(x-z)
? Trình tự thực hiện phép toán này ntn
Vậy BT số học đợc viết theo quy tắc nào
HS trả lời GV kết luận
HS tự lấy 1 số VD khác
HS nghiên cứu mục chú ý SGK
GV giải thích thêm bằng cách đa ra VD
t-ơng ứng với từng chú thích
VD1: a:integer ; b: real;
BT a+b trả về giá trị Real
VD2: Giải PT bậc hai ta tính delta trớc
Delta:=b*b-4*a*c (dùng biến trung gian)
Khi so sánh và tính nghiệm ta chỉ cần dùng
Delta
IF (Delta>0) then x1:=
X2:=(-b-sqrt(delta))/(2*a)
Không phải dùng IF (b*b-4*a*c)>0 then
X1:=(-b+sqrt(b*b-4*a*c))/(2*a)
Hs nghiên cứu SGK
? Thế nào là hàm số học chuẩn
GV chiếu bảng hàm số học chuẩn cho HS
quan sát
YC HS về nhà học thuộc bảng này
GV giải thích thêm về Kiểu đối số
?Em hãy cho 1VD về BT Toán học ( có
chứa hàm) và chuyển nó sang Pascal
? Em hiểu thế nào là biểu thức quan hệ
? Phép toán quan hệ bao gồm ?
Em hãy cho một VD về biểu thức quan hệ
Từ đó suy ra dạng tổng quát
? Nó đợc thực hiện theo trình tự ntn?
HS trả lời GV kết luận
HS tự lấy thêm VD và xem VD SGK
HS nghiên cứu SGK
GV lấy một số VD để HS hiểu xếp loại học
lực cho HS
( ĐTBCM>=8.0) and ((Toan>=8.0) or
(văn>=8.0))
Xét VD sau: Delta:=b*b-4*a*c;
?Kết hợp từ những VD GV đã nêu trong bài
học hãy cho biết dạng tổng quát của câu
lệnh gán
HS tự cho VD và giải thích
GV cho VD và yêu cầu HS giải thích ý
ợng thực, các phép toán chie nguyên và lấy phần d, các phép toán quan hệ
Bảng kí hiệu (SGK) Chú ý: Kết quả của các phép toán quan hệ cho giá trị logic
- Tạo ra các biểu thức phức tạp từ các quan hệ
đơn giản
2 Biểu thức số học
Quy tắc viết
- Dùng cặp 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 qua phải
- Không đợc bỏ qua dấ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 các phép toán không có ngoặc thì thực hiện từ trái sang phải: nhân, chia, chia nguyên, lấy phần d, cộng, trừ
Chú ý:
- Nếu biẻu thức chứa một hằng hay biến kiểu thực thì ta có biểu thức số học thực, giá trị của 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 để có thể tránh đợc việc tính biểu thức nhiều lần
3 Hàm số học chuẩ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ác chơng trình nh vậy đợc gọi là các hàm số học chuẩn
Bảng hàm số học chuẩn ( SGK tr 26) VD:
4 Biểu thức quan hệ
Hai 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 một biểu thức quan hệ
<BThức 1> <phép toán quan hệ><Bthức2> Thực hiện: Tính giá trị các biểu thức rồi thực hiện các phép toán quan hệ Kết quả là giá trị logic
VD: x>8 x+y >= 2*x
5 Biểu thức logic
not ( không) đợc viết trớc biểu thức cần phủ
định Các phép toán and ( và), or ( hoặc) dùng để kết hợp nhiều biểu thức logic hoặc quan hệ thành một biểu thức
VD: (10<=y) and (y<=15)
Trang 7nghÜa cña c©u lÖnh g¸n 6 C©u lÖnh g¸n
<tªn biÕn>:=<biÓu thøc>;
KiÓu gi¸ trÞ cña biÓu thøc ph¶i phï hîp víi kiÓu d÷ liÖu cña biÕn
VD: NÕu cã a:integer ; BT a:=c+d Th× BiÓu thøc c+d ph¶i tr¶ vÒ kiÓu integer Tªn biÕn ë vÕ tr¸i dÊu " :=" , gi¸ trÞ míi b»ng gi¸ trÞ cña biÓu thøc ë vÕ ph¶i
VD x:=x-1; Gi¶m gi¸ trÞ cña biÕn x 1 gi¸ trÞ i:=i+1