Tag procedural programming
Tìm kiếm bài viết trong Tag procedural programming
[Procedural Programming + Ada] Bài 25 - Console Tic-Tac-Toe App (tiếp theo)
Bây giờ chúng ta sẽ bổ sung thêm logic xử lý bước đi cuối cùng cho Computer;Và với thời lượng trung bình của các bài viết mà mình đang áp dụng thì rất có thể chúng ta sẽ cần thêm vài bài viết nữa để h
0 0 18
[Procedural Programming + Ada] Bài 26 - Console Tic-Tac-Toe App (tiếp theo)
Chúng ta đang muốn điều hướng User_Move ở bước đi tiếp theo tránh khỏi các bước tiên đoán được là sẽ tạo ra Double_Threat. Vì vậy nên sau khi kiểm tra thấy có nhiều Double_Threat từ User thì lúc này c
0 0 16
[Procedural Programming + Ada] Bài 27 - Console Tic-Tac-Toe App (kết thúc)
Và đây là code hoàn thiện của Redirect_User_Concern; giúp bổ sung logic điều hướng bước đi tiếp theo mà User phải tạm dừng ý định tạo Double_Threat để ngăn chặn Computer thắng sớm hơn. Bây giờ chúng t
0 0 14
[Procedural Programming + Ada] Bài 22 - Console Tic-Tac-Toe App (tiếp theo)
Trong số các thủ tục được gọi ở lượt di chuyển của Computer thì chúng ta chỉ còn Get_Computer_Move; và Update_Computer_Set; là các thủ tục mới. Tuy nhiên Update_Computer_Set; có logic tương đồng với U
0 0 21
[Procedural Programming + Ada] Bài 23 - Console Tic-Tac-Toe App (tiếp theo)
Để bổ sung logic ưu tiên chặn bước di chuyển thắng cuộc cho Computer thì chúng ta có thể tư duy ở cấp độ Imperative đó là sử dụng cấu trúc lệnh rẽ nhánh để lựa chọn giữa bước đi chặn USER_WIN và bước
0 0 20
[Procedural Programming + Ada] Bài 24 - Console Tic-Tac-Toe App (tiếp theo)
Như vậy là để Computer có thể cân bằng kết quả ván cờ thì chúng ta cần bổ sung thêm logic chặn bước đi tạo cơ hội kép của User. Trong trường hợp này thì procedure mới sẽ có mức độ ưu tiên thấp hơn so
0 0 26
[Procedural Programming + Ada] Bài 21 - Console Tic-Tac-Toe App (tiếp theo)
Thủ tục cuối cùng trong lượt di chuyển của User là cập nhật trạng thái của ván cờ Update_Match_Status;. Thủ tục này cũng sẽ được sử dụng lại ở lượt di chuyển của Computer giống như Put_Chess_Board;.
0 0 18
[Procedural Programming + Ada] Bài 20 - Console Tic-Tac-Toe App (tiếp theo)
Thao tác cập nhật User_Set sau khi người dùng nhập vào bước đi muốn thực hiện trên bàn cờ chỉ đơn giản là chúng ta sẽ di chuyển giá trị User_Move từ mảng Common_Set tới vị trí tương ứng trong mảng Use
0 0 16
[Procedural Programming + Ada] Bài 19 - Console Tic-Tac-Toe App (tiếp theo)
Bộ đôi thủ tục tiếp theo là Put_Chess_Board; và Get_User_move; lại rất tương đồng với đoạn xử lý Put_Symbol_Menu; và Get (User_Symbol); trước đó. Khởi đầu mỗi ván cờ, chúng ta sẽ có một bảng Tic-Tac-T
0 0 19
[Procedural Programming + Ada] Bài 17 - Console Tic-Tac-Toe App (tiếp theo)
Chúng ta sẽ khởi đầu code thật tự nhiên với procedure Main và các comment về những bước cần thực hiện trong code. Scan lựa chọn nhập liệu của User và lưu lại trạng thái User_Symbol.
0 0 19
[Procedural Programming + Ada] Bài 18 - Console Tic-Tac-Toe App (tiếp theo)
Những dữ liệu trạng thái mà chúng ta cần quản lý trong phần model bao gồm các tập giá trị thể hiện các bước đi của User và Computer, và các ô trống còn lại trên bảng. Thêm vào đó, một loại dữ liệu trạ
0 0 27
[Procedural Programming + Ada] Bài 16 - Console TicTacToe App (mở đầu)
Như vậy là chúng ta đã điểm qua các công cụ chính mà Ada cung cấp ở cấp độ cú pháp của một ngôn ngữ đặt nền móng trọng tâm trên Procedural Programming. Và so với C thì thư viện tiêu chuẩn của Ada cũng
0 0 13
[Procedural Programming + Ada] Bài 15 - Pre-defined Libraries & Package Manager
Có một sự thật khá thú vị về Ada - đó là không có bất kỳ ai hay bất kỳ tổ chức nào thực sự sở hữu ngôn ngữ này. Và tổ chức DoD của Mỹ thì lại chỉ nhìn nhận Ada như một bản cấu hình tiêu chuẩn để xây d
0 0 17
[Procedural Programming + Ada] Bài 14 - Multi-tasking & Interfacing with C
Nhóm công cụ cuối cùng ở cấp độ cú pháp ngôn ngữ của Ada mà chúng ta sẽ tìm hiểu là cú pháp định nghĩa tác vụ song song và cú pháp hỗ trợ tích hợp trực tiếp với ngôn ngữ C. Một tác vụ task về cơ bản l
0 0 23
[Procedural Programming + Ada] Bài 13 - Contracts & Exceptions
Cấu hình ngôn ngữ của Ada có hỗ trợ một dạng thiết kế có tên là Design by Contract - có thể được hiểu là thiết kế phần mềm dựa trên các điều kiện ràng buộc đối với dòng dữ liệu trao đổi giữa các sub-p
0 0 13
[Procedural Programming + Ada] Bài 12 - Overloading Sub-programs & Generic Types
Nói riêng về đặc tính Đa Hình Polymorphism, đây không phải là một đặc trưng riêng của OOP mà là một trong số những khái niệm chung phổ biến của lĩnh vực khoa học máy tính nói chung. Và việc biểu thị P
0 0 14
[Procedural Programming + Ada] Bài 10 - Type'Class & Overriding Primitives
Cùng với tagged record thì phiên bản Ada 95 còn bổ sung thêm thuộc tính Class và định nghĩa Type'Class là một kiểu dữ liệu trừu tượng - còn được gọi với một cái tên khác là lớp tổng quan Classwide - b
0 0 14
[Procedural Programming + Ada] Bài 11 - Package Privacy & Type Encapsulation
Một trong số những nguyên lý quan trọng của lập trình module mà sau này được mô hình lập trình hướng đối tượng OOP kế thừa lại và mở rộng, đó là tính năng đóng gói Encapsulation. Tính năng này được hỗ
0 0 15
[Procedural Programming + Ada] Bài 9 - Tagged Records & Inheritance
Câu chuyện của tagged record là vào những năm 1990 thì người ta đã xây dựng xong các kiến trúc vi xử lý hỗ trợ mô phỏng object trong bộ nhớ đệm và điều này đã tạo tiền đề cho mô hình lập trình hướng đ
0 0 17
[Procedural Programming + Ada] Bài 8 - Record Defaults & Access Pointers
Mặc dù việc thiết lập giá trị mặc định cho các trường dữ liệu khi khởi tạo record được Ada hỗ trợ ở cấp độ cú pháp của ngôn ngữ. Tuy nhiên ở bài viết giới thiệu về record trước đó, mình đã tránh đề cậ
0 0 18
[Procedural Programming + Ada] Bài 6 - Enums & Records
Như vậy là chúng ta đã điểm qua các kiểu dữ liệu đơn nguyên được định nghĩa sẵn bởi Ada và một thao tác rất hữu ích khi muốn tạo ràng buộc biên lưu trữ nhỏ hơn cho một biến bất kỳ. Đó là thao tác định
0 0 17