Tiến trình d¹y hä c:

Một phần của tài liệu Rèn luyện kỹ năng phương pháp viết chương trình lập trình turbo pascal cho học sinh lớp 8 (Trang 26)

Hoạt động giáo viên Hoạt động của hoc sinh Hoạt động 1: Hỏi bài cũ

Viết thuật toán tính tổng 100 số tự

nhiên đầu tiên 1,2,3,…,99,100 Bước 1. SUM ← 0; i← 0.

Bước 2. ii + 1.

Bước 3. Nếu i ≤ 100, thì SUM ← SUM + i

và quay lại bước 2.

Bước 4. Thông báo kết quả và kết thúc thuật toán

Hoạt động 2: Bài mới

Giáo viên yêu cầu học sinh đọc ví dụ 1sách giáo khoa trang 67

Giáo viên phân tích ví dụ:

Giả sử bạn Long gọi điện chuông đổ lần thứ nhất bạn Trang cầm máy trả lời thì bạn Long kết thúc công việc gọi điện, nhưng nếu bạn Long gọi lần thứ nhất chuông đổ không ai nhấc máy bạn quyết định gọi thêm ít lần nữa, cũng không ai nhấc máy, bạn quyết định gọi đến khi nào có người nhấc máy thì mới kết thúc. Vì thế ở đây ta chưa biết được bạn Long phải gọi bao nhiêu lần thì mới có người cầm máy và kết thúc việc gọi điện

Giáo viên hướng dẫn học sinh xây dựng thuật toán, sau đó học sinh tự xây dựng thuật toán

Ví dụ 2 : Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất

lớn hơn 1000?

Gọi học sinh viết lại thuật toán

1. Các hoạt động lặp với số lần chưa biếttrước trước

a/ Ví dụ 1(sgk).

b/ Ví dụ 2

Giải: Kí hiệu S là tổng cần tìm và ta có thuật toán như sau:

Hoạt động giáo viên Hoạt động của hoc sinh

Giáo viên chạy tay cho học sinh xem (Chỉ chạy tay thử từ 1 đến 10 ) Vòng lặp S Điều kiện n 1 0 0<1000 1 2 1 1<1000 2 3 3 3<1000 3 4 6 6<1000 4 5 10 10<1000 5 6 15 15<1000 6 7 21 21<1000 7 8 28 28<1000 8 9 36 36<1000 9 10 45 45<1000 10 Học sinh chú ý nghe giáo viên giải thích.

Em hãy rút ra nhận xét của thuật toán?

Giáo viên giới thiệu sơ đồ khối

Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?

Bước 2. Nếu S ≤ 1000, n n + 1; ngược lại chuyển tới bước 4.

Bước 3. S S + n và quay lại bước 2.

Bước 4. In kết quả Sn là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán.

Nhận xét thuật toán:

Từ bước 2 đến bước 3 được lặp lại nhiều lần nếu điều kiện s ≤ 1000 chưa được thỏa mãn và chỉ dừng khi điều kiện đó sai.

* Ta có sơ đồ khối : (adsbygoogle = window.adsbygoogle || []).push({});

Bước 1: tính giá trị của <điều kiện>.

Bước 2: Nếu <điều kiện> có giá trị đúng thì:

+ thực hiện lệnh cần lặp. + quay lại bước 1.

Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.

* Nhận xét : Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước

Đúng

Sai Điều kiện

Hoạt động giáo viên Hoạt động của hoc sinh

Giáo viên rút ra nhận xét:

Ta có thể sử dụng lệnh lặp với số lần lặp chưa biết trước trong các chương trình lập trình. Sau đây ta xét câu lệnh và ví dụ được viết bằng ngôn ngữ lập trình Turbo pascal Giáo viên giới thiệu cú pháp câu lệnh với số lần chưa biết trước

while … do ….;

Học sinh chú ý nghe giảng và ghi chép bài đầy đủ

Giáo viên cùng học sinh xét ví dụ 3 Chúng ta biết rằng, nếu n càng lớn thì 1

n càng nhỏ, nhưng luôn luôn lớn hơn 0. Với giá trị nào của n thì 1

n < 0.005 hoặc 1

n < 0.003 ?

Gọi học sinh xác định Input, Output của bài toán?

Giáo viên gợi ý học sinh cách viết thuật toán, gọi học sinh lên bảng trình bày thuật toán

2. Ví dụ về lệnh lặp với số lần chưa biếttrước trước

Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:

while <điều kiện> do <câu lệnh>; trong đó:

- điều kiện thường là một phép so sánh; - câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.

Câu lệnh lặp này được thực hiện như sau: Bước 1 : Kiểm tra điều kiện.

Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.

Ví dụ 3.

Với giá trị nào của n ( n>o ) thì 1

n < 0.005 hoặc 1

n < 0.003? (adsbygoogle = window.adsbygoogle || []).push({});

1. Xác định bài toán: Input: Cho sai_so= 0.005

Output: Kiểm tra với n bằng bao nhiêu thì 1

n < 0.005.

2. Viết thuật toán: Bước 1: x 1, n 1

Bước 2: Nếu x< sai_so thì n n+1; x 1

n;ngược lại chuyển tới bước 3 ngược lại chuyển tới bước 3

Bước 3: Thông báo và kết thúc tuật toán. Chương trình chạy trên Pascal:

Hoạt động giáo viên Hoạt động của hoc sinh

Giáo viên giới thiệu chương trình mẫu sách giáo khoa

Yêu cầu học sinh quan sát các câu lệnh trên máy tính

Giáo viên chạy cho học sinh xem Học sinh chú ý nghe và tự chạy lại Học sinh thực hiện

Giáo viên yêu cầu học sinh thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...

Học sinh lần lượt lên thay sai số để kiểm tra kết quả thực hiện của máy tính.

Hoạt động 3. Củng cố:

Một phần của tài liệu Rèn luyện kỹ năng phương pháp viết chương trình lập trình turbo pascal cho học sinh lớp 8 (Trang 26)