1. Trang chủ
  2. » Ngoại Ngữ

Giáo án môn Tin học 11 - Bài 10: Cấu trúc lặp

9 16 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 9
Dung lượng 115,95 KB

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

Nội dung

-Mục tiêu: HS biết được cấu trúc chung của câu lệnh For-do; Hiểu được ý nghĩa của các thành phần trong lệnh; Biết được sự thực hiện của máy khi gặp lệnh Fordo; Vẽ được sơ đồ thực hiện lệ[r]

Trang 1

Ngày soạn: 24/11/2007

(Tiết PPCT: 13)

I MỤC ĐÍCH YÊU CẦU:

1 Kiến thức:

-Biết được ý nghĩa của cấu trúc lặp;

-Biết được cấu trúc của lệnh lặp For-do trong ngôn ngữ lập trình Pascal;

-Biết sử dụng đúng hai dạng lệnh lặp For-do trong ngôn ngữ lập trình Pascal

2 Kỹ năng:

Bước đầu sử dụng được lệnh For-do để viết chương trình giải quyết được một số bài toán đơn giản

3 Thái độ:

II CHUẨN BỊ:

1 Tài liệu, bài tập: SGK, SGV.

2 Dụng cụ, thiết bị:

III TIẾN TRÌNH LÊN LỚP:

1 Ổ định, tổ chức lớp: CBL báo cáo sĩ số.

2 Kiểm tra bài cũ: -Viết chương trình nhập vào hai số bất kỳ và xuất ra màn hình giá

trị lớn nhất của hai số

3 Bài giảng:

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1:

-Nội dungHĐ: Tìm hiểu ý nghĩa của cấu

trúc lặp

-Mục tiêu: HS thấy được sự cần thiết của

cấu trúc lặp trong lập trình

-Các bước tiến hành:

GV: Gợi ý phương pháp và yêu cầu HS

xác định công thức toán học để tính tổng?

HS: Suy nghĩ và đưa ra công thức

GV: -Đối với BT1, số lần lặp là 100 và

việc cộng vào tổng S sẽ kết thúc khi đã

thực hiện việc cộng 100 lần

-Đối với BT2, số lần lặp chưa biết

trước nhưng việc cộng vào tổng S sẽ kết

thúc khi điều kiện 1/(a + N) < 0,0001

được thỏa mãn

HS: Chú ý lắng nghe

1/ Lặp:

Với a là số nguyên và a>2, xét các bài tóan sau:

BT1: (SGK tr 42)

S = + 1 + + … +

a

1 1

a

1 2

a

1 100

a BT2: (SGK tr 42)

a

1 1

a

1 2

a

1

aN

Cách tính tổng S cả 2 BT, có nhiều điểm tương tự:

-Xuất phát, S  1/a;

-Tiếp theo, S  S + 1/(a + N);

với N = 1, 2, 3 -Việc cộng này được lặp lại một số lần

Cấu trúc lặp mô tả thao tác lặp và được

phân biệt có 2 loại là lặp với số lần biết trước và lặp với số lần chưa biết trước

Trang 2

Hoạt động 2:

-Nội dungHĐ: Tìm hiểu câu lệnh For-do.

-Mục tiêu: HS biết được cấu trúc chung

của câu lệnh For-do; Hiểu được ý nghĩa

của các thành phần trong lệnh; Biết được

sự thực hiện của máy khi gặp lệnh

For-do; Vẽ được sơ đồ thực hiện lệnh For-do

-Các bước tiến hành:

GV: Nêu nội dung BT1 Chia lớp thành 4

nhóm, 2 nhóm viết 1 TT giải quyết BT1

HS: Làm việc theo nhóm và đưa ra TT

GV: Giải thích thuật toán

HS: Chú ý nghe

GV: Yêu cầu HS nghiên cứu SGK và cho

biết cấu trúc chung của lệnh For-do?

HS: Đưa ra cấu trúc chung lệnh For-do

GV: Hãy cho biết ý nghĩa của <giá trị

đầu>, <giá trị cuối> và kiểu dữ liệu của

chúng?

