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;