[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.70,0:00:02.05,Default,,0000,0000,0000,,반복문에 대해서 알아보죠 Dialogue: 0,0:00:02.05,0:00:07.26,Default,,0000,0000,0000,,몇줄의 코드를 가진 while 반복문이 여기 있고\N메시지를 화면에 계속해서 써내려갈 수 있어요 Dialogue: 0,0:00:07.26,0:00:11.88,Default,,0000,0000,0000,,만일 여기에서 메시지를 다음과 같이 바꾸면\N그 모든 메시지를 바꾸게 됩니다 Dialogue: 0,0:00:11.88,0:00:15.83,Default,,0000,0000,0000,,어떻게 작동하고 있는 것일까요?\N잠깐 코드를 다시 살펴봅시다 Dialogue: 0,0:00:15.83,0:00:22.47,Default,,0000,0000,0000,,먼저, 다시 처음으로 돌아가서 반복문을 사용하지 않고 \N이런 프로그램을 작성할 수 있는지 생각해봅시다 Dialogue: 0,0:00:22.47,0:00:26.75,Default,,0000,0000,0000,,그러려면 아마도 진짜로 수많은 문장을\N그야말로 계~속 써야할 것입니다 Dialogue: 0,0:00:26.75,0:00:32.59,Default,,0000,0000,0000,,그러니까 메시지를 첫번째 입력하고\N그 문장들이 화면의 맨 마지막까지 Dialogue: 0,0:00:32.59,0:00:36.34,Default,,0000,0000,0000,,충분히 채울 수 있도록 계속해서 적어야 할 것입니다 Dialogue: 0,0:00:36.34,0:00:38.95,Default,,0000,0000,0000,,하지만 이 방법은 많은 작업을 해야해요 Dialogue: 0,0:00:38.95,0:00:42.75,Default,,0000,0000,0000,,왜냐하면 창 맨 밑은 너무 멀고\N심지어 지적을 하나 하자면 Dialogue: 0,0:00:42.75,0:00:46.76,Default,,0000,0000,0000,,여기서 70은 아닌 것 같아요\N보다 작은 값인 60정도가 맞겠네요 Dialogue: 0,0:00:46.76,0:00:50.71,Default,,0000,0000,0000,,이 숫자는 작업에 영향을 줄 것입니다\N보다 작은 값이 필요하게 되면 Dialogue: 0,0:00:50.71,0:00:55.04,Default,,0000,0000,0000,,이런 방식으로는 더 많은 메시지를 불러야하죠 Dialogue: 0,0:00:55.04,0:00:58.26,Default,,0000,0000,0000,,그리고 사실, 이 방법으로 아래쪽까지 채우는 것은 너무 길어요 Dialogue: 0,0:00:58.26,0:01:02.18,Default,,0000,0000,0000,,이는 정말 고통스럽습니만\N고맙게도 우리를 도와줄 반복문이라는 것이 있습니다 Dialogue: 0,0:01:02.18,0:01:05.19,Default,,0000,0000,0000,,지금부터는 이런 반복되는 코드들을 볼때마다\N Dialogue: 0,0:01:05.19,0:01:08.76,Default,,0000,0000,0000,,"내가 반복문을 사용할 수 있을까?"를 먼저 생각하게 될 거에요 Dialogue: 0,0:01:08.76,0:01:14.25,Default,,0000,0000,0000,,반복문은 각각의 시점에 코드를 약간 변경하면서\N일련의 코드를 계속해서 반복합니다. Dialogue: 0,0:01:14.25,0:01:17.87,Default,,0000,0000,0000,,그럼 어떻게 이 코드가 반복문을 가지도록 수정할 수 있을까요? Dialogue: 0,0:01:17.87,0:01:22.09,Default,,0000,0000,0000,,우선 "while"과 소괄호, 중괄호가 필요합니다\N어떤 메시지 창이 중간에 나오지만 Dialogue: 0,0:01:22.09,0:01:26.30,Default,,0000,0000,0000,,아직 우리가 완료하지 않아서 그러니\N신경쓰지마세요 끝마치게 되면 사라질 거에요 Dialogue: 0,0:01:26.30,0:01:30.80,Default,,0000,0000,0000,,여러분이 반복문을 사용할 때마다\N3가지 주요 질문들에 답해야 해요 Dialogue: 0,0:01:30.80,0:01:33.37,Default,,0000,0000,0000,,여기 있어요 Dialogue: 0,0:01:33.37,0:01:37.37,Default,,0000,0000,0000,,첫번째 질문, "무엇을 반복하길 원하는가?" Dialogue: 0,0:01:37.37,0:01:41.47,Default,,0000,0000,0000,,반복하고 싶은게 무엇이든 먼저 중괄호 안을 보세요 Dialogue: 0,0:01:41.47,0:01:46.20,Default,,0000,0000,0000,,"text"함수를 반복해서\N사용하고 싶다면 이 안에 넣으세요 Dialogue: 0,0:01:46.20,0:01:49.57,Default,,0000,0000,0000,,하지만 조금 문제가 있네요, 그렇죠? Dialogue: 0,0:01:49.57,0:01:53.48,Default,,0000,0000,0000,,현재는 "text"함수만 반복하고 있지 바뀌어야 할 무언가가 없네요 Dialogue: 0,0:01:53.48,0:01:57.71,Default,,0000,0000,0000,,이것이 두번째 질문을 던져주네요\N"매번 변경되기를 원하는 것은 무엇인가?" Dialogue: 0,0:01:57.71,0:02:01.42,Default,,0000,0000,0000,,그래서 "y"위치를 바꾸고자 합니다\N처음에는 60이고 Dialogue: 0,0:02:01.42,0:02:05.50,Default,,0000,0000,0000,,그 다음은 80이 되기를 원해요\N그러므로 변수를 사용하도록 만들겁니다 Dialogue: 0,0:02:05.50,0:02:09.48,Default,,0000,0000,0000,,y 위치이니까 변수를 y라 부를게요\N그리고 변수 y를 위쪽에 선언합니다 Dialogue: 0,0:02:09.48,0:02:13.38,Default,,0000,0000,0000,,그러면 y값을 40부터 시작할게요\N그리고 y 값을 바꾸어야 해요 Dialogue: 0,0:02:13.38,0:02:17.20,Default,,0000,0000,0000,,여기 아래에서 할 수 있어요 "y =y+20" 이라 할게요 Dialogue: 0,0:02:17.20,0:02:20.26,Default,,0000,0000,0000,,이렇게 되면 y값은 매 번 커지게 되겠죠 Dialogue: 0,0:02:20.26,0:02:25.82,Default,,0000,0000,0000,,사실, 우리가 예전에 배운 것 처럼\N보다 짧게 "+="와 같이 쓸 수도 있어요 Dialogue: 0,0:02:25.82,0:02:29.09,Default,,0000,0000,0000,,정말 멋지네요\N그러면 이제 세번째 질문에 답해 봅시다 Dialogue: 0,0:02:29.09,0:02:32.70,Default,,0000,0000,0000,,"얼마나 오래 이것을 반복하기를 원하는가?" Dialogue: 0,0:02:32.70,0:02:36.53,Default,,0000,0000,0000,,이것을 계속해서 반복하고 싶어도\N영원히 도는 것을 원하는 것은 아니죠? Dialogue: 0,0:02:36.53,0:02:41.25,Default,,0000,0000,0000,,이 코드를 영원히 돌리게되면 우선 매우 오랫동안\N기다려야 할거고 브라우저도 아마 멈출거에요 Dialogue: 0,0:02:41.25,0:02:44.47,Default,,0000,0000,0000,,그러므로 우선은 이 페이지 맨 아래까지만 해볼게요 Dialogue: 0,0:02:44.47,0:02:48.37,Default,,0000,0000,0000,,이는 y값이 400보다 작을때를 의미하므로\N Dialogue: 0,0:02:48.37,0:02:52.47,Default,,0000,0000,0000,,여기 괄호 안에 "400 보다 작으면" 이라는 조건을 적어줍시다 Dialogue: 0,0:02:52.47,0:02:56.43,Default,,0000,0000,0000,,그러면 메시지가 화면의 맨 아래쪽까지 써지게 됩니다 Dialogue: 0,0:02:56.43,0:02:59.92,Default,,0000,0000,0000,,보이는 것 처럼 \N이 방법은 긴 코드를 작성해야하지만 Dialogue: 0,0:02:59.92,0:03:04.18,Default,,0000,0000,0000,,화면의 반도 채우지 못했던\N이전의 접근방식보다 간단합니다 Dialogue: 0,0:03:04.18,0:03:08.09,Default,,0000,0000,0000,,이제는 우리의 프로그램이 있으니까\N이 부분은 지울수 있습니다 Dialogue: 0,0:03:08.09,0:03:11.71,Default,,0000,0000,0000,,이제 이것이 어떻게 작동하는지\N보다 자세하게 이해해 봅시다 Dialogue: 0,0:03:11.71,0:03:15.63,Default,,0000,0000,0000,,y를 매번 출력해보고 싶으면\N여기 메시지에 "y is now" 를 입력합니다 Dialogue: 0,0:03:15.63,0:03:19.41,Default,,0000,0000,0000,,그리고 message의 끝부분에 \Ny를 붙이면 그 값을 볼 수 있습니다 Dialogue: 0,0:03:19.41,0:03:23.34,Default,,0000,0000,0000,,순간, y값은 20씩 값이 증가하고\N그 값을 여기서 바꿀 수 있습니다 Dialogue: 0,0:03:23.34,0:03:27.26,Default,,0000,0000,0000,,즉 여러분은 이미 알고있는 것 처럼\N이를 50씩 증가하도록 할 수 있습니다 Dialogue: 0,0:03:27.26,0:03:31.43,Default,,0000,0000,0000,,그러면 현재 그 값은 50씩 증가하게 됩니다. Dialogue: 0,0:03:31.43,0:03:35.58,Default,,0000,0000,0000,,다른 값들을 넣어보고 그것들이\N어떻게 바뀌는지 확인해 보세요 Dialogue: 0,0:03:35.58,0:03:39.20,Default,,0000,0000,0000,,그리고 프로그램이 멈추기 전까지 \N그것들이 어떤 영향을 주는지 볼 수 있습니다 Dialogue: 0,0:03:39.20,0:03:44.01,Default,,0000,0000,0000,,이것을 이해하기 위해서 여러분은\N이를 if문처럼 생각해볼 수 있어요 Dialogue: 0,0:03:44.01,0:03:47.34,Default,,0000,0000,0000,,우리는 이미 배운것 처럼 \N여기에 boolean 표현식을 가지고 있고 Dialogue: 0,0:03:47.34,0:03:52.01,Default,,0000,0000,0000,,그리고 이 안에 실제 실행할 코드들이 있고 Dialogue: 0,0:03:52.01,0:03:55.47,Default,,0000,0000,0000,,수식이 참이면 동작하고\N거짓이라면 끝으로 넘어갑니다 Dialogue: 0,0:03:55.47,0:03:59.09,Default,,0000,0000,0000,,하지만 while 반복문에 흥미로운 점이 있어요 Dialogue: 0,0:03:59.09,0:04:03.86,Default,,0000,0000,0000,,그 비밀을 아래에 써볼게요\N"go back to the start of the loop" Dialogue: 0,0:04:03.86,0:04:07.20,Default,,0000,0000,0000,,이것의 의미를 보자면 구문의 끝에 오면 계속 진행하는 대신 Dialogue: 0,0:04:07.20,0:04:11.07,Default,,0000,0000,0000,,"If"문처럼 값을 남기고 다시 처음으로\N돌아가서 반복문이 동작해요 Dialogue: 0,0:04:11.07,0:04:15.03,Default,,0000,0000,0000,,반복문을 돌 때마다 다시 처음으로 돌아가\N수식을 확인하게 됩니다 Dialogue: 0,0:04:15.03,0:04:19.20,Default,,0000,0000,0000,,만약 조건이 참이라면 계속 동작하게 되죠 Dialogue: 0,0:04:19.20,0:04:23.24,Default,,0000,0000,0000,,여러분이 예상하는 대로 반복문은 계속 반복됩니다 Dialogue: 0,0:04:23.24,0:04:27.09,Default,,0000,0000,0000,,위로 다시 돌아가 조건을 확인합니다 Dialogue: 0,0:04:27.09,0:04:31.56,Default,,0000,0000,0000,,y가 아직 279보다 작나요?\N참이면 동작하고 또 한번 이상 확인하게 되죠 Dialogue: 0,0:04:31.56,0:04:34.59,Default,,0000,0000,0000,,만일 조건이 거짓이 되면 시작점으로 돌아갑니다 Dialogue: 0,0:04:34.59,0:04:38.48,Default,,0000,0000,0000,,그리고 마침내 반복문을 벗어나 프로그램의 다음부분이 동작합니다 Dialogue: 0,0:04:38.48,0:04:42.70,Default,,0000,0000,0000,,반복문을 이용하는 보다 흥미로운 방법들이\N수없이 많이 있고 곧 배워보게될 거에요 Dialogue: 0,0:04:42.70,0:04:46.70,Default,,0000,0000,0000,,하지만 지금은 좋은 시작을 하기위해 출발했을 뿐입니다