Tải bản đầy đủ (.pptx) (21 trang)

Slide Bài 7 tin 8

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.14 MB, 21 trang )

Bài 7

CÂU LỆNH LẶP

Thời gian 2 tiết


1.CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN

Hãy quan sát các ảnh sau

Mỗi
Học
Đánh
ngày
cho
răng
tắm
đến
mỗi
mkhi
ộtngày
lần
thuộc
làhai
công
bài
lần
à
việc
làcông


công
lviệc
ặpviệc
việc
lại
với
lặp
lặp
lại
lạilần
với
với
số
số
ấtlần
lần
định
không
nhđịnh

ất định
biết
thể
trước
và biết
định
. trước
được.
Đi
h

ọc
mỗi
ngày
một
lần
là lcông
lặp
lạisố
với
sốnh
lần
nh
ất
vàxác
biết
trước
. .


1.CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN

Trong cuộc sống hằng ngày, nhiều hoạt động được 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 cơng việc với số lần không thể
xác định được: học cho đến khi thuộc bài,nhặt từng cọng rau cho đến khi xong,…

Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy 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

Ví dụ 1.

Giả sử ta cần vẽ ba hình vng có cạnh 1 đơn vị như hình 33. Mỗi hình

vng 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 vng ba lần.

Hình 33


2. CÂU LỆNH LẶP_MỢT LỆNH THAY CHO NHIỀU LỆNH

1

2

2

•Việc vẽ hình có thể thực hiện được bằng thuật tốn sau đây:
Bước 1. Vẽ hình vng ( vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
Bước 2. Nếu số hình vng đã vẻ được ít hơn 3, di chuyển bút vẻ về bên phải hai đơn vị và trở lại bước 1;
ngược lại kết thúc thuật toán.


2. CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH

Riêng bài tốn vẽ một hình vng (hình 34), thao tác chính là vẽ bốn cạnh bằng

nhau, hãy 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 90 sang phải tại vị trí của bút vẽ.

.....

Hình 34


Thuật tốn sau đây sẽ mơ tả các bước để vẽ hình vng:

Bước1. K

0 ( là số đoạn thẳng đã vẽ được)

Bước2. K

K+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước

sang phải.
90

0

Bước3. Nếu K < 4 thì trở lại bước2; Ngược lại, kết thúc thuật
.....

toán.


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.

Thuật tốn sau đây sẽ mô tả việc thực hiện lặp lại phép cộng 100
lần:

Bước1. SUM
Bước2. I

0; i

0.

i+1.

Bước3. Nếu i ≤ 100, thì SUM

SUM + i và quay lại bước 2.

Bước4. Thơng báo kết quả và kết thúc thuật toán.


Hãy nêu cấu trúc dạng lặp tiến?

For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

Biến đếm: biến kiểu nguyên, kí tự
Giá trị đầu, giá trị cuối là 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.
Câu lệnh: Không được làm thay đổi giá trị biến đếm, Nếu có nhiều hơn một lệnh thì phải
đặt trong cặp từ khoá Begin ... end;


Ví dụ S:=1;
FOR i:=2 TO 100 DO S:=S+1/i;


SƠ ĐỒ KHỐI

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

Sai
Biến đếm<=giá trị cuối
Quan sát sơ đồ khối, hãy
cho biết sự thực hiện của
máy?

Đúng

Lệnh cần lặp biến đếm tăng 1

• Bước 1: tính giá trị đầu, gán cho biến đếm.
• Bước 2: Nếu biến đếm <= giá trị cuối thì:
• thực hiện lệnh cần lặp.
• tăng biến đếm 1 đơn vị, quay lại bước 2


3. CẤU TRÚC DẠNG LẶP TIẾN

Chương trình sau sẽ in ra màn hình số lần lặp

Program lap;

Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘Day la lan lap thu ’,i);
Readln
end.


Để in một chữ “O” trên màn hình, ta có thể sử dụng lệnh

Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
Readln
end.


4. CẤU TRÚC DẠNG LẶP LÙI

Hãy nêu cấu 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>;


Biến đếm: biến kiểu nguyên, kí tự
Giá trị đầu, giá trị cuối là 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.

Ví dụ

S:=1;
FOR i:=100 DOWNTO 2 DO S:=S+1/i;


SƠ ĐỒ KHỐI

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

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

Quan sát sơ đồ khối, hãy
cho biết sự thực hiện của

Đúng

máy?
Lệnh cần lặp biến đếm giảm 1

• Bước 1: tính giá trị đầu, gán cho biến đếm.
• Bước 2: Nếu biến đếm >= giá trị cuối thì:
• thực hiện lệnh cần lặp.
• giảm biến đếm 1 đơn vị, quay lại bước 2



Lưu ý:

+ Biến đếm là biến đơn, có kiểu nguyên hoặc kí tự.
For i:=1 to 10 do write(i);
For i:=‘a’ to ‘z’ do write(i);

+ Giá trị đầu, giá trị cuối là các biểu thức có cùng kiểu với biến đếm. Giá trị đầu phải nhỏ hơn giá trị
cuối.

For i:= 100 to 200 do write(i);

+ 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


5. TÍNH TỞNG BẰNG CÂU LỆNH LẶP

Viết chương trình tính tổng
S=1+2+3+4+5

Program Tinh_tong;
Uses crt;
Var i: integer;
S: longint;
Begin
S:=0;
For i:= 1 to 5 do S:= S + 1;
Writeln (‘Tong cua S = ’,s);
Readln

end.


5. TÍNH TỞNG BẰNG CÂU LỆNH LẶP

Viết chương trình 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

Program Tinh_tong;
Uses crt;
Var N, i: integer;
S: longint;
Begin
write(‘Nhap so N = ‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong cua S = ’,N,’ So tu nhien dau tien S = ‘,S);
Readln
end.


5. TÍNH TỞNG BẰNG CÂU LỆNH LẶP

Ta kí hiệu N! là tích N số tự nhiên đầu tiên:
N! = 1.2.3…N
- Viết 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.

Program Tính_Giai_thua;
Uses crt;

Var i, N: integer;
P: longint;
Begin
write (‘Nhap N = ‘); readln (N);
P:= 1;
For i:= 1 to N do P:= P*i;
Writeln (N,’! = ’,P);
Readln
end.


5. TÍNH TỔNG BẰNG CÂU LỆNH LẶP

Em hãy viết chương trình tính tổng các số ngun liên tiếp từ n đến m với n,m
là các số nguyên dương nhập vào từ bàn phím

Program tinh_tong;
Uses crt;
Var m, n, i: integer;
S: longint;
Begin
write (‘Nhap n = ‘); readln ( n);
write (‘Nhap m=‘); readln ( m);
S:=0;
For i:= n to m do S:= S + n;
Writeln (‘Tong cua S = ’,s); Readln
end.


GHI NHỚ


1. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó
cho đến khi một điều kiện nào đó được thoả mãn.

2. Mọi ngơn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp.
3. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh For … do


Bài học đã
KẾT THÚC

Thân ái chào các em

Thực hiện tháng 01 năm 2009



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

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