1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo án Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước - Năm học 2008-2009 - Nguyễn Thanh Tùng

6 8 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 116,82 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Giúp HS biết ngôn ngữ lập trình dùng cấy trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại một công việc cho đề khi điều hiện nào đó được thỏa mãn.. [r]

Trang 1

Trường THCS Thống Nhất

Ngày soạn:18-02-2009

Ngày dạy:

Lớp dạy:

Tiết dạy:

GVHD:

GSTT: Nguyễn Thanh Tùng

Bài dạy:

Bài 8: Lặp với số lần chưa biết trước

I/ Mục đích-Yêu cầu

 Giúp HS biết được 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

 Giúp HS biết ngôn ngữ lập trình dùng cấy trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại một công việc cho đề khi điều hiện nào đó được thỏa mãn

 Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước While… do trong Pascal

 Biết cách vận dụng While do hoặc For do để giải bài tập một cách linh hoạt

 Oân lại một số kiến thức như khai báo biến, rèn luyện khả năng đọc-hiểu chương trình

II/ Chuẩn bị:

Giáo viên: Giáo án, lưu đồ thuật giải, bài giải hoàn chỉnh

Học sinh: Xem bài trước Sách giáo khoa

Phương pháp: Đàm thoại kết hợp trực quan sinh động

Dụng cụ, thiết bị: Đèn chiếu, máy tính, lưu đồ, giáo án Máy có cài sẵn Turbo Pascal

III/ Nội dung lên lớp:

Hoạt động 1: Oån định lớp

Hoạt động 2: Kiểm tra bài cũ

 1/ Hãy cho biết tác dụng của lệnh lặp với số lần biết trước?

 2/ Nêu cú pháp và ý nghĩa của lệnh lặp For…do?

Hoạt động 3: Vào nội dung bài mới

* Giới thiệu cho

Hs biết ngoài cấu

trúc lặp với số lần

lặp biết trước, các

ngôn ngữ lặp trình

còn có các lệnh lặp

với số lần lặp chưa

biết trước Ghi tên

bài dạy lên bảng

* Chú ý lắng nghe bài giảng, ghi chepù

Bài 8: Lặp Với Số Lần Chưa Biết

Trước.

Trang 2

* Yêu cầu học

sinh đọc víù dụ 1

-Phân tích, đặt câu

hỏi về ví dụ 1 để

cho Hs thấy được

điều kiện để kết

thúc hoạt động gọi

điện thoại của

Long cho Trang

-Đưa thêm một số

ví dụ trong cuôc

sống tương tự ví dụ

1 Yêu cầu HS xác

định điều kiện

dừng

* Yêu cầu HS đọc

ví dụ 2

-Đặt câu hỏi cho

HS: "Trong trường

hợp này để quyết

định thực hiện

phép cộng với số

tiếp theo hay dừng

ta phải làm gì?"

Kiểm tra đáp án

của HS

-Yêu cầu HS xây

dựng thuật toán

của ví dụ này một

cách cụ thể bằng

ngôn ngữ tự nhiên

Kiểm tra và chỉnh

sửa lại đáp án của

HS

* Đọc ví dụ 1 và suy nghĩ

-Chú ý lắng nghe, ghi chép

-Trả lời các câu hỏi của giáo viên

-Chú ý, suy nghĩ trả lời các câu hỏi của giáo viên

* Đọc ví dụ 2

-Chú ý lắng nghe, ghi chép Trả yêu cầu của GV

-Chú ý lắng nghe, ghi chép Trả lời câu hỏi của giáo viên Xây dựng thuật toán

-Chú ý lắng nghe,

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

Ví dụ: SGK.Trang 67

Điều kiện dừng: Có người nhấc máy.

Ví dụ 2: Nếu cộng lần lượt n số đầu tiên

(n=1,2,3,….), ta sẽ được kết quả T1=1, T2=1+2, T3=1+2+3,… tăng dần 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?

-Câu hỏi: Trong trường hợp này để

quyết định thực hiện phép cộng với số tiếp theo hay dừng ta phải làm gì?

-Đáp án: Từng bước kiểm tra tổng đã

lớn hơn 1000 hay chưa

Thuật toán: Kí hiệu S là tổng cần tìm

Bước 1: S0, n0

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ả: S và n là số tự nhiên nhỏ nhất sao cho S>1000 Kết thúc thuật toán

Để giải bài toán trên ta thực hiện lặp

đi lặp lại với số lần chưa biết trước, phụ

Trang 3

-Giải thích cho HS

hiểu rõ về thuật

toán vừa rồi

-Đưa ra lưu đồ về

lặp với số lần chưa

biết trước và giải

thích cho HS hiểu

ý nghĩa của lệnh

lặp này

* Chuyển sang nội

dung thứ 2 của bài

