루비로 시작하는 프로그래밍

일반인을 위해 프로그래밍을 가르쳐주는 튜토리얼.

1장. 수

수(Numbers)

이제 모든것이 다 준비가 되었다면 프로그램을 만들어 보겠습니다. 텍스트에디터를 실행한 후 다음의 코드를 입력해 보세요.

puts 1+2   #1+2의 결과를 보여주는 부분~

carc.rb라는 이름으로 프로그램(간단하지만 이것은 엄연히 프로그램입니다)을 저장해 주십시오. Ruby파일의 확장자는 일반적으로 rb 를 사용합니다. ruby carc.rb명령어를 command line에서 입력해서 프로그램을 실행시키십시오. 3이 화면에 출력될 것입니다. 보신바와 같이 프로그래밍은 아주 쉽습니다. 그럼 이제 put에 대해서 살펴 보죠.

puts를 소개합니다.

프로그램이 어떻게 실행되는지 보도록 하지요.저는 여러분이 1+2이 무엇인지는 아실거라 생각합니다. 우리의 프로그램은 결과적으로 아래의 코드와 동일합니다.

puts 3  #3이라는 수를 보여주는 부분~

puts는 자신의 뒤에 오는 것을 화면에 보여줍니다.

정수와 실수에 대해서

대부분의 프로그래밍 언어(Ruby 역시 예외가 아닙니다)에서는 소수점이 없는 수를 정수(Integer)라 부릅니다. 그리고 부동 소수점이 있는 수를 Floating-point numbers 간단히 실수(Float)라 부릅니다.

정수의 예를 보도록 하지요

5 
-205 
9.99999999999999E+24         #응.. 이런 수는 무슨 수라고 할까나?
0

 

현실에서는 대부분 프로그램에서 실수를 잘 사용하지 않죠. 7.4개의 이메일을 본다든지, 1.8개의 웹페이지를 연다고 하면 이상하겠죠? 현금 프로그램조차도 보통 정수를 사용합니다. 실수는 물리실험처럼 학술적인 목적이나 3D그래픽 등에 많이 사용합니다.

간단한 연산하기 (+,-,*,/)

지금까지 우리는 간단한 계산기를 만드는데 필요한 것들을 배웠습니다(계산기는 언제나 실수를 사용하므로 여러분의 컴퓨터가 계산기처럼 작동하게 할려면 여러분은 실수를 사용해야만 합니다). 가감은 “+” 와 “-“로, 곱셈은 “*”로 그리고 나눗셈은 “/”로 하시면 됩니다. 대부분의 키보드는 이 키들을 오른쪽에 위치한 숫자패드에 가지고 있을 것입니다. 만약 여러분의 키보드가 일반적인 키보드보다 작거나 노트북이라면 여러분은 “Shift 8”과 /(?키와 동일)을 사용하시면 됩니다. 그럼 저희가 작성한 calc.rb에 몇가지코드를 추가해보도록 하지요. 아래의 코드를 입력하시고 실행해주십시오

puts 1.0 + 2.0 
puts 2.0 * 3.0 
puts 5.0 - 8.0 
puts 9.0 / 2.0

프로그램은 다음의 결과를 출력할것 입니다.

#실행결과

3 
6 
-3 
4.5

(연산자에 있는 공백은 가독성의 이유로 사용되었습니다. 문법적으로는 별로 중요하지 않습니다.) 출력결과값은 예상하신바와 동일할 것입니다. 그럼 이번엔 정수로 한번 해보도록 하겠습니다.

puts 1+2 
puts 2*3 
puts 5-8 
puts 9/2

결과값을 보죠

#실행결과

3 
6 
-3 
4

마지막 한줄만 제외하고 나머지는 실수를 사용했을 때와 동일할 것입니다. 여러분이 정수의 연산을 한다면 결과값도 정수를 반환할 것입니다. 여러분의 컴퓨터가 “정확한” 답을 구할 수 없을 경우 기본적으로 내림을 할 것입니다(물론 4는 9/2의 바른 결과값입니다 단지 여러분이 기대했던 값은 아닐수도 있습니다)

그렇다면 아마 여러분은 언제 정수 나눗셈이 유용한지 궁금하실겁니다. 예를 들어보도록 하죠. 여러분이 9달러만 가지고 극장에 갔다고 생각해보죠. 여기 포틀랜드에서는 2달러면 바그다드(극장이름?)에서 영화를 볼수 있습니다. 그렇다면 여러분은 몇편의 영화를 그곳에서 볼수 있을까요? 9/2… 4편, 이 경우 4.5편은 정확한 답이 될수 없을 것입니다. 극장직원들은 여러분들이 여러분의 반쪽만 영화를 보게하거나 영화의 반까지만 보게해주지 않을것입니다…즉 정수 나눗셈은 이와 같이 나누어질 수 없는 경우에 사용되어집니다.

자! 그럼 여러분 자신의 프로그램으로 실험을 해보십시오. 만약 여러분이 조금 더 복잡한 식을 쓰고 싶으시다면 여러분은 괄호를 사용하시면 됩니다. 예를 보도록 하죠

puts 5 * (12-8) + -15 
puts 98 + (59872 / (12*8)) * -52 

#실행결과

5 
-29802

프로그램 만들어보기

1년을 시간으로 환산하면? 

http://start_with_ruby.codepad.org/l97fIaLh  by twitlingua

10년을 초로 환산하면? 

http://start_with_ruby.codepad.org/esTnruJq by Twitlingua

당신의 나이를 초로 환산하면? 

 

당신의 인생에서 얼마나 많은 초콜릿을 먹고 싶습니까? 

 

만약 나의 나이가 1031000000초라면 과연 나는 몇살일까요?

http://start_with_ruby.codepad.org/TlFKgCFC - by Twitlingua

1장을 마무리하며

여러분이 숫자에 어느정도 익숙해지셨다면 다음으로 문자열을 보도록 하죠.

참고

댓글

댓글 본문
  1. 처음
    puts 98 + (59872 / (12*8)) * -52 가, puts 98 + (59872 / (13*8)) * -52 인 것 같습니다.
  2. 세모
    .to_s 는 스트링으로 변환시키는 메소드입니다.
    예1) 1000.to_s

    예2)
    age = 30
    age.to_s

    4장. 함께 사용하기 <- 여기에서 설명나오네요
  3. factio
    근데 .to_s 쩜 투 다시 에스
    이게 뭔지 잘 모르겠네요.
  4. factio
    완전 감사합니다.
    제게 필요하신분은 당신이예요
  5. visual00
    와우 마침 필요했는데 좋은 강좌 완전 매끈한 번역 싸랑해요!
  6. 애플
    대단합니다