HS: Dùng để làm giới hạn cho biến đếm

và cùng kiểu với biến đếm

GV: Giải thích sự thực hiện của máy khi

gặp lệnh For-do

HS: Chú ý lắng nghe

GV: Vẽ được sơ đồ thực hiện lệnh For-do

và giải thích các bước thực hiện của máy

*Sơ đồ dạng lặp tiến:

2/ Lặp với số lần biết trước và câu lệnh For- do:

BT1:

*Thuật toán Tong_1a:

B1: S  1/a ; N  0;

B2: N  N+1;

B3: Nếu N > 100 thì chuyển đến B5;

B4: S  S +1/(a + N); rồi quay lại B2; B5: Đưa S ra màn hình, rồi kết thúc

*Thuật toán Tong_1b:

B1: S  1/a ; N  101;

B2: N  N -1;

B3: Nếu N < 1 thì chuyển đến B5;

B4: S  S +1/(a + N); rồi quay lại B2; B5: Đưa S ra màn hình, rồi kết thúc Để mô tả cấu trúc lặp với số lần biết trước, Pascal dùng câu lệnh For-do với 2 dạng tiến và lùi

a/ Dạng lặp tiến:

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

cuối> do <câu lệnh> ;

b/ Dạng lặp lùi:

for <biến đếm>:= <giá trị cuối> downto

<giá trị đầu> do <câu lệnh> ;

Trong đó:

-Biến đếm là biến đơn thường có kiểu nguyên

-Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm

- Giá trị đầu <= giá trị cuối

-Nếu giá trị đầu > giá trị cuối thì vòng lặp không được thực hiện

*Ghi chú: Giá trị của biến đếm được điều

chỉnh tự động vì vậy câu lệnh viết sau do

không được thay đổi giá trị biến đếm

Biến đếm := giá trị đầu

B đếm<= G.trị cuối

Đúng

Sai

Trang 3

*Sơ đồ dạng lặp lùi:

*Dạng lùi: Câu lệnh sau từ khoá do được

thực hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu

4.Tổng kết nội dung, đánh giá cuối bài:

-Cấu trúc chung của lệnh For-do;

-Sơ đồ thực hiện của cấu trúc For-do

5.Dặn dò, kế hoạch học tập tiết sau:

-Về nhà học bài và xem trước ví dụ 1, ví dụ 2 (SGK tr44)

IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:

Biến đếm := giá trị cuối

Lệnh cần lặp;

Biến đếm giảm 1

B đếm>= G.trị cuối

Đúng

Sai

Trang 4

Ngày soạn: 24/11/2007

(Tiết PPCT: 14) III TIẾN TRÌNH LÊN LỚP:

1 Ổ định, tổ chức lớp: CBL báo cáo sĩ số.

2 Kiểm tra bài cũ: Hãy trình bày cấu trúc lặp với số lần biết trước For-do với 2 dạng

tiến và lùi? Cho biết sự khác nhau giữa dạng lặp tiến với dạng lặp lùi?

3 Bài giảng:

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1:

-Nội dungHĐ: Rèn luyện kĩ năng vận

dụng câu lệnh For- do trong VD1

-Mục tiêu: Sử dụng đúng lệnh lặp For-do

để giải quyết một số bài toán đơn giản

-Các bước tiến hành:

GV: Yêu cầu HS nhắc lại thuật toán

Tong_1a giải quyết BT1 ở tiết trước?

HS:

Thuật toán Tong_1a:

B1: S  1/a ; N  0;

B2: N  N+1;

B3: Nếu N > 100 thì chuyển đến B5;

B4: S  S +1/(a + N); rồi quay lại B2;

B5: Đưa S ra màn hình, rồi kết thúc

GV: Yêu cầu HS xác định giá trị đầu, giá

trị cuối và lệnh cần lặp lại trong TT?

HS: -giá trị đầu: 1,

-giá trị cuối: 100

-lệnh cần lặp lại: S:= S + 1.0/(a+N)

GV: Hướng dẫn HS viết chương trình

HS: Thực hiện

GV: Yêu cầu HS nhắc lại thuật toán