Trình bày cho Hs

biết được cấu trúc

của lệnh lặp với số

lần chưa biết trước

trong Pascal

-Hướng dẫn Hs

ghi chép

-Chú ý lắng nghe, ghi chép

* Chú ý lắng nghe, ghi bài

-Theo dõi bài giảng, thực hiện

thuộc vào điều kiện (S<=1000) và chỉ dừng lại khi điều kiện đó sai

Việc lặp lại một nhóm các hoạt động với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể có được thỏa mãn hay không Để viết chương trình cho máy tính thực hiện các hoạt động như ví dụ trên ta có thể sử dụng lệnh lặp với số lần chưa biết trước Các ngôn ngữ lặp trình đều có hỗ trợ câu lệnh này, Pascal cũng không ngoại lệ

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

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à một câu lệnh đơn

hay câu lệnh ghép

Cách thực hiện:

 Kiểm tra điều kiện

 Nếu điều kiện sai, câu lệnh sẽ được 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 buớc 1

Chương trình Ví dụ 2:

Program Vidu2;

Uses crt;

Điều kiện

Câu lệnh

Sai

Đúng

Trang 4

Viết chương trình

hoàn chỉnh của ví

dụ 2

-Giải thích lại từng

câu lệnh của

chương trình Chạy

chương trình, sau

đó thay đổi điều

kiện cho HS nhận

thấy sự khác biệt

* Yêu cầu Hs đọc

ví dụ 5 Trang 69

SGK

-Yêu cầu Hs thực

hiện giải bài toán

với lệnh For…do

Theo dõi HS

theo theo yêu cầu của GV, ghi chép

-Chú ý lắng nghe, theo dõi chương trình

* Đọc ví dụ 5, suy nghĩ

-Thực hiện theo yêu cầu của GV

-Thực hiện

Var S,n:Integer;

Begin Clrscr;

S:=0;

N:=0;

While S<=1000 do Begin

S:=S+n;

N:=n+1;

End;

Writeln('So n nho nhat de tong>1000 la ',n,': ');

Writeln(' Tong dau tien la: ',S);

Readln;

End

Ví dụ 5.Trang 69(SGK)

Để viết chương trình tính tổng T=1+1/2+1/3+…+1/100 với lệnh lặp for…do

Với For:

Program Vidu5;

Uses crt;

Var T,i:Integer;

Begin T:=0;

For i:=1 to 100 do T:=T+1/I;

Writeln(T);

Readln;

End

Với while:

Program Vidu5;

Uses crt;

Var T,i:Integer;

Trang 5

-Yêu cầu HS chỉnh

sửa lại Ví dụ này

với lệnh lặp While

do

-Giải thích cho học

sinh hiểu ý nghĩa

các câu lệnh trong

chương trình Làm

cho Hs thấy được

lệnh lặp for…do có

thể được thay thế

bởi lệnh while…do

* Chuyển sang nội

dung tiếp theo

-Đưa ra chương

trình trong SGK

Yêu cầu HS giải

thích từng câu

lệnh

-Qua ví dụ cho HS

thấy đuợc lỗi lặp

trình với lặp vô

hạn lần Chú ý cho

Hs cần tránh trong

quá trình viết

chương trình

chuyển đổi

-Chú ý lắng nghe, ghi chép

* Chú ý theo dõi, ghi chép

-Chú ý theo dõi, trả lời các yêu cầu của giáo viên

-Chú ý theo dõi, ghi chép bài

Begin T:=0;

i:=0;

while i<=100 do begin

T:=T+1/I;

I:=i+1;

End;

Writeln(T);

Readln;

End

-Như vậy chúng ta có thể sử dụng lệnh lặp while…do thay cho For…do

3 Lặp vô hạn lần-Lỗi lập trình cần tránh.

Ví dụ:

Var a:integer;

Begin A:=5;

While a<6 do Writeln('A');

End;

Giá trị biến a luôn luôn bằng 5 điều kiện a<6 luôn luôn đúng cho nên chương trình luôn được thực hiện Đây là lỗi lặp vô hạn lần

Khắc phục: điểu kiện trong câu lệnh

phải được thay đổi từ đúng sang sai Chí có thế chương trình mới không rơi vào những vòng lặp vô tận

Hoạt động 4: Củng cố:

 Yêu cầu Hs trình bày ý nghĩa lệnh lặp với số lần chưa biết được

Trang 6

 Yêu cầu HS trình bày lệnh lặp While…do.

Hoạt động 5: Hướng dẫn về nhà

 Huớng dẫn trả lời câu1, câu2 trang 71

 Hướng dẫn bài 3,4,5 SGK

IV/ Rút kinh nghiệm tiết dạy:

Ưu điểm: Khuyết điểm:

GVHD

Ngày đăng: 29/03/2021, 16:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w