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

Chia sẻ bởi Phan Anh Tuan | Ngày 24/10/2018 | 79

Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8

Nội dung tài liệu:

?
Người soạn : PHAN ANH TU?N
TỔ : TOÁN
Kiểm tra bài cũ:
Câu 1: Các câu lệnh Pascal sau có hợp lệ không? Vì sao?
For i := 100 to 1 do writeln(`A`);
For i := 1.5 to 10.5 do writeln(`A`);
For i = 1 to 10 do writeln(`A`);
For i := 1 to 10 do writeln(`A`);
Câu 2: Trong Pascal câu lệnh For được sử dụng với số lần lặp biết trước hay chưa?
Chưa biết trước.
Đã biết trước.
A
B
C
D
A
B
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(TIẾT 1)
?
Tiếp tục nghiên cứu về cấu trúc lặp.
Cú pháp của câu lệnh lặp với số lần chưa biết trước.
Có giống bài toán Lặp với số lần biết trước không ?
1./ CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tìm thuật giải cho bài toán
Ví dụ 2: Tính và đưa kết quả ra màn hình:
S =1+2+3+ .n;
Cho đến khi S? 100,Tìm tổng đầu tiên và số n nhỏ nhất thỏa mãn điều kiện bài toán.
Ví dụ 1:
SGK
Cụ thể về thuật toán theo ngôn ngữ tự nhiên:
B1: S ? 0 ; i ? 1;
B2: Trong khi S<100 thì
B2a: S ? S+I;
B2b: i ? i+1; ? B2
B3: Đưa S ,n ra màn hình;
B4: Kết thúc

?
Như vậy việc thực hiện phép tính tổng ở thuật toán trên được lặp lại với số lần chưa biết trước, phụ thuộc vào một điều kiện (S<100) và chỉ dừng khi điều kiện đó sai.
Việc lặp trên có thể được mô tả qua sơ đồ khối sau:
Sơ đồ khối:
Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong thuật toán, ta có thể sử dụng câu lệnh có dạng: "Lặp với số lần chưa biết trước"
WHILE <Điều kiện> DO
?
2./ VÍ DỤ VỀ LỆNH LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Trong pascal câu lệnh lặp với số lần chưa biết trước có dạng:
Câu lệnh lặp này được thực hiện như sau:
1./ Kiểm tra: Điều kiện
2./ Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và kết thúc vòng lặp.
Nếu điều kiện đúng, thì thực hiện câu lệnh và quay về bước kiểm tra điều kiện
?
Câu lệnh
Đúng
Sai
Điều kiện
Mô tả đường đi của chương trình trên sơ đồ khối?
Sơ đồ khối của câu lệnh While..Do
Quá trình lặp diễn ra ở đâu?
Khi nào quá trình lặp chấm dứt?
B1: S ? 0 ; i ? 1;
B2: Trong khi S<100 thì
B2a: S ? S+I;
B2b: i ? i+1; ? B2
B3: Đưa S ,n ra màn hình;
B4: Kết thúc
?
Var S,i:Integer;
Begin
S:=0; i:=1;
While S<100 do
Begin
S := S+i ; i := i+1 ;
End;
Writeln(`Tong S = `,S);
Readln;
End.
Dùng lệnh này để thể hiện thuật toán trong ví dụ 2
Writeln(`Số n = `,i);
Program vidu2;
Một số chú ý
Trong vòng lặp WHILE . . . DO:
- Nếu ngay lần kiểm tra đầu tiên, mà kết quả là SAI thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.
- Số lần kiểm tra chính là số lần lặp
- Tùy theo điều kiện mà viết các câu lệnh trong vòng lặp cho phù hợp.
HƯỚNG DẪN HỌC Ở NHÀ
Học thuộc cấu trúc vòng lặp While..Do
Làm các bài tập 3,4 trang sgk
RẤT TIẾC!!!
CHÚC MỪNG BẠ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ẻ: Phan Anh Tuan
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)