Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 171 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
171
Dung lượng
13,19 MB
Nội dung
03/03/14 Chương Giới thiệu Bài giảng Kỹ thuật lập trình Bùi Đức Dương – Khoa Cơng nghệ thơng tin Thông tin học phần Tên học phần: Kỹ thuật lập trình (75326) Thời gian: 30 LT + 30 TH + 90 tiết TNC Đào tạo trình độ: Đại học, cao đẳng Giảng dạy cho sinh viên năm thứ ngành CNTT LT NTU - Kỹ thuật lập trình KT 03/03/14 Nội dung học phần Chương Thuật toán chương trình Chương Kỹ thuật tổ chức chương trình Chương Lập trình hàm Chương Các cấu trúc liệu Chương Kiểu liệu cấu trúc Chương Xử lý tập tin Chương Lập trình đệ quy LT KT NTU - Kỹ thuật lập trình Tài liệu tham khảo T T Tác giả Tên tài liệu Nơi xuất Bùi Đức Dương Bài giảng Kỹ thuật lập trình Phạm Văn Ất Kỹ thuật lập trình C NXB Hồng Đức (2009) Thư viện Đặng Bình Phương Tin học sở A NXB Đại học Quốc gia TP.HCM Thư viện Khoa CNTT – Bài tập Nhập mơn Trường ĐH KHTN – lập trình ĐHQG TP.HCM Trường Đại học KHTN - TP.HCM CBGD Brian W Kernighan Dennis M.Ritchie Prentice Hall Software Series CBGD NTU - Kỹ thuật lập trình C Programming Language Trường Đại học Nha Trang (2014) Địa CBGD LT KT 03/03/14 Đánh giá học phần Các nội dung đánh giá Phương pháp Chuyên cần, xây dựng Điểm danh, quan sát 10 Tự nghiên cứu: Đọc tài liệu; Kiểm tra làm tập buổi TH 20 Kiểm tra Viết chương trình máy 20 Thi cuối kỳ Viết chương trình máy 50 TT Tỷ trọng (%) LT KT NTU - Kỹ thuật lập trình Chương Thuật tốn chương trình Bài giảng Kỹ thuật lập trình 03/03/14 Nội dung Các khái niệm Các bước xây dựng chương trình Các phương pháp biểu diễn thuật tốn Ngơn ngữ lập trình Bài tập Chương LT KT NTU - Kỹ thuật lập trình Các khái niệm Thuật toán Là qui tắc với liệu cho, tìm lời giải sau khoảng thời gian hữu hạn Là tập hợp (dãy) hữu hạn thị (hành động) định nghĩa rõ ràng nhằm giải tốn cụ thể Lập trình máy tính Gọi tắt lập trình (programming) Nghệ thuật cài đặt nhiều thuật tốn trừu tượng có liên quan với ngơn ngữ lập trình để tạo chương trình máy tính LT NTU - Kỹ thuật lập trình KT 03/03/14 Các khái niệm Ví dụ Thuật toán giải PT bậc nhất: ax + b = (a, b số thực) Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = • Nếu a = • b = phương trình có nghiệm • b ≠ phương trình vơ nghiệm • Nếu a ≠ • Phương trình có nghiệm x = -b/a LT KT NTU - Kỹ thuật lập trình Các khái niệm Các tính chất thuật tốn: Tính xác: q trình tính tốn hay thao tác máy tính thực xác Tính rõ ràng: câu lệnh minh bạch xếp theo thứ tự định Tính khách quan: viết nhiều người máy tính kết phải Tính phổ dụng: áp dụng cho lớp tốn có đầu vào tương tự Tính kết thúc: hữu hạn bước tính tốn LT NTU - Kỹ thuật lập trình KT 10 03/03/14 Các bước xây dựng chương trình Xác định vấn đề - tố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 từ vựng Lỗi cú pháp Lỗi ngữ nghĩa Hiệu chỉnh chương trình Thực chương trình LT KT 11 NTU - Kỹ thuật lập trình Biểu diễn thuật tốn Sử dụng ngơn ngữ tự nhiên Ví dụ Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = Nhập số thực a b Nếu a = 2.1 Nếu b = 2.1.1 Phương trình vơ số nghiệm 2.1.2 Kết thúc thuật tố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 tốn Ngược lại 3.1 Phương trình có nghiệm 3.2 Giá trị nghiệm x = -b/a 3.3 Kết thúc thuật tốn NTU - Kỹ thuật lập trình LT KT 12 03/03/14 Biểu diễn thuật toán Sử dụng lưu đồ - sơ đồ khối Khối giới hạn Chỉ thị bắt đầu kết thúc Khối vào Nhập/Xuất liệu Khối lựa chọn Tùy điều kiện rẽ nhánh Khối thao tác Ghi thao tác cần thực Đường Chỉ hướng thao tác LT KT 13 NTU - Kỹ thuật lập trình Biểu diễn thuật tốn Ví dụ Bắt đầu Đọc a,b Đ S a=0 Đ S Tính x = -b/a b=0 Xuất “VSN” Xuất “VN” Kết thúc NTU - Kỹ thuật lập trình Xuất x LT KT 14 03/03/14 Biểu diễn thuật tốn Sử dụng mã giả (Vay mượn ngơn ngữ để biểu diễn thuật tốn) Ví dụ Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = If a = Then Begin If b = 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” LT KT 15 NTU - Kỹ thuật lập trình Ngơn ngữ lập trình Khái niệm Ngơn ngữ tự nhiên: giao tiếp người – người Ngôn ngữ lập trình (programming language): Hệ thống ký hiệu, quy tắc để “giao tiếp” người – máy Ngôn ngữ lập trình phân thành ngơn ngữ lập trình cấp thấp ngơn ngữ lập trình cấp cao Trình biên dịch (compiler): “dịch” chương trình nguồn thành ngơn ngữ máy LT NTU - Kỹ thuật lập trình KT 16 03/03/14 Ngơn ngữ lập trình Ngơn ngữ C/C++ C kết trình phát triển khởi đầu từ ngôn ngữ BCPL (do Martin Richards đưa vào năm 1967) Do Dennis Ritchie (tại Bell Telephone) năm 1972 Là ngơn ngữ lập trình có cấu trúc Hiện có gần 30 trình biên dịch C phổ biến thị trường chúng khơng qn Để cải thiện tình trạng này, chuẩn ANSI C đời vào năm 1978 C++(1979), C# phát triển từ C LT KT 17 NTU - Kỹ thuật lập trình Ngơn ngữ lập trình Ưu điểm C Rất mạnh linh động, có khả thể ý tưởng Được sử dụng rộng rãi nhà lập trình chun nghiệp Có tính khả chuyển, thay đổi hệ thống máy tính khác Rõ ràng, đọng Lập trình đơn thể, tái sử dụng thơng qua hàm LT NTU - Kỹ thuật lập trình KT 18 03/03/14 Ngơn ngữ lập trình Mơi trường phát triển tích hợp IDE (Integrated Development Environment) Biên tập chương trình nguồn (Trình EDIT) Biên dịch chương trình (Trình COMPILE) Chạy chương trình nguồn (Trình RUNTIME) Sửa lỗi chương trình nguồn (Trình DEBUG) .C/.CPP OBJ EXE Mơi trường lập trình Dev C++ Visual Studio 2010 LT KT 19 NTU - Kỹ thuật lập trình Bài tập Chương Tự ôn NNLT C/C++ Đọc TLTK BTCode Làm tập: Viết CT in tổng, tích, hiệu thương số nhập vào từ bàn phím Viết CT in trung bình cộng, trung bình nhân số nhập vào từ bàn phím Viết CT nhập cạnh, bán kính in diện tích, chu vi hình vng, chữ nhật, trịn Viết CT nhập cạnh tính diện tích tam giác Viết CT nhập số đo góc, cho biết thuộc góc vng thứ đường trịn đơn vị KT LT NTU - Kỹ thuật lập trình 20 10 03/03/14 Phân tích hàm đệ quy Hàng n đường LT KT 313 NTU - Kỹ thuật lập trình Phân tích hàm đệ quy Cột n đường LT Lập trình đệ quy NTU - Kỹ thuật lập trình KT 314 157 03/03/14 Phân tích hàm đệ quy Chéo xi 2n-1 đường 14 13 12 11 10 LT KT 315 NTU - Kỹ thuật lập trình Phân tích hàm đệ quy Chéo ngược 2n-1 đường NTU - Kỹ thuật lập trình 10 11 12 13 14 LT KT 316 158 03/03/14 Phân tích hàm đệ quy i=2 j=3 j+i=5 j-i+n-1=8 LT NTU - Kỹ thuật lập trình KT 317 Phân tích hàm đệ quy void thu(int i) { int j; for (j=0; j