Các ký hiệu dùng để ký hiệu các phép toán số học trong pascal là

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN********** **********B ài 6: Phép toán, biểu thức, các lệnh gánGiảng viên hướng dẫn: Thầy Trần Doãn Vinh.Sinh viên thực hiện: Lê khắc Sơn Thuận - K56A CNTTTiết: ……………………………………………………………………………………Lớp: ……………………………………………………………………………………Hà Nội 4 – 2008A. Mục đích yêu cầu:−Học sinh biết được các loại phép toán và hiểu được đúng giá trị của chúng−Hiểu được và viết đúng các biểu thức ở dạng Turbo Pascal.−Hiểu được giá trị và sử dụng thành thạo các hàm số học chuẩn của Pascal.−Biết được các biểu thức quan hệ, biểu thức logic của Pascal.−Sử dụng thành thạo các lênh gánB. Phương pháp, phương tiện:1.Phương pháp: Kết hợp các phương pháp như thuyết trình,vấn đáp,vẽ hình, máy chiếu…2. Phương tiện dạy học:−Sách giáo khoa Tin học lớp 11.−Các sách tham khảo khác (nếu có)C. Tiến trình lên lớp và nội dung bài thực hành:I. Ổn định lớp (1’):- Yêu cầu lớp trưởng báo cáo sĩ số.II. Kiểm tra bài cũ và gợi động cơ (3’):- Trong quá trình thực hành sẽ kết hợp kiểm tra bài cũ và cho điểm.III. Nội dung bài thực hành:STT Nội dung Hoạt động của Thầy và Trò T/G1 Đặt vấn đề• GV:−Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều xác định và sử dụng một khái niệm cơ bản: phép toán, biểu thức, gán giá trị cho biến. Dưới đây ta sẽ đi sâu vào nghiên cứu và hiểu rõ những khái niệm đó trong Turbo Pascal.2 Phép toán−Các phép toán số học: Các phép toán cộng, trừ, nhân, chia được kí hiệu là: +,-,*, /.Riêng với số nguyên còn có các phép chia nguyên, phép lấy phần dư và được ký hiệu là: DIV, MOD−Các phép toán quan hệ: <, >,<=, >=,<>,=Các phép toán quan hệ dùng để so sánh giá trị hai đại lượng, kết quả so sánh là True hay False.−Các phép toán logic: Phủ định, Hoặc, Và:Được ký hiệu tương ứng: NOT, AND, OR• GV:Thuyết trình:−Các phép toán trong TP gồm có các phép toán số học, cá phép toán logic, các phép toán quan hệ.−Các phép toán số học gồm có các phép cộng, trừ, nhân, chia. Riêng với số nguyên còn có các phép chia nguyên (DIV), lấy phần dư (MOD).−Các phép toán quan hệ là các phép toán lớn hơn, nhỏ hơn, bằng, lớn hơn hoặc bằng, nhỏ hơn hoặc bằng, khác… dùng để so sánh giá trị hai đại lượng, kết quả là True hay False.7 Một trong những ứng dụng của phép toán logic là để tạo ra những các biểu thức phức tạp từ các quan hệ đơn giản.−Các phép toán logic là các phép phủ định (NOT), hoặc (OR), và (AND), dùng để tạo ra những biểu thức phức tạp từ những quan hệ đơn giản.33Biểu thức số học:−Là biểu thức nhận được từ các biến kiểu số, các hằng số và các hàm kiểu số của TP liên kết với nhau bởi một số h ữu hạn các phép tính cộng, trừ, nhân, chia, phép chia nguyên, phép chia lấy phần dư. −Khi viết biểu thức số học, để quy định trình tự tính toán ta chỉ được dùng các cặp dấu ( và )Ví dụ:Biểu thức ở dạng toán họcBiểu thức ở dạng TP 5a+6b 5*a+6*x (xy)/z x*y/zAx2 + Bx + CA*x*x + B*x +C−Trình tự thực hiện: Thực hiện các phép toán trong ngoặc trước, ngoài ngoặc sau. Các phép toán nhân, chia; phép chia nguyên, lấy phần dư thực hiện trước và cộng trừ thực hiện sau.• GV:Thuyết trình:−Trong lập trình, biểu thức số học được hiểu là biểu thức nhận được từ các biến kiểu số, các hằng số và các hàm kiểu số của TP liên kết với nhau bởi một số hưu hạn các phép tính cộng, trừ, nhân, chia, phép chia nguyên, phép chia lấy phần dư. Khi viết biểu thức số học, để quy định trình tự tính toán ta chỉ được dùng các cặp dấu (và).−Trong biểu thức số học, các phép toán trong ngoặc được thực hiện trước, ngoài ngoặc sau. Các phép toán nhân, chia; phép chia nguyên, lấy phần dư thực hiện trước và cộng trừ thực hiện sau.5’4 Hàm số học chuẩn• GV:Thuyết trình: - Để lập trình được dễ dàng, thuận tiện hơn, TP có một số hàm hỗ trợ tính giá trị những hàm toán học thường dùng.- Các hàm này được gọi là các hàm chuẩn, và có tên gọi riêng, đối số của hàm là một hay nhiều biểu thức số học và được đặt dấu ngoặc sau tên hàmCâu hỏi vấn đáp:Em nào đã biết những hàm toán học đã được học ở các lớp phổ thông?•HS: trả lời câu hỏi.•GV: Đánh giá và bổ sung câu trả lời của học sinh.IV. Củng cố bài (3')−Bài hôm nay chúng ta đã tìm hiểu vê các phép toán và biểu thức trong Turbo Pascal. Các phép toán số học, logic, quan hệ và cách sử dụng các phép toán này. Bên cạnh đó chúng ta cũng đã tìm hiểu về biểu thức logic và các trình tự thực hiện phép toán trong biểu thức logic. Ngoài ra các em cũng đã tìm hiểu về các hàm số học chuẩn.−Các em về nhà cần đọc kĩ lại bài hôm nay, nắm vững các phép toán, các biểu thức và hàm số học, trình tự thực hiện các phép toán trong một biểu thức. Điều này rất cần thiết trong việc viết thuật toán và lập trình các bài toán sau này.V.Bài tập về nhà(2')−Nghiên cứu bài học tiếp theo.VI. Nhận xét, rút kinh nghiệm giờ giảng.

