Bài giảng Lập trình nâng cao - Chương 9: Assessment

52 23 0
Bài giảng Lập trình nâng cao - Chương 9: Assessment

Đ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

Bài giảng Lập trình nâng cao - Chương 9: Assessment cung cấp cho người học các kiến thức: Lớp (Class), dữ liệu và hàm, đánh giá SimpleAI (assessment), máy chơi với máy, đóng gói mô-đun Assessment, hàm khởi tạo, danh sách khởi tạo,... Mời các bạn cùng tham khảo.

Assessment - Lớp = Dữ liệu + Hàm; Sắp xếp https://github.com/tqlong/advprogram Nội dung ● Lớp (Class) = Dữ liệu + Hàm ○ Đóng gói mơ-đun Guesser ● Đánh giá SimpleAI (assessment) ○ Máy chơi với máy ○ Đóng gói mô-đun Assessment ● Kỹ thuật ○ ○ ○ ○ class Hàm khởi tạo, danh sách khởi tạo Hàm public, hàm private, hàm const Sắp xếp với sort Đặt vấn đề: đánh giá SimpleAI Một số câu hỏi cho SimpleAI ● Các tập từ vựng khác có cho kết khác ? Nên chọn tập từ vựng ? ● Các thay đổi thuật tốn đốn kí tự có thực giúp việc đốn từ xác ? Cần có đánh giá định lượng (số hố) ● Giúp trả lời rõ câu hỏi ● Lựa chọn chương trình đốn từ xác Đặt vấn đề: đánh giá SimpleAI Cần suy nghĩ ● Cách đánh giá SimpleAI ○ Cách tính điểm ● Cách tổ chức chương trình ○ Đánh giá tự động tập từ vựng ○ Cho phép máy tự động chơi nhiều lần ghi chơi (từ cần đoán, số lần đoán, số chữ đoán …) l Chung riêng SimpleAI có mơ-đun ● Giao diện, Util, Draw ● Guesser ○ Chương trình cần biết khai báo getNextGuess() → public ○ Bản thân cài đặt getNextGuess() hàm khác (độ thơng minh thuật tốn), chương trình khơng cần biết → private Có thể tách guesser liệu liên quan thành mơ-đun riêng Phân tích chức guesser Các chức ● Bắt đầu ván chơi newGame() với độ dài từ cho trước ● Đoán ký tự getNextGuess() ● Nhận trả lời chủ trò receiveHostAnswer() Phía ngồi (chủ trò, hệ thống) cần biết chức guesser bên ● guesser đốn khơng cần biết ● guesser quản lý liệu không cần biết Phân tích chức guesser HOST GUESSER newGame(4) getNextGuess() = ‘a’ hand receiveHostAnswer(‘a’, “-a ”) -a getNextGuess() = ‘n’ receiveHostAnswer(‘n’, “ n-”) -ansecretWord incorrectGuess previousGuesses stop Class ● C++ hỗ trợ chế đóng gói hàm liệu ● Ví dụ: tệp MyClass.h class MyClass { private: int value; bool checkNewValue(int newValue); public: MyClass(); void setValue(int newValue); int getValue(); }; Các đối tượng thuộc lớp MyClass có liệu kiểu nguyên value hàm dành riêng cho đối tượng lớp, bên khơng dùng hàm “của cơng”, bên ngồi gọi Cài đặt hàm MyClass.cpp Thêm phạm vi MyClass:: vào trước tên hàm #include "MyClass.h" MyClass::MyClass() { value = 0; } bool MyClass::checkNewValue(int newValue) { return newValue >= 0; } void MyClass::setValue(int newValue) { if (checkNewValue(newValue)) value = newValue; } int MyClass::getValue() { return value; } Sử dụng lớp MyClass obj; cout

Ngày đăng: 15/05/2020, 22:49

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

Tài liệu liên quan