Chương trình phần mềm MTĐT
Chương Chương trình phần mềm MTĐT I Khái niệm II Quá trình phát triển chương trình phần mềm III Phân loại IV Quy trình thiết kế chương trình phần mềm V Giải thuật (thuật toán) 19/09/12 / 44 I Khái niệm Tập hợp câu lệnh sẵp 19/09/12 Chương trình điều khiển máy tính thực xử lý thông tin tự động, theo mục tiêu Làm nhiệm vụ tiếp nhận thông tin (dữ liệu) vào máy tính, thực xử lý (tính toán, xếp, chọn lọc…) Cung cấp kết thông tin sau xử lý, theo yêu cầu / 44 Các loại phần mềm Phần mềm tiện ích: NC, EXPLORER Phần mềm ứng dụng: MS OFFICE 19/09/12 Phần mềm hệ thống: DOS, WINDOWS, UNIX LINUS Trình dịch / 44 Quy trình xây dựng phần mềm ứng dụng 19/09/12 1) Khảo sát; 2) Thiết kế; 3) Lập trình (xây dựng thuật toán viết chương trình); 4) Thử nghiệm; 5) Cài đặt, hướng dẫn sử dụng; 6) Cập nhật liệu; 7) Điều chỉnh; 8) Phát triển / 44 Hãy giải tập sau Tìm số 200 học viên, người có điểm trung bình cao nhất, điểm trung bình cao bao nhiêu? 19/09/12 / 44 Thuật toán Là cách thức giải toán; Dùng để trình bày cách thức đạt đến kết Thuật toán bắt đầu kiện ban đầu kết thúc kết quả; Được sử dụng để thiết lập phần mềm ứng dụng Để xây dựng phần mềm cần tìm thuật toán Có nhiều thuật toán để đến kết 19/09/12 / 44 Thuật toán Thuật toán (giải thuật) hướng dẫn gồm số hữu hạn mệnh lệnh quy định xác phép toán động tác cần thực cách máy móc theo trình tự vạch rõ để giải toán nhiệm vụ Ngôn ngữ thuật toán 19/09/12 / 44 Ngôn ngữ thuật toán Là cách thức trình bày biểu diễn thuật toán 1- Ngôn ngữ liệt kê; 2- Ngôn ngữ sơ đồ khối 19/09/12 / 44 Ngôn ngữ liệt kê Các bước giải phương trình: ax2 + bx + c = Bước 1: Nhận a, b, c Bước 2: Nếu a=0, quay bước 1; Nếu a = , tính ∆ = b2 – 4ac Bước 3: Nếu ∆ < 0, vô nghiệm, Nếu ∆ = 0, x1 = x2 = -b/2a Neáu ∆ 19/09/12 > 0, x1,2 = (-b ± √ ∆ ) / 2a Bước 4: Kết thúc / 44 Ngôn ngữ sơ đồ khối B Khối bắt đầu Khối tính toán 19/09/12 – K Khối kết thúc Khối nhập liệu + Khối kiểm tra điều kiện 10 / 44 Chuyển NN bậc cao thành NN bậc thấp Compiler Chương trình nguồn viết NNLT bậc cao phải “dịch” thành NN máy để máy tính hiểu thực thi lệnh “Dịch” trình biên dịch (compiler): “dịch” chuyển tồn chương trình viết NN bậc cao thành NN máy trước máy tính thực chương trình VD: COBOL, FORTRAN, C, Pascal ngôn ngữ sử dụng chế “biên dịch” 19/09/12 25 / 44 Interpreter “Dịch” trình thơng dịch (interpreter): “dịch” chuyển dịng lệnh chương trình viết NN bậc cao thành NN máy thực lệnh dịch xong lệnh VD: BASIC ngơn ngữ sử dụng chế “thông dịch” 19/09/12 26 / 44 Lập trình hướng đối tượng Object-oriented programming (OOP) phương pháp lập trình cho phép kết hợp liệu với câu lệnh xử lý liệu “đối tượng” Các “đối tượng” sử dụng lại để viết chương trình khác 19/09/12 27 / 44 Lập trình trực quan Visual programming phương pháp viết chương trình cách kết hợp đối tượng sẵn có thơng qua thao tác trực quan Cho phép viết chương trình dễ dàng, nhanh chóng VD: Visual Basic, Visual J, Visual C++, 19/09/12 28 / 44 Lập trình Internet Sử dụng ngơn ngữ lập trình: HTML – HyperText Markup Language: ngơn ngữ đánh dấu siêu văn XML – eXtensible Markup Language: VRML – Virtual Reality Markup Language: Java ActiveX Kỹ thuật khác: COM, DCOM, RMI, RPC 19/09/12 29 / 44 Ví dụ Để ghi dịng chữ “Chao cac ban” hình PASCAL program GhiChu; uses CRT; begin write(“Chao cac ban”); end C #include void main (void) { printf(“Chao cac ban”); } 19/09/12 30 / 44 Tham khảo từ Web Có thể tham khảo cách viết chương trình in chữ “Hello world” 200 ngơn ngữ lập trình khác địa http://www2.latech.edu/~acm/HelloWorld.shtml 19/09/12 31 / 44 5GLs 4GLs artificial intelligence ORACLE, SEQUEL, INGRES, HIGH-LEVEL LANGUAGES ASSEMBLER LANGUAGES ForTran, COBOL, C, C++, LISP, Pascal, Java, MACHINE CODE 19/09/12 32 / 44 Thuật toán - Algorithm Tập lệnh tổ chức có thứ tự nhằm giải toán đạt đến mục tiêu Ví dụ: 19/09/12 hướng dẫn chế biến ăn, hướng dẫn sửa chữa xe máy, cách giải toán … Algorithm –Thuật toán - Thuật giải 33 / 44 Thuật giải tốt Một thuật giải tốt thuật giải: xác rõ ràng hiệu bảo trì 19/09/12 Chúng ta viết thuật giải cho máy tính ngơn ngữ bình thường khơng rõ ràng Thay vào đó, dùng ngơn ngữ lập trình (hoặc ngơn ngữ giả lập ngơn ngữ lập trình gọi mã giả 34 / 44 Chương trình tính điểm trung bình mơn học Nhập: điểm thực hành Vật Lý, điểm tập, điểm kiểm tra học kỳ, điểm kiểm tra cuối học kỳ Điểm hệ số Thực hành : tập: KT kỳ: KT cuối kỳ: Tổng cộng: TONG = 8*2 + 9*2 + 8*4 + 8*6 Điểm trung bình: TB = TONG/(2+2+4+6) 19/09/12 35 / 44 Sơ đồ xử lý Sử dụng sơ đồ xử lý để minh họa trình xử lý chương trình start,stop condition expression process data flow Bài tập: dùng sơ đồ để biểu diễn tốn nhập tính điểm trung bình 19/09/12 36 / 44 Ngơn ngữ lập trình C Với C: đọc viết mã chương trình hầu hết hệ thống chuyển lên C++ viết kịch CGI (CGI script) cho Website C ngôn ngữ biên dịch (complied language) 19/09/12 Viết chương trình ngơn ngữ C chương trình soạn thảo (Notepad, copy con, cơng cụ viết chương trình) Khơng dùng chương trình soạn thảo văn (vd:Word, WordPad) Hello 37 / 44 Chương trình C #include int main() { printf(“Hello\n"); return 0; } 19/09/12 38 / 44 Chương trình C #include khai báo sử dụng thư viện xuất/nhập chuẩn (standard I/O library) Các thư viện khác: string, time, math… int main() khai báo hàm main() Chương trình C phải khai báo (duy nhất) hàm main() Khi chạy, chương trình bắt đầu thực thi câu lệnh hàm main() { …} mở đóng khối mã printf hàm printf() gửi kết xuất thiết bị xuất chuẩn (màn hình) Phần nằm “…“ gọi chuỗi định dạng kết xuất (format string) return 19/09/12 0; ngừng chương trình Mã lỗi (error code 0) – khơng có lỗi chạy chương trình 39 / 44 ... 44 Các loại phần mềm Phần mềm tiện ích: NC, EXPLORER Phần mềm ứng dụng: MS OFFICE 19/09/12 Phần mềm hệ thống: DOS, WINDOWS, UNIX LINUS Trình dịch / 44 Quy trình xây dựng phần mềm ứng dụng... diễn trình tự giải toán – ngôn ngữ lập trình Ngôn ngữ lập trình quy ước thực công việc để máy tính hiểu yêu cầu Nhà lập trình sử dụng chương tình dịch để dịch chương trình phần mềm thành chương trình. .. Viết chương trình (coding): sử dụng ngơn ngữ lập trình để viết chương trình 19/09/12 17 / 44 Các bước lập trình Kiểm tra chương trình (test): kiểm tra sửa chữa lỗi logic (bug) chương trình