Bàitập chơng II Ngày soạn : 02/11/2008 Ngày dạy : 12/11/2008 Ngời soạn: Nguyễn Trung Quyết GV hớng dẫn: Nguyễn Văn Trờng Lớp: Tiết: I. Mục đích và yêu cầu của bài giảng 1. Kiến thức - Học sinh biết vận dụng những kiến thức đã đợc học ở các tiết trớc vào giải những bàitập cụ thể. 2. Kĩ năng - Biết chuyển một biểu thức toán học vào trong pascal. - Biết xác định input, output của một bài toán. - Biết viết một chơng trình pascal đơn giản. II. Phơng tiện dạy học - Sách giáo khoa, sách giáo viên, sách bài tập, giáo án. III. Nội dung bài giảng 1. ổn định tổ chức lớp Lớp Sĩ số: Vắng: 2. Kiểm tra bài cũ Câu hỏi 1: Hãy viết thủ tục để nhập dữ liệu từ bàn phím và xuất chuẩn để đa dữ liệu ra màn hình. Đáp án: - read(danh sách biến vào) hoặc readln(danh sách biến vào) - write(danh sách kết quả ra) hoặc writeln(danh sách kết quả ra) Câu hỏi 2: Những thủ tục sau khi đa ra màn hình sẽ đợc biểu diễn nh thế nào: Writeln( x:6:2, y:6:2); Write(x+y:8:2) ; Với x=3.35, y=4.649) Đáp án: 3.35 4.65 8.00 3. Bài mới Hoạt động của giáo viên Hoạt động của học sinh T.gian GV: Ghi tên bài học lên bảng Hoạt động 1: Tổng hợp lí thuyết GV: Trớc hết chúng ta sẽ cùng nhau đi tổng hợp lại một số kiến thức chúng ta đã đợc học. HS: Trả lời các câu hỏi của giáo viên về các kiến thức đã đợc học ở tiết trớc. 1 Hoạt động 2: Hớng dẫn giải các bàitập chữa nhanh GV: Do thời gian của tiết không nhiều nên chúng ta sẽ đi chữa nhanh các bài từ bài 1 đến bài 5 để chúng ta sẽ đi sâu vào các bài từ 6 đến 10. GV: Đọc bài thứ nhất sau đó gọi một học sinh đứng lên trả lời. GV: Nhận xét và hoàn thiện câu trả lời. GV: Đọc câu hỏi câu bài 2 sau đó yêu cầu một học sinh khác lên trả lời. GV: Nhận xét và hoàn thiện câu trả lời GV: Các em có biết tại sao khi khai báo thì kiểu dữ liệu của biến phải thích hợp. GV: Nhận xét và hoàn thiện câu trả lời: Đúng nh vậy ngôn ngữ lập trình pascal chỉ cho phép sử dụng dung l- ợng bộ nhớ <=64 KB. Do vậy để tiết kiệm bộ nhớ ta phải khai báo giá trị của biến trong phạm vi vừa đủ, mà vẫn đáp ứng đợc yêu cầu của bài toán đặt ra. Đây cũng chính là nội dung của các bài từ 3 đến 5. GV: Đọc đề bàibài 3 sau đó gọi học sinh trả lời. GV: Nhận xét và hoàn thiện câu trả lời. GV: Tại sao chúng ta không khai báo kiểu byte. GV: Đọc bài số 4,5 gọi học sinh lên trả lời. GV: Nhận xét các câu trả lời. HS: Hằng là đại lợng có giá trị không thay đổi, còn biến là đại l- ợng có thể thay đổi đợc giá trị trong quá trình thực hiện chơng trình. HS: Khai báo biến để chơng trình dịch biết để lu trữ và xử lý. HS: Bởi vì để tiết kiệm dung lợng bộ nhớ HS: biến đó có thể khai báo các kiểu dữ liệu nh: kiểu integer, kiểu longint, kiểu word. HS: Vì kiểu byte chỉ nhận các giá trị từ 0 255 trong khi đó thì biến lại có giá trị từ 10 25532 HS: 4. Đáp án là b,d 5. Đáp án là c 2 Hoạt động 3: Hớng dẫn giải các bàitập chữa chậm. GV: Đọc và nêu yêu cầu các bài 6,7c,7d sau đó gọi 2 học sinh lên làm. GV: gọi học sinh nhận xét sau đó đa ra nhận xét và hoàn thiện bài làm của học sinh. GV: Vẽ hình bài số 8a sau đó đa ra nhận xét và định hớng: thực ra ở bài toán này yêu cầu chúng ta đi tìm điểm có toạ độ (x,y) nằm trong phần gạch chéo. GV: Gọi học sinh xác định phần giới hạn bởi phần gạch chéo theo toán học. GV: Nhận xét. Và đa biểu thức về dạng sau: y>= -x; y>=x; y<=1 GV: Gọi HS lên chuyển biểu thức dạng toán học về biểu thức trong pascal. GV: nhận xét câu trả lời của học sinh GV: Tơng tự đối với bài 8b ta cũng làm nh vậy. Bài này các em có thể về nhà tự làm. GV: Gọi học sinh lên đọc bài số 9 sau đó yêu cầu học sinh xác định input, output của bài toán. GV: Vẽ hình sau đó yêu cầu HS nhận xét về diện tích phần gạch chéo. GV: Vậy diện tích phần gạch chéo sẽ đợc tính nh nào? HS: Bài 6: (1+z)*(x+y/z)/(a-1/(1+x*x*x)) hoặc (1+z)*(x+y/z)/(a-1/(1+x*sqr(x))) Bài 7c: ca b . Bài 7d: ba b + 2 HS: x+y>=0; x-y<=0; y<=1; HS: y>=abs(x)and(y<=1); HS: Đọc bài và trả lời: Input: a>0; Output: Diện tích phần gạch chéo HS: Diện tích phần gạch chéo bằng 1/2 diện tích hình tròn. HS: S gạch chéo =1/2 2 R 3 GV: Nh vậy khi viết chơng trình ta có phải khai báo biến hay hằng nào không? GV: Vì sao ta phải khai báo một hằng số Pi? GV: Ta thấy bài yêu cầu nhập số a và đa diện tích phần gạch chéo, vậy thì ta cần phải sử dụng các câu lệnh nào đợc học nhỉ? GV: Gọi một học sinh lên viết chơng trình. GV: Gọi học sinh nhận xét bài làm sau đó đa ra nhận xét. GV: Hỏi thêm: Liệu ta không cần sử dụng biến S có đợc không? Nếu không sử dụng biến S thì chơng trình ta cần sửa chỗ nào? GV: Nhận xét và đa ra kết luận: ở trong một số chơng trình khi có một biểu thức nào đó đợc sử dụng đi sử dụng lại nhiều lần thì ta nên sử dụng một biến trung gian để lần sau khi ta muốn dùng biểu thức đó ta chỉ cần lấy biến trung gian đó thay vào. GV: Tơng tự nh bài 9 về nhà các em hãy làm cho thầy bài 10. Ngoài ra các em có thể làm thêm cho thầy một bài sau. Các em hãy ghi bài vào vở: HS: Ta phải khai báo một hằng số Pi, một biến a là bán kính của hình tròn, một biến S để lu giá trị diện tích phần gạch chéo. HS: Bởi vì hằng số Pi có giá trị không thay đổi. HS: Câu lệnh read(), write(). HS: Program hinhtron; Uses crt; Const Pi=3.14; Var S,a: real; Begin Write(nhap ban kinh a (a>0):); Readln(a) ; S:= (Pi*a*a)/2; Writeln(dien tich phan gach cheo la:, S:10:4); Readln; End. HS: Ta bỏ phần tính toán s=Pi*a*a/2. Sau đó ở câu lệnh đa ra màn hình ta sẽ thay S bằng biểu thức (Pi*a*a/2), phần quy cách ra vẫn giữ nguyên. HS: Nghe giảng. HS: Ghi bài. 4 Hãy nhập các toạ độ các đỉnh của tam giác ABC. a. Tính và đa ra diện tích của tam giác theo công thức hê-rông. b. Tính và đa ra màn hình độ dài các đờng cao của tam giác. GV: Hớng dẫn: a. Đa ra công thức hê-rông: ))()(( cpbpappS = Trong đó: a,b,c là ba cạnh của tam giác; 2 cba p ++ = b. Để tính đợc độ dài đờng cao ta lại áp dụng công thức: ahS 2 1 = GV: ở bài này nếu ta không dùng biến trung gian S để lu giá trị diện tích của tam giác thì sẽ mất rất nhiều thời gian vì mỗi khi ta tính đờng cao thì ta lại phải đánh lại công thức tính diện tích và đơng nhiên máy cũng sẽ mất thời gian để tính lại giá trị diện tích tam giác. 4. Củng cố và dặn dò - yêu cầu học sinh về làm những bàitập đã đợc giao về nhà. 5. Rút kinh nghiệm sau bài giảng 5