1 00:00:00,000 --> 00:00:02,742 >> [음악 재생] 2 00:00:02,742 --> 00:00:05,030 3 00:00:05,030 --> 00:00:09,090 >> ANDI 펭 : 이것은 CS50이며 섹션의 주 두에 오신 것을 환영합니다. 4 00:00:09,090 --> 00:00:11,740 이것은 실제로 주 동안이다 실제로 우리의 그 수업의 두, 5 00:00:11,740 --> 00:00:14,550 첫 주에 우리는 절을 했어. 6 00:00:14,550 --> 00:00:18,897 손의 쇼, 여러분 모두의 얼마나 많은 지난 주 슈퍼 절을했다? 7 00:00:18,897 --> 00:00:19,480 좋아, 괜찮아요. 8 00:00:19,480 --> 00:00:20,020 괜찮아요. 9 00:00:20,020 --> 00:00:23,110 어떻게 많은 시청 슈퍼 섹션 지난 주? 10 00:00:23,110 --> 00:00:23,610 그래. 11 00:00:23,610 --> 00:00:25,702 그리고 너희들은 잘했다 문제에 하나를 설정? 12 00:00:25,702 --> 00:00:28,660 그래서 나는 우리가 가지고 그것을 가지고 갈거야 정말 지능형 아이들의 무리 13 00:00:28,660 --> 00:00:32,310 이 클래스와 일에 잘 될 것입니다. 14 00:00:32,310 --> 00:00:33,180 그래. 15 00:00:33,180 --> 00:00:33,980 그래서 first-- 16 00:00:33,980 --> 00:00:37,900 17 00:00:37,900 --> 00:00:41,090 >> 첫째, 우리는 그냥 간단히 갈거야 오늘의 의제를 통해 이동합니다. 18 00:00:41,090 --> 00:00:42,700 우리는 물론 물류에 대해 이야기 할 것이다. 19 00:00:42,700 --> 00:00:45,480 당신의 많은 아마 에 대한 질문이 20 00:00:45,480 --> 00:00:46,920 방법이 과정에서 실행되는 것. 21 00:00:46,920 --> 00:00:47,897 우리는 그들을 답변 해 드리겠습니다. 22 00:00:47,897 --> 00:00:49,730 우리는 간단히 갈거야 경우에 루프를 통해 이동 23 00:00:49,730 --> 00:00:51,410 너희들의 슈퍼 섹션을 놓쳤다. 24 00:00:51,410 --> 00:00:53,240 우리는 ASCII 매핑에 대해 이야기 할 것이다. 25 00:00:53,240 --> 00:00:56,180 우리는 배열에 대해 이야기 할 것입니다, 기능, 명령 줄 인수. 26 00:00:56,180 --> 00:01:00,210 그리고 마지막으로, 무엇을 너희들 아마 정말로에 대해 알아 보려면 여기되고 싶어요, 27 00:01:00,210 --> 00:01:01,270 당신의 pset2입니다. 28 00:01:01,270 --> 00:01:04,209 우리는 멋진 트릭을해야합니다 그 작업을 수행하는 방법에 대한 팁. 29 00:01:04,209 --> 00:01:07,910 30 00:01:07,910 --> 00:01:08,690 >> 그래. 31 00:01:08,690 --> 00:01:11,450 또한, 둘째로, 우리가 여기에 사탕을 많이. 32 00:01:11,450 --> 00:01:13,583 사탕을 좋아하는 사람, 그냥 여기 와서. 33 00:01:13,583 --> 00:01:14,430 몇 가지를 잡아. 34 00:01:14,430 --> 00:01:15,100 나는 무리가있다. 35 00:01:15,100 --> 00:01:16,390 우리는 사무실에서 톤이있다. 36 00:01:16,390 --> 00:01:18,230 정말 싶지 않아 하루 종일 사탕을 먹을 수 있습니다. 37 00:01:18,230 --> 00:01:20,300 너희들은, 모든 사탕을 먹어야한다 내가 너희들을 위해 여기를 가져왔다 때문이다. 38 00:01:20,300 --> 00:01:20,990 그냥 사탕을 먹는다. 39 00:01:20,990 --> 00:01:24,080 모든 섹션 사탕이있을 수 있습니다. 40 00:01:24,080 --> 00:01:25,330 >> 그래서 일단, 나는 누구인가? 41 00:01:25,330 --> 00:01:27,080 내 이름은 앤디 펭입니다. 42 00:01:27,080 --> 00:01:30,270 나는 예일 여기 CS50의 머리 TA입니다. 43 00:01:30,270 --> 00:01:32,540 및 이외에 즉, 나는 또한 이따가 것 44 00:01:32,540 --> 00:01:35,600 사람이 당신의 실행을 그때 엔한다면 친구, 당신의 어깨에 울고있다. 45 00:01:35,600 --> 00:01:39,140 만약 당신의 PSET의 때문에 전날 밤에, 당신은 무슨 일이야 아무 생각이 46 00:01:39,140 --> 00:01:40,080 띄워 줘. 47 00:01:40,080 --> 00:01:42,770 우리는 등등, 함께 동정합니다. 48 00:01:42,770 --> 00:01:46,100 그냥 여기있어 알고 프론트 라인으로 당신을 위해 자원 49 00:01:46,100 --> 00:01:51,830 돕는 너희들 방법을 알아낼 CS50에서 이후 문제를 해결합니다. 50 00:01:51,830 --> 00:01:54,590 >> 내 이메일은 andi.peng@yale.edu입니다. 51 00:01:54,590 --> 00:01:58,390 또한 개인을 보내드립니다 거기에 내 전화 번호와 이메일 52 00:01:58,390 --> 00:02:01,860 그래서에 모든 사람 인터넷이 내 전화 번호를 볼 수 있습니다. 53 00:02:01,860 --> 00:02:03,640 언제든지 내게 전화 주시기 바랍니다. 54 00:02:03,640 --> 00:02:07,510 진심으로, 내 휴대 전화는 일반적으로 내 손에 연결합니다. 55 00:02:07,510 --> 00:02:10,240 나는 응답하지 않을 수 있습니다 몇 분 이내에. 56 00:02:10,240 --> 00:02:11,984 나는 몇 시간 내에 응답하지 않을 수 있습니다. 57 00:02:11,984 --> 00:02:14,400 하지만, 당신을 보장 할 수 당신이 나를 호출하는 경우 당신은, 나에게 이메일을 보내 58 00:02:14,400 --> 00:02:17,404 텍스트 날, 나는 24 시간 이내에 응답합니다. 59 00:02:17,404 --> 00:02:19,820 때때로, 나는 전에 응답 할 것이다 내가 이해하기 때문에, 그 60 00:02:19,820 --> 00:02:23,900 모든 사람이 어떤 문제를 가지고 있는지, 당신은 당신의 답변을 원하는 61 00:02:23,900 --> 00:02:26,110 매우 신속하게 답변합니다. 62 00:02:26,110 --> 00:02:28,945 >> 그러나 호출하는 경우 나 삼십분 전에 63 00:02:28,945 --> 00:02:31,570 때문에 목요일입니다 조각 , 앤디가, 나 좀 도와처럼 night--, 64 00:02:31,570 --> 00:02:35,380 내가 줄 수 started--하지 않은 당신은 어깨에 울고있다. 65 00:02:35,380 --> 00:02:41,520 그러나 그것은 생각하는 시간이 될 수있다 그 다음에하지하는 방법. 66 00:02:41,520 --> 00:02:44,040 그래. 67 00:02:44,040 --> 00:02:44,944 죄송합니다. 68 00:02:44,944 --> 00:02:45,850 어떻게 돌아 가야합니까? 69 00:02:45,850 --> 00:02:48,140 우리는 거기에 갈. 70 00:02:48,140 --> 00:02:52,310 >> 그래서이 과정에서, 우리는이 모두를위한 지원의 톤. 71 00:02:52,310 --> 00:02:54,640 다만 이외에 여기 섹션있는 당신을 72 00:02:54,640 --> 00:02:57,000 매주 90을 보낼 수 나와 함께 멋진 분, 73 00:02:57,000 --> 00:02:58,330 우리는 또한 근무 시간이 있습니다. 74 00:02:58,330 --> 00:03:01,021 얼마나 많은 남자들은 이미 도움을 근무 시간에가? 75 00:03:01,021 --> 00:03:01,520 좋아요. 76 00:03:01,520 --> 00:03:05,700 즉,보고 정말 좋은 우리 때문에 45 조교하고있는 CA의 직원이 77 00:03:05,700 --> 00:03:11,780 현재이 과정에 대한 훈련 당신의 Pset와 함께 너희들을 도와. 78 00:03:11,780 --> 00:03:14,580 >> 월요일 그들은 TEAL에서 개최하고 여기에 17 힐 하우스 교실 79 00:03:14,580 --> 00:03:15,350 예일. 80 00:03:15,350 --> 00:03:17,349 화요일과 목요일, 그들은 공유지에서 개최하고 있습니다. 81 00:03:17,349 --> 00:03:20,010 거의 11 평일 8:00. 82 00:03:20,010 --> 00:03:21,620 오세요, 나와. 83 00:03:21,620 --> 00:03:24,030 어떤 문제, 아니 problem-- 그냥 어서, 84 00:03:24,030 --> 00:03:26,650 그리고, 우리는 그와 함께 당신을 도울 것입니다. 85 00:03:26,650 --> 00:03:31,640 >> 둘째, 업무 시간 외에 및 섹션, 우리는 또한 반바지가 있습니다. 86 00:03:31,640 --> 00:03:35,930 누구도 몇 가지를 볼 수 있습니다 동영상에서 반바지 또는 연습 87 00:03:35,930 --> 00:03:36,750 웹 사이트에? 88 00:03:36,750 --> 00:03:37,250 그래. 89 00:03:37,250 --> 00:03:39,510 그래서 그들은 정말, 정말 도움이있어. 90 00:03:39,510 --> 00:03:42,470 우리의 사랑스러운 하버드 생산 그 학교에 거기 팀 91 00:03:42,470 --> 00:03:47,910 북쪽, 그들은 촬영 및 생산 이러한 놀라운 연습 동영상. 92 00:03:47,910 --> 00:03:52,290 >> 그들은 당신을 단계별로 할게요 어떻게 문제를 해결 이동합니다. 93 00:03:52,290 --> 00:03:56,340 때때로, 당신은에 대해 혼동하는 경우 간단한 개념, 단수 개념, 94 00:03:56,340 --> 00:03:59,780 우리가 아마 가지고 있기 때문에, 봐 어딘가에 우리의 웹 사이트에 그것에 짧은. 95 00:03:59,780 --> 00:04:03,800 그리고 그것은 일반적으로 훌륭한 자원이다 먼저있을 때를 찾기 위해 96 00:04:03,800 --> 00:04:06,510 문제를 처리하는 방법을 잃었다. 97 00:04:06,510 --> 00:04:09,750 >> 셋째, 우리는 또한이 study50 및 reference50. 98 00:04:09,750 --> 00:04:15,650 그래서 50를 연구 웹 사이트는 링크입니다. 99 00:04:15,650 --> 00:04:21,500 그것은 내가 생각이다, study.cs50.net 또는 그런 일. 100 00:04:21,500 --> 00:04:22,860 그냥 구글. 101 00:04:22,860 --> 00:04:24,229 우리는 준비 슬라이드 많이 있습니다. 102 00:04:24,229 --> 00:04:26,770 우리는 반바지를 많이 가지고 모든 컴파일 walkthroughs-- 일 103 00:04:26,770 --> 00:04:31,070 아주 좋은 모든 너희들을위한 깔끔한 를 통해 찾아, 어떤 개념을 참조하십시오 104 00:04:31,070 --> 00:04:32,860 당신은 혼동 걸. 105 00:04:32,860 --> 00:04:35,920 아마 적용 할 것 이 study50에 이상. 106 00:04:35,920 --> 00:04:37,640 >> 비슷한 Reference50--. 107 00:04:37,640 --> 00:04:41,510 우리는 다양한 노트를 많이 가지고 귀하의 처분에 대해 쉽게 사용할 수 있습니다. 108 00:04:41,510 --> 00:04:44,450 그리고 마지막으로, 우리는 무슨 일이있어 가지고 CS50 논의라고, 109 00:04:44,450 --> 00:04:48,082 의 포럼, 경우 전날 밤 당신이 당신의 문제를하고있는, 말, 110 00:04:48,082 --> 00:04:49,880 당신은 질문이 있습니다. 111 00:04:49,880 --> 00:04:52,340 토론 CS50에 로그인합니다. 112 00:04:52,340 --> 00:04:53,190 질문을 게시. 113 00:04:53,190 --> 00:04:55,820 그리고 hundreds--의 다음 하나를 동료의 아마, thousands-- 114 00:04:55,820 --> 00:04:57,960 온라인이 클래스를 복용에 기록합니다. 115 00:04:57,960 --> 00:05:01,182 어쩌면 누군가가 얻을 수 있습니다 조교하기 전에 당신의 대답. 116 00:05:01,182 --> 00:05:03,390 그것은 본질적으로 그냥있어 온라인 포럼이 우리가 할 수있는 모든 117 00:05:03,390 --> 00:05:04,556 우리의 문제를 논의하기 위해 사용합니다. 118 00:05:04,556 --> 00:05:06,483 그건 괜찮아요. 119 00:05:06,483 --> 00:05:10,660 120 00:05:10,660 --> 00:05:11,550 >> 그래. 121 00:05:11,550 --> 00:05:13,220 그래서 문제는 설정합니다. 122 00:05:13,220 --> 00:05:17,840 우리의 권리에 관한 것 문제의 두께는 두 가지를 설정합니다. 123 00:05:17,840 --> 00:05:20,570 우리의 많은 이미 문제를 통해 고투 한을 설정합니다. 124 00:05:20,570 --> 00:05:24,460 우리는 이미 아마도 기다리고있는 것을 알고있다 지난 밤은 당신의 PSET을 수행하려면 125 00:05:24,460 --> 00:05:28,170 CS50에서 할 수있는 가장 현명한 일이 아니다. 126 00:05:28,170 --> 00:05:32,380 >> 팁과 본질적위한 팁 성공은 전체 사양을 읽습니다. 127 00:05:32,380 --> 00:05:36,270 얼마나 많은 당신은 이미 PSET 2의 스펙을 읽어? 128 00:05:36,270 --> 00:05:36,770 그래. 129 00:05:36,770 --> 00:05:39,840 즉 고체 양입니다. 130 00:05:39,840 --> 00:05:43,210 나는 당신이 사람은 아마 인식하고 알고 지금 사양은 정말 깁니다. 131 00:05:43,210 --> 00:05:45,700 그들은 정말 긴, 정말이야. 132 00:05:45,700 --> 00:05:49,630 >> 그것은 모든 라인을 읽고 정말 어렵다 말씀으로 그 조심스럽게 단어. 133 00:05:49,630 --> 00:05:52,780 당신은 어디에 탈지 할 당신이 뭔가를 알려줍니다. 134 00:05:52,780 --> 00:05:54,459 나는 당신을 보장 할 수있는, 그렇게하지 ​​않습니다. 135 00:05:54,459 --> 00:05:56,750 당신이 그렇게한다면, 당신은 아마있어 어딘가 그리워 것 136 00:05:56,750 --> 00:05:58,458 여기서 당신을 알려줍니다 어떻게 문제를 시작하는 방법 137 00:05:58,458 --> 00:06:01,140 아니면 이름으로 무엇을 알려줍니다 문제 또는 그것은 당신을 알려줍니다, 138 00:06:01,140 --> 00:06:03,720 이것은 아마도 가장 좋은 방법입니다 문제를 일을 시작합니다. 139 00:06:03,720 --> 00:06:05,050 그리고 당신은 손실 될 수 있습니다. 140 00:06:05,050 --> 00:06:08,219 >> 당신은 당신을 읽으려고 할 때 중간 통해 스펙, 141 00:06:08,219 --> 00:06:10,510 중요한 많은 당신이하지 않은 것을 information-- 142 00:06:10,510 --> 00:06:12,260 정말 액세스 할 수 것. 143 00:06:12,260 --> 00:06:13,219 그래서 전체 사양을 참조하십시오. 144 00:06:13,219 --> 00:06:15,468 전체 사양을 읽어보십시오 당신이 절에 오기 전에, 145 00:06:15,468 --> 00:06:17,360 다음, 때 때문에 우리 PSET에 대해 이야기 146 00:06:17,360 --> 00:06:21,070 우리는 생각을 가질 수있다 무슨 일이 일어나고 있는지의. 147 00:06:21,070 --> 00:06:25,169 >> 둘째,이 개념은 나는 참조하고 싶은거야 148 00:06:25,169 --> 00:06:26,710 물론 학기에 걸쳐 많은. 149 00:06:26,710 --> 00:06:30,070 그러나 본질적으로, 오른쪽, 중간에 우리를 만나? 150 00:06:30,070 --> 00:06:33,970 나, 당신의 TA와 제이슨과 같은 과정으로 당신의 교수로 관리자와 Scaz 151 00:06:33,970 --> 00:06:37,120 다윗 당신의 교수와의 모든 등 이 과정에서 다른 아름다운 TAS, 152 00:06:37,120 --> 00:06:39,830 이 course--에 보조 우리는 우리의 최선을 다 할 것입니다 153 00:06:39,830 --> 00:06:42,965 당신이 설정되어 있는지 확인합니다 까지이 과정에서 성공하기 위해. 154 00:06:42,965 --> 00:06:43,840 우리는 절을 개최한다. 155 00:06:43,840 --> 00:06:44,870 우리는 근무 시간을 개최한다. 156 00:06:44,870 --> 00:06:47,087 우리는 당신의 전화를받을 것이다 통화, 전자 메일 답변 157 00:06:47,087 --> 00:06:49,670 만들기 위해 우리가 할 수있는 모든 것을 할 반드시 당신의 질문은 대답한다. 158 00:06:49,670 --> 00:06:51,460 >> 그러나, 너무 우리를 도와. 159 00:06:51,460 --> 00:06:52,450 중간에 우리를 만나보십시오. 160 00:06:52,450 --> 00:06:56,040 당신은 근무 시간에 올 경우 아니, 절을하지 간 데 161 00:06:56,040 --> 00:07:02,060 아니 데, 강의를 본 한 생각 좀 도와,처럼, 무슨 일이 일어나고 있는지. 162 00:07:02,060 --> 00:07:04,350 나는 잘, 미안 해요, 같이 될거야. 163 00:07:04,350 --> 00:07:06,410 그것은 빌려하는 시간이 될 수있다 그 어깨에 울고합니다 164 00:07:06,410 --> 00:07:08,959 나는 확실하지 않다 때문에 나는 당신을 돕기 위해 무엇을 할 수 있는지 165 00:07:08,959 --> 00:07:12,000 적어도 도움말을 시도하지 않는 경우 자신이 처음에 조금. 166 00:07:12,000 --> 00:07:12,910 중간에 우리를 만나보십시오. 167 00:07:12,910 --> 00:07:15,020 알다시피, 제발 답변을 얻을 준비 168 00:07:15,020 --> 00:07:16,353 재료에 종사 할 준비가. 169 00:07:16,353 --> 00:07:19,342 너무 많은 일을한다 관련된 모든 사람을 위해 쉽게. 170 00:07:19,342 --> 00:07:22,970 그래, 그게 꽤 많이 있습니다. 171 00:07:22,970 --> 00:07:23,720 >> 등급. 172 00:07:23,720 --> 00:07:29,250 그래서 강의 계획서에, 그것은 꽤입니다 심층 어떻게 우리에게 등급에. 173 00:07:29,250 --> 00:07:32,440 그러나 본질적으로, 고장 이 귀하의 학년의 50 % 174 00:07:32,440 --> 00:07:34,530 psets를 될 것이다 그 때문에, 사랑스러운 175 00:07:34,530 --> 00:07:37,400 어디 광대을 지출하고 에 코스 시간의 대부분. 176 00:07:37,400 --> 00:07:39,854 40 %를 퀴즈, 당신의 최종 프로젝트는 10 %가됩니다. 177 00:07:39,854 --> 00:07:42,520 을 통해 두 개의 퀴즈가있을 것입니다 학기의 과정. 178 00:07:42,520 --> 00:07:47,050 나는 시간과 날짜는 생각 또한 강의에 상장. 179 00:07:47,050 --> 00:07:49,210 >> 방법 우리 것 당신의 Pset를 등급 수 180 00:07:49,210 --> 00:07:53,930 우리는 기본적으로 네 가지를 가지고있다 우리는 각 학년에 할당 값. 181 00:07:53,930 --> 00:07:57,250 우리는 범위의 값을 가지고, 정확성, 디자인 및 스타일. 182 00:07:57,250 --> 00:08:01,530 당신이 볼 수 있도록, 그 종류의 우리의 하여 pset을 계산하는 공식. 183 00:08:01,530 --> 00:08:03,640 세 우리는 가장을 제공 중량, 정확함 184 00:08:03,640 --> 00:08:06,140 분명 당신의 코치 때문에 경우에 테스트해야 185 00:08:06,140 --> 00:08:08,480 우리가 원하는 것을 그것을 위해 테스트합니다. 186 00:08:08,480 --> 00:08:11,000 >> 너희들 모두가 귀하의 처분에 check50. 187 00:08:11,000 --> 00:08:13,730 이는 매우 유용한 기능이다 너희들은 모든 수 188 00:08:13,730 --> 00:08:17,560 우리의 서버에 코드를 업로드, 여기서 우리는 당신을 위해 그것을 확인합니다. 189 00:08:17,560 --> 00:08:20,800 그리고 당신은 사람들을 본 적이 frowny 얼굴, 웃는 얼굴. 190 00:08:20,800 --> 00:08:22,119 그들은 정말, 정말 도움이있어. 191 00:08:22,119 --> 00:08:23,910 하지 마십시오 시도를 좋아하는 학생 192 00:08:23,910 --> 00:08:26,230 그들에게 모든 대답에 하드 코딩합니다. 193 00:08:26,230 --> 00:08:30,050 나는 확실히 PSET 곳을 본 적이 누군가가 check50의 모든 값을 보았다 194 00:08:30,050 --> 00:08:33,429 그들은 단지 하드 경우 in-- 코드 이 숫자는,이 번호를 인쇄 할 수 있습니다. 195 00:08:33,429 --> 00:08:35,080 그 수있는 경우, 그 수를 출력. 196 00:08:35,080 --> 00:08:36,090 그러지 마. 197 00:08:36,090 --> 00:08:39,360 >> 비록 기술적으로하지만 check50는 정확 198 00:08:39,360 --> 00:08:41,809 해결의 길 문제는 올바르지 않습니다. 199 00:08:41,809 --> 00:08:45,770 그러니 그냥 아껴서 check50를 사용합니다. 200 00:08:45,770 --> 00:08:48,497 뿐만 아니라 있는지 확인 당신 이 기능을 어떻게 이해하고, 201 00:08:48,497 --> 00:08:50,580 프로그램이 작동 check50 이외에, 202 00:08:50,580 --> 00:08:53,120 우리는 모든 테스트를 할 수 없기 때문에 check50 가능한 경우. 203 00:08:53,120 --> 00:08:55,440 우리는 그들 중 일부를 테스트 할 수 있습니다. 204 00:08:55,440 --> 00:09:00,390 >> 디자인은 기본적으로, 어떻게 코드가 잘 설계인가? 205 00:09:00,390 --> 00:09:04,150 당신은 복사 - 붙여 넣기의 여러 경우 코드가 많은, 여러 번 라인. 206 00:09:04,150 --> 00:09:06,960 어쩌면 당신은 확실히이 없습니다 코드에서 최고의 디자인. 207 00:09:06,960 --> 00:09:09,470 아마 그 루프를 추가하는 시간이다. 208 00:09:09,470 --> 00:09:12,090 본질적으로, 여기에 그냥 전부 코드를 할 노력에 대해, 209 00:09:12,090 --> 00:09:17,010 효율적으로 코드를 작성하려고 수는 있도록 프로그램이 실행되는 210 00:09:17,010 --> 00:09:19,630 가능한 한 빨리. 211 00:09:19,630 --> 00:09:20,996 >> 마지막으로, 우리는 스타일을 가지고있다. 212 00:09:20,996 --> 00:09:24,360 그래서 스타일은 가지입니다 임의의, 주관적인 용어입니다. 213 00:09:24,360 --> 00:09:27,470 나는 우리가 공식적으로 알고 CS50의 스타일 (50) 가이드, 214 00:09:27,470 --> 00:09:30,050 그것이 오, 당신을 알려줍니다 경우, 당신을 여기에 공간이 있어야합니다. 215 00:09:30,050 --> 00:09:32,220 당신은해야 형식 가지 코드 이런 식으로. 216 00:09:32,220 --> 00:09:34,070 이 방법으로 물건의 이름을해야합니다. 217 00:09:34,070 --> 00:09:38,180 >> 정말, 그 자체를 걱정하지 않는다, 어떻게 당신은, 당신의 코드 스타일을 선택 218 00:09:38,180 --> 00:09:39,840 그냥 당신이 일관성 유지로. 219 00:09:39,840 --> 00:09:43,732 예를 들어, 당신이 좋아하는 경우 당신의 사 후 공간을 남겨 220 00:09:43,732 --> 00:09:45,690 당신의 네 루프 전에, 단지마다 그렇게. 221 00:09:45,690 --> 00:09:46,523 종류의 그것을하지 마십시오. 222 00:09:46,523 --> 00:09:47,730 그것을 다른 시간을하지 마십시오. 223 00:09:47,730 --> 00:09:51,046 당신은 곱슬을 유지하고 싶은 경우 중괄호 공간 특정 방법, 224 00:09:51,046 --> 00:09:52,170 다만 항상 그런 식으로 않습니다. 225 00:09:52,170 --> 00:09:54,628 종류의 어딘가에하지 마 여기 어딘가에 거기. 226 00:09:54,628 --> 00:09:57,010 우리는 등급 때, 정말 어렵다 227 00:09:57,010 --> 00:09:59,420 나는 아무 생각하는 방법이없는 경우 당신은 당신의 코드를 포맷하고 228 00:09:59,420 --> 00:10:02,064 일이 엉뚱한 장소에서입니다. 229 00:10:02,064 --> 00:10:04,980 그냥 일관성을 유지하는 경우, 그것은이다 이상으로 나를 위해 훨씬 더 쉽게 230 00:10:04,980 --> 00:10:06,310 코드를 읽을 수 있어야합니다. 231 00:10:06,310 --> 00:10:09,393 그것은 학생으로 당신을 위해 훨씬 쉽게 당신의 코드를 볼 수 있기를 232 00:10:09,393 --> 00:10:11,720 그리고 잘못을 확인 문제를 거기에 왜 슬래시. 233 00:10:11,720 --> 00:10:15,740 스타일은 가장 쉬운 것들 중 하나입니다 너희들은 전체 점수를 얻기 위해 수행 할 수 있습니다. 234 00:10:15,740 --> 00:10:18,770 기본적으로, 당신은 단지 경우, 신경 경우 당신은주의의 5 분 지불 235 00:10:18,770 --> 00:10:22,760 매주 코드하려면 다음을 수행해야 전체 스타일의 포인트를 얻는합니다. 236 00:10:22,760 --> 00:10:26,020 >> 마지막으로, 우리는 불리는 무슨이 범위의 승수입니다. 237 00:10:26,020 --> 00:10:28,890 Scope-- 나는 그것이 큰 알고 특히이 클래스의 단어. 238 00:10:28,890 --> 00:10:31,030 그러나 범위, 모든 수단 당신이 시도하고 있다는 점이다 239 00:10:31,030 --> 00:10:33,670 당신의 능력의 최선의 Pset. 240 00:10:33,670 --> 00:10:37,180 당신은 세 가지 아웃 설정 한 경우 당신의 네 문제 241 00:10:37,180 --> 00:10:39,460 심지어를 시도하지 마십시오 마지막으로, 당신은 아마있어 242 00:10:39,460 --> 00:10:41,630 범위에 대한 몇 가지 포인트를 잃게 될. 243 00:10:41,630 --> 00:10:44,560 >> 그냥 문제를 시작하더라도, 그것을 통해 도보로 최선을. 244 00:10:44,560 --> 00:10:47,691 그것이 작동하지 않는 경우에도, 그것을에서 설정 즉, 보여주고 증명하기 때문에 245 00:10:47,691 --> 00:10:50,190 우리에게 당신은, 노력하고 있음 당신은 설정 문제를 시도 246 00:10:50,190 --> 00:10:51,430 최선을 다해. 247 00:10:51,430 --> 00:10:53,800 그리고 우리는 당신에게 제공 할 수 있습니다 범위에 대한 전체 포인트. 248 00:10:53,800 --> 00:10:58,715 >> 범위는 때 우리를 위해 아주 중요하다 가장 낮은 PSET 점수 하락에 대해 이야기. 249 00:10:58,715 --> 00:11:02,010 그래서의 과정을 통해 학기, 너희들은 아홉의 Pset 있습니다. 250 00:11:02,010 --> 00:11:05,340 그리고 우리는 실제로 삭제됩니다 그 구 중 가장 낮은 점수, 251 00:11:05,340 --> 00:11:07,670 하지만 당신은 전체 범위 지점이있는 경우에만. 252 00:11:07,670 --> 00:11:11,120 >> 그래서 당신은 불완전한 PSET으로 회전하는 경우, 불행하게도, 우리는 하나를 삭제할 수 없습니다, 253 00:11:11,120 --> 00:11:13,540 당신의 범위 때문에 포인트는 완료되지 않았다. 254 00:11:13,540 --> 00:11:16,570 당신은 끔찍한 주 그래서 경우에도 당신은 죽어 가고있어 그리고 당신은 아픈 곳 255 00:11:16,570 --> 00:11:20,040 또는 당신의 개는, 당신의 고양이는 죽는다 죽는다 당신은 숙제를 오버로드하고, 256 00:11:20,040 --> 00:11:21,074 단지 PSET을 시도합니다. 257 00:11:21,074 --> 00:11:22,490 그것은 당신의 능력의 최선을 수행합니다. 258 00:11:22,490 --> 00:11:23,840 그것이 작동하지 않는 경우 문제가되지 않습니다. 259 00:11:23,840 --> 00:11:24,506 그냥으로 돌리세요. 260 00:11:24,506 --> 00:11:26,590 적어도 우리가 제공 할 수 있습니다 당신은 노력에 대한 포인트. 261 00:11:26,590 --> 00:11:28,510 >> 이 클래스의 노력. 262 00:11:28,510 --> 00:11:30,170 노력에 대한 최소한 낮은 점수 강하. 263 00:11:30,170 --> 00:11:32,354 그래서 그래. 264 00:11:32,354 --> 00:11:33,270 즉, 꽤 많이 있습니다. 265 00:11:33,270 --> 00:11:36,521 사람이 그래서 질문이 있습니까 지금까지 수업 시간에 어떻게 등급에? 266 00:11:36,521 --> 00:11:37,187 또는 이들의 임의의? 267 00:11:37,187 --> 00:11:41,220 이들의 너무 far-- 섹션, 근무 시간? 268 00:11:41,220 --> 00:11:41,720 쿨. 269 00:11:41,720 --> 00:11:46,720 270 00:11:46,720 --> 00:11:47,800 그래. 271 00:11:47,800 --> 00:11:51,260 >> 그래서 그 주제는 '아니오' 하나는 정말 얘기 좋아한다. 272 00:11:51,260 --> 00:11:53,084 정말 얘기하고 싶지 않아요. 273 00:11:53,084 --> 00:11:55,250 너희들은 정말 싶지 않아 내가 얘기 듣고. 274 00:11:55,250 --> 00:11:57,690 그러나 불행하게도, 우리 모두 그것에 대해 얘기해야합니다. 275 00:11:57,690 --> 00:12:00,110 데이비드 20 분을 보냈다 그것에 대해 이야기 강의. 276 00:12:00,110 --> 00:12:02,580 그리고 그 주제이다 학술 정직. 277 00:12:02,580 --> 00:12:08,110 >> 그래서 우리는 모두 여기에 아마 쓴 우리의 예일 경력 에세이 언젠가. 278 00:12:08,110 --> 00:12:11,800 우리는 아마 우리가했습니다 이야기를 들어 왔 우리의 논문을 표절하지 들었다, 279 00:12:11,800 --> 00:12:13,940 이 작품은 우리가 아니기 때문에. 280 00:12:13,940 --> 00:12:18,109 컴퓨터 과학에서, 우리는이 개념의 동종. 281 00:12:18,109 --> 00:12:20,150 제출 모든 작업, 당신이 쓰는 모든 코드 282 00:12:20,150 --> 00:12:21,900 당신이 작성한 코드를해야합니다. 283 00:12:21,900 --> 00:12:24,280 당신이했습니다 코드이어야한다 다른 곳에서 복사. 284 00:12:24,280 --> 00:12:26,777 코드되어서는 안된다는 당신은 인터넷 검색과에 풍덩했습니다 285 00:12:26,777 --> 00:12:28,360 그것이 작동하는 경우 그리고 당신이 정말로 모른다. 286 00:12:28,360 --> 00:12:32,440 당신은 종류의 감각이 그것은하지만 정말 무엇을하고 있는지. 287 00:12:32,440 --> 00:12:36,562 의심에, 본질적으로, 그냥 합리적입니다. 288 00:12:36,562 --> 00:12:38,520 우리의 강의에서, 우리는이 사물의 전체 목록 289 00:12:38,520 --> 00:12:40,560 우리는 합리적인 참조 합리적인되지 대. 290 00:12:40,560 --> 00:12:43,820 >> 예를 들어, 합리적인 당신과 당신의 친구입니다 291 00:12:43,820 --> 00:12:47,360 무엇이 최선의 방법을 토론하는 것은 이동 논리적 대한 문제점을 해결. 292 00:12:47,360 --> 00:12:48,910 그건 상당히 합리적입니다. 293 00:12:48,910 --> 00:12:53,244 어떤 합리적인되지 않을 것하면 경우입니다 얘들 아, 함께있어 동일한 코드를 입력 294 00:12:53,244 --> 00:12:54,410 같은 코드 못했습니다. 295 00:12:54,410 --> 00:12:56,302 즉 합리적인 아니다. 296 00:12:56,302 --> 00:12:57,510 똑같은, 에세이 가지. 297 00:12:57,510 --> 00:12:59,290 당신은 논의하려면 당신의 친구와, 헤이, 298 00:12:59,290 --> 00:13:00,220 이것은 내가 대해 쓰고 싶은 것입니다. 299 00:13:00,220 --> 00:13:02,500 이 내가 원하는 단계입니다 큰, 그것에 대해 쓰는 걸릴. 300 00:13:02,500 --> 00:13:03,208 훌륭 하군요. 301 00:13:03,208 --> 00:13:04,790 서로 협력 해주십시오. 302 00:13:04,790 --> 00:13:06,540 너희들이 시작하는 경우 같은 일을 작성, 303 00:13:06,540 --> 00:13:10,020 같은 에세이으로 회전, 그 이하 괜찮습니다. 304 00:13:10,020 --> 00:13:13,200 그래서 때 의심, 그냥하지 않습니다. 305 00:13:13,200 --> 00:13:16,940 >> 여기, 우리는 CS50, 우리는 스크립트를 가지고 그 실행은 테스트 자동화 306 00:13:16,940 --> 00:13:21,740 뿐만 아니라 코드의 정확성, 뿐만 아니라 코드의 유일성. 307 00:13:21,740 --> 00:13:25,920 그래서 위치에 넣어하지 마십시오 의 EXCOMM에 귀하의 경우를 참조 할 필요. 308 00:13:25,920 --> 00:13:31,110 의를 바로 보자, 그냥 모두를 위해 바랍니다 이 멋진 경험합니다. 309 00:13:31,110 --> 00:13:33,600 모두가 더 잘 배운다 우리 모두는 행복이다, 310 00:13:33,600 --> 00:13:37,926 그리고 우리 모두에 설정되어 이 과정에서 성공. 311 00:13:37,926 --> 00:13:39,800 아주 뭔가 이 클래스에 대한 고유 한 312 00:13:39,800 --> 00:13:42,660 나는 모두가 정말해야 생각 우리는 가지고있다에 주목 313 00:13:42,660 --> 00:13:44,930 무엇을 후회라고 우리의 강의 계획서에 절. 314 00:13:44,930 --> 00:13:50,010 그래서 기본적으로 72 시간 이내에, 경우 당신은 당신이 어떤 짓을했는지 생각 315 00:13:50,010 --> 00:13:53,240 당신이 정말로 확신 아니에요 적절한, 우리에게 오시기 바랍니다. 316 00:13:53,240 --> 00:13:57,220 우리는 당신을 약속하는 72 시간 내에 우리는 경우 자신을 처리합니다 317 00:13:57,220 --> 00:13:59,820 높은 참조하지 않고 행정 기관. 318 00:13:59,820 --> 00:14:03,100 >> 그래서 당신은 나에게 와서 말한다면, 앤디, 야, 정말 미안 해요, 319 00:14:03,100 --> 00:14:07,620 그러나 나는 몇 라인 내에서 있다고 생각 내가 가지 봤 코드 지난 밤, 320 00:14:07,620 --> 00:14:10,120 스택 떨어져있어 오버 플로우, 복사 및 붙여 넣기, 321 00:14:10,120 --> 00:14:13,680 난 정말, 정말 미안 해요 그것에 대해 알려주세요. 322 00:14:13,680 --> 00:14:16,900 그냥 부패하게하지 마십시오 단지 내가 그것을 잡을 수 있기를 바랍니다. 323 00:14:16,900 --> 00:14:17,784 우리는 그것을 잡을 것입니다. 324 00:14:17,784 --> 00:14:18,450 그냥 와서. 325 00:14:18,450 --> 00:14:20,520 나에게 72 시간 내에 알려주십시오. 326 00:14:20,520 --> 00:14:22,240 우리는 해결책을 알아낼 수 있습니다. 327 00:14:22,240 --> 00:14:26,679 그리고 우리는 우리가 참조 할 것을 약속드립니다 본질적으로 대학 당국. 328 00:14:26,679 --> 00:14:29,220 그래서 당신의 최선의 이익이다 단지 사람들과 정직하게 329 00:14:29,220 --> 00:14:31,720 과정에 참여. 330 00:14:31,720 --> 00:14:34,630 >> 그래. 331 00:14:34,630 --> 00:14:35,240 그래. 332 00:14:35,240 --> 00:14:37,800 그래서 지금 빨리 전에 내가 이동, 누군가를 수행 333 00:14:37,800 --> 00:14:42,670 물류에 관한 질문이 방법 과정에 우리가 실행하는거야, 334 00:14:42,670 --> 00:14:45,982 방법 섹션 가고있다 그 중 하나를 실행하려면? 335 00:14:45,982 --> 00:14:46,711 그래. 336 00:14:46,711 --> 00:14:47,210 그래. 337 00:14:47,210 --> 00:14:48,126 >> 청중 : [들리지]? 338 00:14:48,126 --> 00:14:50,414 339 00:14:50,414 --> 00:14:51,080 ANDI 펭 : 네. 340 00:14:51,080 --> 00:14:54,850 그래서 얼마나 많은 분들 quizzes-- 월요일 / 수요일 섹션에서? 341 00:14:54,850 --> 00:14:56,700 얼마나 많은 당신입니다 화요일 / 목요일? 342 00:14:56,700 --> 00:14:58,550 좋아, 그래서 여기 고체 분할이다. 343 00:14:58,550 --> 00:15:00,900 그래서 우리가 실행하는 방법 예일 대학은 그 우리입니다 344 00:15:00,900 --> 00:15:04,040 별도의 두 가지를해야 할 것 각 section-- 하나를 quizzes-- 그 345 00:15:04,040 --> 00:15:06,160 수업 시간에 이동합니다. 346 00:15:06,160 --> 00:15:09,310 나는 그것이 10 월, 10 월 말 생각 일주일에 하나 그런 일, 347 00:15:09,310 --> 00:15:10,794 퀴즈의. 348 00:15:10,794 --> 00:15:11,960 그래, 그래서 그냥 클래스에 온다. 349 00:15:11,960 --> 00:15:13,920 월요일 또는 수요일, 당신은 퀴즈를합니다. 350 00:15:13,920 --> 00:15:16,336 화요일 또는 목요일, 당신은 다른 퀴즈를합니다. 351 00:15:16,336 --> 00:15:18,570 하지만 같은 재료가 포함됩니다. 352 00:15:18,570 --> 00:15:19,160 그래. 353 00:15:19,160 --> 00:15:20,660 좋은 질문. 354 00:15:20,660 --> 00:15:21,160 그래. 355 00:15:21,160 --> 00:15:23,260 >> 청중 : 우리는 어디에서 할 우리의 성적을 확인하기 위해 이동? 356 00:15:23,260 --> 00:15:23,926 >> ANDI 펭 : 네. 357 00:15:23,926 --> 00:15:28,420 그래서 밖으로 발송 될 것이다 이메일이든 매주 358 00:15:28,420 --> 00:15:31,460 퀴즈 graded--하거나 할 때, 죄송합니다,의 Pset는 등급을 매긴다 때. 359 00:15:31,460 --> 00:15:34,120 의 Pset은 일반적으로 켜져 정오 또는 금요일까지입니다. 360 00:15:34,120 --> 00:15:37,540 그래서 나는 것을 약속드립니다 당신에게 그들을 다시 얻을려고 361 00:15:37,540 --> 00:15:40,000 다음 금요일 정오까지. 362 00:15:40,000 --> 00:15:44,950 >> 때마다 나는 학년 PSET를, 내가 보내드립니다 학년 책에 알림 아웃 363 00:15:44,950 --> 00:15:47,070 그것은 당신에게 당신의 점수를 알려줍니다 온라인으로 볼 수 있습니다. 364 00:15:47,070 --> 00:15:52,022 그래서 바로 이번 주, 나는 후 지난 주 psets를 채점 완료, 365 00:15:52,022 --> 00:15:54,230 너희들은 전자 우편을 얻을 것이다 통지는, 말하고 366 00:15:54,230 --> 00:15:55,870 이봐이 어디입니까 당신의 성적을보기로 이동. 367 00:15:55,870 --> 00:15:57,680 그리고 당신은 모든을 볼 수 있습니다 성적의 고장. 368 00:15:57,680 --> 00:15:58,555 당신은 코멘트를 볼 수 있습니다. 369 00:15:58,555 --> 00:16:00,360 아, 빠른 것 또한. 370 00:16:00,360 --> 00:16:03,060 위대한의 코멘트 섹션 책은 어디 아마거야입니다 371 00:16:03,060 --> 00:16:05,300 내 시간 등급의 대부분을 보낸다. 372 00:16:05,300 --> 00:16:07,094 그래서 한 가지 그 때 정말 중요 373 00:16:07,094 --> 00:16:09,010 너희들은보고 성적 귀하의 Pset에 374 00:16:09,010 --> 00:16:11,400 만 찾고되지 않습니다 실제 점수에 375 00:16:11,400 --> 00:16:14,630 또한에 시간을내어 정말 내 의견을 참조하십시오. 376 00:16:14,630 --> 00:16:17,820 >> 종종 당신에게 피드백을 제공 만약 문제를 해결하는 방법. 377 00:16:17,820 --> 00:16:20,480 당신이 할 필요가있는 경우 조금 더 좋은 것을, 378 00:16:20,480 --> 00:16:24,080 건설적인 비판은 일반적으로 가장 그 코멘트 섹션에 주어진. 379 00:16:24,080 --> 00:16:26,950 그래서, 내가 갈거야 제발 의견을 작성하는 시간을 보낼 수 있습니다. 380 00:16:26,950 --> 00:16:30,440 , 정말 감사하겠습니다하십시오 너희들은 그 의견을 읽을 것인지. 381 00:16:30,440 --> 00:16:31,170 그래. 382 00:16:31,170 --> 00:16:34,150 쿨. 383 00:16:34,150 --> 00:16:34,680 >> 괜찮아. 384 00:16:34,680 --> 00:16:40,680 그래서 우리는 이야기를 시작하려고 그냥 빨리 검토 385 00:16:40,680 --> 00:16:45,040 발 소재의 일부 주 우린 단지 있도록 제로 386 00:16:45,040 --> 00:16:48,760 의 오른쪽 페이지에 이번 주 문제를 시작. 387 00:16:48,760 --> 00:16:52,600 그래서 while 루프는 하나입니다 루프의 세 가지 유형 중 388 00:16:52,600 --> 00:16:54,510 우리는 이전이 클래스에 대해 논의했다. 389 00:16:54,510 --> 00:16:57,060 >> while 루프 본질적으로 구문에 기록 390 00:16:57,060 --> 00:17:00,666 여기서, 일정한 조건 동안, 이, 오른쪽 반복합니까? 391 00:17:00,666 --> 00:17:02,040 여기에이 그래픽에 생각하십시오. 392 00:17:02,040 --> 00:17:04,780 당신은에서 시작하는거야 코드에서 특정 지점. 393 00:17:04,780 --> 00:17:09,030 당신은 루프 조건을 입력 할거야 혹시 ... 내가 하란하지 않는 X는 하나보다 작다. 394 00:17:09,030 --> 00:17:11,677 >> 그게 사실이라면, 당신은거야 루프 본문을 실행합니다. 395 00:17:11,677 --> 00:17:14,010 그리고 당신은 일을 계속하는거야 그 다시, 다시, 다시, 396 00:17:14,010 --> 00:17:17,900 그것은을 왜이고 끝났다, 어느입니다 loop-- 당신의 상태가 될 때까지 397 00:17:17,900 --> 00:17:19,079 거짓. 398 00:17:19,079 --> 00:17:22,140 이러한 방식으로, while 루프 그래서 간단한 방법 중 하나입니다 399 00:17:22,140 --> 00:17:25,619 조건의 어떤 종류를 작성하는 그 이상 이상 이상 반복 할 필요가있다. 400 00:17:25,619 --> 00:17:28,109 그냥 때마다 조심 당신은 루프의 모든 종류를 작성하는 401 00:17:28,109 --> 00:17:32,140 당신은 종료 조건 등이 있음 잘 무엇에 대한 업데이트로 그 402 00:17:32,140 --> 00:17:36,714 루프 그냥하지 않도록입니다 이상과 무한히를 통해 실행합니다. 403 00:17:36,714 --> 00:17:38,630 어떤 경우에, 당신은거야 확인하려는 404 00:17:38,630 --> 00:17:42,670 당신은 몇 가지 측면을 변경하고 있는지 코드 또는 루프의 끝에 405 00:17:42,670 --> 00:17:46,680 당신이 방법을 가지고 있는지 확인하기 조건으로 진행 중 406 00:17:46,680 --> 00:17:48,400 당신은 끝으로 만남을 원하는 것이다. 407 00:17:48,400 --> 00:17:50,239 그 모두에게 의미가 있습니까? 408 00:17:50,239 --> 00:17:52,530 우리는되고 싶지 않아 이 나선형 곳에서 발견 409 00:17:52,530 --> 00:17:55,710 우리는 주변과 주위에 가서 루프를 중단 할 수있는 방법이 없습니다. 410 00:17:55,710 --> 00:17:58,844 그리고 모든 루프 본질적으로 그 일을하는 방법이있다. 411 00:17:58,844 --> 00:17:59,344 그래. 412 00:17:59,344 --> 00:18:03,030 413 00:18:03,030 --> 00:18:06,060 >> 당신의 두 번째로 많은 당신의 마리오의 Pset에 414 00:18:06,060 --> 00:18:08,910 아마 사용했다 이런 유형의 루프. 415 00:18:08,910 --> 00:18:11,802 그것은 DO 루프 동안이라고합니다. 416 00:18:11,802 --> 00:18:14,510 첫째, 사람은 말해 줄 수 어떤 DO의 차이 417 00:18:14,510 --> 00:18:16,586 루프 while 루프는 동안? 418 00:18:16,586 --> 00:18:17,086 그래. 419 00:18:17,086 --> 00:18:21,030 >> 청중 : 루프 동안 DO [들리지 먼저 실행됩니다. 420 00:18:21,030 --> 00:18:22,120 >> ANDI 펭 : 네, 정확히. 421 00:18:22,120 --> 00:18:27,130 그래서 DO 루프는 항상 않지만 어떤 대괄호 안에, 할 일 안에 422 00:18:27,130 --> 00:18:30,520 거기에 그 조건을 수행 짓이야 미안를 확인하기 전에, 423 00:18:30,520 --> 00:18:32,940 전에 코드를 않습니다 조건을 검사합니다. 424 00:18:32,940 --> 00:18:37,200 그리고 이것은 우리에게 특히 관련이 여기에이 클래스에서, 대부분의 시간 때문에 425 00:18:37,200 --> 00:18:41,450 우리는 메시지를 표시 할거야 입력의 어떤 종류의 사용자. 426 00:18:41,450 --> 00:18:43,520 그리고,에 따라 그들이 우리에게 입력, 427 00:18:43,520 --> 00:18:46,150 우리는 오, 수행, 평가할 수 있습니다 우리는 다시 메시지를 표시해야합니까? 428 00:18:46,150 --> 00:18:49,930 >> 마리오에 그래서, 경우 사용자가 당신에게 준 음의 높이, 예를 들면, 429 00:18:49,930 --> 00:18:52,990 당신은 첫 번째 프롬프트에가는거야 내부 무엇이든 할. 430 00:18:52,990 --> 00:18:54,820 그럼 당신은 동안을 확인하는 것입니다. 431 00:18:54,820 --> 00:18:57,570 당신은 알고있다, 1 음 양수이다? 432 00:18:57,570 --> 00:19:00,680 그렇지 않은 경우, 내가 갈거야 뒤로 DO 반복을 반복 433 00:19:00,680 --> 00:19:03,950 반복하고 때까지 반복 마지막으로 당신에게 당신이 좋아하는 번호를주고, 434 00:19:03,950 --> 00:19:07,002 우리는 우리의 모든 코드에서 채용 할 수있다. 435 00:19:07,002 --> 00:19:09,210 그것은 꽤 중요 기본적으로 사용자 입력. 436 00:19:09,210 --> 00:19:11,760 나는 어떤을 보장 할 수 PSET 곳에서 시간 437 00:19:11,760 --> 00:19:15,070 우리는 입력하도록 요청할 코드의 모든 종류의, 우리는있어 438 00:19:15,070 --> 00:19:17,540 아마 당신에게 줄 것 우린되는 테스트 케이스 439 00:19:17,540 --> 00:19:21,200 가는 그건 당신에게 나쁜 일을주고 당신의 암호를 해독하려고하는 것. 440 00:19:21,200 --> 00:19:25,044 >> 우리는 입력하도록 요청할하려고하면 정수, 우리는 당신에게 문자열을 제공 할 수 있습니다 441 00:19:25,044 --> 00:19:26,460 당신이 그것을 처리하는 방법을 참조하십시오. 442 00:19:26,460 --> 00:19:30,610 우리가 나이를 사용하도록 요청하는 경우, 우리는 당신이 음수를 제공 할 수 있습니다 443 00:19:30,610 --> 00:19:32,340 당신이 처리하는 방법을 볼 수 있습니다. 444 00:19:32,340 --> 00:19:37,260 그냥 너희들을 테스트하고 있는지 확인 경우가있는 당신은 최고의하지 않습니다 445 00:19:37,260 --> 00:19:38,590 입력은 그냥 가정 해 봅시다. 446 00:19:38,590 --> 00:19:40,510 그리고 루프 동안 DO 자주 최고입니다 447 00:19:40,510 --> 00:19:45,260 그래서 코드를 설계하는 방법 그것은 그 범위를 충족. 448 00:19:45,260 --> 00:19:45,760 그래. 449 00:19:45,760 --> 00:19:48,930 450 00:19:48,930 --> 00:19:49,470 >> 그래. 451 00:19:49,470 --> 00:19:53,270 그래서 이것은 아마도 가장입니다 세 가지 중 복잡한 루프 452 00:19:53,270 --> 00:19:54,990 것을 우리는 지금까지 살펴 보았다. 453 00:19:54,990 --> 00:19:56,689 그리고 처음에는 아주 무서운 것 같다. 454 00:19:56,689 --> 00:19:59,730 그러나 나는 당신을 보장 너희들 번 for 루프를 사용하는 방법에 대한 요령을 얻을, 455 00:19:59,730 --> 00:20:03,320 그것은 가장 유용한 것들 중 하나입니다, 당신의 무기고에있는 가장 유용한 도구 456 00:20:03,320 --> 00:20:05,300 이 클래스에서 앞으로 이동. 457 00:20:05,300 --> 00:20:09,920 >> 그래서 예를 들어, 스크래치에, 우리는이 매우 간단 블록을했다 458 00:20:09,920 --> 00:20:13,180 그 바로이 일정을 반복했다 시간의 특정 수 문구. 459 00:20:13,180 --> 00:20:16,260 그런데, SAJ-- 그 Scaz 앤디 제이슨입니다. 460 00:20:16,260 --> 00:20:18,740 우리는 종종 우리의 전자 우편에 SAJ에 서명. 461 00:20:18,740 --> 00:20:20,360 우리가 SAJ을 말한다면, 혼동하지 않습니다. 462 00:20:20,360 --> 00:20:22,630 그건 그냥 우리입니다. 463 00:20:22,630 --> 00:20:28,600 >> 그래서 스크래치에, 우리가 할 수 있었다 상기 블록은, 내가 SAJ 사랑 반복! 464 00:20:28,600 --> 00:20:29,430 10 회. 465 00:20:29,430 --> 00:20:30,130 매우 간단합니다. 466 00:20:30,130 --> 00:20:32,302 그 뒤에 논리는 아주 간단 하죠? 467 00:20:32,302 --> 00:20:35,260 내가 먼저 첫 번째 통과 할 그 시간과, 두 번째 참조 468 00:20:35,260 --> 00:20:38,510 등, 그 세 번째 시간을 볼 등등, 때까지 10 명중했다. 469 00:20:38,510 --> 00:20:41,960 >> 그리고 그 방법은 우리의 것을 나타내는 것 코드는 루프에 대한 간단한하는 것입니다. 470 00:20:41,960 --> 00:20:45,440 대한 그래서, 당신은 선언 할거야 이 경우 여기에 변수, 471 00:20:45,440 --> 00:20:46,349 INT와. 472 00:20:46,349 --> 00:20:47,390 우리는 그것을 내가 이름을 것입니다. 473 00:20:47,390 --> 00:20:49,500 우리는 0으로 초기화 될 것입니다. 474 00:20:49,500 --> 00:20:52,490 그리고 정지 판입니다 내가 될 것 것은 10 개 미만이다. 475 00:20:52,490 --> 00:20:54,622 그리고 업데이트는 내가 ++ 될 것입니다. 476 00:20:54,622 --> 00:20:57,750 >> 그리고 루프 내에서, 그것은거야 결국이를 때까지 실행합니다 477 00:20:57,750 --> 00:21:01,490 condition--의 끝을 명중하는 경우, 그것은 루프를 중단하는 것입니다. 478 00:21:01,490 --> 00:21:04,600 물건이 있어야 당신을 사람은 모든 종류의 전에 본 479 00:21:04,600 --> 00:21:07,270 문제는 하나의 설정과해야했다. 480 00:21:07,270 --> 00:21:12,310 사람이 어떤 질문이 있습니까 지금 루프에 대한? 481 00:21:12,310 --> 00:21:12,930 그래. 482 00:21:12,930 --> 00:21:13,430 좋아요. 483 00:21:13,430 --> 00:21:17,520 484 00:21:17,520 --> 00:21:18,620 >> 그래. 485 00:21:18,620 --> 00:21:22,270 이 사람들을 위해 이렇게 이번 주 PSET 사양을 읽고 486 00:21:22,270 --> 00:21:27,690 우리가 채택해야 할 것 것을 알고 뭔가 ASCII 및 ASCII 표했다. 487 00:21:27,690 --> 00:21:32,380 그래서 다윗은 강의에서 잠시 비켜갔습니다 어떻게 컴퓨터 essentially-- 모든 488 00:21:32,380 --> 00:21:35,410 컴퓨터에 인코딩되어 이진, 0과 1에. 489 00:21:35,410 --> 00:21:39,740 그리고 컴퓨터가 할 수있는 방법 또한 다른 값을 저장할 490 00:21:39,740 --> 00:21:44,360 0과 1로 매핑을 통해입니다 그 숫자는 다른 숫자를 표현하는 491 00:21:44,360 --> 00:21:47,220 또는 본질적으로 다른 문자. 492 00:21:47,220 --> 00:21:49,810 >> ,이 경우에 따라서 모든 것이가하는 table-- ASCII 493 00:21:49,810 --> 00:21:53,600 번호에 대한지도 문자 또는 문자입니다. 494 00:21:53,600 --> 00:21:57,385 소스 코드 파일에 따라서 당신이보고 computer--, 495 00:21:57,385 --> 00:22:00,010 이봐, 0과 1의 무리, 0과 1, 0과 1. 496 00:22:00,010 --> 00:22:02,350 즉, 저장 무엇 컴퓨터의 실제 메모리. 497 00:22:02,350 --> 00:22:04,750 >> 그러나 우리 인간은하고자 할 때 컴퓨터와 통신, 498 00:22:04,750 --> 00:22:08,249 우리는 예를 들어, 말을 원합니까, 나는 대문자를 원하는 경우, 499 00:22:08,249 --> 00:22:10,540 나는 어떤 방법을 필요 해요 컴퓨터를 말하는, 오, 500 00:22:10,540 --> 00:22:16,300 내가 대문자를 입력 할 때, 내 말은 이진에서이 표현입니다. 501 00:22:16,300 --> 00:22:22,260 >> 그래서 우리가 그것을 할 방법이 던진된다 임의의 점은 ASCII 테이블이라고, 502 00:22:22,260 --> 00:22:25,020 여기서 우리는, 인간으로, 같은 프로그래머, 얼마 전에, 503 00:22:25,020 --> 00:22:28,660 우리는 임의적으로 우리 결정 이 번호를 할당하려고했다 504 00:22:28,660 --> 00:22:30,960 이러한 문자에 값. 505 00:22:30,960 --> 00:22:32,720 >> 그래서 너희들이 온라인으로 구글 수 있습니다. 506 00:22:32,720 --> 00:22:37,120 나는 그것에 링크가에 있다고 생각 pset-- 그냥 ASCII 맵 테이블, ASCII 507 00:22:37,120 --> 00:22:37,720 테이블. 508 00:22:37,720 --> 00:22:40,722 그것은 단지 바이너리 변환 문자로 번호. 509 00:22:40,722 --> 00:22:42,930 그리고 그것은 매우 될 것 문제 설정에 유용 510 00:22:42,930 --> 00:22:45,470 당신이 원하는 때마다 무엇이든 또는 경우를 계산 511 00:22:45,470 --> 00:22:47,880 특정 표시 할 문자 나 정수 512 00:22:47,880 --> 00:22:50,327 또는 특정 문자를 조작 할 수 있습니다. 513 00:22:50,327 --> 00:22:52,160 그것은 매우 될 것 중요 당신의 모든 514 00:22:52,160 --> 00:22:55,140 ASCII 테이블을 탐색하는 방법을 알고있다. 515 00:22:55,140 --> 00:23:01,260 >> 예를 들어, 대문자 그래서 수 (65)에 의해 표현된다. 516 00:23:01,260 --> 00:23:04,207 그리고 소문자 97에 의해 표현된다. 517 00:23:04,207 --> 00:23:07,040 그래서 알고하는 것이 중요합니다 두 값의 차이 518 00:23:07,040 --> 00:23:08,320 (32)이다. 519 00:23:08,320 --> 00:23:13,210 때때로, 당신은 변환해야하는 경우 다른 하나는, 차이는 32이다. 520 00:23:13,210 --> 00:23:15,710 당신이 친절 있다면 걱정하지 마세요 처음에는이에의 혼란. 521 00:23:15,710 --> 00:23:20,230 우리는 우리가 어떻게 것 이상 갈거야 실제 코드에서 이것을 사용합니다. 522 00:23:20,230 --> 00:23:24,700 523 00:23:24,700 --> 00:23:26,380 >> 그래. 524 00:23:26,380 --> 00:23:30,770 밖으로 노트북과 당신의 사람들을 위해 이렇게 ASCII 표를 올려 주시기 바랍니다 525 00:23:30,770 --> 00:23:36,030 이 아마도 때문에 너희들은 참조해야 526 00:23:36,030 --> 00:23:38,100 문자는 무엇인지. 527 00:23:38,100 --> 00:23:38,640 그래. 528 00:23:38,640 --> 00:23:42,840 >> 그래서 어떤을 알고 문자는 특정 번호에 매핑 529 00:23:42,840 --> 00:23:47,240 난 그냥 처음 실행한다면 그 선은,의 printf를 code-- 530 00:23:47,240 --> 00:23:50,900 마이너스 소문자 대문자 A. 누구를합니까 531 00:23:50,900 --> 00:23:55,880 어떻게 될지에 대한 추측이 지금 화면에서 인쇄? 532 00:23:55,880 --> 00:23:58,190 >> 모든 그래서 일단, 무엇을 수행 대표 소? 533 00:23:58,190 --> 00:24:00,990 무엇 수 있다는 것입니다 ASCII 테이블에서 인코딩. 534 00:24:00,990 --> 00:24:01,490 죄송합니다? 535 00:24:01,490 --> 00:24:02,630 >> 청중 : 97? 536 00:24:02,630 --> 00:24:03,630 >> ANDI 펭 : 97, 훌륭한. 537 00:24:03,630 --> 00:24:05,077 그리고 대문자은 무엇인가? 538 00:24:05,077 --> 00:24:06,330 >> 청중 : 65. 539 00:24:06,330 --> 00:24:08,255 >> ANDI 펭 : 그래서 97을 뺀 65 무엇인가? 540 00:24:08,255 --> 00:24:09,227 >> 청중 : 32. 541 00:24:09,227 --> 00:24:09,810 ANDI 펭 : OK. 542 00:24:09,810 --> 00:24:13,530 그래서에 가고 너희들을 어떻게 생각하십니까 때 입력 일어날 코드의 라인 543 00:24:13,530 --> 00:24:14,670 내 컴퓨터에? 544 00:24:14,670 --> 00:24:17,981 545 00:24:17,981 --> 00:24:19,896 >> 청중 : [들림]. 546 00:24:19,896 --> 00:24:21,020 ANDI 펭 : 죄송합니다, 최대 말한다. 547 00:24:21,020 --> 00:24:22,520 걱정 마. 548 00:24:22,520 --> 00:24:25,750 이것은 매우 안전 환경, 마이너스 카메라. 549 00:24:25,750 --> 00:24:27,550 우리는 모든 걱정 이러시면 것입니다. 550 00:24:27,550 --> 00:24:30,940 그냥 우리는 척하는거야 그것은 단지 우리는이 방에서 놀입니다. 551 00:24:30,940 --> 00:24:31,480 걱정 마. 552 00:24:31,480 --> 00:24:33,410 어떤 질문이 너무 바보입니다. 553 00:24:33,410 --> 00:24:35,300 아니 대답은 바보 같은 대답이다. 554 00:24:35,300 --> 00:24:38,260 아마 실수를 할거야 나의 가르침의 과정에서. 555 00:24:38,260 --> 00:24:40,740 진심으로, 사람은, 그냥 해버 린거야. 556 00:24:40,740 --> 00:24:43,092 자신에 대한 자신감, 당신은 알고있다? 557 00:24:43,092 --> 00:24:43,800 그래서 무엇입니까? 558 00:24:43,800 --> 00:24:47,990 누가 마지막 대답을했다? 559 00:24:47,990 --> 00:24:48,540 그래. 560 00:24:48,540 --> 00:24:50,380 그 좋은 맑은 소리. 561 00:24:50,380 --> 00:24:51,220 >> 청중 : 32? 562 00:24:51,220 --> 00:24:51,850 >> ANDI 펭 : 32. 563 00:24:51,850 --> 00:24:54,141 확인의이 코드를 실행하자 그런 일이 무엇 있는지. 564 00:24:54,141 --> 00:25:00,260 565 00:25:00,260 --> 00:25:00,760 그래. 566 00:25:00,760 --> 00:25:03,300 567 00:25:03,300 --> 00:25:06,360 그러니 너희들은 할 수있는 종류의 나는했습니다 일반적인 표기법을 참조 568 00:25:06,360 --> 00:25:12,250 우리가 사용하는 방법을 보시려면 여기를 설정 우리의 컴퓨터에있는 프로그램의 모든 종류. 569 00:25:12,250 --> 00:25:14,770 우리는 우리의 주요 기능을 가지고 우리의 주요 함수 내. 570 00:25:14,770 --> 00:25:17,265 난 그냥 복사하는거야와 이 코드 줄을 붙여 넣습니다. 571 00:25:17,265 --> 00:25:21,082 572 00:25:21,082 --> 00:25:23,540 때 너희들도 조심해야 복사 코드를 붙여 넣기합니다. 573 00:25:23,540 --> 00:25:28,750 때때로 특정 사업자 제대로 이상 붙여 넣기하지 않습니다. 574 00:25:28,750 --> 00:25:31,397 이 경우, 마이너스 기호는 실제로 대시했다. 575 00:25:31,397 --> 00:25:32,980 그리고 컴퓨터를 선택하지 않았다. 576 00:25:32,980 --> 00:25:35,870 그래서 내가 돌아 가야했다 및 물리적으로 그를 다시 입력합니다. 577 00:25:35,870 --> 00:25:37,846 바로 그 때 조심 너희들은 그 일을하고 있습니다. 578 00:25:37,846 --> 00:25:41,178 579 00:25:41,178 --> 00:25:42,660 >> 그래. 580 00:25:42,660 --> 00:25:43,980 우리는 여기를 실행하는 것입니다. 581 00:25:43,980 --> 00:25:45,670 그래서 우리는 우리의 2 장에 CD 것입니다. 582 00:25:45,670 --> 00:25:50,470 583 00:25:50,470 --> 00:25:52,030 나는이 프로그램 asciimath라고했습니다. 584 00:25:52,030 --> 00:25:55,690 우리가 어떤 실행할 때, 기억 프로그램, 우리는 먼저 컴파일하려면 585 00:25:55,690 --> 00:25:57,150 우리의 메이크업을 통해 그것을 실행하여. 586 00:25:57,150 --> 00:26:00,030 그리고 우리가 실제로 실행하려면 도트 슬래시를 수행하여 프로그램. 587 00:26:00,030 --> 00:26:01,280 그래서 우리는 ./asciimath 것입니다. 588 00:26:01,280 --> 00:26:05,780 589 00:26:05,780 --> 00:26:06,590 >> 오른쪽, 거기 우리는 간다. 590 00:26:06,590 --> 00:26:07,410 그리고 우리는 (32)을 참조하십시오. 591 00:26:07,410 --> 00:26:07,930 잘 했어. 592 00:26:07,930 --> 00:26:10,340 당신은 사탕의 조각을받을 자격이. 593 00:26:10,340 --> 00:26:11,160 당신을 위해 사탕. 594 00:26:11,160 --> 00:26:11,900 죄송합니다. 595 00:26:11,900 --> 00:26:13,100 괜찮아. 596 00:26:13,100 --> 00:26:13,670 그래. 597 00:26:13,670 --> 00:26:18,070 그래서 우리는 다시 여기 우리의 예에 갈 수 있습니다. 598 00:26:18,070 --> 00:26:23,530 599 00:26:23,530 --> 00:26:24,345 아니, 아. 600 00:26:24,345 --> 00:26:29,147 601 00:26:29,147 --> 00:26:31,090 아. 602 00:26:31,090 --> 00:26:32,490 그래. 603 00:26:32,490 --> 00:26:34,610 난 그냥 그런 식으로 계속 갈거야. 604 00:26:34,610 --> 00:26:48,520 605 00:26:48,520 --> 00:26:51,240 그래. 606 00:26:51,240 --> 00:26:51,740 그래. 607 00:26:51,740 --> 00:26:55,340 너희들이 볼 수 있도록, 우리는 할 수있다 매우 흥미로운 것들을 많이, 608 00:26:55,340 --> 00:26:58,880 아주 멋진 것들을 많이, 많이 관련된 매우 복잡한 일 609 00:26:58,880 --> 00:27:02,720 ASCII 문자와 숫자. 610 00:27:02,720 --> 00:27:05,890 당신이 다섯 줄을 내려하면, 즉, 함께 따라 할 수있는 많은입니다. 611 00:27:05,890 --> 00:27:07,640 우리는 이동하지 않을거야 섹션을 통해. 612 00:27:07,640 --> 00:27:10,720 당신이 할 수있는 경우에, 자유롭게, 종이에 그것을 밖으로 추론 613 00:27:10,720 --> 00:27:14,750 처음 할 때 무슨 일한다에 값의 당신은 입력과 같은 문자열입니다. 614 00:27:14,750 --> 00:27:19,720 예를 들어, 마지막 줄에, 우리가 z-- 특정 number--을 나타내는 615 00:27:19,720 --> 00:27:24,740 그럼하지 머도 나타냅니다 특정 number-- 플러스 1 modulos (26) 616 00:27:24,740 --> 00:27:26,750 플러스 소문자. 617 00:27:26,750 --> 00:27:29,220 >> 너희들은 독서를 유지하는 경우 이를 통해, 당신을 618 00:27:29,220 --> 00:27:34,009 패턴에 와서 볼 수 있습니다 우리는 어떻게 코드를 조작하고있다. 619 00:27:34,009 --> 00:27:36,050 나는 매우, 매우 좋습니다 당신의 섹션 결국 620 00:27:36,050 --> 00:27:38,160 사람은 앞서 입력 가서 컴퓨터에서 그 모든 621 00:27:38,160 --> 00:27:40,060 그리고 어떤 종류의 참조 번호가 나오고있다 622 00:27:40,060 --> 00:27:43,090 그이 이유를 추론 때문에 당신의 psets를 들어, 일이 623 00:27:43,090 --> 00:27:45,060 정말 중요 할 것이다 당신은 이해하기 624 00:27:45,060 --> 00:27:47,132 왜 어떤 일들이 일어나고 있습니다. 625 00:27:47,132 --> 00:27:48,590 이 슬라이드는 모두 온라인으로 될 것입니다. 626 00:27:48,590 --> 00:27:51,510 하려고에 대한 그래서 걱정 없다 물리적으로 메모를 복사합니다. 627 00:27:51,510 --> 00:27:52,510 모든 온라인. 628 00:27:52,510 --> 00:27:54,050 이 섹션 자체가 온라인 될 것입니다. 629 00:27:54,050 --> 00:27:57,500 내 모든 소스 코드 그 나는 온라인으로 될 것입니다 실행 해요. 630 00:27:57,500 --> 00:27:58,180 그래. 631 00:27:58,180 --> 00:27:59,430 당신은 여전히​​ 문제가 있었나요? 632 00:27:59,430 --> 00:28:00,587 청중 : modulos은 무엇입니까? 633 00:28:00,587 --> 00:28:01,170 ANDI 펭 : OK. 634 00:28:01,170 --> 00:28:05,620 그래서 모듈은 것 운영자입니다 당신의 남자의 PSET에 매우 중요 635 00:28:05,620 --> 00:28:06,690 여기에. 636 00:28:06,690 --> 00:28:12,280 그래서 운영자 방법 C에서 프로그래밍 작업에 637 00:28:12,280 --> 00:28:16,360 당신이라고 무슨 가지고있다 구분 기호와 계수 기호, 638 00:28:16,360 --> 00:28:18,350 이는 단지 퍼센트 기호와 같다. 639 00:28:18,350 --> 00:28:24,840 >> C에서 그래서 당신은 정수를 수행 할 때 슬래시로 정수로 나눈, 640 00:28:24,840 --> 00:28:27,720 C 절단하려는 경향을 갖는다 소수점의 모든 오프, 641 00:28:27,720 --> 00:28:30,290 정수 싶어서 정수로 변환합니다. 642 00:28:30,290 --> 00:28:33,550 그것은 이중되고 싶지 않을거야 모든 그 후 소수의 무리와 함께. 643 00:28:33,550 --> 00:28:39,322 >> 나는 2로 나눈 3을한다면, 그것은거야 0.5을 잘라 단지 당신에게 1을 제공합니다. 644 00:28:39,322 --> 00:28:41,530 그 뭔가를 그래서 할 수 당신이있을 때 매우 조심 645 00:28:41,530 --> 00:28:45,294 프로그래밍 수학의 모든 종류의 일을, 숫자는 당신이 얻을 것입니다 646 00:28:45,294 --> 00:28:47,210 숫자하지 않을 수 있습니다 당신은 생각하고 있다고, 647 00:28:47,210 --> 00:28:50,190 이는에 왜 라운딩 당신의 지난 PSET은 매우 중요하다. 648 00:28:50,190 --> 00:28:51,980 >> 모듈로 당신에게 나머지를 제공합니다. 649 00:28:51,980 --> 00:28:56,200 내가 3을했다 예를 들어, 그래서 모듈 2-- 그래서 3 % 기호 2-- 650 00:28:56,200 --> 00:28:58,020 그것은 당신에게 그 나머지를 줄 것이다. 651 00:28:58,020 --> 00:29:00,460 그래서 3 2로 나눈 1.5입니다. 652 00:29:00,460 --> 00:29:01,410 그것은 1의 1 나머지입니다. 653 00:29:01,410 --> 00:29:04,600 그것은 당신에게 1 줄 것이다 그 나머지이다. 654 00:29:04,600 --> 00:29:07,361 >> 그래서 너희들이 이동하는 경우 ASCII 테이블을 통해, 655 00:29:07,361 --> 00:29:09,735 모듈은 끝나게됩니다 매우 중요한 뭔가, 656 00:29:09,735 --> 00:29:11,240 우리는 그 이후에 논의 할 것이다. 657 00:29:11,240 --> 00:29:17,750 658 00:29:17,750 --> 00:29:19,040 >> 그래. 659 00:29:19,040 --> 00:29:27,300 그래서 꽤 뭔가, 꽤 새로운 꽤 독특한 660 00:29:27,300 --> 00:29:31,920 우리는 이번 주에있다 토론 한 것을 배열이 무엇인지의 개념. 661 00:29:31,920 --> 00:29:34,370 그래서 배열은 처음이다 데이터 구조의 유형 662 00:29:34,370 --> 00:29:36,320 우리는 거라고 이 클래스에서 발생합니다. 663 00:29:36,320 --> 00:29:40,010 모든 데이터 구조이다 임의의 어떤 종류의, 664 00:29:40,010 --> 00:29:43,370 구조 등을 그대로 가지 우리는 프로그래머가 만든 같은 것을, 665 00:29:43,370 --> 00:29:47,890 우리는 우리의 코드에 넣어했는지 그 코드의 다른 부분을 포함 할 수 있습니다. 666 00:29:47,890 --> 00:29:51,090 >> 이러한 의미에서, array-- 그래서 파일 캐비닛으로 생각, 667 00:29:51,090 --> 00:29:53,470 당신은 다른 열 경우 어디에 파일 캐비닛 선반, 668 00:29:53,470 --> 00:29:55,630 당신은 다른 일에 액세스 할 수 있습니다. 669 00:29:55,630 --> 00:29:58,630 메모리에 배열은하고있다 컴퓨터에 같은 일. 670 00:29:58,630 --> 00:30:01,730 당신은 다른 blocks-- 우리를 가질 수있다 배열의 indices--를 호출합니다. 671 00:30:01,730 --> 00:30:04,210 그것은 단지 블록처럼 메모리 선반 672 00:30:04,210 --> 00:30:07,580 우리는 내 만든 당신의 컴퓨터를 사용하여 입력 할 수 673 00:30:07,580 --> 00:30:10,270 다른 공간에서 어떤 일. 674 00:30:10,270 --> 00:30:18,000 >> 배열 그래서, 항상 specify--해야 675 00:30:18,000 --> 00:30:22,360 당신은 선언 지정해야 다음과 같은 형식의 배열입니다. 676 00:30:22,360 --> 00:30:24,290 먼저 갈거야 데이터 유형을 지정 677 00:30:24,290 --> 00:30:25,831 당신은 배열로 만들 것이다. 678 00:30:25,831 --> 00:30:28,870 나는 정수의 배열을 원하는 경우에, 나는 거기 INT를 넣어 것. 679 00:30:28,870 --> 00:30:32,079 내가 문자열 배열을 원하는 경우에, 나는,이 문자열을 넣어 갈거야 680 00:30:32,079 --> 00:30:34,995 배열의 이름을 입력 한 다음 대괄호가 될 것입니다. 681 00:30:34,995 --> 00:30:39,580 그리고 괄호 안에, 당신이있어 배열의 크기를해야 할 것. 682 00:30:39,580 --> 00:30:42,900 >> 정말 중요한 뭔가 배열을 생성하는 경우 염두에 두어야 683 00:30:42,900 --> 00:30:46,530 당신을 작성하면, 그 배열, 그 크기는 변경할 수 없습니다. 684 00:30:46,530 --> 00:30:50,180 당신이 알고 있다면 지금 당장 그 만약 크기 (10)의 배열을 가지고 685 00:30:50,180 --> 00:30:54,550 당신은 내가 10 세포를 가지고 갈거야 알고 이 배열 내에서 인덱스 내에서 10, 686 00:30:54,550 --> 00:30:56,830 그리고가는 결코 확장하거나 축소 할 수 687 00:30:56,830 --> 00:30:59,850 아무리이 무엇을하고 있는지 공간을 현재 10 블록 688 00:30:59,850 --> 00:31:04,490 저장할 수있는 메모리에 할당 당신이 넣어 한대로 최대 10 가지. 689 00:31:04,490 --> 00:31:08,790 >> 그래서 이와 같이, 배열 데이터 타입, 어레이는 데이터 구조 690 00:31:08,790 --> 00:31:13,392 우리는거야 일부 다른 매우 다르다 이 과정에서 나중에 커버 될 수있다. 691 00:31:13,392 --> 00:31:15,170 그래. 692 00:31:15,170 --> 00:31:20,080 예를 들어, 경우에 원 사이즈 3의 배열을 생성 할 것을 693 00:31:20,080 --> 00:31:23,670 integer--의 포함 된 변수 오, 미안 해요, temperature--의 694 00:31:23,670 --> 00:31:25,640 온도의 물론, 정수이다. 695 00:31:25,640 --> 00:31:28,710 >> 그래서 우리는 인 INT를 만들 것 우리가 저장하고자하는 어떤 데이터 유형입니다. 696 00:31:28,710 --> 00:31:32,680 우리는이 온도를 호출하는거야 이름의 명칭을 위해서 697 00:31:32,680 --> 00:31:34,200 우리 모두가 이해 뭔가. 698 00:31:34,200 --> 00:31:35,900 그리고 우리는 대괄호가 될 것입니다. 699 00:31:35,900 --> 00:31:37,200 그리고 우리는 세 개의 숫자를 원한다. 700 00:31:37,200 --> 00:31:39,000 그래서 우리는 넣을거야 그 안에 세. 701 00:31:39,000 --> 00:31:41,041 >> 정말 뭔가 명심하는 것이 중요합니다 702 00:31:41,041 --> 00:31:43,530 어레이가 제로 인덱스된다는 것이다. 703 00:31:43,530 --> 00:31:46,410 즉, 모두는 당신이다 인덱스 0부터 시작, 704 00:31:46,410 --> 00:31:49,800 당신은을 통해 실행 1 마이너스 배열의 크기입니다. 705 00:31:49,800 --> 00:31:52,730 그래서 여기에 예를 들어, 크기 3의 배열을 가지고있다. 706 00:31:52,730 --> 00:31:54,680 그것은 수있을 것 세 개의 값을 누릅니다. 707 00:31:54,680 --> 00:31:57,450 그러나 숫자는 themselves-- 번호, 배열, 그 인덱스, 708 00:31:57,450 --> 00:32:00,271 배열, (2)를 통해 0이다. 709 00:32:00,271 --> 00:32:03,520 그래서 사람은, 때 정말, 정말 조심해야 당신은 설정 문제를 겪고있어 710 00:32:03,520 --> 00:32:06,500 어레이의 모든 종류를 생성, 그것 때문에 많은 시간 711 00:32:06,500 --> 00:32:08,490 정말, 정말 쉽게 잊지합니다. 712 00:32:08,490 --> 00:32:11,840 실제로 인덱스가없는 (3), 그 나는 현재 단지 713 00:32:11,840 --> 00:32:13,130 (2)의 인덱스를 가지고있다. 714 00:32:13,130 --> 00:32:16,046 그리고 당신이하려고하면 세 번째 인덱스에 액세스, 715 00:32:16,046 --> 00:32:18,170 그것은 무엇 될 것 null 종결했다. 716 00:32:18,170 --> 00:32:19,990 실제로 않을거야 배열에 존재한다. 717 00:32:19,990 --> 00:32:21,781 그리고 컴퓨터입니다 그 좋아하지 않을. 718 00:32:21,781 --> 00:32:24,570 그래서 때마다 조심 당신은 일을 액세스하는 719 00:32:24,570 --> 00:32:28,070 당신이 기억을 보장하기 위하여 배열이라는 것을 제로 인덱스. 720 00:32:28,070 --> 00:32:28,880 >> 그래. 721 00:32:28,880 --> 00:32:34,030 그래서 첫 번째 예는 그냥 배열을 생성하는 방법 중 하나. 722 00:32:34,030 --> 00:32:36,790 내가 가진 두 번째 예 아래 단지 별도의 방법입니다 723 00:32:36,790 --> 00:32:40,210 만드는 동일한 데이터는 무엇인가 우리가 입력 한 구조. 724 00:32:40,210 --> 00:32:44,347 그래서 대신에 물리적으로 실행 통해 0의 온도에 넣어 725 00:32:44,347 --> 00:32:47,180 무엇이든 동일 온도 1 어떤 온도 2 등호와 동일 726 00:32:47,180 --> 00:32:50,950 무엇이든, 난 그냥 사실 수 직접 한 줄에 모든 것을 만들 727 00:32:50,950 --> 00:32:53,010 온도 대괄호로 동일합니다. 728 00:32:53,010 --> 00:32:56,536 >> 이 경우 통지, 당신은 필요가 없습니다 배열이 얼마나 큰 지정하려면 729 00:32:56,536 --> 00:32:59,160 컴퓨터는 것 때문에 통과하고있다 볼 730 00:32:59,160 --> 00:33:01,570 그 중괄호로 세 요소. 731 00:33:01,570 --> 00:33:04,000 그리고, 확인, 알거야 나는 크기 3의 배열이 필요합니다. 732 00:33:04,000 --> 00:33:07,440 당신은 필요하지 않을거야 입력 그것은 다음과 같은 방법으로. 733 00:33:07,440 --> 00:33:10,170 >> 또한, 그래, 그런 식으로. 734 00:33:10,170 --> 00:33:12,610 누군가가 질문이 있습니까 우리가 배열을 만드는 방법에 대한 735 00:33:12,610 --> 00:33:17,391 또는 배열의 구조가 어떻게 작동하는지? 736 00:33:17,391 --> 00:33:17,890 그래. 737 00:33:17,890 --> 00:33:18,806 >> 청중 : [들리지]? 738 00:33:18,806 --> 00:33:21,649 739 00:33:21,649 --> 00:33:22,690 ANDI 펭 : 네, 정확히. 740 00:33:22,690 --> 00:33:26,150 그래서 당신은 선언하고 초기화 할 수 있다면 다음 배열에있어서, 741 00:33:26,150 --> 00:33:28,477 하는 두 번째 방법은, 당신은 사람들을 남길 수 있습니다. 742 00:33:28,477 --> 00:33:30,310 컴퓨터 자동 것을 알고있다 743 00:33:30,310 --> 00:33:33,950 얼마나 많은 요소를 계산해야 그 중괄호, 분리 744 00:33:33,950 --> 00:33:34,930 쉼표로. 745 00:33:34,930 --> 00:33:37,517 >> 그래서 여기 그들은 65, 87, 30을 참조하십시오. 746 00:33:37,517 --> 00:33:39,600 그래서 컴퓨터, 오, 알고 세 개의 정수가있다. 747 00:33:39,600 --> 00:33:45,960 나는 배열 이름을 만들 알고 그 세 가지 요소와 온도. 748 00:33:45,960 --> 00:33:46,590 좋은 질문. 749 00:33:46,590 --> 00:33:47,090 그래. 750 00:33:47,090 --> 00:33:51,590 >> 청중 : 가능 생성하지 않는 것입니다 데이터의 종류와 배열 751 00:33:51,590 --> 00:33:53,021 그 그것으로 입력 할 수 있을까? 752 00:33:53,021 --> 00:33:56,746 예를 들어, 정수와 [들림]? 753 00:33:56,746 --> 00:33:59,120 ANDI 펭 : 목적 이 클래스의, 아니, 지금. 754 00:33:59,120 --> 00:34:03,070 당신은 데이터를 생성 할 때 배열과 같은 구조, 755 00:34:03,070 --> 00:34:04,990 당신이 말하는 거 야 컴퓨터, 이봐, 당신이 필요 해요 756 00:34:04,990 --> 00:34:08,159 이 정도를 할당 내 하드 드라이브 메모리, 757 00:34:08,159 --> 00:34:10,690 각각의 셀이되는과 비트의 특정 번호. 758 00:34:10,690 --> 00:34:13,429 >> 우리가 주에 배운 기억 제로 서로 다른 데이터 759 00:34:13,429 --> 00:34:15,300 종류가 서로 다른 크기를 가지고? 760 00:34:15,300 --> 00:34:17,630 예를 들어, 문자열 그래서 다른 양은 761 00:34:17,630 --> 00:34:20,719 문자보다 공간이있는 공간의 상이한 양은 762 00:34:20,719 --> 00:34:21,830 정수에서. 763 00:34:21,830 --> 00:34:25,534 그래서 당신은 지정하고 있지 않는 경우 혼합 변수의 종류와 일치 764 00:34:25,534 --> 00:34:27,659 당신은 컴퓨터의,가 가는 매우 혼란합니다. 765 00:34:27,659 --> 00:34:29,950 그리고 그것은 알 수 없을거야 얼마나 많은 메모리를 제공합니다. 766 00:34:29,950 --> 00:34:32,480 권리의 목적에 따라서 지금, 컴퓨터가 할 수있는 유일한 767 00:34:32,480 --> 00:34:36,120 어레이의 한 유형을 인식한다. 768 00:34:36,120 --> 00:34:37,940 좋은 질문. 769 00:34:37,940 --> 00:34:38,440 그래. 770 00:34:38,440 --> 00:34:45,179 771 00:34:45,179 --> 00:34:47,120 >> 그래서 자연스럽게, 우리가 두 번째 질문 772 00:34:47,120 --> 00:34:50,760 우리를 만들었습니다 이제 잘된다 배열과 우리는이 모든 것들을 넣었습니다 773 00:34:50,760 --> 00:34:54,190 배열에, 우리는 어떻게입니다 액세스 할 수있을 것? 774 00:34:54,190 --> 00:34:59,710 전형적인 구조 있도록 우리는 항상 배열에 액세스하는 루프에 대한 우리의 사랑스러운. 775 00:34:59,710 --> 00:35:03,830 우리가있을거야 너희들 약속 여기이 사람을 많이보고. 776 00:35:03,830 --> 00:35:06,470 >> 기본적으로, 언제 당신이 원하는 입력 배열에 값 777 00:35:06,470 --> 00:35:09,940 또는 당신이 그들에 액세스하려면, 이렇게하는 가장 좋은 방법은, 루프입니다 778 00:35:09,940 --> 00:35:13,730 때문에 루프에서 당신이있어 얼마나 많은 시간을 알고 779 00:35:13,730 --> 00:35:17,290 배열을 실행하려는 것, 당신이 정지 판을 가지고 있기 때문에, 오른쪽? 780 00:35:17,290 --> 00:35:19,680 그리고 때마다 당신은 실행 을에게, 당신은에 액세스 할 수 있습니다 781 00:35:19,680 --> 00:35:21,310 어레이의 다른 요소. 782 00:35:21,310 --> 00:35:26,920 >> 또한,이 이유는 통상적 인 우리는 0 값으로 루프에 대한 우리의 시작 783 00:35:26,920 --> 00:35:30,080 당신이 배열에 액세스 할 때 때문에, 당신은 제로 인덱스에 액세스 할 수 있습니다. 784 00:35:30,080 --> 00:35:32,070 그리고 그것은 아주 멋지게 평행. 785 00:35:32,070 --> 00:35:35,295 너희들이하고 싶었어요 수 있습니다 내가 1에 해당 인터넷 용 물품. 786 00:35:35,295 --> 00:35:37,330 난 미만 또는 3과 동일하다. 787 00:35:37,330 --> 00:35:39,890 >> 그러나으로 아주 작동하지 않을 것입니다 물론 여기, 당신 때문에 만 788 00:35:39,890 --> 00:35:42,010 0, 1, 2의 요소를 가지고있다. 789 00:35:42,010 --> 00:35:45,815 그리고 당신은 시작한다면 당신의 소자 (1), (2)에서 I, 3, 790 00:35:45,815 --> 00:35:48,440 당신은 실행 끝날거야 당신의 배열의 범위 중, 791 00:35:48,440 --> 00:35:50,440 나쁜 일이 일어날 것입니다. 792 00:35:50,440 --> 00:35:54,480 >> 그래서 너희들이 SEGUE를 참조 바랍니다 의 이유는 이전 클래스에서 793 00:35:54,480 --> 00:35:58,560 우리가 어떻게 실행하는 너희들을 교육하고, 루프 우리가 있었던 길을 포맷합니다. 794 00:35:58,560 --> 00:36:01,900 이제 우리는했습니다, 때문이다 배열로 전환, 795 00:36:01,900 --> 00:36:06,760 당신은 왜 0 빌려 볼 수 있습니다 자체는 매우 친절에 액세스하는. 796 00:36:06,760 --> 00:36:09,880 >> 그래서 우리는 그렇게 할 방법이 난 that--입니다 단지를 위해 여기를 인쇄 797 00:36:09,880 --> 00:36:10,830 그것을 밖으로 인쇄. 798 00:36:10,830 --> 00:36:13,750 하지만 내 자리, 쉼표가 있습니다. 799 00:36:13,750 --> 00:36:15,645 실제 액세스 일부 일어나고있다. 800 00:36:15,645 --> 00:36:17,520 어레이의 이름 온도 불렀다. 801 00:36:17,520 --> 00:36:21,570 그래서 온도와의 배열의 난 번째 요소입니다. 802 00:36:21,570 --> 00:36:24,400 >> 루프를 통해 실행 그래서, 는 0에서 시작하는 것입니다. 803 00:36:24,400 --> 00:36:27,640 그것은 출력 할 것 이 배열의 0 번째 인덱스입니다. 804 00:36:27,640 --> 00:36:29,599 그런 다음 인쇄 할 것 첫 번째 요소가 부족합니다. 805 00:36:29,599 --> 00:36:31,431 그런 다음 인쇄 할 것 두 번째 아웃. 806 00:36:31,431 --> 00:36:32,880 그리고 우리는 중단 될 것입니다. 807 00:36:32,880 --> 00:36:36,718 모든 사람이 분명하다 그 방법 일 이죠? 808 00:36:36,718 --> 00:36:37,217 좋아요. 809 00:36:37,217 --> 00:36:43,230 810 00:36:43,230 --> 00:36:44,100 >> 괜찮아. 811 00:36:44,100 --> 00:36:47,270 그래서 여기에 우리는 방법이 우리가 원하는하지 않은 경우, 말 812 00:36:47,270 --> 00:36:50,020 하드 코드에 프로그래머로 나를 in--. 813 00:36:50,020 --> 00:36:53,320 실제로 물리적 싶지 않았다 모든 개별 요소를 넣어 814 00:36:53,320 --> 00:36:54,020 이 배열의. 815 00:36:54,020 --> 00:36:56,500 내가 대신을 원한다면 사용자 입력 값을 가질 816 00:36:56,500 --> 00:36:58,100 그렇게하는 가장 좋은 방법은 무엇입니까? 817 00:36:58,100 --> 00:37:00,920 >> 음, 여기 내가 만든 이 사랑스러운 기능, 818 00:37:00,920 --> 00:37:03,560 있는 나는 배열을 선언 할 수 있습니다. 819 00:37:03,560 --> 00:37:06,210 하자 scores-- 그래서 INT 단지 우리가 확인하고 싶은 말은 820 00:37:06,210 --> 00:37:10,660 모든 18의 성적을 유지하는 배열 여기에이 절에있는 학생들. 821 00:37:10,660 --> 00:37:12,670 나는 우리가 조금있어 생각 18 개 이상의 아이들이 오늘. 822 00:37:12,670 --> 00:37:16,460 그러나 예을 위하여, 그냥 우리가 18을 가지고 가정하자. 823 00:37:16,460 --> 00:37:21,580 내가 가진 배열 이름 점수를 만들 것 int 형, 점수 때문에, 물론, 824 00:37:21,580 --> 00:37:22,987 숫자입니다. 825 00:37:22,987 --> 00:37:24,820 그리고 내가 가진거야 대괄호 (18), 826 00:37:24,820 --> 00:37:29,900 그 때문에 얼마나 많은 학생들이 내가 의 점수를 저장할 수 있어야합니다. 827 00:37:29,900 --> 00:37:32,206 >> 그리고 그 방법은 내가 채울 것 배열은 내가 거라고이다 828 00:37:32,206 --> 00:37:35,572 의 루프를 통해 실행 물론, 0 내 0 번째 인덱스 되 고. 829 00:37:35,572 --> 00:37:38,030 그리고 18이되는 내 이 때문에, 판을 중지 830 00:37:38,030 --> 00:37:39,690 배열의 18 요소. 831 00:37:39,690 --> 00:37:44,620 그리고 그때의 printf를 할거야, 입력 student-- 궁시렁 궁시렁 궁시렁에 대한 점수. 832 00:37:44,620 --> 00:37:51,171 >> 사람이 난 왜 여기에 말해 줄 수 난을 내가 1을 더한 인쇄하지? 833 00:37:51,171 --> 00:37:52,920 그것은 속임수 종류의 질문, 정말. 834 00:37:52,920 --> 00:37:56,020 실제로 물리적으로하지 않습니다 코드의 실행에 영향을 미친다. 835 00:37:56,020 --> 00:37:56,520 그래. 836 00:37:56,520 --> 00:37:57,909 >> 청중 : [들리지] 0? 837 00:37:57,909 --> 00:37:58,950 ANDI 펭 : 네, 정확히. 838 00:37:58,950 --> 00:38:02,620 그것은 이봐, 말을 조금 어색, 이 클래스의 0 번째 학생입니다. 839 00:38:02,620 --> 00:38:03,780 그것은 조금 이상한. 840 00:38:03,780 --> 00:38:08,340 우리 그래서, 인간으로, 정말 싫어 컴퓨터가 생각하는 방법을 생각합니다. 841 00:38:08,340 --> 00:38:10,930 그래서 심지어에서 비록 컴퓨터, 그 값을 저장하는 것 842 00:38:10,930 --> 00:38:13,310 0 번째 인덱스에 우리는 인간이야, 우리가 정말하지 않습니다 843 00:38:13,310 --> 00:38:15,520 0으로 자신을 참조하고 싶다. 844 00:38:15,520 --> 00:38:18,119 그래서 난 그냥를 인쇄 할 때, 나는 인쇄 추가거야 845 00:38:18,119 --> 00:38:19,410 단지 명확성을 위해 하나. 846 00:38:19,410 --> 00:38:22,447 나는 인쇄 할 때, 나는 될거야 (18)를 통해 학생 1을 인쇄 할 수. 847 00:38:22,447 --> 00:38:24,530 실제로 영향을주지 않습니다 코드의 주행 848 00:38:24,530 --> 00:38:27,110 어떤 방법으로, 방법은 내가 인쇄 할 수 있습니다. 849 00:38:27,110 --> 00:38:30,380 >> 당신이있을 때하지만 조심해야 해 실제로 어레이를 액세스. 850 00:38:30,380 --> 00:38:32,780 당신은 점수 내가 볼 때, 여기에 통지 사실이야 851 00:38:32,780 --> 00:38:38,200 0 번째 인덱스에 액세스하고 하지 1 플러스 0-- 또는 1 더하기 1, 852 00:38:38,200 --> 00:38:45,530 이 경우, 인덱스 그래서 있다는 사실은 분명하다. 853 00:38:45,530 --> 00:38:48,870 모든 사람이 종류의 확인을인가 방법이를 통해 실행 854 00:38:48,870 --> 00:38:51,470 모든 인덱스 나는 해요 배열에 값을 넣어 855 00:38:51,470 --> 00:38:55,340 18 숫자 배열을 생성 사용자가 입력려고하고있다? 856 00:38:55,340 --> 00:38:58,780 857 00:38:58,780 --> 00:38:59,821 그래. 858 00:38:59,821 --> 00:39:00,321 쿨. 859 00:39:00,321 --> 00:39:05,380 860 00:39:05,380 --> 00:39:07,400 >> 그래. 861 00:39:07,400 --> 00:39:12,220 우리는 지금 꽤 뭔가로 이동 뿐만 아니라 설정이 작품에 대한 관련. 862 00:39:12,220 --> 00:39:15,020 내가 강의 알고, David-- 죄송합니다, 당신은 질문을했다? 863 00:39:15,020 --> 00:39:16,840 >> 청중 : 당신은 그것을 확대 할 수 있습니까? 864 00:39:16,840 --> 00:39:18,080 >> ANDI 펭 : 네, 그래서 나는 시도했다. 865 00:39:18,080 --> 00:39:18,788 하지만 난 모르겠어요. 866 00:39:18,788 --> 00:39:21,437 어떤 이유로 들어,이 파워 포인트 버전 867 00:39:21,437 --> 00:39:23,270 정말 작동하지 않습니다 잘 디스플레이. 868 00:39:23,270 --> 00:39:25,260 그래서 우리는 단지거야 이처럼 유지합니다. 869 00:39:25,260 --> 00:39:27,280 이러한 모든 온라인으로 업로드됩니다. 870 00:39:27,280 --> 00:39:28,218 죄송합니다, 여러분. 871 00:39:28,218 --> 00:39:30,090 그래. 872 00:39:30,090 --> 00:39:30,980 그래. 873 00:39:30,980 --> 00:39:35,530 >> 그래서 우리는 또한 문자열을 가질 수 있습니다. 874 00:39:35,530 --> 00:39:39,320 그래서 실제로 너희들 내가 notice-- 경우 롭은 그 강의에서이 갔다 알고 875 00:39:39,320 --> 00:39:43,652 그는 문자열이 실제로 뭐 실수 있음 문자의 단지 배열, 876 00:39:43,652 --> 00:39:44,860 당신이 그것에 대해 생각하면, 오른쪽? 877 00:39:44,860 --> 00:39:47,500 문자열은 이름 또는이다 문장이나 단어, 오른쪽? 878 00:39:47,500 --> 00:39:52,975 >> 나는라는 문자열을 만들 수 있다면 Andi-- 그냥 내 이름, A-N-D-I. 879 00:39:52,975 --> 00:39:55,460 당신은 단지 하나의 변수로 그 생각. 880 00:39:55,460 --> 00:39:58,630 하지만 실제로, 그것은 아래로 생겼습니다 문자의 단지 배열로. 881 00:39:58,630 --> 00:40:01,910 그래서 문자의있어 배열 값에 저장. 882 00:40:01,910 --> 00:40:05,420 그것은에 저장 N의 문자를 가지고 두 번째 인덱스 등 등. 883 00:40:05,420 --> 00:40:08,660 >> 우리는 이러한 방법에 따라서 실제로이 종류가 884 00:40:08,660 --> 00:40:10,970 구조의 설정 우리의 문자열을 배치합니다. 885 00:40:10,970 --> 00:40:14,660 그래서 여기, 내가 입력한다면 단어 "먹고"- 그래서 문자열 단어와 동일 886 00:40:14,660 --> 00:40:15,540 문자열을 얻을. 887 00:40:15,540 --> 00:40:19,260 내가 입력한다면 단어는 "먹고"그 나의 컴퓨터 방법은 물리적으로 888 00:40:19,260 --> 00:40:21,870 내 기억에 그 문자열을 저장한다. 889 00:40:21,870 --> 00:40:27,140 >> 그리고 난 그 통해 실행하기를 원한다면 그리고 난에 대한 그래서 out-- 인쇄 890 00:40:27,140 --> 00:40:30,890 우리는 강의에서, 기억, 제로와 동일 나 strlen라고 덮여 뭔가, 891 00:40:30,890 --> 00:40:32,990 또는 문자열의 길이. 892 00:40:32,990 --> 00:40:36,520 내가 실제로 할 수 있기 때문에 배열이 얼마나 큰 알고 893 00:40:36,520 --> 00:40:38,210 어떤 사용자의 inputting--의 894 00:40:38,210 --> 00:40:40,370 >> 예를 들어, 내가 입력 단어는 "먹고"나는 알고있다 895 00:40:40,370 --> 00:40:41,870 맞아, 세 자입니까? 896 00:40:41,870 --> 00:40:44,700 그래서이 세 가지에 넣을 수 모든 것이 잘 될 것입니다. 897 00:40:44,700 --> 00:40:49,290 그러나 사용자 입력 뭔가 경우 즉, 값들의 상이한 수있어, 898 00:40:49,290 --> 00:40:52,760 당신은 정말 할 수 없을거야 당신은 당신의 코드를 프로그래밍 할 때 알아. 899 00:40:52,760 --> 00:40:56,040 >> 그래서 우리는 테스트 케이스를 처리하는 방식 그런 식으로 우리가 뭔가를해야한다는 것입니다 900 00:40:56,040 --> 00:41:00,070 단지 함수 인 strlen 함수 호출 그 캐릭터가 얼마나 오래 당신을 알려줍니다. 901 00:41:00,070 --> 00:41:02,080 그래서 단어 나 strlen. 902 00:41:02,080 --> 00:41:03,470 내 말은 먹을 수 있습니다. 903 00:41:03,470 --> 00:41:05,990 N은 단어 나 strlen 같다. 904 00:41:05,990 --> 00:41:08,930 누군가가 그 무엇을 말해 줄 수 값은 실제로 바로 거기에있다? 905 00:41:08,930 --> 00:41:12,550 N 바로 무엇을 나타내는 않습니다 지금,이 예에서, 내가 가진 경우 먹지? 906 00:41:12,550 --> 00:41:13,530 >> 청중 : 3. 907 00:41:13,530 --> 00:41:14,520 >> ANDI 펭 : 3, 정확하게. 908 00:41:14,520 --> 00:41:18,820 INT의 전 동일에 대한 그래서 우리는이 제로, N은 본질적으로, 3과 같다. 909 00:41:18,820 --> 00:41:22,355 그리고 난 실행하는 것입니다 그것은 3I ++보다 때까지. 910 00:41:22,355 --> 00:41:24,980 그리고 그것은 본질적으로 갈 것 과를 통해 같은 일을. 911 00:41:24,980 --> 00:41:26,979 그것은 인쇄 것 모든 가치와 당신에게 912 00:41:26,979 --> 00:41:29,700 전자-T. 그것은 단지를 나타내는 것 그것을 쓰는 다른 방법. 913 00:41:29,700 --> 00:41:31,170 그것은 매우 도움이 될 것입니다. 914 00:41:31,170 --> 00:41:31,670 그래. 915 00:41:31,670 --> 00:41:35,174 청중 : 퍼팅의 장점을 무엇 N은 그 내부 나 strlen 단어와 동일 916 00:41:35,174 --> 00:41:36,894 [들림] 루프? 917 00:41:36,894 --> 00:41:37,560 ANDI 펭 : 네. 918 00:41:37,560 --> 00:41:44,880 그래서 내가 말할 이러시면 인 경우, 예를 들어, 내가 있다면 그 작업을 수행하고 919 00:41:44,880 --> 00:41:51,935 내 코드에서, 그 oop--는 것 do-- 실제로 같은 것은 같은 일을합니다. 920 00:41:51,935 --> 00:41:55,060 그러나, 방법 다윗은 설명이 그것은 강의 중에, 만약 당신이 어떤 사람 921 00:41:55,060 --> 00:41:57,854 기억했다, 같은 그 인간, 프로그래머로서, 922 00:41:57,854 --> 00:42:00,270 우리가 정말 우리의 프로그램을 시도 코드 우리의 컴퓨터가 너무 923 00:42:00,270 --> 00:42:04,070 그래서 가능한 한 최소한의 일을하는 우리의 코드는 매우 효율적입니다. 924 00:42:04,070 --> 00:42:06,850 >> 그래서 나는 거기에, 무엇을 가지고있는 경우 내 용 루프를 통해 일어날 것 925 00:42:06,850 --> 00:42:10,790 내가 처음 선언 것이다 라는 변수 내가 0이 될 것입니다. 926 00:42:10,790 --> 00:42:13,350 나는, 오, 확인하기 위하여려고하고있다 단어의 나 strlen 무엇인가? 927 00:42:13,350 --> 00:42:15,000 아, 나 strlen은 3입니다. 928 00:42:15,000 --> 00:42:16,191 그래서 세 미만? 929 00:42:16,191 --> 00:42:16,690 네, 그렇습니다. 930 00:42:16,690 --> 00:42:17,870 난 실행할거야. 931 00:42:17,870 --> 00:42:21,130 >> 그리고 두 번째로 다시 주위 루프, 난을 증가거야. 932 00:42:21,130 --> 00:42:22,550 내가 하나가 될 것입니다. 933 00:42:22,550 --> 00:42:25,600 그리고 난, 오, 확인하는 것입니다 하지만 단어 나 strlen은 무엇인가? 934 00:42:25,600 --> 00:42:26,839 아, 세 가지입니다. 935 00:42:26,839 --> 00:42:29,880 그리고, 종류의 낭비 것 그 수행 당신은 루프를 통해 실행할 때마다, 936 00:42:29,880 --> 00:42:33,340 기능을 확인하기 위해, 심지어 단어의 나 strlen하지만 937 00:42:33,340 --> 00:42:35,490 실제로 변경하지? 938 00:42:35,490 --> 00:42:38,590 >> 그래서 컴퓨터의 여분의 전력이다. 939 00:42:38,590 --> 00:42:42,180 당신은 것들에 대해 이야기를 시작하면 수십억됩니다 940 00:42:42,180 --> 00:42:44,431 장소 수십억 오랫동안 컴퓨터를 상상 941 00:42:44,431 --> 00:42:47,430 물리적 거치지과 그 하나 하나의 모든 시간을 확인합니다. 942 00:42:47,430 --> 00:42:53,170 그 이유는, 단지 확인하는 것입니다 효율성을 위해, 943 00:42:53,170 --> 00:42:57,620 우리는 바로이 작업을 수행하는 경향이 때문에 우리는있어이 방법 944 00:42:57,620 --> 00:42:59,850 함수를 호출 처음에 한 번, 945 00:42:59,850 --> 00:43:01,766 그리고 그 때마다 그것을 그것이 무슨 통과 946 00:43:01,766 --> 00:43:03,789 값을 저장하는 3 거기, 당신이 할 것을하지 947 00:43:03,789 --> 00:43:05,330 지속적으로 모든 시간을 확인해야합니다. 948 00:43:05,330 --> 00:43:05,743 그래. 949 00:43:05,743 --> 00:43:06,409 >> 청중 : 죄송합니다. 950 00:43:06,409 --> 00:43:09,070 그냥 [들림]. 951 00:43:09,070 --> 00:43:13,985 당신은 int로 N strlen 함수에 해당 넣어 할 수 그 루프의 외부 위 952 00:43:13,985 --> 00:43:15,364 뿐만 아니라? 953 00:43:15,364 --> 00:43:16,030 ANDI 펭 : 네. 954 00:43:16,030 --> 00:43:17,100 당신은 절대적으로, 그렇게 할 수 있습니다. 955 00:43:17,100 --> 00:43:19,970 우리가 여기에있는 이유는 때문에 루프 작업을위한 방법 956 00:43:19,970 --> 00:43:23,500 그것이라고된다 의미에서 지역 변수 957 00:43:23,500 --> 00:43:26,150 당신이있어 모든 것이 루프의 내부를 작성 958 00:43:26,150 --> 00:43:27,890 단지 루프의 내부에 존재한다. 959 00:43:27,890 --> 00:43:31,530 >> 그래서 i 변수 만 그 괄호 안에 존재한다. 960 00:43:31,530 --> 00:43:35,260 또한 N의 그리고 여기에 변수 만 괄호 안에 존재한다. 961 00:43:35,260 --> 00:43:39,350 그래서 당신의 strlen 함수를 사용한다면 아래로 아래 여러 번 말씀, 962 00:43:39,350 --> 00:43:42,230 절대적으로 그렇게 할 수있는 최선의 방법 정상에 그것을 선언하는 것입니다 963 00:43:42,230 --> 00:43:43,563 그래서 당신은 한 번 할 필요가 없습니다. 964 00:43:43,563 --> 00:43:45,420 그래. 965 00:43:45,420 --> 00:43:47,670 청중 : 왜 당신이 있습니까 퍼센트 후 새로운 라인 966 00:43:47,670 --> 00:43:51,300 모든 넣어하려는 경우보고 이 분리 옆에 편지? 967 00:43:51,300 --> 00:43:54,140 >> ANDI 펭 : 아, 내가 원한 각 라인에 모두 인쇄 할 수 있습니다. 968 00:43:54,140 --> 00:43:54,890 그것은 중요하지 않습니다. 969 00:43:54,890 --> 00:43:55,890 그래, 서식입니다. 970 00:43:55,890 --> 00:43:57,181 즉, 비록 좋은 질문입니다. 971 00:43:57,181 --> 00:43:59,360 내가 원하는 경우 네, 인쇄 그것은 단지 모두 한 줄에 972 00:43:59,360 --> 00:44:02,731 나는의 대시가없는 것입니다. 973 00:44:02,731 --> 00:44:03,230 그래. 974 00:44:03,230 --> 00:44:06,880 모두 좋은? 975 00:44:06,880 --> 00:44:07,500 그래. 976 00:44:07,500 --> 00:44:08,000 쿨. 977 00:44:08,000 --> 00:44:12,080 978 00:44:12,080 --> 00:44:14,750 >> 그래서 나는 내가 충분히 이야기라고 생각한다. 979 00:44:14,750 --> 00:44:20,040 너희들의 차례를 통해 실행 코드와 여기에 잘못 말해. 980 00:44:20,040 --> 00:44:21,560 버그는 어디있어? 981 00:44:21,560 --> 00:44:26,920 당신이 볼 수 있도록, 나는 선언했습니다 String 형의 이름 클래스의 새로운 배열. 982 00:44:26,920 --> 00:44:30,220 그리고, 샘을 입력 한 그것으로 제스, 김. 983 00:44:30,220 --> 00:44:33,400 그리고 인쇄하려고 해요 어레이의 모든 요소. 984 00:44:33,400 --> 00:44:36,796 왜이 사람은 말해 줄 수 나에게 문제를 제공하는 것입니다? 985 00:44:36,796 --> 00:44:39,320 나는 사람들에게 10 줄거야 초는이에 대해 생각합니다. 986 00:44:39,320 --> 00:44:55,490 987 00:44:55,490 --> 00:44:56,619 >> 그래. 988 00:44:56,619 --> 00:44:57,118 그래? 989 00:44:57,118 --> 00:45:01,972 >> 청중 : 왼쪽 센터 3과 같거나 [들림]? 990 00:45:01,972 --> 00:45:02,680 ANDI 펭 : 오른쪽. 991 00:45:02,680 --> 00:45:06,784 그래서이 실제로 얼마나 많은 시간이다 이 루프를 통해 실행하려고? 992 00:45:06,784 --> 00:45:07,620 >> 청중 : 네. 993 00:45:07,620 --> 00:45:08,070 >> ANDI 펭 : 맞아요. 994 00:45:08,070 --> 00:45:09,445 그것은 네 번을 통해거야. 995 00:45:09,445 --> 00:45:12,250 그것은을 통해 실행하는 것 0, 1, 2 및 3에서, 996 00:45:12,250 --> 00:45:15,200 자신의 요소가 나는 때문에 3보다 작거나 같다. 997 00:45:15,200 --> 00:45:16,960 그것은 2 때 중지 않을거야. 998 00:45:16,960 --> 00:45:18,800 그것은 계속 것 이 3 안타 때까지 가고. 999 00:45:18,800 --> 00:45:21,720 우리가 알고 있듯이, 세 개의있다 우리의 실제 배열의 요소. 1000 00:45:21,720 --> 00:45:27,260 >> 우리는 네 번째에 액세스하려고하면 소자 3의 인덱스 1001 00:45:27,260 --> 00:45:30,357 당신은 어딘가에 칠거야 메모리에 존재하지 않음. 1002 00:45:30,357 --> 00:45:31,690 그것은 null 종결라고. 1003 00:45:31,690 --> 00:45:32,856 아무것도 될 것 없습니다입니다. 1004 00:45:32,856 --> 00:45:35,324 컴퓨터는 않을 것이다 당신과 함께 매우 행복합니다. 1005 00:45:35,324 --> 00:45:36,170 그래. 1006 00:45:36,170 --> 00:45:38,430 누군가가 질문이 있습니까 그 이유는 무슨 일이 있었에? 1007 00:45:38,430 --> 00:45:39,679 즉 피하기 위해 공통 영역입니다. 1008 00:45:39,679 --> 00:45:40,712 그래. 1009 00:45:40,712 --> 00:45:45,777 >> 청중 : 첫 번째하지 않습니다 2의 문자열을 가지고도 밀어? 1010 00:45:45,777 --> 00:45:46,360 ANDI 펭 : 아니오. 1011 00:45:46,360 --> 00:45:49,610 그래서 본질적으로, 경우 당신은 배열을 만들고 있어요, 1012 00:45:49,610 --> 00:45:51,540 그 브래킷 권리 이 모든 number-- 그 1013 00:45:51,540 --> 00:45:53,480 당신이 어떻게 말하고 많은 요소가 나는 있습니다. 1014 00:45:53,480 --> 00:45:55,840 실제로 말하는 아니에요 나 아무것도의 인덱스. 1015 00:45:55,840 --> 00:45:58,760 이 경우, 내가 원하는 알고 세 곳과 쓰기, 1016 00:45:58,760 --> 00:46:02,690 세 가지 물리적 장소와 내가 잡아 원하는대로 누르고 있습니다. 1017 00:46:02,690 --> 00:46:04,510 3 번이 왜 그렇게 그입니다. 1018 00:46:04,510 --> 00:46:06,560 그러나, 나는 원 실제로 액세스하려면 1019 00:46:06,560 --> 00:46:11,220 내가 말하고자한다면, printf의 다음 클래스 브래킷 번​​호, 1020 00:46:11,220 --> 00:46:14,560 당신은 실제로 넣을거야 이 물리적 인덱스입니다. 1021 00:46:14,560 --> 00:46:16,330 그래, 좋은 질문입니다. 1022 00:46:16,330 --> 00:46:20,065 >> 청중 : 그래서 물리적 인 인덱스 가정은 [들리지] 수 있습니까? 1023 00:46:20,065 --> 00:46:20,940 ANDI 펭 : 미안 해요. 1024 00:46:20,940 --> 00:46:21,500 당신은 조금을 말할 수 있습니까? 1025 00:46:21,500 --> 00:46:24,208 >> 청중 : 그래서 물리적 인덱스가 [들림] 상자의 각? 1026 00:46:24,208 --> 00:46:25,260 [들림]? 1027 00:46:25,260 --> 00:46:26,040 >> ANDI 펭 : 네. 1028 00:46:26,040 --> 00:46:28,970 그래서 여기로 돌아갈거야. 1029 00:46:28,970 --> 00:46:31,120 여기의 생각. 1030 00:46:31,120 --> 00:46:32,820 우리는 크기 3의 배열을 가지고있다. 1031 00:46:32,820 --> 00:46:35,540 등 세 곳있다, 여기에 물리적 자리. 1032 00:46:35,540 --> 00:46:37,620 그러나 그들은 0, 1, 2라는 것입니다. 1033 00:46:37,620 --> 00:46:40,700 내가 그들에게 접근하고 싶어한다면, 나는 그들에 액세스하는 방법 1034 00:46:40,700 --> 00:46:43,480 여기에 원하는 무엇이든의 printf의입니다. 1035 00:46:43,480 --> 00:46:45,485 당신은 인쇄 할 것이다 그것의 이름을 밖으로, 1036 00:46:45,485 --> 00:46:47,610 다음 컴퓨터 때문에 오, 내가 볼 필요가, 알고 1037 00:46:47,610 --> 00:46:51,391 0 번째 인덱스에 대한이 배열. 1038 00:46:51,391 --> 00:46:51,890 그래. 1039 00:46:51,890 --> 00:46:53,306 하지만, 그것의 크기는 변화하지 않는다. 1040 00:46:53,306 --> 00:46:55,492 크기에 관계없이, 3 당신이 그들을 레이블 방법. 1041 00:46:55,492 --> 00:46:58,321 1042 00:46:58,321 --> 00:46:58,820 그래. 1043 00:46:58,820 --> 00:47:01,387 모두 좋은? 1044 00:47:01,387 --> 00:47:02,970 청중 : 그래서 때마다 나는 [들림]? 1045 00:47:02,970 --> 00:47:06,357 1046 00:47:06,357 --> 00:47:06,940 ANDI 펭 : OK. 1047 00:47:06,940 --> 00:47:13,270 이 경우, 우리는 정말하지 않습니다 과정에서 지금 그것으로 얻을. 1048 00:47:13,270 --> 00:47:16,760 하지만 알고 난 같은 string-- 문자열이 본질적으로, 전에 말했다 1049 00:47:16,760 --> 00:47:18,440 문자의 배열. 1050 00:47:18,440 --> 00:47:21,430 내가 배열을 만들 수 있다면 문자열, 내가 가지 1051 00:47:21,430 --> 00:47:24,430 어레이의 배열을 가지고 문자, 오른쪽? 1052 00:47:24,430 --> 00:47:27,720 >> 이 경우에 그래서, 때문에 문자열의 배열을 가지고 1053 00:47:27,720 --> 00:47:31,340 당신이 입력에 정말로 긴 단어 인 경우, 그게 아직 단 하나의 공간을 차지 1054 00:47:31,340 --> 00:47:33,230 즉, 하나의 문자열이 있기 때문에. 1055 00:47:33,230 --> 00:47:37,492 하지만 당신이 있다면 생각합니다 그 배열의 문자, 1056 00:47:37,492 --> 00:47:40,450 그 다음은 더 많이 복용 즉 어떤 자 이하 1057 00:47:40,450 --> 00:47:41,372 이다. 1058 00:47:41,372 --> 00:47:42,830 지금은 정말 중요하지 않음. 1059 00:47:42,830 --> 00:47:44,921 하지만 그건 그냥 일반적이다 어떻게 일하고있다. 1060 00:47:44,921 --> 00:47:49,750 1061 00:47:49,750 --> 00:47:50,560 >> 그래. 1062 00:47:50,560 --> 00:47:55,840 그래서 내가 당신이 할 드리겠습니다 일이다 학기의 과정을 통해 많은. 1063 00:47:55,840 --> 00:47:57,500 내 목소리를 휴식이 필요. 1064 00:47:57,500 --> 00:47:59,530 너희들은 자신을 자극 할 필요가있다. 1065 00:47:59,530 --> 00:48:02,300 당신의 많은 아마 지금 잠을해야합니다. 1066 00:48:02,300 --> 00:48:05,960 나는 임의의 문제를 입력 해요 여기서 우리 클래스와 나 1067 00:48:05,960 --> 00:48:09,480 파트너와 함께 당신 옆에가는거야 논의 몇 분을 보내고 1068 00:48:09,480 --> 00:48:14,980 우리가 해결하는 것에 대해 이동하는 방법에 또는 이와 같은 프로그램을 작성. 1069 00:48:14,980 --> 00:48:17,100 >> 그래서 지금, 우리는 원하는 program--을 만들 수 있습니다 1070 00:48:17,100 --> 00:48:19,560 우리는 그것을 호출하는거야 upper.c-- 변환합니다 1071 00:48:19,560 --> 00:48:24,787 상위 클래스에 소문자 단어 string-- 대문자, 죄송합니다. 1072 00:48:24,787 --> 00:48:26,370 말씀은 문자열에, 죄송합니다, 동의어이다. 1073 00:48:26,370 --> 00:48:28,370 나는 그들을 변경거야 같은 일을 의미합니다. 1074 00:48:28,370 --> 00:48:32,270 1075 00:48:32,270 --> 00:48:33,499 >> 그래. 1076 00:48:33,499 --> 00:48:34,540 몇 분을 가져 가라. 1077 00:48:34,540 --> 00:48:37,130 그럴 필요는 없다 모든 언어로 작성. 1078 00:48:37,130 --> 00:48:39,890 다만 의사 코드 또는 논리적으로 어떻게 우리는 심지어 것 1079 00:48:39,890 --> 00:48:42,083 이러한 문제를 일에 대해 이동합니다. 1080 00:48:42,083 --> 00:48:42,583 그래. 1081 00:48:42,583 --> 00:48:49,881 1082 00:48:49,881 --> 00:48:52,780 >> [2 회화] 1083 00:48:52,780 --> 00:49:18,680 1084 00:49:18,680 --> 00:49:22,130 >> 또한 너희들이 주는거 것으로 나타났습니다 나는 종류의 이미 프로그램을 참조하십시오. 1085 00:49:22,130 --> 00:49:24,600 나는 나의 부족을 생각한다 프리젠터 모드는 문제이다. 1086 00:49:24,600 --> 00:49:27,410 하지만 괜찮습니다. 1087 00:49:27,410 --> 00:49:30,410 >> [2 회화] 1088 00:49:30,410 --> 00:50:03,589 1089 00:50:03,589 --> 00:50:04,380 얘들 아, 제발, 그래. 1090 00:50:04,380 --> 00:50:05,400 사탕을 가져 가자. 1091 00:50:05,400 --> 00:50:06,372 사탕을 가져 가자. 1092 00:50:06,372 --> 00:50:07,698 >> 청중 : 예! 1093 00:50:07,698 --> 00:50:09,958 >> [2 회화] 1094 00:50:09,958 --> 00:50:16,101 1095 00:50:16,101 --> 00:50:18,100 ANDI 펭 : 또한, 그래, 나는 사탕을 던지고 시작합니다 1096 00:50:18,100 --> 00:50:20,280 질문에 대답하지 않는 사람들에. 1097 00:50:20,280 --> 00:50:22,260 모든 질문에 답을해야한다 그래서. 1098 00:50:22,260 --> 00:50:24,895 아니면 내가 사람을 생각하는 사람들 질문에 대한 답변 않습니다. 1099 00:50:24,895 --> 00:50:26,070 그래, 다른 방법으로 주위. 1100 00:50:26,070 --> 00:50:28,570 >> [2 회화] 1101 00:50:28,570 --> 00:51:13,399 1102 00:51:13,399 --> 00:51:14,274 청중 : [들리지] 1103 00:51:14,274 --> 00:51:17,300 1104 00:51:17,300 --> 00:51:18,340 >> ANDI 펭 : 네. 1105 00:51:18,340 --> 00:51:19,340 그래. 1106 00:51:19,340 --> 00:51:22,840 >> [2 회화] 1107 00:51:22,840 --> 00:51:40,700 1108 00:51:40,700 --> 00:51:41,590 >> 그래, 얘들 아. 1109 00:51:41,590 --> 00:51:44,731 같은, 10 초 이상을 가져 가라. 1110 00:51:44,731 --> 00:51:48,210 >> [2 회화] 1111 00:51:48,210 --> 00:52:10,600 1112 00:52:10,600 --> 00:52:11,750 >> 얘들 아, 확인을 클릭합니다. 1113 00:52:11,750 --> 00:52:14,920 그래서 우리가 노력을 시작하기 전에 실제로 물리적으로, 코드를 작성 1114 00:52:14,920 --> 00:52:20,650 개발하는 좋은 습관이다 우리는 이성의 제 1 종하려는 1115 00:52:20,650 --> 00:52:22,737 아웃 논리적으로 우리가 그것을 할 것입니다 방법에 대해 설명합니다. 1116 00:52:22,737 --> 00:52:24,570 당신이 있는지 확인하려면, 당신 전에 물리적 1117 00:52:24,570 --> 00:52:27,210 코드를하려고 시작 마리오, 즉 당신이 만들 1118 00:52:27,210 --> 00:52:28,870 당신이 당신의 의사를 가지고있다. 1119 00:52:28,870 --> 00:52:31,235 그 과정을 복용 당신은 무엇을 그렇게 만들 필요가 1120 00:52:31,235 --> 00:52:33,360 때를 물리적으로, 그 나중에 프로그램을 작성, 1121 00:52:33,360 --> 00:52:36,640 당신은 오류를 잡아 더 잘 할 수있다 코드와 같은 것들이다. 1122 00:52:36,640 --> 00:52:40,460 >> 그래서 우리는 단지 시작하는거야 by-- 영어, 의사에, 1123 00:52:40,460 --> 00:52:43,320 사람이주고 싶지 않습니다 나 일반적인 설명 1124 00:52:43,320 --> 00:52:46,250 우리는이 일을 약을 이동하는 방법? 1125 00:52:46,250 --> 00:52:48,102 그래. 1126 00:52:48,102 --> 00:52:49,664 >> 청중 : [들림]. 1127 00:52:49,664 --> 00:52:50,830 ANDI 펭 : 물론, 걱정. 1128 00:52:50,830 --> 00:52:57,233 청중 : 당신은 그것을 요​​청하거나 요청 수 누군가가, 문자열 1-- 그래, 문자열을 얻을 수 1129 00:52:57,233 --> 00:52:58,160 그리고-- 1130 00:52:58,160 --> 00:52:59,826 >> ANDI 펭 : 네, 그래서 이것은 좋은 시작이다. 1131 00:52:59,826 --> 00:53:01,972 나는 당신이 말하는, 죄송합니다, 입력을 시작합니다. 1132 00:53:01,972 --> 00:53:02,471 그러니까 ... 1133 00:53:02,471 --> 00:53:05,698 >> 청중 : 고마웠다 소문자 숫자가 높은, 오른쪽? 1134 00:53:05,698 --> 00:53:08,519 또는 소문자 높은 번호가? 1135 00:53:08,519 --> 00:53:09,310 ANDI 펭 : 맞아요. 1136 00:53:09,310 --> 00:53:16,156 청중 : 그럼 우리가 빼기 무엇 [들리지] 32. 1137 00:53:16,156 --> 00:53:28,600 1138 00:53:28,600 --> 00:53:29,870 >> ANDI 펭 : 좋아요. 1139 00:53:29,870 --> 00:53:35,020 그래서 우리는 종류의 일반적인 감각을 가지고 의 방법이 문제에 대해 작동합니다. 1140 00:53:35,020 --> 00:53:40,060 우리가 가지 배운 것을 알고 그 문자열 물리적 방법 1141 00:53:40,060 --> 00:53:43,320 메모리에 저장되고, 이미 당신이 무엇을 1142 00:53:43,320 --> 00:53:45,920 당신은 아마 거라고 알고 코드에서 작성해야 1143 00:53:45,920 --> 00:53:48,288 위해 문자열을 통해 이동? 1144 00:53:48,288 --> 00:53:49,259 >> 청중 : 루프하십시오. 1145 00:53:49,259 --> 00:53:50,550 ANDI 펭 : 루프, 정확하게. 1146 00:53:50,550 --> 00:53:56,540 1147 00:53:56,540 --> 00:53:57,220 좋아요. 1148 00:53:57,220 --> 00:54:00,539 그래서 우리는 종류의 일반이 의사는 적어 1149 00:54:00,539 --> 00:54:02,330 그런 종류의주고있다 당신은 당신이 방법에 대한주의 사항 1150 00:54:02,330 --> 00:54:03,900 문제 해결에 대한 이동합니다. 1151 00:54:03,900 --> 00:54:06,150 지금 당신이이 있는지, 당신을 나중에 참조 할 수 1152 00:54:06,150 --> 00:54:08,233 당신이하려고하는 경우에 실제로 코드를 작성합니다. 1153 00:54:08,233 --> 00:54:10,240 그래서 우리는 실제로 여기에 갈 수 있습니다. 1154 00:54:10,240 --> 00:54:25,130 그리고 나는라는 함수를 가지고 upper.c-- 거기에 그냥 빈 템플릿의 is-- 1155 00:54:25,130 --> 00:54:28,510 지금 너희들이가는 것을 저를 작성하는 방법에 알아내는 데 도움이 1156 00:54:28,510 --> 00:54:30,430 되지 않는 코드의 라인을 code--이 라인. 1157 00:54:30,430 --> 00:54:32,890 그것은 여러 줄의 코드 수 있습니다. 1158 00:54:32,890 --> 00:54:35,710 >> 모든 종류의를 시작할 때 빈 PSET의 무엇이다 1159 00:54:35,710 --> 00:54:37,418 내가 가장 먼저해야 할 일 어떻게 기억 하는가? 1160 00:54:37,418 --> 00:54:39,290 >> 청중 : [들림]. 1161 00:54:39,290 --> 00:54:41,000 >> ANDI 펭 : 위대한 그래. 1162 00:54:41,000 --> 00:54:41,500 포함합니다. 1163 00:54:41,500 --> 00:54:44,850 1164 00:54:44,850 --> 00:54:47,130 STDIO.H. 1165 00:54:47,130 --> 00:54:49,640 때때로이 중 하나입니다 가장 쉬운 실수 사람들 1166 00:54:49,640 --> 00:54:51,598 그들이있을 때 할 것 , 작성하는 것은 그들이 것이 오 1167 00:54:51,598 --> 00:54:54,180 를 포함하는 것을 잊지 그들이 필요로하는 중요한 라이브러리. 1168 00:54:54,180 --> 00:54:57,689 그래서, 근무 시간 그리고 당신이 같다면 내 코드가 작동하지 않는 이유를 모르겠어요. 1169 00:54:57,689 --> 00:54:59,230 당신은 작동하지 않는 이유를 말해 줄 수 있습니까? 1170 00:54:59,230 --> 00:55:00,730 우리는 당신이 #include를 않았다 말하는거야? 1171 00:55:00,730 --> 00:55:02,520 당신은 그것을 #include를해야합니다. 1172 00:55:02,520 --> 00:55:03,270 그래. 1173 00:55:03,270 --> 00:55:07,230 >> 그래서 우리는 여기에 표준 I / O를 가지고있다. 1174 00:55:07,230 --> 00:55:10,740 그게 유일한 라이브러리 우리는 여기에서 필요로하는거야? 1175 00:55:10,740 --> 00:55:12,681 또 우리는 무엇을 할 건가요? 1176 00:55:12,681 --> 00:55:13,180 죄송합니다. 1177 00:55:13,180 --> 00:55:14,562 누군가는 그것을 밖으로 비명? 1178 00:55:14,562 --> 00:55:15,666 >> 청중 : [들림]. 1179 00:55:15,666 --> 00:55:16,666 ANDI 펭 : 거기 당신은 간다. 1180 00:55:16,666 --> 00:55:20,320 1181 00:55:20,320 --> 00:55:21,440 그래. 1182 00:55:21,440 --> 00:55:26,070 어떻게 내가 어떤 종류의 시작에 대한 이동 할 주요 기능의 기능, 모든 종류의 1183 00:55:26,070 --> 00:55:28,760 우리의 프로그램 내에서? 1184 00:55:28,760 --> 00:55:30,020 주요 INT. 1185 00:55:30,020 --> 00:55:34,531 1186 00:55:34,531 --> 00:55:35,030 그래. 1187 00:55:35,030 --> 00:55:35,970 여기 안에 무엇을 넣을까요? 1188 00:55:35,970 --> 00:55:37,640 당신이해야 할 첫 번째 일은 무엇입니까? 1189 00:55:37,640 --> 00:55:39,910 우리는을 얻고 싶다면 사용자로부터 문자열, 1190 00:55:39,910 --> 00:55:43,870 무엇을 우리가해야 할 것 이 첫 번째 줄에 할까? 1191 00:55:43,870 --> 00:55:46,120 죄송합니다, 너희들은 그냥 느낌 목소리를 자유롭게하고 큰 소리로. 1192 00:55:46,120 --> 00:55:47,123 그냥 어떤 소리. 1193 00:55:47,123 --> 00:55:48,772 >> 청중 : 사용자에게 물어? 1194 00:55:48,772 --> 00:55:49,980 ANDI 펭 : 우리는 어떻게해야합니까? 1195 00:55:49,980 --> 00:55:51,873 물어봐도 내가 "사용자에게"를 입력하는 것입니까? 1196 00:55:51,873 --> 00:55:52,600 >> 청중 : PRINTF. 1197 00:55:52,600 --> 00:55:54,341 >> ANDI 펭 : OK. 1198 00:55:54,341 --> 00:55:54,840 PRINTF. 1199 00:55:54,840 --> 00:55:57,372 내가이는 printf 하시겠습니까? 1200 00:55:57,372 --> 00:55:58,776 >> 청중 : 뭔가를 입력합니다. 1201 00:55:58,776 --> 00:56:02,760 1202 00:56:02,760 --> 00:56:03,840 >> ANDI 펭 : 그런? 1203 00:56:03,840 --> 00:56:05,430 나는 컴퓨터 것 같은 얘들 아, 척. 1204 00:56:05,430 --> 00:56:08,475 물리적으로 나에게 모든 단계를 말해 여기에 입력 할 필요가? 1205 00:56:08,475 --> 00:56:09,600 내가 뭔가 잘못하고 있습니까? 1206 00:56:09,600 --> 00:56:10,743 내가 뭔가를 입력 한해야 하는가? 1207 00:56:10,743 --> 00:56:11,690 >> 청중 : 당신은 따옴표가 필요합니다. 1208 00:56:11,690 --> 00:56:12,380 >> ANDI 펭 : 나는 따옴표를해야합니까? 1209 00:56:12,380 --> 00:56:12,880 그래. 1210 00:56:12,880 --> 00:56:15,520 1211 00:56:15,520 --> 00:56:16,297 그래. 1212 00:56:16,297 --> 00:56:17,698 >> 청중 : 그리고 새로운 라인. 1213 00:56:17,698 --> 00:56:21,434 1214 00:56:21,434 --> 00:56:22,465 세미콜론. 1215 00:56:22,465 --> 00:56:23,340 ANDI 펭 : 세미콜론? 1216 00:56:23,340 --> 00:56:24,060 그래. 1217 00:56:24,060 --> 00:56:24,560 좋다. 1218 00:56:24,560 --> 00:56:27,060 >> 청중 : 그리고 어쩌면 지정 당신은이 소문자로 원하는? 1219 00:56:27,060 --> 00:56:30,120 1220 00:56:30,120 --> 00:56:31,415 >> ANDI 펭 : 좋아요. 1221 00:56:31,415 --> 00:56:33,540 너희들은 나를 웃음 세미콜론을 넣어 잊어. 1222 00:56:33,540 --> 00:56:36,350 어디 선가 당신을 보장 이 클래스의 과정에서, 1223 00:56:36,350 --> 00:56:38,260 당신은 넣어하는 것을 잊지합니다 세미콜론, 그리고 1224 00:56:38,260 --> 00:56:41,116 파악하는 당신을 세 시간이 걸릴 것입니다 밖으로 왜 코드가 작동하지 않습니다. 1225 00:56:41,116 --> 00:56:42,240 그것은 우리 모두에게 일어난. 1226 00:56:42,240 --> 00:56:43,950 아마 당신에게 일어날 것입니다. 1227 00:56:43,950 --> 00:56:46,352 세미콜론을 사용하는 좋은 습관을 가져옵니다. 1228 00:56:46,352 --> 00:56:46,852 그래. 1229 00:56:46,852 --> 00:56:49,010 >> 청중 : 당신이 원하는 수행 백 슬래시를 할까? 1230 00:56:49,010 --> 00:56:50,398 >> ANDI 펭 : 물론. 1231 00:56:50,398 --> 00:56:51,856 당신은에 백 슬래시을 하시겠습니까? 1232 00:56:51,856 --> 00:56:53,020 >> 청중 : 네. 1233 00:56:53,020 --> 00:56:54,330 >> ANDI 펭 : 좋아요. 1234 00:56:54,330 --> 00:56:54,830 그래. 1235 00:56:54,830 --> 00:56:57,872 나는 다음에 무엇을해야합니까? 1236 00:56:57,872 --> 00:56:58,964 >> 청중 : 문자열을 가져옵니다. 1237 00:56:58,964 --> 00:56:59,880 ANDI 펭 : 문자열을 가져옵니다. 1238 00:56:59,880 --> 00:57:03,080 1239 00:57:03,080 --> 00:57:03,830 그래서 내가 무엇을 입력합니까? 1240 00:57:03,830 --> 00:57:04,233 누군가? 1241 00:57:04,233 --> 00:57:05,040 >> 청중 : 문자열의. 1242 00:57:05,040 --> 00:57:05,873 >> ANDI 펭 : 문자열의. 1243 00:57:05,873 --> 00:57:07,251 청중 :하여 GetString. 1244 00:57:07,251 --> 00:57:09,000 ANDI 펭 : 누군가, 당신은 저 곳을 알 수 있습니다 1245 00:57:09,000 --> 00:57:12,000 이 기능하여 GetString은오고있다? 1246 00:57:12,000 --> 00:57:13,660 >> 청중 : String.h. 1247 00:57:13,660 --> 00:57:15,256 >> ANDI 펭 : String.h? 1248 00:57:15,256 --> 00:57:16,715 당신은 string.h에서 생각? 1249 00:57:16,715 --> 00:57:17,830 >> 청중 : [들림]. 1250 00:57:17,830 --> 00:57:18,830 >> ANDI 펭 : 거기 당신은 간다. 1251 00:57:18,830 --> 00:57:21,280 그것은 CS50.h.에서의 1252 00:57:21,280 --> 00:57:24,530 당신은 항상 어디에서 혼동하는 경우 라이브러리 파일 또는 헤더 파일은, 1253 00:57:24,530 --> 00:57:28,450 구글은 문자 그대로, string.h 나는 당신을 말할 것이다 1254 00:57:28,450 --> 00:57:30,450 모든 기능은 무엇인가 string.h에 있는지. 1255 00:57:30,450 --> 00:57:31,340 그래. 1256 00:57:31,340 --> 00:57:35,210 >> 그래서 지금은 문자열을 만들었다 고 나는 그것을 위해 사용자에게 메시지를 표시했습니다, 1257 00:57:35,210 --> 00:57:38,770 나는 변수에 저장 한 라는 이름의, 내가 지금 어떻게해야합니까? 1258 00:57:38,770 --> 00:57:40,652 >> 청중 : 그것은 소문자입니다 있는지 확인합니다. 1259 00:57:40,652 --> 00:57:41,360 ANDI 펭 : 죄송합니다? 1260 00:57:41,360 --> 00:57:42,545 청중 : 그것은 소문자입니다 있는지 확인합니다. 1261 00:57:42,545 --> 00:57:44,045 ANDI 펭 : 좋아, 이제 그렇게 할 수 있습니다. 1262 00:57:44,045 --> 00:57:45,857 나는 어떻게해야합니까? 1263 00:57:45,857 --> 00:57:47,940 사실, 목적 지금 클래스의, 1264 00:57:47,940 --> 00:57:50,330 우리는 단지에가는거야 그 모든 가정 1265 00:57:50,330 --> 00:57:52,620 그 우리 입력은 소문자 이미 사용 중입니다. 1266 00:57:52,620 --> 00:57:55,430 당신이 확인하고 싶었다면, 당신은 것 단지 조건부 문을 추가 1267 00:57:55,430 --> 00:57:59,640 확인이를 통해 실행하는 모든 단일 배열 요소 1268 00:57:59,640 --> 00:58:02,540 그것의 경우 확인 특정 값 사이. 1269 00:58:02,540 --> 00:58:05,627 나는 잊지 무슨 수 소문자의 값으로한다. 1270 00:58:05,627 --> 00:58:07,210 당신은 ASCII 테이블을 찾아 볼 수 있습니다. 1271 00:58:07,210 --> 00:58:08,800 하지만 그래, 정말 좋은 점이다. 1272 00:58:08,800 --> 00:58:11,758 하지만 지금, 우리는 그냥 갈거야 모든 문자열을 가정 우리 입력 1273 00:58:11,758 --> 00:58:13,130 소문자에 있습니다. 1274 00:58:13,130 --> 00:58:13,870 그래. 1275 00:58:13,870 --> 00:58:18,069 >> 그래서 난에 대해 어떻게 갈 것 다음이 문제? 1276 00:58:18,069 --> 00:58:18,860 청중 : 루프하십시오. 1277 00:58:18,860 --> 00:58:19,340 ANDI 펭 : For 루프? 1278 00:58:19,340 --> 00:58:19,839 그래. 1279 00:58:19,839 --> 00:58:20,847 무엇을 입력 말해. 1280 00:58:20,847 --> 00:58:25,230 >> 청중 : 인터넷 용 나는 0 같습니다. 1281 00:58:25,230 --> 00:58:27,230 >> ANDI 펭 : OK. 1282 00:58:27,230 --> 00:58:36,350 >> 청중 : 아, 사실은, 당신에게 쉼표를하고 N 나 strlen 일치 한 않습니다. 1283 00:58:36,350 --> 00:58:38,940 >> ANDI 펭 : 그래서 중요한 것은 나는 그녀가 여기에 나타났습니다 생각하는 것이 1284 00:58:38,940 --> 00:58:42,936 우리가 INT를 말할 필요도 없지이다 N 두 번째는 우리가 이런 짓을. 1285 00:58:42,936 --> 00:58:45,060 단지에 대한에 알고 당신이 선언하고 루프, 1286 00:58:45,060 --> 00:58:47,934 당신은 실제로의 INT가 필요하지 않습니다 두 번째는 변수를 않습니다. 1287 00:58:47,934 --> 00:58:51,202 당신은 n 개의 나 strlen을 말할 수있다. 1288 00:58:51,202 --> 00:58:52,620 >> 청중 : S의. 1289 00:58:52,620 --> 00:58:53,510 >> ANDI 펭 : S. 1290 00:58:53,510 --> 00:58:54,706 그래. 1291 00:58:54,706 --> 00:58:58,370 >> 청중 : 그리고 세미콜론. 1292 00:58:58,370 --> 00:59:00,130 >> ANDI 펭 : 물론. 1293 00:59:00,130 --> 00:59:04,050 >> 청중 : 그리고 [들림] N. 1294 00:59:04,050 --> 00:59:07,480 1295 00:59:07,480 --> 00:59:09,460 그럼 난 ++. 1296 00:59:09,460 --> 00:59:11,780 >> ANDI 펭 : 좋아요. 1297 00:59:11,780 --> 00:59:12,280 괜찮아. 1298 00:59:12,280 --> 00:59:14,690 우리는 내부에 무엇을 원하는가 지금 루프에 대한이의? 1299 00:59:14,690 --> 00:59:17,820 우리는을 통해 실행하는 거라면, 기억 문자열과 배열을 통해 실행 1300 00:59:17,820 --> 00:59:19,287 우리는 물건을 확인 할 수 있습니다. 1301 00:59:19,287 --> 00:59:20,370 우리는 무엇을해야하는 건가요? 1302 00:59:20,370 --> 00:59:23,070 1303 00:59:23,070 --> 00:59:26,900 이제이 까다로운 부품의 일종이다. 1304 00:59:26,900 --> 00:59:27,960 누군가는 추측이? 1305 00:59:27,960 --> 00:59:34,160 1306 00:59:34,160 --> 00:59:34,690 >> 그래. 1307 00:59:34,690 --> 00:59:37,830 그래서 첫 번째, 우리는 어떻게에도 액세스합니까? 1308 00:59:37,830 --> 00:59:41,610 어떻게 우리도 먼저 확인 또는 배열 요소에 액세스? 1309 00:59:41,610 --> 00:59:42,920 우리는 어떻게해야합니까? 1310 00:59:42,920 --> 00:59:47,120 우리가 그렇게 할 때 사용하는 표기법은 무엇입니까? 1311 00:59:47,120 --> 00:59:50,920 이 배열의 이름은 무엇이라고? 1312 00:59:50,920 --> 00:59:52,400 그것은 바로, S라고? 1313 00:59:52,400 --> 00:59:54,850 >> 임의의 문자열은 항상 배열입니다 기억하십시오. 1314 00:59:54,850 --> 00:59:58,210 그래서 S 브라켓 내가, 오른쪽? 1315 00:59:58,210 --> 01:00:01,360 즉, 전류 값이므로 또는 인덱스 값은 우리가 확인하고 있습니다. 1316 01:00:01,360 --> 01:00:05,156 그리고 우리는 그와 동일한를 설정하는거야 이러시면 우리는 바로, 소문자 값을 줄까? 1317 01:00:05,156 --> 01:00:07,530 우리는을 설정하려는 lower-- 죄송합니다, 우리는 대문자를 할 수 있습니다. 1318 01:00:07,530 --> 01:00:10,014 우리는 소문자를 설정하려면 대문자로 값. 1319 01:00:10,014 --> 01:00:11,805 그리고 미안 해요 그래서 그때 엔, 당신의 이름은 무엇입니까? 1320 01:00:11,805 --> 01:00:12,580 >> 청중 : 하이디. 1321 01:00:12,580 --> 01:00:12,940 >> ANDI 펭 : 죄송합니다? 1322 01:00:12,940 --> 01:00:13,280 >> 청중 : 하이디. 1323 01:00:13,280 --> 01:00:13,988 >> ANDI 펭 : 하이디. 1324 01:00:13,988 --> 01:00:15,850 하이디가 말했듯이 처음에, 우리는 아마있어 1325 01:00:15,850 --> 01:00:20,330 우린 짓이야 필요할 것 아마 빼기해야 할 것 1326 01:00:20,330 --> 01:00:22,630 바로 무엇이든 charc 32? 1327 01:00:22,630 --> 01:00:24,680 ASCII에 있기 때문에 테이블, 차 1328 01:00:24,680 --> 01:00:27,790 소문자 사이 그리고 대문자 (32)이다. 1329 01:00:27,790 --> 01:00:31,290 우리가이 일을 할 때 그래서, 우리는 아마있어 바로, 32 빼기 할 것? 1330 01:00:31,290 --> 01:00:33,910 >> 그래서 우리는들에게 내가 할 것입니다. 1331 01:00:33,910 --> 01:00:37,590 1332 01:00:37,590 --> 01:00:41,200 내가 그걸 왜 그랬는지 모두 이해 하는가? 1333 01:00:41,200 --> 01:00:45,760 지금 때문에, 우리의 배열, 우리는 0 번째 인덱스를 확인하고, 오른쪽? 1334 01:00:45,760 --> 01:00:49,190 그리고의 0 번째 인덱스에 문자열, 즉 첫 번째 문자입니다. 1335 01:00:49,190 --> 01:00:51,820 그리고 그 문자는 우리는거야 이 소문자의 가정. 1336 01:00:51,820 --> 01:00:55,980 우리가 대문자 확인하려면 우리 그 값에서 32을 빼해야 1337 01:00:55,980 --> 01:00:58,620 우리의 ASCII에 있기 때문에 테이블, 즉 우리가 그것을 얻을 방법 1338 01:00:58,620 --> 01:01:01,600 해당 다음에 이 대문자하게 값. 1339 01:01:01,600 --> 01:01:03,714 모든 사람은 이해합니까? 1340 01:01:03,714 --> 01:01:04,213 그래. 1341 01:01:04,213 --> 01:01:06,530 >> 관객 : 또한 수 minus-- 소문자 않습니다 1342 01:01:06,530 --> 01:01:08,080 >> ANDI 펭 : 네, 그래서 그건 실제로 정말 좋은. 1343 01:01:08,080 --> 01:01:10,455 나는 그에게 돌아올거야 질문 우리는이 작업을 수행 한 후. 1344 01:01:10,455 --> 01:01:11,060 그래. 1345 01:01:11,060 --> 01:01:13,940 그리고 내가 원하는 경우 , 무슨 일이야 참조 1346 01:01:13,940 --> 01:01:16,180 아마 갈거야 바로 인쇄 할? 1347 01:01:16,180 --> 01:01:19,930 누군가가 나에게 무엇을 나는 여기에 인쇄 할 수 있습니다. 1348 01:01:19,930 --> 01:01:29,160 >> 청중 : printf의 퍼센트 C 백 슬래시 [들림]. 1349 01:01:29,160 --> 01:01:33,570 즉, [들림]의 i 값입니다. 1350 01:01:33,570 --> 01:01:34,614 >> ANDI 펭 :의 나는, 미안 해요? 1351 01:01:34,614 --> 01:01:35,530 청중 : [들림]. 1352 01:01:35,530 --> 01:01:38,550 1353 01:01:38,550 --> 01:01:39,550 ANDI 펭 : 몰라요. 1354 01:01:39,550 --> 01:01:40,600 어떻게 생각해? 1355 01:01:40,600 --> 01:01:44,016 >> 청중 : 글쎄, 난 wouldn't-- 나는 bring-- 않을 것 같아요 1356 01:01:44,016 --> 01:01:46,944 나는 그것을 꺼내 것이다 내부 때문에 [들림]. 1357 01:01:46,944 --> 01:01:49,726 1358 01:01:49,726 --> 01:01:51,392 ANDI 펭 : 오, 당신은 그 일을 한 것? 1359 01:01:51,392 --> 01:01:53,867 청중 : 네. 1360 01:01:53,867 --> 01:01:56,700 ANDI 펭 :의 그것에게 길을 떠나 보자 그것은, 그리고 그 이유를 나중에 설명 할 것이다. 1361 01:01:56,700 --> 01:01:58,533 때조차 기억 장소 홀더를 가지고, 1362 01:01:58,533 --> 01:02:00,701 당신은 괄호를 넣어합니다. 1363 01:02:00,701 --> 01:02:01,200 괜찮아. 1364 01:02:01,200 --> 01:02:04,810 그래서 여기 고체 기능을해야한다. 1365 01:02:04,810 --> 01:02:06,370 현실을 실행할 수 있도록하고 컴파일되는지 확인합니다. 1366 01:02:06,370 --> 01:02:08,750 상단합니다. 1367 01:02:08,750 --> 01:02:09,250 어 오. 1368 01:02:09,250 --> 01:02:12,030 1369 01:02:12,030 --> 01:02:13,340 즉, 너무 좋아 보이지 않습니다. 1370 01:02:13,340 --> 01:02:14,507 왜 이런 일이 무엇입니까? 1371 01:02:14,507 --> 01:02:17,340 오류와 마찬가지로, 당신은 가고 싶어 그리고 다시 처음부터 시작, 1372 01:02:17,340 --> 01:02:20,630 일반적으로 하나의 에러 원인 때문에 그 후 다른 오류가 많이. 1373 01:02:20,630 --> 01:02:26,700 여기에서 우리는 upper.c 참조 : 18 : 25, 알려줍니다 이 프로그램 내에서, 명명 된 upper.c 1374 01:02:26,700 --> 01:02:33,800 라인 (18)에 오류가 암시 적으로 선언 기능의 라이브러리 유형 나 strlen 1375 01:02:33,800 --> 01:02:36,330 unassigned-- 어쩌구, 나도 몰라 무엇이 그 후에 것입니다. 1376 01:02:36,330 --> 01:02:39,990 >> 모든 것이 지금 내게됩니다 말하고 그 일이 나 strlen에거야. 1377 01:02:39,990 --> 01:02:43,520 그리고 컴퓨터가 있기 때문에, 혼동 것 이 같은, 내가 strlen 함수가 무엇인지 모르는거야? 1378 01:02:43,520 --> 01:02:45,520 무엇은 아마도 않습니다 당신이 놓치고 당신에게? 1379 01:02:45,520 --> 01:02:46,490 >> 청중 : 당신은 [들림] 놓치고있어. 1380 01:02:46,490 --> 01:02:47,630 >> ANDI 펭 : 당신이 맞아요. 1381 01:02:47,630 --> 01:02:49,510 정확히. 1382 01:02:49,510 --> 01:02:52,140 그것은 어디 그래서이다 있는지 확인하는 것이 중요합니다 1383 01:02:52,140 --> 01:02:56,970 당신이에서 사용하는 모든 기능을 당신의 코드는 올바른 헤더를 가지고있다 1384 01:02:56,970 --> 01:02:59,660 다른 라이브러리 파일, 또는 당신은 오류를 많이받을거야 1385 01:02:59,660 --> 01:03:01,150 당신의 코드는 않을 것이다 무슨 일이 일어나고 있는지. 1386 01:03:01,150 --> 01:03:03,050 그래서 우리는 여기에 string.h를 포함하는 것입니다. 1387 01:03:03,050 --> 01:03:06,270 >> 이제 우리는 위 컴파일 할 때. 1388 01:03:06,270 --> 01:03:08,410 제대로 컴파일합니다. 1389 01:03:08,410 --> 01:03:09,960 의이 프로그램을 실행하자. 1390 01:03:09,960 --> 01:03:12,000 그래서 소문자로 뭔가를 입력합니다. 1391 01:03:12,000 --> 01:03:14,920 무엇 너희들은 입력 할 수 있습니까? 1392 01:03:14,920 --> 01:03:16,546 뭔가를 외쳐. 1393 01:03:16,546 --> 01:03:17,920 좋아, CHARLY는 그냥 걸어 갔다. 1394 01:03:17,920 --> 01:03:18,990 우리는 CHARLY의 이름을 입력합니다. 1395 01:03:18,990 --> 01:03:21,670 1396 01:03:21,670 --> 01:03:22,840 >> 소문자로 CHARLY. 1397 01:03:22,840 --> 01:03:27,742 그리고 희망, 희망이있다 외치다하고 뱉어 것 1398 01:03:27,742 --> 01:03:28,575 대문자 CHARLY. 1399 01:03:28,575 --> 01:03:30,830 야호! 1400 01:03:30,830 --> 01:03:33,430 모두가 방법을 이해 않습니다 나는 그것을 해결하는 갔다? 1401 01:03:33,430 --> 01:03:36,190 방법은 내가 할 수있는 정수를 사용하여 조작 1402 01:03:36,190 --> 01:03:39,410 뭔가를 해결하기 위해 그 나는 문자열에하고 싶은, 1403 01:03:39,410 --> 01:03:44,390 문자와 정수 할 수 있기 때문에 같은 방법으로 참조 될 수 있기 때문에 1404 01:03:44,390 --> 01:03:45,540 ASCII 매핑. 1405 01:03:45,540 --> 01:03:52,890 >> 그래서 경우에, 당신의 지점으로 돌아갑니다 나는 (32) 대신에 여기에 넣어 원 1406 01:03:52,890 --> 01:03:58,959 대문자는 같은 소문자 마이너스 즉, 그뿐만 아니라, 동일하게 작동 할 1407 01:03:58,959 --> 01:04:01,750 그 때문에 단순히 그냥 이 두 값의 차이. 1408 01:04:01,750 --> 01:04:09,570 나는이 again-- CHARLY를 확인하려면. 1409 01:04:09,570 --> 01:04:10,320 오. 1410 01:04:10,320 --> 01:04:11,820 나는 우리가 그래, 길을 잘못했다 생각하세요? 1411 01:04:11,820 --> 01:04:13,260 >> 청중 : [들리지] 소문자. 1412 01:04:13,260 --> 01:04:14,260 >> ANDI 펭 : 거기 당신은 간다. 1413 01:04:14,260 --> 01:04:22,380 1414 01:04:22,380 --> 01:04:22,880 네. 1415 01:04:22,880 --> 01:04:24,920 그리고 밖으로 CHARLY 뱉어. 1416 01:04:24,920 --> 01:04:28,020 그래서 때 조심 당신은 값을 뺀 것 1417 01:04:28,020 --> 01:04:30,400 하나 인 기억 다른 것보다 더 큰. 1418 01:04:30,400 --> 01:04:35,220 예를 들어, 여기까지 나는 잊었다 그 소문자는 실제로 1419 01:04:35,220 --> 01:04:38,540 대문자 (A)보다 큰 그래서 때를 그들에게 다른 방법을 빼기 위해 노력 1420 01:04:38,540 --> 01:04:40,600 주위에, 나는 부정 (32)를 얻었다. 1421 01:04:40,600 --> 01:04:42,800 그리고 내 컴퓨터가 같았다 나는 그게 뭔지 모르겠어요. 1422 01:04:42,800 --> 01:04:45,810 그냥 어떤 임의의 확률이다 잘되지 않습니다 값. 1423 01:04:45,810 --> 01:04:48,760 그리고 당신이있어 있는지 확인 정확한 길이 감산 1424 01:04:48,760 --> 01:04:52,831 당신이 원하는 문자를 찾을 수 있습니다. 1425 01:04:52,831 --> 01:04:53,330 그래. 1426 01:04:53,330 --> 01:04:58,550 사람이 우리 방법에 대한 혼란 이 기능을 쓰기에 대한 갔다? 1427 01:04:58,550 --> 01:04:59,180 그래. 1428 01:04:59,180 --> 01:05:04,830 그래서 실제로, 함수 이미 라이브러리라는 ctype.h에 존재합니다. 1429 01:05:04,830 --> 01:05:06,417 도서관이라고 ctype.h. 1430 01:05:06,417 --> 01:05:08,500 이 함수는 실제로 이미 당신을 위해 작성합니다. 1431 01:05:08,500 --> 01:05:10,820 그것은 상단에 불렀다. 1432 01:05:10,820 --> 01:05:13,027 >> 그래서 목적으로 이 PSET, 당신은거야 1433 01:05:13,027 --> 01:05:15,860 당신이 정말로 사용하려는 찾을 수 함유 된 많은 기능 1434 01:05:15,860 --> 01:05:17,390 CTYPE 라이브러리 내에서. 1435 01:05:17,390 --> 01:05:21,040 , 낮추려면 상단 상단입니다에있다 lower-- 이러한 모든 기능은 1436 01:05:21,040 --> 01:05:24,914 당신은 매우 사용할 수있을 것입니다, 매우 빠르게 자신의 코드에 그 1437 01:05:24,914 --> 01:05:26,080 이 수행 정확히 않습니다. 1438 01:05:26,080 --> 01:05:28,941 우리는 변환하는 방법을 썼다 문자열을 대문자로. 1439 01:05:28,941 --> 01:05:31,440 그러나 이것은 실제로 코드 다른 사람이 쓴 것을 1440 01:05:31,440 --> 01:05:33,800 당신은에 액세스 할 수 있는지 다른 기능을 통해. 1441 01:05:33,800 --> 01:05:34,300 그래? 1442 01:05:34,300 --> 01:05:39,570 >> 청중 : 그래서 당신은 그냥 거기에서의 복사 모든 단일 문자을 위해 그것을 할? 1443 01:05:39,570 --> 01:05:42,070 >> ANDI 펭 : 그래, 내가하지 않기 때문에 의 값 걱정. 1444 01:05:42,070 --> 01:05:44,540 난 그냥 차이가 있음을 걱정 그들 사이에 오른쪽 32? 1445 01:05:44,540 --> 01:05:48,210 소문자의 차이 B와 대문자 B는 32이다. 1446 01:05:48,210 --> 01:05:50,860 및 C 사이의 차이 대문자 C는 항상 32입니다. 1447 01:05:50,860 --> 01:05:53,235 >> 난 그냥 걱정해야 둘 사이의 차이, 1448 01:05:53,235 --> 01:05:56,666 모든 문자 때문에 바로, 동일한 패턴을 따라? 1449 01:05:56,666 --> 01:05:58,540 나는 차이가있는 경우 그들 중 하나 사이 1450 01:05:58,540 --> 01:06:01,050 내가 알고있는 차이 그들 모두 사이에있다. 1451 01:06:01,050 --> 01:06:01,740 좋은 질문. 1452 01:06:01,740 --> 01:06:04,090 그래. 1453 01:06:04,090 --> 01:06:06,660 모두 좋은? 1454 01:06:06,660 --> 01:06:09,080 그래. 1455 01:06:09,080 --> 01:06:09,580 OOP. 1456 01:06:09,580 --> 01:06:14,380 1457 01:06:14,380 --> 01:06:15,270 >> 그래. 1458 01:06:15,270 --> 01:06:20,310 그래서 다른 개념이다 그 당신이 매우 유용 할 것 1459 01:06:20,310 --> 01:06:22,570 개발을 계속 당신의 코드는 생각입니다 1460 01:06:22,570 --> 01:06:25,430 함수 또는 추상화를 생성. 1461 01:06:25,430 --> 01:06:28,479 그래서 지금, 우리는 대수를 촬영했습니다. 1462 01:06:28,479 --> 01:06:31,770 대수학에서, 당신은이 있음을 배운다 이 훌륭한 점은 함수를 호출 1463 01:06:31,770 --> 01:06:35,300 기계, 어디 경우 번호를 입력 한 종류, 1464 01:06:35,300 --> 01:06:38,720 그것은이 멋진 기능을 통해 실행 밖으로 바로, 다른 출력 팝? 1465 01:06:38,720 --> 01:06:42,220 코드에서 같은 일이 발생 함수의 종류에. 1466 01:06:42,220 --> 01:06:48,230 >> 그래서 물리적으로 수 내 코드의 내 몸에 쓰기 1467 01:06:48,230 --> 01:06:52,357 실제로 수행하는 주요 문 어떤 코드의 몸은하고있다. 1468 01:06:52,357 --> 01:06:54,940 그 밖에, 나는 또한 수 많은 다른 기능을 쓰기 1469 01:06:54,940 --> 01:06:56,320 그 많은 다른 일을. 1470 01:06:56,320 --> 01:06:58,570 예를 들어, 우리는 이미했습니다 그 중 일부를 사용하기 시작했다. 1471 01:06:58,570 --> 01:07:00,610 Printf-- 그입니다 기능이 다른 사람 1472 01:07:00,610 --> 01:07:02,870 이미 작성했습니다 우리는 우리의 코드에서 호출 할 수 있습니다. 1473 01:07:02,870 --> 01:07:05,410 이 경우 upper--하려면 upper-- 다른 기능입니다 1474 01:07:05,410 --> 01:07:07,330 우리는 우리 것을 서면으로 작성했습니다 우리의 코드에서 호출 할 수 있습니다. 1475 01:07:07,330 --> 01:07:09,520 그래서 나는 왜 추측 우리는 심지어 기능을 가지고? 1476 01:07:09,520 --> 01:07:12,100 왜 우리는 그냥 풍덩하지 않습니다 모든 코드의 동일한 라인? 1477 01:07:12,100 --> 01:07:13,730 그것은 모든 사람들에게 쉽게합니다. 1478 01:07:13,730 --> 01:07:19,200 >> 음, 그 뒤에 추론 조직, 우선이다. 1479 01:07:19,200 --> 01:07:21,880 그것은 것 정말 짜증나 누군가의 코드를 통해 1480 01:07:21,880 --> 01:07:25,110 그리고 printf와 같은 하나의 기능. 1481 01:07:25,110 --> 01:07:28,570 너희들이 실제로 알았다면 무엇을 함수의 printf는 쓰기 수반 1482 01:07:28,570 --> 01:07:30,530 그것은 코드 1000 라인, 같은입니다. 1483 01:07:30,530 --> 01:07:32,357 >> 만약 내가 원하는 때마다 무언가는 printf, 1484 01:07:32,357 --> 01:07:35,440 나는 코드 1000 라인을 작성했다 즉, 읽기가 정말 짜증나는 것 1485 01:07:35,440 --> 01:07:36,290 권리? 1486 01:07:36,290 --> 01:07:38,860 우리가했습니다 이유입니다 이 추상 기능을 생성 1487 01:07:38,860 --> 01:07:41,670 우리는 누군가 이미 가지고 그 밖의 다른 곳에서 작성했습니다. 1488 01:07:41,670 --> 01:07:44,920 그리고마다 우리는 그것을 사용할 필요 우리의 코드는, 우리는 단지 printf의 말을해야합니다. 1489 01:07:44,920 --> 01:07:48,070 그리고 그 함수를 사용할 수있다 다른 사람이 우리의 코드로 작성했다. 1490 01:07:48,070 --> 01:07:51,020 그것은 쉽게 조직적으로 코드를 읽을 수 있습니다. 1491 01:07:51,020 --> 01:07:53,460 >> 둘째, 단순화이다. 1492 01:07:53,460 --> 01:07:56,750 그것은 우리가이 단계를 단순화 우리의 문제를 해결하기 위해 촬영합니다. 1493 01:07:56,750 --> 01:07:59,300 PRINTF, printf와 같은 함수, 상단에 같은 기능 1494 01:07:59,300 --> 01:08:03,560 우리를 수있는 모든 것이 있습니다 쉽게 그래서 아래 우리의 코드를 단순화. 1495 01:08:03,560 --> 01:08:05,830 그리고 마지막 것은 재사용이다. 1496 01:08:05,830 --> 01:08:08,710 >> 우리가 가지고 있다는 사실 그래서 함수 호출의 printf 1497 01:08:08,710 --> 01:08:11,990 우리는 여러 가지를 호출 할 수 시간과는 재사용 할 수 있습니다. 1498 01:08:11,990 --> 01:08:14,980 내가의 printf를 작성했다, 나는 한 번만 물품. 1499 01:08:14,980 --> 01:08:16,439 그것은 오직 그 한 곳에서 존재한다. 1500 01:08:16,439 --> 01:08:19,890 내가 다시하고 싶어, 난 것 복사하고 그 모든 붙여 넣기해야 1501 01:08:19,890 --> 01:08:21,760 코드 내 두 번째 줄에. 1502 01:08:21,760 --> 01:08:24,880 우리는 함수를 만들 경우 이유 즉, 우리의 주요의 외부에 존재 1503 01:08:24,880 --> 01:08:26,880 우리는 단지에 따라 호출 할 수 있습니다 그것과 때마다 다시 사용할 1504 01:08:26,880 --> 01:08:29,604 우리는 그래서 훨씬 쉽게 것을 필요 우리를 위해 프로그램을 작성할 수있다. 1505 01:08:29,604 --> 01:08:32,220 1506 01:08:32,220 --> 01:08:35,549 >> 그래서 방법 우리가 실제로 쓸 것이라고 함수는 오른쪽과 매우 유사하다? 1507 01:08:35,549 --> 01:08:37,590 이것은 제 일종 예를 우리는거야하는 1508 01:08:37,590 --> 01:08:42,830 스타일에 기능 테이크를 참조 우리 INT 주요 무효와는 다른. 1509 01:08:42,830 --> 01:08:46,779 이 경우, 내가 원한 오른쪽 Q라는 함수를 작성? 1510 01:08:46,779 --> 01:08:49,370 >> 그리고 여기에 int 값 모두가 저를 말하고, 1511 01:08:49,370 --> 01:08:51,649 나는이 원하는 게 무엇 나에게 반환하는 기능을? 1512 01:08:51,649 --> 01:08:54,484 나는 정수를 큐브하려면, 내가 입력 할거야. 1513 01:08:54,484 --> 01:08:55,525 이러한 매개 변수입니다. 1514 01:08:55,525 --> 01:08:58,490 나는 int 형의 값을 입력거야. 1515 01:08:58,490 --> 01:09:01,300 그리고 난 돌아 갈거야 INT 다른 종류의 값입니다. 1516 01:09:01,300 --> 01:09:03,050 그리고 여기에서, 당신과 같은 모든 내가 뭘 볼 수 있습니다 1517 01:09:03,050 --> 01:09:07,300 내 입력이 무엇이든 큐빙한다 내 출력으로하고 반환. 1518 01:09:07,300 --> 01:09:10,790 >> 그래서이 모든 함수는 않습니다 정수의 일종을합니다. 1519 01:09:10,790 --> 01:09:14,979 이 두 번 자체 곱하여 그래서 그것은 효과에 큐브. 1520 01:09:14,979 --> 01:09:17,729 그리고 그것은 반환 어떤이 출력됩니다. 1521 01:09:17,729 --> 01:09:20,540 그래서이 경우에는 두 줄의 우리가 추가로 써야했다 코드입니다. 1522 01:09:20,540 --> 01:09:22,880 그러나 우리는 전화를 원하는 경우 이 여러 번에 따라, 1523 01:09:22,880 --> 01:09:26,210 그것은 하나를 입력 훨씬 쉽게 보다 큐브의 여기 라인 1524 01:09:26,210 --> 01:09:28,830 여러 번 통과해야합니다. 1525 01:09:28,830 --> 01:09:34,180 >> 그래서 방법이 본질적으로 어떤 기능을 모든 종류의 서식 1526 01:09:34,180 --> 01:09:36,420 존재하는 것입니다 여기에 같은입니다. 1527 01:09:36,420 --> 01:09:38,659 그래서 우리는 함수 이름을 가지고있다. 1528 01:09:38,659 --> 01:09:39,950 이 경우, 입방체라고. 1529 01:09:39,950 --> 01:09:42,033 그리고 우리는 그것을 큐브 때문에 이름을 그것은 기억하기 쉽습니다. 1530 01:09:42,033 --> 01:09:44,220 당신이 광장의 이름을 수 이것은 실제로 반듯한 수있다. 1531 01:09:44,220 --> 01:09:45,500 중요하지 않습니다. 1532 01:09:45,500 --> 01:09:48,020 당신이있어 그냥 이름 함수를 할당. 1533 01:09:48,020 --> 01:09:51,660 >> 여기에이 권리, INT가있다 당신이 필요로하는 매개 변수의 유형입니다. 1534 01:09:51,660 --> 01:09:54,149 따라서이 기능을 수행하는 작업 작동하는 데 필요한? 1535 01:09:54,149 --> 01:09:55,990 음, 입력이 필요합니다. 1536 01:09:55,990 --> 01:09:56,704 내가 입력을 지명했다​​. 1537 01:09:56,704 --> 01:09:58,120 당신은 당신이 원하는대로 이름을 지정 할 수 있습니다. 1538 01:09:58,120 --> 01:10:00,500 하지만 int 형의 무언가가 필요합니다. 1539 01:10:00,500 --> 01:10:03,730 실제로 실행할 것 여기에 내부에 무엇이든, 1540 01:10:03,730 --> 01:10:04,990 함수의 몸체. 1541 01:10:04,990 --> 01:10:07,847 그리고 반환 형식 바로 여기,이 int-- 1542 01:10:07,847 --> 01:10:09,680 모든 것이 나를한다 말하고 이 기능은 그 1543 01:10:09,680 --> 01:10:11,250 INT 나에게 돌아 갈. 1544 01:10:11,250 --> 01:10:14,460 그래서 INT에 걸릴 것하고 있어요 그것은 int를 당신을 돌려 줄거야. 1545 01:10:14,460 --> 01:10:17,750 모든 사람들이 어떻게 이해합니까 이런 종류의 서식이 작동? 1546 01:10:17,750 --> 01:10:18,250 쿨. 1547 01:10:18,250 --> 01:10:24,690 1548 01:10:24,690 --> 01:10:25,740 >> 그래. 1549 01:10:25,740 --> 01:10:31,770 이 보인다 있다면 걱정하지 말라 지금은 조금 추상적 인 권리. 1550 01:10:31,770 --> 01:10:33,450 이것은 우리가 얘기하자 무언가이다. 1551 01:10:33,450 --> 01:10:36,310 우리는 깊은 다이빙 것 이후에 코스. 1552 01:10:36,310 --> 01:10:41,170 방법이 더 높은 수준의 모든 종류의 이러한 것들을 작품의 추상화 1553 01:10:41,170 --> 01:10:43,530 이며, 메모리에 그 컴퓨터, 모든 1554 01:10:43,530 --> 01:10:47,660 이 유형에 저장된 스택, 나는 말할 것이다. 1555 01:10:47,660 --> 01:10:49,070 >> 이 상단에 최대 그래서. 1556 01:10:49,070 --> 01:10:50,861 나도 몰라 당신이 경우 사람은 잘 볼 수 있습니다. 1557 01:10:50,861 --> 01:10:52,590 나는 확대하려고합니다. 1558 01:10:52,590 --> 01:10:55,111 여기에 상단에, 우리 실제 텍스트가 1559 01:10:55,111 --> 01:10:57,860 컴퓨터가 interpreting-- 무엇 모든 0과 1이 1560 01:10:57,860 --> 01:10:59,540 우리의 컴퓨터 내에 존재한다. 1561 01:10:59,540 --> 01:11:03,390 그리고 우리는 초기화 한 데이터 초기화되지 않은 데이터, 1562 01:11:03,390 --> 01:11:05,340 우리는 글로벌 변수를 호출합니다. 1563 01:11:05,340 --> 01:11:08,200 존재하는 변수 그래서 모든 프로그램에서 1564 01:11:08,200 --> 01:11:11,815 그리고 전체에 걸쳐, 본질적으로, 코드. 1565 01:11:11,815 --> 01:11:13,940 걱정하지 너희들이있는 경우 가지 분명이에. 1566 01:11:13,940 --> 01:11:16,060 그것은 지금 정말 중요하지 않습니다. 1567 01:11:16,060 --> 01:11:18,680 >> 그리고 우리는 무엇을해야 스택에서 힙했다. 1568 01:11:18,680 --> 01:11:21,140 문자 그대로 스택의 생각 단지 물건의 스택과 같은, 1569 01:11:21,140 --> 01:11:23,098 다른 스택 물건은 상단에 밀려 1570 01:11:23,098 --> 01:11:27,870 다양한 저장하는 것이 서로의 코드 내에서 변수 및 구문. 1571 01:11:27,870 --> 01:11:31,460 그리고 여기 바로 아래에, 우리는 환경 변수를 가지고 1572 01:11:31,460 --> 01:11:35,480 당신이 내에서 실행 되는가 코드의 당신의 작은 라인. 1573 01:11:35,480 --> 01:11:40,510 >> 그리고 우리는 단지 확대거야 실제 스택 부분에있다. 1574 01:11:40,510 --> 01:11:43,880 우리가 있었던 경우에 따라서 바로 여기, 확대하기 스택의 바로이 지역에있는, 1575 01:11:43,880 --> 01:11:45,140 이는 모습이다. 1576 01:11:45,140 --> 01:11:48,590 그리고이 사실은 매우 중요하다 너희들은 기능에 대해 이야기 할 때, 1577 01:11:48,590 --> 01:11:52,330 때문에 통지 그 컴퓨터의 메모리 1578 01:11:52,330 --> 01:11:55,600 변수를 저장하는 및 기능 1579 01:11:55,600 --> 01:11:58,790 양쪽의 패러미터 기능과 주요 변수 1580 01:11:58,790 --> 01:12:00,190 다른 장소에서. 1581 01:12:00,190 --> 01:12:03,390 >> 그래서 지금, 주요이다 실제 기능 1582 01:12:03,390 --> 01:12:04,780 당신은 코드를 실행하고있다. 1583 01:12:04,780 --> 01:12:08,050 당신은 그것의 매개 변수를 여기에 저장 한 그 지역 변수는 여기에 저장. 1584 01:12:08,050 --> 01:12:12,270 지역 변수는 어떤 변수를 의미 그는 해당 함수 내에서 존재한다. 1585 01:12:12,270 --> 01:12:15,610 그리고 그 위에, 당신이이 큐브라는 별도의 기능. 1586 01:12:15,610 --> 01:12:18,240 당신은 그 매개 변수의이 뿐만 아니라 그 지역 주민 등. 1587 01:12:18,240 --> 01:12:21,540 >> 이유 그리고 당신은 할 수 있습니다 이다 여기에 무엇을보고 1588 01:12:21,540 --> 01:12:25,030 큐브에 걸리는 때 발생 메인 함수의 값 1589 01:12:25,030 --> 01:12:27,640 실제로는 그 이상 복사 점이다. 1590 01:12:27,640 --> 01:12:31,470 내가 큐브에 원하는 경우에 따라서 2와 8을 반환, 그 2 1591 01:12:31,470 --> 01:12:33,730 실제로 입력 매개 변수로 그것은이다 1592 01:12:33,730 --> 01:12:37,690 당신이 기존이되도록 복사 메모리에 두 개의 서로 다른 장소에서. 1593 01:12:37,690 --> 01:12:40,520 그리고 당신은 매우 신중해야 기억하기에하는 것들 중 하나를 1594 01:12:40,520 --> 01:12:42,520 당신은 실제로 조작하고 있습니다. 1595 01:12:42,520 --> 01:12:47,170 그리고 무슨 일이 있었는지의 예 그것은 아주, 아주 나쁜 것 1596 01:12:47,170 --> 01:12:48,050 바로 여기에 존재한다. 1597 01:12:48,050 --> 01:12:50,760 1598 01:12:50,760 --> 01:12:58,650 >> 그래서 여기, 내가 가지고, 이론, 여기 프로그램, 주된 기능 1599 01:12:58,650 --> 01:13:02,180 내가 int를 선언하고있어 것을 X 1과 같다. 1600 01:13:02,180 --> 01:13:04,505 나는 또 다른 INT의 y는 2와 동일 선언하고있다. 1601 01:13:04,505 --> 01:13:06,380 그리고 나는 그것을 실행하는거야 이 기능을 통해 1602 01:13:06,380 --> 01:13:09,647 내가 가정이라는 스왑, 그것은 두 값을 스와핑하다. 1603 01:13:09,647 --> 01:13:11,480 그리고 나는 갈거야 오른쪽을 인쇄? 1604 01:13:11,480 --> 01:13:13,220 그게 내가이 프로그램이 수행 할 작업입니다. 1605 01:13:13,220 --> 01:13:15,180 >> 그럼 와서 살펴 보자. 1606 01:13:15,180 --> 01:13:18,200 나는 실제로 다른를 작성한다면 기능, 당신이 볼 수 있듯이, 1607 01:13:18,200 --> 01:13:19,750 우리는 여기에 우리의 주요 기능을 가지고있다. 1608 01:13:19,750 --> 01:13:22,860 그리고 우리는 우리가 여기에 두 번째 함수. 1609 01:13:22,860 --> 01:13:24,520 공허 스왑. 1610 01:13:24,520 --> 01:13:27,090 공허 그냥 것을 의미 아무것도 반환하지 않을. 1611 01:13:27,090 --> 01:13:28,930 함수 이름입니다 스왑 불리고, 그건 1612 01:13:28,930 --> 01:13:33,730 섭취 두 변수, INT의과에가는 당신의 [들림] 함수에서, B를 int로. 1613 01:13:33,730 --> 01:13:39,010 >> 그래서 기본적으로 여기에서, 우리는있어 이 기능으로, x 및 y를 전달. 1614 01:13:39,010 --> 01:13:40,760 그리고 우리는한다면 그래서 우리가 원하는이 항아리 작성 1615 01:13:40,760 --> 01:13:42,420 바로, 임시 값을 만드는 방법? 1616 01:13:42,420 --> 01:13:43,930 우리는 해당를 할당하는 것입니다. 1617 01:13:43,930 --> 01:13:45,388 그리고 이제 동일한 B로 이동한다. 1618 01:13:45,388 --> 01:13:47,660 B는 다시 될 것입니다 여기서 임시 값이었다, 1619 01:13:47,660 --> 01:13:51,070 어느 때 때문에 당신은 물건을 교환 할, 1620 01:13:51,070 --> 01:13:52,320 당신은 단지 그들을 교환 좋아하지 수 있습니다. 1621 01:13:52,320 --> 01:13:54,360 >> 당신은 하나의 아웃을 계속해야 여기가 기억되도록 1622 01:13:54,360 --> 01:13:56,485 그 무엇은, 일단 때문에 당신이 하나를 교체, 당신은 잊지 1623 01:13:56,485 --> 01:13:58,200 바로, 무슨 원래 값이었다? 1624 01:13:58,200 --> 01:14:00,990 이론적으로,이 프로그램 그래서 바로 일을해야합니까? 1625 01:14:00,990 --> 01:14:03,630 나는를 교환하고 싶었다면 두, 그들은 교환해야한다. 1626 01:14:03,630 --> 01:14:05,490 그래서 그것을 실행할 수 있도록하고 작동되는지 확인합니다. 1627 01:14:05,490 --> 01:14:11,130 1628 01:14:11,130 --> 01:14:16,940 >> 너희들이 볼 수 있도록, X 한 번에 1이고, Y는 한 번이 있었다. 1629 01:14:16,940 --> 01:14:21,475 그리고 나는 그것을 밖으로 인쇄하는 경우, X는 여전히 1이고 y는 2입니다. 1630 01:14:21,475 --> 01:14:25,970 흠,이 프로그램이 될 것 같지 않습니다 내가이 일을 원하는 방식으로 작동합니다. 1631 01:14:25,970 --> 01:14:29,950 사람에서 촬영을 할 않는다 이런 일이 된 이유를 추측? 1632 01:14:29,950 --> 01:14:34,430 이 방식과 관련이있다 그 다른 것입니다 1633 01:14:34,430 --> 01:14:38,172 메모리에 다른 장소에 저장된다. 1634 01:14:38,172 --> 01:14:39,377 >> 그래. 1635 01:14:39,377 --> 01:14:41,960 그래서 너희들은 걱정하지 않아도 지금 이것에 대해 너무 많이. 1636 01:14:41,960 --> 01:14:46,610 하지만 큐브의 로컬 알고 변수 및 B이었다 1637 01:14:46,610 --> 01:14:49,230 여기에 우리의 기능에 있기 때문에, 우리는 A와 B 선언 한 1638 01:14:49,230 --> 01:14:53,570 존재하는 변수로 큐브 내에서 그 기능. 1639 01:14:53,570 --> 01:14:59,490 하지만, 매개 변수를 볼 수있는 그 그것은 여기에 저장되고 있었다에서 복용. 1640 01:14:59,490 --> 01:15:01,370 그러나 우리는 실제로하지 않았다 아무것도 반환. 1641 01:15:01,370 --> 01:15:03,120 우리는 실제로 X 및 Y를 변화되지 않았다. 1642 01:15:03,120 --> 01:15:04,440 우리는 단지 A와 B를 변경했다. 1643 01:15:04,440 --> 01:15:08,340 >> 우리는에 x와 y를 복사했다 뭔가 A와 B라는. 1644 01:15:08,340 --> 01:15:11,092 그러나 우리는 결코 실제로 x와 y 자체를 조작 할 수 있습니다. 1645 01:15:11,092 --> 01:15:12,800 보고 너희들은 그 방법 일 이죠? 1646 01:15:12,800 --> 01:15:16,140 우리는 단순히 그것을 복사 한 것입니다 이상하지만, 우리는 실제로 유지하지 않은 1647 01:15:16,140 --> 01:15:18,030 그들은 메모리에 어디 있었는지 추적. 1648 01:15:18,030 --> 01:15:20,127 >> 그래서 지금 컴퓨터 오, 내가했습니다, 찾고 1649 01:15:20,127 --> 01:15:21,960 을 통해이 일을 실행 이 사랑스러운 기능. 1650 01:15:21,960 --> 01:15:23,690 하지만, x 및 y는 x와 y 여전히. 1651 01:15:23,690 --> 01:15:26,240 아무것도에 일어나지 것 그 때문에 사실 1652 01:15:26,240 --> 01:15:28,340 이러한 매개 변수가 그리고 지역 변수 1653 01:15:28,340 --> 01:15:30,150 다른에 저장됩니다 메모리에 배치합니다. 1654 01:15:30,150 --> 01:15:32,030 이것은 높은 수준이다 개념 우리가거야 1655 01:15:32,030 --> 01:15:34,300 과정에서 나중에보고 시작합니다. 1656 01:15:34,300 --> 01:15:36,950 그러나 바로이 것을 알고 일어날 수있는 문제 1657 01:15:36,950 --> 01:15:41,400 우리는 방법에 대한 방법을 알아낼거야 과정에서 나중에이 처리합니다. 1658 01:15:41,400 --> 01:15:41,900 그래. 1659 01:15:41,900 --> 01:15:47,750 1660 01:15:47,750 --> 01:15:48,250 괜찮아. 1661 01:15:48,250 --> 01:15:51,780 그래서 마지막 개념 우리는있어 정말 숨기려고 1662 01:15:51,780 --> 01:15:53,880 그 유용 할 것 PSET이 일주일 동안 1663 01:15:53,880 --> 01:15:56,060 무엇이라고 있습니다 명령 줄 인수. 1664 01:15:56,060 --> 01:16:00,820 그래서 그의 강의에서 롭 통해 갔다 어떻게 이러한 일에 간단히 가지. 1665 01:16:00,820 --> 01:16:02,770 기본적으로 알고 때 쓰고있어 1666 01:16:02,770 --> 01:16:06,280 주요 기능, 같은 때 과거에 전 기능을 썼다 1667 01:16:06,280 --> 01:16:07,804 우리는 INT의 주요 공백​​을했다. 1668 01:16:07,804 --> 01:16:10,470 그리고 그 이유는 우리가 무효가 있었다 우리의 프로그램을하지 않았기 때문에이었다 1669 01:16:10,470 --> 01:16:12,520 바로 실행하는 입력 값을해야합니까? 1670 01:16:12,520 --> 01:16:16,020 내가 마리오를 실행하면, 내가 필요하지 않았다 실제로 뭔가를 입력하는 1671 01:16:16,020 --> 01:16:16,970 때 내가 마리오를 실행. 1672 01:16:16,970 --> 01:16:20,170 나는 나중에 사용자에게 메시지를 표시 할 수 있습니다. 1673 01:16:20,170 --> 01:16:22,450 그러나 항상 그런 것은 없습니다. 1674 01:16:22,450 --> 01:16:24,980 >> 예를 들어,이에 주 문제는 설정 1675 01:16:24,980 --> 01:16:28,365 당신은, 즉을 받게 될거야 프로그램을 실행하는 것 외에도, 1676 01:16:28,365 --> 01:16:30,990 당신은 입력 할거야 당신 같은 직선에서 어떤 일 1677 01:16:30,990 --> 01:16:32,050 프로그램을 실행합니다. 1678 01:16:32,050 --> 01:16:34,720 그래서 우리는 그렇게 할 방법이라고 명령 행 인수하는 1679 01:16:34,720 --> 01:16:37,280 인수처럼 직접 입력 할 수 있습니다 1680 01:16:37,280 --> 01:16:39,260 당신이 당신의 프로그램을 실행하기 위해 노력하고있다. 1681 01:16:39,260 --> 01:16:44,680 >> 그래서 이것에 대한 표기, 그것은 꽤 복잡한 생겼어 1682 01:16:44,680 --> 01:16:47,320 하지만 정말 아니다 어렵다. 그래서 INT main-- 1683 01:16:47,320 --> 01:16:48,910 그것은 단지 당신의 주요 기능입니다. 1684 01:16:48,910 --> 01:16:52,110 ARGC 쉼표 문자열 argv와 브래킷에. 1685 01:16:52,110 --> 01:16:56,040 그래서 말하는 모든이 있다는 것입니다 INT argc-- 모든 그건 말하고 1686 01:16:56,040 --> 01:17:00,560 사람들은 수 있다는 것입니다 컴퓨터가 예상해야한다 인수. 1687 01:17:00,560 --> 01:17:03,130 >> 정말 그래서 한 가지 를 추적하는 것이 중요합니다 1688 01:17:03,130 --> 01:17:07,080 프로그램의 실제 이름입니다 그 인자의 하나로서 계산합니다. 1689 01:17:07,080 --> 01:17:11,080 내 프로그램을 가지고 싶어한다면 플러스 하나의 추가 명령 줄을 실행 1690 01:17:11,080 --> 01:17:13,310 인수, 사실이야 두 가지를해야 할 것. 1691 01:17:13,310 --> 01:17:15,080 ARGC 실제로 두가 될 것입니다. 1692 01:17:15,080 --> 01:17:18,010 그리고 문자열 변수는 argv bracket--하고있는 모든 것을, 1693 01:17:18,010 --> 01:17:20,410 그것은 저를주고 의 문자열 배열 1694 01:17:20,410 --> 01:17:24,870 다만 표시하고 저장하는 것 무엇 그 명령 행 인수의 모든이다. 1695 01:17:24,870 --> 01:17:34,090 >> 그래서 예를 들어,이를 원한다면 이 프로그램은, 오른쪽, OUTFILE infile이라고 ./​​copy? 1696 01:17:34,090 --> 01:17:37,330 그건 그냥 일반적인 리눅스 명령입니다. 1697 01:17:37,330 --> 01:17:38,830 무엇 실제로는 argc입니까? 1698 01:17:38,830 --> 01:17:41,320 얼마나 많은 명령 행 인수 이 실제로있다? 1699 01:17:41,320 --> 01:17:45,130 이 모든 수행은의 복사본을 만들 것입니다 하나의 파일의 이름 INFILE 1700 01:17:45,130 --> 01:17:47,070 및 복사를로 다른 파일, 오른쪽? 1701 01:17:47,070 --> 01:17:48,700 즉, 모든이가하고있다. 1702 01:17:48,700 --> 01:17:53,080 당신이 볼 수 있듯이, 나는 한 줄에 일을 해요 실제로 프로그램을 필요로하지 않고. 1703 01:17:53,080 --> 01:17:55,380 >> 이 경우 우리는 argc는 무엇인가? 1704 01:17:55,380 --> 01:17:58,968 우리는 얼마나 많은 인수를해야합니까? 1705 01:17:58,968 --> 01:17:59,634 청중 : 세? 1706 01:17:59,634 --> 01:18:01,200 ANDI 펭 : 우리는 정확히 세 가지가 있습니다. 1707 01:18:01,200 --> 01:18:05,030 그래서 그것은 매우 직관적 그냥 그냥 생각 1708 01:18:05,030 --> 01:18:06,290 INFILE과 OUTFILE. 1709 01:18:06,290 --> 01:18:10,190 그러나 알의 실제 이름 프로그램 하나로 계산을 실행하고 있습니다. 1710 01:18:10,190 --> 01:18:13,220 이 경우, 실제로는 argc 세이다. 1711 01:18:13,220 --> 01:18:15,860 방법에 대해, 변수는 argv 0 무엇인가? 1712 01:18:15,860 --> 01:18:18,180 , 모든 기억 명령 줄 인수 1713 01:18:18,180 --> 01:18:20,500 문자열의 배열에 저장되었습니다. 1714 01:18:20,500 --> 01:18:24,140 그래서 나는 그것을 액세스하려고하면, 어떤 브래킷 0이 내게 줄 argv를까요? 1715 01:18:24,140 --> 01:18:25,364 >> 청중 : [들림]. 1716 01:18:25,364 --> 01:18:26,155 ANDI 펭 : 맞아요. 1717 01:18:26,155 --> 01:18:28,550 그것은 나에게 점을 줄 것이다 그 때문에, 복사, 슬래시 1718 01:18:28,550 --> 01:18:31,070 0 번째 요소 내 배열의 첫 번째 요소. 1719 01:18:31,070 --> 01:18:33,236 어떤 변수는 argv 1은 어떻습니까? 1720 01:18:33,236 --> 01:18:33,945 >> 청중 : INFILE. 1721 01:18:33,945 --> 01:18:35,070 ANDI 펭 : INFILE, 정확하게. 1722 01:18:35,070 --> 01:18:36,272 무엇 argv를 2 약? 1723 01:18:36,272 --> 01:18:37,022 청중 : OUTFILE. 1724 01:18:37,022 --> 01:18:38,190 ANDI 펭 : OUTFILE. 1725 01:18:38,190 --> 01:18:39,290 이제이 조금 까다 롭습니다. 1726 01:18:39,290 --> 01:18:42,630 너희들은 어떻게 생각하십니까 변수는 argv 3 나를주는 것입니다 1727 01:18:42,630 --> 01:18:45,522 나는 그것을 인쇄하려고하면? 1728 01:18:45,522 --> 01:18:48,260 >> 청중 : [들리지]? 1729 01:18:48,260 --> 01:18:50,164 >> ANDI 펭 : 당신은 손을 위로 있었나요? 1730 01:18:50,164 --> 01:18:50,663 그래. 1731 01:18:50,663 --> 01:18:51,550 >> 청중 : 대안. 1732 01:18:51,550 --> 01:18:52,341 >> ANDI 펭 : 맞아요. 1733 01:18:52,341 --> 01:18:55,440 그래서 강의의 기억이 우리 경주 무언가의 끝 부분에있다 1734 01:18:55,440 --> 01:18:56,640 널 (NULL) 종료라고? 1735 01:18:56,640 --> 01:18:58,890 우리는이에 얻을 것이다 더의 클래스. 1736 01:18:58,890 --> 01:19:02,472 그러나 표기법으로 알고, 방법 컴퓨터 1737 01:19:02,472 --> 01:19:04,430 그것이 끝이 있다고 알고있다 배열의 그것은이다 1738 01:19:04,430 --> 01:19:07,310 널 (null)라는 것을두고 터미네이터 또는 대시 제로. 1739 01:19:07,310 --> 01:19:12,047 >> 그래서 변수는 argv 3에 액세스하려고하면, 이 대시 0을 칠 것입니다. 1740 01:19:12,047 --> 01:19:13,630 이 트릭 질문의 더 많은입니다. 1741 01:19:13,630 --> 01:19:17,020 어떤 변수는 argv 4 어떻습니까? 1742 01:19:17,020 --> 01:19:20,920 그래서 과거의 널 (NULL) 종료는, 우리의 배열의 범위 과거. 1743 01:19:20,920 --> 01:19:24,380 가는 당신을 어떻게 생각하십니까 우리가 그렇게 할 때 일이? 1744 01:19:24,380 --> 01:19:25,842 >> 청중 : [들리지]? 1745 01:19:25,842 --> 01:19:26,550 ANDI 펭 : 죄송합니다? 1746 01:19:26,550 --> 01:19:28,025 그 조금 더 크게 말? 1747 01:19:28,025 --> 01:19:29,086 >> 청중 : [들림]. 1748 01:19:29,086 --> 01:19:29,710 ANDI 펭 : 예. 1749 01:19:29,710 --> 01:19:32,420 즉,의 이름입니다 당신이 가장 가능성이 얻을 것이다 영역입니다. 1750 01:19:32,420 --> 01:19:36,610 하지만 변수는 argv을 알고 4-- 그에 액세스 할 수 있습니다 1751 01:19:36,610 --> 01:19:38,610 컴퓨터의의 장소 메모리 당신이 정말로 1752 01:19:38,610 --> 01:19:41,650 때문에, 접촉해서는 안 지금 당신은 무엇 argv를 알고있다. 1753 01:19:41,650 --> 01:19:46,220 당신은 크기 3의 배열입니다 알고 그 점, 복사, INFILE과 OUTFILE 있습니다. 1754 01:19:46,220 --> 01:19:50,200 >> 당신은 그 이상까지 이동하려고하면 당신은 널 (NULL) 종료 과거 걸, 1755 01:19:50,200 --> 01:19:53,050 컴퓨터가 아마이 변수는 argv (4)에 저장된 뭔가. 1756 01:19:53,050 --> 01:19:55,790 그리고 당신은 정말 안 , 변수는 argv 4에 액세스 할 수 1757 01:19:55,790 --> 01:19:58,130 당신은 파일을 가지고 있기 때문에 캐비닛과 당신 만있어 1758 01:19:58,130 --> 01:19:59,790 그 세 선반에 액세스 할 수. 1759 01:19:59,790 --> 01:20:02,870 하지만 당신은 방법을 넘어 도달하려고하면 당신이 허용되는 곳의 선반, 1760 01:20:02,870 --> 01:20:04,930 당신은 바보로 시작하는거야 컴퓨터의 메모리에있는 다른 것들. 1761 01:20:04,930 --> 01:20:06,690 그건 정말, 정말 나쁜거야. 1762 01:20:06,690 --> 01:20:07,440 그래서 그냥 알고있다. 1763 01:20:07,440 --> 01:20:10,370 당신이 바로 그주의 그냥 무작위로 시작하지 않는 1764 01:20:10,370 --> 01:20:14,772 배열의 요소를 액세스하는 것을 당신이 창조하고 싶었다 무엇에 없었다. 1765 01:20:14,772 --> 01:20:17,114 네. 1766 01:20:17,114 --> 01:20:18,430 >> 그래. 1767 01:20:18,430 --> 01:20:26,360 그래서 우리는 서로를 할거야 여기에 터미널 예. 1768 01:20:26,360 --> 01:20:27,300 그래. 1769 01:20:27,300 --> 01:20:29,900 빨리 강의에서 롭 그래서 다른 날은 갔다 1770 01:20:29,900 --> 01:20:35,040 이 예를 통해, 그가 어디에 했다 INT 주요 INT는 argc 문자열 변수는 argv 1771 01:20:35,040 --> 01:20:39,090 브래킷, 난 나에게 말하고있는 명령 줄 인수를해야 할 것. 1772 01:20:39,090 --> 01:20:41,860 >> ARGC가 동일한 경우 그는,이 2-- 기억과 같다, 1773 01:20:41,860 --> 01:20:45,070 등호 비교를 의미 같습니다. 1774 01:20:45,070 --> 01:20:47,980 이 2에 해당하는 경우, 그때 해요 안녕하세요 인쇄하는 것, 1775 01:20:47,980 --> 01:20:51,190 무엇이든 첫 번째 배열의 요소이다. 1776 01:20:51,190 --> 01:20:54,100 그렇지 인쇄, 안녕하세요. 1777 01:20:54,100 --> 01:20:56,300 이것은 무엇을 것입니다 본질적으로 일이? 1778 01:20:56,300 --> 01:21:00,570 누군가가 그냥 설명 할 수 영어 프로그램은 무엇을하고 있는가? 1779 01:21:00,570 --> 01:21:01,272 그래. 1780 01:21:01,272 --> 01:21:08,160 >> 청중 : 누군가가 명령에 입력 한 경우 자신의 이름과 성이 말했다, 1781 01:21:08,160 --> 01:21:12,096 그것은 단지를 인쇄하지 않습니다 하나 안녕하세요, 말 먼저, 1782 01:21:12,096 --> 01:21:14,090 무엇이든 당신의 이름입니다. 1783 01:21:14,090 --> 01:21:15,410 >> ANDI 펭 : OK,의 그것을 실행하자. 1784 01:21:15,410 --> 01:21:22,470 내가 있다면 그래서 예를 들어, 만들려면 이 파일 안녕하세요 이러시면 안녕하세요 확인 1785 01:21:22,470 --> 01:21:24,500 당신은 저 입력 무엇을 하시겠습니까? 이러시면? 1786 01:21:24,500 --> 01:21:25,900 >> 청중 : 성과 이름. 1787 01:21:25,900 --> 01:21:27,280 >> ANDI 펭 : 성과 이름? 1788 01:21:27,280 --> 01:21:28,180 스페이스? 1789 01:21:28,180 --> 01:21:29,690 >> 청중 : 네. 1790 01:21:29,690 --> 01:21:33,490 >> ANDI 펭 : 누군가가 말할 수 나 지금, ARGC 무엇인가? 1791 01:21:33,490 --> 01:21:35,630 그냥 거기? 1792 01:21:35,630 --> 01:21:36,290 죄송합니다, 죄송합니다. 1793 01:21:36,290 --> 01:21:37,920 나를 돌아 가자. 1794 01:21:37,920 --> 01:21:40,740 얼마나 많은 명령 행 인수 너희들은 정말 볼 수 없습니다으로 죠. 1795 01:21:40,740 --> 01:21:43,760 하지만 확대하려고합니다. 1796 01:21:43,760 --> 01:21:44,290 노력하고있어. 1797 01:21:44,290 --> 01:21:45,414 그래, 맞아, 세 가지있다? 1798 01:21:45,414 --> 01:21:48,750 그것은 안녕하세요 점 슬래시이다, 그것은 안디이고, 그것은 펭이다. 1799 01:21:48,750 --> 01:21:51,870 >> 그래서 너희들이 무엇을 생각 하는가 이 프로그램은 밖으로 인쇄 할거야? 1800 01:21:51,870 --> 01:21:55,550 1801 01:21:55,550 --> 01:21:56,060 오. 1802 01:21:56,060 --> 01:21:57,120 아, 죄송합니다. 1803 01:21:57,120 --> 01:21:57,810 잘못된 이름입니다. 1804 01:21:57,810 --> 01:22:03,630 1805 01:22:03,630 --> 01:22:06,130 그것은 안녕하세요, 밖으로 인쇄입니다. 1806 01:22:06,130 --> 01:22:09,603 사람이 설명 할 않는다 이유 일 이죠? 1807 01:22:09,603 --> 01:22:10,103 그래? 1808 01:22:10,103 --> 01:22:11,019 >> 청중 : [들림]. 1809 01:22:11,019 --> 01:22:14,439 1810 01:22:14,439 --> 01:22:15,230 ANDI 펭 : 맞아요. 1811 01:22:15,230 --> 01:22:19,940 그래서 여기, 조건입니다 ARGC 2와 동일한 동일한 경우입니다. 1812 01:22:19,940 --> 01:22:23,650 그래서 유일한 경우가 있다고 두 개의 명령 줄 인수. 1813 01:22:23,650 --> 01:22:25,850 그럼 난 인쇄 할거야, 안녕하세요, 그것은 무엇이든. 1814 01:22:25,850 --> 01:22:28,210 그러나 다른, 내가 갈거야 다만, 안녕하세요 세계를 인쇄 할 수 있습니다. 1815 01:22:28,210 --> 01:22:30,040 그래서 누군가가 원하는 않습니다 나에게 예를 제공합니다 1816 01:22:30,040 --> 01:22:35,050 방법의 것은 사실 수있을 것입니다 이 변수는 argv 1의 값을 출력하세요? 1817 01:22:35,050 --> 01:22:38,600 >> 나는 여기에 입력은 어떻게해야? 1818 01:22:38,600 --> 01:22:39,840 단 한 가지, 바로? 1819 01:22:39,840 --> 01:22:42,900 점 안녕하세요이 이미 있기 때문에 첫 번째 인수로 계산합니다. 1820 01:22:42,900 --> 01:22:43,930 나는 단지 하나 더있다. 1821 01:22:43,930 --> 01:22:46,470 난 그냥 앤디을한다면 안녕하세요 점. 1822 01:22:46,470 --> 01:22:47,270 안녕하세요, 앤디. 1823 01:22:47,270 --> 01:22:49,186 모든 사람이 이해 하는가 이유 일 이죠? 1824 01:22:49,186 --> 01:22:49,602 그래. 1825 01:22:49,602 --> 01:22:52,500 >> 청중 : 그래서 사이의 공간 명령 line--은 [들림]입니까? 1826 01:22:52,500 --> 01:22:56,247 1827 01:22:56,247 --> 01:22:56,830 ANDI 펭 : 아니오. 1828 01:22:56,830 --> 01:23:03,810 명령 줄에서 공간 그래서 인수 x는 컴퓨터를 말할 1829 01:23:03,810 --> 01:23:06,820 이 것이 새 문자열의 시작입니다. 1830 01:23:06,820 --> 01:23:11,130 그래서 문자열 변수는 argv 그것을 저장 here-- 당신의 명령 행 인수의 모든 1831 01:23:11,130 --> 01:23:13,110 문자열에. 1832 01:23:13,110 --> 01:23:17,420 그리고 명령 줄의 공간 , 않는 모든 말씀입니다 인 공방 1833 01:23:17,420 --> 01:23:21,030 이것은 하나의 문자열의 끝에 그것은 다른 이동하는 시간이다. 1834 01:23:21,030 --> 01:23:21,990 >> 그래. 1835 01:23:21,990 --> 01:23:23,530 이것은 꽤 중요하다 당신의 PSET, 당신이이기 때문에 1836 01:23:23,530 --> 01:23:24,613 이 테스트 될 것. 1837 01:23:24,613 --> 01:23:29,300 그래서 사람이 있는가 여기에 대한 질문? 1838 01:23:29,300 --> 01:23:30,016 그래 좋아. 1839 01:23:30,016 --> 01:23:30,515 그래? 1840 01:23:30,515 --> 01:23:35,008 >> 청중 : 그래서 이유는 당신에게 것 대신 정수 인수 CALC를 넣어 1841 01:23:35,008 --> 01:23:40,059 당신이 원하는 때의 [들림] 것 추가 정보를 입력합니다 1842 01:23:40,059 --> 01:23:41,030 [들림]? 1843 01:23:41,030 --> 01:23:42,090 >> ANDI 펭 : 네, 정확히. 1844 01:23:42,090 --> 01:23:45,370 일부 프로그램은 당신이 필요합니다 입력 명령 행 인수 1845 01:23:45,370 --> 01:23:47,732 그것이이에 전달하고 그 것을 사용합니다. 1846 01:23:47,732 --> 01:23:49,035 그래. 1847 01:23:49,035 --> 01:23:50,410 청중 : 그래서 만약 [들림]? 1848 01:23:50,410 --> 01:23:55,440 1849 01:23:55,440 --> 01:23:58,870 >> ANDI 펭 : 글쎄, 내가 무엇을 할 내 프로그램에서 다음 변경하려면? 1850 01:23:58,870 --> 01:23:59,870 >> 청중 : 그냥 3. 1851 01:23:59,870 --> 01:24:12,460 1852 01:24:12,460 --> 01:24:15,020 >> ANDI 펭 : 왜이​​다 일어나고, 당신은 생각 하는가? 1853 01:24:15,020 --> 01:24:18,940 >> 청중 : [들리지] 때문에. 1854 01:24:18,940 --> 01:24:22,370 >> 청중 : 당신은해야 할 것이다 [들림] 2로 변경. 1855 01:24:22,370 --> 01:24:23,484 >> 청중 : 1, 2. 1856 01:24:23,484 --> 01:24:24,650 ANDI PENG : 1, 2, 정확하게. 1857 01:24:24,650 --> 01:24:29,150 이 경우, 아마도 것 두 printf의 statements--을 갖고 싶어 1858 01:24:29,150 --> 01:24:32,601 변수는 argv 1을 인쇄 하나 변수는 argv 2를 인쇄 한. 1859 01:24:32,601 --> 01:24:33,100 여기에. 1860 01:24:33,100 --> 01:24:34,516 사실은 진짜 빨리 것을 할 수 있습니다. 1861 01:24:34,516 --> 01:24:46,720 1862 01:24:46,720 --> 01:24:47,320 거기 당신은 간다. 1863 01:24:47,320 --> 01:24:48,287 오. 1864 01:24:48,287 --> 01:24:49,370 확실히 당신이 원하는 무엇을. 1865 01:24:49,370 --> 01:24:52,590 그러나 주위 사람들 엉망으로하는 경우 서식, 그것은 나올 것입니다. 1866 01:24:52,590 --> 01:24:54,981 그래. 1867 01:24:54,981 --> 01:24:55,480 쿨. 1868 01:24:55,480 --> 01:24:57,670 나는 우리가 시간에 조금 짧은 거 알아. 1869 01:24:57,670 --> 01:25:02,469 하지만 난 그냥 빨리을 보낼거야 helpful--를 통과 몇 분 1870 01:25:02,469 --> 01:25:03,760 청중 : 당신은 2 분 있습니다. 1871 01:25:03,760 --> 01:25:05,010 ANDI 펭 : 저는 두 분 있나요? 1872 01:25:05,010 --> 01:25:06,340 고맙습니다. 1873 01:25:06,340 --> 01:25:09,180 빠른 PSET 팁. 1874 01:25:09,180 --> 01:25:13,100 이 PSET에 대한 그래서, 내가보기 엔, 추천 내가 말했듯이, 모두가 스펙을 읽을 수 있습니다. 1875 01:25:13,100 --> 01:25:16,804 세 programs-- 하나를 작성 할 수 있습니다 , caesar.c라고 하나, initials.c라고 1876 01:25:16,804 --> 01:25:17,720 하나라고 vigenere.c. 1877 01:25:17,720 --> 01:25:20,465 1878 01:25:20,465 --> 01:25:22,340 몇 가지 중요한 팁이 너희들 정말로 원하는 1879 01:25:22,340 --> 01:25:25,040 그래서 mind--에서 유지 이 기능이있다 1880 01:25:25,040 --> 01:25:27,770 내가 말을 좋아 트루 아, atoi--했다. 1881 01:25:27,770 --> 01:25:29,520 그건 경우 불명확 실제로 당신은 어떻게 그것을 말한다. 1882 01:25:29,520 --> 01:25:32,510 그러나 모든 그것은 입력거야,하고있어. 1883 01:25:32,510 --> 01:25:34,320 그것은 INT에 문자열로 변환합니다. 1884 01:25:34,320 --> 01:25:37,490 그래서 내가 정수로 ASCII를 나타냅니다. 1885 01:25:37,490 --> 01:25:40,310 그냥 ASCII 변환있어 값은 값을 정수합니다. 1886 01:25:40,310 --> 01:25:44,510 그래서, 저장 배열 argv를 기억 당신의 모든 명령은 arguments-- 라인 1887 01:25:44,510 --> 01:25:46,300 그것은 문자열로 그들 모두를 저장합니다. 1888 01:25:46,300 --> 01:25:50,010 그리고 당신이 할 수 있도록하려면 그 중 하나가되고있다 정수, 1889 01:25:50,010 --> 01:25:52,750 당신은 할거야 여기에이 값을 사용합니다. 1890 01:25:52,750 --> 01:25:56,690 >> 모듈로, 우리는 덮여처럼 이전 클래스 오늘, 1891 01:25:56,690 --> 01:25:59,550 당신이 할 수 있습니다 당신은 무엇이든의 나머지. 1892 01:25:59,550 --> 01:26:03,620 그래서 만약 우리가 정말, 정말이 시저에서 많은 수의, 1893 01:26:03,620 --> 01:26:06,117 우리는 끝이있는 경우 Vigenere의 캐릭터의? 1894 01:26:06,117 --> 01:26:08,450 당신은 어떻게 할 수있는거야 그 주위에 포장을 얻을 수 있습니까? 1895 01:26:08,450 --> 01:26:11,330 나는 Z 치고 내가 원하는 경우 그것은으로 돌​​아갑니다, 1896 01:26:11,330 --> 01:26:13,650 어떻게 사러 갈 건데 그 주위에 포장하는 방법? 1897 01:26:13,650 --> 01:26:15,960 아마 사용하려면 이 곳에서 모듈. 1898 01:26:15,960 --> 01:26:19,190 >> 둘째, 주변 검색 라이브러리. ctype.h. 1899 01:26:19,190 --> 01:26:20,680 즉, 우리가 새로운 라이브러리입니다. 1900 01:26:20,680 --> 01:26:25,270 당신은 정말, 정말 많이 찾을 수 있습니다 유용한 functions-- isupper, islower와, 1901 01:26:25,270 --> 01:26:27,681 의 ToUpper, tolower를 isalpha에가, 등등. 1902 01:26:27,681 --> 01:26:30,680 매우 도움이 될 것입니다 모든 기능 당신이 알아 내려고 할 때, 1903 01:26:30,680 --> 01:26:33,780 이 문자는 소문자인가? 1904 01:26:33,780 --> 01:26:35,730 나는이 변환 어떻게 대문자로 문자열? 1905 01:26:35,730 --> 01:26:38,146 이 모든 일들은 매우 될 것입니다 당신의 PSET 매우 유용. 1906 01:26:38,146 --> 01:26:42,720 1907 01:26:42,720 --> 01:26:45,500 그래. 1908 01:26:45,500 --> 01:26:49,644 >> 근무 시간 오늘 밤 8시 청록 교실 11:00 내일 1909 01:26:49,644 --> 01:26:51,310 뿐만 아니라 수요일과 목요일 밤으로. 1910 01:26:51,310 --> 01:26:53,280 근무 시간은 공유지에 있습니다. 1911 01:26:53,280 --> 01:26:56,180 높은 너희들을 제안 모두가 바로 시작 1912 01:26:56,180 --> 01:27:00,490 당신은되고 싶지 않기 때문에 목요일 밤에 문제가있는 아이 1913 01:27:00,490 --> 01:27:03,870 당신의 PSET를 제출하고 같은, 내가 무엇을 해야할지하지 않습니다. 1914 01:27:03,870 --> 01:27:05,870 내가 완료, 시작, 내가 제출했다. 1915 01:27:05,870 --> 01:27:09,737 자신에게 여지를 제공하려고, 코드 문제는 항상 발생에 있기 때문이다. 1916 01:27:09,737 --> 01:27:11,570 당신이 있는지 확인하려면 당신은 자신을 줄 것을 1917 01:27:11,570 --> 01:27:14,810 시간을 많이 할 수 있도록 하여 pset를 완료합니다. 1918 01:27:14,810 --> 01:27:15,310 쿨. 1919 01:27:15,310 --> 01:27:16,720 여기 놀아 것이다. 1920 01:27:16,720 --> 01:27:18,226 >> 청중 :이 온라인은 이미인가? 1921 01:27:18,226 --> 01:27:20,850 ANDI 펭 : 그것은 나도 몰라 이미 온라인이지만 것이다. 1922 01:27:20,850 --> 01:27:23,500 사람이 있다면 여기에 놀아 것 이미 질문이 있습니다. 1923 01:27:23,500 --> 01:27:25,390 와줘서 고마워. 1924 01:27:25,390 --> 01:27:27,105