이산수학 집합 관계 프로그램
- 최초 등록일
- 2010.01.08
- 최종 저작일
- 2008.06
- 15페이지/ 한컴오피스
- 가격 1,000원
소개글
주어진 집합을 어떻게 비트문자열로 표현하는가를 보았다. 예를 들면, S₉ 의 부분집합
{ 1,5,6,8,9 } 은 다음 비트 문자열로 표현될 수 있다.
프로그램소개
각각의 기능들을 하는 함수들과, 변수를 선언하였다.
메인함수
메인 함수에서는 부분집합 A와 B를 입력받는 일을 수행하고, 메뉴를 출력해 5가지 기능 중에서 원하는 메뉴를 선택할 수 있도록 구성되어있다.
a. Sn 의 두 부분집합 A와 B를 받아들이고 그들의 비트 문자열을 결정하며, 그들을 사용하여 AUB을 계산하는 알고리즘을 설계하라.
* 숫자를 입력받고, 비트배열로 변형하는 부분.
aBitarray 함수에서는 부분집합 A 의 원소들을 비트 문자열로 변환한다. bBitarray함수 역시 부분집합 B의 원소들을 비트 문자열로 변환하는 일을 한다.
*AUB을 계산하는 알고리즘
abunion 함수에서는 AUB를 구하는데 ||(or 연산자) 를 이용해서 구할 수 있다. ||(or 연산자) 는 연산자의 왼쪽값과 오른쪽 값의 or 연산을 수행하기 때문에, 부분집합 A와 부분집합 B의 or 연산을 하면 AUB를 구할 수 있다.
b. {a}와 유사한 방법으로 A∩B와 A×B를 계산하는 알고리즘을 설계하라.
*A∩B을 계산하는 알고리즘
abintersection 함수는 A∩B 를 구하는 기능을 하는데, 교집합은 &&(and 연산자) 를 이용해서 구할 수 있다. && (and 연산자) 는 연산자의 왼쪽값과 오른쪽 값의 And 연산을 수행하기 때문에, &&(and 연산자) 를 이용하면 쉽게 A∩B 를 구할 수 있다.
c. 주어진 집합 A⊆Sn 와 정수 i⊆Sn 에 대하여 Sn 의 비트 문자열 표기법을 사용하여 i∈A인지를 결정하는 알고리즘을 설계하라.
abcd 함수는 값을 입력받아서 그 값이 부분집합 A에 포함되는지 알아보기 위한 함수이다. 입력받는 값을 비트문자열로 바꾸고, 만약 그 값이 있다면 check 를 1로 만들어 check가 1일 경우는 입력 받은 값이 부분집합 A에 속한다고 출력하였다.
컴파일 실행환경
visual 6.0
참고 자료
없음