목차
이산수학_report#2-2.hwp ………………………… 1p
[문제2]
◉예제데이터와 실험결과
◉코드 설명
◉느낀점
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[Debug]
[report2자료들]
이산수학2.cpp
이산수학2.ncb
이산수학2.sln
이산수학2.suo
이산수학2.vcproj
이산수학2.vcproj.Xnote-PC.Xnote.user
파일 27, 폴더 2
1.37MB
[문제2]
◉예제데이터와 실험결과
◉코드 설명
◉느낀점
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[Debug]
[report2자료들]
이산수학2.cpp
이산수학2.ncb
이산수학2.sln
이산수학2.suo
이산수학2.vcproj
이산수학2.vcproj.Xnote-PC.Xnote.user
파일 27, 폴더 2
1.37MB
본문내용
이산수학_report#2-2.hwp
[문제2]
≪ 글 - 그림 파일 ≫
◉예제데이터와 실험결과
setA를 16진수 0xD6, setB를 16진수 0xAE로 초기화하고 비트열로 나타내고
그에 따른 합집합, 교집합, 여집합, 배타적-합집합, 차집합, A B 가 서로소인지,
부분집합인지를 알 수 있어야 한다.
≪ 글 - 그림 파일 ≫
그림(2)
그림(2)에서 볼 수 있듯이, A와 B에 따른 정확한 출력 결과를 얻을 수 있다.
◉코드 설명
우선 unsigned char 이라고 선언을 하면, 부호가 없는 정수 범위인 0~255까지 선언을 하게 되는 것인데 #define EL_TYPE unsigned char로 선언함으로써
EL_TYPE가 unsigned char의 자료형을 대신하도록 정의가 내려진다.
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
이산수학2.cpp
#include
#define EL_TYPE unsigned char
int printSetBinary (EL_TYPE set); //set의 내용을 비트 형태로 표준 출력
int printSetElement (EL_TYPE *elemList, EL_TYPE subSet);
//subSet의 실제 원소를 elemList를 참조하여 표준 출력
EL_TYPE SetAND (EL_TYPE setA, EL_TYPE setB); // 교집합
EL_TYPE SetOR (EL_TYPE setA, EL_TYPE setB); // 합집합
EL_TYPE SetNOT (EL_TYPE setA); // 여집합
EL_TYPE SetXOR (EL_TYPE setA, EL_TYPE setB); // 배타적-합집합
EL_TYPE SetSubtract (EL_TYPE setA, EL_TYPE setB); // 차집합 setA-setB
int IsDisjoint (EL_TYPE setA, EL_TYPE setB); // setA, setB가 서로 소인지 검사
int IsSubSet (EL_TYPE setA, EL_TYPE setB); // setB가 setA의 부분집합인지 검사
int main(void)
{
EL_TYPE elemList[8] = { 1, 2, 3, 4, 5, 6, 7, 8};
EL_TYPE setU = 0xFF; // 1111 1111
EL_TYPE setA = 0xD6; // 1101 0110
EL_TYPE setB = 0xAE; // 1010 1110
EL_TYPE andAB = SetAND (setA, setB);
EL_TYPE orAB = SetOR (setA, setB);
EL_TYPE notA = SetNOT (setA);
EL_TYPE notB = SetNOT (setB);
EL_TYPE xorAB = SetXOR (setA, setB);
EL_TYPE subtractAB = SetSubtract (setA, setB);
EL_TYPE subtractBA = SetSubtract (setB, setA);
printf("A의 비트열: ");
printSetBinary (setA);
printf("B의 비트열: ");
printSetBinary (setB);
printf("A의 실제 원소: ");
printSetElement (elemList, setA);
printf("B의 실제 원소: ");
printSetElement (elemList, setB);
printf("A와 B의 교집합: ");
printSetElement (elemList, andAB);
printf("A와 B의 합집합: ");
printSetElement (elemList, orAB);
printf("A의 여집합: ");
printSetElement (elemList, notA);
printf("B의 여집합: ");
printSetElement (elemList, notB);
printf("A와 B의 배타적-합집합: ");
printSetElement (elemList, xorAB);
printf("차집합 A- B : ");
printSetElement (elemList, subtractAB);
printf("차집합 B- A : ");
printSetElement (elemList, subtractBA);
printf("A와 B가 서로소가 맞으면 1, 틀리면 0 : %d \n", IsDisjoint (setA, setB));
printf("B가 A의 부분집합이 맞으면 1, 틀리면 0 : %d \n", IsSubSet (setA, setB));
return 0;
}
[문제2]
≪ 글 - 그림 파일 ≫
◉예제데이터와 실험결과
setA를 16진수 0xD6, setB를 16진수 0xAE로 초기화하고 비트열로 나타내고
그에 따른 합집합, 교집합, 여집합, 배타적-합집합, 차집합, A B 가 서로소인지,
부분집합인지를 알 수 있어야 한다.
≪ 글 - 그림 파일 ≫
그림(2)
그림(2)에서 볼 수 있듯이, A와 B에 따른 정확한 출력 결과를 얻을 수 있다.
◉코드 설명
우선 unsigned char 이라고 선언을 하면, 부호가 없는 정수 범위인 0~255까지 선언을 하게 되는 것인데 #define EL_TYPE unsigned char로 선언함으로써
EL_TYPE가 unsigned char의 자료형을 대신하도록 정의가 내려진다.
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
이산수학2.cpp
#include
#define EL_TYPE unsigned char
int printSetBinary (EL_TYPE set); //set의 내용을 비트 형태로 표준 출력
int printSetElement (EL_TYPE *elemList, EL_TYPE subSet);
//subSet의 실제 원소를 elemList를 참조하여 표준 출력
EL_TYPE SetAND (EL_TYPE setA, EL_TYPE setB); // 교집합
EL_TYPE SetOR (EL_TYPE setA, EL_TYPE setB); // 합집합
EL_TYPE SetNOT (EL_TYPE setA); // 여집합
EL_TYPE SetXOR (EL_TYPE setA, EL_TYPE setB); // 배타적-합집합
EL_TYPE SetSubtract (EL_TYPE setA, EL_TYPE setB); // 차집합 setA-setB
int IsDisjoint (EL_TYPE setA, EL_TYPE setB); // setA, setB가 서로 소인지 검사
int IsSubSet (EL_TYPE setA, EL_TYPE setB); // setB가 setA의 부분집합인지 검사
int main(void)
{
EL_TYPE elemList[8] = { 1, 2, 3, 4, 5, 6, 7, 8};
EL_TYPE setU = 0xFF; // 1111 1111
EL_TYPE setA = 0xD6; // 1101 0110
EL_TYPE setB = 0xAE; // 1010 1110
EL_TYPE andAB = SetAND (setA, setB);
EL_TYPE orAB = SetOR (setA, setB);
EL_TYPE notA = SetNOT (setA);
EL_TYPE notB = SetNOT (setB);
EL_TYPE xorAB = SetXOR (setA, setB);
EL_TYPE subtractAB = SetSubtract (setA, setB);
EL_TYPE subtractBA = SetSubtract (setB, setA);
printf("A의 비트열: ");
printSetBinary (setA);
printf("B의 비트열: ");
printSetBinary (setB);
printf("A의 실제 원소: ");
printSetElement (elemList, setA);
printf("B의 실제 원소: ");
printSetElement (elemList, setB);
printf("A와 B의 교집합: ");
printSetElement (elemList, andAB);
printf("A와 B의 합집합: ");
printSetElement (elemList, orAB);
printf("A의 여집합: ");
printSetElement (elemList, notA);
printf("B의 여집합: ");
printSetElement (elemList, notB);
printf("A와 B의 배타적-합집합: ");
printSetElement (elemList, xorAB);
printf("차집합 A- B : ");
printSetElement (elemList, subtractAB);
printf("차집합 B- A : ");
printSetElement (elemList, subtractBA);
printf("A와 B가 서로소가 맞으면 1, 틀리면 0 : %d \n", IsDisjoint (setA, setB));
printf("B가 A의 부분집합이 맞으면 1, 틀리면 0 : %d \n", IsSubSet (setA, setB));
return 0;
}
추천자료
- 이산수학 2장 연습문제
- [이산수학]고등학교 이산수학의 성격, 고등학교 이산수학의 목표, 고등학교 이산수학의 인식,...
- [고등학교][이산수학]고등학교 이산수학의 특성, 고등학교 이산수학의 지도영역, 고등학교 이...
- 고등학교 이산수학의 특징과 배경, 고등학교 이산수학의 내용체계와 영역별내용, 고등학교 이...
- 이산수학, c언어, 여집합, 교집합, 합집합, 차집합, 서로소 등등...
- 수학과교수학습지도안중1집합
- 수학학습지도안중1집합사이포함관계!
- [이산수학 과제] 03.char형 배열로 표현된 관계행렬이 주어졌을 때 반사, 비 반사, 대칭, 반 ...
소개글