You are on page 1of 4

KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

Bài thực hành số 3


Tổ chức dữ liệu trong chương trình
Ví dụ minh họa:
Viết chương trình cho người dùng nhập vào số tự nhiên i nhỏ hơn 100 và in ra màn hình bảng
tính của số i như sau:

1 x i1 = . . .
2 x i2 = . . .
3 x i3 = . . .
4 x i4 = . . .
5 x i5 = . . .
6 x i6 = . . .
7 x i7 = . . .
8 x i8 = . . .
9 x i9 = . . .
10 x i10 = . . .

Ghi chú: “. . . ” là giá trị của phép tính. Ví dụ i = 2:


1 x 21 = 2
2 x 22 = 8
3 x 23 = 24
4 x 24 = 64
5 x 25 = 160
6 x 26 = 384
7 x 27 = 896
8 x 28 = 2048
9 x 29 = 4608
10 x 210 = 10240

Phân tích:

ˆ Hàm tính lũy thừa là: pow(x,y) : xy


(Nhớ thêm vào thư viện <math.h> để sử dụng hàm này)

ˆ Thoạt đầu chúng ta sẽ viết 10 câu printf cho các phép tính từ 1x đến 10x. Như sau

Nhập môn lập trình CO1003 - 2016 1


KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

ˆ Tuy nhiên chúng ta có thể thấy rằng, các phép tính từ 1x đến 10x đều tăng dần 1 đơn vị
và bắt đầu từ số 1. Vì thế, thay vì phải sửa từng câu lệnh printf như trên, chúng ta có thể
làm ngắn gọn bằng cách sử dụng 1 biến đếm j =1 và sau mỗi câu lệnh printf sẽ tăng j lên 1
đơn vị.

ˆ Như vậy rõ ràng với cách làm này, chúng ta chỉ cần viết 1 câu lệnh printf và copy ra thành
10 câu lệnh như vậy.

ˆ Một chương trình đầy đủ (cho người dùng nhập vào) sẽ như sau:

ˆ Tuy nhiên, nếu người dùng nhập vào số i từ 10 trở lên thì kết quả phép tính sẽ ra sai. Lý
do là vì khoảng giá trị của kiểu int chỉ từ -2.147.483.648 đến 2.147.483.647. Vì thế khi tính
phép tính 10*10ˆ10 đã vượt phạm vi giá trị của kiển int. Vì thế để cho phạm vi giá trị số
rộng hơn, chúng ta sẽ dùng kiểu double thay thế kiểu int.

Nhập môn lập trình CO1003 - 2016 2


KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

ˆ Chương trình hoàn chỉnh:

Bài tập

Câu 1: Viết chương trình cho người dùng nhập vào số tự nhiên i nhỏ hơn 100 và in ra màn hình
bảng tính của số i như sau:
10 x (i + 1)1 = . . .
9 x (i + 2)2 = . . .
8 x (i + 3)3 = . . .
7 x (i + 4)4 = . . .
6 x (i + 5)5 = . . .
5 x (i + 6)6 = . . .
4 x (i + 7)7 = . . .
3 x (i + 8)8 = . . .
2 x (i + 9)9 = . . .
1 x (i + 10)10 =. . .

Ghi chú: “. . . ” là giá trị của phép tính. Ví dụ i = 1:


10 x 21 = 20
9 x 32 = 81
8 x 43 = 512
7 x 54 = 4375
6 x 65 = 46656

Nhập môn lập trình CO1003 - 2016 3


KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

5 x 76 = 588245
4 x 87 = 8388608
3 x 98 = 129140163
2 x 109 = 2000000000
1 x 1110 = 25937424601

Câu 2: Viết chương trình nhập vào số nguyên có 4 chữ số và hiển thị các chữ số của số nguyên
này, các chữ số cách nhau 2 ký tự trống. Dạng màn hình như sau:
Nhap so nguyen: 4125
4 1 2 5

Câu 3: Cho độ dài ba cạnh của một hình hộp chữ nhật. Viết chương trình tính diện tích
xung quanh, diện tích đáy, diện tích toàn phần và thể tích của hình hộp chữ nhật.

Câu 4: Số P I là tổng của các số hạng ak = (−1)k 4/(2k + 1) với k = 0, 1, 2.... Viết chương
trình ước lượng số P I bằng cách tính tổng a0 + a1 + a2 + ....

HẾT.

Nhập môn lập trình CO1003 - 2016 4

You might also like