Bài giảng Nhập môn công nghệ phần mềm: Chương 8 - Nguyễn Thanh Bình
lượt xem 5
download
Bài giảng "Nhập môn công nghệ phần mềm - Chương 8: Lập trình và ngôn ngữ lập trình" cung cấp cho người học các kiến thức: Định nghĩa lập trình, ngôn ngữ lập trình, kiểu, đa hình, mô-đun hóa, các phương pháp lập trình cơ bản,... Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn công nghệ phần mềm: Chương 8 - Nguyễn Thanh Bình
- Lập trình và ngôn ngữ lập trình (8) Nguyễn Thanh Bình Khoa Công nghệ Thông tin Trường ðại học Bách khoa ðại học ðà Nẵng Lập trình kỹ năng cá nhân năng lực cá nhân hiểu biết các công cụ lập trình lập trình viên cần nguyên tắc lập trình kinh nghiệm lập trình viên tốt viết chương trình • ñúng ñắn • dễ hiểu • dễ bảo trì, phát triển 2 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ngôn ngữ lập trình Có nhiều phương pháp lập trình khác nhau nhiều ngôn ngữ lập trình khác nhau ðiểm chung của các ngôn ngữ lập trình (NNLT) dễ diễn ñạt dễ hiểu dễ thực thi trên máy tính Một số tính chất của NNLT kiểu và kiểm tra kiểu mô-ñun hóa 3 Kiểu Hầu hết các NNLT ñều có khái niệm kiểu kiểu số, kiểu lô-gíc... một biến có kiểu dữ liệu xác ñịnh Kiểm tra kiểu ñảm bảo một toán tử/hàm chỉ áp dụng cho những toán tử/tham số có kiểu cho phép 4 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Kiểu Ngôn ngữ ñịnh kiểu (types languages) có hệ thống kiểu cho phép kiểm tra sử dụng kiểu phù hợp mà không cần thực thi chương trình • kiểm tra tĩnh Ngôn ngữ ñịnh kiểu cho phép phát hiện sớm một số lỗi liên quan ñến kiểu Ngôn ngữ ñịnh kiểu C, Java, C++... 5 ða hình Ưu ñiểm của hệ thống kiểu và kiểm tra kiểu chặt chẽ dễ kiểm tra Tuy nhiên hệ thống kiểu phải mềm dẽo trong sử dụng • ña hình 6 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- ða hình Một số tình huống ña hình Viết hàm áp dụng cho các mảng có số phần tử khác nhau • kiểu mảng ñược kiểm tra khi biên dịch • số phần tử của mảng ñược kiểm tra khi thực thi Áp dụng hàm cho các kiểu dữ liệu khác nhau • xây dựng nhiều phiên bản của hàm tương ứng với các kiểu khác nhau • hoặc chỉ xây dựng một phiên bản của hàm, xử lý khác nhau ñược thực hiện khi thực thi • template (C++), generic (Java) 7 ða hình Một số tình huống ña hình Viết hàm áp dụng cho các mảng có số phần tử khác nhau • kiểu mảng ñược kiểm tra khi biên dịch • số phần tử của mảng ñược kiểm tra khi thực thi Áp dụng hàm cho các kiểu dữ liệu khác nhau • xây dựng nhiều phiên bản của hàm tương ứng với các kiểu khác nhau • hoặc chỉ xây dựng một phiên bản của hàm, xử lý khác nhau ñược thực hiện khi thực thi • template (C++), generic (Java) • hoặc sử dụng kiểu con/lớp con • ña hình trong ngôn ngữ lập trình hướng ñối tượng 8 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Mô-ñun hóa Xuất hiện vào những năm 70 ðóng vai trò quan trọng ñể tạo ra phần mềm chất lượng Thiết kế hướng mô-ñun phần mềm = tập hợp các mô-ñun và quan hệ giữa chúng Hầu hết các NNLT ñều hỗ trợ mô-ñun hóa 9 Mô-ñun hóa Một mô-ñun gồm hai phần Phần giao diện • giao tiếp với bên ngoài mô-ñun ay mô- ñun khác Phần thân • nội dung của mô-ñun • cục bộ ñối với mỗi mô-ñun, che dấu ñối với mô-ñun khác 10 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Mô-ñun hóa Các mô-ñun chỉ trao ñổi dữ liệu qua phần giao diện không sử dụng biến toàn cục Nếu thay ñổi phần thân thì ít ảnh hưởng (hoặc không ảnh hưởng) ñến các mô-ñun khác Trong ngôn ngữ lập trình cấu trúc mô-ñun = hàm Trong ngôn ngữ lập trình hướng ñối tượng mô-ñun = lớp / phương thức 11 Các phương pháp lập trình cơ bản Lập trình thủ tục/cấu trúc (procedural programming) Lập trình hướng ñối tượng (object-oriented programming) Lập trình hàm (functional programming) Lập trình lô-gíc (logic programming) 12 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình thủ tục ñược sử dụng phổ biến lập trình có cấu trúc phù hợp với thiết kế hướng chức năng NNLT thủ tục Fortran, Ada, Pascal, C... 13 Lập trình hướng ñối tượng khái niệm cơ bản ñối tượng, lớp ñóng gói thừa kế ña hình xu hướng phát triển của các NNLT hiện ñại NNLT hướng ñối tượng Smalltalk, C++, Java, Delphi... 14 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình hàm tính toán các biểu thức hàm tính toán dựa trên các giá trị của tham số thao tác trên danh sách áp dụng lĩnh vực tính toán trí tuệ nhân tạo NNLT hàm LISP, Scheme... 15 Lập trình lô-gíc thực hiện các biểu thức lô-gíc khái niệm hợp giải (resolution) • tìm kiếm giá trị của các biến sao cho biểu thức lô- gíc có giá trị ñúng ứng dụng xây dựng hệ chuyên gia xử lý ngôn ngữ tự nhiên NNLT lô-gíc Prolog 16 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chọn NNLT quyết ñịnh quan trọng trong phát triển phần mềm giảm chi phí mã nguồn chất lượng dễ bảo trì, phát triển 17 Chọn NNLT dựa vào nhiều yếu tố (1) yêu cầu của khách hàng • khách hàng tự bảo trì sản phẩm chương trình dịch • cần có chương trình dịch có chất lượng tốt công cụ hỗ trợ • dễ dàng quá trình lập trình, bảo trì kinh nghiệm của lập trình viên • chọn NNLT mà lập trình làm chủ 18 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chọn NNLT dựa vào nhiều yếu tố (2) yêu cầu tính khả chuyển (portability) • thực hiện trên nhiều máy tính/plaform khác nhau lĩnh vực ứng dụng • hệ thống nhúng: C, Assembly... • hệ thống quản lý: .NET, VB, C++... • hệ chuyên gia: Prolog • mạng: Java, .NET... • website: PHP, ASP... • không tồn tại ngôn ngữ ña năng cho mọi ứng dụng 19 Phong cách lập trình Cần có chương trình dễ hiểu phụ thuộc vào ñặc ñiểm NNLT phong cách của người lập trình Phong cách lập trình không do lập trình viên tự ñặt ra mà do tổ chức/doanh nghiệp/dự án ñặt ra các luật lập trình các quy ước lập trình Mục ñích mã nguồn dễ hiểu, dễ kiểm thử, dễ bảo trì ít lỗi 20 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phong cách lập trình Một số nguyên tắc lập trình ñặt tên • có ý nghĩa, gợi nhớ trình bày • rỏ ràng, dễ hiểu chú thích • ñầy ñủ, dễ ñọc hạn chế sử dụng cấu trúc khó hiểu • break, continue, goto... ví dụ • quy ước lập trình C++ 21 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn Công nghệ thông tin: Lab 1 - Th.S Dương Thành Phết
13 p | 225 | 44
-
Bài giảng Nhập môn Công nghệ thông tin: Hướng dẫn bài tập 3 - Th.S Dương Thành Phết
59 p | 170 | 21
-
Bài giảng Nhập môn Công nghệ thông tin: Hướng dẫn bài tập 1 - Th.S Dương Thành Phết
17 p | 156 | 20
-
Bài giảng Nhập môn Công nghệ phần mềm: Chương 3 - Nguyễn Thị Minh Tuyền
77 p | 146 | 18
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm (2011)
49 p | 104 | 14
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 9 - Ngô Chánh Đức
32 p | 122 | 13
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 2 - Ngô Chánh Đức
60 p | 123 | 11
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 3 - Ngô Chánh Đức
35 p | 89 | 11
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 4 - Ngô Chánh Đức
45 p | 111 | 10
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm
35 p | 31 | 9
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 1 - Ngô Chánh Đức
13 p | 101 | 8
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 5 - Ngô Chánh Đức
51 p | 76 | 8
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 7 - Ngô Chánh Đức
26 p | 112 | 8
-
Bài giảng Nhập môn Công nghệ phần mềm: Giới thiệu tổng quan về nội dung học phần - TS. Trần Ngọc Bảo
32 p | 126 | 7
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 6 - Ngô Chánh Đức
36 p | 91 | 6
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 8 - Ngô Chánh Đức
29 p | 75 | 6
-
Bài giảng Nhập môn Công nghệ thông tin 1: Giới thiệu môn học - Ngô Chánh Đức
4 p | 107 | 5
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Nguyễn Văn Danh
9 p | 79 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn