Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 8. Lặp với số lần chưa biết trước

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Huân (trang riêng)
Ngày gửi: 08h:57' 30-08-2011
Dung lượng: 596.4 KB
Số lượt tải: 368
Số lượt thích: 0 người
Bình Dương, ngày 05/03/2009
1
KÍNH CHÀO QUÍ THẦY CÔ
CÙNG CÁC EM HỌC SINH
Môn: Tin học - Lớp 8
Bình Dương, ngày 05/03/2009
2
Program Btap;
Var sum, i:= integer;
sum:=0;
For i = 1.5 to 10 do Begin sum:= sum + i; writeln(sum);
Readln;
End.
KIỂM TRA BÀI CŨ
Câu hỏi : Hãy liệt kê các lỗi trong chương trình dưới đây:
Program Btap;
Var sum, i: integer;
Begin
sum:=0;
For i := 1 to 10 do Begin sum:= sum + i; writeln(sum);
End;
Readln;
End.
Bình Dương, ngày 05/03/2009
3
? Em hãy nêu những công việc hằng ngày em thực hiện được lặp đi lặp lại nhiều lần, với số lần lặp chưa biết trước:
Bình Dương, ngày 05/03/2009
4
Bài 8 :
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 1: Những hoạt động lặp với số lần lặp chưa biết trước như : học cho đến khi thuộc bài, gọi điện nghe chuông reo cho đến khi có người nhấc máy,...
LẶP VỚI SỐ LẦN
CHƯA BIẾT TRƯỚC
Bình Dương, ngày 05/03/2009
5
Ví dụ 2 : Tìm số tự nhiên n để tổng Sn = 1+ 2 + 3 + … + n, nhỏ nhất lớn hơn 1000.
1. Các hoạt động lặp với số lần chưa biết trước.
1
S1 = 1
Đúng
2
S2 = 1 + 2
Đúng
Đúng
…
…
…
n
Sn = 1 + 2 + 3 + … + n
Sai, kết thúc việc tính tổng
3
S3 = 1 + 2 + 3
Phân tích:
Bình Dương, ngày 05/03/2009
6
Thuật toán :
Bước 1. S  0, n  0.
Bước 2. S ≤ 1000, n  n + 1; Ngược lại, chuyển tới bước 4.
Bước 3. S  S + n và quay lại bước 2.
Bước 4. In kết quả: S và số tự nhiên n để tổng S nhỏ nhất lớn hơn 1000. Kết thúc thuật toán.
1. Các hoạt động lặp với số lần chưa biết trước.
Ví dụ 2 : Tìm số tự nhiên n để tổng Sn = 1+ 2 + 3 + … + n, nhỏ nhất lớn hơn 1000.
Bình Dương, ngày 05/03/2009
7
Ngoài cấu trúc lặp với số lần lặp biết trước, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần chưa biết trước.
Tóm lại :
 Lưu đồ hoạt động :
S<= 1000
Kết thúc thuật toán
n:= n + 1;
S:= S + n;
Đúng
Sai
1. Các hoạt động lặp với số lần chưa biết trước.
Bình Dương, ngày 05/03/2009
8
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Xét lưu đồ hoạt động của thuật toán sau:
do
S<= 1000
Kết thúc thuật toán
n:= n + 1;
S:= S + n;
Đúng
Sai
While
<Điều kiện>

Bình Dương, ngày 05/03/2009
9
;
 Trong đó :
While, do là các từ khóa.
Điều kiện thường là một phép so sánh.
Câu lệnh là câu lệnh đơn giản hay câu lệnh ghép.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
a) Cú pháp:
WHILE
<điều kiện>
DO
Bình Dương, ngày 05/03/2009
10
Điều kiện
Thoát ra khỏi
vòng lặp While
Thực hiện
câu lệnh
Sai
b) Lưu đồ hoạt động :
 Bước 1: Kiểm tra điều kiện.
 Bước 2: Nếu điều kiện SAI, câu lệnh bị bỏ qua và kết thúc lệnh lặp. Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
