Bài giảng Tin học 11 - Bài 10: Cấu trúc lặp

Bài giảng Tin học 11 - Bài 10: Cấu trúc lặp

1. LẶP :

Khái niệm :

Lặp là điều khiển thực hiện công việc lặp đi lặp lại một số lần hoặc thỏa mãn một điều kiện nào đó để hoàn thành một công việc

Ví dụ 1: đếm tiền cho đến khi mỏi tay, ép vỏ lon đến khi mệt, tung hứng đến khi nào rớt, .

số lần không biết trước

Ví dụ 2 : đếm 2 xấp tiền, ép 1000 vỏ lon, tung hứng 10 lần, .

 

ppt 12 trang lexuan 11710
Bạn đang xem tài liệu "Bài giảng Tin học 11 - Bài 10: Cấu trúc lặp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
KIỂM TRA BÀI CŨCâu 1: Cho biết kết quả hiển thị lên màn hình của đoạn chương trình sau:Var a, b, max: word;A:= 100; b:=5;Max:=a;If b>a then max:=b;Write(‘so lon nhat la: ‘, max);so lon nhat la: max	B. 100C. so lon nhat la: 100	D. so lon nhat la: 5Câu 2: Đoạn chương trình sau đưa ra màn hình kết quả gì?Var a,b: integer;A:=5; b:=2;If a>b then write(a+b) ;7	B. a+bC. 5+2	D. không in gì cả Quan sát các hành động sau:Các hành động được thực hiện lặp đi lặp lại nhiều lần-Trong thực tế cuộc sống có rất nhiều công việc, hành động có những thao tác lặp đi lặp lại nhiều lần thì cần có một cấu trúc điều khiển việc lặp lại các thao tác đó. Bài 10 :CẤU TRÚC LẶP1. LẶP :a. Khái niệm :Lặp là điều khiển thực hiện công việc lặp đi lặp lại một số lần hoặc thỏa mãn một điều kiện nào đó để hoàn thành một công việcb. Phân loại :+ Lặp với số lần biết trước+ Lặp với số lần không biết trướcVí dụ 1: đếm tiền cho đến khi mỏi tay, ép vỏ lon đến khi mệt, tung hứng đến khi nào rớt, .Ví dụ 2 : đếm 2 xấp tiền, ép 1000 vỏ lon, tung hứng 10 lần, .số lần không biết trướcsố lần biết trước2. Lặp với số lần biết trước và câu lệnh For do :a. Dạng lặp tiến: Cú pháp :For := to do ;b. Dạng lặp lùi: Cú pháp :For := downto do ; Biến đếm : Là biến đơn, thường có kiểu nguyên Giá trị đầu, giá trị cuối : Là các biểu thức cùng kiểu với biến đếm (Giá trị đầu nhỏ hơn hoặc bằng giá trị cuối) for, to, downto, do : Là từ khóa trong Pascal; Ví dụ 1 : Viết chương trình in ra màn hình 5 câu lệnh : chao cac ban lop 11A2Program vidu1;Uses crt;Begin clrscr;	writeln(‘chao cac ban lop 11A2’);	writeln(‘chao cac ban lop 11A2’);	writeln(‘chao cac ban lop 11A2’);	writeln(‘chao cac ban lop 11A2’);	writeln(‘chao cac ban lop 11A2’); Readln;End.Nếu muốn in ra màn hình 10 câu lệnh thì viết như thế nào ?writeln(‘chao cac ban lop 11A2’);writeln(‘chao cac ban lop 11A2’);writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’); writeln(‘chao cac ban lop 11A2’);Vậy thì có cách lập trình nào khác để khắc phục điều ấy không ? For i:= 1 to 10 do writeln(‘chao cac ban lop 11A2’);Var i:integer; Phân tích bài toán 1 với N =5Ví du 2 : Viết chương trình để tính tổng S sau :S = 1 + 2 + 3 + 4 + + N NhËn xÐt :S1 = S0 + 1S2 = S1 + 2S3 = S2 + 3S4 = S3 + 4	S5 = S4 + 5	Việc tính S được lặp đi lặp lại 5 lần theo quy luật Ssau = Strước+ ivới i chạy từ 1 5	S0= 0=1 lần 1= 3 lần 2=6 lần 3=10 lần 4 =15 lần 5Việc tính S theo qui tắc nào? Lặp lại bao nhiêu lần?Khởi tạo Phân tích bài toán 1 với N =5 NhËn xÐt :S5 = S0 + 5S4 = S5 + 4S3 = S4 + 3S2 = S3 + 2	S1 = S2 + 1	Việc tính S được lặp đi lặp lại 5 lần theo quy luật Ssau = Strước+ ivới i chạy từ 5 1	S0= 0= 5 lần 5= 9 lần 4= 12 lần 3= 14 lần 2= 15 lần 1Việc tính S theo qui tắc nào? Lặp lại bao nhiêu lần?Khởi tạo Phân tích bài toán 1 với N =5LUYỆN TẬP Viết chương trình để tính tổng S sau : S = 12 + 22 + 32 + 42 + + N2+ NHÓM 1 : Viết đoạn chương trình cấu trúc lặp dạng tiến+ NHÓM 2 : Viết chương trình mô phỏng cấu trúc lặp dạng tiến khi biến đếm tăng (1 đơn vị)+ NHÓM 3 : Viết đoạn chương trình cấu trúc lặp dạng lùi+ NHÓM 4 : Viết chương trình mô phỏng cấu trúc lặp dạng lùi khi biến đếm giảm (1 đơn vị)NHOÙM 1 : NHOÙM 2 : NHOÙM 3 : NHOÙM 4 : S0= 0 S1= S0 + 1*1 = 1S2 = S1 + 2*2 = 5S3 = S2 + 3*3 = 14S4 = S3 + 4*4 = 30 S5 = S4 + 5*5 = 55S:=0;For i:=5 downto 1 do S:= S+i*i; Write(‘ket qua S=’,S);S0= 0 S5 = S0 + 5*5 = 25 S4 = S5 + 4*4 = 41S3 = S4 + 3*3 = 50S2 = S3 + 2*2 = 54S1 = S2 + 1*1 = 55S:=0;For i:=1 to 5 do S:= S+i*i; Write(‘ket qua S=’,S);Kết quả55Kết quả55CỦNG CỐDạng lặp tiến:Dạng lặp lùi:Tăng 1 đơn vị Giảm 1 đơn vị For := to do ;For := downto do ;1. Khái niệm lặp:2.Lặp với số lần biết trước và câu lệnh for do Bài tập về nhà :- Viết chương trình để tính tích S sau : S = 1 x 2 x 3 x x N- Viết chương trình để tính tích S sau : S = 12 x 22 x 32 x x N2 Cú pháp : Cú pháp :

Tài liệu đính kèm:

  • pptbai_giang_tin_hoc_11_bai_10_cau_truc_lap.ppt