Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều sử dụng một số khái niệm cơ bản: phép toán, biểu thức, gán giá trị. Dưới đây sẽ xét các khái niệm đó trong Pascal. Mời các em cùng theo dõi nội dung chi tiết của bài học.
Tóm tắt lý thuyết
1.1. Phép gán
Phép toán | Trong Toán học | Trong Pascal |
Các phép toán số học với số nguyên | + (cộng), - (trừ), . (nhân), div (chia nguyên), mod (lấy phần div) | +, -,*, div, mod |
Các phép toán số học với số thực | + (cộng). - (trừ), . (nhân),: (chia) | +,-, *,/ |
Các phép toán quan hệ | < (nhỏ hơn), < (nhỏ hơn hoặc bằng), > (lớn hơn hoặc bằng). = (bằng), * (khác) | <, <=, >=, =, < > |
Các phép toán logic | -1 (phủ định), \(\vee\) (hoặc), \(\wedge\) (và) |
not, or, and |
Bảng 1. Kí hiệu các phép toán trong Toán học và trong Pascal
Chú ý 1:
- Kết quả của phép toán quan hệ cho giá trị logic.
- 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ừ các quan hệ đơn giản.
1.2. Biểu thức số học
Trong lập trình, biểu thức số học là một biến kiểu số hoặc một hằng 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, các dấu ngoặc tròn (và) tạo thành một biểu thức có dạng tương tự như cách viết trong toán học với những quy tắc sau:
- Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán trong trường hợp cần thiết.
- Viết lần lượt từ trái qua phải
- Không được bỏ qua dấu nhân (*) 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 toán không chứa ngoặc thì thực hiện từ trái sang phải, theo thứ tự các phép toán nhân (*), chia nguyên (div), lấy phần dư (moiỉ) thực hiện trước và các phép toán cộng (+), trừ (-) thực hiện sau.
Chú ý 2:
- Nếu biểu thức thứa một hằng hay biến kiểu thực thì ta có biểu chứ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 một biểu thức nhiều lần.
1.3. Hàm số học chuẩn
- Hàm sổ học chuẩn là những hàm tính giá trị những hàm toán học thường dùng trong các ngôn ngữ lập trình.
- Mỗi hàm chuẩn có tên chuẩn riêng. Đối số của hàm là một hay nhiều biểu thức số học và được đặt trong cặp ngoặc tròn (và) sau tên hàm.
- Kết quả của hàm có thể là nguyên hoặc thực hay phụ thuộc vào kiểu của đối số.
- Một số hàm chuẩn thường dùng:
Hàm | Biểu diễn Toán học | Biểu diễn trong Pascal | Kiểu đối số | Kết quả |
Bình phương | x2 | sqr(x) | Thực hoặc nguyên | Theo kiểu của đối số |
Căn bậc hai | \(\sqrt x\) | Sqrt(x) | Thực hoặc nguyên | Thực |
Giá trị tuyệt đối | |x| | Abs(x) | Thực | Theo kiểu của đối số |
Lôgarit tự nhiên | lnx | ln(x) | Thực | Thực |
Lũy thừa của số e | ex | Exp(x) | Thực | Thực |
Sin | Sinx | Sin(x) | Thực | Thực |
Cos | Cosx | Cos(x) | Thực | Thực |
Bảng 2. Một số hàm chuẩn thường dùng
1.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ệ.
- 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 >
- Biểu thức quan hệ đượ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 biểu thức quan hệ là giá trị logic: true (đúng) hoặc false (sai)
1.5. Biểu thức logic
- Biêu thức lôgic đơn giản là biến lôgic hoặc lôgic.
- Biểu thức lôgic là các biểu thức logic đơn giản, các biểu thức quan hệ liên kết với nhau bởi phép toán logic. Giá trị biểu thức logic là true hoặc false. Các biểu thức quan hệ thường đặt trong cặp ngoặc (và ).
- Dấu phép toán not được viết trước biểu thức cần phủ định.
- Các phép toán and và or dùng để kết hợp nhiều biểu thức lôgic hoặc quan hệ, thành một biểu thức thường được dùng để diễn tả các điều kiện phức tạp.
- Ta có bảng giá trị phép toán logic:
A | 0 | 1 | ||
Not A | 1 | 0 | ||
A | 0 | 0 | 1 | 1 |
B | 0 | 1 | 0 | 1 |
A and B | 0 | 0 | 0 | 1 |
A not B | 1 | 1 | 1 | 0 |
Bảng 3. Bảng giá trị phép toán logic
1.6. Câu lệnh gán
- Lệnh gán trong Pascal có dạng: < tên biến > := < biểu thức >;
- Trong trường hợp đơn giản, tên biến là tên của biến đơn.
- Lệnh gán có chức năng gán giá trị cho một biến, nghĩa là thay giá trị cũ trong ô nhớ (tương ứng với biến) bởi giá trị mới. Giá trị mới là giá trị của một biểu thức. Biểu thức này đã có giá trị xác định thuộc phạm vi của biến. Kiểu giá trị của biểu thức phải phù hợp với kiểu của biến. Một biến chỉ được coi là đã xác định giá trị khi đã nhận được giá trị từ ngoài (đọc từ bàn phím hoặc từ tệp,...) hoặc trực tiếp qua lệnh gán trong chương trình.
Ví dụ 1:
- i := i + 1;
- S := S + 1;
Một số điểm chú ý khi sử dụng lệnh gán:
- Phải viết đúng kí hiệu lệnh gán. Ví dụ 2: trong Pascal kí tự hai dấu chấm phải viết liền kí tự dấu bằng (:);
- Biểu thức bên phải cần được xác định giá trị trước khi gán, nghĩa là mọi biến trong biểu thức đã được xác định giá trị và các phép toán trong biểu thức có thể thực hiện được trong miền giá trị của biến.
- Kiểu của biến phải phù hợp với kiểu dữ liệu của giá trị biểụ thức bên phải.
Bài tập minh họa
Bài tập 1
Biểu diễn biểu thức sau sang ngôn ngữ lập trình Pascal:
a. 2a + 3b +c;
b. \(\frac{x+y}{1-\frac{2}{z}}+\frac{x^2}{2z}\)
c. \(\frac{-b+\sqrt{b^2-4ac}}{2a}\)
Gợi ý làm bài:
a. 2*a + 3*b + c;
b. ((x+y)/(1-(2/z)))+(x*x/(2*z));
c. (-b+sqrt(b*b-4*a*c))/(2*a).
Bài tập 2
Ví dụ biểu thức quan hệ và biểu thức logic.
Gợi ý làm bài:
Biểu thức quan hệ:
- x > 5;
- 2*x +1 >= y
Biểu thức logic:
- (A > B) or ((X + 1) > Y)
- (5 > 2) and ((3 + 2) < 4)
- (x >= 5) and (x <= 11)
- Not(x < 1)
Bài tập 3
Ví dụ câu lệnh gán.
Gợi ý làm bài:
- (A > B) or ((X + 1) > Y)
- (5 > 2) and ((3 + 2) < 4)
- (x >= 5) and (x <= 11)
- Not(x < 1)
3. Luyện tập Bài 6 Tin học 11
Sau khi học xong Bài 6: Phép toán, biểu thức, câu lệnh gán, các em cần nắm vững các nội dung trọng tâm:
- Kí hiệu các phép toán trong Toán học và trong Pascal.
- Quy tắc viết biểu thức số học trong lập trình
- Một số hàm chuẩn thường dùng
- Cấu trúc chung của biểu thức quan hệ
- Trình tự thực hiện biểu thức quan hệ
- Biểu thức logic
- Cấu trúc chung của lệnh gán
- Một số điểm chú ý khi sử dụng lệnh gán
3.1. Trắc nghiệm
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài 6 cực hay có đáp án và lời giải chi tiết.
-
- A. (1 + z) * (x + y/z)/a – 1/(1 + x*x*x)
- B. (1 + z) * (x + y/z)/a – 1/1 + x*x*x
- C. (1 + z) * ((x + y/z)/(a – 1/(1 + x*x*x)))
- D. Cả A, B, C đều đúng
-
- A. \(\frac{| x-y |}{(x^2+\sqrt{y}+1)}\)
- B. \(\frac{| x-y |}{(x^2+y^2+1)}\)
- C. \(\frac{| x-y |}{(x^2+\sqrt{x}+1)}\)
- D. \(\frac{| x-y |}{(x^2+e^y+1)}\)
Câu 3-5: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
4. Hỏi đáp Bài 6 Tin học 11
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 HỌC247