Upload
vb2tin09
View
918
Download
0
Embed Size (px)
Citation preview
Phép toán, biểu thức, câu lệnh gán
- 1.Phép toán:
- Trong khi viết chương trình ta sẽ dùng các
phép toán để tính toán, so sánh để chọn hướng
đi … Cách viết các phép toán sử dụng trong
Pascal giống hay khác trong toán học?
Cần ghi nhớ:
Trong Toán học Trong Pascal
(x) (*)
(:) (/)
(≥) (>=)
(≤) (<=)
(≠) (< >)
() ( Not)
( ˅) ( Or)
( ˄ ) ( And)
Các phép toán +, -, div, mod viết bình thường như
trong Toán học
Div, Mod chỉ dùng cho kiểu nguyên
Kết quả phép toán quan hệ cho giá trị logic (True
hoặc False)
Not, Or, And 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:
Trong lập trình:
Phép toán bao gồm?
Toán hạng bao gồm?
Trong lập trình
Phép toán gồm có : +, - , *, /, div, Mod
Toán hạng gồm có: các hằng, kiểu biến số và
các hàm số học
Bảng ví dụ cách chuyển từ biểu thức toán học sang biểu
thức trong PascalTrong toán học Trong Pascal
5a + 6b 5 * a + 6 * b
x*y/z
Ax2 + Bx + C A*x*x + B*x + C
(x+y)/(x-1/2) – (x-z)/xy
Rút ra những lưu ý:
Không được bỏ qua dấu nhân (*) trong tích
Thực hiện trong ngoặc trước, ngoài ngoặc sau
Nhân, chia, div, mod trước, cộng trừ sau
Dùng dấu ngoặc để quy định trình tự tính toán
Kiểu của biểu thức là kiểu của biến hay hằng có miền
giá trị lớn nhất
Ví dụ luyện tập:
3a – (2+3b)
A(x-3)2 + Bx + 5
xy
x4xy
x
x
yx 222
Gợi ý:
Đáp án:
3*a – (2+3*b)
A*(x-3)*(x-3) +B*x+5
)*()4(
yxy
)*()2(
)*()*2(
yxx
xxyx
3. Hàm số học chuẩn Để chuyển từ biểu thức toán sang biểu thức trong
Pascal phải làm sao Còn rất nhiều biểu thức không nên tìm cách viết
mà hãy dùng thư viện hàm Pascal. Xem bảng SGK với các chú ý như sau:
Đối số của hàm luôn đặt trong dấu ( )
Kết quả của hàm của kiểu nguyên hay thực hoặc tùy
thuộc vào kiểu đối số
- Lưu ý:
Hàm được xem như 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ỳ
Đối số của hàm có thể là 1 biểu thức
Ví dụ: Biểu thức toán học:
Viết dưới dạng Pascal có dạng:
Hoặc
Trong đó biểu thức b2 – 4ac là đối số của hàm sqrt
a)*(2 c))*a* 4 -b*(bsqrt (-b
2/a c))*a* 4 -b*(bsqrt (-b
−𝑏+√𝑏2−4 𝑎𝑐2𝑎
4. Biểu thức quan hệ: Hãy cho vài ví dụ trong toán học có sử dụng phép
toán quan hệ( >, ≥, <, ≤, = và ≠ ) Việc giải và biện luận PT bậc 2 có dùng đến phép
toán quan hệ không? Phép toán quan hệ cho kết quả kiểu gì?
Khi giải và biện luận phương trình bậc 2 xét trường hợp ∆ > 0 : PT có 2 nghiệm phân biệt
Theo quan điểm lập trình đã có sự so sánh ∆ với số 0 trước khi thực hiện lệnh xuất ra 2 nghiệm (đây là công dụng của biểu thức quan hệ)
Trong pascal, so sánh 2 biểu thức cùng kiểu là biểu thức quan hệ có dạng:
< biểu thức 1> < Phép toán quan hệ> <biểu thức 2>
Với trình tự thực hiện:• Tính các giá trị của biểu thức• Thực hiện phép toán quan hệ• Kết quả phép toán quan hệ là giá trị logic true hoặc
false
Ví dụ:• x < 5 → Nếu x = 3 thì x < 5 có giá trị true• i+1 >= 2*j → Nếu i =2, j=3 thì i+1 >= 2*j có giá trị false• a2 + b2 > = c2 Nếu a = 3, b= 4, c = 5 thì a2 + b2 > = c2 có giá trị True Nếu a = 3, b= 4, c = 6 thì a2 + b2 > = c2
có giá trị False
5. Biểu thức logic Xét hàm số y = sin x• Tìm miền giá trị của y?• Tìm cách biểu diễn miền giá trị của y
trong Pascal? Tổng quát muốn so sánh nhiều điều kiện
đồng thời làm thế nào?
Ta dễ dàng tìm được miền giá trị: -1 ≤ y≤ 1
Tuy nhiên trong Pascal không viết -1 ≤ y≤ 1 mà viết là:
( y >= -1) and (y<=1)
y≥ -1
( vì -1 ≤ y≤ 1 )
y≤ 1 Tổng quát muốn so sánh nhiều điề kiện đồng thời, cần dung
phép toán Logic liên kết các điều kiện đó, tạo thành biểu thức logic.
( Biểu thức logic đơn giản nhất là hằng hay biến logic)• Giá trị của biểu thức logic là true hoặc false
Chú ý: Phép toán NOT phải viết trước biểu thức cần phủ định
VD: NOT ( x < 1 ) x>= 1 Phép toán AND và OR kết hợp với biểu thức quan hệ
hoặc biểu thức logic để diễn tả các điều kiện phức tạp
VD: Hai biến nguyên M, N đồng thời chia hết cho 3 hay đồng thời không chia hết cho 3 được viết trong Pascal như sau:
( (M mod 3 = 0 ) and (N mod 3 = 0) ) or ( (M mod 3 < > 0 ) and (N mod 3 < > 0) )
6.Câu lệnh gán Học sinh đọc SGK nếu lên những hiểu biết và suy nghĩ của
mình về lệnh gán? Cho một vài ví dụ đã dùng phép gán trong toán học Giả sử khi đi chứng minh biểu thức:
a3 + 3a2b + 3ab2 + b3 = (a+b)3
Ta đặt: P = (a+b)3(*)
Thực hiện biến đổi P = (a+b)(a+b)(a+b)
để đi đến P = a3 + 3a2b + 3ab2 + b3
Ta có sử dụng phép gán không? Có tác dụng gì?
Lệnh gán là lệnh căn bản của các NNLT. Trong Pascal lệnh gán có dạng:
< tên biến > : = <biểu thức>;• Biểu thức phải phù hợp với tên biến có nghĩa: kiểu của tên
biến phải cùng hoặc bao hàm kiểu của biểu thức• Hoạt động của lệnh gán: tính giá trị biểu thức sau đó ghi giá
trị vào tên biến
Công dụng: Dùng để gán giá trị cho biến
VD:
x1: = (-b-sqrt(b*b-4*a*c))/2/a;
x2 := -b/a – x1;
→ x1 vừa là biến kết quả vừa là biến trung gian
i:= i+1;
z:= z-1;
→ i và z là 2 biến tăng giảm sẽ ứng dụng nhiều sau này