TỔNG QUAN, các NGÔN NGỮ lập TRÌNH và THIẾT kế CHƯƠNG TRÌNH (kỹ THUẬT lập TRÌNH SLIDE)

68 133 0
TỔNG QUAN, các NGÔN NGỮ lập TRÌNH và THIẾT kế CHƯƠNG TRÌNH (kỹ THUẬT lập TRÌNH SLIDE)

Đ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

Kỹ Thuật lập trình Programming technique Programming Languages – classifications and Program Development Nội dung Programming Programminglanguages languages và Phân Phânloại loạiNNLT NNLT Develop DevelopWeb Webpages pages: :HTML, HTML,scripting scriptinglanguages, languages, DHTML, XML, WML, phần mềm DHTML, XML, WML, phần mềmtạo tạo trang web trang web procedural proceduralprogramming programminglanguages languages Multimedia Multimedia authoring authoringprograms programs visual visualprogramming programminglanguages languages 66bước bướccủa củachu chutrình trìnhphát pháttriển triểnphần phầnmềm mềm Six Sixsteps stepsininthe theprogram programdevelopment developmentcycle cycle object-oriented object-orientedprogramming programminglanguages languages Sự Sựkhác khácbiệt biệtgiữa giữastructured structureddesign designvà object-oriented design object-oriented design nonprocedural nonprocedurallanguages languagesand andtools tools Những Nhữngcấu cấutrúc trúccơ cơsở sởdùng dùngthiết thiếtkế kếcác cácgiải giảipháp pháp cho chương trình cho chương trình Next Chương trình máy tính ngơn ngữ lập trình Computer Programs and Programming Languages Computer program?  Tập hợp lệnh dẫn cho máy tính thực nhiệm vụ  Programming language—Dùng để viết lệnh, thị Next programming language - NNLT Một NNLT hệ thống ký hiệu dùng để liên lạc , trao đổi nhiệm vụ/ thuật tốn với máy tính, làm cho nhiệm vụ thực thi Nhiệm vụ thực thi gọi computation, tn thủ độ xác quy tắc quán Với ngôn ngữ lập trình, ta cần nắm bắt, thấu hiểu ?: Có thành phần NNLT Mơ hình ngơn ngữ-Language paradigm nguyên tắc chung bản, dùng LTV để xd chương trình Cú pháp - Syntax ngơn ngữ cách để xác định hợp lệ cấu trúc câu ngôn ngữ; Nắm cú pháp cách để đọc tạo câu ngôn ngữ tự nhiên, tiếng Việt, tiếng Anh Tuy nhiên điều khơng có nghĩa giúp hiểu nghĩa câu văn Ngữ nghĩa – semantics program ngôn ngữ Rõ ràng, khơng có semantics, NNLT mớ câu văn vô nghĩa; semantics thành phần thiếu ngơn ngữ Có nhiều NNLT, khoảng 1000 ngơn ngữ ( 60’s có 700) – phần lớn ngơn ngữ hàn lâm, có mục đích riêng hay phát triển tổ chức để phục vụ cho thân họ Cont… Về bản, có mơ hình NNLT chính:  Imperative (Procedural) Paradigm (Fortran, Pascal, C, Ada, )  Object-Oriented Paradigm (SmallTalk, Java, C++)  Logic Paradigm (Prolog)  Functional Paradigm (Lisp, ML, Haskell) Những tính chất cần có với chương trình phần mềm : • Tính mềm dẻo scalability / Khả chỉnh sửa modifiability • Khả tích hợp integrability / Khả tái sử dụng reusability • Tính chuyển đổi, linh hoạt, độc lập phần cứng -portability • Hiệu cao -performance • Độ tin cậy - reliability • Dễ xây dựng • Rõ ràng, dễ hiểu • Ngắn gọn, xúc tích HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH     Computer program nạp vào primary memory tập lệnh ngôn ngữ máy, tức dãy số nhị phân - binary digits Tại thời điểm nào, computer trạng thái state Đặc điểm trạng thái trỏ lệnh instruction pointer trỏ tới lệnh mã máy để thực Thứ tự thực nhóm lệnh mã máy gọi luồng điều khiển flow of control MACHINE CODE     Máy tính nhận tín hiệu điện tử - có, khơng có -tương ứng với dịng bits program dạng gọi machine code Ban đầu phải dùng machine code để viết CT: Quá phức tạp, giải tốn lớn khơng tưởng 23fc 0000 0001 0000 0040 0cb9 0000 000a 0000 0040 6e0c 06b9 0000 0001 0000 0040 60e8 ASSEMBLY LANGUAGE    NN Assembly bước việc xây dựng chế viết chương trình tiện lợi – thơng qua ký hiệu, từ khóa mã máy Tất nhiên, để chạy chương trình phải dịch (assembled) thành machine code Vẫn cịn phức tạp, cải thiện không đáng kể movl #0x1,n compare: cmpl #oxa,n cgt end_of_loop acddl #0x1,n bra compare end_of_loop: HIGH LEVEL LANGUAGE   Thay dựa phần cứng (machine-oriented) cần tìm chế dựa vấn đề (problem-oriented) để tạo chương trình Chính high(er) level languages – ngơn ngữ lập trình gần với ngơn ngữ người – dùng từ khóa giống tiếng anh – xây dựng : Algol, Fortran, Pascal, Basic, Ada, C, … Step — Implement Design implementation?  Viết code : dịch từ thiết kế thành program    Syntax—Quy tắc xác định cách viết lệnh Comments—program documentation Extreme programming (XP)—coding testing sau yêu cầu xác định p 695 Fig 13-37 Next Step — Test Solution Những việc cần làm ? Đảm bảo CT chạy thông cho kq xác Debugging—Tìm sửa lỗi syntax logic errors Kiểm tra phiên beta, giao cho Users dùng thử thu thập phản hồi p 696 Next Step — Document Solution Là bước không quan trọng  hoạt động Rà Ràsoát soátlại lạiprogram program code—loại code—loạibỏ bỏcác cácdead dead code, code,tức tứccác cáclệnh lệnhmà màctct không khôngbao baogiờ giờgọi gọiđến đến p 698 Rà Ràsốt, sốt,hồn hồnthiện thiện documentation documentation Next Tóm lại Có Cóhàng hàngloạt loạtcác cácNNLT NNLTdùng dùngđể đểviết viết computer computerprograms programs 44mơ mơhình hìnhlập lậptrình trìnhcơ cơbản Chu Chutrình trìnhphát pháttriển triểnchương chươngtrình trình vàcác cáccơng cơngcụ cụđược đượcdùng dùngđể để làm làmcho choquá quátrình trìnhnày nàyhiệu hiệuquả quảhơn Nói thêm Mơ hình lập trình · Programming paradigm   · Là khn mẫu - pattern dùng Mơ hình lập trình máy tính Là mơ hình cho lớp NNLT có đặc trưng · Programming technique   · Liên quan đến ý tưởng thuật toán để giải lớp vấn đề tương ứng · Ví dụ: 'Divide and conquer' 'program development by stepwise refinement' · Programming style   Là cách trình bày computer program · Phong cách tốt giúp cho chương trình dễ hiểu, dễ đọc, dễ kiểm tra -> dễ bảo trì, cập nhật, gỡ rối, tránh bị lỗi · Programming culture    · Tổng hợp hành vi lập trình, thường liên qua đến dịng ngơn ngữ lập trình · Là tổng thể Mơ hình chính, phong cách kỹ thuật lập trình Là nhân cách đạo đức lập trình khai thác CT Bốn Mơ hình lập trình Bốn Mơ hình lập trình : · Imperative paradigm · Functional paradigm · Logical paradigm · Object-oriented paradigm Bên cạnh kể đến : · Visual paradigm · Parallel paradigms Một vài mơ hình khác : Concurrent programming Distributed programming Extreme programming … Tuy nhiên tập trung vào mơ hình sơ qua mơ hình cịn lại Bài tập lớn nhóm, Tìm hiểu mạng, làm tiểu luận, báo cáo lớp Functional paradigm  Logical paradigm  Visual paradigm  Parallel paradigms  Concurrent programming  Distributed programming  Extreme programming Tuần : Phân nhóm – Tìm tài liệu mạng Tuần : Nhắc nhở - Tóm lược nội dung Tuần : Nộp phác thảo nội dung báo cáo Tuần 10 : Nộp báo cáo : word : 10-20 trang Tuần 11 : Làm slides : 10-15 slides – đủ trình bày 45’ Tuần 12+13 : Báo cáo lớp  Imperative paradigm       Với Mơ hình ý tưởng lệnh gây ảnh hưởng đáng kể đến trạng thái chương trình Mỗi imperative program bao gồm Declarative statements – lệnh khai báo, chúng cung cấp tên cho biến Các biến thay đổi giá trị q trình thực Ct Assigment statements – Lệnh gán : gán giá trị cho biến Program flow control statements – Các lệnh điều khiển cấu trúc chương trình : Xác định trình tự thực lệnh chương trình Module : chia ct thành ct : Functions & Procedures Imperative paradigm Các đặc trưng Mơ hình là·        Về mặt nguyên lý ý tưởng : Công nghệ phần cứng digital ý tưởng Von Neumann Các bước tính tốn, thực với mục đích kiểm sốt cấu trúc điều khiển,· Chúng ta gọi bước mệnh lệnh - commands Tương ứng với cách mô tả cơng việc hàng ngày trình tự nấu ăn hay sửa chữa xe cộ Những lệnh đặc trưng imperative languages : Assignment, IO, procedure calls Các ngôn ngữ đại diện : Fortran, Algol, Pascal, Basic, C Các thủ tục hàm hình ảnh trừu tượng : che dấu lệnh CT con, coi CT lệnh Còn gọi "Procedural programming" Functional paradigm   Functional programming nhiều khía cạnh đơn giản rõ ràng imperative Vì nguồn gốc toán học túy: Lý thuyết hàm Trong imperative paradigm bắt nguồn từ ý tưởng công nghệ digital computer, phức tạp hơn, rõ ràng lý thuyết toán học hàm Functional programming dựa tảng khái niệm toán học hàm NNLT hàm bao gồm thành phần sau :  Tập hợp cấu trúc liệu hàm liên quan  Tập hợp hàm sở - Primitive Functions  Tập hợp toán tử Functional paradigm Các đặc trưng :          Về mặt nguyên lý ý tưởng : Toán học lý thuyết hàm Các giá trị tạo biến đổi non-mutable Không thể thay đổi yếu tố giá trị hợp thành Giống phương thuốc, tạo phiên giá trị hợp thành : giá trị trung gian Trừu tượng biểu thức đơn thành hàm hàm tính tốn biểu thức Các hàm giá trị Hàm liệu hoàn chỉnh, giống số, danh sách, Thích hợp với xu hướng tính tốn theo u cầu Mở khả Ví dụ Functional programming function GT(n: longint) : longint; var x : longint; Begin x:=1; while (n > 0) begin x := x * n; n := n 1; end; GT := x; End; Function GT(n: longint) : Longint; Begin   if n=1 then GT :=1   else  GT := n* GT(n­1); End; Với functional paradigm, ta có thể viết   GT n =  if n = 1 then 1  else n * GT(n ­ 1); logic paradigm        Mơ hình lập trình logic hồn tồn khác với mơ hình cịn lại Mơ hình đặc biệt phù hợp với lĩnh vực liên quan đến việc rút kiến thức từ kiện quan hệ – lĩnh vực trí tuệ nhân tạo Có vẻ mơ hình khơng gắn với lĩnh vực tính tốn nói chung Trả lời câu hỏi thơng qua việc tìm giải pháp Các đặc trưng: Về nguyên tắc ý tưởng : Tự động kiểm chứng trí tuệ nhân tạo Dựa chân lý- tiên đề axioms,các quy luật suy diễn inference rules, truy vấn queries Chương trình thực từ việc tìm kiếm có hệ thống tập kiện, sử dụng tập luật để đưa kết luận object-oriented paradigm Mơ hình hướng đối tượng thu hút quan tâm tiếng từ khoảng 20 năm Lý khả hỗ trợ mạnh tính bao gói gộp nhóm logic khía cạnh lập trình Những thuộc tính quan trọng mà kích cỡ chương trình ngày lớn Nguyên nhân sâu sắc dẫn đến thành cơng mơ hình :  Cơ sở lý thuyết đỉnh cao mơ hình CT HĐT xây dựng với khái niệm, tư tướng làm sở, điều quan trọng theo cách tất kỹ thuật cần thiết cho lập trình trở thành thứ yếu Gủi thơng điệp objects để mô tiến triển theo thời gian hàng loạt tượng giới thực object-oriented paradigm … Các đặc trưng  Nguyên lý ý tưởng : Lý thuyết concepts, mơ hình tương tác giới thực  Dữ liệu thao tác liệu đóng gói objects  Cơ chế che dấu thơng tin sử dụng để tránh tác động từ bên object  Các Objects tương tác với qua việc truyền thơng điệp, phép ẩn dụ cho việc thực thao tác object  Trong phần lớn NNLT HĐT, objects nhóm lại classes     Objects classes có chung thuộc tính, cho phép lập trình lớp, thay lập trình đối tượng riêng lẻ Classes đại diện cho concepts objects đại diện cho tượng Classes tổ chức phả hệ có kế thừa Tính kế thừa cho phép mở rộng hay chuyên biệt hóa lớp ... hình ngôn ngữ- Language paradigm nguyên tắc chung bản, dùng LTV để xd chương trình Cú pháp - Syntax ngôn ngữ cách để xác định hợp lệ cấu trúc câu ngôn ngữ; Nắm cú pháp cách để đọc tạo câu ngôn ngữ. .. ProgramDevelopment Development Tools Tools Các Cácchương chươngtrình trìnhthân thânthiện thiệnvới với người ngườisử sửdụng dụngđược đượcthiết thiếtkế kế? ?ể để trợ giúp LTV lẫn người sử trợ giúp... cơsở sởdùng dùngthiết thiếtkế k? ?các cácgiải giảipháp pháp cho chương trình cho chương trình Next Chương trình máy tính ngơn ngữ lập trình Computer Programs and Programming Languages Computer program?

Ngày đăng: 29/03/2021, 09:11

Mục lục

    Kỹ Thuật lập trình Programming technique

    Programming Languages – classifications and Program Development

    Chương trình máy tính và ngôn ngữ lập trình Computer Programs and Programming Languages

    programming language - NNLT

    HOẠT ĐỘNG CỦA 1 CHƯƠNG TRÌNH

    PHÂN LOẠI THEO THỜI GIAN

    CÁC THẾ HỆ NNLT LANGUAGE GENERATIONS

    Computer Programs and Programming Languages

    PHÂN LOẠI THEO MỨC ĐỘ TRỪU TƯỢNG

    DECLARATIVE và NON-DECLARATIVE PROGRAMMING

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

Tài liệu liên quan