Bài 7. Câu lệnh lặp

Chia sẻ bởi Lâm Hồng Phúc | Ngày 24/10/2018 | 49

Chia sẻ tài liệu: Bài 7. Câu lệnh lặp thuộc Tin học 8

Nội dung tài liệu:

8 May 2012
GV. Lê Văn Hiệp
1
Bài 7: CÂU LỆNH LẶP
Tiết 39, 40
8 May 2012
GV. Lê Văn Hiệp
2
Bài 7: CÂU LỆNH LẶP
Các công việc phải thực hiện nhiều lần
Câu lệnh lặp - một lệnh thay cho nhiều lệnh
Ví dụ về câu lệnh lặp
Tính tổng và tích bằng câu lệnh lặp
8 May 2012
GV. Lê Văn Hiệp
3
1. Các công việc phải thực hiện nhiều lần

Trong cuộc sống, có những hoạt động mà chúng ta thực hiện lặp lại với một số lần nhất định
Chúng ta còn lặp lại những công việc với số lần không thể xác định trước
8 May 2012
GV. Lê Văn Hiệp
4
1. Các công việc phải thực hiện nhiều lần

 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, trong nhiều trường hợp ta 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
8 May 2012
GV. Lê Văn Hiệp
5
2. Các công việc phải thực hiện nhiều lần

Ví dụ 1. Giả sử ta cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông 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 vuông 3 lần
8 May 2012
GV. Lê Văn Hiệp
6
2. Các công việc phải thực hiện nhiều lần

8 May 2012
GV. Lê Văn Hiệp
7
2. Các công việc phải thực hiện nhiều lần

 Thuật toán vẽ 3 hình vuông có độ dài cạnh 1 đơn vị và cách nhau 1 đơn vị:
Bước 1. Vẽ hình vuông (vẽ liên tiếp 4 cạnh và trở về đỉnh ban đầu)
Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1; ngược lại, kết thúc thuật toán
8 May 2012
GV. Lê Văn Hiệp
8
2. Các công việc phải thực hiện nhiều lần

Với bài toán vẽ 1 hình vuông, thao tác chính là vẽ 4 cạnh bằng nhau, hay lặp lại 4 lần thao tác vẽ 1 đoạn thẳng. Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay 1 góc 90 độ sang phải tại vị trí của bút vẽ
8 May 2012
GV. Lê Văn Hiệp
9
2. Các công việc phải thực hiện nhiều lần

8 May 2012
GV. Lê Văn Hiệp
10
2. Các công việc phải thực hiện nhiều lần

 Thuật toán mô tả các bước vẽ một hình vuông:
- Bước 1. k  0 (k là số đoạn thẳng đã vẽ được)
Bước 2. k  k +1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 90 độ sang phải
8 May 2012
GV. Lê Văn Hiệp
11
2. Các công việc phải thực hiện nhiều lần


- Bước 3. Nếu k ≤ 4 thì trở lại bước 2; ngược lại, kết thúc thuật toán
Lưu ý: biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được

8 May 2012
GV. Lê Văn Hiệp
12
2. Các công việc phải thực hiện nhiều lầ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
8 May 2012
GV. Lê Văn Hiệp
13
2. Các công việc phải thực hiện nhiều lần

 Cách 1: Thuật toán không có hoạt động lặp:
- Bước 1. SUM  0
- Bước 2. SUM  SUM + 1
...
- Bước 101. SUM  SUM + 100
8 May 2012
GV. Lê Văn Hiệp
14
2. Các công việc phải thực hiện nhiều lần

 Cách 2: Thuật toán có hoạt động lặp:
Bước 1. SUM  0; i  0
Bước 2. i  i + 1
Bước 3. Nếu i ≤ 100, thì SUM  SUM + i và quay lại bước 2
Bước 4. Thông báo kết quả và kết thúc thuật toán
8 May 2012
GV. Lê Văn Hiệp
15
2. Các công việc phải thực hiện nhiều lần

 Cách mô tả các hoạt động lặp trong thuật toán như trong ví dụ trên được gọi là cấu trúc lặp
