22
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?

Tai lieuthamkhao

Embed Size (px)

Citation preview

Page 1: Tai lieuthamkhao

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?

Page 2: Tai lieuthamkhao

Cần ghi nhớ:

Trong Toán học Trong Pascal

(x) (*)

(:) (/)

(≥) (>=)

(≤) (<=)

(≠) (< >)

() ( Not)

( ˅) ( Or)

( ˄ ) ( And)

Page 3: Tai lieuthamkhao

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

Page 4: Tai lieuthamkhao

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?

Page 5: Tai lieuthamkhao

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

Page 6: Tai lieuthamkhao

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

Page 7: Tai lieuthamkhao

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

Page 8: Tai lieuthamkhao

Ví dụ luyện tập:

3a – (2+3b)

A(x-3)2 + Bx + 5

xy

x4xy

x

x

yx 222

Page 9: Tai lieuthamkhao

Gợi ý:

Đáp án:

3*a – (2+3*b)

A*(x-3)*(x-3) +B*x+5

)*()4(

yxy

)*()2(

)*()*2(

yxx

xxyx

Page 10: Tai lieuthamkhao

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:

Page 11: Tai lieuthamkhao

Đố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

Page 12: Tai lieuthamkhao

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𝑎

Page 13: Tai lieuthamkhao

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ì?

Page 14: Tai lieuthamkhao

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ệ)

Page 15: Tai lieuthamkhao

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

Page 16: Tai lieuthamkhao

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

Page 17: Tai lieuthamkhao

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?

Page 18: Tai lieuthamkhao

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

Page 19: Tai lieuthamkhao

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) )

Page 20: Tai lieuthamkhao

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ì?

Page 21: Tai lieuthamkhao

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

Page 22: Tai lieuthamkhao

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