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.
Môn: Nhập môn lập trình
Trường: Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
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