Giáo án Tin học Lớp 8 - Tuần 17 - Năm học 2018-2019 - Trường THCS Ngô Quang Nhã
I. Mục tiêu:
1. Kiến thức:
- Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.
- Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thỏa mản.
2. Kỹ năng:
- Biết sử dụng đúng và có hiệu quả câu lệnh và biết được chương trình
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. Chuần bị:
¶ Thầy: Giáo án, SGK, phòng máy.
¶ Trò: sách, xem trước bài học.
III. Các bước lên lớp:
1. Ổn định lớp (1’)
2. Kiểm tra bài cũ: Không kiểm tra
Bạn đang xem tài liệu "Giáo án Tin học Lớp 8 - Tuần 17 - Năm học 2018-2019 - Trường THCS Ngô Quang Nhã", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Giáo án Tin học Lớp 8 - Tuần 17 - Năm học 2018-2019 - Trường THCS Ngô Quang Nhã
Tuần 17 Ngày soạn: 19/11/2018
Tiết 33
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (Tiết 2)
I. Mục tiêu:
1. Kiến thức:
- Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.
- Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thỏa mản.
2. Kỹ năng:
- Biết sử dụng đúng và có hiệu quả câu lệnh và biết được chương trình
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. Chuần bị:
¶ Thầy: Giáo án, SGK, phòng máy.
¶ Trò: sách, xem trước bài học.
III. Các bước lên lớp:
1. Ổn định lớp (1’)
2. Kiểm tra bài cũ: Không kiểm tra
3. Nội dung bài mới:
HOẠT ĐỘNG CỦA THẦY
HOẠT ĐỘNG CỦA TRÒ
NỘI DUNG CƠ BẢN
ÄHoạt động 1: Tổ chức thực hành (21’)
- Giáo viên: Yêu cầu HS nghiên cứu ví dụ 2 thông tin SGK.
- GV: Chúng ta biết rằng, nếu N càng lớn thì 1/N càng nhỏ. Vậy người ta hỏi với giá trị nào của N thì 1/N <0.003 hoặc 1/N<0.001.
+ Yêu cầu ở đây đưa ra là gì? HSTB.
- GV: Chiếu sơ đồ của câu lệnh rồi yêu cầu HS vẽ.
- GV: Chiếu nội dung ví dụ 4 (SGK)
+ Em có nhận xét gì về các số hạng trong tổng T? HSTB.
- Yêu cầu 2 học sinh lên bảng biết chương trình bằng 2 dạng for ... và while ... do
- GV: Yêu cầu học sinh nhận xét, chuẩn kiến thức
+ Học sinh nghiên cứa
- HS: trả lời
Tìm giá trị N thỏa mản điều kiện trên
- HS quan sát và vẽ vào vở
Học sinh chú ý quan sát
- HS: Có dạng 1/i (i lần lượt là các số tự nhiên 1,2,3cho đến n)
- 2 HS lên bảng
+ Học sinh nhận xét và nghi nhận
2. Ví dụ về lặp với số lần chưa biết trước
* Ví dụ 2:
Viết chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước (với giá trị nào của n thì 1/n <0.005 hoặc 1/n <0.003)
Program tinhn;
Uses crt;
Var x : real;
N : integer;
Const saiso = 0.003;
Begin
x := 1; N := 1;
While x >= saiso do
Begin
N := N + 1; x := 1/N;
End;
Writeln ('so n nho nhat de 1/n <' ,saiso,'la', N);
Readln;
End.
* Ví dụ 4: Viết chương trình tính tổng
T = 1+1/2 + 1/3 +...+1/100 (Sử dụng vòng lặp for..do và while..do)
Cách 1: Sử dụng vòng lặp for ...do
Var T : real; i : byte;
Begin
T := 0;
For i := 1 to 100 do
T := T + 1/i;
Writeln (T);
Readln; end.
Cách 2: Sử dụng vòng lặp while..do
Var T : real; i : byte;
Begin
T := 0; i:=1;
While i <= 100 do
Begin T := T + 1/i; i := i + 1; end;
Writeln (T); readln; End.
ÄHoạt động 2: Lặp vô hạn lần - Lỗi lập trình cần tránh (16’)
- GV: Chiếu chương trình SGK
var a: integer;
Begin
a:=5;
While a<6 do writeln(‘A’);
End;
- GV: Chỉ rõ điều kiện và câu lệnh trong câu lệnh while do trên?
+ GV: Câu lệnh writeln(‘A’); được thực hiện khi điều kiện nào thỏa mãn? Và khi nào câu lệnh writeln(‘A’); không thực hiện?
- GV: Trong VD chương trình trên có khi nào a = 7 không?
- GV: Như vậy Điều kiện a < 6 luôn đúng (do a = 5) cho nên câu lệnh writeln(‘A’); luôn được thực hiện.(hay nói cách khác câu lệnh writeln(‘A’); lặp vô hạn lần)
+ GV: Vậy thế nào là lỗi lặp vô hạn?
* HS: Trả lời
Lặp vô hạn là lỗi mà khi điều kiện trong câu lệnh while do luôn nhận giá trị đúng, và câu lệnh sau từ khóa Do luôn được thực hiện
- GV: Chốt lại
- GV: Chạy chương trình trên máy tính, hướng dẫn học sinh khắc phục lỗi lặp vô hạn
+ HS: Quan sát
- HS: ĐK: a < 6
- CL: writeln(‘A’);
- HS: khi điều kiện a < 6 đúng thì câu lệnh writeln(‘A’); được thực hiện, khi a =7 thì câu lệnh writeln(‘A’); không thực hiện
- HS: không
- HS: Trả lời
Lặp vô hạn là lỗi mà khi điều kiện trong câu lệnh while do luôn nhận giá trị đúng, và câu lệnh sau từ khóa do luôn được thực hiện
+ Học sinh chú ý lắng nghe
2. Lặp vô hạn lần - Lỗi lập trình cần tránh:
- Cách mô tả các hoạt động trong thuật toán như các ví dụ được gọi là cấu trúc lặp
- Mọi ngôn ngữ lập trình đều có cách để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh đó là “câu lệnh lặp”
4. Củng cố (6 phút)
- Giáo viên khái quát lại những kiến thức cơ bản của bài học.
- Chữa bài tập 3, 4 sgk
5. Hướng dẫn HS tự học, làm bài tập và soạn bài ở nhà (1’):
- Yêu cầu HS về nhà ôn lại các bài đã học chuẩn bị Ôn tập học kì ở tiết sau.
VI. Rút kinh nghiệm:
Tuần 17 Ngày soạn: 19/11/2018
Tiết 34
ÔN TẬP HỌC KÌ I (tiết 1)
I. Mục tiêu:
1. Kiến thức:
- Học sinh ôn lại các kiến thức cơ bản về ngôn ngữ lập trình, cấu trúc của chương trình, câu lệnh điều kiện và câu lệnh lặp.
2. Kỹ năng:
- Thành thạo thao tác chuyển các phép toán sang phép toán dùng trong pascal và nhận biết được cấu trúc của câu lệnh.
3. Thái độ:
- Rèn phong cách làm việc khoa học.
II. Chuần bị:
¶ Thầy: Giáo án, SGK, phồng máy.
¶ Trò: sách, xem trước bài học.
III. Các bước lên lớp:
1. Ổn định lớp (1’)
2. Kiểm tra bài cũ: Không kiểm tra bài cũ
3. Nội dung bài mới:
HOẠT ĐỘNG CỦA THẦY
HOẠT ĐỘNG CỦA TRÒ
NỘI DUNG CƠ BẢN
ÄHoạt động 1: Ôn tập kiến thức lí thuyết (20’)
- Giáo viên đặt câu hỏi:
1. Ngôn ngữ lập trình gồm những yếu tố nào?
- GV: gọi hs trả lời
- GV: nhận xét, kl
2. Chương trình máy tính là gì?
- GV: Gọi hs đọc câu hỏi
3. Cấu trúc của một chương trình pascal gồm mấy phần
4. Để chạy chương trình ta nhấn tổ hợp phím nào?
5. Nêu các kiểu dữ liệu đã học
6. Để chia lấy phần dư và chia lấy phần nguyên ta dùng phép toán nào?
7. Quá trình giải bài toán trên máy tính gồm mấy bước?
- HS: đọc câu hỏi trả lời
- GV: nhận xét
8. Cấu trúc rẽ nhánh có mấy dạng? Nêu các dạng?
- GV: Yêu cầu hs lần lượt trả lời câu hỏi.
- Giáo viên nhận xét và chuẩn xác.
- Học sinh đọc và trả lời.
+ Gồm tập hợp các kí hiệu bảng chữ cái và các quy tắc viết
+ Chương trình máy tính là dãy các lệnh mà máy tính có thể hiểu và thực hiện được
+ Cấu trúc của một chương trình Pascal gồm 2 phần:
- Phần khai báo
- Phần thân
+ Để chạy chương trình ta nhấn tổ hợp phím Ctrl + F9
+ Để chia lấy phần dư ta dùng phép Mod
- Để chia lấy phần nguyên ta dùng phép Div
+ Quá trình giải bài toán trên máy tính gồm 3 bước:
B1: Xác định bài toán: Là xác định thông tin vào và thông tin ra (Input – Output)
B2: Mô tả thuật toán: Là tìm lựa chọn thuật toán và mo tả nó bằng phương pháp thông thường
B3: Viết chương trình là diễn đạt thuật toán bằng ngôn ngữ lập trình
+ Cấu trúc rẽ nhánh có 2 dạng
+ Cấu trúc rẽ nhánh dạng thiếu
Câu lệnh điều kiện dạng thiếu có dạng:
If then ;
+ Cấu trúc rẽ nhánh dạng đủ
Câu lệnh điều kiện dạng đủ có dạng:
If then else ;
- HS nghi nhận
I/ Kiến thức lí thuyết
1. Ngôn ngữ lập trình gồm tập hợp các kí hiệu bảng chữ cái và các quy tắc viết
2. Chương trình máy tính là dãy các lệnh mà máy tính có thể hiểu và thực hiện được
3. Cấu trúc của một chương trình Pascal gồm 2 phần:
- Phần khai báo
- Phần thân
4. Để chạy chương trình ta nhấn tổ hợp phím Ctrl + F9
6. Để chia lấy phần dư ta dùng phép Mod
- Để chia lấy phần nguyên ta dùng phép Div
7. Quá trình giải bài toán trên máy tính gồm 3 bước:
B1: Xác định bài toán: Là xác định thông tin vào và thông tin ra (Input – Output)
B2: Mô tả thuật toán: Là tìm lựa chọn thuật toán và mo tả nó bằng phương pháp thông thường
B3: Viết chương trình là diễn đạt thuật toán bằng ngôn ngữ lập trình
8. Cấu trúc rẽ nhánh có 2 dạng
+ Cấu trúc rẽ nhánh dạng thiếu
Câu lệnh điều kiện dạng thiếu có dạng:
If then ;
+ Cấu trúc rẽ nhánh dạng đủ
Câu lệnh điều kiện dạng đủ có dạng:
If then else ;
ÄHoạt động 2: Bài tập (20’)
- GV: Nêu bài tập 1 và chiếu trên bảng.
- Yêu cầu hs hoạt động cá nhân rồi gọi 2 HS lên bảng làm
- Yêu cầu HS nhận xét, chuẩn xác.
- GV: Nêu bài tập 2 và chiếu trên bảng.
a. (a+b)*(a+b)-x/y
b. b/(a*a+c)
c. a*a/((2*b+c)*(2*b+c))
d.1+1/2+1/(2*3)+1/(3*4)
- Yêu cầu hs hoạt động cá nhân rồi gọi 4 HS lên bảng làm
- Yêu cầu HS nhận xét, chuẩn xác.
- GV: Nêu bài tập 3 và chiếu trên bảng.
- Yêu cầu hs hoạt động cá nhân rồi gọi 1 HS lên bảng làm
- Yêu cầu HS nhận xét, chuẩn xác.
- Học sinh quan sát
và đọc bài
- 2 HS lên bảng làm
- Học sinh nghi nhận
- Học sinh quan sat
- Học sinh hoạt động cá nhân
- Học sinh nghi nhận
- Học sinh quan sat
- Học sinh hoạt động cá nhân
- Học sinh nghi nhận
Bài 1: Viết các biểu thức dưới đây bằng kí hiệu trong pascal
a.
b. a.x + b + c
c.
d. (a + b)( 2 + c)2
Giải
a. a/b+c/d
b. a*x^2+b+c
c. 1/x-a/5*(b+2)
d. (a^2+b)*(2+c)^2
Bài 2: Hãy chuyển các biểu thức được viết trong pascal sau đây thành biểu thức toán
a. (a+b)*(a+b)-x/y
= (a + b)(a + b) -
b. b/(a*a+c) =
c. a*a/((2*b+c)*(2*b+c)) =
d. 1+1/2+1/(2*3)+1/(3*4)
+1(4*5) = 1 + + +
Bài 3: Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu?\
j : = 0 ;
for i : = 1 to 4 do j : = j + 2;
Giải
- Số vòng lặp là 4 - 1 + 1 = 4
+ Vòng 1: j = 0; i = 1j : = j + 2 = 0 + 2 = 2
+ Vòng 2: j = 2; i = 2 j : = j + 2 = 2 + 2 = 4
+ Vòng 3: j = 4; i = 3<=4
=> j : = j + 2 = 4 + 2 = 6
+ Vòng 4: j = 6; i = 4<=4
=> j : = j + 2 = 6 + 2 = 8
Vậy giá trị của j = 8
4. Củng cố: (3’)
- Hướng dẫn học sinh thực hiện bài tập trong sgk.
5. Hướng dẫn HS tự học, làm bài tập và soạn bài mới ở nhà: (1’)
- Chuẩn bị bài tiết sau ôn tập tiếp
IV. RÚT KINH NGHIỆM
Trình ký
File đính kèm:
giao_an_tin_hoc_lop_8_tuan_17_nam_hoc_2018_2019_truong_thcs.docx

