SGK Tin Học 8 - Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO

  • Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO trang 1
  • Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO trang 2
  • Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO trang 3
  • Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO trang 4
Nhap
so N=8
Bang
nhan 8
8 X
1 = 8
8 X
2 = 16
8 X
3 =	24
8 X
4 =	32
8 X
5 =	40
8 X
6 =	48
8 X
7 =	56
8 X
8 =	64
8 X
9 =	72
8 X 10 =	80 ị
Hình 36
Bài thực hành 5
sử DUNG LÊNH LĂP FOR...DO
Mục đích, yêu cầu
Viết chương trình Pascal có câu lệnh lặp for ..do.
Tiếp tục nâng cao kĩ năng đọc hiểu chương trìnb.
Nội dung
BÀI 1.
Hãy gõ chương trình ở ví dụ 5 bài 7 và thực hiện với các giá trị N = 3, 4, 5,... để kiểm tra kết quả tính tổng của N số tự nhiên đầu tiên.
Hãy thay đoạn chương trình
for i := 1 to N do s := s + i;
writeln('Tong ',N,' so tu nhien dau tien s = S) ;
bằng đoạn chương trình
for i : = 1 to N do
if i mod 2 = 0 then s :=s + i;
writeln('Tong cac so chan nho hon hoac bang ',N,' la = S);
Cho biết kết quả thực hiện chương trình với N = 8, 9, 10 là gì?
BÀI 2. Viết chương trình in ra màn hình bảng nhân của một số từ 1 đến 9, số được nhập từ bàn phím và dừng màn hình để có thể quan sát kết quả.
Gõ chương trình sau đây:
uses crt;
var N, i: integer;
begin
clrscr;
write('Nhap so N = '); readln(N); writeln;
writeln('Bang nhan ',N); writeln;
for i:= 1 to 10 do writeln(N, ' X i:2,' =	N*i:3);
readln
end.
Tìm hiểu ý nghĩa của các câu lệnh trong chương trình, dịch chương trình và sửa lỗi, nếu có.
Chạy chương trình với các giá trị nhập vào lần lượt bằng 1, 2,..., 10. Quan sát kết quả nhận được trên màn hình.
BÀI 3. Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình.
Kết quả của chương trình nhận được trong
Nhap so N=7
bài 2 có hai nhược điểm sau đây:
Bang nhan 7
• Các hàng kết quả quá sát nhau nên khó đọc;
7x1=	7
• Các hàng kết quả không được cân đối với
7 X 2 =	14
7 X 3 =	21
hàng tiêu đề.
7 X 4 =	28
Nên sửa chương trình bằng cách chèn thêm một
7 X 5 =	35
hàng trống giữa các hàng kết quả và đẩy các hàng
7 X 6 =	42
này sang phải một khoảng cách nào đó.
7 X 7 =	49
a) Chỉnh sửa câu lệnh lặp của chương trình
7 X 8 =	56
7 X 9 =	63
như sau:
7 X 10 =	70
for i:= 1 to 10 do
begin
GotoXY(5,WhereY);
writeln(N,' X	i;2,' =	N*i:3);
Hình 37
writeln
end; '
Lưu ý-.
Chỉ sử dụng được các lệnh GotoXY, WhereX và WhereY sau khi khai báo thư viện crt của Pascal.
Màn hình máy tính được chia thành các cột và các hàng, được tính bắt đầu từ góc trên bên trái. Câu lệnh GotoXY (a,b) có tác dụng đưa con trỏ về cột a, hàng b.
whereX cho biết số thứ tự của cột và whereY cho biết số thứ tự của hàng đang có con trỏ. Ví dụ GotoXY(5,WhereY) đưa con trỏ vê' vị trí cột 5 của hàng hiện tại.
b) Dịch và chạy chương trình với các giá trị gõ vào từ bàn phím. Quan sát kết quả nhận được trên màn hình.
BÀI 4. Cũng như câu lệnh if, có thể dùng câu lệnh for lồng trong một câu lệnh for khác khi thực hiện lặp. sử dụng các câu lệnh for...do lồng nhau để in ra màn hình các số từ 0 đến 99 theo dạng bảng như hình sau:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
4 Ạ
19
20
21
° 9
23
24
25
'V-
■ * A
JỊỌ
30
31
32
33
34
35
?6
<
38
40
41
42
43
44
45
46
47
48
49
50
Si
52
S3
64
55
56
57
5ỉ<
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
96
96
97
98
59
Hình 38
a) Tìm hiểu chương trình sau đây :
program Tao_bang; uses crt;
var
i: byte; { chi so cua hang} j : byte; { chi so cua cot}
begin
clrscr; { xoa man hinh}
■“«)
for i:= 0 to 9 do { viet theo tung hang}
begin
for j:= 0 to 9 do { viet theo tung cot tren moi hang} write(10*i+j:4) ; { viet cac so ij ra man hinh} writeln; { xuong hang moi}
end; { xong hang thu i} readln { dung chuông trinh de xem ket qua} end.
b) GÕ và chạy chương trình, quan sát kết quả trên màn hình, sử dụng thêm các câu lệnh GotoXY(a,b) để điều chỉnh (một cách tương đối) bảng kết quả ra giữa màn hình.