반응형

IT 프로그래밍 376

[따배시 C++ 8.6] 소멸자 destructor

소멸자란? 소멸자는 return 타입이 없습니다. 그리고 파라미터 또한 없습니다. #include using namespace std; class IntArray { private: int* m_arr = nullptr; int m_length = 0; public: IntArray(const int length_int) { m_length = length_int; m_arr = new int[m_length]; } ~IntArray() { if (m_arr != nullptr) delete[] m_arr; delete[] m_arr; } int size() { return m_length; } } int main() { while (true) { IntArray my_int_arr(10000); del..

[이산수학] 멱집합, 순서가 있는 n쌍, 데카르트 곱

집합은 근본적으로 원소들의 순서가 중요하지 않습니다. {a, b, c} 가 순서가 바뀌어도 별 상관이 없습니다. 또한 집합에서 모든 원소는 서로 다르다라는 것이 중요합니다. 집합 내 원소들이 중복이 발생하면 그 중복은 의미가 없습니다. 원소 a와 원소 b가 같다면 {a, b, c} = {a, c} = { b, c } = { a, a, b, a, b, c, c, c, c } 전부 다 같습니다. 모든 원소는 같은 하나의 원소로 생각하기 때문입니다. N = 자연수의 집합 Z = 정수의 집합 Z+ = 양의 정수의 집합 R = 실수의 집합 R+ = 양의 실수의 집합 C = 복소수의 집합 Q = 유리수의 집합 실수에서 구간, 즉 범위를 나타내는 표기법이 있습니다. -[a, b] = {x | a

[이산수학] 유일성 증명, 가설의 형식화, 증명, 반례

n이 정수이면 n^2 >= n 임을 증명하라 경우에 의한 증명 n = 0, n >= 1 , n = 0 이 성립 - n >=1 일때, 양변을 n으로 곱하면 n^2 >= n 이 성립 - n = 0 이므로 n^2 >= n 이 성립\ 따라서 세 경우 모두에 대해 성립하므로 증명하였다. 유일성 증명 -유일하게 하나의 값만이 주어진 특성을 만족하는 경우를 유일성이라고 하고 이에 대한 증명을 유일성 증명이라고 합니다. 유일성 증명 과정 존재성 : x가 주어진 특성을 가짐을 보인다. 유일성 : 만일 y != x 이면 y는 주어진 특성을 가지지 않음을 보인다. 즉 하나의 원소만이 주어진 특성을 갖는지 보이면 됩니다. 예시 a와 b는 실수이고 a != 0 이라면, ar + b = 0을 만족하는 유일한 실수 r이 존재함을 ..

[이산수학] 전칭예시화 일반화, 존재예시화 일반화

전칭예시화 ∀xP(x)가 주어졌을 때, ∀xP(x)가 true라면 domain에 속하는 임의의 값 c에 대하여 p(c) 가 true임을 보이는데 활용된다. 전칭일반화 ∀xP(x)가 주어졌을 때, domain에 속하는 모든 값 c에 대하여 p(c)가 true이면 ∀xP(x)가 true임을 보일 때 사용하는 추룐 규칙이다. 존재예시화 ∃xP(x)가 주어졌을 때, ∃xP(x)가 true라면, domain 안에 p(c)를 ;true로 하는 값 c가 적어도 하나 있다는 것을 나타내는 추론 규칙이다. 존재일반화 ∃xP(x)가 주어졌을 때, 특정값 c에 대하여 p(c)가 true이면 ∃xP(x)가 true라는 추론규칙이다. 예시 다음 가정이 "Maria has taken a course in computer scie..

[이산수학] 중첩된 한정자

중첩된 한정자 ∀x ∀y P(x,y) 임의의 양의 두 실수의 합은 양수이다. L(x, y)를 'x가 y를 사랑한다' 라고 하자. 다음 문장을 기호로 표현. 모든 사람은 어떤 사람을 사랑한다. ∀ x ∃ y L(x, y) -모든 사람 x에 대하여, x가 y를 사랑하는 어떤 사람 y가 존재한다. ∃x ∀y L(x, y) -어떤 사람 x가 존재하는데, 모든 y에 대해서 x가 y를 사랑한다. -어떤 사람은 모든 사람을 사랑한다. 한정 기호의 순서는 중요합니다. 한정 기호의 순서를 바꾸면 의미 또한 바뀝니다. ∀x ∀y P(x, y) ∀y ∀x P(x, y) ∀x ∃y P(x,y) ∃x ∀y P(x,y) ∃x ∃x P(x,y) ∃y ∃x P(x,y) 모든 x에 대하여 P(x,y)를 true로 하는 적어도 하나의 ..

[이산수학] 존재한정자

존재한정자 ∃ ( there exist)의 의미로 e를 대문자로 표현하고 좌우로 바꾼 것입니다. 따라서 어떤 x에 대해서 ∃xP(x) : 도메인 D의 어떤 x에 대해서 하는 것입니다. 명제 x의 p(x)가 참이 되도록 하는 domain에 속하는 적어도 하나의 값이 존재하면 ∃x는 참이 되는 것입니다. 존재한정자의 의미는 Domain의 모든 원소를 x1, x2, ... xn으로 나열할 수있다면 ∃xP(x)는 다음과 동일합니다. 구속 변수와 자유 변수 구속 변수와 자유 변수 변수 X에 QUANTIFIER가 적용되거나 특정 값이 할당되면 x를 구속변수라고 합니다. 변수 x에 quantifier가 적용되지 않거나 특정 값이 할당되지 않으면 이를 자유변수라고 합니다.

[이산수학] 시스템 명세, 명제적 동치, 논리적 동치

시스템 명세란? 시스템 공학자나 소프트웨어 공학자는 영어와 같은 자연언어로 요구 사항을 접수 받아 논리에 기반한 정확하고 모호하지 않은 명세서를 작성합니다. 일관성있는 명세가 되기 위해서는 각 명제가 참 이 되도록 명제 변수에 진리 값을 할당할 수 있다면, 명제들의 목록은 일관성이 있다고 봅니다. 즉 시스템 명세는 모순이 나오게 하는 상호 배치되는 요구 사항을 포함해서는 안됩니다. 예시 - 진단 메세지는 버퍼에 저장되거나 또는 재전송된다. - 진단 메세지는 버퍼에 저장되지 않는다. - 진단 메세지는 버퍼에 저장된다면, 재전송된다. 풀이 p : "진단 메세지는 버퍼에 저장된다." q : "진단 메세지는 재전송된다." 시스템 명세 문장들 - p U q - ~ p - p -> q p가 거짓이고 q가 참이면 위..

[따배시 C++ 8.2] 캡슐화, 접근 지정자, 접근 함수

예시코드 #include #include #include using namespace std; struct Date { int m_month; int m_day; int m_year; }; int main() { Date today; today.m_month = 8; today.m_day = 4; today.m_year = 2024; return 0; } 이렇게 struct를 사용할 수 있지만 class로 바꿀 수도 있습니다. 하지만 class로 바꿀 때 int main에 있는 것들은 에러가 납니다. 왜냐하면 public:을 사용하지 않았기 때문입니다. public: 은 acces specifier라고 부릅니다. 즉 접근지정자라고 부릅니다. class 안에 지정된 것이 밖에서 지정할 수 있는지 없는지를 ..

IT 프로그래밍 2024.04.08
반응형