1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo lập trình hướng đối tượng kc263 đề tài mạch kiểm tra chẳn lẻ 4 bit

13 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Tạo file cho chương trình...73... Mô tả chức năng Mạch kiểm tra chẵn lẻ 4 bit là một mạch điện tử được sử dụng để xác định tính chẵn hoặc lẻ của một số nhị phân 4 bit.. Mạch này thường s

Trang 1

ĐẠI HỌC CẦN THƠTRƯỜNG BÁCH KHOA

KHOA ĐIỆN TỬ-VIỄN THÔNG*******

Trang 2

1 Tạo project mới 6

2 Tạo file cho chương trình 7

3 Viết code cho file 7

4 Kiểm tra lỗi 9

5 Chạy chương trình 9

6 Kết quả 11

VI KẾT LUẬN 11HẾT

Trang 3

I THIẾT KẾ 1 Mô tả chức năng

Mạch kiểm tra chẵn lẻ 4 bit là một mạch điện tử được sử dụng để xác định tính chẵn hoặc lẻ của một số nhị phân 4 bit Mạch này thường sử dụng cáccổng logic để phân tích số lượng bit 1 trong một từ nhị phân và xác định xem tổng số bit 1 là chẵn hay lẻ.

Mạch hoạt động như sau:

 Khi một từ nhị phân 4 bit được đưa vào mạch, mạch sẽ phân tích vàđưa ra kết quả là 1 nếu tổng số bit 1 là chẵn (đối với mạch chẵn) hoặc 0 nếu tổng số bit 1 là lẻ (đối với mạch chẵn)

 Đối với mạch lẻ, kết quả sẽ ngược lại: 1 nếu tổng số bit 1 là lẻ và 0 nếu tổng số bit 1 là chẵn.

Trang 4

IV VIẾT CHƯƠNG TRÌNH

Gồm 2 file: file main.cpp và file Gate.h

#include "Gate.h"int main() { char stopme; //Setting labels

ExOrGate exor1 (" EXOR1 "); ExOrGate exor2 (" EXOR2 "); ExOrGate exor3 (" EXOR3 "); Connector c1 (&exor1, &exor3); Connector c2 (&exor2, &exor3); /*exor1.setNextPin(1);

exor1.setNextPin(0); exor2.setNextPin(1); exor2.setNextPin(1); */

Trang 5

// The output shows order of operators

cout << " Ngo vao 1: "<< exor1.getPinA()<< endl; cout << " Ngo vao 2: "<< exor1.getPinB()<< endl; cout << " Ngo vao 3: "<< exor2.getPinA()<< endl; cout << " Ngo vao 4: "<< exor2.getPinB()<< endl; cout << " Ngo ra EXOR : "<< exor3.getOutput()<< endl; cin >> stopme; //holds open window under some conditions return 0;

#ifndef GATE_H_#define GATE_H_#include <string.h>#include <iostream>using namespace std;class LogicGate {public:

LogicGate(string n){ label = n;

}

string getLabel(){ return label; }

bool getOutput(){

output = performGateLogic(); return output;

}

virtual bool performGateLogic(){

cout << "ERROR! performGateLogic BASE" << endl; return false;

}

virtual void setNextPin(bool source) {

cout << "ERROR! setNextPin BASE" << endl; }

string label; bool output;};

Trang 6

class BinaryGate : public LogicGate {public:

BinaryGate(string n) : LogicGate(n) { pinATaken = false;

pinBTaken = false; }

return pinA; }

return pinB; }

virtual void setNextPin(bool source) { if (pinATaken == false) {

pinA = source;

this->pinATaken = true; }

else if (pinBTaken == false) { pinB = source;

this->pinBTaken = true; }

}private:

bool pinA, pinATaken, pinB, pinBTaken;};

class ExOrGate : public BinaryGate {public:

ExOrGate(string n) : BinaryGate(n) {}; virtual bool performGateLogic() { bool a = getPinA();

bool b = getPinB();

Trang 7

if ((a == 1 && b == 0) || (a==0 && b==1) ) { return true;

} else {

return false; }

}};

class Connector{public:

Connector(LogicGate *fgate, LogicGate *tgate) { fromgate = fgate;

togate = tgate;

tgate->setNextPin(fromgate->getOutput()); }

LogicGate *getFrom() { return fromgate; }

LogicGate *getTo() { return togate; }

LogicGate *fromgate, *togate;};

#endif /* GATE_H_ */

Trang 8

V CÁC BƯỚC THỰC HIỆN

1 Tạo project mới

Mở CODE COMPOSER STUDIO lên chọn File → New → Project như

hình bên dưới

Trong hộp thoại New Project chọn C/C++ → C++Project →Next

Đặt tên cho Project, tại mục Executable → Empty Project và mục

Toolchains → MinGW GCC nhấn Finish để hoàn tất

Trang 9

2 Tạo file cho chương trình

Tiến hành tạo File Gate.h Bấm chuột phải vào chọn New → Header

File, đặt tên Gate.h và nhấn Finish.

Tiếp tục tạo File main.cpp Bấm chuột phải vào chọn New → Source

File, đặt tên main.cpp và nhấn Finish.

3

Viết code cho file

Nhập code cho file main.cpp

Nhập code cho file Gate.cpp

Trang 11

4 Kiểm tra lỗi

Nhấp chuột phải vào lthdt và chọn Build Project kiểm tra chương trình

có lỗi hay không Nếu lỗi hãy chỉnh sửa và tiếp tục kiểm tra đến khi hết lỗi.

5 Chạy chương trình

Trang 12

Tại mục C/C++ Application chọn lthdt Debug sau đó tại mục main chọn

Browser ở phần C/C++ Application để lấy địa chỉ chứa file chạy của lthdt.

Chọn file lthdt.exe theo đường dẫn Chọn Open → Run

Trang 13

6 Kết quả

Nhập ngõ vào nhị phân để kiểm tra ngõ ra chẳn lẻ.

NHẬN XÉT: Mạch chạy đúng theo yêu cầu, kiểm tra được tính chẳn lẻ

của đầu vào (input).

Ngày đăng: 09/06/2024, 17:51

w