Bài tập về nhà BT1: Viết chương trình giải bài toán: Nhập vào số tự nhiên N.. Tính tổng S:.[r]
Trang 1Kiểm tra bài cũ
1 Viết cú pháp câu lệnh rẽ nhánh
(dạng đủ và dạng thiếu)
2 Cho ví dụ.
Trang 4Thế nào là Lặp?
Bài 10: CẤU TRÚC LẶP
1 Lặp
Trang 51 Lặp
Bài tập 1: Viết chương trình in ra màn hình dòng chữ
“Hello”
Trang 6Bài tập 2: Viết chương trình in ra màn hình 5 dòng chữ
“Hello”
Bài 10: CẤU TRÚC LẶP
1 Lặp
Trang 7Bài 10: CẤU TRÚC LẶP
1 Lặp
Bài tập 3: Viết chương trình in ra màn hình 14 dòng chữ
“Hello”
Trang 8Nhận xét:
- Để viết ra màn hình 14 dòng chữ Hello chúng ta phải viết bao nhiêu câu lệnh trong phần thân
chương trình Begin End?
- Các câu lệnh đó có giống nhau không?
- Số lần thực hiện của công việc in ra màn hình là bao nhiêu? Số lần này có xác định được không?
Bài 10: CẤU TRÚC LẶP
1 Lặp
Trang 9For <biến đếm> := <giá trị đầu> to <giá trị cuối> do < câu lệnh>;
Trang 11Xuất phát Lần 1 Lần 2 Lần N
ĐIỂM GIỐNG NHAU CỦA 2 BÀI TOÁN
Sau mỗi lần thực hiện giá trị tổng S tăng thêm 1/(a+i)
a
1
Trang 12* Bài toán 1: * Bài toán 2:
Cho đến khi
Số lần lặp là 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:
Việc tăng giá trị cho tổng S
được lặp đi lặp lại 100 lần.
Trang 13CẤU TRÚC LẶP
* Lặp với số lần lặp biết trước
* Lặp với số lần lặp chưa biết trước
Trang 14For <biến đếm> := <giá trị đầu> to <giá trị cuối> do < câu lệnh>;
Trang 15 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 downto 1 do write(i);
Lưu ý: 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.
Trong đó
Biến đếm là biến thường có kiểu nguyên hoặc kí tự.
Ví dụ: For i:=1 to 10 do write(i);
For i:=‘a’ to ‘z’ do write(i);
Trang 16+ Ý nghĩa: Lặp với số lần biết trước
Công việc sau Do sẽ được thực hiện tuần tự
từ giá trị đầu đến giá trị cuối + Có 2 dạng:
- Lặp tiến: giá trị biến đếm tăng thêm 1.
- Lặp lùi: giá trị biến đếm giảm đi 1
Trang 17Ví dụ áp dụng
Ví dụ 2:
Ngày đầu tiên đi học mẹ cho bé 1 viên kẹo, ngày thứ
2 đi học mẹ cho bé 2 viên kẹo, … , ngày thứ 7 đi học mẹ cho bé 7 viên kẹo Hỏi sau 7 ngày bé có tất cả bao nhiêu viên kẹo?
1 Lặp
2 Lặp với số lần biết trước và câu lệnh For-do
Trang 18For i:=1 to 7 do
s:=s+i;
Readln;
End.
Trang 20PHÂN TÍCH BÀI TOÁN VỚI N = 100
Si = Si-1+ 1/(a+i);
víi i ch¹y tõ 1 100
a
1 3
a
1
100
Trang 22XÂY DỰNG THUẬT TOÁN (dạng lùi)
Trang 26Cú pháp
2.Lặp với số lần chưa biết trước
WHILE <điều kiện> DO <câu
lệnh>;
Điều kiện
Đúng Câu lệnh
Điều kiện: Là biểu thức
quan hệ hoặc lôgic.
Trang 28Ví dụ 2: Viết chương trình nhập vào hai số nguyên dương M,N Tìm ƯCLN của hai số đó.
Ý tưởng:
M=N thì ƯCLN (M,N)=M=N.
M<N thì ƯCLN (M,N)= ƯCLN (M,N-M).
M>N thì ƯCLN (M,N)= ƯCLN (N,M-N).
Trang 30Đ Đ
S
S
Thuật toán tìm ƯCLN
5 10
10
10
5 5
15
25
3 2
1
Đợ t
Trang 31M,N Tìm ƯCLN của hai số đó.
Trang 32Đưa ra M, kết thúc
Trang 33Khi chạy chương trình trên, kết quả sẽ hiển thị là bao nhiêu? Đáp án: a 3 b 4 c 5 d 6
Trang 34Khi chạy chương trình trên, kết quả sẽ hiển thị là bao nhiêu? Đáp án: a 9 b 10 c 12 d Kết quả khác
Trắc nghiệm: Em hãy chọn đáp án đúng