1. Trang chủ
  2. » Giáo án - Bài giảng

Tin 8 tiet 37 den 40 (CV 961)

18 410 3
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Câu lệnh lặp
Trường học Trường Trung Học Cơ Sở
Chuyên ngành Tin học
Thể loại bài giảng
Năm xuất bản 2009
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 147,5 KB

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

Nội dung

- Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần.. GV: Cho ví dụ về vẽ hình vuông và giảithích ví dụ cho học sinh GV:

Trang 1

Ngày soạn: Ngày dạy:

Lớp 8A: / /2009 Lớp 8B / /2009 Lớp 8C / /2009 Lớp 8D / /2009 Lớp 8E / /2009

Tiết 37:

CÂU LỆNH LẶP

1 Mục tiêu:

a Kiến thức:

- Biết nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp

đi lặp lại công việc nào đó một số lần

b Kỹ năng:

- Hiểu hoạt động của câu lệnh với số lần biết trước for do trong Pascal.

c Thái độ:

- Yêu thích môn học, nghiêm túc trong giờ học

2 Chuẩn bị của giáo viên và học sinh:

a Chuẩn bị của giáo viên:

- Giáo án, phòng máy, máy chiếu, phần mềm Pascal

b Chuẩn bị của học sinh:

- Kiến thức cũ, sách, vở

3 Tiến trình bài dạy

a Kiểm tra bài cũ: Không KT

Trang 2

b D y n i dung b i m i:ạy nội dung bài mới: ội dung bài mới: ài mới: ới:

GV: Nêu một số công việc thường ngày

trong cuộc sống

Trong cuộc sống hằng ngày, nhiều hoạt

động được thực hiện lặp đi lặp lại nhiều

lần

Có những hoạt động mà chúng ta

thường thực hiện lặp lại với một số lần

nhất định và biết trước, chẳng hạn đánh

răng mỗi ngày hai lần, mỗi ngày tắm

một lần, Chúng ta còn lặp lại những

công việc với số lần không thể xác định

trước: học cho đến khi thuộc bài, nhặt

từng cọng rau cho đến khi xong,

GV: Giới thiệu câu lệnh lặp trong

Pascal

1 Các công việc phải thực hiện nhiều lần: 15’

HS: Chú ý lắng nghe HS: Ghi chép

Khi viết chương trình máy tính cũng vậy.

Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.

2 Câu lệnh lặp - một lệnh thay cho nhiều lệnh: 25’

Ví dụ 1 Giả sử ta cần vẽ ba hình vuông

có cạnh 1 đơn vị như hình 33 Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị Do đó,

ta chỉ cần lặp lại thao tác vẽ hình vuông

ba lần Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:

Bước 1 Vẽ hình vuông (vẽ liên tiếp bốn

cạnh và trở về đỉnh ban đầu)

Bước 2 Nếu số hình vuông đã vẽ được ít

Trang 3

GV: Cho ví dụ về vẽ hình vuông và giải

thích ví dụ cho học sinh

GV: Cho ví dụ về tính tổng 100 số tự

hơn 3, di chuyển bút vẽ về bên phải 2 đơn

vị và trở lại bước 1; ngược lại, kết thúc thuật toán

Hình 33

Riêng với bài toán vẽ một hình vuông (h 34), thao tác chính là vẽ bốn cạnh bằng nhau, hay lặp lại bốn lần thao tác vẽ một đoạn thẳng Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 90o sang phải tại vị trí của bút vẽ Thuật toán sau đây sẽ

mô tả các bước để vẽ hình vuông:

Hình 34 Bước 1 k  0 (k là số đoạn thẳng đã vẽ

được)

Bước 2 Vẽ đoạn thẳng 1 đơn vị độ dài và

quay thước 90o sang phải

Bước 3 k  k +1 Nếu k ≤ 4 thì trở lại

bước 2; ngược lại, kết thúc thuật toán

Lưu ý rằng, biến k được sử dụng như là

biến đếm để ghi lại số cạnh đã vẽ được

Trang 4

nhiên giải thích ví dụ cho học sinh Ví dụ 2 Giả sử cần tính tổng của 100 số

tự nhiên đầu tiên, tức là tính:

S = 1 + 2 + 3 + + 100.

Hoạt động chính khi giải bài toán này là thực hiện phép cộng Thuật toán trong ví

dụ 3, bài 5 đã mô tả việc thực hiện lặp lại phép cộng 100 lần

HS: Ghi vở Cách mô tả các hoạt động lặp trong thuật

toán như trong ví dụ trên đượ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ác câu lệnh lặp

c Củng cố, luyện tập: 4’