Tong_1b giải quyết BT1?

HS:

Thuật toán Tong_1b:

2/ Lặp với số lần biết trước và câu lệnh For- do: (tt)

d/ Vận dụng:

VD1: (SGK tr44)

program Tong_1a;

uses crt;

var S: real;

a, N: integer;

begin clrscr;

write(‘Hay nhap gia tri a vao!’);

readln(a);

S:= 1.0/a;

for N:=1 to 100 do

S:= S + 1.0/(a+N);

write(‘Tong S la:’, S:8:4);

readln end

program Tong_1b;

uses crt;

var S: real;

a, N: integer;

begin clrscr;

write(‘Hay nhap gia tri a vao!’);

readln(a);

Trang 5

GV: Yêu cầu HS xác định giá trị đầu, giá

trị cuối và lệnh cần lặp lại trong TT?

HS: Trả lời các yêu cầu của GV

GV: Hướng dẫn HS viết chương trình

HS: Thực hiện

Hoạt động 2:

-Nội dungHĐ: Rèn luyện kĩ năng vận

dụng câu lệnh For- do trong VD2

-Mục tiêu: Sử dụng đúng lệnh lặp For-do

để giải quyết một số bài toán đơn giản

-Các bước tiến hành:

GV: Gọi HS đọc nội dung VD2 (SGK)

HS: Đọc nội dung VD

GV: Yêu cầu HS xác định bài toán?

HS: Đứng tại chỗ trả lời

GV: Hướng dẫn HS viết thuật toán

HS: Làm việc theo nhóm, sau đó đưa ra

thuật toán

GV: Yêu cầu HS xác định giá trị đầu, giá

trị cuối và lệnh cần lặp lại trong BT?

HS: Trả lời các yêu câu của GV

GV: Hướng dẫn HS viết chương trình

HS: Thực hiện

VD2: (SGK tr45)

*XĐBT:

-Input: Nhập hai số nguyên dương M, N (M < N)

-Output: Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ M đến N

*Thuật toán:

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

program Vi_du_2;

uses crt;

var M, N, I: integer;

Tong: longint;

begin clrscr;

writeln(‘Nhap so M nho hon N’);

write(‘M = ’); readln(M);

write(‘N = ’); readln(N);

Tong:= 0;

for I:= M to N do

if (I mod 3 = 0) or (I mod 5 = 0) then Tong:= Tong + I;

writeln(‘Ket qua: ‘, Tong);

readln end

4.Tổng kết nội dung, đánh giá cuối bài:

-Câu lệnh For .to .do và câu lệnh for downto do

5.Dặn dò, kế hoạch học tập tiết sau:

-Xem học bài và làm bài 5a (SGK tr 51)

-Xem trước phần 3/ Lặp với số lần chưa biết trước và câu lệnh While-do.

IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:

Trang 6

Ngày soạn: 24/11/2007

(Tiết PPCT:15) III TIẾN TRÌNH LÊN LỚP:

1 Ổ định, tổ chức lớp: CBL báo cáo sĩ số.

2 Kiểm tra bài cũ: Viết chương trình tính tổng S = 2 + 4 + 6 + + 100.

3 Bài giảng:

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1:

-Nội dungHĐ: Lặp với số lần chưa biết

trước và câu lệnh While-do

-Mục tiêu: HS biết được cấu trúc chung

của câu lệnh While-do; Hiểu được ý nghĩa

của các thành phần trong lệnh; Biết được

sự thực hiện của máy khi gặp lệnh

do; Vẽ được sơ đồ thực hiện lệnh

While-do

-Các bước tiến hành:

GV: Nêu nội dung BT2 Cho HS viết TT

giải quyết BT2

HS: Đưa ra TT

GV: Giải thích thuật toán

HS: Chú ý nghe

GV: Yêu cầu HS nghiên cứu SGK và cho

biết cấu trúc chung của lệnh While-do?

HS: Đưa ra cấu trúc chung lệnh While-do

GV: Hãy cho biết ý nghĩa của lệnh

While-do?

HS: Trả lời câu hỏi

GV: Giải thích sự thực hiện của máy khi

