ted0505
Computational Art & Study
ted0505
전체 방문자
오늘
어제
  • 분류 전체보기 (79)
    • Computer Science ( CS ) (0)
    • Computational Thinking (6)
    • 프로젝트 개발일지 (1)
    • Coding (52)
      • C++ (39)
      • JavaScript (2)
      • P5.JS (7)
      • Python (0)
      • HTML5 (1)
      • CSS (0)
    • Game Engine (18)
      • Unreal Engine 4 (18)
      • Unity (0)
    • Physically Based Rendering (0)
    • FilmMaking (0)
    • 잡다 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ted0505

Computational Art & Study

Coding/C++

< 비야네스트롭스트룹 C++ > 3. C++로 보는 컴퓨터 계산

2021. 9. 22. 18:14

컴퓨터 계산은 주어진 입력을 바탕으로 여러 계산을 통해 출력을 생성하는 과정을 뜻한다.

입력은 ' 인자 ( Argument ) ' 를 나타내고, 출력은 ' 결과 ( Result ) ' 를 나타낸다.

 

< 프로그램을 잘 만들기 위해서는 >

 

프로그램을 잘 만드는 것 : 정확성, 단순성, 효율성

 

정확하고 단순하고 효율적으로 프로그램을 만들고자 사용 할 수 있는 방법이 있다.

  • 추상화 ( abstraction ) : 프로그램 상에서 전화번호부를 정렬하기 위해, C++ 표준 라이브러리의 Sort 알고리즘을 사용하듯이, 알고리즘을 이해하고 있다면 직접 계산을 하지 않고 함수 호출을 통해 간단하게 만들 수 있다.
  • 분할 정복 ( divide and conquer ) : 프로그램으로 사전을 만들 때 데이터를 읽고, 읽은 데이터를 정렬하고, 데이터를 출력하는 세 가지 작업으로 나눌 수 있듯이, 보다 정확하고 단순, 효율적이기 위해 분할하여 작성하는 것이다.

 

< 표현식 > 

표현식이란, 프로그램의 가장 기본적인 구성 요소로서 / 피연산자의 값으로부터 결과 값을 계산한다.

 

< 상수 표현식 >

프로그램에서는 ' 3.141592 ' 라는 값 대신 ' pi ' 와 같은 상수를 사용하듯이, 코드의 가독성 유지를 위해 상수(constant)를 많이 사용한다.

pi 같은 상수의 값을 바꾸어 실수하는 일은 없어야하며, 이와 같은 실수를 막기위해 C++에서는 객체를 초기화한 후에는 새로운 값을 대입 할 수 없게하는 기호 상수를 제공한다. 

 

EX ) constexpr double pi = 3.141592;

 

< 피연산자와 연산자를 활용하여 계산을 하자. >

a < b < c 는 ( a < b ) < c 를 의미하며, 쓸모없는 표현이다.

이처럼 두 비교 연산을 잇달아 사용하지 말자.

 

연산자로 수를 증가시키는 방법은 다음과 같이 세 가지로 표현 할 수 있다.

 

1. ++a

2. a+=1

3. a=a+1

 

어떤 표현식을 사용해야하는가? 

답은 없지만, ++a 가 증가라는 의미를 가장 간접적으로 잘 표현하므로 ++a 를 사용하자.

 

< 더 많은 계산을 하는 구문 >

* 구문 : 전처리 지시어를 제외한 모든 부분을 구문이라 한다.

 

표현식은 여러개의 피연산자와 위에서 언급한 연산자를 통해 결과 값을 계산한다.

그렇다면 어떠한 계산을 반복적으로 수행하기 위해서는 어떻게 해야하는가? 또는 입력 값에 따라 선택을 해야하는 계산이라면?

다른 언어와 마찬가지로 c++에서도 구문이라고 하는 구성 요소를 통해 표현 할 수 있다.

 

1. 선택

 

  • if 구문

/ * c++에는 else if 구문이 없다. 대신, 두 가지 조건을 사용할 때 if구문 두개를 조합하여 대신한다.

 

  • switch 구문

중첩된 if 구문보다 간단하다. 상수의 수가 많으면 if 구문을 여러번 쓰는 것보다 효율적이다.

단, 예상된 입력 값이어야 한다.

 

 

2. 반복

 

  • while 구문

조건이 만족할 때만 반복하기, 거짓이 될 때까지 반복하기

 

  • for 구문

지정된 횟수만큼 반복하기

/ * 간단한 초기값, 조건, 증감 연산자로 이뤄진 경우 for구문을 사용하고, 그 이외에 복잡한 경우 while 구문을 사용한다.

'Coding > C++' 카테고리의 다른 글

[ C++ ] 헤더 파일 / 헤더 가드  (0) 2022.01.12
[ C++ ] 선언과 정의의 분리  (0) 2022.01.12
< 비야네스트롭스트룹 C++ > 4. 유용한 데이터 저장 방식, Vector  (0) 2021.09.22
< 비야네스트롭스트룹 C++ > 2. C++ 의 객체(변수), 타입, 값  (0) 2021.09.21
< 비야네스트롭스트룹 C++ > 1. 문법구조로 보는 C++  (0) 2021.09.21
    'Coding/C++' 카테고리의 다른 글
    • [ C++ ] 선언과 정의의 분리
    • < 비야네스트롭스트룹 C++ > 4. 유용한 데이터 저장 방식, Vector
    • < 비야네스트롭스트룹 C++ > 2. C++ 의 객체(변수), 타입, 값
    • < 비야네스트롭스트룹 C++ > 1. 문법구조로 보는 C++
    ted0505
    ted0505

    티스토리툴바