- Nhắc lại các hoạt động lặp trong cuộc sống

d Hướng dẫn học sinh tự học ở nhà: 1’

- Về nhà xem lại phần còn lại

- Học bài cũ

Trang 5

Lớp 8A: / /2009 Lớp 8B / /2009 Lớp 8C / /2009 Lớp 8D / /2009 Lớp 8E / /2009

Tiết 38:

CÂU LỆNH LẶP (T2)

1 Mục tiêu:

a Kiến thức:

- Biết nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp

đi lặp lại công việc nào đó một số lần

b Kỹ năng

- Viết đúng được lệnh for do trong một số tình huống đơn giản

- Hiểu lệnh ghép trong Pascal

c Thái độ

- Tập trung cao độ, nghiêm túc trong giờ học

2 Chuẩn bị của giáo viên và học sinh:

a Chuẩn bị của giáo viên:

- Giáo án, phòng máy, máy chiếu, phần mềm Pascal

b Chuẩn bị của học sinh:

- Kiến thức cũ, sách, vở

3 Tiến trình bài dạy:

a Kiểm tra bài cũ: Đan xen trong tiết học

b Dạy nội dung bài mới:

Trang 6

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA GV

GV: Giới thiệu câu lệnh lặp trong

Pascal

GV: Nêu cú pháp của câu lệnh lặp

GV: Nêu một ví dụ về câu lệnh lặp

3 Ví dụ về câu lệnh lặp: 15’

HS: Chú ý quan sát Các ngôn ngữ lập trình thường có nhiều dạng câu lệnh lặp

HS: chú ý và ghi vở

Câu lệnh lặp đơn giản nhất trong Pascal có dạng:

for <biến đếm> := <giá trị đầu> to <giá trị cuối> do

<câu lệnh>;

Khi gặp câu lệnh lặp trên, câu lệnh được thực hiện bắt đầu với giá trị biến

đếm bằng giá trị đầu Sau đó giá trị biến đếm tăng dần một đơn vị từ giá trị đầu đến giá trị cuối và câu lệnh được

thực hiện mỗi lần tăng biến đếm cho đến khi biến đếm vượt quá giá trị cuối thì kết thúc Như vậy biến đếm phải được khai báo là kiểu nguyên và giá trị

cuối phải không nhỏ hơn giá trị đầu.

Ví dụ 3 Chương trình sau sẽ in ra màn

hình thứ tự lần lặp:

program Lap;

var i: Integer;

begin

Trang 7

GV Nêu Ví dụ Để in một chữ "O" trên

màn hình, ta có thể sử dụng lệnh:

GV: Trình bày bằng các câu lệnh Pascal

for i := 1 to 10 do

writeln('Day la lan lap thu ',i);

end

HS: Đọc kỹ ví dụ

Ví dụ 4 Để in một chữ "O" trên màn

hình, ta có thể sử dụng lệnh:

writeln('O');

HS: Quan sát các câu lệnh trong chương trình

Nếu muốn viết chương trình mô phỏng một quả trứng rơi từ trên cao xuống, ta

có thể lặp lại lệnh trên nhiều lần (ví dụ,

20 lần) như trong chương trình sau:

Uses crt;

Var i: integer;

begin

Clrscr;

for i:=1 to 20 do begin writeln('O');

delay(100) end;

end.

Dịch và chạy chương trình này, ta sẽ thấy kết quả như ở hình 35 dưới đây:

Trang 8

GV: Cho ví dụ về tính tổng và tích câu

lệnh lặp

VD: Ví dụ 5 Chương trình sau đây sẽ

tính tổng của N số tự nhiên đầu tiên, với

N là số tự nhiên được nhập vào từ bàn

phím

Hình 35

4 Tính tổng và tích bằng câu lệnh lặp : 22’

HS: Quan sát ví dụ

Ví dụ 5 Chương trình sau đây sẽ tính

tổng của N số tự nhiên đầu tiên, với N

là số tự nhiên được nhập vào từ bàn phím (xem ví dụ 2)

program Tinh_tong;

var N,i: Integer;

S: longint;

begin

write('Nhap so N = '); readln(N);

S:=0;

Trang 9

Ví dụ 6 Ta kí hiệu N! là tích N số tự

nhiên đầu tiên

toán

GV: Hướng dẫn một số lệnh trong

Pascal sẽ được sử dụng trong bài

GV: Nhận xét

for i := 1 to N do

S:=S+i;

writeln('Tong cua ',N,' so tu nhien dau tien S = ',S);

end

HS: Quan sát và tìm cách giải quyết bài

HS: Viết chương trình

