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 2017 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 2017 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 2017 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 2017 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 2017 Nhập mơn CNTT&TT Bước Đặc tả chương trình © SoICT 2017 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 2017 Nhập mơn CNTT&TT Bước 2: Thiết kế chương trình © SoICT 2017 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 2017 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 2017 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 2017 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 2017 Nhập mơn CNTT&TT 24 Bước 6: Bảo trì chương trình © SoICT 2017 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 2017 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 2017 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 2017 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 2017 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 2017 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 2017 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 2017 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 2017 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 2017 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 2017 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 2017 Nhập mơn CNTT&TT 36 Hết CÁM ƠN SỰ THEO DÕI! © SoICT 2017 Nhập môn CNTT&TT 37 ... SoICT 2017 Nhập mơn CNTT&TT 16 Ví dụ mã giả (pseudocode) START Khởi tạo Tổng tiền = WHILE (còn hàng giỏ) Nhập Tên mặt hàng Nhập Giá mặt hàng Nhập Số lượng mặt hàng Tiền mặt hàng = Giá mặt hàng *... END © SoICT 2017 Nhập mơn CNTT&TT 17 Ví dụ lưu đồ START Khởi tạo Tổng tiền = False Còn hàng giỏ ? True - Nhập Tên giá mặt hàng - Nhập SL mặt hàng Tính Tiền mặt hàng = Giá mặt hàng x Số lượng True... IF (Giá mặt hàng >= 100.000 đồng) THEN Thuế = Tiền mặt hàng * 10% ELSE Thuế = Tiền mặt hàng * 12% ENDIF Tiền mặt hàng sau thuế = Tiền mặt hàng + Thuế Cộng Tiền mặt hàng sau thuế vào Tổng tiền