Giáo án Tin học 8 - Tuần 6-7 - Năm học 2009-2010 - Lê Võ Nhân Du

Giáo án Tin học 8 - Tuần 6-7 - Năm học 2009-2010 - Lê Võ Nhân Du

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 trong chương trình Pascal.

-Biết được kiểu dữ liệu khác nhau thì được xử lí khác nhau.

-Hiểu phép toán div, mod.

-Hiểu thêm về càc lệnh in dl ra 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 của ct trong môi trường Turbo Pascal.

3.Thái độ:

-Thái độ nghiêm túc ,chính xác khi soạn thảo ct.

 

doc 8 trang Người đăng tranhiep1403 Lượt xem 1097Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tuần 6-7 - Năm học 2009-2010 - Lê Võ Nhân Du", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
NS : 01/09/2010
ND : 20/09/2010
Tuaàn 6	 
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 trong chương trình Pascal.
-Biết được kiểu dữ liệu khác nhau thì được xử lí khác nhau.
-Hiểu phép toán div, mod.
-Hiểu thêm về càc lệnh in dl ra 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 của ct trong môi trường Turbo Pascal.
3.Thái độ:
-Thái độ nghiêm túc ,chính xác khi 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 của một số ta chỉ 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 trong Pascal.
Cần đưa ra VD đơn giản để đạt mục tiêu của bài là chuyển từ bt toán học sang bt trong Pascal, tránh đưa ra VD phức tạp mất thời gian.
Khuyến khách học sinh sử dụng việc kết xuất thông tin ra màn hình đối với số thực dưới 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 trong Pascal ? à+ ,- ,* ,/ ,div,mod.
-Viết bt toán học sau sang bt trong Pascal:
	a)15 x 4-30 + 12 à15 * 4 -30 + 12
	b)1/x –a/5 (b+2) à1/x –a/5 *(b+2)
