bgt1

17
Dẫn dắt vào bài: Xét công việc đổ nước vào bình từ hồ nước bằng ca 1 lít: 1. Đổ vào bình thể tích 30 lít , ta phải đổ bao nhiêu lần thì bình đầy? 2. Đổ vào bình không biết dung tích ta phải đổ bao nhiều lần thì bình đầy? Hồ nước Bình nước 20 lít 1 lít

Upload: xuan-nguyen

Post on 22-May-2015

111 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Bgt1

D n d t vào bài:ẫ ắ

Xét công việc đổ nước vào bình từ hồ nước bằng ca 1 lít:

1. Đổ vào bình thể tích 30 lít , ta phải đổ bao nhiêu lần thì bình đầy?

2. Đổ vào bình không biết dung tích ta phải đổ bao nhiều lần thì bình đầy?

H n cồ ướ Bình n c 20 lítướ

1 lít

Page 2: Bgt1

Một số thuật toán có những thao tác phải thực hiện lặp đi, lặp lại một số lần. Một trong các đặc trưng của máy tính là có khả năng thực hiện hiệu quả các thao tác lặp này. VD1: Bài toán tính tổng cộng dồn các số từ 1, 2, ... đến 100

S = 1 + 2 + 3 + ... + 98 + 99 + 100 = ?

Thuật toán giải quyết bài toán trên ?

Cộng dồn các số từ 1, môi lần tăng một giá tri - thực hiện đúng 100 lần để ra được kết quả cuối cùng.

VD2: Bài toán tìm ước số chung lớn nhất của 2 số. Thuật toán ?

So sánh 2 số, lấy số lớn trừ số bé cho đến khi giá tri 2 số bằng nhau thì giá tri đó là UCLN của 2 số.

Vậy khi viết chương trình máy tính, để chỉ dẫn cho máy tính thực hiện đúng công việc tương tự như trên ta sẽ tìm hiểu 1 cấu trúc lệnh mới trong lập trình Pascal: “Cấu trúc lặp”

Page 3: Bgt1

Tr ng: ĐH S Ph m TP.HCMườ ư ạKhoa: Công Ngh Thông Tinệ

Môn: Ph ng Pháp D y H c 3ươ ạ ọ

TIN H C 11- CH NG 3: Ọ ƯƠC U TRÚC RẼ NHÁNH VÀ L PẤ Ặ-BÀI 10: C U TRÚC L P.Ấ Ặ

GVHD: Cô Nguy n Th Ng c Hoaễ ị ọSVTH: Nguy n Th Thanh Xuân–K36.103.090ễ ịL P: Tin4Ớ

Page 4: Bgt1

Nội dung bài học

Lặp1

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

Củng cố và bài tập về nhà3

4

Page 5: Bgt1

KHÁI NIỆM

Lặp là điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi có một điều kiện nào đó còn đúng.

Có hai loại lặp

+ Lặp với số lần biết trước

+ Lặp với số lần chưa biết trước

1. L pặ

Page 6: Bgt1

Với a là số nguyên (a>2). Tính và đưa kết quả ra màn hình tổng

100

1...

2

1

1

11

aaaaS

Xuất phát

aS

1

Lần 1

1

1

a

Lần 2

2

1

a+…

Lần 100

100

1

a

Việc tăng giá trị cho tổng S được lặp đi lặp lại 100 lần

Số lần lặp biết trước

BAI TOAN TONG_1

Sau mỗi lần thực hiện cộng vào tổng S một giá trị bằng bao nhiêu?Sau mỗi lần thực hiện tổng S tăng thêm 1/(a+N) (với N= 1,2,3…,100)

Bài toán Tong_1

Page 7: Bgt1

aS

1

Nhận xétS0 = 1/aS1 = S0 + 1/(a+1)

S2 = S1 + 1/(a+2).....

S100 = S99 + 1/(a+100)

1

1

a. . . . . . . . . . . . . . . . . . . .

100

1

a+…

2

1

a

Bắt đầu từ S1 việc tính S được lặp đi lặp lại 100 lần theo quy luật Ssau = S trước + 1/(a+N)(với N = 1,2,…, 100)

Phân tích bài toán 1

Page 8: Bgt1

Nhiệm vụ: các nhóm đọc kỹ 2 thuật toán và trả lời câu hỏi:

Chia lớp thành 4 nhóm, môi nhóm 8 bạn, thời gian thảo luận là 5 phút, thời gian báo cáo của từng nhóm là 1,5 phút

2. L p v i s l n bi t tr cặ ớ ố ầ ế ướ

Thuật toán:Tong_1aB1: S:=1/a; N:=0;B2: N:=N+1;B3: Nếu N>100 thì chuyển sang bước 5;B4: S:=S+1/( a+N) rồi quay lại bước 2;B5: đưa ra S rồi kết thúc.

Thuật toánTong_1bB1: S:=1/a; N:= 101;B2: N:=N-1;B3: Nếu N<1 thì chuyển sang bước 5;B4: S:=S+1/( a+N) rồi quay lại bước 2;B5: đưa ra S rồi kết thúc.

