[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:02.75,Default,,0000,0000,0000,,Winston을 4번 그리는 함수가 있는 Dialogue: 0,0:00:02.75,0:00:04.59,Default,,0000,0000,0000,,프로그램으로 돌아왔습니다 Dialogue: 0,0:00:04.59,0:00:08.16,Default,,0000,0000,0000,,Winston이 인생의 각 시점에 몇살인지 \N보여주도록 프로그램을 수정하였습니다 Dialogue: 0,0:00:08.16,0:00:10.59,Default,,0000,0000,0000,,왜 그런지 곧 알게 될겁니다 Dialogue: 0,0:00:10.59,0:00:14.04,Default,,0000,0000,0000,,하지만 우선 Winston에 대해서 몇가지 말 해줄 필요가 있습니다 Dialogue: 0,0:00:14.04,0:00:16.46,Default,,0000,0000,0000,,Winston는 도넛 중독자입니다 Dialogue: 0,0:00:16.46,0:00:18.44,Default,,0000,0000,0000,,하루에 3개씩 먹습니다 Dialogue: 0,0:00:18.44,0:00:21.78,Default,,0000,0000,0000,,그렇기 때문에 얼굴이 이렇게 크고 노랑색입니다 Dialogue: 0,0:00:21.78,0:00:25.31,Default,,0000,0000,0000,,그래서 도넛이 얼마나 그에게 나쁜지 경고하기 위해서, Dialogue: 0,0:00:25.31,0:00:28.82,Default,,0000,0000,0000,,인생의 각 시점에 얼마나 많은 도넛을 먹었는지 보여주도록 Dialogue: 0,0:00:28.82,0:00:31.76,Default,,0000,0000,0000,,전 프래그램을 변경하고 싶습니다 Dialogue: 0,0:00:31.76,0:00:35.94,Default,,0000,0000,0000,,예을 들면 Winston이 두살때 Dialogue: 0,0:00:35.94,0:00:41.60,Default,,0000,0000,0000,,그것은 곧 , 3 X 365 X 2 만큼 먹었다는 겁니다 Dialogue: 0,0:00:41.60,0:00:45.87,Default,,0000,0000,0000,,즉 하루에3개씩, 곱하기 365일, 곱하기 2 살이지요 Dialogue: 0,0:00:45.87,0:00:50.33,Default,,0000,0000,0000,,그리고 헤더밑에 표시 하게습니다. 와!!!! Dialogue: 0,0:00:50.33,0:00:54.44,Default,,0000,0000,0000,,2천개의 도넛이네요. 2살짜리 에게는 너무나 많은 도넛이에요 Dialogue: 0,0:00:54.44,0:01:04.43,Default,,0000,0000,0000,,14살이 되었을때는 3 X 365 X 14 를 먹겠네요 Dialogue: 0,0:01:04.43,0:01:08.56,Default,,0000,0000,0000,,즉 1만5천개 입니다 Dialogue: 0,0:01:08.56,0:01:12.62,Default,,0000,0000,0000,,계속 계산 할수 있겠지만, 페턴이 보이기 시작하네요 Dialogue: 0,0:01:12.62,0:01:16.19,Default,,0000,0000,0000,,계산을 반복하고 있네요 Dialogue: 0,0:01:16.19,0:01:19.96,Default,,0000,0000,0000,,하나만 변경하겠습니다: 햇수 (즉, 몇 년동안)를 변경하겠습니다 Dialogue: 0,0:01:19.96,0:01:22.87,Default,,0000,0000,0000,,이것처럼 반복되는 코드를 볼때마다 Dialogue: 0,0:01:22.87,0:01:28.35,Default,,0000,0000,0000,,스스로 생각해 봅니다 \N"흠 이것을 함수로 말들수 있을까?" Dialogue: 0,0:01:28.35,0:01:32.02,Default,,0000,0000,0000,,그럼요 당연히 만들수 있지요 그럼 지금 해 봅시다 Dialogue: 0,0:01:32.02,0:01:34.42,Default,,0000,0000,0000,,함수를 이쪽에서 선언 해 보겠습니다 Dialogue: 0,0:01:34.42,0:01:40.95,Default,,0000,0000,0000,,calcTotalDonunts = function 이라고 부르겠습니다 Dialogue: 0,0:01:40.95,0:01:44.23,Default,,0000,0000,0000,,햇수 (the number of years)입니다 Dialogue: 0,0:01:44.23,0:01:46.49,Default,,0000,0000,0000,,왜냐하면 계산 할때 마다 변하는 것은 Dialogue: 0,0:01:46.49,0:01:49.36,Default,,0000,0000,0000,,단지 햇수 하나 이기 때문입니다 Dialogue: 0,0:01:49.36,0:01:52.88,Default,,0000,0000,0000,,그리고 안 에서, 계산을 하겠습니다 Dialogue: 0,0:01:52.88,0:02:00.72,Default,,0000,0000,0000,,그리고 변수(variable)에 저장을 합니다 \N즉 3 X 365 X numYears Dialogue: 0,0:02:00.72,0:02:03.10,Default,,0000,0000,0000,,좋습니다 이제 함수를 만들었구요 Dialogue: 0,0:02:03.10,0:02:09.65,Default,,0000,0000,0000,,이 식(expression)을 calTotalDounts로 대치하겠습니다 Dialogue: 0,0:02:09.65,0:02:12.74,Default,,0000,0000,0000,,함수을 부르고, 2를 값으로 보내겠습니다 Dialogue: 0,0:02:12.74,0:02:16.88,Default,,0000,0000,0000,,근데 지금 전체 도넛양이 안 보이네요 Dialogue: 0,0:02:16.88,0:02:18.74,Default,,0000,0000,0000,,흠, 무슨일이 일어 났지요? Dialogue: 0,0:02:18.74,0:02:22.27,Default,,0000,0000,0000,,우리의 함수가 전체 값을 계산 했네요 Dialogue: 0,0:02:22.27,0:02:25.94,Default,,0000,0000,0000,,근데 값을 말 해 주지 않고 있어요 Dialogue: 0,0:02:25.94,0:02:29.81,Default,,0000,0000,0000,,이건 꼭 수업시간에 선생님이 질문에 답하라고 불렀는데 Dialogue: 0,0:02:29.81,0:02:31.74,Default,,0000,0000,0000,,답이 머리에서만 있고 Dialogue: 0,0:02:31.74,0:02:34.52,Default,,0000,0000,0000,,너무 부끄러워 답을 말하지 못하고 있는 것 같네요 Dialogue: 0,0:02:34.52,0:02:37.46,Default,,0000,0000,0000,,과제는 했는데, 선생님이 전혀 몰라주는것과 같아요 Dialogue: 0,0:02:37.46,0:02:39.68,Default,,0000,0000,0000,,함수가 어디서든 불려져서 부른 곳에다가 값을 전달하려면 Dialogue: 0,0:02:39.68,0:02:45.17,Default,,0000,0000,0000,,그 값을 명시적으로 반환하여야 합니다 Dialogue: 0,0:02:45.17,0:02:49.37,Default,,0000,0000,0000,,그래서 값을 반환하려는 함수에서는 \Nreturn 이라고 쓰고 반환하려는 값을 씁니다 Dialogue: 0,0:02:49.37,0:02:51.57,Default,,0000,0000,0000,,모든 원하는 값을 Dialogue: 0,0:02:51.57,0:02:55.14,Default,,0000,0000,0000,,아마도 그것은 변수 또는 값 또는 식이 될 수도 있는데 Dialogue: 0,0:02:55.14,0:02:58.33,Default,,0000,0000,0000,,여기서 우린 return totalDonuts이라고 하겠습니다. Dialogue: 0,0:02:58.33,0:03:01.54,Default,,0000,0000,0000,,그럼, 누가 이 함수를 부르던지, 이렇게 닶을 얻을 것입니다 Dialogue: 0,0:03:01.54,0:03:04.06,Default,,0000,0000,0000,,이제 값이 표시 되네요! Dialogue: 0,0:03:04.06,0:03:07.08,Default,,0000,0000,0000,,그리고 사실 이 함수를 좀더 간단하게 만들 수 있습니다 Dialogue: 0,0:03:07.08,0:03:09.45,Default,,0000,0000,0000,,변수에다 값을 저장 할 필요가 없어요 Dialogue: 0,0:03:09.45,0:03:11.53,Default,,0000,0000,0000,,그냥 여기 식(expression) 전체를 Dialogue: 0,0:03:11.53,0:03:15.17,Default,,0000,0000,0000,,return 에 넣어줘도 됩니다 그러면 한 줄이 간단히 한 줄이 되지요 Dialogue: 0,0:03:15.17,0:03:17.17,Default,,0000,0000,0000,,좋아요, 이제 살펴보지요 Dialogue: 0,0:03:17.17,0:03:20.44,Default,,0000,0000,0000,,각 시점의 전체 도넛의 수를 계산하는 것은 Dialogue: 0,0:03:20.44,0:03:23.45,Default,,0000,0000,0000,,함수를 불러, 햇수(number of year)를 넘겨줍니다 Dialogue: 0,0:03:23.45,0:03:28.99,Default,,0000,0000,0000,,자 봅시다. calcTotalDounuts(25), Dialogue: 0,0:03:28.99,0:03:34.06,Default,,0000,0000,0000,,위치를 정확하게 해주고, calcTotalDounuts(65) Dialogue: 0,0:03:34.06,0:03:37.93,Default,,0000,0000,0000,,오케이, 와, 65까지 살게 되면 Dialogue: 0,0:03:37.93,0:03:43.40,Default,,0000,0000,0000,,Winston은 7만개의 도넛을 먹게 되겠네요\N엄청 많은 도넛이네요 Dialogue: 0,0:03:43.40,0:03:48.11,Default,,0000,0000,0000,,제 생각에는 Winston이 그때 까지 못 살것 같아요 (웃음) Dialogue: 0,0:03:48.11,0:03:50.33,Default,,0000,0000,0000,,하지만 우리가 함수를 만든 한 Dialogue: 0,0:03:50.33,0:03:52.89,Default,,0000,0000,0000,,일부분을 수정하는 것도 아주 쉬운 일이지요 Dialogue: 0,0:03:52.89,0:03:55.14,Default,,0000,0000,0000,,만약 Winston이 이걸 보고 Dialogue: 0,0:03:55.14,0:03:58.86,Default,,0000,0000,0000,,와, 이건 너무 많네요. 만약 하루에 하나만 먹으면요? Dialogue: 0,0:03:58.86,0:04:02.85,Default,,0000,0000,0000,,오케이, 그럼 여기로 가서 숫자 하나만 변경하면 되요 Dialogue: 0,0:04:02.85,0:04:04.69,Default,,0000,0000,0000,,그럼 모든것이 변경되지요 Dialogue: 0,0:04:04.69,0:04:07.97,Default,,0000,0000,0000,,그래서 2만3천개가 됩니다 여전히 많은 양이네요\N아마도 Winston이 Dialogue: 0,0:04:07.97,0:04:10.77,Default,,0000,0000,0000,,좋아요, 만약 한주에 하나면 먹으면요? 라고 하면 Dialogue: 0,0:04:10.77,0:04:12.48,Default,,0000,0000,0000,,네, 합리적이네요, 좋아요 Dialogue: 0,0:04:12.48,0:04:15.02,Default,,0000,0000,0000,,그럼 365를 50로 변경하고 Dialogue: 0,0:04:15.02,0:04:18.14,Default,,0000,0000,0000,,왜냐하면 일년에 50주가 있으니깐요 Dialogue: 0,0:04:18.14,0:04:22.80,Default,,0000,0000,0000,,좋아요, 이제 훨씬 낫네요 \N3천개 도넛, 적당한것 같아요 Dialogue: 0,0:04:22.80,0:04:26.75,Default,,0000,0000,0000,,함수와 반환값으로 Dialogue: 0,0:04:26.75,0:04:31.80,Default,,0000,0000,0000,,코드도 만들수 있고, 한 생명을 살리수도 있네요