Chương 1: CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH | NHẬP MÔN LẬP TRÌNH

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ài tập giúp bạn tham khảo, củng cố kiến thức và ôn tập đạt kết quả cao.

Trường Đại hc Khoa hc T nhiên
Khoa Công ngh thông tin
B môn Tin hc cơ s
1
Đặng Bình Phương
dbphuong@fit.hcmuns.edu.vn
NHP MÔN LP TRÌNH
CÁC KHÁI NIM CƠ BN
V LP TRÌNH
VC
VC
&
&
BB
BB
22
Ni dung
NMLT - Các khái nim cơ bn v lp trình
Các khái nim cơ bn
1
Các bước xây dng chương trình
2
Biu din thut toán
3
Cài đặt thut toán bng NNLT
4
VC
VC
&
&
BB
BB
33
Các khái nim cơ bn
Lp trình máy tính
Gi tt là lp trình (programming).
Ngh thut cài đặt mt hoc nhiu thut toán
tru tượng có liên quan vi nhau bng mt
ngôn ng lp trình để to ra mt chương trình
máy tính
.
Thut toán
tp hp (dãy) hu hn các ch th (hành
động) được định nghĩa rõ ràng nhm gii
quyết m
t bài toán c th
nào đó.
NMLT - Các khái nim cơ bn v lp trình
VC
VC
&
&
BB
BB
44
Các khái nim cơ bn
d
Thut toán gii PT bc nht: ax + b = 0
(a, b là các s thc).
NMLT - Các khái nim cơ bn v lp trình
Nếu a = 0
b = 0 thì phương trình có nghim bt kì.
b 0 thì phương trình vô nghim.
Nếu a 0
Phương trình có nghim duy nht x = -b/a
Đầu vào: a, b thuc R
Đầu ra: nghim phương trình ax + b = 0
VC
VC
&
&
BB
BB
55
Các tính cht ca thut toán
Bao gm 5 tính cht sau:
Tính chính xác: quá trình tính toán hay các
thao tác máy tính thc hin là chính xác.
Tính rõ ràng: các câu lnh minh bch được
sp xếp theo th t nht định.
Tính khách quan: được viết bi nhiu người
trên máy tính nhưng kết qu phi như nhau.
Tính ph dng: th áp dng cho mt lp
các bài toán có đầu vào tương t nhau.
Tính kết thúc: hu hn các bước tính toán.
NMLT - Các khái nim cơ bn v lp trình
VC
VC
&
&
BB
BB
66
Các bước xây dng chương trình
NMLT - Các khái nim cơ bn v lp trình
Xác định vn đề
- bài toán
Xác định vn đề
- bài toán
La chn
phương pháp gii
La chn
phương pháp gii
Cài đặt
chương trình
Cài đặt
chương trình
Hiu chnh
chương trình
Hiu chnh
chương trình
Thc hin
chương trình
Thc hin
chương trình
Li cú pháp
Li ng nghĩa
Biu din bng:
Ngôn ng t nhiên
Lưu đồ - Sơđkhi
gi
Xây dng
thut toán/ thut gii
Xây dng
thut toán/ thut gii
VC
VC
&
&
BB
BB
77
S dng ngôn ng t nhiên
NMLT - Các khái nim cơ bn v lp trình
1. Nhp 2 s thc 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 nghim
2.1.2. Kết thúc thut toán.
2.2. Ngược li
2.2.1. Phương trình vô nghim.
2.2.2. Kết thúc thut toán.
3. Ngược li
3.1. Phương trình có nghim.
3.2. Giá tr ca nghim đó x = -b/a
3.3. Kết thúc thut toán.
Đầu vào: a, b thuc R
Đầu ra: nghim phương trình ax + b = 0
VC
VC
&
&
BB
BB
88
S dng lưu đồ - sơđkhi
NMLT - Các khái nim cơ bn v lp trình
Khi gii hn
Ch th bt đầu và kết thúc.
Khi vào ra
Nhp/Xut d liu.
Khi la chn
Tùy điu kin s r nhánh.
Khi thao tác
Ghi thao tác cn thc hin.
Đường đi
Ch hướng thao tác tiếp theo.
VC
VC
&
&
BB
BB
99
S dng lưu đồ - sơđkhi
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Đọc a,b
a = 0
Tính
x = -b/a
Xut
“VN”
b = 0
Xut
“VSN”
Kết thúc
Xut x
SĐ
Đ S
VC
VC
&
&
BB
BB
1010
S dng mã gi
Vay mượn ngôn ng nào đó (ví d Pascal) để
biu din thut toán.
NMLT - Các khái nim cơ bn v lp trình
If a = 0 Then
Begin
If b = 0 Then
Xut “Phương trình vô s nghim”
Else
Xut “Phương trình vô nghim”
End
Else
Xut “Phương trình có nghim x = -b/a”
Đầu vào: a, b thuc R
Đầu ra: nghim phương trình ax + b = 0
VC
VC
&
&
BB
BB
1111
Cài đặt thut toán bng C/C++
NMLT - Các khái nim cơ bn v lp trình
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b;
printf(“Nhap a, b: ”);
scanf(“%d%d”, &a, &b);
if (a == 0)
if (b == 0)
printf(“Phương trình VSN”);
else
printf(“Phương trình VN”);
else
printf(“x = %.2f”, -float(b)/a);
}
VC
VC
&
&
BB
BB
1212
Bài tp lý thuyết
1. Thut toán là gì? Trình bày các tính cht quan
trng ca mt thut toán?
2. Các bước xây dng chương trình?
3. Các cách biu din thut toán? Ưu và khuyết
đim ca tng phương pháp?
Cho ví d minh ha.
NMLT - Các khái nim cơ bn v lp trình
VC
VC
&
&
BB
BB
1313
Bài tp thc hành
4. Nhp năm sinh ca mt người. Tính tui người
đó.
5. Nhp 2 s a và b. Tính tng, hiu, tính và
thương ca hai sốđó.
6. Nhp tên sn phm, s lượng và đơn giá. Tính
tin và thuế giá tr gia tăng phi tr, biết:
a. tin = s lượng * đơn giá
b. thuế giá tr gia tăng = 10% tin
NMLT - Các khái nim cơ bn v lp trình
VC
VC
&
&
BB
BB
1414
Bài tp thc hành
7. Nhp đim thi và h s 3 môn Toán, Lý, Hóa
ca mt sinh viên. Tính đim trung bình ca
sinh viên đó.
8. Nhp bán kính ca đường tròn. Tính chu vi và
din tích ca hình tròn đó.
9. Nhp vào s xe (gm 4 ch s) ca bn. Cho
biết s xe ca bn được my nút?
10.Nhp vào 2 s nguyên.
Tính min và max ca hai sốđó.
NMLT - Các khái nim cơ bn v lp trình
VC
VC
&
&
BB
BB
1515
Bài tp 4
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Nhp
năm sinh
Tính
Tui = 2008 năm
sinh
Xut Tui
Kết thúc
VC
VC
&
&
BB
BB
1616
Bài tp 5
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Nhp
a và b
Tính
Tng = a + b
Hiu = a – b
Tích = a * b
Thương = a / b
Kết thúc
Xut
Tng, Hiu, Tích, Thương
VC
VC
&
&
BB
BB
1717
Bài tp 6
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Nhp
Tên sn phm
S lượng
Đơn giá
Tính
Tin = S lượng * Đơn giá
VAT= Tin * 0.1
Kết thúc
Xut
Tin và VAT
VC
VC
&
&
BB
BB
1818
Bài tp 7
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Nhp
Đim T, L, H
H s T, H s L, H s H
Tính
ĐTB = (T*HsT + L*HsL + H*HsH) /
(HsT + HsL + HsH)
Kết thúc
Xut
ĐTB
VC
VC
&
&
BB
BB
1919
Bài tp 8
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Nhp
Bán kính R
Tính
PI = 3.1415
Chu vi = 2*PI*R
Din tích = PI*R*R
Kết thúc
Xut
Chu vi và Din tích
VC
VC
&
&
BB
BB
2020
Bài tp 9
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Nhp
s xe N (gm 4 ch s)
Tính
S th 4: n4 = N % 10, N = N / 10
S th 3: n3 = N % 10, N = N / 10
S th 2: n2 = N % 10, N = N / 10
S th 1: n1 = N
S nút S = (n1 + n2+ n3 + n4) % 10
Kết thúc
Xut
S nút S
VC
VC
&
&
BB
BB
2121
Bài tp 10
NMLT - Các khái nim cơ bn v lp trình
Bt đầu
Đọc a,b
a > b
Xut
a max, b
min
Kết thúc
SĐ
Xut
a min, b
max
| 1/6

