1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Bai 10 Cau truc lap

18 8 0

Đ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

Định dạng
Số trang 18
Dung lượng 2,44 MB

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

Nội dung

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... Lặp với số lần biết trước và câu lệnh For-do.[r]

Trang 1

Bài 10

Cấu trúc lặp

(tiết 1)

SỞ GD – ĐT THÁI NGUYÊN

TRƯỜNG THPT LƯƠNG PHÚ

TRƯỜNG THPT

LƯƠNG PHÚ

Giáo viên: PHAN HOÀNG THẢO

Trang 2

Edit by Phan Hoàng Thảo, 2013

Nội dung

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

Trang 3

Bài toán 1:

Bài toán 2:

100

1

2

1 1

1

1

a a

a a

S

1

2

1 1

1

1

N a

a a

a S

Các bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2

cho đến khi 1  0 0001

N a

1 Lặp

Trang 4

XuÊt ph¸t

a

1

1

a

LÇn 1

2

1

a

LÇn 2

+…

LÇn N

N

a 

Mçi lÇn thùc hiÖn gi¸ trÞ tæng S t¨ng thªm bao nhiªu? 1

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

TÌM HIỂU BÀI TOÁN

Trang 5

Bài toán 1: Bài toán 2:

100

1

2

1 1

1

1

a a

a a

2

1 1

1

1

N a

a a

a S

Cho đến khi a1 N0 . 0001

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

Việc tăng giá trị cho tổng

S đ ợc lặp đi lặp lại cho

đến khi

0.0001 N

a

1

• 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 ch a biết tr ớc.

Em hóy xỏc định việc tăng giỏ trị cho tổng S được lặp lại bao nhiờu

lần?

Trang 6

THPT Nguyễn Văn Trỗi

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.

Từ các ví dụ, em hãy cho

biết khái niệm Lặp?

Trang 7

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.

Có 2 thuật toán Tong_1a và Tong_1b để giải bài toán 1 như sau:

Thuật toán

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

Trang 8

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>;

a) CÊu tróc c©u lÖnh For do

Trang 9

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.

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); ’ ’ ’ ’

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

Trang 10

Biến đếm

Cõu lệnh sau Do

Thực hiện

Gt đầu Gt đầu + 1 Gt đầu + 2 Gt cuối

Thực hiện

lần 1

Thực hiện

lần 1

Thực hiện

lần 2

Thực hiện

lần 2

Thực hiện

lần 3

Thực hiện

lần 3

Thực hiện lần cuối

Thực hiện lần cuối

Dạng lặp Tiến: for to do

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

Trang 11

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

b) Hoạt động của For do

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

Trang 12

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

b) Hoạt động của For do

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

Trang 13

c) Ví dụ áp dụng

Ví dụ 1: Hãy áp dụng câu lệnh lặp dạng tiến để viết ch

ơng trình giải bài

toán 1.

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

Viết chương trỡnh cho thuật toỏn Tổng_1a(Lặp tiến)

Begin

Program Tong_1a ;

Uses crt ;

Var a, N : Integer ; S : real ;

Begin

Write(’Hay nhap vao gia tri a: ’) ; Readln(a) ;

S := 1/a ;

Write(’Tong S la : ’, S : 8 : 3) ; Readln

End.

For N := 1 to 100 do

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

{ Bước 1 } { Bước 2 và Bước 3 } { Bước 4 }

{ Bước 5 } { Phần khai bỏo }

Trang 14

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 –

c) Ví dụ áp dụng

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

Trang 15

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) ;

T := 0 ;

Write(’KET QUA: ’, T) ; Readln

End.

For i := M to N do

Write(’Nhap N = ’); Readln(N) ;

If (i mod 3 = 0) or (i mod 5 = 0) then T := T + i ;

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

Chương trình

Trang 16

Cñng cè kiÕn thøc

 C©u lÖnh lÆp

FOR TO DO …

FOR Downto DO

+ Ý nghĩa: Lặp với số lần biết trước

+ Có 2 dạng:

- 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

- 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

Trang 17

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)

b)

50

1

6

1 4

1 2

1

S

101

5 3

S

Trang 18

Thực hiện tháng 11 năm 2013

Ngày đăng: 16/09/2021, 15:24

TỪ KHÓA LIÊN QUAN

w