Bài giảng Vòng lặp không xác định - Hội giảng Giáo viên dạy nghê tỉnh Bắc Giang lần thứ V năm học 2007-2008

Mục tiêu:

Học xong bài này học sinh có khả năng:

- Nêu và giải thích được chức năng, cú pháp của lệnh While . do và lệnh Repeat . Until;

- Trình bày được sự hoạt động của từng lệnh;

- Vận dụng được cấu trúc lệnh trong lập trình giải các bài toán đơn giản;

- Phát triển năng lực tư duy, năng lực phân tích và tổng hợp.

 

ppt34 trang | Chia sẻ: hienduc166 | Lượt xem: 638 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Vòng lặp không xác định - Hội giảng Giáo viên dạy nghê tỉnh Bắc Giang lần thứ V năm học 2007-2008, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
hội giảnggiáo viên dạy nghề tỉnh bắc giangUỷ ban nhân dân tỉnh bắc giangSở lao động thương binh và xã hộiLần thứ V - Năm học 2007 - 2008tên bài giảng8.2. vòng lặp không xác định(while ... do và repeat ... until)Người thực hiện: Đỗ Văn XuânVị trí bài giảngSTTTên chương bàiS.tiết1Bài 1. Giới thiệu ngôn ngữ lập trình 32Bài 2. Giới thiệu ngôn ngữ lập trình Pascal 13Bài 3. Các kiểu dữ liệu, hằng và biến 24Bài 4. Biểu thức và các phép toán số học. 25Bài 5. Cấu trúc của một chương trình Pascal và Các bước để chạy một chương trình 26Bài 6. Lệnh gán và thủ tục vào ra dữ liệu 27Bài 7. Cấu trúc rẽ nhánh 38Bài 8. Cấu trúc lặp 38.1. Vòng lặp xác định For ... to ... do ... 8.2. Vòng lặp không xác định 8.3. Bài tậpMôn	: PASCALSố tiết	: 60Mục tiêu:Học xong bài này học sinh có khả năng:- Nêu và giải thích được chức năng, cú pháp của lệnh While ... do và lệnh Repeat ... Until;- Trình bày được sự hoạt động của từng lệnh;- Vận dụng được cấu trúc lệnh trong lập trình giải các bài toán đơn giản;- Phát triển năng lực tư duy, năng lực phân tích và tổng hợp. đồ dùng, Phương tiện 	- Máy tính;	- Máy chiếu, phông chiếu;	- Bút chỉ;	- Tài liệu phát tay;	- Phiếu trắc nghiệm.Phương pháp 	- Thuyết trình giảng giải;	- Đàm thoại nêu vấn đề, tìm kiếm vv  kết hợp giữa thầy và trò.FalseBiến:=Giá trị đầuBiến DO ;Trong đó:	+ While và do: Là các từ khóa lệnh	+ :Là biểu thức Logic có thể nhận giá trị TRUE ( đúng ) hoặc FALSE ( sai )	+ : Có thể là một câu lệnh hay một nhóm lệnh (nhóm lệnh hay gọi là lệnh ghép được đặt trong khối Begin  End )+ Lưu đồ cú phápCông việcTRUEFALSEĐK_BTLĐK_BTLEND+ Sự hoạt động 	Khi máy thực hiện lệnh While ... do trước tiên kiểm tra :* Nếu ĐK_BTL cho giá trị TRUE (đúng) thì thực hiện rồi lại kiểm tra và thực hiện tiếp theo. Quá trình chỉ kết thúc khi điều kiện cho giá trị FALSE ( sai ).	?	** Ngay từ đầu nếu điều kiện là FALSE thì thân vòng lặp không được thực hiện lần nào.ĐK_BTLCông việcTRUEFALSE+ Lưu đồ cú pháp .ENDTRUEFALSEĐK_BTLĐK_BTLBEGINENDĐK_BTLCông việcCông việc	Lập chương trình tính tổng sau:S = 1 + 2 + 3 + ... + NVới N được nhập vào từ bàn phím Program VDU1; Uses CRT; Var	i,n, S:Integer; Begin	Clrscr;	S:=0; i:=1;	Write(' Vào giá trị của N=');Readln(N);	.				Writeln(‘ Tổng S=’, S:2 );	Readln; End. Nội dung chương trìnhBegini0 then	 begin	a:=False;	if x ;	UNTIL ;Trong đó:	+ Repeat và Until: là các từ khóa lệnh	+ :Là biểu thức Logic có thể nhận giá trị TRUE ( đúng ) hoặc FALSE ( sai )	+ : Có thể là một câu lệnh hay một nhóm lệnh (nhóm lệnh hay gọi là lệnh ghép không cần đặt trong khối Begin  End ) Vòng lặp repeat ... untilBTLCông việcFALSETRUE+ Lưu đồ cú phápBTLCông việcTRUEFALSE While ... do Repeat ... UntilENDEND	 + Từ lưu đồ cú pháp của lệnh While ... do, em có nhận xét gì về lưu đồ cú pháp lệnh Repeat ... Until ?	 +Trình bày sự hoạt động của lệnh Repeat ... Until.	 + Sự hoạt động .	Khi máy thực hiện câu lệnh Repeat ... Until trước tiên là thực hiện ngay sau đó kiểm tra điều kiện . 	- Nếu cho giá trị sai ( False ) thì quay lại vòng lặp.	- Nếu cho giá trị đúng ( True ) thì thoát khỏi vòng lặp.	** Thân vòng lặp của Repeat ... Until được thực hiện ít nhất một lầnBTLCông việcFALSETRUE+ Lưu đồ cú pháp .ENdCông việcTRUEFALSEĐK_BTLBEGINENDĐK_BTLLập chương trình tính tổng sau:S = 1 + 2 + 3 + ... + NVới N được nhập vào từ bàn phímThuật giải{ While ... do }Program Btap2;Uses Crt;Var S, N, I:Integer;Begin	S:=0;	I:=1;Write(' Vào giá trị của N='); Readln(N);While I N;Nội dung chương trình của lệnh Repeat ... UntilMinh hoạ ** Nếu bỏ lệnh ( i:= i+1) trong thân vòng lặp thì chương trình sẽ hoạt động như thế nào ? Kết quả tổng S cho giá trị là bao nhiêu, giải thích ?Program VDU1;Uses CRT;Const	N=10;Var	i,n, S:Integer;Begin	Clrscr;	S:=0; i:=1;	Repeat	 S:=S + i;	 i:=i+1;	Until i>N;Writeln(‘ Tổng=’, S:2 );Readln;End.Chú ýMinh hoạ	** Có phải mọi lệnh While ... do trong Pascal đều có thể thay thế tương đương bởi lệnh Repeat ... until không, cho ví dụ. ?	Hãy thay thế chương trình dưới đây bằng lệnh Repeat ... Until để chứng minh:** Ví dụ: Lập chương trình tìm giá trị Max và Min của hai số a và b được nhập vào từ bàn phím, chương trình chỉ kết thúc khi ta ấn 'Y' hoặc ấn chữ 'y'.Program BTap_4;Uses Crt;Var 	a, b, Max, Min : Real;	TLoi: Char;BeginClrscr; Tloi=‘N’;	While Upcase(TLoi)'Y' do	Begin	clrscr;	Write(' Vào giá trị của a, b=');Readln(a,b);	if a> b then	 Writeln(' Max=', a:5:1,' , Min=', b:5:1)	Else	Writeln(' Max=', b:5:1,' , Min=', a:5:1);	Write(' ấn phím chữ "Y" hoặc "y" để kết thúc !'); Readln(Tloi);	End;Readln;End.Minh hoạTTWHILE ... DOREPEAT ... UNTILSo sánh lệnh While ... do và Repeat ... Until Chức năng* Lặp đi lặp lại những đoạn chương trình có số lần lặp chưa biết trước.Sự hoạt động( Lưu đồ )Số vòng lặp tối thiểu* Không thực hiện lần nào* Thực hiện ít nhất một lần- Kiểm tra điều kiện trước sau đó mới thực hiện .- Nếu điều kiện cho giá trị TRUE thì thực hiện .- Nếu điều kiện cho giá trị FALSE thì kết thúc vòng lặp.- Thực hiện trước sau đó mới kiểm tra điều kiện .- Nếu điều kiện cho giá trị FALSE thì thực hiện .- Nếu điều kiện cho giá trị TRUE thì kết thúc vòng lặp.	** Trình bày vắn tắt sự giống và khác nhau giữa hai lệnh While ... do và Repeat ... Until.	Bằng cách điền nội dung vào các ô tương ứng của bảng cho dưới đây.tổng kết bài 	- Chức năng, cú pháp lệnh;	- So sánh sự hoạt động của từng lệnh;	- ứng dụng của lệnh vào lập trình giải các bài toán cơ bản.	Câu hỏi, bài tập1/ Trình bày cú pháp và chức năng của WHILE ... do và REPEAT... Until.2/ Vẽ lưu đồ cú pháp và trình bày sự hoạt động của từng lệnh.3/ Bài tập: Lập chương trình tính giá trị các biểu thức sau: + S= 1+ 1/2 + 1/3 + ... + 1/N + S= 1/2 + 1/4 + ... + 1/2N + S=1+1/3+1/5 + ... + 1/(2N-1)Hướng dẫnXin trân trọng cảm ơn !	 Trong khi thực hiện phải có ít nhất 1 lệnh làm thay đổi biểu thức điều kiện nếu không chương trình sẽ không thoát khỏi vòng lặp. Quay về	Em hãy cho biết thân vòng lặp () của lệnh Repeat ... Until được thực hiện ít nhất mấy lần, giải thích ?Trở về	Từ lưu đồ cú pháp và sự hoạt động của lệnh em hãy cho biết thân vòng lặp ( Công việc ) của lệnh WHILE ... DO được thực hiện ít nhất mấy lần, giải thích ?Trở về	Gợi ý bài tập:	 Tính tổng: S= 1+ 1/2 + 1/3 + ... + 1/N	** Khai báo các biến:	- Tổng: S 	{ Kiểu số thực }	- Biến điều khiển: I 	{ Kiểu số nguyên }	- Biến N 	{ Kiểu số nguyên }	** Nhập giá trị của N từ bàn phím	** Gán S:=0; I:=1;- Nếu dùng While ... do:While I N;	... 	Từ lưu đồ cú pháp của lệnh While ... do, em có nhận xét gì về lưu đồ cú pháp lệnh Repeat ... Until.Quay vềBeginI > nS:=0; i:=1;S:=S+i;i:=i+1;EndTRUEFALSEInput NOutput S

File đính kèm:

  • pptBai giang vong lap khong xac dinh.ppt