TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY BÀI LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH Viện Cơng nghệ thơng tin Truyền thơng 2018 Nội dung Chương trình Lập trình Các bước lập trình Ngơn ngữ lập trình © SoICT 2018 Nhập mơn CNTT&TT Chương trình Lập trình ▪ Chương trình (Program) dãy lệnh mà máy tính thực theo để hồn thành nhiệm vụ xử lý liệu thành thông tin ▪ Lập trình (Programming) hay phát triển phần mềm thủ tục gồm bước để tạo chương trình © SoICT 2018 Nhập mơn CNTT&TT Các bước lập trình Bước 1: Đặc tả chương trình (Program Specification) Bước 2: Thiết kế chương trình (Program design) Bước 3: Viết mã chương trình (Program code) Bước 4: Kiểm thử chương trình (Program test) Bước 5: Lập tư liệu chương trình (Program documentation) Bước 6: Bảo trì chương trình (Program maintenance) © SoICT 2018 Nhập môn CNTT&TT Bước Đặc tả chương trình ▪ Còn gọi phân tích chương trình ▪ Các việc cần làm: ▪ Xác định mục tiêu chương trình (các vấn đề cần giải quyết) ▪ Xác định đầu muốn có ▪ Xác định liệu đầu vào cần có ▪ Xác định yêu cầu xử lý ▪ Lập tư liệu đặc tả chương trình © SoICT 2018 Nhập mơn CNTT&TT Bước Đặc tả chương trình © SoICT 2018 Nhập môn CNTT&TT Bước 2: Thiết kế chương trình ▪ Lập kế hoạch giải vấn đề/bài tốn sử dụng kỹ thuật lập trình cấu trúc: ▪ Thiết kế top-down: Xác định bước xử lý chính, modul chương trình gọi ▪ Mã giả (pseudocode): Mơ tả cách giải tốn theo ngơn ngữ tự nhiên ▪ Lưu đồ chương trình (Flowcharts) ▪ Các cấu trúc logic ▪ Các thuật toán liên quan ▪ Viết tài liệu thiết kế © SoICT 2018 Nhập mơn CNTT&TT Bước 2: Thiết kế chương trình © SoICT 2018 Nhập môn CNTT&TT Thuật giải (Algorithm) ▪ Thuật giải dãy lập luận thao tác cung cấp lời giải vấn đề, toán ▪ Các tính chất thuật giải ▪ Tính xác: để đảm bảo kết tính tốn hay thao tác mà máy tính thực xác ▪ Tính rõ ràng: Thuật tốn phải thể câu lệnh minh bạch; câu lệnh xếp theo thứ tự định ▪ Tính khách quan: Một thuật toán dù viết nhiều người nhiều máy tính phải cho kết ▪ Tính phổ dụng: Thuật tốn khơng áp dụng cho tốn định mà áp dụng cho lớp tốn có đầu vào tương tự ▪ Tính kết thúc: Thuật tốn phải gồm số hữu hạn bước tính tốn © SoICT 2018 Nhập môn CNTT&TT Các ký hiệu dùng cho Lưu đồ (Flowchart) Đầu cuối (Terminal): bắt đầu kết thúc chương trình Tiến trình (Process): Tính toán gán giá trị cho biến Nhập/Xuất liệu (Input/Output) Quyết định dựa theo điều kiện (Decision) Điểm kết nối Đường kết nối trình tự thao tác © SoICT 2018 Nhập môn CNTT&TT 10 Bước 5: Lập tư liệu chương trình ▪ Viết tư liệu cho người sử dụng ▪ Viết tư liệu cho người vận hành ▪ Viết tư liệu cho người lập trình © SoICT 2018 Nhập mơn CNTT&TT 23 Bước 6: Bảo trì chương trình ▪ Đảm bảo để chương trình chạy xác, suất hiệu ▪ Hai tiêu chuẩn bảo trì chương trình: ▪ Xác định hiệu chỉnh lỗi, làm cho chương trình dễ sử dụng chuẩn hố mã chương trình ▪ Có thay đổi cần thiết theo thời gian © SoICT 2018 Nhập mơn CNTT&TT 24 Bước 6: Bảo trì chương trình © SoICT 2018 Nhập môn CNTT&TT 25 CASE Tools ▪ CASE Tools (Computer-Aided Software Engineering): sử dụng để tự động hóa hỗ trợ cho việc thiết kế, viết mã kiểm thử chương trình © SoICT 2018 Nhập mơn CNTT&TT 26 Lập trình hướng đối tượng - OOP ▪ OOP (Object-Oriented Programming) ▪ Dữ liệu lệnh xử lý liệu nhóm lại thành đối tượng độc lập để sử dụng lại chương trình khác ▪ Đóng gói ▪ Tính thừa kế ▪ Tính đa hình © SoICT 2018 Nhập mơn CNTT&TT 27 Ngơn ngữ lập trình ▪ Các hệ ngơn ngữ lập trình: ▪ Ngơn ngữ máy (Machine languages) ▪ Hợp ngữ (Assembly languages) ▪ Ngôn ngữ thủ tục bậc cao (High-level procedural languages) ▪ Ngôn ngữ hướng nhiệm vụ (Task-oriented languages) ▪ Ngôn ngữ vấn đề ràng buộc (Problem and constraint languages) © SoICT 2018 Nhập mơn CNTT&TT 28 Ngôn ngữ máy ▪ Là ngôn ngữ sở máy tính ▪ Được biểu diễn bit © SoICT 2018 Nhập mơn CNTT&TT 29 Hợp ngữ ▪ Ngơn ngữ lập trình bậc thấp ▪ Chương trình dịch hợp ngữ thành ngơn ngữ máy → assembler © SoICT 2018 Nhập mơn CNTT&TT 30 Ngơn ngữ thủ tục bậc cao ▪ Ngôn ngữ thủ tục ▪ FORTRAN, COBOL, BASIC, Pascal, C ▪ Chương trình dịch: ▪ Chương trình biên dịch (Compiler): dịch xong tồn chương trình thành ngơn ngữ máy, sau máy tính thực chương trình ▪ Chương trình thơng dịch (Interpreter): dịch lệnh thành ngôn ngữ máy thực ln © SoICT 2018 Nhập mơn CNTT&TT 31 Ngơn ngữ hướng nhiệm vụ ▪ Ngôn ngữ thiết kế để giải vấn đề xác định ▪ Thường sử dụng hệ quản trị sở liệu ▪ Các loại: ▪ Ngôn ngữ truy vấn (Query Languages) ▪ Bộ tạo ứng dụng (Application Generators) ▪ Ví dụ: SQL © SoICT 2018 Nhập mơn CNTT&TT 32 Ngơn ngữ vấn đề ràng buộc ▪ Ngôn ngữ kết hợp khái niệm trí tuệ nhân tạo cho phép người cung cấp toán ràng buộc cho hệ thống, sau yêu cầu giải ▪ Cho phép người trao đổi thông tin trực tiếp với máy tính ngơn ngữ tự nhiên © SoICT 2018 Nhập môn CNTT&TT 33 Một số ngôn ngữ lập trình ▪ ▪ ▪ ▪ BASIC Pascal C Ngơn ngữ lập trình hướng đối tượng: ▪ C++ ▪ Java © SoICT 2018 Nhập mơn CNTT&TT 34 Các ngơn ngữ đánh dấu ▪ HTML (Hyper Text Markup Language): sử dụng để tạo trang Web ▪ VRML (Virtual Reality Modeling/Markup Language): Tạo Web chiều (3D) hoạt hình tương tác ▪ XML (eXtensible Markup Language): hỗ trợ chia sẻ liệu mạng ▪ XHTML (eXtended HTML): kết hợp HTML XML để thêm cấu trúc mềm dẻo cho HTML © SoICT 2018 Nhập mơn CNTT&TT 35 Một số ngôn ngữ Script ▪ Java Script: cho trang Web động ▪ Flash: tạo hoạt hình, nhúng audio video vào trang Web ▪ ActiveX: Tạo trang Web tương tác ▪ PHP: tạo nội dung động trang web tương tác với sở liệu ▪ © SoICT 2018 Nhập mơn CNTT&TT 36 Hết CÁM ƠN SỰ THEO DÕI! © SoICT 2018 Nhập môn CNTT&TT 37 ...Nội dung Chương trình Lập trình Các bước lập trình Ngơn ngữ lập trình © SoICT 2018 Nhập mơn CNTT&TT Chương trình Lập trình ▪ Chương trình (Program) dãy lệnh mà máy tính thực... 27 Ngơn ngữ lập trình ▪ Các hệ ngơn ngữ lập trình: ▪ Ngơn ngữ máy (Machine languages) ▪ Hợp ngữ (Assembly languages) ▪ Ngôn ngữ thủ tục bậc cao (High-level procedural languages) ▪ Ngôn ngữ hướng... mơn CNTT&TT 29 Hợp ngữ ▪ Ngơn ngữ lập trình bậc thấp ▪ Chương trình dịch hợp ngữ thành ngơn ngữ máy → assembler © SoICT 2018 Nhập môn CNTT&TT 30 Ngôn ngữ thủ tục bậc cao ▪ Ngôn ngữ thủ tục ▪ FORTRAN,