1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài giảng Kỹ thuật lập trình: Bài 1 - TS. Đào Trung Kiên

18 6 0

Đ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

Nội dung

Slide 1 EE3490 Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Bài 1 Giới thiệu môn học 1 EE3490 Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội G[.]

Bài 1: Giới thiệu môn học EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu Kỹ thuật lập trình C/C++ (EE3490) Lý thuyết + Bài tập (0.1) + Bài tập lớn (0.2) + Thi cuối kỳ (0.7) Trình biên dịch: MS Visual C++ Sách tham khảo:       The C Programming Language – 2nd Edition, Brian W Kerninghan & Dennis M Ritchie, Prentice-Hall,1998 The C++ Programming Language – 3rd Edition, Bjarne Stroustrup, Addison-Wesley, 1997 Website:   http://mica.edu.vn/perso/kiendt/EE3490 EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Nội dung môn học Mở đầu (1 tuần)    Quá trình phát triển ngơn ngữ lập trình (NNLT) Giới thiệu ngơn ngữ C C++ Lập trình cấu trúc (7 tuần)         Phân tích thiết kế Biến, liệu, kiểu, toán tử Cấu trúc điều khiển Quản lý nhớ Hàm, thư viện Cấu trúc liệu Lập trình vào EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Nội dung môn học (tiếp) Lập trình hướng đối tượng (3 tuần)       Khái niệm OOP Lớp đối tượng Kế thừa Cấu trúc liệu Lập trình vào Lập trình khái quát (2 tuần)    Khuôn mẫu hàm, lớp Thư viện STL EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Tổng quan EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Khái niệm chương trình lập trình Chương trình: tập lệnh máy tính phải tuân theo Phần mềm: tập hợp chương trình Hệ điều hành (HĐH):        phần mềm cho phép người dùng thao tác với máy tính quản lý tài nguyên (CPU, nhớ, phần cứng/mềm,…) chạy chương trình Thuật tốn: chuỗi lệnh có thứ tự để giải vấn đề định Trình biên dịch: chương trình cho phép chuyển đổi mã nguồn thành mã máy   EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Mã lệnh liệu Máy tính hiểu mã nhị phân (byte, bit)     Một mã lệnh có mã 01000001 Chữ ‘A’ có mã 01000001 Số 65 có mã 01000001 Làm máy tính hiểu 01000001 biểu diễn gì:    Phụ thuộc vào mã lệnh chạy Người viết chương trình phải hiểu vùng nhớ truy xuất chứa Bộ nhớ máy tính chứa liệu mã lệnh chương trình chạy  EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Ngôn ngữ lập trình Là ngơn ngữ thiết kế dùng để tạo chương trình chạy máy tính theo ý đồ mong muốn Quá trình phát triển:       Mã máy: dùng trực tiếp mã nhị phân, không cần biên dịch, phụ thuộc vi xử lý Thế hệ thứ (hợp ngữ): cần biên dịch, đọc hiểu được, phụ thuộc vi xử lý Thế hệ thứ (cấu trúc): cấu trúc điều khiển, kiểu liệu, đóng gói VD: Fortran, C, C++, Basic, Pascal, COBOL,… Thế hệ thứ 4: nâng cao hiệu giảm yếu tố dễ gây lỗi, cú pháp gần gũi với ngơn ngữ nói VD: SQL, LabVIEW, ColdFusion,… EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Quá trình phát triển phần mềm Vòng đời phần mềm:       Phân tích u cầu tốn (problem definition) Thiết kế phần mềm (design) Cài đặt thuật toán (coding) Bảo trì, cập nhật phát triển tiếp Lỗi thời Thử nghiệm: trình kiểm tra hoạt động tính phần mềm Gỡ lỗi: trình tìm nguyên nhân lỗi, sửa   EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Lỗi chương trình  Lỗi cú pháp (lỗi biên dịch):     Lỗi chạy (runtime errors):    Do viết chương trình khơng tn theo cú pháp quy định Được phát trình biên dịch Chú ý: lỗi không phát bị hiểu sai sang cú pháp khác Khi chương trình chạy vi phạm điều kiện cho phép Được phát chạy Lỗi logic:   10 Do thuật tốn sai Máy tính khơng phát EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu ngôn ngữ C C++ 11 EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Lịch sử ngôn ngữ C   Ra đời năm 1970, gắn liền với phát triển HĐH Unix Tác giả: Dennis Ritchie Mục tiêu:     C ngôn ngữ trung gian cấp thấp…    Đề cao tính hiệu Có khả truy xuất phần cứng cấp thấp Ngơn ngữ có cấu trúc (thay cho lập trình hợp ngữ) Có khả truy xuất nhớ trực tiếp Cú pháp ngắn gọn, từ khố … cấp cao    12 Không phụ thuộc phần cứng Cấu trúc, hàm, khả đóng gói Kiểm tra kiểu liệu EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Lịch sử ngôn ngữ C++   Ra đời năm 1979 việc mở rộng ngôn ngữ C Tác giả: Bjarne Stroustrup Mục tiêu:    Thêm tính Khắc phục số nhược điểm C Bổ sung tính so với C:    13 Lập trình hướng đối tượng (OOP) Lập trình tổng qt (template) Nhiều tính nhỏ giúp lập trình linh hoạt (thêm kiểu bool, khai báo biến đâu, kiểu mạnh, định nghĩa chồng hàm, namespace, xử lý ngoại lệ,…) EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Biên dịch chương trình C/C++  Là trình chuyển đổi từ mã nguồn (do người viết) thành chương trình dạng mã máy để thực thi Mã nguồn file1.c Trình biên dịch Mã biên dịch file1.obj Mã nguồn file2.c Trình biên dịch Mã biên dịch file2.obj Thư viện Trình liên kết Chương trình chạy a.exe 14 EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Biên dịch chương trình C/C++ (tiếp)  Cho phép dịch file riêng rẽ giúp:   Dễ phân chia quản lý phần chương trình Khi cần thay đổi, cần sửa đổi file liên quan  giảm thời gian bảo trì, sửa đổi  Chỉ cần dịch lại file có thay đổi cần thiết  giảm thời gian dịch   Các trình biên dịch đại cịn cho phép tối ưu hoá liệu mã lệnh Một số trình biên dịch thơng dụng: MS Visual C++, gcc/g++, clang, Intel C++ Compiler, Watcom C/C++,… 15 EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Tại chọn C/C++  Ưu điểm:    Hiệu Linh hoạt, khả tuỳ biến cao Được hỗ trợ rộng rãi    môi trường khác nhiều thư viện cơng cụ sẵn có Nhược điểm:   16 Ngơn ngữ [q] phức tạp Khó kiểm sốt lỗi so với ngôn ngữ bậc cao (Java, NET, script,…), nguyên nhân từ sử dụng trỏ EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Một vài điểm ý ngôn ngữ C/C++       Cú pháp có phân biệt chữ hoa/thường: int, Int, INT hoàn toàn khác Dấu ; dùng để phân tách câu lệnh đơn Dấu { … } để quy định khối câu lệnh Không đặt tên biến/hằng/hàm… trùng với từ khố có sẵn (void, int, char, struct, const,…) Trong khối lệnh cấu trúc định hướng (if, for, while,…) lệnh thực từ xuống Chú thích:   17 C bằng: /* … */ C++ có thêm ký hiệu // để chúEE3490: thíchKỹ đến hết dịng thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu MS Visual C++  Là mơi trường tích hợp (IDE), trợ giúp:     Viết chương trình Biên dịch Gỡ lỗi (debug) Làm ví dụ… 18 EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội

Ngày đăng: 29/06/2023, 07:52