Mọi ngôn ngữ lập trình đều có “cách” để chỉ thị cho máy tính thực hiện cấu trúc lặp với 1 câu lệnh. Đó là câu lệnh lặp
8 May 2012
GV. Lê Văn Hiệp
16
3. Ví dụ về câu lệnh lặp

 Câu lệnh lặp thường gặp trong Pascal có dạng:
for := to do
Trong đó, for, to, do là các từ khóa, biến đếm là biến kiểu nguyên, giá trị đầu và giá trị cuối là các giá trị nguyên
8 May 2012
GV. Lê Văn Hiệp
17
3. Ví dụ về câu lệnh lặp

 Câu lệnh lặp sẽ thực hiện nhiều lần, mỗi lần, là một vòng lặp. Số vòng lặp là biết trước và bằng
giá trị cuối - giá trị đầu + 1
8 May 2012
GV. Lê Văn Hiệp
18
3. Ví dụ về câu lệnh lặp

Khi thực hiện, ban đầu biến đếm sẽ nhận giá trị là giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối
8 May 2012
GV. Lê Văn Hiệp
19
3. Ví dụ về câu lệnh lặp

 Ví dụ 3. Chương trình sau sẽ in ra màn hình thứ tự lặp:
program Lap;
var i: Integer;
begin
for i:=1 to 10 do
writeln(‘Day la lan lap thu ’, i);
Readln
end.
8 May 2012
GV. Lê Văn Hiệp
20
3. Ví dụ về câu lệnh lặp

 Ví dụ 4. Để in một chữ “O” trên màn hình, ta có thể sử dụng lệnh: writeln(‘O’);
uses crt;
var i: integer;
begin
clrscr;
for i:=1 to 20 do
begin writeln(‘O’); delay(100) end;
Readln
end.
8 May 2012
GV. Lê Văn Hiệp
21
3. Ví dụ về câu lệnh lặp

 Lưu ý:
Các câu lệnh đơn giản writeln(‘O’) và delay(100) được đặt trong 2 từ khóa begin và end để tạo thành câu lệnh ghép trong Pascal
Khi nói câu lệnh ta có thể hiểu đó là câu lệnh đơn hoặc câu lệnh ghép
8 May 2012
GV. Lê Văn Hiệp
22
4. Tính tổng và tích bằng câu lệnh lặp

 Ví dụ 5. Tính tổng N số tự nhiên đầu tiên, N là số tự nhiên được nhập từ bàn phím

program Tinh_tong;
var N, i : integer;
S: longint;

8 May 2012
GV. Lê Văn Hiệp
23
4. Tính tổng và tích bằng câu lệnh lặp

 begin
write(‘Nhap so N=’);readln(N);
S:=0;
for i:=1 to N do S:= S + i;
writeln(‘Tong cua ’, N, ‘so tu nhien dau tien S= ’, S);
Readln
end.
8 May 2012
GV. Lê Văn Hiệp
24
4. Tính tổng và tích bằng câu lệnh lặp

 Ví dụ 6. Ta kí hiệu N! là tích N số tự nhiên đầu tiên: N=1.2.3…N

program Tinh_Giai_thua;
var N, i : integer;
P: longint;

8 May 2012
GV. Lê Văn Hiệp
25
4. Tính tổng và tích bằng câu lệnh lặp

 begin
write(‘N= ’);readln(N);
P:=0;
for i:=1 to N do P:= P * i;
writeln(N, ‘! = ’, P);
Readln
end.
8 May 2012
GV. Lê Văn Hiệp
26
4. Tính tổng và tích bằng câu lệnh lặp

 Lưu ý. Vì N! là số rất lớn so với N, ta cần lưu ý khai báo biến chứa giá trị của nó đủ lớn
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lâm Hồng Phúc
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)