Page 9: Bgt1

Bộ câu hỏi:• Bộ câu hỏi 1:

1. Thuật toán Tong_1a và thuật toán tong_1b khác nhau ở bước nào?2. Trong 2 thuật toán trên, khi nào thì ngừng việc tính tổng?3. Giá tri đầu, giá tri cuối của N là bao nhiêu? Biến đếm là biến nào?4. Việc cộng dồn giá tri mới vào S cũ được lặp lại bao nhiêu lần?

• Bộ câu hỏi 2: liên hệ cú pháp lệnh lặp với thuật toán và cho biết:1. Trình bày cú pháp dạng lặp tiến, dạng lặp lùi trong Pascal?2. Nêu những quy đinh cho biến đếm, giá tri đầu, giá tri cuối?3. Phân tích sự khác nhau cơ bản trong hoạt động của dạng lặp tiến và

dạng lặp lùi?

2. L p v i s l n bi t tr cặ ớ ố ầ ế ướ

Page 10: Bgt1

Báo cáo kết quả: môi nhóm cử 1 đại diện lên trình bày trước lớp về nội dung đã thảo luận theo yêu cầu của giáo viên. Các nhóm khác nhận xét, bổ sung, sau đó giáo viên đánh giá, tổng kết, cộng điểm khuyến khích cho nhóm có câu trả lời hay.

Nhóm 1: trả lời câu hỏi 1, 2 của bộ câu hỏi 1.Nhóm 2: trả lời câu hỏi 3.4 của bộ câu hỏi 1.Nhóm 3: trả lời câu hỏi 1,2 của bộ câu hỏi 2.Nhóm 4: trả lời câu hỏi 3 của bộ câu hỏi 2.

2. L p v i s l n bi t tr cặ ớ ố ầ ế ướ

Page 11: Bgt1

Bước 1. S1/a ; N0;

Bước 2. NN+1;

Bước 3. Nếu N>100 thì chuyển đến bước 5;

Bước 4. SS+1/(a+N) rồi quay lại bước 2;

Bước 5. Đưa S ra màn hình rồi kết thúc.

Thuật toán Tong_1a

Bước 1. S1/a ; N101;

Bước 2. NN-1;

Bước 3. Nếu N<1 thì chuyển đến bước 5;

Bước 4. SS+1/(a+N) rồi quay lại bước 2;

Bước 5. Đưa S ra màn hình rồi kết thúc.

Giá trị N khi bắt đầu tham gia vòng lặp là 1 và sau mỗi lần lặp N tăng lên 1 cho đến khi N>100(N=101) thì kết thúc.

Giá trị N khi bắt đầu tham gia vòng lặp là 100 và sau mỗi lần lặp N giảm đi 1 cho đến khi N<1 (N=0) thì kết thúc.

Thuật toán Tong_1b

100

1...

2

1

1

11

aaaaS

Số lần lặp của cả hai thuật toán trên là biết trước và như nhau (100 lần)

Với a là số nguyên(a>2). Tính và đưa kết quả ra màn hình tổng

2. L p v i s l n bi t tr cặ ớ ố ầ ế ướ

Page 12: Bgt1

FOR <biến đếm> := <giá tri đầu> TO <giá tri cuối> DO < câu lệnh>;

a. D ng 1 (d ng ti n)ạ ạ ế

Biến đếm là biến kiểu số nguyên hoặc kí tự.

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 phải nhỏ hơn giá trị cuối.

Gíá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau DO không được thay đổi giá trị biến đếm

Trong đób. D ng 2 (d ng lùi)ạ ạ

FOR <biến đếm> := <giá tri cuối> DOWNTO <giá tri đầu> DO <câu lệnh >;

Ví dụFOR i := 1 TO 10 DO S := S +1/i;FOR i := A TO Z DO write (i);

2. L p v i s l n bi t tr cặ ớ ố ầ ế ướ

Page 13: Bgt1

a. Sơ đồ khối dạng lặp tiến b. Sơ đồ khối dạng lặp lùi

So sánh s đ kh i 2 d ng c u trúc Forơ ồ ố ạ ấ

Page 14: Bgt1

a. Sơ đồ khối dạng lặp tiến b. Sơ đồ khối dạng lặp lùi

N < 1N >100

B1

B2

B3

B4

Đ S

B5

Đ S

S đ kh i 2 d ng l p For c a BT Tong_1a và Tong_1bơ ồ ố ạ ặ ủ

Page 15: Bgt1

1. Nhắc lại nội dung đã học-Cấu trúc chung của câu lệnh lặp For. Sơ đồ thực hiện của lệnh lặp For.2. Câu hỏi, bài tập về nhà-HS xem nội dung lại kiến thức bài học và bài tập về nhà tại: http://nttxk36.wordpress.com/

C ng c và bài t p v nhàủ ố ậ ề

Page 16: Bgt1

Bài t p c ng c ki n th cậ ủ ố ế ứQuiz

Click the Quiz button to edit this quiz

Page 17: Bgt1

Chúc các em h c t tọ ố