a. Phép toán
*/ Phép toán trên kiểu số Phép toán Ý nghĩa Ví dụ ------------------------------------------------------ - Lấy đối số Đối số của 2 là -2 + Cộng 10 + 9 -> 19 - Trừ 10 - 9 -> 1 * Nhân 10 * 9 -> 90 / Chia 10 / 4 -> 2.5 Div Chia lấy phần nguyên 10 div 3 -> 3 Mod Chia lấy phần dư 10 mod 3 -> 1 (Div và Mod chỉ áp dụng cho kiểu nguyên).

*/ Một số hàm số, thủ tục

Hàm Ý nghĩa Ví dụ ------------------------------------------------------------ ABS(x) Trị tuyệt đối x Abs(-2) -> 2 SQR(x) Bình phương x Sqr(2) -> 4 SQRT(x) Căn bậc hai x Sqrt(9) -> 3 EXP(x) Hàm e^x Exp(3) -> e^3 LN(x) Hàm ln(x) Ln(2) ->ln2 SIN(x) Hàm lượng giác Sin(PI) -> 0 COS(x) Hàm lượng giác Cos(PI) -> 1 ARCTAN(x) Hàm lượng giác Arctan(0) ->0 INC(x) Tăng x lên 1 đơn vị <=> x:=x+1; DEC(x) Giảm x xuống 1 đơn vị <=> x:=x-1; SUCC(x) Cho giá trị tiếp theo của x succ(5) cho KQ 6 PRED(x) Cho giá trị trước đó của x PRED(5) cho KQ 4 ROUND(x) Làm tròn lên Round(8.6) -> 9 TRUNC(x) Làm tròn xuống Trunc(8.6) -> 8 ORD(x) Lấy mã ASCII ký tự Ord(‘a’) -> 97 CHR(x) Cho ký tự có mã ASCII Chr(65) -> ‘A’ ODD(x) Kiểm chẳn lẽ Odd(5) -> True

*/ Một số phép toán logic
AND, OR, XOR, NOT.

X Y X OR Y X AND Y X XOR Y NOT X --------------------------------------------------------------------- FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE FALSE FALSE

Lưu ý:

– Các phép toán so sánh (<> khác, = bằng, > lớn hơn, < nhỏ hơn >= lớn hơn hoặc bằng, <= nhỏ hơn hoặc bằng) luôn trả về kiểu Booland.
– Các phép toán logic còn áp dụng trên kiểu số nguyên, trên cớ sở biểu diễn số nhị phân của các số nguyên.

