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

Chia sẻ bởi Thcs Nghĩa Phúc | Ngày 24/10/2018 | 43

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:

?
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.
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+ .;
Cho đến khi S? 20
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<20 thì
B2a: S ? S+i
B2b: i ? i+1; ? B2
B3: Đưa S 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<20) 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
B1: S ? 0 ; i ? 1
B2: Trong khi S<20 thì
B2a: S ? S+i
B2b: i ? i+1; ? B2
B3: Đưa S ra màn hình;
B4: Kết thúc
?
Var S,i:Integer;
Begin
S:=0; i:=1;
While S<20 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
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.
* 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ẻ: Thcs Nghĩa Phúc
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)