Ví dụ 6 Ta kí hiệu N! là tích N số tự

nhiên đầu tiên

N! = 1.2.3 N

Dưới đây là chương trình tính N! với N

là số tự nhiên được nhập vào từ bàn phím Chương trình sử dụng một câu

lệnh lặp for…do:

program Tinh_Giai_thua; var N,i: Integer;

P: longint;

begin

write('N = ');

readln(N);

P:=1;

for i:=1 to N do

Trang 10

writeln(N,'! = ',P);

end

Lưu ý Vì N! là số rất lớn so với N, một

lần nữa cần lưu ý khai báo biến chứa giá trị của nó đủ lớn

c Củng cố, luyện tập: 7’

- Nhắc lại một số ví dụ về câu lệnh lặp

- Viết lại dạng tổng quát của cấu trúc lặp?

d Hướng dẫn học sinh tự học ở nhà: 1’

- Về nhà xem lại phần còn lại của bài, tiết sau làm các bài tập về câu lệnh lặp

Lớp 8A: / /2009 Lớp 8B / /2009 Lớp 8C / /2009 Lớp 8D / /2009 Lớp 8E / /2009

Tiết 39:

BÀI TẬP

1 Mục tiêu

a Kiến thức:

- Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp

đi lặp lại công việc nào đó một số lần

b Kỹ năng

Trang 11

- Hiểu hoạt động của câu lệnh với số lần biết trước for do trong Pascal.

c Thái độ

- Yêu thích môn học, nghiêm túc trong giờ học

2 Chuẩn bị của giáo viên và học sinh:

a Chuẩn bị của giáo viên:

- Giáo án, phòng máy, máy chiếu, phần mềm Pascal

b Chuẩn bị của học sinh:

- Kiến thức cũ, sách, vở

3 Tiến trình bài dạy:

a Kiểm tra bài cũ: Đan xen trong tiết học

b D y n i dung b i m i: ạy nội dung bài mới: ội dung bài mới: ài mới: ới:

GV: Cho bài tập 1

? Hãy viết thuật toán để thực hiện bài toán

trên?

GV: Nêu một ví dụ về câu lệnh lặp

Bài tập 1: 15’

HS: Viết thuật toán để giải quyết bài toán trên

a) Có thể mô tả các bước của thuật toán để vẽ hình a) như sau:

Bước 1 Xác định điểm bắt đầu vẽ là X Bước 2 Đặt i = 0 và đặt hướng = lên trên.

Bước 3 Vẽ nửa đường tròn theo hướng

đã đặt

Bước 4 i = i + 1

Bước 5 Nếu i > 4, chuyển bước 6;

Trang 12

GV: Yêu cầu học sinh viết các thuật toán để

thực hiện giải bài toán tính tổng dãy số

GV: Kiểm tra và nhận xét

GV: Yêu cầu học sinh viết các thuật toán để

thực hiện giải bài toán tính tổng dãy số

ngược lại, đặt hướng = hướng + 1 và quay lại bước 3.

Bước 6 Kết thúc thuật toán

Lưu ý Khi trình bày thuật toán lần

đầu tiên cho học sinh không nên định nghĩa các phép toán với hướng mà nên liệt kê đủ bốn hướng trong thuật toán

b) Thuật toán tương tự như trên Thao

tác chính cần lặp lại là vẽ hình vuông Tại mỗi bước, giữ nguyên tâm hình vuông và thay đổi hướng vẽ một góc

30o

Bài tập 2:10’

Thuật toán tính tổng

5 3

1 4 2

1 3 1

1

n n

Bước 1 Gán A  0, i  1

Bước 2 A  i i ( 12) Bước 3 i  i + 1

Bước 4 Nếu i  n, quay lại bước

2

Bước 5 Ghi kết quả A và kết thúc thuật toán.

Bài tập 3:10’

Trang 13

GV: Kiểm tra và nhận xét

Trừ d), tất cả các câu lệnh đều không hợp lệ:

a) Giá trị đầu phải nhỏ hơn giá trị cuối; b) Các giá trị đầu và giá trị cuối phải là

số nguyên;

c) Thiếu dấu hai chấm khi gán giá trị đầu;

d) Thừa dấu chấm phẩy thứ nhất, nếu như ta muốn lặp lại câu lệnh

writeln('A') mười lần, ngược lại câu lệnh là hợp lệ;

e) Biến x đã được khai báo như là biến

có dữ liệu kiểu số thực và vì thế không thể dùng để xác định giá trị đầu và giá trị cuối trong câu lệnh lặp.

c Củng cố, luyện tập: 4’

? Nhắc lại các thuật toán trong các bài tập trên?

