Tài liệu Kỹ thuật lập trình - Chương 1: Mở đầu doc

48 1.7K 2
Tài liệu Kỹ thuật lập trình - Chương 1: Mở đầu doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

© 2004, HOÀNG MINH SƠN Chương Kỹ thuật lập trình Chương 1: Mở ₫ầu 0101010101010101100001 0101010101010101100001 StateController 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 start() 1100101100100010000010 1100101100100010000010 stop() 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 1010011000110010010010+ B*u; 1010011000110010010010 y = A*x 1100101100100010000010+ d*u; 1100101100100010000010 x = C*x LQGController 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 start() 1010011000110010010010 stop() 1010011000110010010010 1100101100100010000010 1100101100100010000010 8/14/2006 Nội dung giảng © 2004, HOÀNG MINH SƠN 1.1 1.2 1.3 1.4 1.5 Giới thiệu nội dung môn học Giới thiệu chung kỹ thuật lập trình Phương pháp luận Qui trình phát triển phần mềm Sơ lược ngôn ngữ C/C++ Chương 1: Mở đầu 1.1 Nội dung môn học Các kỹ thuật lập trình bản, thực minh hoạ ngơn ngữ lập trình C C++: — — — — Lập trình có cấu trúc (structured programming) Lập trình hướng ₫ối tượng (object-oriented programming) Lập trình thời gian thực (real-time programming) Lập trình tổng qt (generic programming) © 2004, HỒNG MINH SƠN Tại chọn C/C++: — Hai ngơn ngữ lập trình tiêu biểu nhất, ₫ủ ₫ể thực kỹ thuật lập trình quan trọng — Hai ngơn ngữ lập trình quan trọng ₫ối với kỹ sư ₫iện/kỹ sư ₫iều khiển Chương 1: Mở đầu Quan ₫iểm môn học Đề cao kiến thức bản, tảng: — Thiên tư phương pháp lập trình — Tạo khả dễ thích ứng với ứng dụng khác — Tạo khả dễ thích ứng với ngơn ngữ lập trình khác (Java, Visual Basic, C#, MATLAB…) — Nhấn mạnh tính chuyên nghiệp lập trình: hiệu + chất lượng © 2004, HỒNG MINH SƠN Những nội dung khơng có chương trình: — Lập trình hệ thống (low-level system programming) — Lập trình ₫ồ họa — Lập trình giao tiếp với thiết bị ngoại vi ( cổng nối tiếp, song song…) — Lập trình sở liệu — Lập trình thành phần, lập trình phân tán (mạng, Internet) Chương 1: Mở đầu Phương pháp học tập © 2004, HOÀNG MINH SƠN Cách thứ nhất: Nghe giảng làm thử ₫ọc tài liệu thảo luận luyện tập Cách thứ hai: Đọc tài liệu làm thử nghe giảng thảo luận luyện tập Nguyên tắc bản: Chủ ₫ộng học thường xuyên! Những ₫iều không nên làm: — — — — Chép nhiều lớp Học thuộc lòng, học chay Mong ₫ợi nhiều vào ôn tập Dựa dẫm vào tập mẫu sách Chương 1: Mở đầu Công cụ học tập Máy tính PC Mơi trường lập trình: Visual C++ 6.0 (Visual Studio 6.0), Visual C++ NET, Borland C++ Builder © 2004, HỒNG MINH SƠN Nền ứng dụng: Win32 Console Application Tài liệu tham khảo Chương 1: Mở đầu 1.2 Tổng quan kỹ thuật lập trình Kỹ thuật lập trình gì: Kỹ thuật thực thi giải pháp phần mềm (cấu trúc liệu + giải thuật) dựa tảng phương pháp luận (methodology) nhiều ngơn ngữ lập trình phù hợp với yêu cầu ₫ặc thù ứng dụng © 2004, HỒNG MINH SƠN Kỹ thuật lập trình = Tư tưởng thiết kế + Kỹ thuật mã hóa = Cấu trúc liệu + Giải thuật + Ngơn ngữ lập trình Kỹ thuật lập trình ≠ Phương pháp phân tích & thiết kế (A&D) Chương 1: Mở đầu Thế lập trình? Viết hàm tính giai thừa! Viết chương trình in 100 số nguyên tố ₫ầu tiên! © 2004, HỒNG MINH SƠN Viết chương trình tính giai thừa 100! Viết chương trình in N số ngun tố ₫ầu tiên! Lập trình giải tốn: "Vừa gà vừa chó, ba mươi sáu con, bó lại cho trịn, trăm chân chẵn" Lập trình giải tốn: "Vừa gà vừa chó, vừa vặn X con, bó lại cho trịn, ₫ủ Y chân chẵn" KHƠNG PHẢI LÀ LẬP TRÌNH! Chương 1: Mở đầu ĐÂY LÀ LẬP TRÌNH! Thế lập trình tốt? Đúng/Chính xác — Thoả mãn ₫úng nhiệm vụ tốn lập trình ₫ặt ra, ₫ược khách hàng chấp nhận Ổn ₫ịnh bền vững — Chương trình chạy ổn ₫ịnh trường hợp khắc nghiệt — Chạy lỗi (số lượng lỗi ít, cường ₫ộ lỗi thấp) — Mức ₫ộ lỗi nhẹ chấp nhận ₫ược © 2004, HỒNG MINH SƠN Khả chỉnh sửa — Dễ dàng chỉnh sửa trình sử dụng phát triển — Dễ dàng thay ₫ổi nâng cấp ₫ể thích ứng với ₫iều kiện tốn lập trình thay ₫ổi Khả tái sử dụng — Có thể ₫ược sử dụng ₫ược kế thừa cho tốn lập trình khác Chương 1: Mở đầu Thế lập trình tốt? Độ tương thích — Khả thích ứng chạy tốt ₫iều kiện môi trường khác Hiệu suất — Chương trình nhỏ gọn, sử dụng nhớ — Tốc ₫ộ nhanh, sử dụng thời gian CPU © 2004, HỒNG MINH SƠN Hiệu quả: — — — — — Thời gian lập trình ngắn, Khả bảo trì dễ dàng Giá trị sử dụng lại lớn Sử dụng ₫ơn giản, thân thiện Nhiều chức tiện ích Chương 1: Mở đầu 10 Thiết kế hệ thống (System Design) © 2004, HỒNG MINH SƠN Dựa mơ hình hệ thống, xây dựng mơ hình chi tiết phục vụ sẵn sàng mã hóa/cài ₫ặt Bao gồm: — Thiết kế cấu trúc (structured design): chương trình, kiểu liệu, ₫ối tượng, quan hệ cấu trúc ₫ối tượng kiểu) — Thiết kế tương tác (interaction design): quan hệ tương tác ₫ối tượng — Thiết kế hành vi (behaviour design): kiện, trạng thái, phép toán, phản ứng — Thiết kế chức (funtional design): tiến trình hành ₫ộng, hàm, thủ tục) Kết quả: Mơ hình thiết kế (các vẽ lời văn mô tả) Trả lời câu hỏi: Làm nào? Chương 1: Mở đầu 34 Các bước khác Mã hóa/cài ₫ặt (Coding/Implementation): Thể mơ hình thiết kế với ngơn ngữ lập trình cụ thể Thử nghiệm (Testing, Verification): Chạy thử, phân tích kiểm chứng: © 2004, HỒNG MINH SƠN — Thử ₫ơn vị (Unit Test) — Thử tích hợp (Integration Test) Gỡ rối (Debugging): Tìm sửa lỗi chương trình chạy (các lỗi logic) Xây dựng tài liệu (Documenting): Xây dựng tài liệu phát triển, tài liệu hướng dẫn sử dụng Đào tạo, chuyển giao Bảo trì, bảo dưỡng Chương 1: Mở đầu 35 Chu trình cổ ₫iển: “Waterfall Model” Nghiên cứu Nghiên cứu khả thi khả thi Phân tích Phân tích yêu cầu yêu cầu Thiết kế Thiết kế Mã hóa Mã hóa Thử nghiệm Thử nghiệm đơn vị đơn vị Thử nghiệm Thử nghiệm tích hợp tích hợp © 2004, HỒNG MINH SƠN Đào tạo Đào tạo Chương 1: Mở đầu Chuyển giao Chuyển giao Bảo trì Bảo trì 36 © 2004, HỒNG MINH SƠN Xu nay: Song song lặp Chương 1: Mở đầu 37 Lập trình gì, nằm ₫âu? © 2004, HỒNG MINH SƠN Lập trình > Mã hóa Lập trình ≈ Tư tưởng thiết kế + Mã hóa + Thử nghiệm + Gỡ rối Chương 1: Mở đầu 38 Các bước phát triển chương trình Mã nguồn Biên dịch Mã đích © 2004, HỒNG MINH SƠN Liên kết Chương 1: Mở đầu Thư viện CT chạy Nạp chạy 39 Môi trường/công cụ phát triển IDE (Integrated Development Environment) — Hỗ trợ toàn bước phát triển chương trình — Ví dụ: MS Visual C++, Borland C++ (Builder), Keil-C © 2004, HỒNG MINH SƠN Các công cụ tiêu biểu — — — — — — Trình soạn thảo (Editor) Trình biên dịch (Compiler) Trình liên kết (Linker) Trình nạp (Loader) Trình gỡ rối (Debugger) Trình quản lý dự án (Project Manager) Chương 1: Mở đầu 40 © 2004, HỒNG MINH SƠN Mơi trường phát triển Chương 1: Mở đầu 1.5 Sơ lược C/C++ Lược sử ngơn ngữ C Tiến hóa từ hai ngơn ngữ lập trình — BCPL B: Các ngơn ngữ “phi kiểu” Dennis Ritchie (Bell Laboratories, AT&T) — Bổ sung kiểu hóa liệu yếu tố khác Ngơn ngữ phát triển hệ ₫iều hành UNIX Không phụ thuộc phần cứng © 2004, HỒNG MINH SƠN — Tính khả chuyển 1989: ANSI chuẩn hóa (ANSI-C) 1990: Cơng bố chuẩn ANSI ISO — ANSI/ISO 9899: 1990 Chương 1: Mở đầu 42 Lược sử ngôn ngữ C++ Mở rộng, tiến hóa từ C Bjarne Stroustrup (Bell Laboratories) — — — — — Đầu năm 1980: “C with classes” 1984: Tên C++ 1987: “The C++ Programming Language” 1st Edition 1997: “The C++ Programming Language” 3rd Edition Chuẩn hóa quốc tế: ANSI/ISO 1996 © 2004, HỒNG MINH SƠN Bổ sung ₫ặc tính hỗ trợ: — Lập trình hướng ₫ối tượng — Lập trình tổng qt — Lập trình tốn học, Ngôn ngữ “lai” Chương 1: Mở đầu 43 Tại chọn C/C++ Đáp ứng yêu cầu: — — — — — Gần gũi với phần cứng Hiệu suất cao Tương ₫ối thân thiện với người lập trình Khả chuyển Chuẩn hóa quốc tế (tương lai vững chắc) Thế mạnh tuyệt ₫ối ANSI-C: © 2004, HỒNG MINH SƠN — Phổ biến cho hầu hết vi xử lý, vi ₫iều khiển, DSP — Phổ biến cho “mỗi người lập trình” giới Thế mạnh tuyệt ₫ối ANSI/ISO C++: — Lập trình hướng ₫ối tượng — Lập trình tổng qt (template) — Lập trình tốn học (dữ liệu trừu tượng nạp chồng toán tử) Chương 1: Mở đầu 44 Visual C++, NET & C# Visual C++: — Mơi trường/cơng cụ lập trình C++ Microsoft — Mở rộng số yếu tố — Thư viện lập trình Windows: Microsoft Foundation Classes (MFC), Active Template Library (ATL) — Các thư viện chung: GUI, graphics, networking, multithreading, … © 2004, HỒNG MINH SƠN NET (“dot net”) — Kiến trúc tảng phần mềm lập trình phân tán — Hướng tới ứng dụng Web, phân tán nhiều chủng loại thiết bị khác — Các ứng dụng nhiều ngơn ngữ khác giao tiếp cách ₫ơn giản chung — Phương pháp luận: Lập trình thành phần Chương 1: Mở đầu 45 Visual C++, NET & C# C# Anders Hejlsberg Scott Wiltamuth (Microsoft) Thiết kế riêng cho NET Nguồn gốc từ C, C++ Java Điều khiển theo kiện, hồn tồn hướng ₫ối tượng, ngơn ngữ lập trình hiển thị — Integrated Development Environment (IDE) — Tương tác ngơn ngữ © 2004, HỒNG MINH SƠN — — — — Chương 1: Mở đầu 46 © 2004, HOÀNG MINH SƠN Chúng ta ₫ã học ₫ược gì? Biết ₫ược phải học, học ₫ể làm phải học Hàng loạt khái niệm xung quanh kỹ thuật lập trình qui trình cơng nghệ phần mềm Tổng quan kỹ thuật lập trình Lược sử ngơn ngữ C/C++, mạnh chúng so với ngôn ngữ khác Chương 1: Mở đầu 47 Chủ ₫ề tiếp theo: C/C++ sở © 2004, HỒNG MINH SƠN Tổ chức chương trình/bộ nhớ Dữ liệu biến Toán tử, biểu thức câu lệnh Điều khiển chương trình: vịng lặp, rẽ nhánh Mảng trỏ Cấu trúc Chương 1: Mở đầu 48 ... Console Application Tài liệu tham khảo Chương 1: Mở đầu 1.2 Tổng quan kỹ thuật lập trình Kỹ thuật lập trình gì: Kỹ thuật thực thi giải pháp phần mềm (cấu trúc liệu + giải thuật) dựa tảng phương... ngữ lập trình phù hợp với u cầu ₫ặc thù ứng dụng © 2004, HỒNG MINH SƠN Kỹ thuật lập trình = Tư tưởng thiết kế + Kỹ thuật mã hóa = Cấu trúc liệu + Giải thuật + Ngơn ngữ lập trình Kỹ thuật lập trình. .. chung kỹ thuật lập trình Phương pháp luận Qui trình phát triển phần mềm Sơ lược ngôn ngữ C/C++ Chương 1: Mở đầu 1.1 Nội dung mơn học Các kỹ thuật lập trình bản, thực minh hoạ ngơn ngữ lập trình

Ngày đăng: 19/01/2014, 13:20

Từ khóa liên quan

Mục lục

  • Kỹ thuật lập trình

  • Nội dung bài giảng

  • 1.1 Nội dung môn học

  • Quan điểm về môn học

  • Phương pháp học tập

  • Công cụ học tập

  • 1.2 Tổng quan về kỹ thuật lập trình

  • Thế nào là lập trình?

  • Thế nào là lập trình tốt?

  • Thế nào là lập trình tốt?

  • Ví dụ minh họa: Tính giai thừa

  • Làm thế nào để lập trình tốt?

  • Các nguyên tắc cơ bản

  • Nguyên tắc tối cao

  • Các bài toán lập trình cho kỹ sư điện

  • 1.3 Phương pháp luận

  • Lập trình tuần tự (Sequential Programming)

  • Lập trình tuần tự: Ví dụ tính giai thừa

  • Lập trình tuần tự: Ưu điểm và nhược điểm

  • Lập trình có cấu trúc (structured programming)

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan