Tải bản đầy đủ (.ppt) (18 trang)

Bai 10 Cau truc lap

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.26 MB, 18 trang )

<span class='text_page_counter'>(1)</span>SỞ GD – ĐT THÁI NGUYÊN TRƯỜNG THPT LƯƠNG PHÚ. Bài 10. Cấu trúc lặp (tiết 1). TRƯỜNG THPT LƯƠNG PHÚ. Giáo viên: PHAN HOÀNG THẢO.

<span class='text_page_counter'>(2)</span> Nội dung Edit by Phan Hoàng Thảo, 2013. Tìm hiểu Lặp Lặp với số lần biết trước: For - do. Bài tập ví dụ và luyện tập.

<span class='text_page_counter'>(3)</span> 1. Lặp. Các bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2. Bµi to¸n 1:. 1 1 1 1 S    ...  a a 1 a  2 a  100 Bµi to¸n 2:. 1 1 1 1 S    ...   ... a a 1 a  2 aN 1  0.0001 cho đến khi aN.

<span class='text_page_counter'>(4)</span> TÌM HIỂU BÀI TOÁN. XuÊt ph¸t. 1 S  a. LÇn 1. 1  a 1. LÇn 2. LÇn N. 1  a2. +…. 1  aN. 1 thªm bao nhiªu? Mçi lÇn thùc hiÖn gi¸ trÞ tæng S t¨ng . Sau mçi lÇn thùc hiÖn gi¸ trÞ tæng S t¨ng thªm. ( víi N=1; 2; 3 ; ...) a+N.

<span class='text_page_counter'>(5)</span> Bµi to¸n 1:. Bµi to¸n 2:. 1 1 1 1 S    ...  a a 1 a  2 a  100. 1 1 1 1 S    ...   ... a a 1 a  2 aN 1 Cho đến khi a  N  0.0001. • ViÖc t¨ng gi¸ trÞ cho tæng • ViÖc t¨ng gi¸ trÞ cho đợc lặp đi lặp lại cho hãy xác địnhSviệc tổng S đợc lặp đi Em lÆp đếnSkhi tăng giá trị cho tổng l¹i 100 lÇn. được lặp lại bao nhiêu lần?. 1  0.0001 aN.  Sè lÇn lÆp biÕt tríc..  Sè lÇn lÆp cha biÕt tríc..

<span class='text_page_counter'>(6)</span> Từ các ví dụ, em hãy cho biết khái niệm Lặp?. Lặp là các công việc (thao tác) giống nhau được thực hiện nhiều lần trong chương trình.. THPT Nguyễn Văn Trỗi.

<span class='text_page_counter'>(7)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. Có 2 thuật toán Tong_1a và Tong_1b để giải bài toán 1 như sau:. Thuật toán. Thuật toán Tong_1a Bước 1. S1/a; N 0; Bước 2. N N+1; Bước 3. Nếu N > 100 thì chuyển đến bước 5; Bước 4. S S+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_1b Bước 1. S1/a; N 101; Bước 2. N N-1; Bước 3. Nếu N < 1 thì chuyển đến bước 5; Bước 4. S S+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..

<span class='text_page_counter'>(8)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. a) CÊu tróc c©u lÖnh For – do Dạng lặp tiến: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh lặp>;. Lặp số lần biết trước. Dạng lặp lùi: For <biến đếm>:=< giá trị cuối> downto < giá trị đầu> do <câu lệnh lặp>;.

<span class='text_page_counter'>(9)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. Trong đó  For, to, downto, do lµ c¸c tõ khãa.  Biến đếm là biến kiểu số nguyên hoặc kí tự. For i:=1 to 10 do write(i); For i:=’z’ downto ’a’ do write(i);  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 hoặc bằng giá trị cuối. For i:= 100 to 200 do write(i);.  Giá 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..

<span class='text_page_counter'>(10)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. b) Hoạt động của For – do Dạng lặp Tiến:. for ... to ... do. Biến đếm Gt đầu. Gt đầu + 1. Gt đầu + 2. Câu lệnh sau Do. Thực hiện. Thực hiện Thực hiện lần lầncuối 321. …. Gt cuối.

<span class='text_page_counter'>(11)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. b) Hoạt động của For – do. Dạng lặp tiến:. for ... to ... do. Câu lệnh sau 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 tăng từ giá trị đầu đến giá trị cuối.

<span class='text_page_counter'>(12)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. b) Hoạt động của For – do. Dạng lặp lùi:. for ... downto ... do. Câu lệnh sau 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.

<span class='text_page_counter'>(13)</span> 2. Lặp với số lần biết trước và câu lệnh For-do Viết¸p chương c) VÝ dô dôngtrình cho thuật toán Tổng_1a(Lặp tiến) Program Tong_1a ; Uses crt ; VÝ dô 1: H·y ¸p { Phần khai báo } Var a, N : Integer ; S : real ; dông c©u lÖnh lÆp Begin Begin dạng tiến để viết ch. ¬nggiatr×nh Write(’Hay nhap vao tri a:gi¶i ’) ; bµi to¸n 1. Readln(a) ; S := 1/a ; { Bước 1 } For N := 1 to 100 do { Bước 2 và Bước 3 } { Bước 4 } S := S + 1/(a + N) ; { Bước 5 } Write(’Tong S la : ’, S : 8 : 3) ; Readln End..

<span class='text_page_counter'>(14)</span> 2. Lặp với số lần biết trước và câu lệnh For-do. c) VÝ dô ¸p dông Ví dụ 2: Viết chương trình nhập vào từ bàn phím 2 số nguyên dương M và N (M<N), tính và đưa ra màn hình tổng các số chia hết cho 3 hoặc cho 5 trong phạm vi từ M đến N ? Hãy xác định giá trị khởi đầu của Tổng (T), quy luật thay đổi giá trị của Tổng (T) và số lần lặp. ? Viết chơng trình để giải bài toán trên.. - T:= 0; - T:= T + i; - i chạy từ M đến N => Số lần lặp là N – M +1 lần..

<span class='text_page_counter'>(15)</span> 2. Lặp với số lần biết trước và câu lệnh For-do Chương trình. Program Vi_du_2 ; Var M, N, i : Integer ; T : longint ; Begin Write(’Hay nhap vao gia tri M nho hơn N ’) ; Write(’Nhap M = ’); Readln(M) ; Write(’Nhap N = ’); Readln(N) ; T := 0 ; For i := M to N do If (i mod 3 = 0) or (i mod 5 = 0) then T := T + i ; Write(’KET QUA: ’, T) ; Readln End..

<span class='text_page_counter'>(16)</span> Cñng cè kiÕn thøc  C©u lÖnh lÆp + Ý nghĩa: Lặp với số lần biết trước. + Có 2 dạng: FOR ... TO ... DO ...…. - Lặp tiến: giá trị biến đếm tăng thêm 1 Công việc sau Do sẽ được thực hiện tuần tự từ giá trị đầu đến giá trị cuối. FOR ... Downto ... DO .... - Lặp lùi: giá trị biến đếm giảm đi 1 Công việc sau Do sẽ được thực hiện tuần tự từ giá trị cuối về giá trị đầu.

<span class='text_page_counter'>(17)</span> BÀI TẬP VỀ NHÀ ViÕt ch¬ng tr×nh thùc hiÖn gi¶i c¸c bµi to¸n sau:. a). 1 1 1 1 S     ...  2 4 6 50. b). S 1  3  5  ...  101.

<span class='text_page_counter'>(18)</span> Thực hiện tháng 11 năm 2013.

<span class='text_page_counter'>(19)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×