Bài mới Hoạt động của gv Hoạt động của hs Nội dung ghi bảng Hoạt động 1: viết chương trình sử dụng lệnh lặp 25 phút GV yều cầu HS đọc đề bài 2 HS đọc đề bài 1.. Tìm hiểu chương trình GV [r]
Trang 1Tuần: 25 Ngày soạn: 28/01/2018
Bài thực hành 6
SỬ DỤNG CÂU LỆNH LẶP WHILE….DO (tt)
I MỤC TIÊU
1 Kiến thức
- Hiểu được câu lệnh lặp while …do trong chương trình Turbo Pascal.
2 Kĩ năng
- Rèn được kỹ năng về khai báo và sử dụng biến
- Khả năng đọc chương trình
- Biết vai trò của việc kết hợp các cấu trúc điều khiển
3 Thái độ
- Ham thích môn học, tác phong làm việc nghiêm túc
- Nâng cao ý thức và lòng say mê học tập các môn học
II CHUẨN BỊ
.Giáo viên
- Giáo án, sách giáo khoa, phấn, bảng phụ, máy tính, máy chiếu
2 Học sinh
- Sách giáo khoa, vở ghi, bút thước…
III.CÁC HOẠT ĐỘNG DẠY – HỌC:
1 Ổn định lớp (1 phút)
Sĩ số của các lớp:
8A1………
8A2………
2 Kiểm tra 15 phút
Câu 1:
Em hãy lấy một số ví dụ về hoạt động lặp với số lần chưa biết trước?
Câu 2:
Em hãy trình bày cấu trúc lệnh lặp với số lần chưa biết trước? Cho ví dụ minh họa?
Câu 3:
Phát hiện lỗi sai trong câu lệnh sau :
While do writeln (‘ Chao cac ban ‘);
3 Bài mới
Hoạt động 1: viết chương trình sử dụng lệnh lặp (25 phút)
GV yều cầu HS đọc đề bài 2
GV ghi nội dung bài 2
Gọi HS nêu yêu cầu của bài toán
Dữ liệu vào(Input) của bài toán là
gì?
Dữ liệu ra(Output) của bài toán là
gì?
HS đọc đề bài 1
HS nêu yêu cầu bài toán
Số tự nhiên N
Trả lời N Là số nguyên tố hoặc N không là số nguyên
tố
HS trả lời
Bài 2 Tìm hiểu chương trình
nhận biết một số tự nhiên N được nhập từ bàn phím có phải
là số nguyên tố hay không
Input: Số tự nhiên N.
Output: Trả lời N Là số
nguyên tố hoặc N không là số
Trang 2Yêu cầu HS nhắc lại thế nào là số
nguyên tố?
Làm thế nào để kiểm tra N có là số
nguyên tố hay không?
Để kiểm tra N có là số nguyên tố
hay không ta kiểm tra xem N có
chia hất các số từ 2 đến N-1 hay
không Nếu N không chia hết cho
số nào trong khoảng từ 2 đến N-1
thì N là số nguyên tố Ngược lại N
không là số nguyên tố
Để kiểm tra tính chia hết GV
hướng dẫn HS sử dung phép chia
lấy phần dư mod qua ví dụ cụ thể
Yêu cầu HS thảo luận nhóm(3p)
với nội dung: mô tả thuật toán của
chương trình
GV nhận xét và đưa ra thuật toán
GV trình chiếu chương trình sẵn
có
Yêu cầu HS đọc chương trình và
đối chiếu việc sử dụng câu lệnh để
mô tả thuật toán
Yêu cầu HS thảo luận nhóm(10p)
với nội dung: Đọc và tìm hiểu ý
nghĩa của từng câu lệnh trong
chương trình Gõ, dịch và chạy thử
chương trình
GV nhận xét các nhóm
HS trả lời
HS tiến hành thảo luận nhóm và đưa ra thuật toán của chương trình
HS quan sát chương trình
HS đọc chương trình
HS tiến hành thảo luận nhóm
nguyên tố
Thuật toán :
Bước1: Nhập số tự nhiên N từ bàn phím
Bước2: Nếu N ≤0 thông báo N không phải là số tự nhiên, chuyển sang bước 4
Bước3:Nếu N>0:
- i←2;
- Trong khi N mod i <>0 còn đúng thì i←i+1
- Nếu i=N thì thông báo N là
số nguyên tố, rồi chuyển đến bước 4 Ngược lại, thông báo
N không phải là số nguyên tố Bước4: Kết thúc
Chương trình: (SGK
4 Củng cố (2 phút)
- Ôn lại một số câu lệnh có điều kiện, câu lệnh lặp
5 Dặn dò (2 phút)
- Tập viết một số chương trình đơn giản
- Về nhà ôn tập kiến thức đã học trong học kỳ để tiết sau làm bài kiểm tra 1 tiết
IV RÚT KINH NGHIỆM
Trang 3
Tuần: 25 Ngày soạn: 04/02/2018
BÀI TẬP
I MỤC TIÊU
1 Kiến thức
Nắm rõ cách khai báo biến mảng, nhập in, truy cập các phần tử của mảng
2 Kĩ năng
Rèn luyện tốt kĩ năng khai báo mảng, nhập, in, truy cập các phần tử của mảng
3 Thái độ
- Ham thích môn học, tác phong làm việc nghiêm túc
- Nâng cao ý thức và lòng say mê học tập các môn học
II CHUẨN BỊ
.Giáo viên
- Giáo án, sách giáo khoa, phấn, bảng phụ, máy tính, máy chiếu
2 Học sinh
- Sách giáo khoa, vở ghi, bút thước…
III.CÁC HOẠT ĐỘNG DẠY – HỌC:
1 Ổn định lớp (1 phút)
Sĩ số của các lớp:
8A1………
8A2………
2 Kiểm tra bài cũ (5 phút)
? Em hãy trình bày cấu trúc câu lệnh lặp For do và while do? Cho ví dụ?
3 Bài mới
Hoạt động của giáo viên Hoạt động học sinh Nội dung ghi bảng
Hoạt động 1: Đưa ra các bài tập(35 phút)
Bài 1 Các lệnh khai báo biến
mảng trong pascal sau đây đúng
hay sai? Hãy giải thích
A.a: array[1…100] of integer;
B.b: array[1 n] of real;
C.c: array[1:n] of real;
D.d: array[-7 7] of byte;
E.e: array[100 1] of real;
F.f: array[-1 10] of byte;
H.h: array[1.1 1.10] of integer;
Gọi học sinh lên làm bài
Chữa lại
Đưa ra đề bài yêu cầu học sin suy
nghĩ làm bài
Chép bài tập Suy nghĩ làm bài
Lên chữa bài
- nhận xét bài làm của bạn
Bài 1
Bài giải
A Sai, cần thay ba dấu chấm bằng hai dấu chấm
B Sai, các chỉ số phải là những giá trị cụ thể Nếu n là một hàng thì câu lệnh này hợp lệ
C Sai, cần thay dấu hai chấm bằng hai dấu chấm và chỉ số n chưa xác định
D Đúng
E Sai, chỉ số đầu không được lớn hơn chỉ số cuối
F sai vì phải viết các chỉ số trong ngoặc vuông
Trang 4Bài 2 Viết chương trình Pascal sử
dụng biến mảng để nhập từ bàn
phím các phần tử của một dãy số
Độ dài của dãy cũng được nhập từ
bàn phím
Gợi ý giúp học sinh định hướng
giải
Bài này ta cần sử dụng những biến
gì? Và mấy biến mảng?
Gọi học sinh lên chữa bài
Chốt lại
Giải thích từng lệnh cho học sinh
hiểu và ghi bài
Chép đề bài Suy nghĩ cách giải
Nghe giảng
Suy nghĩ trả lời Đưa ra hướng giải Chữa bài
Nghe giảng Ghi bài
H Sai, chỉ số đầu và cuối phải
là số nguyên
Bài 2
Chương trình Program ctmang;
Var N, I: integer;
A: array[1 100] of real;
Begin Write(‘Nhap so phan tu cua mang, n = ‘); readln(n);
For i:= 1 to n do Begin
Write(‘nhap gia tri’,I,’cua mang, a[‘,I,’]= ‘);
Readln(a[i]);
End;
Readln End