Preview text:

Trường Đại học Khoa học Tự nhiên & & Khoa Công nghệ thông tin V V C C Nội dung Bộ môn Tin học cơ sở B B B B
NHẬP MÔN LẬP TRÌNH Đặng Bình Phương dbphuong@fit.hcmuns.edu.vn 1
Các khái niệm cơ bản
CÁC KHÁI NIỆM CƠ BẢN 2
Các bước xây dựng chương trình VỀ LẬP TRÌNH 3
Biểu diễn thuật toán 4
Cài đặt thuật toán bằng NNLT 1 2
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C Các khái niệm cơ bản V V C C Các khái niệm cơ bản B B B B B B B B Lập trình máy tính Ví dụ
Gọi tắt là lập trình (programming).
Thuật toán giải PT bậc nhất: ax + b = 0
Nghệ thuật cài đặt một hoặc nhiều thuật toán (a, b là các số thực).
trừu tượng có liên quan với nhau bằng một
Đầu vào: a, b thuộc R
ngôn ngữ lập trình để tạo ra một chương trình
Đầu ra: nghiệm phương trình ax + b = 0 máy tính. • Nếu a = 0
b = 0 thì phương trình có nghiệm bất kì. Thuật toán
b ≠ 0 thì phương trình vô nghiệm.
Là tập hợp (dãy) hữu hạn các chỉ thị (hành • Nếu a ≠ 0 độ
Phương trình có nghiệm duy nhất x = -b/a
ng) được định nghĩa rõ ràng nhằm giải
quyết một bài toán cụ thể nào đó. 3 4
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C
Các tính chất của thuật toán V V C C
Các bước xây dựng chương trình B B B B B B B B ấ Bao gồm 5 tính chất sau: Xá X c á c đị nh n h v n n đề Biểu diễn bằng: - bài toán • Ngôn ngữ tự nhiên
Tính chính xác: quá trình tính toán hay các
• Lưu đồ - Sơ đồ khối Lựa a c h c ọn • Mã giả
thao tác máy tính thực hiện là chính xác. phương pháp giải
Tính rõ ràng: các câu lệnh minh bạch được Xâ X y â y d ựng
sắp xếp theo thứ tự nhất định. th t u h ật ậ tt o t á o n á / n / t h t u h ật ậ giải
Tính khách quan: được viết bởi nhiều người Cài đặt đặ
trên máy tính nhưng kết quả phải như nhau. chương n g t r t ì r n ì h n
Tính phổ dụng: có thể áp dụng cho một lớp Lỗi cú pháp Hiệu u c h c ỉnh Lỗi ngữ nghĩa chương trình
các bài toán có đầu vào tương tự nhau. chương trìn ệ Th T ự h c hi n
Tính kết thúc: hữu hạn các bước tính toán. chương n g t r t ì r n ì h n 5 6
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C
Sử dụng ngôn ngữ tự nhiên V V C C
Sử dụng lưu đồ - sơ đồ khối B B B B B B B B Đầ Khối giới hạn u vào: a, b thuộc R Đầ
Chỉ thị bắt đầu và kết thúc.
u ra: nghiệm phương trình ax + b = 0
1. Nhập 2 số thực a và b. Khối vào ra 2. Nếu a = 0 thì Nhập/Xuất dữ liệu. 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.
Khối lựa chọn 2.2. Ngược lại
Tùy điều kiện sẽ rẽ nhánh.
2.2.1. Phương trình vô nghiệm.
2.2.2. Kết thúc thuật toán.
Khối thao tác 3. Ngược lại
Ghi thao tác cần thực hiện.
3.1. Phương trình có nghiệm.
3.2. Giá trị của nghiệm đó là x = -b/a
Đường đi
3.3. Kết thúc thuật toán.
Chỉ hướng thao tác tiếp theo. 7 8
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C
Sử dụng lưu đồ - sơ đồ khối V V C C Sử dụng mã giả B B B B B B B B Bắt đầu
Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để biểu diễn thuật toán. Đọc a,b
Đầu vào: a, b thuộc R Đ
Đầu ra: nghiệm phương trình ax + b = 0 S a = 0 If a = 0 Then Đ Begin S Tính If b = 0 Then b = 0 x = -b/a
Xuất “Phương trình vô số nghiệm” Else Xuất Xuất
Xuất “Phương trình vô nghiệm” Xuất x “VSN” “VN” End Else
Xuất “Phương trình có nghiệm x = -b/a” Kết thúc 9 10
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C
Cài đặt thuật toán bằng C/C++ V V C C Bài tập lý thuyết B B B B B B B B #include
1. Thuật toán là gì? Trình bày các tính chất quan #include
trọng của một thuật toán? void main()
2. Các bước xây dựng chương trình? { int a, b;
3. Các cách biểu diễn thuật toán? Ưu và khuyết
printf(“Nhap a, b: ”);
điểm của từng phương pháp?
scanf(“%d%d”, &a, &b); if (a == 0) Cho ví dụ minh họa. if (b == 0)
printf(“Phương trình VSN”); else
printf(“Phương trình VN”); else
printf(“x = %.2f”, -float(b)/a); } 11 12
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C Bài tập thực hành V V C C Bài tập thực hành B B B B B B B B
4. Nhập năm sinh của một người. Tính tuổi người
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
5. Nhập 2 số a và b. Tính tổng, hiệu, tính và sinh viên đó. thương của hai số đó.
8. Nhập bán kính của đường tròn. Tính chu vi và
6. Nhập tên sản phẩm, số lượng và đơn giá. Tính
diện tích của hình tròn đó.
tiền và thuế giá trị gia tăng phải trả, biết:
9. Nhập vào số xe (gồm 4 chữ số) của bạn. Cho
a. tiền = số lượng * đơn giá
biết số xe của bạn được mấy nút?
b. thuế giá trị gia tăng = 10% tiền 10.Nhập vào 2 số nguyên.
Tính min và max của hai số đó. 13 14
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C Bài tập 4 V V C C Bài tập 5 B B B B B B B B Bắt đầu Bắt đầu Nhập Nhập a và b năm sinh Tính Tính Tổng = a + b Tuổi = 2008 – năm Hiệu = a – b sinh Tích = a * b Thương = a / b Xuất Tuổi Xuất
Tổng, Hiệu, Tích, Thương Kết thúc Kết thúc 15 16
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C Bài tập 6 V V C C Bài tập 7 B B B B B B B B Bắt đầu Bắt đầu Nhập Nhập Tên sản phẩm Điểm T, L, H Số lượng Đơ
Hệ số T, Hệ số L, Hệ số H n giá Tính Tính
Tiền = Số lượng * Đơn giá
ĐTB = (T*HsT + L*HsL + H*HsH) / VAT= Tiền * 0.1 (HsT + HsL + HsH) Xuất Xuất Tiền và VAT ĐTB Kết thúc Kết thúc 17 18
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & & & V V C C Bài tập 8 V V C C Bài tập 9 B B B B B B B B Bắt đầu Bắt đầu Nhập Nhập số xe N (gồm 4 chữ số) Bán kính R Tính Tính
Số thứ 4: n4 = N % 10, N = N / 10 PI = 3.1415
Số thứ 3: n3 = N % 10, N = N / 10 Chu vi = 2*PI*R
Số thứ 2: n2 = N % 10, N = N / 10 Diện tích = PI*R*R Số thứ 1: n1 = N
Số nút S = (n1 + n2+ n3 + n4) % 10 Xuất Xuất Chu vi và Diện tích Số nút S Kết thúc Kết thúc 19 20
NMLT - Các khái niệm cơ bản về lập trình
NMLT - Các khái niệm cơ bản về lập trình & & V V C C Bài tập 10 B B B B Bắt đầu Đọc a,b Đ S a > b Xuất Xuất a max, b a min, b min max Kết thúc 21
NMLT - Các khái niệm cơ bản về lập trình