안녕하세요. <div>달빛연구자 입니다.</div> <div><br /></div> <div>이번 화에서는 루아의 가장 기본이 되는 문법을 익혀볼 거에요.</div> <div>음... 많지는 않고요.. 우선은 아래의 3가지 에요.</div> <div><br /></div> <div><b>1. if : 만약 ~ 라면</b></div> <div><b>2. for : ~동안 ~하다</b></div> <div><b>3. io.read : 읽다</b></div> <div><b><br /></b></div> <div>...</div> <div><br /></div> <div>미리 말씀드리는데 영어 문법이 아니에요. 루아입니다 루아!</div> <div><br /></div> <div><b>1. if</b></div> <div><b> </b>if는 조건을 나타내는 부사절...이 아니라 제어문으로 어떠한 조건에 해당할 때 자신이 가진 코드를 실행하는 역할을 합니다.</div> <div>문법은 아래와 같아요.</div> <div>-- if 조건 then 실행구문 end</div> <div><br /></div> <div>ex 1) 절대로 실행되지 않는 if 문</div> <div><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392734485fY1eTWHW1UpRDsPYpQ1ywwJf.png" width="750" height="215" alt="if문.png" style="border: none" /></div><br /></div> <div>이 프로그램을 실행시키면 아무런 출력을 하지 않아요. if와 then 사이에 있는 '1 == 2' 라는 부분은 1과 2가 같다 라는 조건인데요.</div> <div>당연하게도 두 숫자는 같지 않기 때문에 조건은 거짓이 되고 해당 조건이 참인 경우에만 실행되는 then과 end 사이의 문장들은 실행이 안되게 되죠.</div> <div><br /></div> <div><div style="text-align: left">다음은 조금 난이도를 올려 볼께요. <span style="font-size: 9pt; line-height: 1.5">이 경우에는 출력이 될까요 안될까요?</span></div></div> <div style="text-align: left">ex 2) 변수를 사용한 if 문</div> <div style="text-align: left"><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392734872SOBJfTd9hoBXP2eAzxLF1DWskfo7UA.png" width="585" height="215" alt="if문과변수.png" style="border: none" /></div><br /></div> <div style="text-align: left">정답은 출력이 됩니다 입니다.</div> <div style="text-align: left">위 소스 코드의 2번 라인에 조금 생소한 것이 있어요 ?!</div> <div style="text-align: left">i = 2</div> <div style="text-align: left">네 이것이 변수에 숫자를 대입하는 부분 이에요. 마치 수학의 방정식과 마찬가지로, 프로그래밍에서는 어떤 변수에 자신이 원하는 정보를 담을 수 가 있거든요.</div> <div style="text-align: left">a와 b가 같다라는 의미의 비교구문이 (a == b) 였죠? 마찬가지로 i = 2라고 하면, 2를 i에 대입한다라는 의미가 되요.</div> <div style="text-align: left">그래서 이후부터는 i를 2 대신 사용할 수 있는 것에요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left"><b>1. for </b></div> <div style="text-align: left"><b> </b>for는 어느 일정한 구간을 반복하는데 사용되요. 문법은 아래와 같아요.</div> <div style="text-align: left">-- for i=1,도착값,증감치 do 실행구문 end</div> <div style="text-align: left">이 구문은 i가 도착값보다 커질 때 까지 실행구문을 실행하고요. 한번 반복을 할 때 마다 i가 증감치 만큼씩 커져요.</div> <div style="text-align: left">무슨 말 이냐고요? 일단 예제를 한번 볼께요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left">ex 3) i가 2씩 증가하는 for문</div> <div style="text-align: left"><div style="text-align: left"> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392735563s28KMJmpwJvnG4dWpOQ.png" width="585" height="327" alt="for문.png" style="border: none" /></div><br /></div> <div style="text-align: left">위쪽의 창이 소스코드이고 아래쪽의 창이 실행 결과에요. </div> <div style="text-align: left">이제와서 SciTE 에디터의 비밀을 하나 공개하자면, 소스파일을 저장한 후에는 화면 상단에 있는 빨간 네모칸의 버튼이 사용 가능하게 되요. 이것을 사용하면, 에디터에서 직접 프로그램을 돌려서 결과를 확인할 수 있어요.</div> <div style="text-align: left">자.. 위의 결과를 보면, print(i)가 5회 반복이 되었고, 한번 반복될 때 마다 i가 증감치인 2씩 증가하는 것을 확인 할 수 있어요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left">내가 정해준 동작을 컴퓨터가 알아서 반복해 준다니 참 편리한 구문이죠? :)</div> <div style="text-align: left"><br /></div> <div style="text-align: left">이제 for문을 이용해서 1에서 100까지 더해주는 프로그램을 한번 만들어 보도록 할께요.</div> <div style="text-align: left">ex 4) 1에서 100까지 더해주는 프로그램</div> <div style="text-align: left"> <div style="text-align: left"> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392736208qrJh1w3kovFZtG3nDzFJgekkQcfpji.png" width="585" height="317" alt="sum1to100.png" style="border: none" /></div></div><br /></div> <div style="text-align: left">이전의 프로그램과 크게 달라진 것이 없어요. 단지 result 라는 변수에 i의 값을 계속해서 더해준 것일 뿐 이에요.</div> <div style="text-align: left">값을 모두 더한 후 result의 값을 출력해 보니 5050이 되어 있네요. 정답입니다. :)</div> <div style="text-align: left">이런 어려운 계산을 순식간에 하다니.. 컴퓨터는 정말 대단하네요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left"><b>3. io.read()</b></div> <div style="text-align: left"> 우리는 지금까지 컴퓨터가 기억하고 있는 정보를 보기 위해 print() 라는 함수를 사용했어요.</div> <div style="text-align: left"> 그렇다면 반대로 사람이 원하는 문자나 숫자를 컴퓨터한테 입력할 수는 없을까요?</div> <div style="text-align: left"> ... 네 뜸들일 것 없죠. 그것을 위한 io.read() 함수랍니다.</div> <div style="text-align: left">이번에는 io.read()함수를 사용해서 사람이 입력한 범위의 숫자를 모두 더하는 프로그램을 작성해 볼께요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left">ex 5) 사용자가 입력한 범위의 숫자를 모두 더하는 프로그램</div> <div style="text-align: left"> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/13927367691JZiybwXKxGjZX65482cUpr8a.png" width="585" height="357" alt="입력추가.png" style="border: none" /></div><br /></div> <div style="text-align: left">출력 결과가 똑같은 것 처럼 보이지만 출력 화면에 있는 1과 100은 제가 입력한 숫자 랍니다. :)</div> <div style="text-align: left">제가 1과 100을 입력했기 때문에 컴퓨터가 1과 100사이의 숫자를 모두 더한 결과를 출력해 준 것이죠.</div> <div style="text-align: left"><br /></div> <div style="text-align: left">코드를 잠깐 분석해 볼께요.</div> <div style="text-align: left">2번 3번 라인에 num_start라는 변수와 num_end라는 변수가 추가되었네요.</div> <div style="text-align: left">io.read()함수는 사용자의 입력(저의 입력입니다 ^^;)을 받아들이고, 이것을 각각 num_start와 num_end라는 변수에 저장합니다.</div> <div style="text-align: left">이 변수들이 각각 for문에 사용되어서 num_start와 num_end 숫자 사이의 합을 구하는 부분이 되었어요.</div> <div style="text-align: left">구해진 합은 result라는 변수에 대입되어서 print() 함수에 의해 출력이 되었어요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left">자.. 여기까지 오느라 고생 많으셨어요. </div> <div style="text-align: left">여러분은 이제 루아를 사용해서 프로그래밍의 기초문법인 입력, 출력, 조건, 반복 대입을 할 수 있게 되었어요.</div> <div style="text-align: left">기초문법이라고 하면 별것 아닌 것 같지만, 프로그램이라는 것은 기초적인것이 모이고 쌓여서 만들어지는 것이니 그만큼 중요한 것이에요.</div> <div style="text-align: left"><br /></div> <div style="text-align: left">다음 글에서는 루아의 변수에 대해서 조금 더 자세하게 다루어 볼께요. (근데 다음 글.. 언제쯤 쓰려나.. -_-;;)</div></div>