Skip to content

Commit 1da4d7e

Browse files
authored
Merge pull request #2 from 42tm/upd-demo
Update demo
2 parents 11aa6f4 + 13426a1 commit 1da4d7e

File tree

5 files changed

+51
-26
lines changed

5 files changed

+51
-26
lines changed

book/chapter06.md

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -126,31 +126,46 @@ Chúng ta sẽ xem qua chương trình mẫu cùng với hàm `SetLength()`
126126
```pascal
127127
Program arrayDynDemo;
128128
129-
Var
130-
A : array of Cardinal;
131-
n : Integer;
129+
Var
130+
A : array Of Cardinal;
131+
i, t, ti, n : Integer;
132+
num: Cardinal;
132133
133-
begin
134-
readln(n);
135-
// Đếm từ 0
136-
Setlength( A, n );
137-
For i:=0 To n Do
138-
readln( a[i] );
134+
Begin
135+
readln(t);
136+
// Số lần nhập mảng
139137
140-
For i:=n Downto 0 Do
141-
write( a[i],' ' );
142-
end.
138+
For ti := 1 To t Do
139+
Begin
140+
readln(n);
141+
// Đếm từ 0
142+
Setlength( A, n );
143+
144+
For i := 0 To n - 1 Do
145+
read( A[i] );
146+
147+
For num In A Do
148+
write( num,' ' );
149+
// In n phần tử có trong mảng
150+
151+
writeln();
152+
End;
153+
End.
143154
```
144155

145156
Giả sử, với input sau:
146157
```
158+
2
147159
5
148160
10 2 3 4 5
161+
2
162+
3 4
149163
```
150164

151165
Thì kết quả của chương trình là:
152166
```
153-
5 4 3 2 10
167+
10 2 3 4 5
168+
3 4
154169
```
155170

156171
Thế nó khác gì so với mảng tĩnh ? Khi lập trình với input số nguyên, nhiều người sẽ lập tức nghĩ tới số rất to và khởi tạo mảng có độ dài rất lớn (10000 chẳng hạn). Tuy nhiên, nhỡ người dùng lại nhập số rất nhỏ (5) ? Khi đó, chương trình vẫn sẽ khởi tạo 10000 vị trí trong bộ nhớ và như thế chương trình sẽ dùng thừa rất nhiều bộ nhớ. Vì thế, chúng ta phải sử dụng mảng động.

resources/example/arrayDemo.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Program arrayDemo;
1+
Program ArrayDemo;
22

33
Var
44
i: integer;

resources/example/arrayDynDemo.pas

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,27 @@
1-
2-
Program arrayDynDemo;
1+
Program ArrayDynDemo;
32

43
Var
54
A : array Of Cardinal;
6-
n : Integer;
5+
i, t, ti, n : Integer;
6+
num: Cardinal;
77

88
Begin
9-
readln(n);
10-
// Đếm từ 0
11-
Setlength( A, n );
12-
For i:=0 To n Do
13-
readln( a[i] );
9+
readln(t);
10+
// Số lần nhập mảng
11+
12+
For ti := 1 To t Do
13+
Begin
14+
readln(n);
15+
// Đếm từ 0
16+
Setlength( A, n );
17+
18+
For i := 0 To n - 1 Do
19+
read( A[i] );
20+
21+
For num In A Do
22+
write( num,' ' );
23+
// In n phần tử có trong mảng
1424

15-
For i:=n Downto 0 Do
16-
write( a[i],' ' );
25+
writeln();
26+
End;
1727
End.

resources/example/arrayLenDemo.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Program arrayLenDemo;
1+
Program ArrayLenDemo;
22

33
Var
44
i: integer;

resources/example/arrayLitrDemo.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
Program arrayLitrDemo;
2+
Program ArrayLitrDemo;
33

44
Var
55
// Khởi tạo một mảng tĩnh

0 commit comments

Comments
 (0)