Khác nhau: giá trị biến thay đổi được,giá trị hằng không thay đổi được 3.Không.Vì giá trị hằng không thay đổi được giữ nguyên suốt quá trình thực hiện chương trìnhsử dụng lệnh gán lại pi[r]
(1)Giaùo aùn tin hoïc Lê Võ Nhàn Du NS : 01/09/2010 ND : 20/09/2010 Tuaàn Tieát 11.12 BÀI THỰC HÀNH 2: VIẾT CHƯƠNG TRÌNH ĐỂ TÍNH TOÁN I.MỤC TIÊU: 1.Kiến thức: -Thực hành với các bài tập số học chương trình Pascal -Biết kiểu liệu khác thì xử lí khác -Hiểu phép toán div, mod -Hiểu thêm càc lệnh in dl màn hình và tạm ngừng chương trình 2.Kỹ năng: -Luyện tập soạn thảo chỉnh sửa ct,biên dịch,chạy và xem kq noạt động ct môi trường Turbo Pascal 3.Thái độ: -Thái độ nghiêm túc ,chính xác soạn thảo ct II.PHƯƠNG PHÁP CHỦ ĐẠO: 1.Phương pháp dạy học: -Phương pháp hoạt động nhóm -Phương pháp vấn đáp -Phương pháp trực quan 2.Lưu ý sư phạm: Chỉ cần tập trung các phép toán đơn giản +, -, *, / Để biẻu diễn bình phương số ta cần dùng phép nhân số đó với chính nó.VD:32=3*3 Kí hiệu * , / tương ứng với phép nhân ,chia Pascal Cần đưa VD đơn giản để đạt mục tiêu bài là chuyển từ bt toán học sang bt Pascal, tránh đưa VD phức tạp thời gian Khuyến khách học sinh sử dụng việc kết xuất thông tin màn hình số thực dạng :n:m để dễ đọc III.CHUẨN BỊ : - Kiểm tra phần mềm Trubo Pascal trên máy tính , đèn chiếu - HS học lý thuyết bài trước,xem trước các chương trình có sẳn bài thực hành IV.TIẾN TRÌNH DẠY HỌC 1.Ổn định lớp: 2phút -Kiểm tra sĩ số lớp -Ổn định trật tự 2.Kiểm tra bài cũ: 7-9 phút -Viết kí hiệu các phép toán số học Pascal ? + ,- ,* ,/ ,div,mod -Viết bt toán học sau sang bt Pascal: a)15 x 4-30 + 12 15 * -30 + 12 b)1/x –a/5 (b+2) 1/x –a/5 *(b+2) 3.Đặt vấn đề: 1phút Trang 32 Lop8.net (2) Giaùo aùn tin hoïc Lê Võ Nhàn Du Trong bài thực hành hôm nay, lần giúp chúng ta củng cố thêm phần soạn thảo, chỉnh sửa chương trình, biên dịch, chạy và xem kết chương trình Đặc biệt là vận dụng kiến thức để chuyển các biểu thức số học thành biểu thức Pascal 4.Các hoạt động: 70 phút HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG HĐ 1: Bài tập Bài 1: Gv cho HS sửa bài viết các HS sửa bài A.Viết Các biểu thức số biểu thức toán học sau học dạng biểu thức dạng biểu thức Pascal Pascal: 10 18 a) 15 30 12 ; b) ; 1 b) 10 18 ; 1 1 c) (10 2) ; (3 1) 1 a) 15*4-30+12 b) 10+5)/(3+1)-18/(5+1)) c) (10+2)*(10+2)/(3+1)) d) 10+2)*(10+2)-24)/(3+1)); (10 2) 24 d) (3 1) GV lưu ý HS :Chỉ dùng cặp dấu ngoặc đơn để nhóm các phép toán Cho HS làm câu b bài HS làm câu b bài Cho HS khởi động Turbo HS khởi động Turbo Pascal Pascal, sọan thảo ct yêu cầu SGK Lưu ý: các bt Pascal đặt lệnh writeln để in kq: Hs chỉnh sửa ,chạy ct Hiển thị màn hình và kiểm tra kq xâu kí tự nẳm cặp dấu nháy đơn và hiển thị kq bt đặt sau dấu phẩy =>Rút kết luận HS rút khác -Đặt dấu ‘ ‘ thì hiển thị y cụm bt có nguyên lệnh writeln -Không đặt dấu ‘ ‘ thì Writeln(‘….’,….) Pascal tính toán và hiển thị kq =>Dữ liệu khác thì xử lí khác -Lưu ý: HS thêm phần khai báo vào đầu ct HS lưu ct với tên -Hướng dẫn HS lưu chương CT2.pas trình HĐ 2:Tìm hiểu div,mod với HS mở tệp soạn thảo số nguyên,sử dụng câu lệnh SGK tạm ngừng ct B Program CT2; Uses crt; Begin Clrscr; Writeln(‘15*4-30+12=’, 15*4-30+12); Writeln(‘(10+5)/(3+1)18/(5+1)=’, (10+5)/(3+1)-18/(5+1)); Writeln(‘(10+2)*(10+2) /(3+1)=’, (10+2)*(10+2)/(3+1)); Writeln(‘((10+2)*(10+2 )-24)/(3+1)=’, ((10+2)*(10+2)24)/(3+1)); Readln; End BÀI 2: a) Trang 33 Lop8.net (3) Giaùo aùn tin hoïc Lê Võ Nhàn Du a)yêu cầu hs mở tệp mới,soạn Hs dịch ktra lỗi ,chạy Program CT; Uses crt; thảo,dịch ,chạy ct ct và xem kq Begin Clrscr; Writeln(‘16/3 =’,16/3); Writeln(’16 div =’,16 div 3); Writeln(’16 mod =’,16 mod 3); Writeln(’16 mod =’,16-(16 div 3)*3); Writeln(’16 mod b) =’,(16-(16 mod ))/3); Ycầu HS rút nhận xét HS học nhóm và tra End b) /:phép chia cho kq là khác phép lời: 16/3:phép chia cho kq thương chia,div,mod ? là thương div:chia lấy phần nguyên c) 16div3:phép chia 16 mod:chia lấy phần dư, Ycầu hs thêm lệnh delay(5000) cho lấy phần nguyên c) Lệnh delay(5000); vào sau lệnh writeln là 16 mod 3: phép chia 16 chương trình tạm dừng Ý nghĩa lệnh delay(5000) ? giây sau in kq cho lấy dư là Tạm dừng ct -HS dịch chạy quan sát màn hình 5000/1000giây=5giây kq và cho nhận xét: Ct tạm dừng sau in d) d) kq màn hình ycầu hs thêm lệnh readln vào ct Lệnh readln: dừng HS thêm lệnh readln chương trình để xem kết trước từ khoá end ycầu hs nxét kq ? vào trước từ khoá end quả,nhấn phím enter để HS dịch chạy ct cho kq tiếp tục -Nhấn phím enter để tiếp tục và nxét Readln :dừng ct để xem kq và nhấn phím HĐ 3:Tìm hiểu thêm cách enter để tiếp tục BÀI 3: in liệu màn hình Hướng dẫn hs mở tệp chương HS mở ct CT2.pas Cách in liệu màn trình CT2.pas đã lưu trên đã hướng dẫn hình: Yêu cầu hs soạn thảo dịch,chạy Sửa lệnh writeln cuối ct,rút nxét CT2.pas thành lệnh writeln((10+5)/(3+1)-Hướng dẫn sơ cách ghi số SGK 8/(5+1):4:2); thực màn hình(dựa vào phần Dịch,chạy ct xuất kq bài này) Writeln( : -: -); biểu diễn HS học nhóm và rút giá trị thực:độ rộng để in:số nhận xét chung chữ số thập phân Trang 34 Lop8.net (4) Giaùo aùn tin hoïc Lê Võ Nhàn Du HĐ 4: Đánh giá Qua bài trên yêu cầu hs rút HS ghi bài nhận xét chung ? -Khác / ,div,mod? -clrscr? -delay(),read, readln ? NHẬN XÉT: -Trong Pascal liệu khác thì xử lí khác -Kí hiệu các phép toán số học Pascal là + ,-,* ,/ ,div,mod -Lệnh clrscr ; xoá màn hình -Delay(),readln: tạm ngừng chương trình Yêu cầu hs xem phần tổng kết sau bài Học bài,xem trước bài V.TỔNG KẾT CUỐI BÀI: 1.Củng cố: -Khác / ,div,mod? -clrscr? -delay(),read, readln ? - Các lệnh làm tạm ngừng chương trình: + delay(x) tạm ngừng vòng x phần nghìn giây + read readln tạm ngừng chương trình người dùng nhấn phím Enter - Câu lệnh Pascal writeln(<giá trị thực>:n:m) dùng để điều khiển cách in các số thực trên màn hình; đó giá trị thực là số hay biểu thức số thực và n, m là các số tự nhiên n quy định độ rộng in số, còn m là số chữ số thập phân 2.Dặn dò: -Học bài, xem trước bài mới: BÀI SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH -Thực hành lại phần hướng dẫn GV trên lớp VI.RÚT KINH NGHIỆM: Trang 35 Lop8.net (5) Giaùo aùn tin hoïc Lê Võ Nhàn Du NS : 06/09/2010 ND : 27/09/2010 Tuaàn Tieát 13.14 BÀI SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH I.MỤC TIÊU: 1.Kiến thức: -Biết khái niệm biến, -Hiểu cách khai báo, sử dụng biến -Biết vai trò biến lập trình -Hiểu lệnh gán 2.Kỹ năng: -Biết áp dụng câu lệnh gán và các lệnh tính toán thực trên biến, vào bài tập đơn giản 3.Thái độ: -Cẩn thận chính xác, yêu thích môn học II.PHƯƠNG PHÁP CHỦ ĐẠO: 1.Phương pháp dạy học: -Phương pháp thảo luận nhóm -Phương pháp vấn đáp -Phương pháp trực quan -Phương pháp vấn đáp 2.Lưu ý sư phạm: Đây là bài tương đối khó HS GV cần lưu ý nhấn mạnh số điểm sau: -Biến là đại lượng để lưu trữ liệu, chương trình có thể thay đổi giá trị biến Muốn sử dụng biến thì phải khai báo, khai báo biến phải khai báo kiểu liệu Biến có thể lưu trữ liệu có kiểu thuộc kiểu biến Người lập trình tự đặt tên cho biến theo quy tắc ngôn ngữ lập trình sử dụng Có thể gán giá trị cho biến và tính toán với biến -Hằng có khai báo là đại lượng để lưu trữ liệu cố định Không phép thay đổi giá trị chương trình -Nên lấy ví dụ đơn giản để học sinh luyện tập việc đặt tên khai báo và sử dụng bằng, biến -Giải thích kỹ câu lệnh gán HS thường hay hiểu lệnh gán là dấu = toán học -Sau phần nên cho học sinh nhắc lại các khái niệm, các quy tắc để củng cố kiến thức III.CHUẨN BỊ : - GV: Chuẩn bị sẳn số chương trình có sử dụng biến để có thể minh hoạ cho hs dễ hiểu - HS: học bài, xem trước bài IV.TIẾN TRÌNH DẠY HỌC 1.Ổn định lớp: 2phút -Kiểm tra sĩ số lớp -Ổn định trật tự 2.Kiểm tra bài cũ: 7-9 phút -Viết chương trình tính diện tích hình tròn có bán kính r = 2(S=3.14*r2) ? Begin Write(‘dien tich hinh tron co ban kinh r = la:’ 3.14*2*2); Readln; Trang 36 Lop8.net (6) Giaùo aùn tin hoïc Lê Võ Nhàn Du End Kết in màn hình câu gì ? 3.Đặt vấn đề: 1phút Chúng ta làm quen với số chương trình Pascal đơn giản Các chương trình đó giải các công việc đơn giản là xuất và nhập liệu Vậy để giải các bài toán phức tạp thì phải cần công cụ đặc biệt chương trình đó là biến Vậy biến là gì? Sử dụng biến nào? Chúng ta cùng tìm hiểu bài 4.Các hoạt động: 70 phút HOẠT ĐỘNG GV HOẠT ĐỘNG HS HĐ 1: Với vd trên, muốn tìm diện tích hình tròn khác thì phải vào ct sửa lại thời gian, không khoa học (bán kính có thể thay đổi ,vd HS biết diện tích hình tròn r=1,3,5,6,7,…….) S=3.14*r2 S=3.14*2*2 Hay S=3.14*r*r r Và r này thay đổi tuỳ ý và nhập từ bàn phím VD1:ctrình sau: Var r:integer; begin wtite(‘nhap ban kinh hinh tron r=:’); readln(r); write(‘dien tich hinh tron la:’ 3.14*r*r); readln; end GV chạy chương trình này, HS quan sát và xem kết =>r là biến -Khái niệm biến là nào? biến dùng để làm gì? Cách khai báo? Biến có vai trò gì lập trình? NỘI DUNG HS quan sát xem kết 1.BIẾN LÀ CÔNG CỤ TRONG LẬP TRÌNH: HS biết biến dùng để lưu Biến nhớ(biến) dùng để lưu trữ liệu trữ liệu Dữ liệu Giá trị biến có thể thay biến lưu trữ gọi là giá trị đổi biến VD: r=55 là giá trị lưu trữ Giá trị biến có thể thay biến đổi thực GV có thể nêu vd khác: chương trình Writeln(15+5); tổng 15+5,ta có thể HS theo dõi vd trên nói tổng số x,y và x,y nhập x,y là biến nhớ từ bàn phím writeln(x,y); X,y là biến nhớ lưu giá trị nhập vào VD 2: (100+50)/3 và (100+50)/5 x,y,z là biến nhớ: Nxét có tử số giống X lưu kquả tổng X 100+50 100+50 Y x/3 Y lưu kquả x/3 Z x/5 Z lưu kquả x/5 KHAI BÁO BIẾN HĐ 2:KHAI BÁO BIẾN Trang 37 Lop8.net (7) Giaùo aùn tin hoïc Gv biến là công cụ hổ trợ lập trình Var r: integer; Là lệnh khai báo biến nhớ -Tất biến dùng chương trình cần phải khai báo phần khai báo ct GV đưa vd: đoạn chương trình khai báo biến Var m,n : integer; S,dientich: real; Thong_bao: string; Trong đó: -m,n,s,dientich,thong_bao:khai báo tên biến -integer,real,string:khai báo kiểu liệu biến -m,n là biến có kiểu gì ? -s,dientich là biến có kiểu gì ? -thong_bao là biến có kiểu gì ? GV giới thiệu cách đặt tên biến -Khai báo biến gồm phần nào? -Lưu ý: kiểu biến phải phù hợp với kiểu liệu cần dùng HĐ 3:SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH Sau khai báo ta sử dụng biến ct nào ? Trở lại vd trên: X 100+50 Y x/3 Z x/5 -Biến x nhân giá trị 100+50 -Biến y gán giá trị biến x/3 -Biến z gán giá trị biến x/5 Trong ngôn ngữ Pascal ta dùng dấu := để biểu thị phép gán =>x 100+50 ta có thể viết X:= 100+50 -Ở vd khác x:=12, nghĩa là gán giá trị 12 cho biến nhớ x GV lưu ý:như vd trên ta có thể thấy với giá trị biến ta có thể thực các phép tính toán với đk: kiểu liệu biến phải trùng với kiểu liệu giá trị gán -Khi gán giá trị ,giá trị cũ biến bị xoá khỏi ô nhớ =>rút kết luận gi ? Lê Võ Nhàn Du HS thấy var r;integer; vd trên Vd: Var m,n : integer; HS quan sát vd S,dientich: real; Thong_bao: string; Trong đó: -Var: từ kháo dùng để khai m,n:biến có kiểu số nguyên báo s,dientich: kiểu số thực -m,n: là các biến có kiểu số thong_bao: kiểu xâu kí tự nguyên -s,dientich: là các biến có kiểu số thực -thong_bao: biến có kiểu xâu *Khai báo biến gồm -Khai báo tên biến phần tên biến và phần kiểu -Khai báo kiểu liệu liệu biến HS xem lại vd trên 3.SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH: HS lắng nghe X:=100+50 X:=12,gán giá trị 12 cho biến nhớ x Sử dụng biến chương trình nào: -Gán giá trị cho biến HS lắng nghe -Tính toán với giá trị biến Câu lệnh gán cho biến có dạng: Tên biến biểu thức cần Giá trị biến có thể thay đổi gán giá trị cho biến Lưu ý: Trong Pascal ta dùng phép gán là dấu := Dấu = biểu diễn phép so sánh VD: HS quan sát Hs biết khác X:=2; X:=Y; Trang 38 Lop8.net (8) Giaùo aùn tin hoïc GV cho hs quan sát bảng vd 4: Cho hs phân biệt x=2; và x:=2; HĐ 4: Trở lại vd: S=3.14*r*r ,số 3.14 sử dụng nhiều lần ct,thay vì phải viết 3.14 nhiều lần người lập trình dùng thay vào đó,bằng cách dùng khai báo vào việc khai báo ct VD: Const pi=3.14; Bankinh=2; Hằng là công cụ lưu trữ dl là đại lượng có thay đổi không ? GV giới thiệu -Const: từ khoá khai báo -pi, bankinh gán giá trị là 3.14 và suốt thời gian thực ct -Nếu muốn thay đổi giá trị ta cần chỉnh sửa lần nơi khai báo mà không phải tìm và sửa ct Cần lưu ý: đã khai báo trên thì câu lệnh pi:=3.14; bankinh:=bankinh+2; Là không hợp lệ Lưu ý :const pi=3.14 Const pi:=3.14 SAI Lê Võ Nhàn Du x=2; và x:=2; Hs lắng nghe Hs quan sát vd X:=X+1; 4.HẰNG: Hằng là đại lượng không thay đổi giữ nguyên suốt quá trình thực ct HS ghi bài -Hằng dùng để lưu trữ liệu,giá trị không thay đổi giữ nguyên suốt quá trình thực chương trình -Hằng phải khai báo HS học nhóm để làm các trước sử dụng VD: bài tập vào Const pi=3.14; Bankinh=2; Trong đó -const:là từ khoá để khai báo -pi, bankinh: tên gán giá trị tương ứng là 3.14 và V.TỔNG KẾT CUỐI BÀI: 1.Củng cố: GV hướng dẩn hs làm việc nhóm 1.A:real ,X:string a) Đ c) Đ b)S d)S Khác nhau: giá trị biến thay đổi được,giá trị không thay đổi 3.Không.Vì giá trị không thay đổi giữ nguyên suốt quá trình thực chương trình(sử dụng lệnh gán lại pi nghĩa là thay đổi pi) 4.a) Đ b)S vì tên biến không hợp lệ c)S vì phải cho giá trị khai báo d)S vì không gán giá trị khai báo 5.dòng 1:dư dấu = Dòng 2:dư dấu : Dòng 4:thiếu dấu ; Dòng 5:khai báo biến b không phù hợp(vì a/c:real mà trên đã khai báo kiểu integer) 6.a)s=a*h/2 s là số thực A,b:integer S:real b)div,mod thực trên số nguyên a,b,c,d:integer 2.Dặn dò: -Học bài, xem trước bài mới: Bài thực hành : Khai báo và sử dụng biến VI.RÚT KINH NGHIỆM: Trang 39 Lop8.net (9)