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[r]
Trang 1Bài 7
Trang 21 Các công việc phải thực hiện nhiều lần
Đánh răng mỗi ngày hai lần là công việc lặp lại với số lần nhất định và biết trước.
Mỗi ngày tắm một lần là công việc lặp lại với số lần nhất
định và biết trước.
Đi học mỗi ngày một lần là công việc lặp lại với số lần nhất định và biết trước.
Trang 31 Các công việc phải thực hiện nhiều lần
Học cho đến khi thuộc bài là công việc lặp lại với số lần không thể xác định được.
Trang 41 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.
Trang 52 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 vuông có cạnh 1 đơn vị như hình 33 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 ba lần
1
Hình 33
* Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:
Bước 1 Vẽ hình vuông ( vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
hai đơn vị và trở lại bước 1; ngược lại kết thúc thuật toán.
Trang 6Riêng bài toán vẽ một hình vuông (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ẽ Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:
2 Câu lệnh lặp – một lệnh thay cho nhiều lệnh
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 .
Bước3 Nếu K < 4 thì trở lại bước2;
Ngược lại, kết thúc thuật toán.
0
90
Hình 34
0
Trang 72 Câu lệnh lặp – một lệnh thay cho nhiều lệnh
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 toá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 0; i 0.
Bước2 I 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.
Trang 83 Ví dụ về câu lệnh lặp
Câu lệnh lặp thường gặp trong Pascal có dạng:
a Cú pháp :
FOR biến đếm : = giá trị đầu TO giá trị cuối DO
Câu lệnh trong vòng lặp ;
Từ khoá
Phải thuộc kiểu
dữ liệu số nguyên
Giá trị đầu < Giá trị cuối
Trang 93 Ví dụ về câu lệnh lặp
a Cú pháp :
FOR biến đếm : = giá trị đầu TO giá trị cuối DO
Câu lệnh trong vòng lặp ;
Chú ý :
- Sau DO không có dấu chấm phẩy
b Công dụng:
Dùng để lặp đi lặp lại một công việc nào đó với số lần lặp xác định.
Trang 103 Ví dụ về câu lệnh lặp
c Sự hoạt động của lệnh:
Sơ đồ khối
Biến đếm : = Giá trị đầu Biến đếm : = Giá trị đầu
Giá trị đầu <=Giá trị cuối
Câu lệnh trong vòng lặp ;
Câu lệnh trong vòng lặp ;
False
True
Bước1 : Đầu tiên Biến đếm
sẽ nhận giá trị
là <giá trị đầu>
Bước2: Máy kiểm tra điều kiện <Biến> ≤ <Giá trị cuối>
Bước3: Nếu điều kiện trên
là sai thì ra khỏi vòng lặp FOR
Nếu điều kiện trên là đúng thì
<Lệnh> được thực hiện, sau đó biến được tăng lên một đơn vị (Biến:=Biến+1) và quay trở lại bước(2).
Trang 11Ví dụ 1: Viết câu lệnh để in ra màn hình 10 chữ “ Mau sac “
For i : = 1 to 10 do writeln( ‘Mau sac’);
- Hãy chỉ ra các thành phần trong câu lệnh trên ?
3 Ví dụ về câu lệnh lặp
Trả lời:
i là biến đếm
1 là giá trị đầu
10 là giá trị cuối
writeln( ‘Mau sac’); là câu lệnh
Trang 123 Ví dụ về câu lệnh lặp
For i : = 1 to 10 do writeln( ‘Mau sac’);
- Hãy sử dụng câu lệnh trên để viết chương trình đầy đủ in ra màn hình 10 chữ “ Mau sac “
Trả lời:
Program mau_sac;
Uses crt;
Var i: byte;
Begin For i:= 1 to 10 do Write (‘mau sac’,i);
Readln
Trang 134 Tính tổng và tích bằng câu lệnh lặp
Ví dụ 1: Viết chương trình tính tổng S=1+2+3+4+5
Trả lời:
Program Tinh_tong;
Uses crt;
Var i: integ er ; S: longint;
Begin S:=0;
For i:= 1 to 5 do S:= S + 1;
Writeln (‘Tong cua S = ’,s);
Readln
Trang 144 Tính tổng và tích bằng câu lệnh lặp
Ví dụ 2: 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.
Trả lời:
Program T ính_Giai_thua ; Uses crt;
Var i, N: integ er ; P: longint;
Begin write (‘Nhap N = ‘); readln (N);
P:= 1;
For i:= 1 to N do P:= P*i;
Writeln (N,’! = ’,P);
Readln
Trang 15Bài tập củng cố
Em hãy viết chương trình tính tổng các số nguyên 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
Gợi ý :
-Tìm input,output ?
- Khai báo các biến nào ?Kiểu dữ liệu gì ?
- Nhập vào từ bàn phím giá trị cho biến nào ?
-Tìm thuật toán của chương trình ?
- Sử dụng các câu lệnh gì để viết chương trình ?
Trang 16Bài tập củng cố
Hướng dẫn:
- Input: n, m ; Output : Tổng S
- Khai báo biến : n, m, S, i kiểu Word
- Nhập giá trị vào từ bàn phím cho biến n và m
- Thuật toán : Cho biến đếm i chạy từ n đến m ,n.
Nếu I <= m thì tổng S:= S +i
- Sử dụng câu lệnh Write, Readln, For to do
*Chương trình
Trả lời:
Uses crt;
Var m, n, i: integ er ; S: longint;
Begin write (‘Nhap n = ‘); readln ( n);
write (‘Nhap m=‘); readln ( m);
S:=0;
For i:= n to m do S:= S + n;
Trang 17Bài tập về nhà
1 Viết chương trình tính tổng các số nguyên liên
bàn phím.
2 Viết chương trình tính tổng các số chẵn,lẻ từ 1 đến n
với n nhập từ bàn phím.