b. Biểu thức – Biểu thức là một phần của câu lệnh bao gồm hằng, biến, hàm liên kết với nhau bằng các phép toán và các dấu ngoặc đơn. Ví dụ: (-b+sqrt(delta))/(2*a)

– Thứ tự thực hiện các phép toán trong biểu thức:

1. Biểu thức trong ngoặc đơn 2. Phép gọi hàm 3. Not, – 4. *, /, DIV, MOD AND 5. +, -, OR, XOR

6. =, <>, <=,>=,<,>,IN

– Quy ước thứ tự ưu tiên

+ Qui tắc 1 : Các phép toán nào có ưu tiên cao hơn sẽ được tính trước.

+ Qui tắc 2 : Trong các phép toán có cùng thứ tự ưu

tiên thì sự tính toán sẽ được thực hiện từ trái sang phải.

+ Qui tắc 3 : Phần trong ngoặc từ trong ra ngoài


được tính toán để trở thành một giá trị.

c. Câu lệnh

– Câu lệnh xác định một công việc mà chương trình phải thực hiện để xử lý các dữ liệu đã được mô tả và khai báo. Có 2 loại câu lệnh: +Câu lệnh đơn: Là câu lệnh không chứa các câu lệnh khác. +Câu lệnh có cấu trúc: gồm các câu lệnh ghép, câu lệnh rẽ nhánh câu lệnh điều khiển lựa chọn, câu lệnh lặp,…

Lưu ý: Câu lệnh ghép là một nhóm các câu lệnh đơn cần thực hiện liên tiếp và được đặt trong cặp từ khóa BEGIN và END; (END kèm theo dấu chấm phẩy).

*/ Một số câu lệnh đơn:
– Lệnh gán:

Cú pháp: :=; Ví dụ: a:=5+4/3;

b:=c+d/e;

Lưu ý: + Khi một giá trị được gán cho biến, nó sẽ thay thế giá trị trước đó của biến đã lưu.

+ Biểu thức ở bên phải và bên trái lệnh gán phải có cùng kiểu dữ liệu.

– Lệnh đọc dữ liệu

Lệnh đọc dữ liệu là lệnh gán giá trị cho biến khi ta nhập từ bàn phím. Có 3 mẫu viết • Read(Biến1, Biến2,…, BiếnN); {có thể dùng dấu cách hoặc phím enter để lần lượt nhập dữ liệu cho các biến} • Readln(Biến1, Biến2,…, BiếnN); {phải dùng phím enter để lần lượt nhập dữ liệ cho các biến} • Readln; {Bắt máy dừng lại chờ nhấp phím enter thường để làm dừng màn hình cho ta xem kết quả}

Lưu ý: Chúng ta không nên dùng lệnh read để nhập dữ liệu cho các biên mà nên nhập bằng lệnh readln vì khi nhập dữ liệu cho các biến bằng lệnh read có thể sẽ dẫn đến tình trạng trôi lệnh (tức là một số lệnh không được thực hiện).

– Lệnh viết dữ liệu ra màn hình:
Có 3 mẫu viết:

• Write(Value1,Value2,…,ValueN); { viết các mục ra, con trỏ nằm ở cuối dòng} • Writeln(Value1,Value2,…,ValueN); { viết các mục ra, con trỏ nằm ở đầu dòng tiếp theo} • Writeln; { chỉ đưa con trỏ xuống dòng tiếp theo} trong đó: các value là các biến, hằng, giá trị hay chuỗi ký tự (phải đặt trong cặp nháy đơn).

{riêng dấu ‘ ta xuất bằng cách ghi 2 dấu ”}

Viết có quy cách: – Đối với kiểu số thực: :<độ rộng>:; Ví dụ: write(a:4:5); – Đối với các kiểu dữ liệu khác: :<độ rộng>; Ví dụ: write(b:4);{với b là số nguyên} Lưu ý: Khi số chữ số của biến nhiều hơn với độ rộng thì số đó sẽ được xuất ra toàn bộ. Ví dụ: b có giá trị là 12345. Khi ta viết lệnh write(b:4);

12345

– Một số lệnh khác • Clrscr; Lệnh xóa màn hình và đưa con trỏ về góc trên bên trái • Gotoxy(x,y); đặt con trỏ tới tọa độ (x,y) x: cột từ 1->80; y: hàng từ 1->25