Bài 6 Phép toán, biểu thức, câulệnhgán Ngày soạn: /10/2008 Ngày giảng: Ngời soạn: Nguyễn Đình Thọ GVHD: Lê Bích Liên I. Mục đích yêu cầu 1. Kiến thức - Biết các khái niệm: Phép toán, biểuthức số học, hàm số học - Hiểu lệnhgán 2. Kỹ năng - Viết đợc lệnhgán - Viết đợc biểuthức số học và logíc với các phép toán thông dụng II. Phơng tiện Dạy Học 1. Phơng pháp: Đàm thoại, quan sát và thuyết trình 2. Phơng tiện Giáo viên: Giáo án, SGK và đồ dùng dạy học Học sinh: SGK,vở ghi III. Chuẩn bị của giáo viên và học sinh 1. ổn định lớp (1) Sĩ số. Vắng Có phép Không phép . 2. Bài mới (40) Nội dung Hoat động của giáo viên và học sinh 1. Phép toán Bảng kí hiệu các phép toán trong toán và trong Pascal (SGK Trang 24) Ví dụ: Trong toán học có biểu thức: a:b x 3 x y Tơng tự các biểuthức đợc viết lần lợt trong Pascal a/b x>=3 x and y * Chú ý: - Kết quả của phép toán quan hệ cho giá trị logíc - Phép toán logíc thờng đợc dùng để kết hợp các biểuthức quan hệ lại với nhau 2. Biểuthức số học * Khái niệm: Biểuthứ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 kiểu số liên kết với nhau bởi một số hữu hạn các phép toán số Gv: Để mô tả các thao tác trong thuật toán , mỗi ngôn ngữ lập trình đêù xác định và 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ị cho biến sau đây ta sẽ tìm hiể một số khái niệm đó trong pascal Ta đi vào mục 1.Phép toán Hs: Nghe giảng và ghi chép đề mục Gv: Trong toán học các em đã đợc biết các phép toán nào? Hs: Trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh (cộng(+),trừ(-), nhân(x), div(chia nguyên),mod(lấy phần d)) Gv: Vậy đối với ngôn ngữ lập trình thì có khác biệt hay không? Hs: Trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh (có khác biệt) Gv: Sau đây các em cùng quan sát bảng phụ về các phép toán trong toán học và trong pascal để thấy rõ sự khác biệt này. Gv: Treo bảng phụ: kí hiệu phép toán trong toán học và trong pascal đồng thời giải thích cho học sinh 1 học, các dấu ngoặc tròn ( và ) tạo thành một biểuthức có dạng tơng t nh cách viết trong toán học * Quy tắc - Chỉ dùng cặp dấu 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 * Thứ tự thực hiện các phép toán - Thực hiện các phép toán trong ngoặc tr- ớc - 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(/), chia nguyên(div), lấy phần d(mod) thực hiện trớc và các phép toán cộng(+) trừ (-) thực hiện sau * Ví dụ : Bảng phụ SGK( Trang 25) Biểuthức trong toán hoc: 2x+3y-z z yx 24 + (x-y)(5-z) +2x Biểuthức đợc viết trong Pascal lần lợt là: 2*x+3*y-z (4*x+2*y)/z (x-y)*(5-z)+2*x * Chú ý: - Nếu biểu thứcchứa một hằng hay biến kiểu thực thì ta có biểuthức số học thực, giá trị của biểuthức cũng kiểu thực . - Trong một số trơgf hợp nên dùng biến trung gian để có thể tránh đợc viết lại biểuthức nhiều lần 3. Hàm số học chuẩn * Khái niệm : Hàm số học chuẩn là các ch- ơng trình tính giá trị của các hàm toán họcthờng dùng đợc chứa trong th viện của ngôn ngữ lập trình * Cách viết tên_hàm<đối số>; Trong đó đối số là một hoặc nhiều biểu thức số học * Bảng phụ một số hàm số học chuẩn thờng dùng SGK( trang 26) * Chú ý: Gv: Các em để trống một khoảng trong vở để về vẽ bảng các kí hiệu Gv: Sau đây thầy có một vài ví dụ minh hoạ cho cách biểu diễn trên Ví dụ: Trong toán học có biểu thức: a:b x 3 x y Tơng tự các biểuthức đợc viết lần lợt trong Pascal a/b x>=3 x and y Hs: Ghi chép Gv: Sau đây thầy có chú ý: - Kết quả của phép toán quan hệ cho giá trị logíc - Phép toán logíc thờng đợc dùng để kết hợp các biểuthức quan hệ lại với nhau Hs: Ghi chép chú ý Gv: Ta vừa đi tìm hiểu xong phần 1 Phép toán, bây giời ta sang phần 2.Biểu thức số học ,* Khái niệm Hs: Ghi đầu mục Gv: Biểuthứ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 kiểu số liên kết với nhau bởi một số hữu hạn các phép toán số học, các dấu ngoặc tròn ( và ) tạo thành một biểuthức Hs: Ghi chép khái niệm Gv: Vậy cách viết biểuthức trong ngônngữ lập trình có khác so với trong toan họck hay không? Ta đi sang dấu hoa thị thứ 2 ,* Quy tắc Hs: Ghi chép đề mục Gv: Quy tắc viết giống nh viết trong toán học: Quy tắc - Chỉ dùng cặp dấu 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 Hs: Ghi chép quy tắc Gv: Vậy thứ tự của phép toán đợc thực hiện nh thế nào. Ta sang dấu hoa thị thứ 2 - Hàm chuẩn có thể tham gia vào các biểuthức nh các toán hạng - Kết quả của hàm có thể là nguyên hay thực hay phụ thuộc vào kiểu của đối số * Ví dụ: Biểuthức đợc viết trong toán học : ax 2 +bx+c 2x x5 (1-sinx)(2-e x ) Biểuthức đợc viết trong Pascal: a*x*x + b*b+c 2*x-sqrt(5-x) (1-si(x))*(2-exp(x)) 4. Biểuthức quan hệ * Biểuthức quan hệ có dạng <biểu thức1><phép toán quan hệ><biểu thức2> Trong đó , <biểu thức1> và <biểu thức2> cùng là xâu hoặc biểuthức số học * Trình tự thực hiện biểuthức quan hệ - Tính giá trị biểuthức - Thực hiện phép toántoán quan hệ Kết quả của phép toán quan hệ là giá trị logíc (true hoặc false) * Ví dụ: x >=10 i-1>2*j+1 5. Biểuthức logic Biểuthức logic là các biểuthức logíc đơn giản , các biểuthức quan hệ liên kết với nhau bởi phép toán quan hệ. Phép toán not đợc viết trớc biểuthức cần phủ định Các phép toán and và or dùng để kết hợp nhiều biểuthức logic,hoặc quan hệ thành một biểuthức * Ví dụ: Các biểuthức đợc viết trong toán học: 2 x <6 x< 1 U x> 5 Tơng tự các biểuthức đợc viết trong Pascal lần lợt là: (x 2) and (x<6) (x<1) or (x>5) 6. Câulệnhgán * Cấu trúc câulệnhgán trong Pascal: <tên biến>:=<biểu thức>; Trong đó tên biến là tên của biến đơn,kiểu của biểuthức phải phù hợp với kiểu của biến * Chức năng của lệnhgán là đặt cho biến có 3, * Thứ tự thực hiện phép toán Hs: Ghi chép đề mục Gv: - Thực hiện các phép toán trong ngoặc trớc - 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(/), chia nguyên(div), lấy phần d(mod) thực hiện trớc và các phép toán cộng(+) trừ (-) thực hiện sau Hs: Ghi chép Gv: Sau đây ta có một số ví dụ minh hoạ cho điều này , các em ghi dấu hoa thị thứ 4, * Ví dụ, các em quan sát bảng phụ Hs: Ghi chép đề mục và quan sát bảng phụ Gv: Giải thích cho học sinh về bảng phụ Hs: Nghe giảng Gv: Sau đây thầy có ví dụ biểuthức số học trong toán học một em hãy viết biểuthức này theo cách biểu diễn trong pascal? Biểuthức trong toán hoc: z yx 24 + (x-y)(5-z) +2x Hs: Suy nghĩ và lên bảng viết Gv: Nhận xét và hoàn chỉnh bài làm của học sinh( (4*x+2*y)/z ; (x-y)*(5-z)+2*x ) Gv: Qua trên các em chú ý điểm sau đây: - Nếu biểu thứcchứ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ểuthức cũng kiểu thực . - Trong một số trơgf hợp nên dùng biến trung gian để có thể tránh đ- ợc viết lại biểuthức nhiều lần Hs: Nghe giảng Gv: Ta đi tìm hiểu phần tiếp theo, 3. Hàm số học chuẩn, * Khái niệm Hs: Ghi chép đề mục Gv: * Khái niệm : Hàm số học chuẩn là các chơng trình tính giá trị của các hàm toán họcthờng dùng đợc chứa trong th 3 tên ở trái dấu := giá trị bằng giá trị của biểuthức ở vế phaỉ * Ví dụ: x1:= -b/a-x2; s:=s1+s2; i:=i+1 viện của ngôn ngữ lập trình Hs: Ghi chép khái niệm Gv: Vậy cách viết tên hàm thế nào ? ta sang dấu hoa thị thứ 2, * Cách viết Hs: Ghi chép đề mục Gv: tên_hàm<đối số>; Trong đó đối số là một hoặc nhiều biểu thức số học Hs: Ghi chép Gv: Sau đây các em cùng quan sát lên bảng phụ ,đây là một số hàm chuẩn 40 40thờng dùng, Gv treo bảng phụ lên bảng Hs: Quan sát Gv: Giảng giả cho học sinh về các hàm, biểu diễ của nó trong toán học và trong pascal Hs: Quan sát và nghe giảng Gv: Các em ghi chú ý sau : - Hàm chuẩn có thể tham gia vào các biểuthức nh các toán hạng - Kết quả của hàm có thể là nguyên hay thực hay phụ thuộc vào kiểu của đối số Hs: Ghi chép chú ý Gv: Sau đây thầy có một vài ví dụ minh hoạ Biểuthức đợc viết trong toán học : ax 2 +bx+c 2 Biểuthức đợc viết trong Pascal: a*x*x + b*b+c 2*x-sqrt(5-x) Hs: Ghi chép ví dụ Gv: Sau đây là một ví dụ , biểuthức đ- ợc viết theo toán học một em hãy viết theo cách viết của pascal : (1-sinx)(2-e x ) Hs: Suy nghĩ và lên bảng viết Gv: Nhận xét và hoàn chỉnh bài làm của học sinh( (1-si(x))*(2- exp(x) ) Gv: Tiếp theo ta đi tìm hiểu phần tiếp theo của bài ,4. Biểuthức quan hệ Hs: Ghi chép đề mục Gv: Một biểuthức quan hệ là kết quả của việc hai biểuthức cùng kiểu liên kết với nhau bởi phép toán quan hệ Hs: Nghe giảng Gv: * Biểuthức quan hệ có dạng : <biểu thức1><phép toán quan hệ><biểuthức2> Hs: Ghi chép Gv: Các em ghi dấu hoa thị thứ2 , 4 * Trình tự thực hiện biểuthức quan hệ - Tính giá trị biểuthức - Thực hiện phép toántoán quan hệ Kết quả của phép toán quan hệ là giá trị logíc (true hoặc false) Hs: Ghi chép Gv: Sau đây là một vài ví dụ về biểuthức quan hệ: x >=10 i-1>2*j+1 Hs: Ghi chép Gv: Giải thích cho học sinh về ví dụ : ở ví dụ đầu biểuthức nhận giá trị true khi x nhận giá trị 10, và nhận giá trị false khi x nhận giá trị <10 ở ví dụ thứ 2 ta cho cặp (i,j)=(3,0) nghiễm nhiên biểuthức luôn nhận giá trị true vì thế vào ta có 2 >1,ta lại cho cặp (i,j)=(2,1) thế vào biểuthức trên ta có 1>3 sai do đó biểuthức nhận giá trị fasle Gv: Ta sang mục 5.Biểu thức logic Hs: Ghi chép đề mục Gv: - Biểuthức logic là các biểuthức logíc đơn giản , các biểuthức quan hệ liên kết với nhau bởi phép toán quan hệ. - Phép toán not đợc viết trớc biểuthức cần phủ định - Các phép toán and và or dùng để kết hợp nhiều biểuthức logic,hoặc quan hệ thành một biểuthức Hs: Ghi chép Gv: Ta có một số ví dụ sau đây: Các biểuthức đợc viết trong toán học: 2 x <6 x< 1 U x> 5 Tơng tự các biểuthức đợc viết trong Pascal lần lợt là: (x 2) and (x<6) (x<1) or (x>5) Gv: Các em về nhà láy thêm ví dụ về 2 cách viết này, bây giờ ta chuyến sang 5 mục 6.Câu lệnhgán Hs: Ghi chép đề mục Gv: *Cấu trúc lệnhgán trong pascal <tên biến>:=<biểu thức>; Trong đó tên biến là tên của biến đơn, kiểu của biểuthức phải phù hợp với kiểu của biến Hs: Ghi chép cấu trúc Gv: * Chức năng của lệnhgán Chức năng của lệnhgán là đặt cho biến có tên ở trái dấu := giá trị bằng giá trị của biểuthức ở vế phải Hs: Ghi chép Gv: Sau đây là một vài ví dụ minh hoạ * Ví dụ: s:=s1+s2; i:=i+1 x1:= -b/a-x2; Gv: Giải thích ở ví dụ đầu ta tính tổng của s1 và s2 sau đó gán cho s,các câulệnh sau cung nh vậy 3. Củng cố và dặn dò(4) - Cần nắm vững các phép toán trong Pascal: các biểuthức số học, các hàm chuẩn thờng dùng, biểuthức quan hệ, biểuthức logic và các phép toán logíc, câulệnhgán - Học bài và làm bài tập trong sách bài tập, xem trớc bài 7 và 8 IV. Rút kinh nghiệm 6 . Hs: Ghi chép khái niệm Gv: Vậy cách viết biểu thức trong ngônngữ lập trình có khác so với trong toan họck hay không? Ta đi sang dấu hoa thị thứ 2 ,* Quy tắc Hs: Ghi chép đề mục Gv: Quy tắc viết