VXA로 루비하자 - 1 - 계산

by 김공타 posted Apr 06, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요... 오랜만에 돌아왔습니다...ㅠㅠ

 

꼭 뭔갈 하려고 하면 다른 할일들이 왜이리 많아지는지...

 

마치 다이어트를 결심하면 밥먹자는 약속이 많아지는것처럼요 ㅋㅋ

 

넘나 슬픈것...ㅠㅠㅋ

 

암튼

 

실행 환경을 구축해봤으니

 

이젠 뭐라도 뚱땅뚱땅 거리고 싶어서 손이 근질근질 하지 않습니까??? 헤헤

 

자 컴퓨터가 뭘까요???

 

computer = compute(계산하다) + r(행위를 뜻하는 접미사) 

 

즉!

 

컴퓨터는 계산하는 도구 입니다

 

우리말로는 셈틀(셈하는 틀)이라고 하죠.

 

이제부터 VXA를 켜시고 함께 이것 저것 계산을 해봅시다.

 

계산을 하기 위해서는 필요한 것이 무엇일까요?

 

연산자와 피연산자 입니다.(그냥 '식' 이라고 하면 됩니다)

 

연산자는 연산(계산)을 하기위한 기호(+, - , *, / 등등)

 

피(被)연산자는 연산(계산)이 되는 수(모든 숫자)를 말합니다.

(1,10.0, 333, 55.5, -1.0, -33, -55.55 등등등)

 

자 따라해 봅시다

 

160405_1.PNG

 

다음과 같이 

 

puts 1 + 1 

 

라고 써주시고 실행을 해봅시다.

 

여기서 'puts' 이라는 단어는 컴퓨터에 출력하기 위한 명령어 입니다(메소드 라고 합니다)

 

'1 + 1' 는 우리가 계산하고자 하는 피연산자 + 연산자 조합의 명령어 입니다.

 

자 그럼 결과는 뭐가 나올까요?

 

창문? 귀요미? 야근????? 

 

160405_2.PNG

 

 

아니죠! ㅋ;

 

자 이렇게 컴퓨터는 이과스럽게 너무나 당연한 답을 내놓습니다-_-;

 

컴퓨터는 이런 모든 사칙연산을 해낼 수 있습니다!

 

더하기 빼기 곱하기!! 

 

그런데.... 무지무지 중요한 부분이 있습니다.

 

바로 나누기!^-^

 

자 10 나누기 3 을 하면 뭐가 나올까요?

 

루비에서는 3이 나옵니다...

 

엥? 3.333333333333333333333333...... 아닌가요?

 

한번 해보세요 3이 나올껍니다.

 

그럼 계산이 틀린건데요? -_-? 아아...

 

여기서 중요한 개념이 하나 들어갑니다.

 

루비에서는 기본적으로 숫자를 '정수'와 '실수'로 분류합니다(넘나 머리 아픈것)

 

루비에서 인식하는 정수라는 것은 자연수, 0 ,마이너스(-)가 붙은 자연수 를 말하고

 

루비에서 인식하는 실수는 정수, 복소수를 제외한 그 외의 모든 수를 말합니다(소숫점이 있는 수는 모두 실수라고 보셔도 됩니다.)

 

우리가 스크립트 창에 숫자를 쓰고 실행을 하면 루비는 그 숫자를 정수인지 실수인지 판단을 합니다

 

그리고 연산을 시작합니다.

 

만약 정수끼리의 연산이면 정수범위까지의 결과만 나오고 실수가 하나라도 있으면 실수범위까지의 결과가 나옵니다.

 

그럼 3.3333.... 이 나오려면 어떻게 해야 하느냐?  10이나 3중에 하나를 실수로 바꾸면 됩니다.

 

바꾸는 법은? 숫자 하나는 소수점 형태로 바꿔주시면 되는데 그냥 숫자 뒤에 '.0'을 붙여줍니다

 

이렇게요

 

160405_3.PNG

 

그렇다면 결과는

 

160405_4.PNG

 

이렇게 나옵니다.

 

3.333333....어느정도 나오다가 멈춥니다. 

 

출력되는 형태는 시스템에 따라 다릅니다.  

(이는 정확한 계산이 불가능 하기 때문에 어느정도의 '정밀함의 정도'를 가지고 표현합니다.)

 

다른 예로 5 / 2 를 하면 2가 나오고, 5 / 2.0 을 하면 2.5가 나옵니다.

 

이처럼 루비는 정수와 실수의 계산이 조금은 다릅니다(컴퓨터 내부에서 서로 다른 형태로 저장되어 있다고 생각하시면 됩니다.).

 

이정도면 무엇이든지 계산하실 수 있겠죠??????

 

마지막으로 몇가지 연산자를 알려드리고 이번 챕터를 마무리 하겠습니다.

 

+ 더하기

 

- 빼기

 

* 곱하기

 

/ 나누기

 

** 제곱 연산

(2 ** 3 = 8    <-   2를 3제곱 계산)

 

% 나머지 연산

(10 % 3 = 1    <-   10을 3으로 나눈 뒤 나머지를 계산)

 

알려드릴 개념과 내용이 너무 많아서 한번에 다 적어놓기가 어렵네요...ㅠㅠ

 

모르는 부분이 있으시면 꼭 질문해 주세요! 

 

감사합니다!

 


Articles

1 2