3.Đặt vấn đề: 1phút
Trong bài thực hành hôm nay, một lần nữa sẽ 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 quả 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 trong 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 1
Gv cho HS sửa bài viết các biểu thức toán học sau dưới dạng biểu thức trong Pascal
a) ;	b) ;
b) ;
c) ;
d) .
GV lưu ý HS :Chỉ được 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 1
Cho HS khởi động Turbo Pascal
Lưu ý: các bt Pascal được đặt trong lệnh writeln để in ra kq:
Hiển thị ra màn hình những xâu kí tự nẳm trong cặp dấu nháy đơn và hiển thị kq của bt được đặt ngay sau dấu phẩy =>Rút ra kết luận
-Đặt trong dấu ‘ ‘ thì hiển thị y nguyên.
-Không đặt trong dấu ‘ ‘ thì Pascal sẽ tính toán và hiển thị kq.
=>Dữ liệu khác nhau thì xử lí khác nhau.
-Lưu ý: HS thêm phần khai báo vào đầu ct.
-Hướng dẫn HS lưu chương trình.
HĐ 2:Tìm hiểu div,mod với số nguyên,sử dụng câu lệnh tạm ngừng ct.
a)yêu cầu hs mở tệp mới,soạn thảo,dịch ,chạy ct.
b)
Ycầu HS rút ra nhận xét sự khác nhau giữa phép chia,div,mod ?
c)
Ycầu hs thêm lệnh delay(5000) vào sau mỗi lệnh writeln
Ý nghĩa lệnh delay(5000) ?
Tạm dừng ct 5000/1000giây=5giây
d)
ycầu hs thêm lệnh readln vào ct trước từ khoá end.
ycầu hs nxét kq ?
-Nhấn phím enter để tiếp tục.
HĐ 3:Tìm hiểu thêm về cách in dữ liệu ra màn hình.
Hướng dẫn hs mở tệp chương trình CT2.pas đã lưu ở trên.
Yêu cầu hs soạn thảo dịch,chạy ct,rút ra nxét
-Hướng dẫn sơ bộ cách ghi số thực ra màn hình(dựa vào phần xuất kq ở bài này).
Writeln(----:---:---); biểu diễn giá trị thực:độ rộng để in:số chữ số thập phân.
HĐ 4: Đánh giá
Qua 3 bài trên yêu cầu hs rút ra nhận xét chung ?
-Khác nhau giữa / ,div,mod?
-clrscr?
-delay(),read, readln ?
Yêu cầu hs xem phần tổng kết sau bài.
Học bài,xem trước bài 4.
HS sửa bài
HS làm câu b bài 1
HS khởi động Turbo Pascal, sọan thảo ct như yêu cầu SGK. 
Hs chỉnh sửa ,chạy ct và kiểm tra kq.
HS rút ra sự khác nhau giữa 2 cụm bt có trong lệnh writeln
Writeln(‘.’,.)
HS lưu ct với tên CT2.pas
HS mở tệp soạn thảo như SGK.
Hs dịch ktra lỗi ,chạy ct và xem kq
HS học nhóm và tra lời:
16/3:phép chia cho kq là thương
16div3:phép chia 16 cho 3 lấy phần nguyên là 5
16 mod 3: phép chia 16 cho 3 lấy dư là 1
-HS dịch chạy quan sát kq và cho nhận xét:
Ct tạm dừng sau khi in từng kq ra màn hình
HS thêm lệnh readln vào trước từ khoá end.
HS dịch chạy ct cho kq và nxét
Readln :dừng ct để xem kq và nhấn phím enter để tiếp tục.
HS mở ct CT2.pas như đã hướng dẫn
Sửa 3 lệnh writeln cuối ở CT2.pas thành 3 lệnh như SGK.
Dịch,chạy ct
HS học nhóm và rút ra nhận xét chung
HS ghi bài
Bài 1:
A.Viết Các biểu thức số học dưới dạng biểu thức trong Pascal:
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));
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)
Program CT;
Uses crt;
Begin
Clrscr;
Writeln(‘16/3 =’,16/3);
Writeln(’16 div 3 =’,16 div 3);
Writeln(’16 mod 3 =’,16 mod 3);
Writeln(’16 mod 3 =’,16-(16 div 3)*3);
Writeln(’16 mod 3 =’,(16-(16 mod 3 ))/3);
End.
b) /:phép chia cho kq là thương
div:chia lấy phần nguyên
mod:chia lấy phần dư,
c)
Lệnh delay(5000); chương trình tạm dừng 5 giây sau khi in từng kq ra màn hình
d)
Lệnh readln: dừng chương trình để xem kết quả,nhấn phím enter để tiếp tục. 
BÀI 3:
Cách in dữ liệu ra màn hình:
writeln((10+5)/(3+1)- 8/(5+1):4:2);
NHẬN XÉT:
-Trong Pascal dữ liệu khác nhau thì sẽ được xử lí khác nhau.
-Kí hiệu các phép toán số học trong Pascal là + ,-,* ,/ ,div,mod.
-Lệnh clrscr ; xoá màn hình
-Delay(),readln: tạm ngừng chương trình.
V.TỔNG KẾT CUỐI BÀI:
1.Củng cố:
-Khác nhau giữa / ,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 trong vòng x phần nghìn giây.
+ read hoặc readln t¹m ngõng ch­¬ng tr×nh cho ®Õn khi ng­êi dïng nhÊn phÝm Enter.
- C©u lÖnh Pascal writeln(:n:m) ®­îc dïng ®Ó ®iÒu khiÓn c¸ch in c¸c sè thùc trªn mµn h×nh; trong ®ã 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 4. SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
-Thực hành lại phần hướng dẫn của GV trên lớp.
VI.RÚT KINH NGHIỆM:
NS : 06/09/2010
ND : 27/09/2010
Tuaàn 7
Tieát 13.14
BÀI 4. 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, hằng.
-Hiểu cách khai báo, sử dụng biến hằng.
-Biết vai trò của biến trong 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 được thực hiện trên biến, hằng 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ó đối với HS. GV cần lưu ý nhấn mạnh một số điểm sau: 
-Biến là đại lượng để lưu trữ dữ liệu, trong chương trình có thể thay đổi giá trị của biến. Muốn sử dụng biến thì phải khai báo, khi khai báo biến phải khai báo kiểu dữ liệu. Biến chỉ có thể lưu trữ được dữ liệu có kiểu thuộc kiểu của biến. Người lập trình tự đặt tên cho biến theo quy tắc của ngôn ngữ lập trình đang 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ữ dữ liệu cố định. Không được phép thay đổi giá trị của hằng trong 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 = trong toán học. 
-Sau mỗi 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 một 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 mớ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 = 2 la:’ 3.14*2*2);
	Readln;
	End.
