CHƯƠNG 1 NHỮNG KHÁI NIỆM cơ bản TRONG kỹ THUẬT lập TRÌNH

27 457 0
CHƯƠNG 1 NHỮNG KHÁI NIỆM cơ bản TRONG kỹ THUẬT lập TRÌNH

Đ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

2/6/2012 CHƢƠNG I NHỮNG KHÁI NIỆM CƠ BẢN TRONG KỸ THUẬT LẬP TRÌNH I Tổng quan lập trình II Chu trình phát triển chương trình III Các mô thức lập trình I TỔNG QUAN VỀ LẬP TRÌNH I Tổng quan lập trình • Với toán, làm để: – Thiết kế giải thuật nhằm giải toán – Cài đặt giải thuật chương trình máy tính 2/6/2012 I Tổng quan lập trình • Chương trình máy tính (computer program): Tập hợp lệnh dẫn cho máy tính thực nhiệm vụ • Ngôn ngữ lập trình (programming language): Dùng để viết lệnh, thị I TỔNG QUAN VỀ LẬP TRÌNH Hoạt động chương trình máy tính Ngôn ngữ lập trình Hoạt động chương trình máy tính • Chương trình máy tính nạp vào nhớ (primary memory) tập lệnh viết ngôn ngữ mà máy tính hiểu được, tức dãy số nhị phân (binary digits) • Tại thời điểm nào, máy tính trạng thái (state) • Đặc điểm trạng thái trỏ lệnh (instruction pointer) trỏ tới lệnh để thực • Thứ tự thực nhóm lệnh gọi luồng điều khiển (flow of control) 2/6/2012 Hoạt động chương trình máy tính • Bắt đầu chu trình lệnh, CPU nhận lệnh từ nhớ – PC (Program Counter): ghi giữ địa lệnh nhận – Lệnh nạp vào ghi lệnh IR (Instruction Register) • Sau lệnh nhận vào, nội dung PC tự động tăng để trỏ sang lệnh Ngôn ngữ lập trình (NNLT) • Một NNLT hệ thống ký hiệu dùng để liên lạc, trao đổi với máy tính nhằm thực thi nhiệm vụ tính toán • Các thành phần NNLT: – Cú pháp (syntax): luật dùng để ghép ký hiệu thành câu lệnh, thành chương trình hợp lệ mặt cấu trúc – Ngữ nghĩa (semantic): luật dùng để ghép ký hiệu thành câu lệnh, thành chương trình có ý nghĩa • 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ạm vi ứng dụng hạn chế – Ngôn ngữ máy – Ngôn ngữ assembly – Các ngôn ngữ khác 2.1 Ngôn ngữ máy • Máy tính nhận tín hiệu điện tử - có, tương ứng với dòng bits • Một chương trình dạng gọi mã máy (machine code) • Ban đầu phải dùng machine code để viết chương trình:  Quá phức tạp, giải toán lớn không tưởng 23fc 0000 0001 0000 0040 0cb9 0000 000a 0000 0040 6e0c 06b9 0000 0001 0000 0040 60e8 2/6/2012 2.2 Ngôn ngữ ASSEMBLY • Là 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 chuyển thành thành machine code • Vẫ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: 2.3 Phân loại ngôn ngữ lập trình - Theo thời gian • 1940s: Ngôn ngữ máy tính hiểu • 1980s: Giảm phức tạp • 1990s: Khai thác triệt để tài nguyên • 2000s: Phát triển mô hình tính toán – Object-oriented, functional programming: Java – Machine code • 1950s: Khai thác sức mạnh máy tính • 1960s: Tăng khả tính toán • 1970s: Giảm phụ thuộc vào máy, tăng tính đắn CT – Parallel, distributed computing: occam – Assembler code, Fortran v.1 – Cobol, Lisp, Algol 60, Basic, PL/1 – Structured Programming, Modular Programming: Pascal, Algol 68 and C – genetic programming languages, DNA computing, bio-computing, service-based computing • … 2.3 Phân loại ngôn ngữ lập trình - Theo mức độ trừu tượng Low-level language High-level language Machine-dependent Phụ thuộc phần cứng, chạy loại máy tính Machine-independent Thường không phụ thuộc phần cứng, chạy nhiều loại máy tính khác Ví dụ ??? Machine assembly languages ngôn ngữ bậc thấp Ví dụ ???? High(er) level languages gần với ngôn ngữ người hơn: Algol, Fortran, Pascal, Basic, Ada, C, … 2/6/2012 2.3 Phân loại ngôn ngữ lập trình - Theo mức độ trừu tượng Level Instructions Memory handling Low level languages Dạng bits – giống lệnh machine Truy cập cấp phát trực tiếp nhớ High level languages Dùng biểu thức dòng điều khiển xác định Truy cập cấp phát nhớ qua lệnh, toán tử operators Very high level languages Hoàn toàn trừu Che dấu hoàn toàn tượng, độc lập phần việc truy cập tự cứng động cấp phát nhớ 2.3 Phân loại ngôn ngữ lập trình - Theo mục đích sử dụng • Các ngôn ngữ lập trình cấp cao ngôn ngữ assembly mã máy phân thành nhóm: – Declarative languages: ngôn ngữ lập trình dạng tường thuật • Trả lời câu hỏi: Cần làm / Cần lưu trữ • Còn gọi functional languages, logic languages – Non-declarative langues: ngôn ngữ lập trình dạng phi tường thuật • Trả lời câu hỏi: Làm / Lưu trữ • Còn gọi imperative languages, procedural languages 2.4 Ngôn ngữ lập trình dạng mệnh lệnh Lập trình viên viết Sử dụng hàng loạt thị hƣớng dẫn cho từ giống tiếng anh để máy tính cai cần viết thị làm làm nhƣ instructions Còn gọi thirdgeneration language (3GL) Các ngôn ngữ thông dụng BASIC, COBOL, PASCAL, C,C++ JAVA 2/6/2012 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • Trình dịch (Compiler): chương trình thực biên dịch toàn chương trình nguồn thành mã máy trước thực 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • Trình thông dịch (Interpreter): – chương trình dịch thực dòng lệnh chương trình lúc – Dịch từ ngôn ngữ sang ngôn ngữ khác, không tạo chương trình dạng mã máy hay assembly 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • BASIC – Được thiết kế người học, giúp họ tiếp cận cách đơn giản NNLT – Beginner’s All-purpose Symbolic Instruction Code 2/6/2012 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • COBOL – Dùng cho ứng dụng kinh doanh, thương mại – Các lệnh giống tiếng Anh làm cho code dễ đọc, viết chỉnh sửa – Common Business-Oriented Language 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • C – Là NNLT mạnh, ban đầu thiết kế để lập trình phần mềm hệ thống – Yêu cầu kỹ lập trình chuyên nghiệp 2.5 Ngôn ngữ lập trình hướng đối tượng Dùng để hỗ trợ thiết kế HĐT (object-oriented design) Object phần tử chứa đựng liệu thao tác liệu Lợi ích khả tái sử dụng (reuse existing objects) Event-driven— Hướng kiện Kiểm tra để trả lời tập kiện C++ Java NN hoàn toàn HĐT object-oriented languages Event hành động mà chương trình cần đáp ứng 2/6/2012 2.5 Ngôn ngữ lập trình hướng đối tượng • C++ – Chứa đựng thành phần C, loại bỏ nhược điểm thêm vào tính để làm việc với object-oriented concepts – Được dùng để phát triển Database ứng dụng Web 2.5 Ngôn ngữ lập trình hướng đối tượng • Java – Phát triển Sun Microsystems – Giống C++ dùng trình dịch just-in-time (JIT) để chuyển source code thành machine code 2.5 Ngôn ngữ lập trình hướng đối tượng • Visual programming language Visual programming environment (VPE) Cho phép developers kéo thả objects để xd programs Cung cấp giao diện trực quan đồ họa để tạo source code Đôi gọi fourth-generation language Thường dùng môi trường RAD (rapid application development) LTV viết phát triển chương trình segments 2/6/2012 2.5 Ngôn ngữ lập trình hướng đối tượng • Visual Studio NET 2003, 2005 – – – Bước phát triển visual programming languages RAD tools NET tập hợp công nghệ cho phép program chạy Internet Visual Basic NET 2003-5 dùng để xây dưng chương trình hướng đối tượng phức tạp Step Step LTV gán LTV thiết kế giao diện người dùng user interface thuộc tính cho object form Step LTV viết code để xác định action cần thực kiện cần thiết Step LTV kiểm tra application 2.5 Ngôn ngữ lập trình hướng đối tượng • Delphi – Là công cụ lập trình trực quan mạnh – Hợp với ứng dụng chuyên nghiệp Web lớn 2.5 Ngôn ngữ lập trình hướng đối tượng • PowerBuilder – Một công cụ lập trình trực quan mạnh khác – Phù hợp với ứng dụng Web-based hay ứng dụng lớn HĐT - object-oriented applications 2/6/2012 2.6 Ngôn ngữ lập trình dạng tường thuật Nonprocedural Language LTV viết lệnh giống tiếng anh hoac tương tác với môi trường trực quan để nhận liệu từ files hay database Program Development Tools Các chương trình thân thiện với người sử dụng thiết kế để trợ giúp LTV lẫn người sử dụng việc tạo chương trình 2.6 Ngôn ngữ lập trình dạng tường thuật • RPG (Report Program Generator) – Các ngôn ngữ LT phi thủ tục dùng để tạo báo cáo, thiết lập thao tác tính toán cập nhật files 2.6 Ngôn ngữ lập trình dạng tường thuật • NN hệ IV fourth-generation language (4GL) – Là ngôn ngữ phi thủ tục cho phép truy cập liệu csdl – NNLT 4GL thông dụng SQL,Access, ngôn ngữ truy vấn Cho phép users quản trị liệu csdl quan hệ relational DBMS 10 2/6/2012 2.6 Ngôn ngữ lập trình dạng tường thuật - Tạo trang web • Dynamic HTML (DHTML)  Cho phép nhà phát triển thêm nhiều phần tử đồ họa tương tác vào Web page 2.6 Ngôn ngữ lập trình dạng tường thuật - Tạo trang web • XHTML, XML, WML XHTML (Extensible HTML) tạo khả Web sites dễ ràng trình duyệt XML (Extensible Markup Language) Cho phép developers tạo thẻ - tags – riêng WML (Wireless Markup Language) Cho phép developers thiết kế trang cho trình duyệt chuyên dụng – mobil, … Chứa tính HTML XML Server gửi toàn ghi cho client, tạo khả cho client thực việc xử lý mà quay lại server Sử dụng chuẩn wireless application protocol (WAP), để xác định cách thức thiết bị không dây liên lạc với Web 2.6 Ngôn ngữ lập trình dạng tường thuật - Tạo trang web • Web page authoring software?   Tạo trang Web hoàn hảo mà không cần dùng HTML Tự tạo trang HTML Dreamweaver MX Flash MX FrontPage 2003 13 2/6/2012 2.6 Ngôn ngữ lập trình dạng tường thuật - Tạo ứng dụng đa phương tiện • Multimedia authoring software?    Kết hợp văn bản, đồ họa, hoạt hình, âm video trình diễn có tương tác Sử dụng cho computer-based training (CBT) Web-based training (WBT) Software includes Toolbook, Authorware, Director 2.7 Các ngôn ngữ lập trình khác ALGOL ADA FORTH FORTRAN HYPERTALK MODULA-2 LOGO PILOT APL PL/I PROLOG LISP PASCAL SMALLTALK II CHU TRÌNH PHÁT TRIỂN CHƢƠNG TRÌNH 14 2/6/2012 Mô tả Program development cycle: bước mà LTV dùng để xây dựng chương trình Bước 1: phân tích yêu cầu (analyze requirements) • Phân tích hệ thống – Dựa hệ thống có thực (do người vận hành hệ thống tự động) – Do nhà phân tích hệ thống tiến hành, hiệu vấn người dùng – Mục tiêu: • Xác định xem hệ thống làm gì, làm nào, tồn vấn đề  Quyết định xem có nên thực bước hay không (Return-on-Investment – ROI estimation ) Bước 1: phân tích yêu cầu (analyze requirements) • Thiết lập yêu cầu hệ thống: – Dựa trao đổi nhà phân tích hệ thống nhà phân tích nghiệp vụ – Hình dung hệ thống mới: « look and feel » – Xác định • Cái cần thay đổi • Cần làm để có thay đổi (chưa quan tâm đến việc làm nào) – Mô tả việc cần làm: xác định • đầu vào (input): liệu nào, từ đâu đến • đầu (output): liệu nào, « mềm » (dữ liệu xuất hình) hay « cứng » (dữ liệu xuất thiết bị khác) • xử lý (process): hành động cần thực để biến đầu vào thành đầu Vẽ biểu đồ IPO  Quyết định xem có nên thực bước hay không 15 2/6/2012 Bước 1: phân tích yêu cầu (analyze requirements) • Biểu đồ IPO: – Input, Output: danh từ, phân biệt liệu – Process: động từ, hành động • Ví dụ: viết chương trình cho phép nhập vào số, tính tổng chúng tính giá trị trung bình chúng Input Process Output Bước 1: phân tích yêu cầu (analyze requirements) Input value1, value 2, value3 value1, value 2, value3 read the input values Process Output add the numbers together Total Total, value number calculate average Average display average display total Input numbers Process read numbers Output (n1 + n2+ n3) /3 compute average and total n1 + n2 + n3 print average and total Bước – thiết kế giải pháp (design solution) • Những việc cần làm bước thiết kế giải pháp? – Phân rã toán thành toán nhỏ – Tìm giải pháp cho toán nhỏ, phát triển lên thành giải thuật – Kết hợp giải pháp cho toán nhỏ thành giải pháp tổng thể cho toán ban đầu 16 2/6/2012 Bước – thiết kế giải pháp (design solution) • Những việc cần làm bước thiết kế giải pháp? Hai hƣớng tiếp cận Chia để trị Object-oriented design Structured design, gọi top-down design LTV bắt đầu với thiết kế tổng thể đến thiết kế chi tiết Bước – thiết kế giải pháp (design solution) – Sơ đồ phân cấp chức (hierarchy chart) ? • Trực quan hóa modules CT • Còn gọi sơ đồ cấu trúc Bước – thiết kế giải pháp (design solution) • Object-oriented (OO) design gì?  LTV đóng gói liệu thủ tục xử lý liệu object   Các objects nhóm lại thành classes Biểu đồ lớp thể trực quan quan hệ phân cấp quan hệ classes 17 2/6/2012 Bước – thiết kế giải pháp (design solution) • Máy tính tự nghĩ hay tự định sơ đồ hoạt động • Máy tính làm xác yêu cầu, theo cách yêu cầu, làm người muốn máy tính làm • Giải thuật tập thị miêu tả cho máy tính nhiệm vụ cần làm thứ tự thực nhiệm vụ Bước – thiết kế giải pháp (design solution) • Giải pháp cho chương trình máy tính, dù đơn giản hay phức tạp, trình bày dựa cấu trúc sau: – Tuần tự – Chọn – Lặp • Các cấu trúc gọi cấu trúc điều khiển hay cấu trúc logic, điều khiển logic tính toán chương trình máy tính Bước – thiết kế giải pháp (design solution) Cấu trúc • Cấu trúc chương trình máy tính thị cho máy tính xử lý lệnh (statement) chương trình theo thứ tự chương trình 18 2/6/2012 Bước – thiết kế giải pháp (design solution) Cấu trúc • Lệnh là: – Lệnh gán – Lệnh vào / – Lệnh ghép Bước – thiết kế giải pháp (design solution) Cấu trúc chọn • Dùng để định, sau thực hành động dựa định • Phải hành động có khả thực sau có định • Quyết định phụ thuộc vào điều kiện Bước – thiết kế giải pháp (design solution) Cấu trúc chọn 19 2/6/2012 Bước – thiết kế giải pháp (design solution) Cấu trúc chọn • Single input – single output • Single input – double output condition • Single input – multiple output condition TRUE S1 TRUE S1 value FALSE S2 v1 S1 … Sn Bước – thiết kế giải pháp (design solution) Cấu trúc lặp Bước – thiết kế giải pháp (design solution) Cấu trúc lặp • Cho phép lập trình viên đặc tả hành động cần thực lặp lặp lại có điều kiện • Khi sử dụng chương trình, cấu trúc lặp thị cho máy tính thực lặp lặp lại nhiều lệnh, thỏa mãn điều kiện Vào thời điểm đó, máy tính kết thúc vòng lặp 20 2/6/2012 Bước – thiết kế giải pháp (design solution) Cấu trúc lặp FALSE S1 Sn condition TRUE S1 Sn condition FALSE TRUE Bước – thiết kế giải pháp (design solution) Cấu trúc lặp • Trường hợp 1: số lần lặp biết trước Bước – thiết kế giải pháp (design solution) Cấu trúc lặp • Trường hợp 2: số lần lặp trước • Các lệnh vòng lặp thực điều kiện lặp không – Điều kiện phải kiểm tra trước: lệnh vòng lặp không thực lần – Khác đi, lệnh vòng lặp thực lần 21 2/6/2012 Ví dụ • Flowchart (biểu đồ luồng) công cụ để phát triển giải pháp thành giải thuật – Mô tả giải thuật cách trực quan – Sử dụng ký hiệu để định nghĩa giải thuật với độ khó khác A Start avg= ttl / Read val1, val2, val3 ttl= val1 + val2 + val3 Print ttl, avg A Stop Bước – Hợp thức hóa thiết kế (validate design) • Những điều cần làm giai đoạn này? Kiểm tra độ xác chƣơng trình LTV kiểm tra logic cho tính đắn thử tìm lỗi logic Desk check LTV dùng liệu thử nghiệm để kiểm tra chƣơng trình Logic error sai sót thiết kế gây kết không xác Test data liệu thử nghiệm giống số liệu thực mà chương trình thực Structured walkthrough LTV mô tả logic thuật toán đội lập trình duyệt theo logic chương trình Bước 4: cài đặt thiết kế (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 đƣợc xác định 22 2/6/2012 Bước – kiểm tra giải pháp (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 Bước – viết tài liệu cho giải pháp (document solution) • Là bước không quan trọng  hoạt động Rà soát lại program code: loại bỏ dead code, tức lệnh mà chương trình không gọi đến Rà soát, hoàn thiện tài liệu Tóm lại Có hàng loạt NNLT dùng để viết chƣơng trình máy tính mô hình lập trình Chu trình phát triển chƣơng trình công cụ đƣợc dùng để làm cho trình hiệu 23 2/6/2012 III CÁC MÔ THỨC LẬP TRÌNH Mở đầu Hướng mệnh lệnh Hướng chức Logic Hướng đối tượng Mở đầu • · Programming paradigm: mô thức lập trình • · Programming technique: kỹ thuật lập trình – – – – • 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: phong cách lập trình – – • Tập khái niệm dùng khuôn mẫu để lập trình Đại diện cho NNLT có đặc trưng 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: văn hóa lập trình – – – 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 Tổng thể mô thức, phong cách kỹ thuật lập trình Nhân cách đạo đức lập trình khai thác CT Mở đầu • Có nhiều mô thức lập trình – – – – – – – – – Imperative paradigm Functional paradigm Logical paradigm Object-oriented paradigm Visual paradigm Parallel paradigm Concurrent paradigm Distributed paradigm Service-oriented paradigm • Chỉ xét mô thức lập trình: hướng mệnh lệnh, hướng thủ tục hướng đối tượng 24 2/6/2012 Mô thức lập trình hướng mệnh lệnh • Vấn đề: – Làm để thực thi nhiệm vụ tính toán ? – Làm để biết thay đổi trạng thái chương trình tính toán ? • Cách giải quyết: dùng dãy lệnh (statement) để miêu tả việc tính toán; lệnh gây ảnh hưởng nhận biết đến trạng thái chương trình – Declarative statement – Lệnh khai báo: định nghĩa kiểu cho biến Các biến thay đổi giá trị trình thực chương trình – Assigment statement – 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 – Nested statement – Lệnh ghép: nhóm lệnh thành functions & procedures Mô thức lập trình hướng mệnh lệnh • Đặc trưng: – Nguyên lý ý tưởng: Công nghệ số hóa phần cứng + ý tưởng Von Neumann – Lệnh đặc trưng: Assignment, IO, procedure calls – 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ác ngôn ngữ đại diện: Fortran, Algol, Pascal, Basic, C – 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ộ – Còn gọi "Procedural programming" Mô thức lập trình hướng chức • Nguồn gốc: lý thuyết hàm số  đơn giản rõ ràng mô thức lập trình hướng mệnh lệnh • Ngôn ngữ lập trình: miêu tả – Tập hợp kiểu liệu có cấu trúc – Tập hợp hàm định nghĩa kiểu liệu 25 2/6/2012 Mô thức lập trình hướng chức • Đặc trưng bản: Chú trọng đến việc mô-đun hóa chương trình – Một chức biểu diễn trừu tượng biểu thức  chức thực thi – Giải thuật thực theo bước – Các giá trị trả biến đổi – Không thể thay đổi cấu trúc liệu giá trị, chép lại thành phần tạo nên giá trị – Tính toán cách gọi chức  thích hợp với xu hướng tính toán theo yêu cầu người dùng Mô thức lập trình hướng chức • Ví dụ: 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; Mô thức lập trình logic • Mô hình đặc biệt phù hợp với lĩnh vực liên quan đến việc trích rút thông tin từ kiện mối quan hệ kiện – lĩnh vực trí tuệ nhân tạo • Đặ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 26 2/6/2012 Mô thức lập trình hướng đối tượng • Nguyên lý ý tưởng: Các khái niệm mô hình tương tác giới thực • Dữ liệu thao tác liệu bao gói đối tượng • Cơ chế che dấu thông tin nội sử dụng để tránh tác động từ bên Mô thức lập trình hướng đối tượng – 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 khái niệm objects đại diện cho tượng Classes có tính kế thừa, cho phép mở rộng hay chuyên biệt hóa lớp Kết luận • Chương trình phần mềm viết ngôn ngữ lập trình, theo chu trình phát triển với bước sau: – – – – • Đặc tả phân tích yêu cầu Thiết kế Cài đặt Kiểm thử • Các mô thức lập trình là: – – – – Hướng mệnh lệnh Hướng chức Hướng đối tượng Logic Những tính chất cần có với chương trình phần mềm là: – – – – – – – – 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 27 [...]... ta trình bày trong 1 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: văn hóa lập trình – – – Tổng hợp các hành vi lập trình, thường liên qua đến các dòng ngôn ngữ lập trình Tổng thể của mô thức, phong cách và kỹ thuật lập trình Nhân cách đạo đức trong lập trình cũng như khai thác các CT 1 Mở đầu •... thức lập trình • · Programming technique: kỹ thuật lập trình – – – – • Liên quan đến các ý tưởng thuật toán để giải quyết một lớp vấn đề tương ứng Ví dụ: • 'Divide and conquer‘ • ‘Program development by stepwise refinement' · Programming style: phong cách lập trình – – • Tập các khái niệm được dùng như các khuôn mẫu để lập trình Đại diện cho các NNLT có cùng những đặc trưng cơ bản Cách chúng ta trình. .. code, tức các lệnh mà chương trình không bao giờ gọi đến Rà soát, hoàn thiện tài liệu Tóm lại Có hàng loạt các NNLT dùng để viết các chƣơng trình máy tính 4 mô hình lập trình cơ bản Chu trình phát triển chƣơng trình và các công cụ đƣợc dùng để làm cho quá trình này hiệu quả hơn 23 2/6/2 012 III CÁC MÔ THỨC LẬP TRÌNH 1 2 3 4 5 Mở đầu Hướng mệnh lệnh Hướng chức năng Logic Hướng đối tượng 1 Mở đầu • · Programming...2/6/2 012 2.6 Ngôn ngữ lập trình dạng tường thuật • Application generator – Là chương trình tạo source code hoặc machine code từ các specification – Bao gồm các chương trình tạo Report và tạo Form nhập dữ liệu 2.6 Ngôn ngữ lập trình dạng tường thuật • Visual Basic for Applications (VBA) – Macro programming language • Macro—Dãy các lệnh dùng để tự động hóa các công việc 2.6 Ngôn ngữ lập trình dạng tường thuật. .. điều khiển hay các cấu trúc logic, vì nó điều khiển logic tính toán của chương trình máy tính Bước 2 – thiết kế giải pháp (design solution) Cấu trúc tuần tự • Cấu trúc tuần tự trong một chương trình máy tính chỉ thị cho máy tính xử lý lần lượt các lệnh (statement) của chương trình theo thứ tự được chỉ ra trong chương trình 18 2/6/2 012 Bước 2 – thiết kế giải pháp (design solution) Cấu trúc tuần tự • Lệnh... tưởng: Tự động kiểm chứng trong trí tuệ nhân tạo – Dựa trên các chân lý- tiên đề axioms,các quy luật suy diễn - inference rules, và các truy vấn queries – Chương trình thực hiện từ việc tìm kiếm có hệ thống trong 1 tập các sự kiện, sử dụng 1 tập các luật để đưa ra kết luận 26 2/6/2 012 5 Mô thức lập trình hướng đối tượng • Nguyên lý và ý tưởng: Các khái niệm và mô hình tương tác trong thế giới thực • Dữ... Flash MX FrontPage 2003 13 2/6/2 012 2.6 Ngôn ngữ lập trình dạng tường thuật - Tạo các ứng dụng đa phương tiện • Multimedia authoring software?    Kết hợp văn bản, đồ họa, hoạt hình, âm thanh và video trong 1 bài trình diễn có tương tác Sử dụng cho computer-based training (CBT) và Web-based training (WBT) Software includes Toolbook, Authorware, và Director 2.7 Các ngôn ngữ lập trình khác ALGOL ADA FORTH... gói trong các đối tượng • Cơ chế che dấu thông tin nội bộ được sử dụng để tránh những tác động từ bên ngoài 5 Mô thức lập trình hướng đối tượng – Các Objects tương tác với nhau qua việc truyền thông điệp, đó là phép ẩn dụ cho việc thực hiện các thao tác trên 1 object – Trong phần lớn các NNLT HĐT, objects được nhóm lại trong classes • • • Objects trong classes có chung các thuộc tính, cho phép lập trình. .. thay vì lập trình trên từng đối tượng riêng lẻ Classes đại diện cho các khái niệm còn objects đại diện cho hiện tượng Classes có tính kế thừa, cho phép mở rộng hay chuyên biệt hóa lớp Kết luận • Chương trình phần mềm được viết bằng một ngôn ngữ lập trình, theo một chu trình phát triển với các bước chính sau: – – – – • Đặc tả và phân tích yêu cầu Thiết kế Cài đặt Kiểm thử • Các mô thức lập trình chính... Web 11 2/6/2 012 2.6 Ngôn ngữ lập trình dạng tường thuật - Tạo các trang web • Các hiệu ứng đặc biệt và các phần tử tương tác được thêm vào trang Web như thế nào ? Script Thông dịch chương trình chạy trên client Applet thường chạy trên client, nhưng được biên dịch Counter duyệt số người thăm Web site Servlet applet chạy trên server Image map Hình ảnh đồ họa trỏ tới URL ActiveX control Là chương trình ... culture: văn hóa lập trình – – – 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 Tổng thể mô thức, phong cách kỹ thuật lập trình Nhân cách đạo đức lập trình khai thác CT... 2/6/2 012 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • Trình dịch (Compiler): chương trình thực biên dịch toàn chương trình nguồn thành mã máy trước thực 2.4 Ngôn ngữ lập trình dạng mệnh lệnh • Trình. .. language): Dùng để viết lệnh, thị I TỔNG QUAN VỀ LẬP TRÌNH Hoạt động chương trình máy tính Ngôn ngữ lập trình Hoạt động chương trình máy tính • Chương trình máy tính nạp vào nhớ (primary memory) tập

Ngày đăng: 11/11/2015, 16:44

Từ khóa liên quan

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

Tài liệu liên quan