ự
ọ
ộ
Trường Đ i h c Khoa h c T nhiên ạ ọ ệ Khoa Công ngh thông tin ọ B môn Tin h c c
ơ sở
TIN H C CỌ Ơ S AỞ
ặ
ương Đ ng Bình Ph dbphuong@fit.hcmuns.edu.vn
CÁC KHÁI NI M CỆ Ậ
Ề Ơ B N V Ả L P TRÌNH MÁY TÍNH
1
&
VC
ộ
N i dung
BB
1
Các khái niệm cơ bản
2
Các bước xây dựng chương trình
3
Biểu diễn thuật toán
4
Cài đặt thuật toán bằng NNLT
Tin h c cọ
ở ơ s A
Đặng Bình Phương
22
&
VC
Các khái ni m cệ
ơ b nả
BB
L p trình máy tính
ậ Gọi tắt là lập trình (programming). Nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính. Thu t toán ậ
Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể nào đó.
Tin h c cọ
ở ơ s A
Đặng Bình Phương
33
&
VC
Các khái ni m cệ
ơ b nả
BB
Ví dụ
Thuật toán giải PT bậc nhất: ax + b = 0
(a, b là các số thực).
Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0
• Nếu a = 0
• b = 0 thì phương trình có nghiệm bất kì. • b ≠ 0 thì phương trình vô nghiệm.
• Nếu a ≠ 0
• Phương trình có nghiệm duy nhất x = -b/a
Tin h c cọ
ở ơ s A
Đặng Bình Phương
44
&
VC
ậ
ấ ủ Các tính ch t c a thu t toán
BB
ấ
ồ
Bao g m 5 tính ch t sau:
Tính chính xác: quá trình tính toán hay các thao tác máy tính thực hiện là chính xác. Tính rõ ràng: các câu lệnh minh bạch được
sắp xếp theo thứ tự nhất định.
Tính khách quan: được viết bởi nhiều người trên máy tính nhưng kết quả phải như nhau. Tính phổ dụng: có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau. Tính kết thúc: hữu hạn các bước tính toán.
Tin h c cọ
ở ơ s A
Đặng Bình Phương
55
&
VC
ự
Các bước xây d ng ch
ương trình
BB
Xác định vấn đề - bài toán
Biểu diễn bằng: • Ngôn ngữ tự nhiên • Lưu đồ - Sơ đồ khối • Mã giả
Lựa chọn phương pháp giải
Xây dựng thuật toán/ thuật giải
Cài đặt chương trình
Lỗi cú pháp Lỗi ngữ nghĩa
Hiệu chỉnh chương trình
Thực hiện chương trình
Tin h c cọ
ở ơ s A
Đặng Bình Phương
66
&
VC
ử ụ
ữ ự
S d ng ngôn ng t
nhiên
BB
Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0
1. Nhập 2 số thực a và b. 2. Nếu a = 0 thì
2.1. Nếu b = 0 thì
2.1.1. Phương trình vô số nghiệm 2.1.2. Kết thúc thuật toán.
2.2. Ngược lại
2.2.1. Phương trình vô nghiệm. 2.2.2. Kết thúc thuật toán.
3. Ngược lại
3.1. Phương trình có nghiệm. 3.2. Giá trị của nghiệm đó là x = -b/a 3.3. Kết thúc thuật toán.
Tin h c cọ
ở ơ s A
Đặng Bình Phương
77
&
VC
ử ụ S d ng l
ưu đồ sơ đồ kh iố
BB
i h n
ế
ớ ạ ố Kh i gi ị ắ đầu và k t thúc. ỉ Ch th b t
ấ ữ ệ
ố ậ
Kh i vào ra Nh p/Xu t d li u.
ẽ ẽ
ọ ệ
ố ự Kh i l a ch n ề Tùy đi u ki n s r nhánh.
ố
ự
ệ
Kh i thao tác ầ Ghi thao tác c n th c hi n.
ế
Đường đi Ch hỉ ướng thao tác ti p theo.
Tin h c cọ
ở ơ s A
Đặng Bình Phương
88
&
VC
ử ụ S d ng l
ưu đồ sơ đồ kh iố
BB
B t ắ đầu
ọ Đ c a,b
Đ S
a = 0
Đ S
b = 0 Tính x = b/a
Xu t xấ Xu tấ “VSN” Xu tấ “VN”
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
99
&
VC
ử ụ
ả
S d ng mã gi
BB
ụ đó (ví d Pascal)
để
ễ
ể
ậ
Vay mượn ngôn ng nào ữ bi u di n thu t toán.
Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0
If a = 0 Then Begin
If b = 0 Then
Xuất “Phương trình vô số nghiệm”
Else
Xuất “Phương trình vô nghiệm”
End Else
Xuất “Phương trình có nghiệm x = -b/a”
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1010
&
VC
ằ
ậ
Cài đặt thu t toán b ng C
BB
#include
void main()
{
int a, b; printf(“Nhap a, b: ”); scanf(“%d%d”, &a, &b); if (a==0) {
if (b==0)
printf(“Phuong trinh VSN”);
else
printf(“Phuong trinh VN”);
} else
printf(“x = %d”, float(-b)/a);
}
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1111
&
VC
ậ
ế Bài t p lý thuy t
BB
ậ
ủ
80) Trình bày các tính ch t ấ 1. Thu t toán là gì? ( ộ ọ
81)
2. Các bước xây d ng ch 3. Các cách bi u di n thu t toán?
Ưu và khuy t ế
ể
ậ quan tr ng c a m t thu t toán? ( ương trình? (81) ự ậ ễ ể ương pháp? ủ ừ đi m c a t ng ph ọ ụ 85) Cho ví d minh h a. (
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1212
&
VC
ự
ậ
Bài t p th c hành
BB
ộ
ủ ăm sinh c a m t ng
ười. Tính tu i ngổ
ười
4. Nh p nậ đó. ậ
ổ
ệ
ậ
ố 5. Nh p 2 s a và b. Tính t ng, hi u, tính và ố đó. ủ thương c a hai s ẩ ị
ả ả
ế
ố ượng và đơn giá. Tính ăng ph i tr , bi
t:
ả 6. Nh p tên s n ph m, s l ế ề ti n và thu giá tr gia t a. b.
tiền = số lượng * đơn giá thuế giá trị gia tăng = 10% tiền
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1313
&
VC
ự
ậ
Bài t p th c hành
BB
ể
ủ
ể
ệ ố 7. Nh p ậ đi m thi và h s 3 môn Toán, Lý, Hóa ộ ủ c a m t sinh viên. Tính đi m trung bình c a sinh viên đó.
ủ đường tròn. Tính chu vi và
8. Nh p bán kính c a
đó.
ạ
9. Nh p vào s xe (g m 4 ch s ) c a b n. Cho
bi
ữ ố ủ ấ ạ được m y nút?
ậ ủ ệ di n tích c a hình tròn ố ậ ồ ủ ế ố t s xe c a b n ậ
ố
10. Nh p vào 2 s nguyên.
ủ
Tính min và max c a hai s
ố đó.
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1414
&
VC
Bài t p 4ậ
BB
B t ắ đầu
Nh pậ năm sinh
Tính
ổ Tu i = 2007 – n ăm sinh
ấ ổ Xu t Tu i
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1515
&
VC
Bài t p 5ậ
BB
B t ắ đầu
Nh pậ a và b
Tính ổ T ng = a + b ệ Hi u = a – b Tích = a * b Thương = a / b
Xu tấ
ổ ệ T ng, Hi u, Tích, Th ương
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1616
&
VC
Bài t p 6ậ
BB
B t ắ đầu
Nh pậ ẩ ả Tên s n ph m S lố ượng Đơn giá
Tính
ề Ti n = S l ố ượng * Đơn giá
ề VAT= Ti n * 0.1
ề Xu tấ Ti n và VAT
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1717
&
VC
Bài t p 7ậ
BB
B t ắ đầu
ể
ệ ố ệ ố Nh pậ Đi m T, L, H ệ ố H s T, H s L, H s H
Tính ĐTB = (T*HsT + L*HsL + H*HsH) / (HsT + HsL + HsH)
Xu tấ ĐTB
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1818
&
VC
Bài t p 8ậ
BB
B t ắ đầu
Nh pậ Bán kính R
Tính PI = 3.1415 Chu vi = 2*PI*R ệ Di n tích = PI*R*R
ệ Xu tấ Chu vi và Di n tích
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
1919
&
VC
Bài t p 9ậ
BB
B t ắ đầu
Nh pậ ữ ố ồ ố s xe N (g m 4 ch s )
Tính
ố ứ ố ứ ố ứ ố ứ ố S th 4: n4 = N mod 10, N = N div 10 S th 3: n3 = N mod 10, N = N div 10 S th 2: n2 = N mod 10, N = N div 10 S th 1: n1 = N S nút S = (n1 + n2+ n3 + n4) mod 10
Xu tấ ố S nút S
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
2020
&
VC
ậ Bài t p 10
BB
B t ắ đầu
ọ Đ c a,b
Đ S
a > b
Xu tấ a max, b min Xu tấ a min, b max
ế K t thúc
Tin h c cọ
ở ơ s A
Đặng Bình Phương
2121