Transcript Bài 7
Mục I Mục II Mục III Mục IV Củng Cố I. CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN Ví dụ: Đánh răng ngày hai lần Học bài đến khi nào thuộc thì thôi Trong cuộc sống hằng ngày, có nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần. Lặp với số lần biết trước và chưa biết trước Trong máy tính để chỉ dẫn cho máy tính thực hiện ta cũng cần phải viết lặp lại nhiều câu lệnh cho một phép tính. Mục I Mục II Mục III Mục IV Củng Cố II. CÂU LỆNH LẶP – MỘT LỆNH THAY CHO NHIỀU LỆNH Ví dụ 1: Giả sử ta vẽ một hình vuông B1: k 0 (k là số đoạn thẳng đã vẽ) B2: k k + 1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước sang phải 900. B3: Nếu k < 4 thì trở lại bước 2 . Ngược lại, kết thúc thuật toán. Mục I Mục II II. CÂU LỆNH LẶP – MỘT LỆNH THAY CHO NHIỀU LỆNH Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên S = 1 + 2 + 3 + … + 100 Mục III Mục IV Củng Cố B1: Gán S 0 B2: Gán S S + 1 B3: Gán S S + 2 … B101: Gán S S + 100 * Cách giải bài toán này được lặp đi lặp lại nhiều lần gọi là cấu trúc lặp. * Mọi ngôn ngữ lập trình đều có cách chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh đó là câu lệnh lặp. Mục I Mục II III. VÍ DỤ VỀ CÂU LỆNH LẶP Câu lệnh lặp: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; Mục III Mục IV Củng Cố Trong đó: For, to, do: là từ khóa <giá trị đầu> luôn nhỏ hơn hoặc bằng <giá trị cuối> <Biến đếm>: là biến kiểu nguyên Số vòng lặp biết trước <giá trị cuối> - <giá trị đầu> +1 * Cách thực hiện của câu lệnh lặp: Ban đầu biến đếm sẽ nhận giá trị là <giá trị đầu> sau mỗi vòng lặp biến đếm sẽ tự động tăng lên 1 đơn vị cho đến khi bằng <giá trị cuối> Mục I Mục II Mục III Mục IV Củng Cố III. VÍ DỤ VỀ CÂU LỆNH LẶP VD1: Viết chương trình in ra màn hình thứ tự lần lặp Program Lap; Uses crt; Var i: integer; Begin Clrscr; For i:= 1 to 10 do Writeln(‘Day la so lan lap thu: ’,i); Readln End. Mục I Mục II Mục III Mục IV Củng Cố III. VÍ DỤ VỀ CÂU LỆNH LẶP VD2: In ra màn hình chữ O lặp lại 20 lần Program InO; Uses crt; Var i: integer; Begin Clrscr; For i:= 1 to 20 do Begin Writeln(‘O’); Delay(100); End; Readln End. Mục I Mục II Mục III Mục IV Củng Cố III. VÍ DỤ VỀ CÂU LỆNH LẶP Lưu ý: Trong vòng lặp muốn thực hiện nhiều câu lệnh bắt buộc phải đặt các câu lệnh đó nằm trong từ khóa Begin và End Mục I Mục II Mục III Mục IV Củng Cố IV. TÍNH TỔNG VÀ TÍCH BẰNG CÂU LỆNH LẶP VD1: Viết chương trình tính tổng các số tự nhiên S = 1 + 2 + 3 + … + 100 Program Tong; Uses crt; Var S: longint; i: integer; Begin Clrscr; For i:= 1 to 100 do S:= S + i; Writeln(‘Tong cac so tu 1 den 100 la: ‘, S); Readln End. Mục I Mục II Mục III Mục IV Củng Cố IV. TÍNH TỔNG VÀ TÍCH BẰNG CÂU LỆNH LẶP VD2: Viết chương trình tính N! số tự nhiên đầu tiên và N được nhập từ bàn phím N! = 1.2.3. … .N Program Giaithua; Uses crt; Var N, i: integer; P: longint; Begin Write(‘Nhap N = ‘); readln(N); P:=1; For i:= 1 to N do P := P * i; Writeln(N,’! = ’, P); Readln End. Mục I Mục II Mục III Mục IV Củng Cố IV. TÍNH TỔNG VÀ TÍCH BẰNG CÂU LỆNH LẶP Kiểu dữ liệu được sử dụng thêm trong Pascal Tên kiểu Phạm vi giá trị Byte Các số nguyên từ 0 đến 255 Longint Các số nguyên phạm vi - 2 31 đến 2 31 - 1 Mục I Mục II Mục III Mục IV Củng Cố IV. TÍNH TỔNG VÀ TÍCH BẰNG CÂU LỆNH LẶP Bảng các kiểu dữ liệu đầy đủ được sử dụng trong Pascal Tên kiểu Phạm vi giá trị Integer Số nguyên trong khoảng -215 đến 215-1 Char String Số thực trong khoảng 2,9x10-39 đến 1,7x1038 và số 0 Một ký tự chữ cái Xâu kí tự tối đa 255 Byte Longint Các số nguyên từ 0 đến 255 Các số nguyên phạm vi - 2 31 đến 2 31 - 1 Real Mục I Câu 1: Sau khi thực hiện đọan chương trình sau giá trị của biến j bằng bao nhiêu? Mục II j = 0; Mục III for i:=0 to 5 do j := j +2; Mục IV Củng Cố Câu 2: Sau khi thực hiện đọan chương trình sau giá trị của biến i bằng bao nhiêu? i = 1; for i:=1 to 3 do i := i * i; Mục I Câu 3: Các câu lệnh Pascal sau có hợp lệ không, vì sao? Mục II a) For i:= 100 to 1 do Mục III b) For i:= 1.5 to 10.5 do Mục IV c) For i=1 to 10 do d) For i:=1 to 10 do; Củng Cố e) For i:=1 to 10 do;