Bài 7: Câu lệnh lặp Nội dung chính: 1/ Các công việc được thực hiện nhiều lần 2/ Câu lệnh lặp – một lệnh thay cho nhiều lệnh 3/ Câu lệnh lặp for…do 4/ Tính tổng và tích bằng câu lệnh lặp[r]
(1)MÔN TIN HỌC LỚP BÀI 7: CÂU LỆNH LẶP (2) Ví dụ Màn hình kết Program Hien_thi;xuất gì sau Uses Crt; thực đoạn Begin chương trình này Clrscr; Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Writeln(‘Xin chao’); Readln End (3) Đoạn chương trênnào dài Cótrình cách làm cho ngắn gọn lại hay không?? (4) Bài 7: Câu lệnh lặp (2 tiết) (5) Bài 7: Câu lệnh lặp Nội dung chính: 1/ Các công việc thực nhiều lần 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh 3/ Câu lệnh lặp for…do 4/ Tính tổng và tích câu lệnh lặp (6) Bài 7: Câu lệnh lặp 1/ Các công việc thực nhiều lần 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh 3/ Ví dụ câu lệnh lặp 4/ Tính tổng và tích câu lệnh lặp (7) 1/ Các công việc thực nhiều lần Trong đời sống ngày có nhiều công việc lặp lặp lại, em nào cho biết vài ví dụ? (8) 1/ Các công việc thực nhiều lần Ví dụ: Mỗi sáng thứ chào cờ đầu tuần Ngày ăn cơm lần Tiếng trống trường sau tiết học Học thuộc bài (9) Tớ phải bị phạt tới lui này ? Hãy quan sát và cho biết : Mỗi tình mô tả điều gì lặp lại? Và lặp bao nhiêu lần? Caäu phaûi ñi trời möa Caäu phaûi laøm 50 laàn nhö theá Còn tớ phải bị phaït taäp theå duïc nhö theá naøy ? (10) 1/ Các công việc thực nhiều lần Kết luận Có công việc lặp với số lần định và biết trước VD: Đánh ngày lần, ngày ăn cơm lần Có công việc lặp với số lần không thể xác định trước VD: Học bài thuộc bài (11) ỞCòn ngoài thựctin tế,học, công việc lặp lặp lại đối công việc lặp lặp lại với người, người có thể làm theo thứ tự, lần phải làm hết lượt việc Nhưng tất !! có thể gộp nhiều việc vào với để xử lí (12) Bài 7: Câu lệnh lặp 1/ Các công việc thực nhiều lần 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh 3/ Câu lệnh lặp for … 4/ Tính tổng và tích câu lệnh lặp (13) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Xét Ví dụ : Giả sử ta cần vẽ ba hình vuông có cạnh đơn vị hình 1.35 Mỗi hình vuông là ảnh dịch chuyển hình bên trái nó khoảng cách đơn vị Hình 33 (14) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Thuật toán BướcHãy 1: Vẽ hình vuông mô tả thuật toán Bước 2: Nếu số hình vuông đã vẽ nhỏ 3, di chuyển bút vẽ bên phải đơn vị và trở lại bước 1; ngược lại, kết thúc thuật toán (15) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh 2 (16) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Ví dụ: (giống VD có hình vuông) Thuật toán: Bước 1: Vẽ hình vuông Bước 2: Nếu số hình vuông đã vẽ nhỏ 5, di chuyển bút vẽ bên phải đơn vị và trở lại bước 1; ngược lại, kết thúc thuật toán (17) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Xét Ví dụ : Tính tổng 100 số tự nhiên đầu tiên S = + + + + 100 (18) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Thuật toán đơn giản nhất: Bước 1: SUM Bước 2: SUM SUM +1 Bước 3: SUM SUM +2 Bước 101: SUM SUM +100 (19) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Thuật toán: Bước 1:Hãy SUM mô 0;tảilại thuật 0; toán đã Bước 2: i i + 1; học Bước 3: Nếu i ≤ 100, thì SUM SUM + i; và quay lại bước Bước 4: Thông báo kết và kết thúc thuật toán (20) 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh Kết luận: Cách mô tả các hoạt động lặp thuật toán ví dụ trên gọi là cấu trúc lặp Để thực các cấu trúc lặp, ngôn ngữ lập trình có cách trình bày riêng các câu lệnh Đó là các câu lệnh lặp (21) Vậy ngôn ngữ lập trình Pascal sử dụng câu lệnh lặp nào để thực hiện? (22) Bài 7: Câu lệnh lặp 1/ Các công việc thực nhiều lần 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh 3/ Câu lệnh lặp for …do 4/ Tính tổng và tích câu lệnh lặp (23) 3/ Câu lệnh lặp for …do a/ Cú pháp: for <biến đếm> := <giá trị đầu> to <giá trị cuối> <câu lệnh>; Trong đó: for, to, là các từ khoá biến đếm : Biến kiểu số nguyên ( integer ) giá trị đầu, giá trị cuối: là các giá trị nguyên (24) 3/ Câu lệnh lặp for …do Ví dụ: for i:= to 10 writeln(‘Xin chao’); Câu lệnh lặp thực câu lệnh nhiều lần, lần là vòng lặp Số vòng lặp = giá trị cuối – giá trị đầu + (25) 3/ Câu lệnh lặp b/ Các ví dụ Ví dụ 3: program Lap; Chương trình sau in màn hình thứ tự var i: Integer; lần lặp begin for i := to 10 writeln('Day la lan lap thu ',i); end (26) 3/ Câu lệnh lặp b/ Các ví dụ Ví dụ 4: uses crt; Viết chương trình ghi nhận các vị trí var i: Integer; trứng rơi từ trên cao xuống, ta begin cóclrscr; thể lặp lại lệnh trên nhiều lần (ví dụ, 20for lần) trình sau: i := to 20chương begin writeln(‘ 0’); delay(100); end; readln end (27) Bài 7: Câu lệnh lặp 1/ Các công việc thực nhiều lần 2/ Câu lệnh lặp – lệnh thay cho nhiều lệnh 3/ Câu lệnh lặp for …do 4/ Tính tổng và tích câu lệnh lặp (28) 4/ Tính tổng và tích câu lệnh lặp Tính tổng S N số tự nhiên đầu tiên S = + + + + N Tính tích N! N số tự nhiên đầu tiên N! = 1.2.3 .N (29) 4/ Tính tổng và tích câu lệnh lặp Ví dụ 5: Chương trình sau đây tính tổng N số tự nhiên đầu tiên, với N là số tự nhiên nhập vào từ bàn phím (30) 4/ Tính tổng và tích câu lệnh lặp Longint : Kiểu số nguyên; giống integer phạm vi giá tri lớn nhiều Integer : - 215 31 Longint : - 15 - 31 - (31) 4/ Tính tổng và tích câu lệnh lặp Ví dụ 6: Chương trình sau đây tính tích N số tự nhiên đầu tiên, với N là số tự nhiên nhập vào từ bàn phím (32) Bài tập 1/ Sau thực đoạn chương trình sau, giá trị biến x bao nhiêu? ( giả sử biến x và i đã khai báo phù hợp) a) x:=1; for i:= to x := x+1; b) x:=20; for i:= to x := x-2; (33) Bài tập 2/ Các câu lệnh Pascal sau có hợp lệ không, vì sao? a) for i:=100 to writeln('A'); b) for i:=1.5 to 10.5 writeln('A'); c) for i=1 to 10 writeln('A'); d) for i:=1 to 10 do; writeln('A'); (34) Dặn dò Học bài, xem lại các bài tập trang 59 để tiết sau thực hành (35)