WHILE <điều kiện> DO ;
Cú pháp:
Đúng
Bình Dương, ngày 05/03/2009
11
Chú ý : Trong trường hợp câu lệnh ghép:
While <điều kiện> do
Begin
câu lệnh 1;
câu lệnh 2; …
End;
2. Ví dụ về lệnh lặp với số lần chưa biết trước
WHILE <điều kiện> DO ;
Cú pháp:
Ví dụ 1:
a) While x = 0.5 do x:= x + 1;
b) While (n mod i<>0) do i:= i + 1;
Bình Dương, ngày 05/03/2009
12
2. Ví dụ về lệnh lặp với số lần chưa biết trước
WHILE <điều kiện> DO ;
Cú pháp:
Ví dụ 2: Viết câu lệnh While … do thể hiện bước 2 và bước 3 của thuật toán sau:
Bước 1. S 0, n  0.
Bước 2. S≤ 1000, n n + 1; Ngược lại, chuyển tới bước 4.
Bước 3. S S + n và quay lại bước 2.
Bước 4. Thông báo kết quả S và n. Kết thúc thuật toán.
While s<= 1000 do
begin
n:= n + 1;
S:= S + n;
end;
Bình Dương, ngày 05/03/2009
13
3. LẶP VÔ HẠN – LỖI LẬP TRÌNH CẦN TRÁNH.
VD:
Var a: integer;
Begin
a:=5;
while a<6 do writeln(‘A’);
End.
Bình Dương, ngày 05/03/2009
14
Câu hỏi: Em hãy nêu những điểm khác nhau giữa câu lệnh lặp For … do và câu lệnh lặp While … do. (số lần lặp, giá trị so sánh của biến trong vòng lặp, điều kiện)
1) Số lần lặp được biết trước.
2) Giá trị so sánh của biến đếm là một số nguyên.
1) Số lần lặp chưa biết trước.
2) Giá trị so sánh của biến có thể là một số nguyên hoặc một số thực.
3) Điều kiện là so sánh giá trị của biến đếm với giá trị cuối.
3) Điều kiện thường là một phép so sánh.
Bình Dương, ngày 05/03/2009
15
a) X:= 10; while X:= 10 do X:= X + 5;
b) X:= 10; while X = 10 do X = X + 5;
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n;
BÀI TẬP
a) X:= 10; while X = 10 do X:= X + 5;
b) X:= 10; while X = 10 do X := X + 5;
c) S:= 0; n:=0; while S <= 10 do
begin
n:= n + 1;
S:= S + n;
end;
Bài 5/tr 71 (SGK). Hãy chỉ ra lỗi trong các câu lệnh sau đây và sửa lại cho đúng:
Sửa lại đúng:
Bình Dương, ngày 05/03/2009
16
*) Tóm tắt nội dung bài học :
1) Ngoài cấu trúc lặp với số lần biết trước, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần chưa biết trước.
2) Câu lệnh lặp với số lần lặp chưa biết trước :
a) Trường hợp câu lênh đơn:
WHILE <điều kiện> DO ;
b) Trường hợp câu lệnh ghép:
WHILE <điều kiện> DO
Begin
câu lệnh 1;
câu lệnh 2; …
End;
Bình Dương, ngày 05/03/2009
17
Bài tập:
Thực hành các ví dụ 3, 4, 5 trang 69 SGK.
Bình Dương, ngày 05/03/2009
18
Ví dụ 3. Chúng ta biết rằng, nếu n (n>0) càng lớn thì 1/n càng nhỏ, nhưng luôn luôn lớn hơn 0. Với giá trị nào của n thì 1/n < 0.005 hoặc 1/n < 0.003? Chương trình dưới đây tính số n nhỏ nhất để nhỏ hơn một sai số cho trước:
uses crt;
var x: real;
n: integer;
const sai_so=0.003;
begin
clrscr;
x:=1; n:=1;
while x>=sai_so do begin n:=n+1; x:=1/n end;
writeln(`So n nho nhat de 1/n < `,sai_so:5:4, `la `,n);
readln
end.
Bình Dương, ngày 05/03/2009
19
Ví dụ 4. Chương trình Pascal dưới đây thể hiện thuật toán tính số n trong ví dụ 2:
var S,n: integer;
begin
S:=0; n:=1;
while S<=1000 do
begin n:=n+1; S:=S+n end;
writeln(`So n nho nhat de tong > 1000 la `,n);
writeln(`Tong dau tien > 1000 la `,S);
readln;
end.
Bình Dương, ngày 05/03/2009
20
- Nắm vững cú pháp và các bước hoạt động của câu lệnh lặp While … do.
Câu hỏi và bài tập về nhà : Bài tập 3,4 ,5 trang 71 SGK
Thực hành các ví dụ 3, 4, 5 trang 69 SGK.
CHÚC CÁC EM HỌC GIỎI MÔN TIN HỌC.
THE END.
HƯỚNG DẪN VỀ NHÀ
Bình Dương, ngày 05/03/2009
21
CHÀO TẠM BIỆT
Bình Dương, ngày 05/03/2009
22
1
2
3
4
5
6
7
8
9
10
Bình Dương, ngày 05/03/2009
23
 2) Viết chương trình Pascal thể hiện thuật toán sau: (hoạt động nhóm)
- Bước 1. y  15, x  0.5.
- Bước 2. y > 6.4, chuyển tới bước 3, ngược lại chuyển tới bước 4.
- Bước 3. y  y - x và quay lại bước 2.
- Bước 4. Thông báo y và kết thúc thuật toán.
BÀI TẬP
Bình Dương, ngày 05/03/2009
24
 Bài tập 3a/tr71 SGK. Viết chương trình Pascal thể hiện thuật toán sau: (hoạt động nhóm)
- Bước 1. S 15, x  0.5.
- Bước 2. S ≤ 5.2, chuyển tới bước 4.
- Bước 3. S  S - x và quay lại bước 2.
- Bước 4. Thông báo S và kết thúc thuật toán.
BÀI TẬP
 
Gửi ý kiến

↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT  ↓