1 00:00:00,000 --> 00:00:10,920 >> [음악 연주] 2 00:00:10,920 --> 00:00:14,680 >> DAVID J 마란 : 모든 권리, CS50에 다시 오신 것을 환영합니다. 3 00:00:14,680 --> 00:00:16,500 이 2 주일의 시작입니다. 4 00:00:16,500 --> 00:00:18,940 우리 중 하나 단어 캠퍼스에 친구 - 5 00:00:18,940 --> 00:00:22,620 당신이 관심이 있다면, 아마도 하나 지금 또는 미래의 어느 기간에 6 00:00:22,620 --> 00:00:25,670 심지어 한 번 더 편안하고, 교육 중학생 조금 7 00:00:25,670 --> 00:00:27,680 컴퓨터 과학에 대해 뭔가, 이 URL에 머리를 않습니다. 8 00:00:27,680 --> 00:00:32,360 그들은 지금 특히 필요로하는 선생님, 당신이 경우 특히 9 00:00:32,360 --> 00:00:34,700 컴퓨터 과학에 일부 노출했다. 10 00:00:34,700 --> 00:00:38,060 >> 그래서 지난 시간을 기억, 우리는 도입 몇 가지 데이터 C의 유형, 11 00:00:38,060 --> 00:00:40,590 당신이 얻을하기 시작했습니다 수의 이러한 지금까지 더러운 손 12 00:00:40,590 --> 00:00:41,940 문제의 한을 설정합니다. 13 00:00:41,940 --> 00:00:43,230 그리고 우리는 문자를했다. 14 00:00:43,230 --> 00:00:49,100 그래서 다소 기술적 인 측면에서, 어떤 당신이 그것을 오늘 알고있는 문자인가? 15 00:00:49,100 --> 00:00:51,050 >> 그래서 캐릭터,하지만하자 지금은 더 정확합니다. 16 00:00:51,050 --> 00:00:53,735 우리는 문자로 무엇을 의미합니까 또는 문자 개별? 17 00:00:53,735 --> 00:00:56,700 18 00:00:56,700 --> 00:00:59,500 숫자가 아닌 문자 - 19 00:00:59,500 --> 00:01:00,670 그래서 반드시. 20 00:01:00,670 --> 00:01:04,580 심지어, 심지어 숫자를 밝혀 구두점 문자이다 21 00:01:04,580 --> 00:01:06,980 이 데이터로 표시 문자로 알려진 입력합니다. 22 00:01:06,980 --> 00:01:09,440 그래서 반드시 알파벳 아니다. 23 00:01:09,440 --> 00:01:11,100 그래? 24 00:01:11,100 --> 00:01:12,275 >> 따라서 ASCII 문자입니다. 25 00:01:12,275 --> 00:01:15,510 당신이 때, 주 제로 다시 생각 그래서 만약 우리는 자원 봉사자의 우리의 바이트를했다 26 00:01:15,510 --> 00:01:19,150 와서 두 손을 잡고 또는 모든, 그들은 비트를 나타낸다. 27 00:01:19,150 --> 00:01:22,450 그러나 총체적으로 여덟 그룹으로, 그들은 바이트를 나타낸다. 28 00:01:22,450 --> 00:01:26,030 그리고 우리는 ASCII의 개념을 도입 그 강의에서, 이는 단순히 29 00:01:26,030 --> 00:01:28,170 숫자와 문자 사이의 매핑. 30 00:01:28,170 --> 00:01:32,010 그리고 ASCII 용도로 그 사람 묵시적, 8 비트 31 00:01:32,010 --> 00:01:33,660 문자를 나타냅니다. 32 00:01:33,660 --> 00:01:36,890 >> 그래서 따라, 만약 8 비트 수 각각 두 값 중 하나를 수행 - 33 00:01:36,890 --> 00:01:38,010 제로 또는 하나 - 34 00:01:38,010 --> 00:01:40,280 두 가지 가능성이 있다고 의미 이 사람 - 35 00:01:40,280 --> 00:01:41,230 제로 또는 하나 - 36 00:01:41,230 --> 00:01:44,070 이이 사람이 두 사람이 하나 둘. 37 00:01:44,070 --> 00:01:47,450 그래서 두 번 총 두 번 두 번 두 번 두 - 38 00:01:47,450 --> 00:01:49,700 총하므로 두 여덟 번째. 39 00:01:49,700 --> 00:01:54,320 그래서 문자의 총 수있다 가능한 256 당신이 할 수있는 40 00:01:54,320 --> 00:01:55,750 8 비트와 함께 나타냅니다. 41 00:01:55,750 --> 00:01:59,210 >> 자, 당신의 사람들은 아시아 말하는 사람 언어 이상이 있다는 것을 알 수 있습니다 42 00:01:59,210 --> 00:02:02,620 단순한 세계의 문자 A와 B 등의 고사와 DS에. 43 00:02:02,620 --> 00:02:06,130 그리고 실제로, ASCII가 충분하지 않습니다 세계의 많은 언어. 44 00:02:06,130 --> 00:02:07,760 그 다른 시간에하지만 더. 45 00:02:07,760 --> 00:02:11,240 지금은 C에서 당신이 원하는 경우에 알고 편지의 조각을 대표하는 46 00:02:11,240 --> 00:02:15,780 구두점, 또는 뭔가 문자 자연에서, 우리는 문자를 사용합니다. 47 00:02:15,780 --> 00:02:18,240 그리고 그것은 하나의 바이트 또는 8 비트입니다. 48 00:02:18,240 --> 00:02:19,690 >> 방법 INT 어떻습니까? 49 00:02:19,690 --> 00:02:20,780 음, INT는 정수입니다. 50 00:02:20,780 --> 00:02:23,175 얼마나 많은 비트, 당신이 기억하는 경우, 일반적으로 정수인가? 51 00:02:23,175 --> 00:02:25,930 52 00:02:25,930 --> 00:02:27,512 누구나 리콜? 53 00:02:27,512 --> 00:02:29,600 그래서 일반적으로 32이다. 54 00:02:29,600 --> 00:02:32,120 실제로 컴퓨터에 따라 달라집니다 당신이 사용중인. 55 00:02:32,120 --> 00:02:35,770 그러나 기기에서, 그리고 주차장에 컴퓨터는 32 비트 또는 네의 56 00:02:35,770 --> 00:02:37,140 바이트 - 여덟 4 배. 57 00:02:37,140 --> 00:02:39,790 그리고 정수는 그대로 저장하는 데 사용됩니다 하나 음수, 58 00:02:39,790 --> 00:02:41,610 긍정적 인, 또는 0. 59 00:02:41,610 --> 00:02:45,250 >> 그리고 당신은 32 비트를 가지고있는 경우에만 양수에 대한 치료, 수 60 00:02:45,250 --> 00:02:48,960 누구 야구장 얼마나 많은 수 컴퓨터에서 나타낼 수있는 정수 61 00:02:48,960 --> 00:02:51,820 업에 제로? 62 00:02:51,820 --> 00:02:56,130 따라서, 32 개의 것 어떤 약 억 개의이다. 63 00:02:56,130 --> 00:02:59,720 두 이러한 힘이 될 것되도록 컴퓨터 과학에서 반복되는 테마. 64 00:02:59,720 --> 00:03:03,930 우리가 볼 수 있듯이, 그들은 매우 편리이야 그것은 확실히의 경우에도 작동합니다 65 00:03:03,930 --> 00:03:05,790 하나의 머리에 수학을 쉽게. 66 00:03:05,790 --> 00:03:07,000 >> 그래서 우리는 약 억 개의 말할 수 있습니다. 67 00:03:07,000 --> 00:03:08,620 지금, 오래 오래 - 68 00:03:08,620 --> 00:03:09,770 당신은 추측의 종류의 수 있습니다. 69 00:03:09,770 --> 00:03:10,480 그것은 INT 이상입니다. 70 00:03:10,480 --> 00:03:12,440 얼마나 많은 비트? 71 00:03:12,440 --> 00:03:14,250 64 비트 또는 8 바이트 그래서. 72 00:03:14,250 --> 00:03:17,480 이것은 단지 당신도 나타낼 수 있다는 것을 의미합니다 큰 수, 더 큰 양수 또는 73 00:03:17,480 --> 00:03:19,160 더 큰 음수. 74 00:03:19,160 --> 00:03:20,060 >> 그리고 방법에 대해 떠? 75 00:03:20,060 --> 00:03:22,260 즉, 부동 소수점의 32 비트의 값입니다. 76 00:03:22,260 --> 00:03:25,180 이것은 뭔가, 그냥 실수입니다 소수점. 77 00:03:25,180 --> 00:03:30,100 하지만 대신 더 많은 장소를 필요로하는 경우 소수점 또는 당신이 원하는 78 00:03:30,100 --> 00:03:33,720 일부와 함께 더 큰 숫자를 나타냅니다 그 이후 분수, 당신은을 사용할 수 있습니다 79 00:03:33,720 --> 00:03:36,260 이중, 이는 64 비트입니다. 80 00:03:36,260 --> 00:03:38,240 >> 하지만 흥미가있다 여기 테이크 아웃. 81 00:03:38,240 --> 00:03:42,890 정수는 32 비트에 의해 제한되는 경우에 긴 시간 걷고 64에 의해 제한됩니다 82 00:03:42,890 --> 00:03:46,180 비트, 그런 종류의 문제는 남죠 당신은 무엇을 실제로 계산하려면 83 00:03:46,180 --> 00:03:48,790 INT에 대한 40 억 이상? 84 00:03:48,790 --> 00:03:50,330 글쎄, 당신은 오래 오래 사용합니다. 85 00:03:50,330 --> 00:03:54,200 하지만 높은 계산 무엇을하려는 경우 64 두 이상, 포기하거나 걸릴? 86 00:03:54,200 --> 00:03:55,810 >> 지금, 그 엄청난 숫자입니다. 87 00:03:55,810 --> 00:03:59,250 결국, 당신은 실제로 수도 , 값의 이러한 종류의 신경 88 00:03:59,250 --> 00:04:03,070 당신은 데이터베이스를 사용하는 경우 특히 그리고 많이하고 많이 수집하기 시작 89 00:04:03,070 --> 00:04:06,190 데이터의 많은 독특한 지정 해당 데이터의 각 부분까지의 숫자. 90 00:04:06,190 --> 00:04:07,430 의 우리 종류의 문제가있다. 91 00:04:07,430 --> 00:04:10,700 유사하게, 부동 소수점 값 - 수레 또는 복식 - 92 00:04:10,700 --> 00:04:14,290 당신은 단지 한정된 수의 가지고있는 경우 비트 얼마나 많은 총 숫자는 수 93 00:04:14,290 --> 00:04:16,980 아마도 표현? 94 00:04:16,980 --> 00:04:19,540 >> 때 음, 덜 분명 소수점을 포함하고 있습니다. 95 00:04:19,540 --> 00:04:20,899 그러나 그것은 확실히 유한이다. 96 00:04:20,899 --> 00:04:24,390 당신은 비트의 한정된 수가있는 경우 인간의 유한 수, 유한 97 00:04:24,390 --> 00:04:27,350 전구의 수는 확실히 할 수 있습니다 전용의 유한 수를 나타냅니다 98 00:04:27,350 --> 00:04:28,510 부동 소수점 값. 99 00:04:28,510 --> 00:04:33,170 그러나 얼마나 많은 실수 자신이 세계에서입니까? 100 00:04:33,170 --> 00:04:33,680 무한이있다. 101 00:04:33,680 --> 00:04:37,280 그래서 문제가 일종의 때문에 우리 무한한 금액이 없습니다 102 00:04:37,280 --> 00:04:39,970 메모리 또는 우리의 컴퓨터의 내부 RAM. 103 00:04:39,970 --> 00:04:41,780 그래서 몇 가지 어려운 일들이 발생할 수 있습니다. 104 00:04:41,780 --> 00:04:43,900 >> 그러니 가서 봅시다 여기를 표현한다. 105 00:04:43,900 --> 00:04:46,240 내가 가서 gedit를 열어 보자. 106 00:04:46,240 --> 00:04:50,360 내가 가서 파일을 저장하려고 해요 "floats0.c"다만 수라고 107 00:04:50,360 --> 00:04:54,630 이다 예와 일치 당신이 좋아 한 경우에 온라인으로. 108 00:04:54,630 --> 00:04:58,080 그리고 앞서 갈 건데 다음과 같이 정의 - 109 00:04:58,080 --> 00:05:01,540 나는 중간, 가서 말할거야 주요 무효, 우리는 종종처럼. 110 00:05:01,540 --> 00:05:07,190 >> 그리고이 프로그램에, 내가 갈거야 자신에게 떠 선언, 32 비트 때문에 111 00:05:07,190 --> 00:05:09,700 변수 임의로 F했다. 112 00:05:09,700 --> 00:05:13,910 그리고 나는 그것을에 저장거야 나는 십분 때문에 0.1 모르겠어요. 113 00:05:13,910 --> 00:05:16,590 그래서 내가 표현하려고 해요 그 하나 10로 나눈하는 완벽하다 114 00:05:16,590 --> 00:05:17,790 C. 정당한 115 00:05:17,790 --> 00:05:20,460 >> 그리고 두 번째 줄에, 나는 단순히 그 값을 출력하고 싶습니다. 116 00:05:20,460 --> 00:05:22,950 그래서 우리가 사용할 수있는 기억 printf를 알고. 117 00:05:22,950 --> 00:05:25,420 우리는 int i에 %를 사용하지 않습니다. 118 00:05:25,420 --> 00:05:28,360 우리는 플로트를 위해 % f를 사용하고 싶습니다. 119 00:05:28,360 --> 00:05:33,080 그리고 나서, 백 슬래시 N을 할거야 닫기 따옴표, 쉼표, F, 세미콜론. 120 00:05:33,080 --> 00:05:34,400 >> 그래서 여기 내 프로그램이다. 121 00:05:34,400 --> 00:05:35,820 하나의 버그가 이미 있습니다. 122 00:05:35,820 --> 00:05:38,640 수행이 클릭 누구를위한 사람 이미 적어도 지적 할 123 00:05:38,640 --> 00:05:40,220 버그 하나 내가 만든거야? 124 00:05:40,220 --> 00:05:42,470 그래? 125 00:05:42,470 --> 00:05:42,800 그래. 126 00:05:42,800 --> 00:05:47,860 나는에 "# 포함"잊고 내가하려고하면 그 중 최고, 그들은 증상 127 00:05:47,860 --> 00:05:50,490 이 컴파일이 될 것을 컴파일러는 나에게 호통 것입니다 128 00:05:50,490 --> 00:05:52,770 정의되지 않은 기호 또는 말 그 효과가 뭔가. 129 00:05:52,770 --> 00:05:55,360 무언가를 이해하지 않습니다 printf를 좋아한다. 130 00:05:55,360 --> 00:05:59,380 >> 그래서 나는 # 포함 "할거야 "파일을 저장합니다. 131 00:05:59,380 --> 00:06:00,400 지금은 더 나은 모양이다. 132 00:06:00,400 --> 00:06:02,690 그러나 나는 또한 지적거야 중 하나의 새로운 세부 오늘. 133 00:06:02,690 --> 00:06:08,620 장소를 지정하는 것 외에도 % f를 % I % s이 같은 홀더, 당신은 할 수 있습니다 134 00:06:08,620 --> 00:06:12,320 때로는 행동에 영향을 그 자리의. 135 00:06:12,320 --> 00:06:15,540 예를 들어, 부동의 경우 포인트 값, I만을 원하신다면 136 00:06:15,540 --> 00:06:22,200 후 소수 자릿수를 표시합니다 기간, 사실은 0.1F 할 수 있습니다. 137 00:06:22,200 --> 00:06:26,830 그래서 다른 말로하면, 내가 F를 분리하고 단지 0.1와 백분율 기호, 138 00:06:26,830 --> 00:06:30,200 printf를 말하고, 당신은 전체가있을 수 있습니다 소수점 이후 숫자의 무리 139 00:06:30,200 --> 00:06:30,930 나를 가리 킵니다. 140 00:06:30,930 --> 00:06:32,870 하지만 그 중 하나를보고 싶어요. 141 00:06:32,870 --> 00:06:36,280 >> 그래서 지금 가서 저장하겠습니다 이 프로그램은 내 터미널로 이동 142 00:06:36,280 --> 00:06:41,870 창, 내가 먼저 갈거야 및 유형을 입력, 플로트 0을합니다. 143 00:06:41,870 --> 00:06:44,930 그 약간 이상한 라인을 볼 수 우리는 같은 더 이해하기 시작합니다 144 00:06:44,930 --> 00:06:46,900 이번 주 옆에 떨어져 애타게. 145 00:06:46,900 --> 00:06:50,480 지금 앞서 갈거야 그리고 플로트 제로를 실행합니다. 146 00:06:50,480 --> 00:06:52,020 그리고 빌어 먹을. 147 00:06:52,020 --> 00:06:54,880 >> 그래서 또 다른 버그가있다 여기에 몇 가지 이유. 148 00:06:54,880 --> 00:07:02,490 그 십분의 확신, 또는 10으로 나눈 하나 0.0하지 않습니다. 149 00:07:02,490 --> 00:07:04,590 어쩌면 난 그냥 찾고 있어요 충분한 숫자에서. 150 00:07:04,590 --> 00:07:08,580 왜 저는 두 .2 두 볼 말을하지 않습니다 소수점 대신 중 하나입니다. 151 00:07:08,580 --> 00:07:11,810 내 터미널 창으로 돌아 가자 여기에 몇 번을 누르 152 00:07:11,810 --> 00:07:12,840 내 기록을 참조하십시오. 153 00:07:12,840 --> 00:07:15,910 다시 제로 부동해야합니까, 그리고 위로 다시. 154 00:07:15,910 --> 00:07:17,730 지금 입력합니다. 155 00:07:17,730 --> 00:07:20,000 >> 지금은이 잘못된 것입니다 확신 해요. 156 00:07:20,000 --> 00:07:23,030 그리고 셋, 넷을 할 수 있고, 난 아마 제로를보고 유지하는 것. 157 00:07:23,030 --> 00:07:24,880 그래서 버그는 어디? 158 00:07:24,880 --> 00:07:27,910 10으로 나눈 하나는 0.1이어야한다. 159 00:07:27,910 --> 00:07:30,310 누군가가 무엇 자상을 할 근본적인 문제는? 160 00:07:30,310 --> 00:07:32,400 그래? 161 00:07:32,400 --> 00:07:33,420 그들은 모두 정수입니다. 162 00:07:33,420 --> 00:07:33,920 그래서 뭐? 163 00:07:33,920 --> 00:07:37,820 그래서의 10으로 나눈 하나와 나는 산수 무엇. 164 00:07:37,820 --> 00:07:41,185 그리고 0.1을 얻는다. 165 00:07:41,185 --> 00:07:41,660 >> 그래. 166 00:07:41,660 --> 00:07:43,240 그리고 그것은 참으로 그 문제입니다. 167 00:07:43,240 --> 00:07:46,700 당신은 컴퓨터의 정수를 취할 때 그리고 당신은 다른 정수로 나누면 168 00:07:46,700 --> 00:07:50,430 기본적으로 컴퓨터가가는 정수를 원하는 가정합니다. 169 00:07:50,430 --> 00:07:54,620 하지만 문제는 물론, 0.1 정수입니다. 170 00:07:54,620 --> 00:07:55,680 그것은 실수입니다. 171 00:07:55,680 --> 00:07:59,610 그리고 컴퓨터로 무엇을 이렇게한다 기본값은 그냥 멀리 throw되는 경우 172 00:07:59,610 --> 00:08:01,070 소수점 다. 173 00:08:01,070 --> 00:08:03,380 그것은 그 자체를 원형 또는 최대되지 않습니다. 174 00:08:03,380 --> 00:08:06,480 그것은 단지 모든 것을 멀리 던졌습니다 소수점. 175 00:08:06,480 --> 00:08:07,430 그리고 지금 말이. 176 00:08:07,430 --> 00:08:09,740 지금 우리는 분명히이기 때문에 제로로 떠났다. 177 00:08:09,740 --> 00:08:10,250 >> 그러나 분을 기다립니다. 178 00:08:10,250 --> 00:08:11,840 내가 INT 제로 표시되지 않습니다. 179 00:08:11,840 --> 00:08:14,910 실제로 0.00를보고 있어요. 180 00:08:14,910 --> 00:08:16,340 그렇다면 지금이 조정합니까? 181 00:08:16,340 --> 00:08:22,850 10으로 나눈 하나는 0입니다,하지만 난 경우 0.00를보고, 어디서 받고있다 182 00:08:22,850 --> 00:08:24,250 실수로 변환? 183 00:08:24,250 --> 00:08:25,500 그래. 184 00:08:25,500 --> 00:08:29,850 185 00:08:29,850 --> 00:08:30,630 정확히. 186 00:08:30,630 --> 00:08:35,600 >> 그래서 여기까지 라인 다섯, 나는 사실에 0.1, 그 어떤 것을 저장 187 00:08:35,600 --> 00:08:39,549 내부 부동의 0으로 절단, 그에게 효과적으로 상당의 188 00:08:39,549 --> 00:08:42,100 INT로하지 저장하지만, 실제로, float로서. 189 00:08:42,100 --> 00:08:46,540 또한, 그 다음에 printf를 사용하고 있습니다 명시 적으로 두 가지에 해당 번호를 인쇄 190 00:08:46,540 --> 00:08:49,740 소수점 비록이 실제로되지 않을 수 있습니다. 191 00:08:49,740 --> 00:08:51,020 >> 짜증 그래서 이런 종류의, 오른쪽? 192 00:08:51,020 --> 00:08:53,640 분명히 당신은 수학을 할 수 없습니다 최소한이 수준에서 193 00:08:53,640 --> 00:08:55,600 컴퓨터 정밀. 194 00:08:55,600 --> 00:08:56,930 그러나 확실하게 해결책이있다. 195 00:08:56,930 --> 00:09:00,410 우리는 어쩌면 수 간단한 수정은 무엇입니까 에 그냥 직관적으로 여기에서도 수행 196 00:09:00,410 --> 00:09:01,130 이 문제를 해결? 197 00:09:01,130 --> 00:09:02,380 그래? 198 00:09:02,380 --> 00:09:04,700 199 00:09:04,700 --> 00:09:06,574 에 정수를 돌려 - 200 00:09:06,574 --> 00:09:06,976 그래. 201 00:09:06,976 --> 00:09:10,420 나는 무엇을 아주 확실하지 않다하더라도 경우 정말 여기에 가고 그 202 00:09:10,420 --> 00:09:13,440 근본적으로이 모두를 할 수있다 정수되고, 음, 왜하지 203 00:09:13,440 --> 00:09:18,230 10.0 본을 만드는 것을 만들 1.0 파일을 다시 저장. 204 00:09:18,230 --> 00:09:20,990 내게로 내려 가자 바닥 컴파일합니다. 205 00:09:20,990 --> 00:09:23,030 내가 지금 다시 실행하자. 206 00:09:23,030 --> 00:09:23,420 그리고 거기 - 207 00:09:23,420 --> 00:09:27,690 지금, 나는 십분 있어요 0.10로 표현. 208 00:09:27,690 --> 00:09:28,420 >> 좋아. 209 00:09:28,420 --> 00:09:29,220 그래서 나쁜 아니다. 210 00:09:29,220 --> 00:09:31,730 나 하나의 다른 방법을 지적하자 우리는이 문제를 해결할 수 있었다. 211 00:09:31,730 --> 00:09:35,580 내가 실제로 시간을 롤백하자 우리는 하나이 있었을 때에 212 00:09:35,580 --> 00:09:36,680 열 번째 순간 전. 213 00:09:36,680 --> 00:09:40,800 그리고 내가 가서이 파일을 다시 저장하자 단지에 다른 파일 이름으로 214 00:09:40,800 --> 00:09:41,750 작은 체크 포인트가있다. 215 00:09:41,750 --> 00:09:43,450 그래서 버전이었다. 216 00:09:43,450 --> 00:09:45,520 그리고 지금 저를 진행시켜 하나 이상의 버전을 수행하십시오. 217 00:09:45,520 --> 00:09:48,540 우리는이 버전을 호출합니다 2 0은 인덱스. 218 00:09:48,540 --> 00:09:51,280 >> 그리고 내가 대신 할거야 이 - 당신이 뭘 알아? 219 00:09:51,280 --> 00:09:54,400 점 제로를 추가하면이 경우에 작동합니다. 220 00:09:54,400 --> 00:09:56,060 그러나 하나의 변수가 있었다 가정합니다. 221 00:09:56,060 --> 00:09:57,680 가정 10 변수 하였다. 222 00:09:57,680 --> 00:10:00,680 즉, 내가 할 수없는 가정 말 그대로 하드 코드 .0 223 00:10:00,680 --> 00:10:02,340 이 연산 식의. 224 00:10:02,340 --> 00:10:05,820 글쎄, 나는 실제로 뭔가를 할 수 괄호로 주조했다. 225 00:10:05,820 --> 00:10:11,920 나는 float로 그 정수를 10 캐스팅 할 수 있습니다 그리고 난에 그 정수를 변환 할 수 있습니다 226 00:10:11,920 --> 00:10:12,800 플로트,뿐만 아니라. 227 00:10:12,800 --> 00:10:17,190 그런 다음 할 것 수학 효과적으로 10.0로 나눈 1.0는, 228 00:10:17,190 --> 00:10:19,250 가는 결과 이전과 F한다. 229 00:10:19,250 --> 00:10:26,130 나는이 같은 수레을 다시 컴파일 그렇다면 2, 지금 2 수레, 같은을 230 00:10:26,130 --> 00:10:27,020 뿐만 아니라, 대답합니다. 231 00:10:27,020 --> 00:10:29,640 >> 그래서 이것은 매우 인위적인 예입니다 이 문제를 해결하려면 232 00:10:29,640 --> 00:10:31,400 캐스팅을 도입하여. 233 00:10:31,400 --> 00:10:34,410 그러나 일반적으로 캐스팅 될 것 특히위한 강력한 것, 234 00:10:34,410 --> 00:10:38,180 문제는 때, 일주일의 시간에 두 설정 당신은 하나의 데이터 형식을 변환 할 235 00:10:38,180 --> 00:10:41,800 또 그 하루의 끝에 같은 방식으로 표현됩니다. 236 00:10:41,800 --> 00:10:44,970 일, 하나 하나의 끝 우리가 지금까지 이야기 한 것입니다 237 00:10:44,970 --> 00:10:46,710 후드 아래에 바로 정수. 238 00:10:46,710 --> 00:10:48,950 아니면 너무 낮은 수준의 경우 당신은, 그들은 단지 숫자입니다 239 00:10:48,950 --> 00:10:49,750 후드 아래에. 240 00:10:49,750 --> 00:10:52,850 심지어 문자가 다시 호출 주 0부터 숫자는 241 00:10:52,850 --> 00:10:53,990 후드 아래에. 242 00:10:53,990 --> 00:10:57,240 >> 말되는, 우리 사이의 변환을 할 수 있습니다 숫자의 다양한 유형의 경우 243 00:10:57,240 --> 00:10:58,060 그들은 단지 비트입니다. 244 00:10:58,060 --> 00:11:01,020 우리는 숫자 사이의 변환을 할 수 있습니다 와 문자 그들은 단지 있다면 245 00:11:01,020 --> 00:11:02,580 비트, 그 반대의 경우도 마찬가지입니다. 246 00:11:02,580 --> 00:11:07,170 이 방법으로 주조하는 기계입니다 프로그래밍이 강제를 할 수 있습니다 247 00:11:07,170 --> 00:11:10,970 다른 하나의 데이터 형식을 변경합니다. 248 00:11:10,970 --> 00:11:14,570 불행하게도,이되지 않습니다로 내가 좋아하는 수도로 간단. 249 00:11:14,570 --> 00:11:19,220 >> 나는 수레에 다시 갈거야 1, 이는 더 간단했다 250 00:11:19,220 --> 00:11:22,830 와 간단 하나 0.0 각에 추가됩니다. 251 00:11:22,830 --> 00:11:25,260 그리고 그냥 빨리 원기를 회복시키는 등, 내가 가서 다시 컴파일하자 252 00:11:25,260 --> 00:11:27,670 이것은 수레 2 - 2 - 253 00:11:27,670 --> 00:11:30,300 죄송합니다,이 수레 1 - 1입니다. 254 00:11:30,300 --> 00:11:32,050 그리고 지금의 수레 1을 실행하자. 255 00:11:32,050 --> 00:11:34,810 그리고 하단에 통지 난 정말 0.1을 얻을. 256 00:11:34,810 --> 00:11:36,165 그럼, 문제는 해결했습니다. 257 00:11:36,165 --> 00:11:37,280 >> 하지만 아직 없음. 258 00:11:37,280 --> 00:11:40,000 지금, 약간의 호기심받을거야 그리고 내가 다시 갈거야 259 00:11:40,000 --> 00:11:41,620 printf의 문 말, 당신은 무엇을 알고 있습니까? 260 00:11:41,620 --> 00:11:44,090 그이를 확인하고 싶습니다 십분 정말이다. 261 00:11:44,090 --> 00:11:47,890 그리고이보고 싶은거야 로, 다섯 개의 소수 자릿수를 말한다. 262 00:11:47,890 --> 00:11:48,570 그것은 문제가되지 않습니다. 263 00:11:48,570 --> 00:11:52,020 나는 다섯 개의 변경 내가 만들기로 컴파일합니다. 264 00:11:52,020 --> 00:11:53,770 나는 1을 떠 다시 실행하십시오. 265 00:11:53,770 --> 00:11:54,990 꽤 좋은 찾고 있습니다. 266 00:11:54,990 --> 00:11:58,570 내 전성 검사가 끝날 수도 있겠지만 좀 더 많은 모험을 얻고있다. 267 00:11:58,570 --> 00:12:00,330 나는 0.10-0.5을 변경하는거야. 268 00:12:00,330 --> 00:12:03,440 나는 후 10 자리를보고 싶어 소수점 자리. 269 00:12:03,440 --> 00:12:09,060 >> 내가 가서 다시 컴파일 할거야 이 다시 실행 1 수레. 270 00:12:09,060 --> 00:12:13,060 후회의 I 종류이 테스트 한 내 수학 그렇지 않다 더 때문에 271 00:12:13,060 --> 00:12:14,320 더 이상 수정, 그것은 보인다. 272 00:12:14,320 --> 00:12:15,630 하지만 어쩌면, 잠깐만 그건 그냥 우연이다. 273 00:12:15,630 --> 00:12:17,810 아마 컴퓨터 역할 조금 이상한. 274 00:12:17,810 --> 00:12:21,810 내가 가서 20 소수점하자 내가 알고있는 나 자신을 안심 275 00:12:21,810 --> 00:12:22,540 수학을 수행하는 방법에 대해 설명합니다. 276 00:12:22,540 --> 00:12:23,460 내가 프로그래밍하는 방법을 알고있다. 277 00:12:23,460 --> 00:12:26,960 수레 1, 컴파일을하고, 젠장. 278 00:12:26,960 --> 00:12:31,110 정말 즉, 정말 점점 멀리 마크에서. 279 00:12:31,110 --> 00:12:32,490 >> 그래서 여기거야? 280 00:12:32,490 --> 00:12:36,050 직관적으로, 우리의 가정을 기반으로 데이터 유형의 크기에 대한 이전, 281 00:12:36,050 --> 00:12:38,040 여기에 무슨 일해야합니다 후드 아래? 282 00:12:38,040 --> 00:12:39,290 그래? 283 00:12:39,290 --> 00:12:43,000 284 00:12:43,000 --> 00:12:43,590 정확히. 285 00:12:43,590 --> 00:12:46,480 당신이 더 정밀도를 원하는 경우 그 정밀도가 많아서이다 - 286 00:12:46,480 --> 00:12:48,770 소수점 20 숫자. 287 00:12:48,770 --> 00:12:51,990 당신은 가능성을 나타낼 수 없습니다 당신이 없으면 임의의 숫자 288 00:12:51,990 --> 00:12:52,930 비트의 임의의 숫자. 289 00:12:52,930 --> 00:12:54,190 그러나 우리는하지 않습니다. 290 00:12:54,190 --> 00:12:57,200 플로트, 우리는 32 비트가 있습니다. 291 00:12:57,200 --> 00:13:02,260 >> 32 비트는로 치환되는 할 수 있도록하는 경우 방법 - 단지 우리 인간처럼의 무대 292 00:13:02,260 --> 00:13:05,780 손을 위로 또는 아래로 - 유한 한 수의 방법, 유한 수는있다 293 00:13:05,780 --> 00:13:08,640 실제 숫자는 표현할 수 이러한 비트. 294 00:13:08,640 --> 00:13:10,500 그리고 컴퓨터의 최후 에해야 할 것입니다 295 00:13:10,500 --> 00:13:11,730 모서리를 절단 시작합니다. 296 00:13:11,730 --> 00:13:15,500 컴퓨터는 이러한 세부 정보를 숨길 수 있습니다 약간의 시간에 대한 우리의. 297 00:13:15,500 --> 00:13:18,880 그러나 우리는 숫자에 파고 시작하면 그리고 멀리 그리고 멀리에서 찾고 298 00:13:18,880 --> 00:13:23,220 전체 숫자의 번호를 후행, 그리고 우리는 그것이 있다고보고 시작 299 00:13:23,220 --> 00:13:26,480 실제로 근사치 십분의 아이디어. 300 00:13:26,480 --> 00:13:29,860 >> 그리고 그것은 밝혀, 비극적있다 숫자의 무한한 수 301 00:13:29,860 --> 00:13:35,060 우리는에 정확하게 나타낼 수 없습니다 적어도 유한과 컴퓨터 302 00:13:35,060 --> 00:13:38,030 비트 수, 유한 RAM의 양입니다. 303 00:13:38,030 --> 00:13:41,210 지금 불행히도,이 때로는 실제 결과가 있습니다. 304 00:13:41,210 --> 00:13:45,980 사람들은 확실히이 감사하지 않은 경우 사실 부여 또는 정렬의 수행 305 00:13:45,980 --> 00:13:48,310 자신의 컴퓨터가 그냥 할 것이다 무엇 그들이 수행하고 안 할 말 306 00:13:48,310 --> 00:13:51,430 이러한 기본을 이해 표현 세부 사항 - 307 00:13:51,430 --> 00:13:55,290 솔직히, 어떤 언어에있는 C는 달리, 사용자에게 표시 - 308 00:13:55,290 --> 00:13:56,500 나쁜 일이 발생할 수 있습니다. 309 00:13:56,500 --> 00:13:58,650 >> 그리고 나는 우리가 뭘 해야할지 생각 단계를 다시 수행합니다. 310 00:13:58,650 --> 00:14:00,420 그리고 이것은 약 8 분 동영상. 311 00:14:00,420 --> 00:14:04,200 그것은 몇 년 전 방영하고 있습니다 갈 수 실제로 무엇에 대한 통찰력 312 00:14:04,200 --> 00:14:09,290 문제는 이러한 과소 평가할 때 아주 모든도에있는 세부 사항의 종류 313 00:14:09,290 --> 00:14:10,080 현실 세계. 314 00:14:10,080 --> 00:14:12,965 등 우리가 할 수 희미한 경우 몇 분 동안. 315 00:14:12,965 --> 00:14:14,360 >> 스피커 1 : 우리는 지금 기술로 복귀 316 00:14:14,360 --> 00:14:17,160 현대 놀라운 일에 재해. 317 00:14:17,160 --> 00:14:18,680 >> 컴퓨터 - 318 00:14:18,680 --> 00:14:21,340 우리는을 받​​아 왔어요 자주 좌절 문제 319 00:14:21,340 --> 00:14:23,170 그들과 함께 그 이동합니다. 320 00:14:23,170 --> 00:14:27,570 버그, 바이러스, 소프트웨어 고장 을 지불 할 작은 가격입니다 321 00:14:27,570 --> 00:14:28,960 편리. 322 00:14:28,960 --> 00:14:32,040 그러나 첨단 기술과 높은 속도 군용 및 스페이스 프로그램 323 00:14:32,040 --> 00:14:38,650 응용 프로그램, 작은 문제 재해로 확대 할 수 있습니다. 324 00:14:38,650 --> 00:14:44,480 >> 1996년 6월 4일에, 과학자들은 준비를 무인 아리안 5 로켓을 시작합니다. 325 00:14:44,480 --> 00:14:48,700 그것은 과학 위성을 운반했다 방법을 정확하게 설정할 수 있도록 설계 326 00:14:48,700 --> 00:14:53,250 지구 자기장의 상호 작용 태양 바람과 함께. 327 00:14:53,250 --> 00:14:57,540 로켓은 유럽을 위해 만들어진 우주국과에서 떠낸 328 00:14:57,540 --> 00:14:59,906 해안 시설 프랑스어 기아나. 329 00:14:59,906 --> 00:15:03,660 >> JACK GANSSLE : 약 37 초에 비행, 그들은 먼저 발견 330 00:15:03,660 --> 00:15:04,910 뭔가 잘못 가고 있었다. 331 00:15:04,910 --> 00:15:08,130 노즐의 선회했다 방법은 정말 안됩니다. 332 00:15:08,130 --> 00:15:12,380 비행에 40초 정도, 분명히 자동차 문제에 있었다. 333 00:15:12,380 --> 00:15:14,400 그들은 한 때 그건 그것을 파괴하는 결정. 334 00:15:14,400 --> 00:15:18,520 와 범위 안전 책임자, 엄청난 용기가, 버튼을 누르면 335 00:15:18,520 --> 00:15:23,900 그것은 수 있기 전에 로켓을 날려 공공 안전에 위험이된다. 336 00:15:23,900 --> 00:15:27,810 >> 스피커 : 1이 처녀 항해했다 아리안 5, 그것의 파괴 337 00:15:27,810 --> 00:15:32,020 때문에 임베디드 결함으로 일어났다 로켓의 소프트웨어합니다. 338 00:15:32,020 --> 00:15:33,980 >> JACK GANSSLE : 아리안의 문제 수 있다는 것을습니다 339 00:15:33,980 --> 00:15:36,390 이 필요한 64 비트 표현. 340 00:15:36,390 --> 00:15:39,420 그리고 그들은 변환 할 싶어 16 비트 숫자. 341 00:15:39,420 --> 00:15:43,130 그들은 수는 없었던 것으로 간주 매우 큰 될 것을 대부분의 342 00:15:43,130 --> 00:15:46,810 64 비트의 그 자리 수는 제로이었다. 343 00:15:46,810 --> 00:15:48,270 그들은 잘못되었습니다. 344 00:15:48,270 --> 00:15:51,380 >> 스피커 1 : 하나의 소프트웨어의 무능력 종류의를 수락 프로그램 345 00:15:51,380 --> 00:15:55,350 다른에 의해 생성 된 숫자였다 실패의 루트에. 346 00:15:55,350 --> 00:15:59,970 소프트웨어 개발은​​ 매우되었다 새로운 기술의 비용이 많이 드는 부분입니다. 347 00:15:59,970 --> 00:16:03,980 아리안 4 로켓은 매우 있었다 소프트웨어를 성공적으로, 너무 많은 348 00:16:03,980 --> 00:16:07,480 또한이었습니다 위해 만든 아리안 5에 사용됩니다. 349 00:16:07,480 --> 00:16:11,980 >> 필립 코일 : 기본 문제가 발생했습니다 아리안 5, 빨리했다 350 00:16:11,980 --> 00:16:13,720 빠른 가속. 351 00:16:13,720 --> 00:16:17,250 그리고 소프트웨어는 않았다 그를 차지했다. 352 00:16:17,250 --> 00:16:20,770 >> 스피커 : 1 로켓의 파괴 , 거대한 금융 재앙이었다 353 00:16:20,770 --> 00:16:24,200 분 소프트웨어 오류 때문에 모든. 354 00:16:24,200 --> 00:16:27,820 그러나 처음 데이터 아니었다 변환 문제는 현대 괴롭혀했다 355 00:16:27,820 --> 00:16:30,620 로켓 기술입니다. 356 00:16:30,620 --> 00:16:34,480 >> JACK GANSSLE : 1991 년, 시작과 첫 번째 걸프 전쟁, 애국의 357 00:16:34,480 --> 00:16:38,610 미사일은 비슷한 종류의 경험 숫자 변환 문제. 358 00:16:38,610 --> 00:16:44,910 그 결과로, 28 미국의 군인이었다 사망하고 약 100 기타 부상 359 00:16:44,910 --> 00:16:48,600 시했는데 애국자, 수신 스커드에 대하여 보호하기 위하여, 360 00:16:48,600 --> 00:16:51,630 미사일을 발사하지 못했습니다. 361 00:16:51,630 --> 00:16:55,110 >> 스피커 1 : 이라크는 쿠웨이트를 침공 때 미국은 사막의 폭풍 시작 362 00:16:55,110 --> 00:17:00,570 초기 1991 패트리어트 미사일 배터리 사우디 아라비아를 보호하기 위해 배포 된 363 00:17:00,570 --> 00:17:04,760 이라크 스커드에서 이스라엘 미사일 공격. 364 00:17:04,760 --> 00:17:09,720 패트리어트는 미국의 중간 범위 에 의해 제조 지대공 시스템 365 00:17:09,720 --> 00:17:11,569 레이 시온 회사입니다. 366 00:17:11,569 --> 00:17:16,410 >> THEODORE POSTOL : 애국자의 크기 인터셉터 자체가 약이다 367 00:17:16,410 --> 00:17:17,710 20 피트. 368 00:17:17,710 --> 00:17:20,800 그리고 그것은 대략 2000의 파운드의 무게. 369 00:17:20,800 --> 00:17:22,940 그리고 그것은 정도의 탄두를 운반 - 370 00:17:22,940 --> 00:17:24,905 나는 대략 1백50파운드 생각합니다. 371 00:17:24,905 --> 00:17:31,030 그리고 탄두 자체는 이 고성능 폭약 372 00:17:31,030 --> 00:17:33,270 주위 조각. 373 00:17:33,270 --> 00:17:37,490 탄두의 케이싱 설계 사슴 사냥 용 총알처럼 행동합니다. 374 00:17:37,490 --> 00:17:40,720 >> 스피커 1 : 미사일 네 수행됩니다 컨테이너 당과 수송된다 375 00:17:40,720 --> 00:17:43,050 세미 트레일러 있습니다. 376 00:17:43,050 --> 00:17:47,490 >> 필립 코일 : 패트리어트 미사일 방어 시스템에서 돌아 간다 377 00:17:47,490 --> 00:17:50,710 적어도 지금 이십년. 378 00:17:50,710 --> 00:17:54,350 그것은 원래로 설계되었습니다 에 방공 미사일 379 00:17:54,350 --> 00:17:56,190 적의 비행기를 격추. 380 00:17:56,190 --> 00:18:02,490 첫 번째 걸프 전쟁 때, 그 전쟁 함께 온 군대가 사용하고 싶어 381 00:18:02,490 --> 00:18:05,535 스커드 미사일이 아니라 비행기를 격추한다. 382 00:18:05,535 --> 00:18:09,310 이라크 공군이 아니었다 문제가 너무 많은. 383 00:18:09,310 --> 00:18:12,450 그러나 육군은 스커드에 대해 걱정했다. 384 00:18:12,450 --> 00:18:15,950 그래서 그들은 업그레이드하려 애국자. 385 00:18:15,950 --> 00:18:18,750 >> 스피커 1 : 적의 미사일을 가로 채기 마하 5시에 여행하는 것은이었다 386 00:18:18,750 --> 00:18:20,890 충분히 도전 할 것. 387 00:18:20,890 --> 00:18:25,590 그러나 패트리어트으로 돌진 할 때 서비스,​​ 육군의 인식되지 않았습니다 388 00:18:25,590 --> 00:18:31,710 자신을 만들어 이라크 수정 칠 거의 불가능 스커드. 389 00:18:31,710 --> 00:18:35,240 >> THEODORE POSTOL : 무슨 일이 했다 스커드입니다 390 00:18:35,240 --> 00:18:36,570 에오고 불안정했다. 391 00:18:36,570 --> 00:18:37,532 그들은 흔들되었다. 392 00:18:37,532 --> 00:18:43,220 그 이유는에 이라크했다 의 600km를 얻기 위해 393 00:18:43,220 --> 00:18:47,530 300 킬로미터의 미사일은 갔다 전면 탄두 밖으로 무게. 394 00:18:47,530 --> 00:18:49,290 그들은 탄두를 경량화했다. 395 00:18:49,290 --> 00:18:53,110 그래서 지금 애국자하려고 스커드에 올 수 있습니다. 396 00:18:53,110 --> 00:18:56,470 그리고 대부분의 시간, 압도적 시간의 대부분은, 그냥 것 397 00:18:56,470 --> 00:18:58,730 스커드에 의해 비행. 398 00:18:58,730 --> 00:19:01,760 >> 스피커 1 : 일단 패트리어트 시스템 연산자는 애국자가 놓친 실현 399 00:19:01,760 --> 00:19:06,690 목표, 그들은 애국자 폭발 가능한 한 피하기 위해 탄두 400 00:19:06,690 --> 00:19:10,300 이 허용 된 경우 사상자 땅에 떨어지지합니다. 401 00:19:10,300 --> 00:19:14,540 >> THEODORE POSTOL : 무엇을 가장했다 사람들은 하늘에서 큰 불 덩어리로 보았다 402 00:19:14,540 --> 00:19:20,350 및 차단 오해 스커드 탄두의. 403 00:19:20,350 --> 00:19:23,320 >> 스피커 1 : 밤 하늘에 있지만 애국자가 성공적 것으로 나타났다 404 00:19:23,320 --> 00:19:27,530 거기 다란에서 스커드 미사일을 파괴 의에 대한 실수가 될 수 없었다 405 00:19:27,530 --> 00:19:29,140 성능을 제공합니다. 406 00:19:29,140 --> 00:19:34,180 , 애국의 레이더 시스템이 손실 수신 스커드의 추적 결코 407 00:19:34,180 --> 00:19:36,380 소프트웨어 결함으로 인해 시작했다. 408 00:19:36,380 --> 00:19:39,890 409 00:19:39,890 --> 00:19:42,700 >> 먼저 발견 한 이스라엘이었다 이 시스템 이상 410 00:19:42,700 --> 00:19:48,020 , 큰 시간 차이에 있었다 시계로 인해되었다 411 00:19:48,020 --> 00:19:50,470 시스템의 컴퓨터에 내장. 412 00:19:50,470 --> 00:19:54,640 >> JACK GANSSLE : 약 2 주 전에 다란, 이스라엘의 비극 413 00:19:54,640 --> 00:19:58,440 국방부에보고 시스템 시간을 잃고되었다. 414 00:19:58,440 --> 00:20:01,280 실행중인 약 8 시간 후, 그들은 시스템이 나타났습니다 415 00:20:01,280 --> 00:20:03,530 눈에 띄게 덜 정확 해지고. 416 00:20:03,530 --> 00:20:07,710 국방부에 의해 응답 애국 건전지를 모두 이야기 417 00:20:07,710 --> 00:20:10,500 시스템을 남기지하기 오랜 시간에. 418 00:20:10,500 --> 00:20:12,430 그들은 오랜 시간이 있었는지 말하지 마십시오. 419 00:20:12,430 --> 00:20:13,330 여덟 시간? 420 00:20:13,330 --> 00:20:13,810 10시간? 421 00:20:13,810 --> 00:20:14,990 1천시간? 422 00:20:14,990 --> 00:20:17,150 아무도 알지 못했다. 423 00:20:17,150 --> 00:20:20,220 >> 스피커 1 : 애국 배터리가 주둔 다란의 병영에서 424 00:20:20,220 --> 00:20:24,660 그 결함 내부 시계가 있었다 의 밤에 100 시간 이상에 425 00:20:24,660 --> 00:20:27,470 2 월 월 25 일. 426 00:20:27,470 --> 00:20:31,770 >> JACK GANSSLE : 그것은 시간을 추적 두 번째의 10 분의 1에 대한 정확성. 427 00:20:31,770 --> 00:20:34,480 이제, 두 번째의 10 분의 1이다 그것은 수 없기 때문에 흥미 번호 428 00:20:34,480 --> 00:20:39,940 이진수로 정확하게 표현하는 수단 그것은 정확하게 표현 할 수 없습니다 429 00:20:39,940 --> 00:20:42,500 현대의 디지털 컴퓨터. 430 00:20:42,500 --> 00:20:46,920 믿기​​ 어렵지만, 예를 들어이 기능을 사용. 431 00:20:46,920 --> 00:20:49,000 의이 수를 한 세번째 보자. 432 00:20:49,000 --> 00:20:53,150 삼분의이 표현 할 수 없습니다 정확히 진수있다. 433 00:20:53,150 --> 00:20:57,500 한 세 번째는 0.333 것입니다 무한대합니다. 434 00:20:57,500 --> 00:21:02,270 로 그 작업을 수행하는 방법은 없습니다 소수의 절대 정확도. 435 00:21:02,270 --> 00:21:05,370 그게 바로 문제의 동일한 종류의 그 애국자에 일어났다. 436 00:21:05,370 --> 00:21:09,880 더 이상 시스템이 실행 최악의 타임 오류가되었다. 437 00:21:09,880 --> 00:21:13,840 >> 스피커 1 : 100 시간 작동 후, 시간 오류는 있었다 438 00:21:13,840 --> 00:21:16,140 두 번째 중 하나에 대한 세번째. 439 00:21:16,140 --> 00:21:20,800 그러나 측면에서 미사일을 대상으로 마하 5시에 여행, 그것은 결과 440 00:21:20,800 --> 00:21:24,410 600 미터의 추적 오류가 발생했습니다. 441 00:21:24,410 --> 00:21:27,670 그것은에 대한 치명적인 오류가 될 것이다 다란의 군인. 442 00:21:27,670 --> 00:21:33,450 >> THEODORE POSTOL : 무슨 일이있다 스커드 발사 초기에 발견되었습니다 443 00:21:33,450 --> 00:21:34,280 경고 위성. 444 00:21:34,280 --> 00:21:38,550 그리고 그들은 스커드가 온다는 것을 알고 자신의 일반적인 방향으로. 445 00:21:38,550 --> 00:21:41,000 그것이 어디서 비롯된 그들은 몰랐다. 446 00:21:41,000 --> 00:21:43,900 >> 스피커 1 : 그것은 최대 레이더 지금이었다 패트리어트 시스템의 구성 요소 447 00:21:43,900 --> 00:21:48,910 위치를 유지하기 위해 다란 방어 들어오는 적의 미사일 추적 할 수 있습니다. 448 00:21:48,910 --> 00:21:50,580 >> JACK GANSSLE : 레이더 매우 영리했다. 449 00:21:50,580 --> 00:21:53,770 실제로의 위치를​​ 추적 할 다음 스커드과 예측 곳에 450 00:21:53,770 --> 00:21:57,160 아마 다음 시간이 될 것입니다 레이더 펄스를 보냈습니다. 451 00:21:57,160 --> 00:21:58,870 즉,이 범위 문이라고 하였다. 452 00:21:58,870 --> 00:22:04,020 >> THEODORE POSTOL : 그런 애국 회 충분한 시간을 가야 통과 결정 453 00:22:04,020 --> 00:22:09,420 백업 및의 다음 위치를 확인 이 발견 객체는, 그것은 돌아갑니다. 454 00:22:09,420 --> 00:22:14,450 그것은 잘못된으로 돌아갔습니다 할 때 장소는 그 다음에 어떤 객체를 볼 수 없습니다. 455 00:22:14,450 --> 00:22:18,200 그리고 그것은 어떤 개체가 없다고 결정 그것은 거짓 발견했고, 456 00:22:18,200 --> 00:22:19,680 트랙을 삭제합니다. 457 00:22:19,680 --> 00:22:22,970 >> 스피커 1 : 수신 스커드가 사라졌다 레이더 화면에서, 그리고 458 00:22:22,970 --> 00:22:26,050 초 후에는 난리 막사에. 459 00:22:26,050 --> 00:22:31,950 스커드는 28 사망하고 마지막 하나 첫 번째 걸프 전쟁 냈습니다. 460 00:22:31,950 --> 00:22:37,700 안타깝게도, 업데이트 된 소프트웨어가 도착 다란에서 다음 날. 461 00:22:37,700 --> 00:22:41,800 소프트웨어 결함을 수정했다, 고생의 한 장을 마감 462 00:22:41,800 --> 00:22:43,690 패트리어트 미사일의 역사. 463 00:22:43,690 --> 00:22:46,780 464 00:22:46,780 --> 00:22:50,710 >> 애국자 실제로 약자입니다 위상 배열 추적 465 00:22:50,710 --> 00:22:51,960 대상 가로. 466 00:22:51,960 --> 00:22:54,650 467 00:22:54,650 --> 00:23:00,840 >> DAVID J 마란 : 좋아, 그래서 확실하게, 예를 들어 냉정한. 468 00:23:00,840 --> 00:23:03,430 그리고 다행히도, 이러한 낮은 수준의 버그는 우리가 거​​ 뭔가되지 않습니다 469 00:23:03,430 --> 00:23:06,220 일반적으로 확실히 감사해야 없는 우리의 일부 470 00:23:06,220 --> 00:23:07,360 프로그램의 초기. 471 00:23:07,360 --> 00:23:10,450 오히려, 버그의 대부분은 당신거야 만남은 자연의 논리 될 것이다 472 00:23:10,450 --> 00:23:12,900 자연 구문 약자 코드는 바로 작동하지 않습니다. 473 00:23:12,900 --> 00:23:14,140 그리고 당신은 꽤 빨리 알고 있습니다. 474 00:23:14,140 --> 00:23:16,850 >> 그러나 특히 우리가에 도착할 때 학기의 끝, 그것은에 갈거야 475 00:23:16,850 --> 00:23:20,620 에 대한 가능성을 더하게 정말 디자인에 대해 열심히 생각 476 00:23:20,620 --> 00:23:22,960 프로그램과 기본의 대표 477 00:23:22,960 --> 00:23:24,520 이 역시 데이터의. 478 00:23:24,520 --> 00:23:28,010 예를 들어, 우리는 MySQL을 소개합니다 이는 인기있는 데이터베이스 엔진 479 00:23:28,010 --> 00:23:30,850 당신에게 웹 사이트에서 사용할 수있는 백 엔드에 데이터를 저장합니다. 480 00:23:30,850 --> 00:23:34,630 그리고 당신은에 결정하기 시작해야합니다 학기말 무엇을뿐만 아니라, 481 00:23:34,630 --> 00:23:38,790 사용하려면 다음 라인을 따라 데이터의 유형 그러나 정확히 얼마나 많은 비트를 사용하려면, 482 00:23:38,790 --> 00:23:42,740 당신은 날짜를 저장할지 여부 날짜와 시간과 같은 시간, 또한 483 00:23:42,740 --> 00:23:46,890 당신이 얼마나 큰 싶어 같은 것들 ,하실 말씀에 고유 ID, 사용자 484 00:23:46,890 --> 00:23:47,680 데이터베이스있다. 485 00:23:47,680 --> 00:23:51,210 >> 사실, 당신의 일부가있는 경우에 있었다 페이스 북은 꽤 많은 시간을 차지 486 00:23:51,210 --> 00:23:53,680 그리고 당신은 액세스 권한을 얻는 방법을 알고 - 사용자 ID에 487 00:23:53,680 --> 00:23:57,930 이는 가끔에 표시 당신을 선택하지 않는 한 프로파일의 URL 488 00:23:57,930 --> 00:24:02,070 URL에 대한 별명, 또는 당신이 한 경우 사용되는 페이스 북의 그래프 API, 489 00:24:02,070 --> 00:24:05,510 공개 API되는 당신 원시 데이터에 대한 페이스 북을 요청할 수 있습니다 - 490 00:24:05,510 --> 00:24:07,580 당신은 당신의 숫자 ID가 무엇인지 볼 수 있습니다. 491 00:24:07,580 --> 00:24:10,880 그리고 몇 년 전, 페이스 북 기본적으로 사용하는 변경했다 492 00:24:10,880 --> 00:24:15,980 오래 사용하는 정수의 동등 오랜 시간 동안 사용자가 와서 때문에 493 00:24:15,980 --> 00:24:19,780 그리고 가서 계정을 많이 만들 가짜 계정, 심지어 그들이 쉽게 494 00:24:19,780 --> 00:24:24,630 4 뭔가를 배출 할 수 있었다 INT와 같은 억원 수있는 값. 495 00:24:24,630 --> 00:24:28,340 >> 이러한 종류의 문제에 너무 많은 길뿐만 아니라. 496 00:24:28,340 --> 00:24:30,750 좋아, 주조가되도록. 497 00:24:30,750 --> 00:24:31,670 그것은 부정확했다. 498 00:24:31,670 --> 00:24:32,730 빠른 공지 몇 가지. 499 00:24:32,730 --> 00:24:35,710 그래서 절에서는 공식적으로이오고 시작 일요일, 월요일, 화요일. 500 00:24:35,710 --> 00:24:39,080 당신은 이번 주 이메일을 통해들을 수 있습니다 귀하의 섹션 지정에 관해서. 501 00:24:39,080 --> 00:24:42,570 당신은 또한 여기에서 그 시점에서 거하는 방법 귀하의 섹션을 변경 한 경우 고객님의 502 00:24:42,570 --> 00:24:45,660 이제 일람표 변경되었거나 사용자 안락 수준은 이제 바뀌 었습니다. 503 00:24:45,660 --> 00:24:49,380 하나되어 한편 P-설정 한 해커 할 수있는 옵션이 목요일 인해 504 00:24:49,380 --> 00:24:52,450 당이 마감 연장 금요일 사양 505 00:24:52,450 --> 00:24:53,830 일반적인 방법으로합니다. 506 00:24:53,830 --> 00:24:57,500 >> 문제를 포함 것을 깨닫게 세트 사양에 대한 지침입니다 507 00:24:57,500 --> 00:25:02,770 CS50 제품을 사용하는 방법 확인 뿐만 아니라 일부 CS50 특정 도구 508 00:25:02,770 --> 00:25:06,540 당신에게 제공 할 수 있습니다 스타일 50와 같은 에 동적 피드백 509 00:25:06,540 --> 00:25:10,230 코드 스타일의 질과도 당신이 제공 할 수있는, 50 체크 510 00:25:10,230 --> 00:25:13,160 당신에게 같은 동적 피드백 코드의 정확성. 511 00:25:13,160 --> 00:25:16,850 우리는 여전히 다림질 걸 용서 체크 50를 가진 몇 가지 단점을 보완 중. 512 00:25:16,850 --> 00:25:21,490 시작 했나요 급우의 몇 네 주변에 금요일 밤에 오전 때 513 00:25:21,490 --> 00:25:25,130 간 스펙 업 이후 발견했습니다 우리가 작업하는 몇 가지 버그 514 00:25:25,130 --> 00:25:29,010 누구나 통해, 그리고 사과 사람 과도한 좌절감을 경험했다. 515 00:25:29,010 --> 00:25:30,340 내 잘못이야. 516 00:25:30,340 --> 00:25:34,080 그러나 우리는 CS50에 후속 있습니다 해결되는 경우에 대해 설명합니다. 517 00:25:34,080 --> 00:25:35,700 >> 점수 자체에 단어 때문에. 518 00:25:35,700 --> 00:25:38,990 그래서 전에 일주일에 두있을거야 문제 세트에 대한 피드백을 얻기 시작 519 00:25:38,990 --> 00:25:40,640 당신은 아직 가지고 있지 않기 때문에 교육 동료. 520 00:25:40,640 --> 00:25:44,510 그리고 그렇다하더라도, 우리는 평가하기 시작합니다 C 문제는 우리가 전에 설정 521 00:25:44,510 --> 00:25:46,970 되돌아 가서 처음 그렇게 평가 당신은 더 많은 관련 얻을 522 00:25:46,970 --> 00:25:48,150 더 빠르게 반응. 523 00:25:48,150 --> 00:25:51,870 그러나 교과​​ 당 일반적으로, CS50 문제 세트에 따라 평가됩니다 524 00:25:51,870 --> 00:25:53,580 네 개의 축에 따라 - 525 00:25:53,580 --> 00:25:55,760 범위, 정확성, 디자인 및 스타일. 526 00:25:55,760 --> 00:25:59,210 >> 범위는 일반적으로 숫자가 될 것입니다 하는 0에서 5 527 00:25:59,210 --> 00:26:01,830 캡처 방법에 많은 당신은 잘릴 뻔 조각합니다. 528 00:26:01,830 --> 00:26:03,750 일반적으로,이 다섯 싶어요. 529 00:26:03,750 --> 00:26:05,300 당신은 적어도 모든 것을 시도했다. 530 00:26:05,300 --> 00:26:09,330 그리고 그것은 곱셈의 발견 그래서의 일부를 수행 531 00:26:09,330 --> 00:26:12,520 문제 세트는 최선의 전략이 아니다. 532 00:26:12,520 --> 00:26:15,610 >> 한편, 더 명백하다 정확성의 중요성 - 533 00:26:15,610 --> 00:26:18,620 당신의 프로그램에 올바른 사양에 대해? 534 00:26:18,620 --> 00:26:21,510 이것은 의도적으로 더 많은 가중치를 크게하여 다른 두 축 이상 535 00:26:21,510 --> 00:26:24,450 세 가지 요소가 우리가 인식하기 때문에 일반적으로 당신을 보낼 거라고 536 00:26:24,450 --> 00:26:28,600 많은 시간이 몇 가지 버그를 추격, 당신 다음, 코드가 작동을 받고 537 00:26:28,600 --> 00:26:31,540 그것을 들여 쓰기 및 선택하는 적절한 변수 이름 및 538 00:26:31,540 --> 00:26:33,800 좋아, 이는 다른 쪽 끝을에 스타일의 스펙트럼. 539 00:26:33,800 --> 00:26:36,160 >> 그 스타일이 아닌 것은 아니다 중요한, 우리는 그것을 통해 전파됩니다 540 00:26:36,160 --> 00:26:37,920 강의 및 섹션 모두 시간입니다. 541 00:26:37,920 --> 00:26:40,520 스타일 미학을 의미 코드의. 542 00:26:40,520 --> 00:26:43,980 당신은뿐만 명명 된 변수를 선택했다 짧지 만 약간하는 543 00:26:43,980 --> 00:26:44,680 설명? 544 00:26:44,680 --> 00:26:47,840 당신이에서 본 것처럼 코드는 들여 쓰기 강의하고 일관된 방식으로 545 00:26:47,840 --> 00:26:49,070 스타일 50가 있나요? 546 00:26:49,070 --> 00:26:51,220 >> 마지막으로 디자인 권리입니다 거기에 중간에. 547 00:26:51,220 --> 00:26:54,090 디자인을 넣어 열심히 하나입니다 훨씬 더이기 때문에 손가락 548 00:26:54,090 --> 00:26:55,000 주관적. 549 00:26:55,000 --> 00:26:58,610 그러나 아마의 가장 중요 교육학의 관점에서 세 가지 축 550 00:26:58,610 --> 00:27:02,050 시간이 지남에 따라 그 값이 될 것입니다 교육 동료의 기회 551 00:27:02,050 --> 00:27:04,110 당신은 질적 인 피드백을 제공합니다. 552 00:27:04,110 --> 00:27:08,100 실제로, CS50에 우리가 없더라도 끝이 공식 및 점수 553 00:27:08,100 --> 00:27:11,350 오늘의 이들은 매우 신중하다 아주 작은 버킷 - 소수점 값 554 00:27:11,350 --> 00:27:13,460 제로 세 사이의 제로 다섯. 555 00:27:13,460 --> 00:27:17,800 우리는 매우 거친 선을 그리는하려고하지 않습니다 문제 세트 사이 사이 또는 556 00:27:17,800 --> 00:27:21,490 학생들은 오히려만큼 집중하지만, 우리는 품질에, 필기법 수 557 00:27:21,490 --> 00:27:25,490 의 의견 하나를 입력하거나 구두 특정 교육 위원 558 00:27:25,490 --> 00:27:27,050 당신은 아주 잘 알고 있습니다. 559 00:27:27,050 --> 00:27:32,340 >> 그러나 일반적으로, 사람들은 가중치는 여러 축이됩니다. 560 00:27:32,340 --> 00:27:35,480 한편,도, 그것은에두고 가치 당신이 생각하지 않도록 마음이 561 00:27:35,480 --> 00:27:38,870 다섯 중 세 개는 60 %이며, 따라서 대략 실패. 562 00:27:38,870 --> 00:27:41,410 세 의도적으로하기위한 것입니다 좋은 도로의 중간에 정렬. 563 00:27:41,410 --> 00:27:43,480 당신의 열로 받고 있다면 학기의 시작, 그게 564 00:27:43,480 --> 00:27:46,340 참 좋은 의미 시작 놓습니다. 565 00:27:46,340 --> 00:27:50,510 당신은 조로, 박람회를 받고 있다면, 거기에 조금을 지불 확실히 몇 가지 작업 566 00:27:50,510 --> 00:27:53,250 더 많은 관심을 활용하려면 섹션 및 근무 시간 중. 567 00:27:53,250 --> 00:27:54,590 >> 당신은 발로을 받고 있다면 그리고 마구 마구, 좋아. 568 00:27:54,590 --> 00:27:57,430 하지만 정말, 우리는 궤도를 볼 수 있도록 노력하겠습니다 학생들 사이에서 - 매우 569 00:27:57,430 --> 00:28:00,575 학생마다 개별적인하지만 시작 일종의 여기에 학기 570 00:28:00,575 --> 00:28:04,100 세 가지 범위의 두하지만 종료 여기까지 4-5 레인지. 571 00:28:04,100 --> 00:28:05,440 즉, 우리가 정말 찾고있는 무슨이다. 572 00:28:05,440 --> 00:28:09,590 그리고 우리는 염두에 델타가 계속합니까 당신은 주 제로 주 사이에 전시 573 00:28:09,590 --> 00:28:12,170 12 내가 성적을하고있을 때. 574 00:28:12,170 --> 00:28:16,380 그것은 절대적으로 얼마나 우리에게 중요하지 않습니다 당신이 처음에 정당한 경우의 575 00:28:16,380 --> 00:28:19,330 궤적은 참으로 위로 강한. 576 00:28:19,330 --> 00:28:24,000 >> 학문적 정직 - 그래서 내에 넣어 보자 단지 순간을 위해 더 심각한 음성. 577 00:28:24,000 --> 00:28:28,510 그래서이 과정의 차이가 어떤 다른 사람보다는 더 많은 학생들을 보내는 578 00:28:28,510 --> 00:28:30,950 광고 보드 역사, 저는 믿습니다. 579 00:28:30,950 --> 00:28:34,220 우리는이에 손실 계수의 종류가 이러한 상황이 발생하는 빈도의 포인트입니다. 580 00:28:34,220 --> 00:28:37,090 그리고 그 50 년 때문에 학생들이 아니에요 어떤은보다 더 정직하다 581 00:28:37,090 --> 00:28:38,690 다른 급우. 582 00:28:38,690 --> 00:28:42,800 그러나 우리가 아주 좋다는 것을,도 실현 이런 종류의 감지에. 583 00:28:42,800 --> 00:28:45,920 >> 그리고 그 장점입니다 컴퓨터 과학 클래스를 가지고있는 우리 584 00:28:45,920 --> 00:28:49,110 우리는 모든 학생들을 비교 할 수 있습니다 문제는 모든에 대해 쌍 단위 설정 585 00:28:49,110 --> 00:28:51,470 다른 올해뿐만 아니라 그러나 이전의 모든 년. 586 00:28:51,470 --> 00:28:55,080 우리는 학생들과 같은 능력을 가지고 구글하고 코드를 찾으려면 클래스 587 00:28:55,080 --> 00:28:57,440 github의 같은 사이트 및에 토론 포럼. 588 00:28:57,440 --> 00:29:00,840 CS50의 절대적 해결책이 있습니다 거기에 주위에 떠있는 P는 - 설정합니다. 589 00:29:00,840 --> 00:29:02,710 하지만 당신은 그들을 찾을 수 있다면, 우리가 그들을 찾을 수 있습니다. 590 00:29:02,710 --> 00:29:07,130 그리고이 모든 매우 자동화 쉽게 슬픈 우리를 찾을 수 있습니다. 591 00:29:07,130 --> 00:29:10,990 >> 하지만 난 너무 강조 할 물론 학업 정직 정책은 592 00:29:10,990 --> 00:29:13,960 매우 매우를 의미 그 정신의 반대. 593 00:29:13,960 --> 00:29:17,506 사실, 올해 우리는 물건을 고쳐했습니다 이 될 수있는 강의에서, 점 594 00:29:17,506 --> 00:29:19,790 더 많은 세부 점 점, 강의한다. 595 00:29:19,790 --> 00:29:22,860 그러나 과정에서 무엇보다 중요한 테마 정말 합리적인 것입니다. 596 00:29:22,860 --> 00:29:26,160 우리는 의미가 있다는 것을 인식 교육학의 양 597 00:29:26,160 --> 00:29:30,550 어느 정도 협조의 가치, 친구들과 함께, 그것에 의하여 당신 598 00:29:30,550 --> 00:29:33,700 두 개 또는 세 또는 더 많은 것 화이트 보드에 서 서 599 00:29:33,700 --> 00:29:35,670 이렇게하는 화이트 보드, 당신의 아이디어를 말하는 - 600 00:29:35,670 --> 00:29:39,480 그림에서 의사를 서면, 마리오 경우 어떻게해야 다이어그램 601 00:29:39,480 --> 00:29:41,350 당신은 그것을 먼저 작성했다 의사합니다. 602 00:29:41,350 --> 00:29:43,240 어떤 욕심 알고리즘을해야한다 - 603 00:29:43,240 --> 00:29:46,100 어떻게 당 행동해야 문제는 하나를 설정? 604 00:29:46,100 --> 00:29:50,440 >> 그리고 그 동작을 실현 우리는 격려는 매우이다 605 00:29:50,440 --> 00:29:51,470 그 라인을 따라 많은. 606 00:29:51,470 --> 00:29:53,890 그리고 강의에서, 당신은 볼 것이다 아래 글 머리 기호의 전체 무리 607 00:29:53,890 --> 00:29:57,740 적절한 카테고리와 합리적인 없습니다 우리가하는 데 도움이 도움 범주 608 00:29:57,740 --> 00:30:00,740 어디 주위에 당신의 마음을 바꿈 우리는 선을 그리 않습니다. 609 00:30:00,740 --> 00:30:04,340 엄지 손가락의 및 일반의, 괜찮은 규칙 즉 당신이 해결하기 위해 고군분투하는 경우 610 00:30:04,340 --> 00:30:07,990 일부 버그 및 당신의 친구 또는 동급생 그것은 당신 옆에 앉아 611 00:30:07,990 --> 00:30:11,530 당신이 그를을 표시하는 합리적인 혹은 그녀 코드와 봐, 당신이 도움이 될 수 있습니다, 말 612 00:30:11,530 --> 00:30:13,700 내가 잘못 여기에 무슨 일인지 알아낼? 613 00:30:13,700 --> 00:30:17,110 >> 우리는 일반적으로 수용하지 않는다 반대편. 614 00:30:17,110 --> 00:30:20,730 그것은 당신을위한 올바른 응답하지 않습니다 친구 나 말을 여기 동급생, 오, 615 00:30:20,730 --> 00:30:22,510 단지 광산과 그림에서 보면 그에서 그것을 밖으로. 616 00:30:22,510 --> 00:30:24,400 그것은 일종의 불합리한 것입니다. 617 00:30:24,400 --> 00:30:27,750 하지만 다른 사람, 다른 뇌를 가지고 눈의 또 다른 쌍 보면 618 00:30:27,750 --> 00:30:31,620 코드에서 화면이나 모양 그리고 말, 당신은 당신이 원하는 확신 619 00:30:31,620 --> 00:30:32,760 여기에 루프를 가지고? 620 00:30:32,760 --> 00:30:34,800 또는 당신은 당신이 원하는 확신 여기에 그 세미콜론? 621 00:30:34,800 --> 00:30:37,090 아니면 오, 오류 메시지는 것을 의미합니다. 622 00:30:37,090 --> 00:30:39,580 사람들은 매우 합리적이고 있습니다 격려 행동. 623 00:30:39,580 --> 00:30:44,010 >> 내가 암시했다하는 경우 학생 때 이전에 아래로 비등 624 00:30:44,010 --> 00:30:47,350 늦은 밤에 판단력을 만들기 의사 결정에 자신의 코드를 이메일로 전송 625 00:30:47,350 --> 00:30:50,130 아니면 다른 누군가가 말 여기에, 그것을 보관에있어 또는 626 00:30:50,130 --> 00:30:51,610 밤 늦게 봤어. 627 00:30:51,610 --> 00:30:54,880 그래서 나는 격려하고 당신을 구걸 것이다 당신은 그 피할 수있을 경우 628 00:30:54,880 --> 00:30:58,450 긴장의 순간, 당신은 최대 부딪 치는거야 마감에, 당신은 늦게가 없습니다 629 00:30:58,450 --> 00:31:01,490 그것은 그에서 이미 금요일 날 이후 점 과정의 머리를 이메일을 보내거나 630 00:31:01,490 --> 00:31:02,330 직접 자신. 631 00:31:02,330 --> 00:31:04,790 들어 말하자면, 나는에있어 여기에 포인트를 깨는. 632 00:31:04,790 --> 00:31:06,660 하자 대화를 그리고 그것을 알아낼. 633 00:31:06,660 --> 00:31:10,400 웹에 의지하거나 다른하지 합리적인 행동은 결코 634 00:31:10,400 --> 00:31:13,070 귀하의 솔루션, 너무 많은 친구들은 더 이상 여기에 없습니다 635 00:31:13,070 --> 00:31:15,150 그 때문에 판단력의 캠퍼스. 636 00:31:15,150 --> 00:31:17,840 그러나 그 라인 스커트하는 것은 매우 쉽습니다. 637 00:31:17,840 --> 00:31:22,950 >> 여기 응원하기 위해 약간의 사진입니다 당신이 레딧에서 해당 그래서 지금 638 00:31:22,950 --> 00:31:25,720 모든 확인 될 것입니다. 639 00:31:25,720 --> 00:31:30,210 >> 빠른 요점을 되풀이 그렇다면, 우리가 출발했던 곳으로. 640 00:31:30,210 --> 00:31:33,690 그래서 지난 주에 우리가 소개하는 기억 조건없는 스크래치 641 00:31:33,690 --> 00:31:34,880 하지만 C이 시간입니다. 642 00:31:34,880 --> 00:31:38,300 그리고 몇 가지 새로운 구문 만이 있었다 본질적으로 정말 어떤 새로운 아이디어가 없습니다. 643 00:31:38,300 --> 00:31:42,630 우리는 부울 식을 가지고 우리가 할 수있는 또는 함께 수직 두 644 00:31:42,630 --> 00:31:46,490 막대 또는 함께 두와 앰퍼샌드, 말의 왼쪽 두가 645 00:31:46,490 --> 00:31:49,990 , 오른쪽이 충족되어야합니다 이 실행하기위한. 646 00:31:49,990 --> 00:31:53,150 그 다음 우리는 우리가보고있는 스위치를했다 간단히에,하지만 난 제안은 정말 647 00:31:53,150 --> 00:31:56,830 달성을위한 단지 다른 구문 당신은 목표를 같은 종류의 알고있는 경우 648 00:31:56,830 --> 00:31:59,270 사전에 무엇 사례 가 될 수 있습니다. 649 00:31:59,270 --> 00:32:00,160 >> 우리는 루프를 바라 보았다. 650 00:32:00,160 --> 00:32:03,340 루프는, 어쩌면 가장 일반적입니다 적어도 한 사람들 651 00:32:03,340 --> 00:32:05,330 본능적 위해 일반적으로 도달합니다. 652 00:32:05,330 --> 00:32:08,240 조금 이상한 보이지만, 이 많은, 많은 예제를 볼 수 있습니다 653 00:32:08,240 --> 00:32:11,590 당신처럼 오래 전에 이미 지난 주에. 654 00:32:11,590 --> 00:32:14,280 루프와 유사 할 수 있지만 같은 일을 얻을 수 있습니다. 655 00:32:14,280 --> 00:32:17,550 하지만 당신은 점진을 수행하려는 경우 또는 업데이트 656 00:32:17,550 --> 00:32:20,230 변수의 값은 그럴 필요 더 많은 수동보다 할 657 00:32:20,230 --> 00:32:22,440 루프 전에 허용합니다. 658 00:32:22,440 --> 00:32:25,310 그리고 DO-whil​​e 루프가있다 이는 우리가에 무언가를 수행 할 수 있습니다 659 00:32:25,310 --> 00:32:28,460 한 번 이상 동안 뭔가 다른 사실이다. 660 00:32:28,460 --> 00:32:31,550 그리고 이것은 특히 좋다 당신이 원하는 프로그램이나 게임에 대한 661 00:32:31,550 --> 00:32:33,810 뭔가 사용자에게 메시지를 표시하는 적어도 한 번. 662 00:32:33,810 --> 00:32:37,110 그리고 그 또는 그녀가 협조하지 않는 경우 당신은 그것을 수행 할 수 있습니다 663 00:32:37,110 --> 00:32:38,420 또 다시. 664 00:32:38,420 --> 00:32:41,270 >> 변수 사이에, 우리는 선을했다 다음과 같은 코드의, 어떤 수 665 00:32:41,270 --> 00:32:41,950 두 개의 선합니다. 666 00:32:41,950 --> 00:32:44,830 당신이라는 int를 선언 할 수 있습니다 카운터 세미콜론. 667 00:32:44,830 --> 00:32:47,660 아니면 그냥 선언 할 수 있습니다 말하자면, 그것은 정의합니다. 668 00:32:47,660 --> 00:32:49,950 그것을 동시에 값을 제공합니다. 669 00:32:49,950 --> 00:32:51,890 >> 그리고 마지막으로, 우리는 이야기 기능에 대한. 670 00:32:51,890 --> 00:32:54,270 그리고 이것은 좋은 예였습니다 그것이 설명하는 의미 671 00:32:54,270 --> 00:32:55,840 두 가지 유형의 함수. 672 00:32:55,840 --> 00:32:59,030 하나는하는 GetString ()이며, 또 한, 사용자로부터 문자열을 가져옵니다. 673 00:32:59,030 --> 00:33:02,040 그러나하는 GetString ()는, 재미의 종류 지금까지 우리가 사용했던대로, 674 00:33:02,040 --> 00:33:05,620 우리는 항상 그것을 함께 사용했기 때문에 의 왼쪽에 뭔가 675 00:33:05,620 --> 00:33:06,600 등호. 676 00:33:06,600 --> 00:33:09,830 즉, 해당하는 GetString ()를 말씀하는 것입니다 값을 반환합니다. 677 00:33:09,830 --> 00:33:11,970 그것은 물론, 문자열을 반환합니다. 678 00:33:11,970 --> 00:33:15,130 그리고 왼쪽에, 우리는거야 단순히 내부 문자열을 저장 679 00:33:15,130 --> 00:33:16,580 변수 이름을 불렀다. 680 00:33:16,580 --> 00:33:21,100 >> 이에서, 의미에서, 다른 printf의 printf를, 적어도 우리에 있기 때문에 681 00:33:21,100 --> 00:33:23,540 여기에 사용이 아무것도 반환하지 않습니다. 682 00:33:23,540 --> 00:33:24,960 옆으로, 그것은 반환 뭔가를 않습니다. 683 00:33:24,960 --> 00:33:26,380 우리는 단지 그것이 무엇인지 상관하지 않습니다. 684 00:33:26,380 --> 00:33:29,090 그러나 그것은 무엇을해야합니까 부작용을했다. 685 00:33:29,090 --> 00:33:31,840 그리고 각에 그 부작용은 무엇인가 경우 우리가 지금까지 본 적이? 686 00:33:31,840 --> 00:33:34,720 printf의 기능은 무엇입니까? 687 00:33:34,720 --> 00:33:37,780 그것은 화면에 뭔가를 출력 표시 텍스트 나 숫자 또는 뭔가 688 00:33:37,780 --> 00:33:38,380 화면에. 689 00:33:38,380 --> 00:33:41,170 그리고 단지 부작용 간주 정말 나눠 아니니까 690 00:33:41,170 --> 00:33:41,900 그것은 나에 백업합니다. 691 00:33:41,900 --> 00:33:44,770 그것은 내부의 답이 아니다 블랙 박스 그럼 내가 할 수있는 692 00:33:44,770 --> 00:33:46,130 에 도달하고 잡아. 693 00:33:46,130 --> 00:33:49,160 그것은 단지 자신의 많은에 그것을 짓 콜턴이 마음에 드에 연결되었습니다 694 00:33:49,160 --> 00:33:52,560 블랙 박스 지난 주, 그는 어떻게 든 마술 보드에 그리기되었다 695 00:33:52,560 --> 00:33:54,500 나없이 실제로있었습니다. 696 00:33:54,500 --> 00:33:55,560 그 부작용 될 것이다. 697 00:33:55,560 --> 00:33:59,100 그러나 사실에 다시 도달해야하는 경우 여기 말, 오, 여기에 문자열입니다 698 00:33:59,100 --> 00:34:02,040 사용자로부터, 그 것 반환 값합니다. 699 00:34:02,040 --> 00:34:05,650 >> 그리고 지금까지 우리는 단지 함수를 사용했습니다 다른 사람이 작성했는지 확인합니다. 700 00:34:05,650 --> 00:34:09,219 그러나 우리는 실제로 이러한 작업을 수행 할 수 있습니다 스스로 물건의 종류. 701 00:34:09,219 --> 00:34:12,730 그래서 나는에 갈거야 CS50 제품을 다시. 702 00:34:12,730 --> 00:34:16,020 나 탭을 닫을 수 있도록하는 우리 순간 전 열고 있었다. 703 00:34:16,020 --> 00:34:18,530 그리고 내가 가서 보자 새 파일을 만듭니다. 704 00:34:18,530 --> 00:34:22,400 그리고 앞서 갈 건데 이 하나의 positive.c를 호출합니다. 705 00:34:22,400 --> 00:34:24,770 그래서 내가 뭔가를하고 싶어 여기에 양수. 706 00:34:24,770 --> 00:34:27,219 그래서 내가 가서 INT 할거야 - 707 00:34:27,219 --> 00:34:28,000 죄송합니다 - 708 00:34:28,000 --> 00:34:31,840 # 있습니다. 709 00:34:31,840 --> 00:34:34,280 의는 그 같은 확인하지 말자 이전과 실수. 710 00:34:34,280 --> 00:34:40,020 주요 int (무효), 오픈 곱슬 중괄호는 중괄호를 마감했다. 711 00:34:40,020 --> 00:34:41,639 >> 지금은 다음을 수행합니다. 712 00:34:41,639 --> 00:34:44,600 내가 프로그램을 작성하고자하는 사용자가 제공하는 주장 713 00:34:44,600 --> 00:34:46,770 나 양의 정수입니다. 714 00:34:46,770 --> 00:34:50,969 그래서 아무 GetPositiveInt 기능은 없습니다 CS50 라이브러리한다. 715 00:34:50,969 --> 00:34:52,610 만 getInt는 ()가있다. 716 00:34:52,610 --> 00:34:55,790 나는이 있기 때문에하지만 그건 괜찮아요 난을 부과 할 수있는 구조 717 00:34:55,790 --> 00:34:59,360 해당 값에 대해 좀 더 제한. 718 00:34:59,360 --> 00:35:00,990 나는 이런 식으로 뭔가를 할 수 있습니다. 719 00:35:00,990 --> 00:35:02,780 >> 그래서 INT N - 720 00:35:02,780 --> 00:35:04,920 당신이 따라 입력하는 경우에, 다만 실현 내가 다시 갈 건데 721 00:35:04,920 --> 00:35:06,430 순간에 몇 가지 변화 - 722 00:35:06,430 --> 00:35:09,960 그래서 INT n을 getInt는 ()를 같습니다. 723 00:35:09,960 --> 00:35:11,780 그리고 그 둘 것 N의 INT 내부. 724 00:35:11,780 --> 00:35:13,830 그리고 나를 더 자세한 설명하자. 725 00:35:13,830 --> 00:35:23,270 나는 것을 요구 나를 뭔가 말을하자 당신은 저에게 긍정적 인 정수를 제공합니다. 726 00:35:23,270 --> 00:35:23,550 >> 좋아. 727 00:35:23,550 --> 00:35:25,250 그래서 명령어 단지 조금. 728 00:35:25,250 --> 00:35:26,270 그리고 지금 나는 무엇을 할 수 있습니까? 729 00:35:26,270 --> 00:35:29,840 글쎄, 난 이미 내 간단한에서 알 수 그냥 같은 조건이나 나뭇 가지, 730 00:35:29,840 --> 00:35:36,100 스크래치에 있던, 내가 뭔가를 말할 수 N보다 작거나 같으면 좋아 731 00:35:36,100 --> 00:35:44,460 제로, 나는 뭔가를 할 좋아, 그 양이 아닙니다. 732 00:35:44,460 --> 00:35:45,560 그리고 내가 할 수있는 - 733 00:35:45,560 --> 00:35:47,310 OK,하지만 난 정말 INT를 얻으려면. 734 00:35:47,310 --> 00:35:52,020 그래서 여기까지 갈 수 있고 나는 종류의 수 복사의 이것이 들여 쓰기. 735 00:35:52,020 --> 00:35:52,570 그리고, 확인을 클릭합니다. 736 00:35:52,570 --> 00:35:56,990 N보다 작거나 그래서 경우 0이이 작업을 수행. 737 00:35:56,990 --> 00:35:58,900 >> 지금, 어떤 경우에는 사용자 협조하지 않는 이유는 무엇입니까? 738 00:35:58,900 --> 00:36:01,560 그럼, 내가 갈거야 여기를 빌려. 739 00:36:01,560 --> 00:36:03,130 그리고 여기에 이​​동 그리고 여기와 여기에. 740 00:36:03,130 --> 00:36:06,420 그래서이 명확하지 않습니다 솔루션, 오른쪽? 741 00:36:06,420 --> 00:36:07,810 시야에 끝이 없기 때문. 742 00:36:07,810 --> 00:36:13,100 나는 사용자가 제공하는 요구하려는 경우 나 양의 정수, 내가 할 수 743 00:36:13,100 --> 00:36:14,150 실제로 INT를 얻을. 744 00:36:14,150 --> 00:36:15,620 나는 그 다음 INT를 확인할 수 있습니다. 745 00:36:15,620 --> 00:36:18,570 하지만 그때 난 다시 그것을 확인하려는 다시 확인하고 다시 확인합니다. 746 00:36:18,570 --> 00:36:21,680 그래서 분명히, 더 나은 무엇입니까 여기에 사용되는 구성? 747 00:36:21,680 --> 00:36:22,840 좋아요, 루프 때문에 어떤 종류의. 748 00:36:22,840 --> 00:36:25,430 >> 그래서 없애려고 거의 모든이의의. 749 00:36:25,430 --> 00:36:27,320 그리고이를 얻으려면 적어도 한 번 int로. 750 00:36:27,320 --> 00:36:28,890 그래서 내가 할 말거야 - 751 00:36:28,890 --> 00:36:32,110 내가 다시 올 것이다 다만 잠시 동안 - 752 00:36:32,110 --> 00:36:33,050 지금 무엇을합니까? 753 00:36:33,050 --> 00:36:35,860 내가 INT N 가져 getInt는 ()를 할거야. 754 00:36:35,860 --> 00:36:36,080 확인을 클릭합니다. 755 00:36:36,080 --> 00:36:37,250 그래서 꽤 좋은. 756 00:36:37,250 --> 00:36:39,750 그리고 지금 얼마나 자주 수행 나는이 작업을 수행하려면? 757 00:36:39,750 --> 00:36:45,770 >> 내가 루프의 printf의 내부를 두게 그래서 나는 또 다시 요구할 수있다 758 00:36:45,770 --> 00:36:46,740 필요가있을 경우. 759 00:36:46,740 --> 00:36:49,720 그리고이 무엇을 원하는 조건은 어떻게하는 동안? 760 00:36:49,720 --> 00:36:53,870 나는이 일을 계속 할 반면 사건은 무엇인가? 761 00:36:53,870 --> 00:36:54,125 그래. 762 00:36:54,125 --> 00:36:55,390 N이 0보다 작거나 같습니다. 763 00:36:55,390 --> 00:36:58,180 아직, 우리는 크게했습니다 이 코드를 정리. 764 00:36:58,180 --> 00:37:00,700 우리는 매우 간단한 구성 빌린 것 - DO-whil​​e 루프. 765 00:37:00,700 --> 00:37:04,690 난 그냥 중요한 선을 도난당한 적이 내가 복사 시작하는 코드 766 00:37:04,690 --> 00:37:05,960 붙여 넣기, 이는 현명하지 않았다. 767 00:37:05,960 --> 00:37:09,790 그리고 지금은 실제로 붙여 넣기거야 그것은 여기 그냥 한 번 해. 768 00:37:09,790 --> 00:37:12,990 >> 지금은에 무엇을할까요 이 프로그램의 끝? 769 00:37:12,990 --> 00:37:16,810 난 그냥 뭔가 간단한 말 것 좋아 주셔서 감사합니다 - 및 770 00:37:16,810 --> 00:37:18,980 내가 INT i에 %을 다하겠습니다 - 771 00:37:18,980 --> 00:37:23,270 백 슬래시 N, 쉼표 다음 N, 세미콜론 연결합니다. 772 00:37:23,270 --> 00:37:23,910 >> 좋아. 773 00:37:23,910 --> 00:37:27,290 그래서 지금 무슨 보자 나는이 프로그램을 실행할 때. 774 00:37:27,290 --> 00:37:30,600 나는 앞서 갈 건데 긍정적 어떻게해야합니까. 775 00:37:30,600 --> 00:37:30,880 젠장. 776 00:37:30,880 --> 00:37:31,600 몇 가지 오류가 발생합니다. 777 00:37:31,600 --> 00:37:32,960 그럼 내가가 처음에 뒤로 스크롤 할 수 있습니다. 778 00:37:32,960 --> 00:37:34,020 거꾸로 그들을 통해 작동하지 않습니다. 779 00:37:34,020 --> 00:37:37,000 위에서 아래에서 그들을 통해 작동 하지 않도록 그들이 폭포 만 780 00:37:37,000 --> 00:37:38,630 한 가지 잘못. 781 00:37:38,630 --> 00:37:42,532 암시 적으로 선언 함수의 getInt (). 782 00:37:42,532 --> 00:37:43,020 그래. 783 00:37:43,020 --> 00:37:44,420 그래서 충분하지 않았다. 784 00:37:44,420 --> 00:37:46,760 나는 어떤 종류의 같은 실수를하지만, 조금 다른이 시간. 785 00:37:46,760 --> 00:37:51,940 난 단지 stdio.h에 포함되지해야하지만 를 포함도 cs50.h, 786 00:37:51,940 --> 00:37:56,770 의 소위 선언하는 INT를 얻을 제품을 가르치거나 가르친다 787 00:37:56,770 --> 00:37:58,760 C 어떤 getInt는은 ()입니다. 788 00:37:58,760 --> 00:37:59,550 >> 그래서 나는 다시 저장 할 수 있습니다. 789 00:37:59,550 --> 00:38:02,040 나는 다른 오류를 무시하는거야 나는 그들이다는 것을 희망 위하여려고하고 있기 때문에 790 00:38:02,040 --> 00:38:05,210 어떻게 든 오류와 관련하여 난 이미 수정되었습니다. 791 00:38:05,210 --> 00:38:08,710 그럼 내가 가서 다시 컴파일하자 긍정적 인 확인으로 입력합니다. 792 00:38:08,710 --> 00:38:09,020 젠장. 793 00:38:09,020 --> 00:38:09,985 세 가지 오류를 여전히. 794 00:38:09,985 --> 00:38:12,650 내가 먼저 스크롤 할 수 있습니다. 795 00:38:12,650 --> 00:38:14,320 사용하지 않는 변수 명. 796 00:38:14,320 --> 00:38:15,850 우리는 전에 본 적이 없다. 797 00:38:15,850 --> 00:38:17,200 이 역시 조금 이상한 것입니다. 798 00:38:17,200 --> 00:38:18,850 이 컴파일러의 출력입니다. 799 00:38:18,850 --> 00:38:23,610 그리고 무슨 강조 라인 이 - positive.c :9:13 - 800 00:38:23,610 --> 00:38:28,960 말, 그것은 라인 아홉에 말하는 것 positive.c, 1​​3 문자에서, 801 00:38:28,960 --> 00:38:31,510 13 열, 당신이 실수를했다. 802 00:38:31,510 --> 00:38:34,230 >> 특히, 그것은 말하고 나 사용하지 않는 변수 명. 803 00:38:34,230 --> 00:38:35,790 그럼 보자 - 804 00:38:35,790 --> 00:38:37,150 행 구. 805 00:38:37,150 --> 00:38:40,430 나는 의미에서 N을 사용하고 그 나는 그것을 값을주고있다. 806 00:38:40,430 --> 00:38:44,200 그러나 컴파일러가 좋아하지 않는 것은 나는 겉으로를 사용하지 해요. 807 00:38:44,200 --> 00:38:45,560 하지만 난 그것을 사용하고, 분을 기다립니다. 808 00:38:45,560 --> 00:38:48,170 라인 11에서, 난 여기 사용하고 있습니다. 809 00:38:48,170 --> 00:38:52,430 하지만 난 더 아래로 스크롤하면 positive.c : 11시 - 810 00:38:52,430 --> 00:38:56,230 이렇게 라인 11 문자 12시 컴파일러의 사용을 내게 말하고 811 00:38:56,230 --> 00:38:58,670 선언되지 않은 식별자 명. 812 00:38:58,670 --> 00:39:02,760 >> 내가 가지고 그래서 선언되지 않은 수단 그것으로 지정하지 813 00:39:02,760 --> 00:39:04,970 데이터 형식의 변수입니다. 814 00:39:04,970 --> 00:39:05,500 그러나 분을 기다립니다. 815 00:39:05,500 --> 00:39:09,150 내가 바로 그 한 줄 구인치 816 00:39:09,150 --> 00:39:11,100 그래서 누군가는 정말 여기에서 혼동된다. 817 00:39:11,100 --> 00:39:14,900 그것은 어느 날 나 때문에 컴파일러의 라인 9 일만에 다시, 나는 선언 해요 818 00:39:14,900 --> 00:39:18,650 INT N, 나는 그것을 할당 해요 getInt는 ()의 값을 반환합니다. 819 00:39:18,650 --> 00:39:22,930 그럼 난 줄이 변수 N을 사용하고 있습니다 11 값이 작 으면 확인 820 00:39:22,930 --> 00:39:24,050 제로 또는 그것보다. 821 00:39:24,050 --> 00:39:27,430 그러나 이것은 분명히 있습니다 나쁜 이유는 깨진? 822 00:39:27,430 --> 00:39:30,630 823 00:39:30,630 --> 00:39:32,490 다시 말? 824 00:39:32,490 --> 00:39:35,690 >> 아, 내가 전에 N을 선언해야 루프를 입력. 825 00:39:35,690 --> 00:39:36,370 왜? 826 00:39:36,370 --> 00:39:39,830 내 말은, 우리는 단지 조금 그 전에 제안 그것은 변수를 선언 괜찮아요 827 00:39:39,830 --> 00:39:43,600 모두 한 줄에 다음 그들에게 어떤 값을 할당합니다. 828 00:39:43,600 --> 00:39:46,790 전역 변수 -하자 다시 올 잠시 후에 그 생각에. 829 00:39:46,790 --> 00:39:48,690 왜 당신은 나를두고 싶어 그 루프 셨나요? 830 00:39:48,690 --> 00:40:03,170 831 00:40:03,170 --> 00:40:03,830 그것은이다. 832 00:40:03,830 --> 00:40:06,780 정확히. 833 00:40:06,780 --> 00:40:09,610 >> 그래서, 다소 직관적,이기는하지만, 저를 요약 할 수 있습니다. 834 00:40:09,610 --> 00:40:13,510 당신은 내부에 N을 선언 할 때 거기 DO 블록 - 835 00:40:13,510 --> 00:40:16,320 특히 내부 그 중괄호 - 836 00:40:16,320 --> 00:40:19,210 그 변수 N은 무엇을 가지고 범위라고 - 837 00:40:19,210 --> 00:40:23,210 우리의 채점 시스템에 관련 물론 -하지만의 범위가 838 00:40:23,210 --> 00:40:25,190 그 중괄호로 제한됩니다. 839 00:40:25,190 --> 00:40:28,460 즉, 일반적으로 당신이 선언하는 경우 일련의 내부 변수 840 00:40:28,460 --> 00:40:33,370 중괄호, 그 변수는 존재한다 그 중괄호 내부. 841 00:40:33,370 --> 00:40:37,320 그래서 혼자 논리에 의해, 비록 I 라인 9 일만에 N을 선언했다, 그것은 842 00:40:37,320 --> 00:40:41,910 기본적으로, 범위에서 사라 말하자면, 메모리에서 사라 843 00:40:41,910 --> 00:40:43,370 시간에 I 라인 11 명중했다. 844 00:40:43,370 --> 00:40:47,370 라인 11, 불행히도이기 때문에, 그 중괄호 밖에. 845 00:40:47,370 --> 00:40:51,540 >> 그래서 불행히도으로이 문제를 해결할 수 없다 내가 전에했던 돌아갈. 846 00:40:51,540 --> 00:40:53,370 당신은 처음에이 작업을 수행 할 수 있습니다. 847 00:40:53,370 --> 00:40:56,370 하지만 당신은 이제 어떻게하지 주기적거야? 848 00:40:56,370 --> 00:40:58,260 당신은 분명히 점점 없어 주기적 INT. 849 00:40:58,260 --> 00:41:01,320 그래서 우리는 getInt는 ()를 떠나, 우리 수 내부의 getInt ()를 남겨 두어야한다 850 00:41:01,320 --> 00:41:04,420 그것은 우리가 원하는 무엇 루프 때문에 또 다시를 사용자에게 훼방. 851 00:41:04,420 --> 00:41:08,660 그러나 이동 충분하지 라인 업에, 여섯 말한다. 852 00:41:08,660 --> 00:41:10,150 INT N, 세미콜론. 853 00:41:10,150 --> 00:41:12,990 아직 그것을 값을 제공하지 않기 때문에 당신은 아직 필요하지 않습니다. 854 00:41:12,990 --> 00:41:16,220 >> 하지만 지금 여기의 아래, 공지 사항 -이 아주 쉬운 실수가 될 것입니다. 855 00:41:16,220 --> 00:41:19,440 나는 내 이전을 섀도우 싶지 않아 N의 선언. 856 00:41:19,440 --> 00:41:22,830 나는 N을 사용하도록 실제로 존재합니다. 857 00:41:22,830 --> 00:41:25,780 그리고 지금은 10 행에서, 내가 값을 n을 지정합니다. 858 00:41:25,780 --> 00:41:28,580 하지만 선 여섯, 내가 여기서 n을 선언합니다. 859 00:41:28,580 --> 00:41:32,940 그래서 내가 할 수있는 또는 내가 할 수 없습니다 지금 12 라인에서 사용할 수 있습니까? 860 00:41:32,940 --> 00:41:37,120 나는 수 있기 때문에 어느 사이 곱슬 중괄호는 이제 선언 n입니다? 861 00:41:37,120 --> 00:41:38,770 여기까지 라인 다섯에 하나. 862 00:41:38,770 --> 00:41:40,330 여기에 14 라인에 하나. 863 00:41:40,330 --> 00:41:49,770 지금은 축소 그렇다면, 이동,이 파일을 저장 로 백업하고, 긍정적하게 그것을 실행 864 00:41:49,770 --> 00:41:50,820 이 시간을 컴파일. 865 00:41:50,820 --> 00:41:51,940 그래서 이미 진행이다. 866 00:41:51,940 --> 00:41:53,640 슬래시. . / 긍정적 입력합니다. 867 00:41:53,640 --> 00:41:56,060 >> 난 당신이 날 줄 것을 요구 양의 정수입니다. 868 00:41:56,060 --> 00:41:57,750 1 음. 869 00:41:57,750 --> 00:41:59,020 2 음. 870 00:41:59,020 --> 00:42:00,680 3 음. 871 00:42:00,680 --> 00:42:01,760 제로. 872 00:42:01,760 --> 00:42:03,000 하나. 873 00:42:03,000 --> 00:42:05,130 그리고 하나 감사합니다 지금 무엇을 프린트. 874 00:42:05,130 --> 00:42:07,400 >> 나, 다른 무언가를 시도하자 호기심에서. 875 00:42:07,400 --> 00:42:09,600 I는 입력의 정수를 들려 주겠다는거야. 876 00:42:09,600 --> 00:42:12,870 하지만 내가 대신 양고기에 무엇을 입력하면? 877 00:42:12,870 --> 00:42:14,460 그래서 당신은 이제 다른 메시지를 참조하십시오 - 878 00:42:14,460 --> 00:42:15,350 다시 시도하십시오. 879 00:42:15,350 --> 00:42:17,670 그러나 어디에도 없습니다 내 코드 나는 시도를 기록했다. 880 00:42:17,670 --> 00:42:22,320 어디, 아마도이 다시 시도 에서 오는 프롬프트, 당신은 말할 것? 881 00:42:22,320 --> 00:42:23,540 그래, getInt를 () 자체에서. 882 00:42:23,540 --> 00:42:26,650 그래서 CS50의 직원이하는 것들 중 하나 당신을 위해, 적어도이 처음 몇에 883 00:42:26,650 --> 00:42:30,400 주, 우리는 어느 정도를 작성했습니다된다 확인하려면 오류의 경우 884 00:42:30,400 --> 00:42:34,260 당신이 getInt는 ()를 호출, 적어도됩니다 사용자의 int를 다시. 885 00:42:34,260 --> 00:42:35,460 당신은 문자열을받지 않습니다. 886 00:42:35,460 --> 00:42:36,440 당신은 숯불을받지 않습니다. 887 00:42:36,440 --> 00:42:39,660 당신이 뭔가를 얻을 수 없습니다 다른 모두. 888 00:42:39,660 --> 00:42:40,510 당신은 int를 얻을 것이다. 889 00:42:40,510 --> 00:42:41,890 >> 지금, 그것은 긍정적하지 않을 수 있습니다. 890 00:42:41,890 --> 00:42:42,770 그것은 부정하지 않을 수 있습니다. 891 00:42:42,770 --> 00:42:44,550 우리는 그 주위에 보장을하지 않습니다. 892 00:42:44,550 --> 00:42:48,960 그러나 우리는, 사용자가 다시 시도 훼방합니다 다시 시도 그 때까지 다시 시도하거나 그녀가 실제로 893 00:42:48,960 --> 00:42:49,810 협력한다. 894 00:42:49,810 --> 00:42:53,085 마찬가지로, 나는 1.23를 할 경우, 그 INT 없습니다. 895 00:42:53,085 --> 00:42:58,400 하지만 50 말에서 입력 한 경우, 그 내게 원했던 값을 제공합니다. 896 00:42:58,400 --> 00:42:59,050 >> 좋아. 897 00:42:59,050 --> 00:43:01,380 그렇게 나쁘지 않다. 898 00:43:01,380 --> 00:43:04,780 우리가 무슨 짓을했는지에 대한 질문? 899 00:43:04,780 --> 00:43:07,930 키 테이크 아웃은, 명확하게,없는 것 우리가 본 적이 너무 많은 루프 900 00:43:07,930 --> 00:43:10,880 전에 우리는 정말이 비록 그것을 사용하지만, 범위의 문제, 여기서 901 00:43:10,880 --> 00:43:17,045 변수에만 사용할 수 수 있습니다 일부 지정된 범위 내에서. 902 00:43:17,045 --> 00:43:19,830 >> 좋아, 내가 제안을 해결하자 당신의 앞에서 만든 903 00:43:19,830 --> 00:43:20,860 전역 변수. 904 00:43:20,860 --> 00:43:24,880 옆으로, 그 다른 밝혀 이 문제를 해결하지만, 905 00:43:24,880 --> 00:43:28,880 일반적으로 잘못된 솔루션 또는 잘못 설계된 솔루션에 있습니다 906 00:43:28,880 --> 00:43:31,670 무엇과 같이 변수를 선언 전역 변수라고합니다. 907 00:43:31,670 --> 00:43:34,610 지금 나는 나의 정의를 위반 한 종류 해요 범위가 있기 때문에 908 00:43:34,610 --> 00:43:37,680 맨 전혀 중괄호가 없습니다 그리고 파일의 맨 아래. 909 00:43:37,680 --> 00:43:40,190 그러나 그 의미 즉, 지금은 네 번째 줄에 있습니다 910 00:43:40,190 --> 00:43:41,710 n은 전역 변수입니다. 911 00:43:41,710 --> 00:43:44,460 이름에서 알 수 있듯이, 그것은의 도처 액세스 할 수 있습니다. 912 00:43:44,460 --> 00:43:45,790 >> 스크래치 실제로이 있습니다. 913 00:43:45,790 --> 00:43:48,650 당신이 변수를 사용하는 경우, 당신은 기억 할 수 당신은 그것을 위해 인 경우에 선택했다 914 00:43:48,650 --> 00:43:50,780 이 스프라이트 또는 모든 스프라이트합니다. 915 00:43:50,780 --> 00:43:54,270 물론, 모든 스프라이트은 명확하다 글로벌 말하는 방법입니다. 916 00:43:54,270 --> 00:43:55,520 그래? 917 00:43:55,520 --> 00:44:09,690 918 00:44:09,690 --> 00:44:10,990 아, 정말 좋은 질문입니다. 919 00:44:10,990 --> 00:44:14,310 >> 그래서 첫 번째 버전에서 그 리콜 내 코드의, 때 잘못 920 00:44:14,310 --> 00:44:17,700 라인 9 일만에 선언 된 정의 N - 921 00:44:17,700 --> 00:44:19,980 나는 변수로 선언 그리고 나는 그것을 사용하여 값을 준 922 00:44:19,980 --> 00:44:21,160 대입 연산자 - 923 00:44:21,160 --> 00:44:22,520 이 날 두 가지 오류를 주었다. 924 00:44:22,520 --> 00:44:26,560 하나 N를 사용하지 않은 사실, 두, 그 라인 인 11 925 00:44:26,560 --> 00:44:27,770 그것은 단지 선언되지 않았습니다. 926 00:44:27,770 --> 00:44:31,120 나는하지 않았다 그래서 첫 번째 시간에 주소를 입력합니다. 927 00:44:31,120 --> 00:44:35,130 그것은 엄격하게 선언하면 오류가 발생하지 않습니다 변수는 사용하지 그러나. 928 00:44:35,130 --> 00:44:38,540 우리가했던 일들 그러나 한 의도적으로 CS50 기기, 929 00:44:38,540 --> 00:44:43,340 교육적, 우리를 마약 적이있다 컴파일러의 기대를 만들려면 930 00:44:43,340 --> 00:44:46,970 확실히 당신이 일을하고있는 것이 아니라 올바르게하지만 정말 제대로. 931 00:44:46,970 --> 00:44:51,520 >> 때문에 당신은 변수를 선언하는 경우 n과 그것을 사용하지 않거나 그것을 사용하여 결코 같은 932 00:44:51,520 --> 00:44:53,700 정확하게 그 무엇 거기 뭐하는거야? 933 00:44:53,700 --> 00:44:55,650 그것은 진정으로 어떤 목적을 제공하지 않습니다. 934 00:44:55,650 --> 00:44:58,980 경우 그리고 그것은 시간이 지남에 따라 매우 쉽게 당신 당신의 자신의 컴퓨터를 구성하지 935 00:44:58,980 --> 00:45:01,960 이 방법은, 그냥이 코드를 가지고 여기에 약간의 잔해가 남아있는. 936 00:45:01,960 --> 00:45:04,390 다음 달 나중에 다시보고 당신은 같은거야, 왜이 줄은 937 00:45:04,390 --> 00:45:05,060 이 코드? 938 00:45:05,060 --> 00:45:07,940 그리고 더 좋은 이유가없는 경우에, 당신이나 당신의 동료에 도움이되지 않습니다 939 00:45:07,940 --> 00:45:10,650 길을해야 할 다음에 넘어. 940 00:45:10,650 --> 00:45:12,540 >> 옆으로, 어디에로 그에서 오는? 941 00:45:12,540 --> 00:45:16,410 잘 기억 우리가 컴파일 때마다 프로그램은이 물건의입니다 942 00:45:16,410 --> 00:45:17,380 인쇄되는. 943 00:45:17,380 --> 00:45:18,350 그래서 우리는이에 돌아올 것이다. 944 00:45:18,350 --> 00:45:22,230 그러나 다시 만들어는 유틸리티입니다 로 컴파일하는 과정을 자동화 945 00:45:22,230 --> 00:45:24,830 실제 컴파일러를 실행 연타했다. 946 00:45:24,830 --> 00:45:27,650 이 물건은 결국 우리가 볼 수있다 특수와 함께 디버깅 할 수 있습니다 947 00:45:27,650 --> 00:45:29,060 프로그램은 디버거를했다. 948 00:45:29,060 --> 00:45:32,150 이것은 최적화로 할 수있다 코드 - 더 미래에서 해당합니다. 949 00:45:32,150 --> 00:45:33,620 STD = C99 - 950 00:45:33,620 --> 00:45:37,870 이 단지의 1999 버전을 사용하는 것을 의미합니다 C. C는보다 더 긴 정도 됐어요 951 00:45:37,870 --> 00:45:40,830 하지만 그들은 몇 가지 좋은했다, 그 변경 년전 10 플러스. 952 00:45:40,830 --> 00:45:42,690 >> 그리고 여기에 관련된 것들이다. 953 00:45:42,690 --> 00:45:45,880 우리는 무엇을 말하는 것 이전에 경고했을 954 00:45:45,880 --> 00:45:48,560 학생을 방지 오류 컴파일에서. 955 00:45:48,560 --> 00:45:51,400 그리고 벽 수단을 위해 그것을 물건의 전체 무리하지 956 00:45:51,400 --> 00:45:53,060 단지 변수와 관련. 957 00:45:53,060 --> 00:45:54,700 그리고 그 때 저에게로 스크롤하자 이 행의 끝. 958 00:45:54,700 --> 00:45:56,430 그리고도, 우리는 결국거야 로 돌아옵니다. 959 00:45:56,430 --> 00:45:59,040 이것은 분명히의 이름입니다 내가 컴파일하고있어 파일입니다. 960 00:45:59,040 --> 00:46:02,160 이 파일의 이름을 리콜 나는 이름으로 출력 해요 961 00:46:02,160 --> 00:46:04,070 내 실행 가능한 프로그램. 962 00:46:04,070 --> 00:46:08,970 이 - lcs50은 CS50 사용을 의미 라이브러리 및 0과 1 그 963 00:46:08,970 --> 00:46:12,390 직원이 쓴 이전의 컴파일 올해 통합 964 00:46:12,390 --> 00:46:13,490 내 프로그램에 그들을. 965 00:46:13,490 --> 00:46:16,130 >> 누구나-LM 뭔지 알아? 966 00:46:16,130 --> 00:46:18,150 그것은 수학 라이브러리의 당신이있어 그냥 있어도 967 00:46:18,150 --> 00:46:19,320 어떤 수학을하지. 968 00:46:19,320 --> 00:46:22,620 그것은 그냥 자동으로 제공거야 우리에게 확인하여. 969 00:46:22,620 --> 00:46:26,540 >> 글쎄, 내가 다른 하나의 예를 들어하자 여기에 새 파일을 열어. 970 00:46:26,540 --> 00:46:30,560 그리고 저 string.c 본을 저장할 수 있습니다. 971 00:46:30,560 --> 00:46:37,980 그것은 밝혀 그 우리는 데이터에 대한 이야기​​로 유형 오늘 더있다 972 00:46:37,980 --> 00:46:40,630 후드 아래에가는 우리는 지금까지 본 것보다. 973 00:46:40,630 --> 00:46:42,290 그래서 나는 빨리 빨리 프로그램을 수행 할 수 있습니다. 974 00:46:42,290 --> 00:46:44,510 stdio.h에 포함. 975 00:46:44,510 --> 00:46:45,730 그리고 그 내용을 저장합니다. 976 00:46:45,730 --> 00:46:48,110 그리고 당신이 알고, 내가하지 보자 같은 실수를 또 다시. 977 00:46:48,110 --> 00:46:50,540 cs50.h. 포함 978 00:46:50,540 --> 00:46:54,870 그리고 지금 나 앞서 가자 및 주요 int를 (무효) 할. 979 00:46:54,870 --> 00:46:58,790 >> 지금은 단순히 프로그램을 수행 할 이 작업을 수행하는 - 문자열을 선언 980 00:46:58,790 --> 00:47:03,610 의 전화와 문자열을 사용자의. 981 00:47:03,610 --> 00:47:05,820 그리고 제가 좀하자 여기에 지침 - 982 00:47:05,820 --> 00:47:09,960 - 이렇게 나에게 문자열을주세요 사용자가 무엇을 알고있다. 983 00:47:09,960 --> 00:47:13,190 그리고 아래로 여기 아래 나는 다음과 같은 작업을 수행 할 - 984 00:47:13,190 --> 00:47:16,060 INT 위해 나는 제로옵니다. 985 00:47:16,060 --> 00:47:18,580 다시 컴퓨터 과학자들은 일반적으로 제로 카운트 시작하지만, 우리는 수 986 00:47:18,580 --> 00:47:20,340 우리가 정말 원하는 경우 하나를합니다. 987 00:47:20,340 --> 00:47:27,240 이제 내가 할거야 내가 작 의의 문자열 길이보다. 988 00:47:27,240 --> 00:47:28,430 그래서 나 strlen - 989 00:47:28,430 --> 00:47:29,510 S-T-R-L-E-N - 990 00:47:29,510 --> 00:47:31,650 쉽게 때문에 다시는 간결의 그것은, 비록 입력하십시오 991 00:47:31,650 --> 00:47:32,590 작은 비밀. 992 00:47:32,590 --> 00:47:35,290 >> 그것은 우리가 사용하지 않는 한 기능입니다 전에 그러나 문자 그대로는 않습니다 - 993 00:47:35,290 --> 00:47:37,810 나에게 나타내는 숫자를 반환 문자열의 길이 994 00:47:37,810 --> 00:47:38,690 사용자가 입력 한. 995 00:47:38,690 --> 00:47:41,740 그들은 인사에 입력하면 반환 다섯 다섯이 때문에 996 00:47:41,740 --> 00:47:42,890 안녕의 문자. 997 00:47:42,890 --> 00:47:45,390 그런 다음, 각 반복에 이 루프, 난 플러스 플러스. 998 00:47:45,390 --> 00:47:49,170 그래서 다시, 표준 경우에도 구성 당신은 확실히 너무 편안하지 않은 또는 999 00:47:49,170 --> 00:47:50,420 아직 익숙. 1000 00:47:50,420 --> 00:47:53,220 >> 하지만 지금은이 루프의 각 반복에, 내가 할거야 알 수 있습니다. 1001 00:47:53,220 --> 00:47:56,690 내가 가서 인쇄 할 하나의 문자 중 1 - 1002 00:47:56,690 --> 00:47:59,940 새 줄에 이렇게 % C 백 슬래시 없음. 1003 00:47:59,940 --> 00:48:00,990 그리고, 당신은 내가 뭘 원하는지 알아? 1004 00:48:00,990 --> 00:48:05,090 단어는 어떤 것을 사용자 유형 에, 안녕하세요 같이, 나는 인쇄 할 1005 00:48:05,090 --> 00:48:09,530 H-E-L-L-O, 라인 당 하나의 문자. 1006 00:48:09,530 --> 00:48:13,080 즉, 나는에 얻으려면 문자열에서 개별 문자, 1007 00:48:13,080 --> 00:48:16,770 지금까지 문자열은이 그것에 의하여 위로 문자의 순서이었다. 1008 00:48:16,770 --> 00:48:21,690 >> 나는 S, 브래킷을 수행 할 수 있습니다 밖으로 그리고 그것은 회전 나는, 가까운 부류 닫고 1009 00:48:21,690 --> 00:48:23,580 괄호, 세미콜론. 1010 00:48:23,580 --> 00:48:25,640 그리고 하나 더 일을해야합니까. 1011 00:48:25,640 --> 00:48:30,570 그것은 string.h에라는 파일에의 그 strlen 함수가 선언됩니다. 1012 00:48:30,570 --> 00:48:33,190 나는이 기능을 사용하려면 그렇게하면 나는 컴파일러에게 필요 1013 00:48:33,190 --> 00:48:34,450 그것을 사용하는 기대합니다. 1014 00:48:34,450 --> 00:48:37,040 지금 내가 가서 만들어 보자 이 프로그램은 문자열을했다. 1015 00:48:37,040 --> 00:48:39,150 점, 슬래시, 문자열입니다. 1016 00:48:39,150 --> 00:48:40,130 >> 나에게 문자열을주지하시기 바랍니다. 1017 00:48:40,130 --> 00:48:40,900 내가 가서 그것을 입력합니다. 1018 00:48:40,900 --> 00:48:43,040 안녕하세요, 모두 대문자로 입력합니다. 1019 00:48:43,040 --> 00:48:47,390 그리고 지금이 인쇄 한 발견 문자 하나 다른 후. 1020 00:48:47,390 --> 00:48:51,450 그래서 여기에 새로운 디테일은 그 문자열 하루의 끝에서 할 수 있습니다 1021 00:48:51,450 --> 00:48:54,810 개별적인 방식으로 접근 사각형을 도입하여 자 1022 00:48:54,810 --> 00:48:55,840 대괄호 표기법. 1023 00:48:55,840 --> 00:48:59,090 그리고 그건 문자열 아래에 있기 때문에 후드는 참의 순서입니다 1024 00:48:59,090 --> 00:48:59,810 자. 1025 00:48:59,810 --> 00:49:02,010 하지만 그들에 대한 깔끔한 것은이다 컴퓨터의 RAM에서 - 1026 00:49:02,010 --> 00:49:05,300 그것이 무엇이든 맥, PC, - 그들이있어 그대로 다시 다시 다시하는 - 1027 00:49:05,300 --> 00:49:06,225 H-E-L-L-O - 1028 00:49:06,225 --> 00:49:09,920 개인, 옆에서 메모리의 바이트입니다. 1029 00:49:09,920 --> 00:49:13,210 >> 당신은 여덟 번째 예에서 얻고 싶은 경우에 바이트, 이는이 루프에있을 것입니다 1030 00:49:13,210 --> 00:49:16,900 브래킷 제로 브라켓 하나 브래킷 두, 브라켓 세 부류 네 - 1031 00:49:16,900 --> 00:49:18,890 그는 0 5 때까지 인덱스입니다 - 1032 00:49:18,890 --> 00:49:23,330 즉, H-E-L-L-O 출력됩니다 자신의 라인. 1033 00:49:23,330 --> 00:49:26,320 >> 이제 맛보기로, 당신 날 보여 드리겠습니다 물건의 종류의 당신은 결국있을거야 1034 00:49:26,320 --> 00:49:31,950 적어도 이해할 수 몇몇 닫기 찾고. 1035 00:49:31,950 --> 00:49:35,610 하나, 우리는 오늘에 무엇이 포함 예, 당신이 좋아 한 경우에, 실제로 1036 00:49:35,610 --> 00:49:38,300 처음 jailbreaks 중 하나 아이폰에 대한. 1037 00:49:38,300 --> 00:49:40,800 탈옥은 전화를 부수는 방법 그래서 당신은 실제로에 그것을 사용할 수 있습니다 1038 00:49:40,800 --> 00:49:43,380 다른 사업자 또는 설치 당신의 자신의 소프트웨어입니다. 1039 00:49:43,380 --> 00:49:45,660 그리고 당신이 완전하게 보이는 알 수 있습니다 비밀 가능성이 높습니다. 1040 00:49:45,660 --> 00:49:46,520 하지만, 이쪽을 봐주세요. 1041 00:49:46,520 --> 00:49:50,420 아이폰은 분명히 금이되었다 루프, 경우, 상태, 다른 1042 00:49:50,420 --> 00:49:52,580 조건, 함수의 무리 우리는 본 적이 없다. 1043 00:49:52,580 --> 00:49:54,230 >> 그리고 또, 당신은 AT하지 않습니다 아마 언뜻 1044 00:49:54,230 --> 00:49:55,620 이 작동하는 방법을 이해합니다. 1045 00:49:55,620 --> 00:49:58,940 하지만 우리가 일종의 수행하는 모든 것을 우리의 현대 생활에서 당연 1046 00:49:58,940 --> 00:50:02,040 실제로 일부도 감소 경향 이러한 기본의 우리 봤는데 1047 00:50:02,040 --> 00:50:02,820 고. 1048 00:50:02,820 --> 00:50:06,680 내가 가서 하나를 열어 보자 다른 프로그램 holloway.c. 1049 00:50:06,680 --> 00:50:08,970 이 때문에도 무언가이다 당신 정말 알고하지 마십시오. 1050 00:50:08,970 --> 00:50:12,440 심지어 직원의 없음 또는 내가 수 아마보고하여이를 알아낼 1051 00:50:12,440 --> 00:50:15,450 이 사람의 코드 그것 때문에 그는 무엇에 제출되었습니다 1052 00:50:15,450 --> 00:50:19,630 역사적으로 난독 C로 알려진 당신은 프로그램을 작성 콘테스트 1053 00:50:19,630 --> 00:50:24,670 컴파일하고 실행하지만 너무 망할입니다 이상한 사람 아니 무엇을 이해할 수 없습니다 1054 00:50:24,670 --> 00:50:27,530 할 때까지 할 거예요 그들은 실제로 그것을 실행합니다. 1055 00:50:27,530 --> 00:50:29,940 >> 당신은 이것 좀 봐 그래서 실제로 경우, 코드는 내가 스위치를 참조하십시오. 1056 00:50:29,940 --> 00:50:30,870 나는 주를 참조하십시오. 1057 00:50:30,870 --> 00:50:33,800 나는이 대괄호 의미를 참조하십시오 배열의 일종. 1058 00:50:33,800 --> 00:50:35,970 사람이 추측 할 않는 것을 실제로이 프로그램 1059 00:50:35,970 --> 00:50:37,220 나는 홀로을 실행하면됩니까? 1060 00:50:37,220 --> 00:50:39,940 1061 00:50:39,940 --> 00:50:40,750 예. 1062 00:50:40,750 --> 00:50:43,050 확인을 클릭합니다. 1063 00:50:43,050 --> 00:50:44,690 잘. 1064 00:50:44,690 --> 00:50:48,090 그래서 직원 만 나는 알아낼 수 없습니다 이런 것들이 무엇을 밖으로. 1065 00:50:48,090 --> 00:50:51,670 >> 그리고 지금 마지막으로, 나 앞서 가자 한 다른 프로그램을 엽니 다. 1066 00:50:51,670 --> 00:50:53,440 이 하나 - 1067 00:50:53,440 --> 00:50:55,550 다시, 우리는 소스 코드를 만들거야 온라인에 사용 가능 -이 것은 단지 1068 00:50:55,550 --> 00:50:57,480 종류는 꽤 볼 수 있습니다. 1069 00:50:57,480 --> 00:50:59,750 그들이 한 모든 맞았다 스페이스 바를 꽤. 1070 00:50:59,750 --> 00:51:01,320 그러나 실제 코드입니다. 1071 00:51:01,320 --> 00:51:04,790 당신은 예쁜,있는 경우라고 생각 그래서 만약 우리 실제로, 프롬프트에서이 실행 1072 00:51:04,790 --> 00:51:08,970 결국 당신은 어떻게 우리가 볼 수 있습니다 이 같은 일을 할 수 있습니다. 1073 00:51:08,970 --> 00:51:14,008 >> 그래서 우리는 그 주에 당신을 떠날거야 과 수요일에 당신을 참조하십시오. 1074 00:51:14,008 --> 00:51:18,440 >> [음악 연주] 1075 00:51:18,440 --> 00:51:23,380 >> 스피커 2 : 다음 CS50에서, TFS는 반란을 무대. 1076 00:51:23,380 --> 00:51:24,112 >> SPEAKER 3 : 저기있다. 1077 00:51:24,112 --> 00:51:25,362 잡아! 1078 00:51:25,362 --> 00:51:29,912 1079 00:51:29,912 --> 00:51:32,074 >> [음악 연주]