d Hướng dẫn học sinh tự học ở nhà: 1’

- Về nhà xem các bài tập còn lại, tiết sau làm tiếp các bài tập

Lớp 8A: / /2009

Trang 14

Lớp 8B / /2009 Lớp 8C / /2009 Lớp 8D / /2009 Lớp 8E / /2009

Tiết 40:

BÀI TẬP

1 Mục tiêu

a Kiến thức:

- Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình

b Kỹ năng:

- Viết đúng được lệnh for do trong một số tình huống đơn giản

- Hiểu lệnh ghép trong Pascal

c Thái độ:

- Nghiêm túc trong giờ học, yêu thích môn học

2 Chuẩn bị của giáo viên và học sinh:

a Chuẩn bị của giáo viên:

- Giáo án, phòng máy, máy chiếu, phần mềm Pascal

b Chuẩn bị của học sinh:

- Kiến thức cũ, sách, vở

3 Tiến trình bài dạy:

a Kiểm tra bài cũ: Đan xen trong tiết học

b Dạy nội dung bài mới:

Trang 15

GV: Cho bài tập yêu cầu học sinh viết

thuật toán và các lệnh để giải quyết bài

toán như sau:

GV: Nêu một ví dụ về câu lệnh lặp

Bài tập 1: Thuật toán: 15’

HS: Viết thuật toán để giải quyết bài toán trên

Bước 1 Nhập các số n và x

Bước 2 A  1, i  0 (A là biến lưu luỹ

thừa bậc n của x)

Bước 3 ii + 1, A  A.x

Bước 4 Nếu i < n, quay lại bước 3 Bước 5 Thông báo kết quả A là luỹ

thừa bậc n của x và kết thúc

thuật toán

Chương trình Pascal có thể như sau:

var n,i,x: integer; a:

longint;

begin

write('Nhap x=');

readln(x);

write('Nhap n=');

readln(n);

A:=1;

for i:=1 to n do A:=A*X;

writeln(x,' mu ',n,' bang

',A);end.

Trang 16

GV: Cho bài toán "Nhập n số tự nhiên và

tìm số lớn nhất trong các số vừa nhập "

yêu cầu học sinh viết thuật toán và các

lệnh để giải quyết bài toán

GV: Kiểm tra và nhận xét

Bài tập 2) Thuật toán: 12’

HS: Viết thuật toán, chương trình

Bước 1 Nhập số n

Bước 2 A 32768 (gán số nhỏ nhất

có thể trong các số kiểu nguyên

cho A), i 1

Bước 3 Nhập số thứ i và gán giá trị

đó vào biến A.

Bước 4 Nếu Max < A, Max  A Bước 5 i i + 1.

Bước 6 Nếu i ≤ n, quay lại bước 3 Bước 7 Thông báo kết quả Max là số

lớn nhất và kết thúc thuật toán

Chương trình Pascal có thể như sau:

uses crt;

var n,i,Max,A: integer; begin

clrscr;

write('Nhap N=');

readln(n);

Max:=-32768;

for i:=1 to n do

Trang 17

GV: Cho bài toán yêu cầu học sinh viết

thuật toán và các lệnh để giải quyết bài

toán

GV: Kiểm tra và nhận xét

begin write('Nhap so

thu ',i,':'); readln(A);

if Max<A then

Max:=A end;

writeln('So lon nhat: ',Max);

end.

Bài tập 3) 12’

Lời giải bài này tương tự như lời giải của bài 9 ở trên (xem thuật toán trong lời giải bài tập 5a, bài 5) Chương trình Pascal có thể như sau:

uses crt;

var n,i,SoDuong,A:

integer;

begin

clrscr;

write('Nhap N=');

readln(n);

if n>0 then

begin

SoDuong:=0;

for i:=1 to n do begin write('Nhap

so thu ',i,':');

Trang 18

if A>0 then

SoDuong:=SoDuong+1 end;

writeln('So cac so duong = ',SoDuong)

end else writeln('n phai >

0!');

end.

c Củng cố, luyện tập: 5’

? Nhắc lại các thuật toán trong các bài tập trên và một số lệnh sử dụng trong chương trình?

d Hường dẫn học sinh tự học ở nhà: 1’

- Về nhà xem lại các bài tập tiết sau chúng ta thực hành Bài thực hành 5

Ngày đăng: 29/09/2013, 00:10

HÌNH ẢNH LIÊN QUAN

Hình thứ tự lần lặp: - Tin 8 tiet 37 den 40 (CV 961)
Hình th ứ tự lần lặp: (Trang 6)

TỪ KHÓA LIÊN QUAN

w