Bài 10: Cấu Trúc Lặp(While - Do) - 123doc
Có thể bạn quan tâm
Kiến thức - Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa xác định.. - Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal.. - Biết được sự thực hiện của máy khi gặ
Trang 1Ngày soạn: 22
Ngày giảng: 24
Tiết theo PPCT: 15
§10 CẤU TRÚC LẶP (Tiết 3)
I - Mục tiêu bài học
1 Kiến thức
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa xác định
- Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal
- Biết được sự thực hiện của máy khi gặp lệnh lặp While
2 Kĩ năng
- Phân biệt được sự giống và khác nhau giữa cấu trúc lặp For và While
- Sử dụng đúng lệnh lặp While trong lập trình
- Bước đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết được một số bài toán đơn giản
II – Phương pháp, phương tiện dạy học
- Phương pháp: Thuyết trình, giảng giải, đàm thoại
- Phương tiện: sgk, máy chiếu
III - Tiến trình bài học
1 Ổn định tổ chức lớp
- Lớp:
- Sĩ số:
- Lí do vắng:
2 Kiểm tra bài cũ
3 Nội dung bài mới
? Sự khác nhau của bài toán này với bài
toán đã viết ở tiết trước?
? Lặp bao nhiêu lần?
? Bài toán dừng lặp khi nào?
3 Lặp với số lần chưa biết trước và câu lệnh While – do
Viết chương trình tính tổng:
S=
a
1 +
1
1 +
a + 2
1 +
a + +a+N
1
+ cho đến khi
N
a+
1
<0,0001 thì dừng
Thuật toán Tong_2:
Trang 2? Trong thuật toán trên có những bước nào
lặp đi lặp lại nhiều lần?
- Bước 2 đến bước 4
Như vậy, việc lặp lại số lần chưa biết
trước sẽ được kết thúc khi điều kiện cho
trước được thoả mãn
Câu lệnh sau từ khoá Do sẽ được thực
hiện khi biểu thức điều kiện còn nhận giá trị
True Biểu thức điều kiện được tính trước
khi thực hiện câu lệnh, nhưng nếu ngay từ
đầu biểu thức điều kiện đã nhận giá trị
False thì câu lệnh không được thực hiện.
? Ý nghĩa của câu lệnh While – do?
? Vậy trường hợp btđk luôn nhận giá trị
True thì câu lệnh được thực hiện mãi gọi là
gi?
- Lặp vô hạn
? bài toán sử dụng những biến nào? Kiểu
dữ liệu?
B1: S:=
a
1
; N:=0;
B2:Nếu
N
a+
1
<0,0001 thì chuyển đến B5 ;
B3:N:=N+1;
B4:S:=S+
N
a+
1
;
B5:Đưa S ra màn hình rồi kết thúc
Để mô tả cấu trúc lặp như vậy,Pascal dùng câu lệnh while-do có dạng:
While <điều kiện> do <câu lệnh>;
Trong đó:- Điều kiện là biểu thức logic;
- Câu lệnh là 1 câu lệnh đơn hoặc lệnh ghép
* Ý nghĩa của câu lệnh While – do:
Câu lệnh sau từ khoá Do còn được thực
hiện khi btđk còn đúng, sau đó quay lại kiểm tra điều kiện
Ví dụ 1:
Chương trình tính Tong_2:
Program Bai_toan;
Trang 3? Xác định Input? Output của bài toán?
- Input: 2 số nguyên M, N
- Output: ƯCLN
? Bài toán dừng lặp khi nào?
- Khi M = N
? Điều kiện để tiếp tục lặp là gì?
- Điều kiện: m<>n
? Các lệnh cần lặp lại là gì?
- Lệnh cần lặp:M:=M - N; hoặc N:= N-M;
? Những biến được sử dụng trong bài toán?
Kiểu dữ liệu?
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN Clrscr;
Write(‘Nhap gia tri cua a = ‘); Readln(a);
S:=1/a;N:=1;
WHILE 1/(a+N)>=0.0001 DO BEGIN
N:=N+1;
S:=S+1/(a+N);
END;
Writeln(‘Gia tri cua tong S = ‘, S:8:3); Readln;
END.
Ví dụ 2:
Nhập vào 2 số nguyên dương M, N Tìm ƯCLN của 2 số đó
Thuật toán:
B1: Nhập M,N;
B2 : Nếu M = N thì lấy giá trị chung này làm UCLN, chuyển B
B3: Nếu M>N thì M:=M-N, ngược lại thì N:=N-M;
B4: Quay lại B2 B5: Đưa ra ƯCLN rồi kết thúc
Chương trình thể hiện thuật toán Tìm ƯCLN
Program UCLN;
Uses Crt;
Trang 4Var M,N:Integer;
BEGIN Clrscr;
Write(‘Nhap gia tri cua M = ‘); Readln(M);
Write(‘Nhap gia tri cua N = ‘); Readln(N);
WHILE M<>N DO
IF M> N THEN M:=M – N ELSE
N:= N – M;
Writeln(‘UCLN =’, M);
Readln;
END.
Chú ý: SGK – Tr.48
IV - Củng cố
- Cấu trúc và hoạt động của câu lệnh While – Do
- Câu hỏi củng cố:
Có thể dùng câu lệnh While – do thay thế cho câu lệnh for – do được không? Nếu
được hãy thực hiện điều đó với chương trình Tong_1a
Trả lời:
Có thể thay thế đoạn chương trình chứa câu lệnh for – do (dạng tiến) bằng đoạn chương trình chứa câu lệnh While – do như sau:
i:= <giá trị đầu>;
While (i<=giá trị cuối) do
Begin <Câu lệnh>;
<tăng i lên 1 đơn vị>;
end;
Program UCLN;
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN Clrscr;
Write(‘Nhap gia tri cua a = ‘);
Readln(a);
S:=1/a;N:=1;
Trang 5WHILE N < 100 DO
BEGIN
N:=N+1;
S:=S+1/(a+N);
END;
Writeln(‘Gia tri cua tong S = ‘, S:8:3);
Readln;
END.
Từ khóa » Câu Lệnh While Trong Pascal Dùng để Diễn Tả
-
Vòng Lặp While Trong Pascal
-
Tin Học 8 Bài Thực Hành 6: Sử Dụng Lệnh Lặp While…Do - HOC247
-
Hãy Nêu Cú Pháp Của Câu Lệnh Lặp While - Top Lời Giải
-
Nêu Cú Pháp Và Hoạt động Câu Lệnh Lặp While...do... Trong Ngôn Ngữ ...
-
Bài Thực Hành 6: Sử Dụng Lệnh Lặp While…Do - Học Giải Bài Tập
-
SGK Tin Học 8 - Bài Thực Hành 6. SỬ DỤNG LỆNH LẶP WHILE ... DO
-
Vòng Lặp While – Do Kết Thúc Khi ? - MarvelVietnam
-
Bài 10: Cấu Trúc Lặp(While - Do) - Tài Liệu Text - 123doc
-
Trắc Nghiệm Tin Học 8 Bài 8 (có đáp án): Lặp Với Số Lần Chưa Biết ...
-
CẤU TRÚC LẶP While Do | Computers - Quizizz
-
Lý Thuyết Tin Học 8 Bài Thực Hành 6: Sử Dụng Lệnh Lặp While...do Hay ...
-
Giải Bài Tập Tin Học 11 - Bài 10: Cấu Trúc Lặp