gặp lệnh While-do

HS: Chú ý lắng nghe

GV: Vẽ được sơ đồ thực hiện lệnh

While-3/ Lặp với số lần chưa biết trước và câu lệnh While-do:

BT2:

Thuật toán Tong_2:

B1: Nhập a;

B2: S  1/a ; N  0;

B3: Nếu 1/(a + N) < 0,0001 thì chuyển đến B6;

B4: N  N+1;

B5: S  S +1/(a + N); rồi quay lại B3; B6: Đưa S ra màn hình, rồi kết thúc

*Cú pháp:

While <điều kiện> do <câu lệnh>;

trong đó : -Điều kiện là biểu thức logic;

-Câu lệnh là một lệnh đơn hay ghép;

*Thực hiện:

Đầu tiên vào kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh sau

từ khoá do sau đó quay lên kiểm tra điều

kiện, quá trình cứ lặp liên tiếp cho đến khi gặp điều kiện sai thì thoát khỏi vòng lặp while-do

*Sơ đồ:

Trang 7

Hoạt động 2:

-Nội dungHĐ: Rèn luyện kĩ năng vận

dụng câu lệnh While-do

-Mục tiêu: Sử dụng đúng lệnh lặp For-do

để giải quyết một số bài toán đơn giản

-Các bước tiến hành:

VD1:

GV: Hướng dẫn HS vẽ sơ đồ TT Tong_2

HS: Lên bảng vẽ sơ đồ:

GV: Hướng dẫn HS viết chương trình

HS: Thực hiện

VD2:

GV: Nhắc lại TT Tìm ƯCLN(M,N) đã học

ở lớp 10

HS: Chú ý theo dõi

GV: Hướng dẫn HS vẽ sơ đồ TT

HS: Lên bảng vẽ sơ đồ:

GV: Hướng dẫn HS viết chương trình

HS: Thực hiện

*Vận dụng:

VD1: (SGK tr 46)

Chương trình tính Tong_2 như sau:

Program Tong_2;

uses crt;

var S: real;

a, N: integer;

begin

write(‘Hay nhap gia tri a vao!’);

readln(a);

S:= 1.0/a;

N:= 0;

while not(1/(a+N) < 0.0001) do begin

N := N+1;

S := S+1.0/(a+N);

end;

writeln(‘Tong S la: ‘, S:8:4);

readln

end.

VD2: (SGK tr47) Tìm ƯCLN(M,N)

*Thuật toán:

B1: Nhập M, N;

B2: Nếu M = N thì lấy giá trị chung làm ƯCLN rồi chuyển đến B5 B3: Nếu M > N thì M M –N

ngược lại N N-M;

B4: Quay lại B2;

B5: Đưa ra kết quả ƯCLN rồi kết thúc

*Chương trình tìn ƯCLN:

Program UCLN;

var M, N: integer;

begin

write(‘Hay nhap gia tri cho M và N:’); readln(M, N);

while M < > N do

if M >N then M:=M–N else N:=N–M;

writeln(‘UCLN = ‘, M);

readln

end.

1/(a+N)

< 0,0001

Đúng

Sai

Nhập a

S  1/a;

N  0

N  N+1;

S  S+1/(a+N)

Đưa ra S, Rồi kết thúc

Đưa ra M;

Kết thúc

Nhập M,N

M=N M>N N  N - M

M  M - N

Trang 8

4.Tổng kết nội dung, đánh giá cuối bài:

-Ý nghĩa của cấu trúc lặp có số lần chưa xác định

-Cấu trúc chung của lệnh While-do trong ngôn ngữ Pascal.

-Sơ đồ thực hiện của lệnh lặp do; Sự thực hiện của máy khi gặp lệnh While-do

5.Dặn dò, kế hoạch học tập tiết sau:

-Xem học bài và làm bài 5b, 6, 7, 8 (SGK tr 51)

-Xem trước Bài tập và thực hành 2: Cấu trúc rẽ nhánh và lặp.

IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:

Ngày đăng: 01/04/2021, 21:56

TỪ KHÓA LIÊN QUAN

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

w