Kết quả in ra màn hình câu gì ?
3.Đặt vấn đề: 1phút
Chúng ta làm quen với một số chương trình Pascal đơn giản. Các chương trình đó chỉ giải quyết các công việc đơn giản là xuất và nhập dữ liệu. Vậy để giải quyết các bài toán phức tạp thì phải cần một công cụ đặc biệt trong chương trình đó là biến. Vậy biến là gì? Sử dụng biến như thế 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
NỘI DUNG
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 à mất thời gian, không khoa học (bán kính có thể thay đổi ,vd r=1,3,5,6,7,.)
S=3.14*2*2 r
Và r này thay đổi tuỳ ý và được 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 quả
=>r là biến
-Khái niệm biến là thế nào? biến dùng để làm gì? Cách khai báo? Biến có vai trò gì trong lập trình?
VD: r=5à5 là giá trị lưu trữ của biến
GV có thể nêu vd khác:
Writeln(15+5); tổng 15+5,ta có thể nói tổng 2 số x,y và x,y được nhập từ bàn phím
àwriteln(x,y);
X,y àlà biến nhớ lưu giá trị được nhập vào.
VD 2:
(100+50)/3 và (100+50)/5
Nxét có 2 tử số giống nhau
X ß 100+50
Y ß x/3
Z ß x/5
HĐ 2:KHAI BÁO BIẾN
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 cả biến dùng trong chương trình cần phải được khai báo ngay trong phần khai báo của 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 dữ liệu của 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 những phần nào?
-Lưu ý: kiểu của biến phải phù hợp với kiểu dữ liệu cần dùng
HĐ 3:SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
Sau khi khai báo ta sử dụng biến trong ct như thế 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 được gán giá trị của biến x/3
-Biến z được gán giá trị của 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ị của biến ta có thể thực hiện được các phép tính toán với đk:
kiểu dữ liệu của biến phải trùng với kiểu dữ liệu của giá trị được gán.
-Khi được gán giá trị mới ,giá trị cũ của biến bị xoá đi khỏi ô nhớ.
=>rút ra kết luận gi ?
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 được sử dụng nhiều lần trong ct,thay vì phải viết 3.14 nhiều lần người lập trình dùng hằng thay thế vào đó,bằng cách dùng khai báo hằng vào việc khai báo ct.
VD:
Const pi=3.14;
 Bankinh=2; 
Hằng cũng là công cụ lưu trữ dl nhưng hằng là đại lượng có thay đổi được không ?
GV giới thiệu
 -Const: từ khoá khai báo hằng
 -pi, bankinh được gán giá trị là 3.14 và 2 trong suốt thời gian thực hiện ct.
-Nếu muốn thay đổi giá trị của hằng ta chỉ cần chỉnh sửa 1 lần tại nơi khai báo mà không phải tìm và sửa trong cả ct.
Cần lưu ý: nếu đã khai báo hằng như ở trên thì những 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
HS biết diện tích hình tròn S=3.14*r2
Hay S=3.14*r*r
HS quan sát xem kết quả
HS biết biến dùng để lưu trữ dữ liệu
Giá trị của biến có thể thay đổi được.
HS theo dõi như vd trên
x,y là biến nhớ
x,y,z là biến nhớ:
X lưu kquả của tổng 100+50
Y lưu kquả x/3
Z lưu kquả x/5.
HS thấy var r;integer; ở vd trên
HS quan sát vd
m,n:biến có kiểu số nguyên
s,dientich: kiểu số thực
thong_bao: kiểu xâu kí tự
phần tên biến và phần kiểu dữ liệu
HS xem lại vd trên.
HS lắng nghe
X:=100+50
X:=12,gán giá trị 12 cho biến nhớ x.
HS lắng nghe
Giá trị biến có thể thay đổi.
HS quan sát
Hs biết được sự khác nhau giữa x=2; và x:=2;
Hs lắng nghe
Hs quan sát vd
Hằng là đại lượng không thay đổi giữ nguyên trong suốt quá trình thực hiện ct.
HS ghi bài
HS học nhóm để làm các bài tập vào vở
1.BIẾN LÀ CÔNG CỤ TRONG LẬP TRÌNH:
Biến nhớ(biến) dùng để lưu trữ dữ liệu. Dữ liệu được biến lưu trữ gọi là giá trị của biến.
Giá trị của biến có thể thay đổi trong khi thực hiện chương trình.
2. KHAI BÁO BIẾN
Vd:
Var m,n : integer;
 S,dientich: real;
 Thong_bao: string;
Trong đó:
-Var: từ kháo dùng để khai báo
-m,n: là các biến có kiểu số 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.
 -Khai báo kiểu dữ liệu của biến
3.SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH:
Sử dụng biến trong chương trình như thế nào:
 -Gán giá trị cho biến.
 -Tính toán với giá trị của biến.
Câu lệnh gán cho biến có dạng:
Tên biến ßbiểu thức cần 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:
X:=2;
X:=Y;
X:=X+1;
4.HẰNG:
-Hằng dùng để lưu trữ dữ liệu,giá trị của hằng không thay đổi được giữ nguyên trong suốt quá trình thực hiện chương trình.
-Hằng phải được khai báo trước khi sử dụng
VD:
Const pi=3.14;
 Bankinh=2;
Trong đó
 -const:là từ khoá để khai báo hằng.
 -pi, bankinh: tên hằng được gán giá trị tương ứng là 3.14 và 2.
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
2. 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ì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ì hằng phải được cho giá trị khai báo
 d)S vì không được gán giá trị khi 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 chỉ thực hiện 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 3 : Khai báo và sử dụng biến
VI.RÚT KINH NGHIỆM:

Tài liệu đính kèm:

  • docTin 8 tuan 6.7.doc