Nhập môn lập trình - Các khái niệm cơ bản về lập trình
1. Thuật toán là gì? Trình bày các tính chất
quan trọng của một thuật toán?
2. Các bước xây dựng chương trình?
3. Các cách biểu diễn thuật toán? Ưu và
khuyết điểm của từng phương pháp?
Cho ví dụminh họa.
Phạm Đình Sắc sacvn@yahoo.com Trường Cao đẳng Kỹ thuật Công nghệ Đồng Nai Khoa Điện tử - Công nghệ thông tin 1 NHẬP MÔN LẬP TRÌNH CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH PP ĐĐ SS 2 Nội dung NMLT - Các khái niệm cơ bản về lập trình Các khái niệm cơ bản1 Các bước xây dựng chương trình2 Biểu diễn thuật toán3 Cài đặt thuật toán bằng NNLT4 VCVC && BBBB 3 Các khái niệm cơ bản 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 đó. NMLT - Các khái niệm cơ bản về lập trình VCVC && BBBB 4 Các khái niệm cơ bản Ví dụ Thuật toán giải PT bậc nhất: ax + b = 0 (a, b là các số thực). NMLT - Các khái niệm cơ bản về lập trình • 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 Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 VCVC && BBBB 5 Các tính chất của thuật toán 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 PP ĐĐ SS 6 Các bước xây dựng chương trình NMLT - Các khái niệm cơ bản về lập trình Xác định vấn đề - bài toán Lựa chọn phương pháp giải Cài đặt chương trình Hiệu chỉnh chương trình Thực hiện chương trình Lỗi cú pháp Lỗi ngữ nghĩa Biểu diễn bằng: • Ngôn ngữ tự nhiên • Lưu đồ - Sơ đồ khối • Mã giả Xây dựng thuật toán/ thuật giải PP ĐĐ SS 7 Sử dụng ngôn ngữ tự nhiên NMLT - Các khái niệm cơ bản về lập trình 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. Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 PP ĐĐ SS 8 Sử dụng lưu đồ - sơ đồ khối NMLT - Các khái niệm cơ bản về lập trình Khối giới hạn Chỉ thị bắt đầu và kết thúc. 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. PP ĐĐ SS 9 Giải thuật và lưu đồ pt: ax+b=0 Đầu vào: a,b Đầu ra: x B1: Yêu cầu nhập a,b B2: Kiểm tra: Nếu a=0 và b=0 => pt VSN Nếu a=0 và b0 => pt VN Nếu a0 => x=-b/a B3: Xuất kết quả Text Begin Nhập a,b a =0 và b=0 a=0 và b0 a 0 End VSN VN Nghiệm nè x=…X=-b/a PP ĐĐ SS 10 Giải thuật và lưu đồ pt: ax+b=0 (CT) Đầu vào: a,b Đầu ra: x B1: Yêu cầu nhập a,b B2: Kiểm tra: Nếu a=0 Nếu b=0 => pt VSN Ngược lại(b0) =>ptVN Ngược lại(a0 => x=-b/a B3: Xuất kết quả Begin Nhập a,b a=0 b=0 End VSN VN Nghiệm nè x=… X=-b/a PP ĐĐ SS 11 Giải thuật pt: ax2+bx+c=0 Đầu vào: a,b,c Đầu ra: x1,x2 B1: Yêu cầu nhập a,bc B2: Kiểm tra: Nếu a=0 Nếu b=0 Nếu c=0 => pt VSN NL(c0) => pt VN NL(b0) =>x=-c/b NL(a0) Tính d=b2- 4*a*c Nếu d=0 => x1=x2=-b/(2*a) NL(d0) Nếu d pt VN NL(d>0) => x1=(-b+sqrt(d))/(2*a) x2=(-b-sqrt(d))/(2*a) B3: Xuất kết quả PP ĐĐ SS 12 Lưu đồ pt: ax2+bx+c=0 Begin Nhập a,b,c a=0 b=0 End VSN VN Nghiệm nè … X=-c/b c=0 d=b2- 4*a*c d=0 X1=x2=… d<0 X1=… x2=… VN PP ĐĐ SS 13 Sử dụng lưu đồ - sơ đồ khối NMLT - Các khái niệm cơ bản về lập trình Bắt đầu Đọc a,b a = 0 Tính x = -b/a Xuất “VN” b = 0 Xuất “VSN” Kết thúc Xuất x SĐ Đ S VCVC && BBBB 14 Sử dụng mã giả Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để biểu diễn thuật toán. NMLT - Các khái niệm cơ bản về lập trình 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” Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 PP ĐĐ SS 15 Cài đặt thuật toán bằng C/C++ NMLT - Các khái niệm cơ bản về lập trình #include #include 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); } VCVC && BBBB 16 Bài tập lý thuyết 1. Thuật toán là gì? Trình bày các tính chất quan trọng của một thuật toán? 2. Các bước xây dựng chương trình? 3. Các cách biểu diễn thuật toán? Ưu và khuyết điểm của từng phương pháp? Cho ví dụ minh họa. NMLT - Các khái niệm cơ bản về lập trình VCVC && BBBB 17 Bài tập thực hành 4. Nhập năm sinh của một người. Tính tuổi người đó. 5. Nhập 2 số a và b. Tính tổng, hiệu, tính và thương của hai số đó. 6. Nhập tên sản phẩm, số lượng và đơn giá. Tính tiền và thuế giá trị gia tăng phải trả, biết: a. tiền = số lượng * đơn giá b. thuế giá trị gia tăng = 10% tiền NMLT - Các khái niệm cơ bản về lập trình VCVC && BBBB 18 Bài tập thực hành 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 đó. 8. Nhập bán kính của đường tròn. Tính chu vi và diện tích của hình tròn đó. 9. Nhập vào số xe (gồm 4 chữ số) của bạn. Cho biết số xe của bạn được mấy nút? 10.Nhập vào 2 số nguyên. Tính min và max của hai số đó. NMLT - Các khái niệm cơ bản về lập trình
File đính kèm:
- C01_KhaiNiemCoban.pdf