1 00:00:00,000 --> 00:00:01,500 >> [MUSIC CHƠI] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID Malan: Tất cả quyền này là CS50 và đây là kết thúc của một tuần. 4 00:00:16,110 --> 00:00:20,760 Vì vậy, tôi muốn giới thiệu trước đây của tôi advisee, Andel Duff, người không chỉ làm cho 5 00:00:20,760 --> 00:00:25,460 iPhone 5 đứng, cũng như này bục giảng, ông cũng làm cho xe ô tô. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 Ansel Duff: Thế nào rồi, tất cả mọi người? 8 00:00:29,510 --> 00:00:31,980 Tôi chỉ muốn nói với bạn một chút chút về Formula SAE, trong đó có tôi 9 00:00:31,980 --> 00:00:32,604 là đội trưởng. 10 00:00:32,604 --> 00:00:33,437 Đây là một nhóm nghiên cứu MIT. 11 00:00:33,437 --> 00:00:35,520 Tôi chỉ muốn nói với bạn chàng trai một chút về nó 12 00:00:35,520 --> 00:00:37,520 và hy vọng tạo ra một số lợi ích. 13 00:00:37,520 --> 00:00:41,590 >> Vì vậy, hãy để tôi chạy qua một vài điều về đội tuyển của chúng tôi. 14 00:00:41,590 --> 00:00:43,640 Vì vậy, chúng tôi hoàn toàn chạy sinh viên, trong đó tất cả 15 00:00:43,640 --> 00:00:47,300 của các thành viên thiết kế, mô phỏng, kiểm tra, và nhà sản xuất một hệ thống phụ 16 00:00:47,300 --> 00:00:48,090 của chiếc xe. 17 00:00:48,090 --> 00:00:51,240 Chúng tôi có cửa hàng máy tính của riêng của chúng tôi và nhà để xe, và N52-- hoặc xin lỗi, 18 00:00:51,240 --> 00:00:54,140 N51-- đó là cùng một tòa nhà như Bảo tàng Khoa học MIT. 19 00:00:54,140 --> 00:00:55,990 Và chúng tôi là những người mà lái xe. 20 00:00:55,990 --> 00:00:58,340 Có một cuộc thi quốc gia vào đầu mùa hè, 21 00:00:58,340 --> 00:01:01,215 và sau đó có loạt đá luân lưu nhỏ hơn các cuộc thi trong suốt cả năm. 22 00:01:01,215 --> 00:01:04,400 Và sau đó chúng tôi đào tạo lái xe ngày để các thành viên mới làm quen. 23 00:01:04,400 --> 00:01:08,280 >> Ngày của chúng tôi là xây dựng trên Thứ Bảy 11:00-20:00. 24 00:01:08,280 --> 00:01:11,060 Bữa trưa và bữa tối được chăm sóc của, từ của Bertucci và Beantown 25 00:01:11,060 --> 00:01:12,130 tương ứng. 26 00:01:12,130 --> 00:01:15,260 Chúng tôi có một cuộc họp hàng tuần và hội thảo, đó là tín chỉ khóa học. 27 00:01:15,260 --> 00:01:18,560 Đó là mới như của học kỳ này, và nó cũng sẽ được cho học kỳ tiếp theo, 28 00:01:18,560 --> 00:01:19,940 vì vậy bạn có thể vượt qua-reg cho điều đó. 29 00:01:19,940 --> 00:01:22,960 Và sau đó chúng tôi có thiết kế, cửa hàng, và CAD ngày trong tuần, 30 00:01:22,960 --> 00:01:26,870 trong khi đó các thành viên sẽ độc lập CAD phần, cổ phiếu để vân vân. 31 00:01:26,870 --> 00:01:29,200 >> Vì vậy, cho điện kỹ thuật tại đội 32 00:01:29,200 --> 00:01:31,110 chúng tôi có kéo của chúng tôi, hệ thống điện cao thế, 33 00:01:31,110 --> 00:01:33,390 chạy ở một danh nghĩa 300 volt, trong đó bao gồm 34 00:01:33,390 --> 00:01:35,360 động cơ, bộ điều khiển động cơ, và gói pin. 35 00:01:35,360 --> 00:01:37,235 Sau đó, chúng ta có một thấp hệ thống điện, chạy 36 00:01:37,235 --> 00:01:40,180 12 V, trong đó bao gồm điều khiển, các nút CAN, não 37 00:01:40,180 --> 00:01:41,570 hộp, và bảng điều khiển. 38 00:01:41,570 --> 00:01:43,890 Theo CS đi, chúng tôi có bảo trì trang web 39 00:01:43,890 --> 00:01:47,940 mà chúng ta cần thực hiện cho các sự kiện, thành viên thay đổi, hình ảnh mới, và các tài liệu PR. 40 00:01:47,940 --> 00:01:51,540 Và sau đó chúng tôi có mã điều khiển xe để kiểm soát độ bám đường của chúng tôi, ra mắt 41 00:01:51,540 --> 00:01:55,750 kiểm soát, kiểm soát dấu gạch ngang, mô-men xoắn véc-tơ, và hệ thống phanh tái tạo, trong đó 42 00:01:55,750 --> 00:01:59,170 chạy thường trong MATLAB, Simulink, và LabVIEW. 43 00:01:59,170 --> 00:02:00,910 >> Giới thiệu với bạn một chút về chiếc xe. 44 00:02:00,910 --> 00:02:02,470 Vì vậy, nó là khoảng 500 pounds. 45 00:02:02,470 --> 00:02:04,285 Đó là quy tắc hạn chế đến 85 KW. 46 00:02:04,285 --> 00:02:08,310 Nó có 2 EMRAX 207 động cơ trong trở lại, một cho mỗi bánh xe phía sau. 47 00:02:08,310 --> 00:02:11,880 Nó có tùy chỉnh xây dựng gói pin từ các tế bào túi A123 lăng trụ, 48 00:02:11,880 --> 00:02:14,780 tổng cộng 300 volt và 5,6 kilowatt giờ. 49 00:02:14,780 --> 00:02:17,950 Và đó là ổ đĩa trực tiếp với tỷ lệ 2,64-1 ổ đĩa. 50 00:02:17,950 --> 00:02:20,970 Dưới đây là một số hình ảnh chúng tôi mất của nó ở cạnh tranh. 51 00:02:20,970 --> 00:02:25,820 Dưới đây là hình nón trở lại, mũi, và đây là động cơ, 52 00:02:25,820 --> 00:02:29,682 những đĩa lớn màu đen bên dưới et mens manus. 53 00:02:29,682 --> 00:02:32,140 Dưới đây là một hoạt động mà tôi kéo ra khỏi chương trình thi đấu của chúng tôi. 54 00:02:32,140 --> 00:02:35,389 Và đây chỉ là so sánh xe của chúng tôi để một vài chiếc xe thương mại có sẵn, 55 00:02:35,389 --> 00:02:38,380 như KTM XBOW, Ariel Atom, và Caterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 Nếu bạn đã quen thuộc với giá cả, điện kéo trọng lượng, đô la cho mỗi mã lực, 57 00:02:42,110 --> 00:02:44,930 đô la cho mỗi mô-men xoắn, và xe của chúng tôi thổi chúng ra khỏi nước. 58 00:02:44,930 --> 00:02:47,520 Nếu bạn có bất kỳ câu hỏi, ghi lại địa chỉ email này. 59 00:02:47,520 --> 00:02:50,800 Bắn chúng tôi qua email fsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> Chúng tôi vui mừng để nói về bất cứ điều gì bạn muốn. 61 00:02:53,350 --> 00:02:55,600 Sinh viên Harvard là loại các dân tộc thiểu số trong nhóm. 62 00:02:55,600 --> 00:02:58,350 Nếu bạn có thắc mắc về mà hãy làm bắn email cho chúng tôi, 63 00:02:58,350 --> 00:03:00,810 rất vui khi được nói chuyện, và tôi sẽ để quay trở lại giao cho David. 64 00:03:00,810 --> 00:03:01,550 Cảm ơn. 65 00:03:01,550 --> 00:03:02,466 Tôi đánh giá cao nó, các cậu. 66 00:03:02,466 --> 00:03:03,615 [Vỗ tay] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID Malan: Ansel đã dành mùa hè làm việc với chúng tôi ở đây trong khuôn viên trường trong CS50 69 00:03:10,980 --> 00:03:11,480 mùa hè này. 70 00:03:11,480 --> 00:03:13,505 Và ngoài làm việc trên những thứ như bóng đèn nhị phân, 71 00:03:13,505 --> 00:03:16,090 ông thực sự thực sự mở ra của chúng tôi eyes-- và mỏ particular-- 72 00:03:16,090 --> 00:03:20,535 với những gì thực sự là giao điểm của không phải của phần cứng và phần mềm có thể được. 73 00:03:20,535 --> 00:03:23,410 Trong thực tế có rất nhiều những điều ông chỉ đi thăm bạn thông qua là cuối cùng 74 00:03:23,410 --> 00:03:26,030 tạo ra đầu tiên trong các phần mềm, và sau đó cuối cùng là chế tạo 75 00:03:26,030 --> 00:03:27,299 trong thế giới thực trong phần cứng. 76 00:03:27,299 --> 00:03:29,590 Vì vậy, nếu bạn quan tâm đến khám phá ngã tư đó, 77 00:03:29,590 --> 00:03:31,430 có lẽ mất nhóm đó. 78 00:03:31,430 --> 00:03:34,140 >> Bây giờ trong khi đó, những người bạn của là người hâm mộ của công nghệ, 79 00:03:34,140 --> 00:03:36,140 và các sản phẩm của Apple trong đặc biệt biết rằng có 80 00:03:36,140 --> 00:03:37,860 là một vài thông báo ngày hôm qua. 81 00:03:37,860 --> 00:03:39,776 Nhưng chúng tôi nghĩ rằng chúng tôi sẽ hiển thị một bạn có mặt trên 82 00:03:39,776 --> 00:03:43,590 một vài ngày trước đó bạn có thể không nhìn thấy. 83 00:03:43,590 --> 00:03:46,150 >> Jorgen EGHAMMER: Bạn biết đấy, một lần trong một cái gì đó một lúc 84 00:03:46,150 --> 00:03:49,540 đi cùng mà thay đổi cách chúng ta sống. 85 00:03:49,540 --> 00:03:53,479 Một thiết bị rất đơn giản và trực quan sử dụng nó cảm thấy gần như quen thuộc. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 Giới thiệu 2.015 cửa hàng IKEA. 88 00:04:04,138 --> 00:04:10,420 Nó không phải là một cuốn sách kỹ thuật số hoặc một cuốn sách điện tử, đó là một cuốn sách, cuốn sách. 89 00:04:10,420 --> 00:04:14,440 >> Điều đầu tiên cần lưu ý là không có cáp, thậm chí không một dây cáp điện. 90 00:04:14,440 --> 00:04:18,519 2015 Danh mục IKEA đi kèm sạc đầy, 91 00:04:18,519 --> 00:04:20,550 và tuổi thọ pin là vĩnh cửu. 92 00:04:20,550 --> 00:04:27,300 Giao diện là 7,5 8 inch, nhưng có thể mở rộng đến 15 8 inch. 93 00:04:27,300 --> 00:04:32,410 Việc chuyển hướng dựa trên cảm ứng xúc giác công nghệ mà bạn thực sự có thể cảm thấy. 94 00:04:32,410 --> 00:04:37,120 >> Nội dung được cài đặt sẵn qua 328 trang độ nét cao 95 00:04:37,120 --> 00:04:40,180 về cảm hứng cho những ý tưởng trang trí nội thất. 96 00:04:40,180 --> 00:04:43,740 Để bắt đầu duyệt, chỉ cần chạm và kéo. 97 00:04:43,740 --> 00:04:50,870 Phải sang trái để di chuyển về phía trước, trái sang phải để di chuyển về phía sau. 98 00:04:50,870 --> 00:04:52,770 >> Chú ý cái gì khác? 99 00:04:52,770 --> 00:04:53,780 Đúng vậy. 100 00:04:53,780 --> 00:04:55,190 Không tụt hậu. 101 00:04:55,190 --> 00:04:58,400 Mỗi trang tinh thể rõ ràng tải ngay lập tức, 102 00:04:58,400 --> 00:05:00,586 không có vấn đề làm thế nào nhanh chóng, bạn di chuyển. 103 00:05:00,586 --> 00:05:03,710 Nếu bạn muốn có được một cái nhìn tổng quát, chỉ cần giữ nó trong lòng bàn tay của bạn, 104 00:05:03,710 --> 00:05:06,816 và chỉ sử dụng ngón tay cái của bạn, tốc độ trình duyệt nội dung. 105 00:05:06,816 --> 00:05:10,930 >> Nếu bạn tìm thấy một cái gì đó bạn muốn lưu cho sau này, bạn chỉ có thể đánh dấu nó. 106 00:05:10,930 --> 00:05:17,620 Và ngay cả khi bạn đóng ứng dụng, bạn có thể dễ dàng tìm thấy các dấu một lần nữa. 107 00:05:17,620 --> 00:05:18,490 Tuyệt vời. 108 00:05:18,490 --> 00:05:20,434 >> [Cười] 109 00:05:20,434 --> 00:05:21,406 [Vỗ tay] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 Vì vậy mà chúng tôi mang đến cuối tuần một. 112 00:05:29,870 --> 00:05:31,760 Một vài thông báo bây giờ. 113 00:05:31,760 --> 00:05:33,440 Vì vậy, cắt Cắt giờ được tiến hành. 114 00:05:33,440 --> 00:05:36,860 Tới URL này ở đây đôi khi từ nay đến thứ sáu vào buổi trưa 115 00:05:36,860 --> 00:05:39,960 để thực sự xác định xem bạn có trong số những người ít thoải mái, hơn 116 00:05:39,960 --> 00:05:41,690 thoải mái, hoặc một nơi nào đó ở giữa. 117 00:05:41,690 --> 00:05:44,511 >> Điều này thường là một trong những những điều mà bạn chỉ cần loại biết. 118 00:05:44,511 --> 00:05:47,510 Và trong thực tế, những người bạn của những người ít thoải mái có thể biết càng nhiều, 119 00:05:47,510 --> 00:05:49,634 những người bạn của những người có nhiều thoải mái biết càng nhiều, 120 00:05:49,634 --> 00:05:54,960 và một lần nữa nếu bạn không khá chắc chắn mà những xô bạn rơi vào bạn 121 00:05:54,960 --> 00:05:56,210 có lẽ ở đâu đó ở giữa. 122 00:05:56,210 --> 00:05:59,810 Nhưng yên tâm, bạn có thể trao đổi sau một vài tuần nếu cần thiết. 123 00:05:59,810 --> 00:06:02,620 >> Trong khi đó, trong tuần tới chúng ta không bắt đầu phần cho mỗi gia nhập, 124 00:06:02,620 --> 00:06:04,760 nhưng siêu phần, trong đó dành cho tất cả sinh viên. 125 00:06:04,760 --> 00:06:08,220 Điều này đến chủ nhật tại một địa điểm để được công bố trên trang web trình 126 00:06:08,220 --> 00:06:10,190 chúng tôi sẽ có một cho những người kém thoải mái, 127 00:06:10,190 --> 00:06:12,470 cũng như một cho những người thoải mái hơn. 128 00:06:12,470 --> 00:06:15,460 Và những người ở đâu đó ở giữa có thể chọn trong hai, 129 00:06:15,460 --> 00:06:17,360 hoặc cả hai nếu bạn muốn, để ngồi ở trên. 130 00:06:17,360 --> 00:06:19,630 Và tâm điểm của những sẽ là cuối cùng trên C, 131 00:06:19,630 --> 00:06:22,440 mà chúng tôi sẽ tiếp tục của chúng tôi cuộc trò chuyện của ngày hôm nay. 132 00:06:22,440 --> 00:06:25,070 >> Vấn đề đặt 0 trong khi đó là hy vọng trong tay của bạn. 133 00:06:25,070 --> 00:06:27,500 Chính thức vào ngày mai do, Thứ năm, vào buổi trưa. 134 00:06:27,500 --> 00:06:29,490 Trừ khi quý vị rút tiền trong một 5 ngày cuối của bạn, 135 00:06:29,490 --> 00:06:31,780 mà sẽ mang lại cho nó cho đến thứ sáu vào buổi trưa. 136 00:06:31,780 --> 00:06:34,420 Vấn đề thiết lập 1 trong khi đó sẽ đăng trên trang web của khóa học. 137 00:06:34,420 --> 00:06:37,381 Và đây sẽ là lần đầu tiên của chúng tôi bước đột phá như là một lớp vào C. 138 00:06:37,381 --> 00:06:40,630 Và đó là vấn đề thiết lập thông số sẽ hướng dẫn bạn thông qua nhiều cơ chế gì 139 00:06:40,630 --> 00:06:43,960 chúng tôi bắt đầu nói về ngày Thứ hai, và chúng tôi sẽ tiếp tục nói về ngày hôm nay. 140 00:06:43,960 --> 00:06:46,770 C, Linux, CS50 thiết bị, tất cả điều đó 141 00:06:46,770 --> 00:06:48,990 sẽ chờ đợi bạn trong các đặc điểm kỹ thuật. 142 00:06:48,990 --> 00:06:52,840 >> Giờ làm việc trong khi đó đang được tiến hành, trong phòng ăn học. 143 00:06:52,840 --> 00:06:56,240 Đi đến URL này đây để xem lịch trình tối nay và ngày mai, 144 00:06:56,240 --> 00:06:57,930 nếu bạn muốn tham dự. 145 00:06:57,930 --> 00:07:01,920 Các câu hỏi trong khi đó, để bạn có cơ hội để đặt câu hỏi 146 00:07:01,920 --> 00:07:05,860 không đồng bộ, 24/7, nhận ra bạn không giới hạn phần và văn phòng 147 00:07:05,860 --> 00:07:09,530 giờ, mà là công cụ này ở đây, CS50 Thảo luận tại URL đó 148 00:07:09,530 --> 00:07:12,150 sẽ được trực tuyến của khóa học phần mềm bảng thông báo, thông qua đó 149 00:07:12,150 --> 00:07:15,030 bạn có thể đặt câu hỏi các bạn cùng lớp và cũng có nhân viên. 150 00:07:15,030 --> 00:07:18,492 Vì vậy, hãy nhớ rằng tài nguyên là tốt. 151 00:07:18,492 --> 00:07:20,200 Trong khi đó một truyền thống bắt đầu vào thứ sáu này. 152 00:07:20,200 --> 00:07:23,200 Như bạn có thể nhìn lướt qua từ teaser video thứ tư trước, 153 00:07:23,200 --> 00:07:25,510 chúng ta có một truyền thống nhất mỗi thứ sáu trong nhiệm kỳ 154 00:07:25,510 --> 00:07:28,750 lấy khoảng 50 sinh viên và nhân viên một nhà hàng địa phương gọi là 155 00:07:28,750 --> 00:07:31,510 Fire và Ice, mà tại đó chúng tôi thường tham gia của một số cựu sinh viên 156 00:07:31,510 --> 00:07:33,850 hoặc bạn bè từ ngành công nghiệp để thường khao khát 157 00:07:33,850 --> 00:07:35,780 để tạo ra một lớp lớn cảm thấy nhỏ hơn. 158 00:07:35,780 --> 00:07:37,560 Vì vậy, đó là một bữa ăn trưa hoàn toàn bình thường. 159 00:07:37,560 --> 00:07:40,160 Một bó của chúng tôi, các nhân viên đặc biệt, sẽ đóng ghế âm nhạc 160 00:07:40,160 --> 00:07:43,360 và trò chuyện với học sinh về 50 tuổi, cuộc sống bên ngoài 50, 161 00:07:43,360 --> 00:07:46,510 cuộc sống trong tương lai, thế giới thực, Tôi đang nói về cơ hội việc làm 162 00:07:46,510 --> 00:07:47,680 với bạn bè trong ngành công nghiệp. 163 00:07:47,680 --> 00:07:51,110 >> Vì vậy, nếu bạn muốn tham gia với chúng tôi thứ sáu này, đi đến URL này ở đây. 164 00:07:51,110 --> 00:07:54,180 Không gian là có hạn, nhưng chúng tôi sẽ làm điều này recurringly trong suốt thời hạn. 165 00:07:54,180 --> 00:07:57,380 Đi để có cs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 Và nếu bạn không nhận được trong thời gian này, không phải lo lắng. 167 00:07:59,380 --> 00:08:02,390 Chúng tôi sẽ làm điều đó một lần nữa trong những tuần sắp tới là tốt. 168 00:08:02,390 --> 00:08:05,434 >> Vì vậy, đây là hình ảnh chúng ta vẽ tuần trước, 169 00:08:05,434 --> 00:08:07,350 và bạn đã có thể được thâm nhập cho đến nay. 170 00:08:07,350 --> 00:08:10,360 Nhưng chúng ta hãy cố gắng kết nối này ngay bây giờ với những gì chúng ta sẽ làm gì hôm nay 171 00:08:10,360 --> 00:08:11,440 trở đi. 172 00:08:11,440 --> 00:08:14,760 Tôi có thể có một tình nguyện viên? 173 00:08:14,760 --> 00:08:16,000 Được rồi, hoặc nhiều. 174 00:08:16,000 --> 00:08:18,460 Làm thế nào về đây trên kết thúc, trong màu áo xanh. 175 00:08:18,460 --> 00:08:20,329 Lên đây, tên của bạn là gì? 176 00:08:20,329 --> 00:08:20,870 Alana: Alana. 177 00:08:20,870 --> 00:08:21,661 DAVID Malan: Alana. 178 00:08:21,661 --> 00:08:25,100 Vì vậy, Alana, chỉ một moment-- tốt đẹp để đáp ứng anh-- 179 00:08:25,100 --> 00:08:28,260 sẽ đóng vai trò chức năng này tại đây. 180 00:08:28,260 --> 00:08:31,290 Các khối màu tím chúng tôi đã gọi là vậy, đến nay một chức năng. 181 00:08:31,290 --> 00:08:34,830 Vì vậy, những gì tôi sẽ đi trước đây và cung cấp Alana 182 00:08:34,830 --> 00:08:38,380 là tên thẻ nhỏ, để làm cho rõ ràng vai trò những gì bạn đang chơi. 183 00:08:38,380 --> 00:08:39,753 >> Vì vậy, bạn sẽ là khối nói. 184 00:08:39,753 --> 00:08:41,419 Nếu bạn muốn đi trước và đặt trên. 185 00:08:41,419 --> 00:08:43,169 Và chúng ta sẽ giữ này siêu đơn giản. 186 00:08:43,169 --> 00:08:46,180 Nếu mục tiêu trong tầm tay chỉ đơn giản là bây giờ để thực hiện với Alana, 187 00:08:46,180 --> 00:08:49,710 cái gọi là nói khối, đây là cách nó sẽ làm việc. 188 00:08:49,710 --> 00:08:52,574 Tôi have-- hãy gọi nó là một cuộc tranh luận hay tham số, 189 00:08:52,574 --> 00:08:54,240 nó thực sự chỉ là một tờ giấy trắng. 190 00:08:54,240 --> 00:08:57,239 Và đó là màu trắng để loại được gợi nhớ của hộp màu trắng vào đó bạn 191 00:08:57,239 --> 00:08:58,080 có thể viết lời. 192 00:08:58,080 --> 00:09:00,660 >> Trong khi đó tôi sẽ đi đây. 193 00:09:00,660 --> 00:09:06,560 Tôi sẽ đi trước và viết H-E-L-L O-dấu phẩy thế giới. 194 00:09:06,560 --> 00:09:09,972 Và bây giờ tôi, nói như các lập trình viên, không thực sự biết làm thế nào để nói điều gì đó. 195 00:09:09,972 --> 00:09:12,180 Tôi có thể đến với các từ, nhưng tôi không nhất thiết phải 196 00:09:12,180 --> 00:09:15,220 biết làm thế nào để thể hiện bản thân mình bằng lời nói hoặc trên màn hình. 197 00:09:15,220 --> 00:09:17,280 Và vì vậy những gì tôi sẽ làm là đưa tác phẩm này 198 00:09:17,280 --> 00:09:21,157 chức năng, có input-- hoặc đối số, như chúng ta sẽ gọi nó là, 199 00:09:21,157 --> 00:09:23,990 Tôi đã viết trên mảnh paper-- và tôi sẽ thuê ngoài nó. 200 00:09:23,990 --> 00:09:26,831 >> Và quả thực đó là vai trò của chức năng trong một ngôn ngữ lập trình 201 00:09:26,831 --> 00:09:27,330 có thể chơi. 202 00:09:27,330 --> 00:09:29,246 Một cái gì đó như tiếng nói khối có thể được thuê ngoài 203 00:09:29,246 --> 00:09:32,074 cho những người thực sự biết những gì cô ấy hoặc anh ta nói về. 204 00:09:32,074 --> 00:09:33,990 Vì vậy, nếu bạn sẽ bước qua đây chỉ là một thời điểm, 205 00:09:33,990 --> 00:09:40,092 Tôi sẽ vượt qua đầu vào này để Alana, và yêu cầu bạn nói đầu vào này. 206 00:09:40,092 --> 00:09:41,202 >> Alana: Xin chào, thế giới. 207 00:09:41,202 --> 00:09:42,160 DAVID Malan: Đó là nó. 208 00:09:42,160 --> 00:09:43,326 Vì vậy, có một chức năng. 209 00:09:43,326 --> 00:09:46,556 Bây giờ chúng ta có thể mang nó nhiều hơn một chút, chúng ta có thể tiến lên một bước ở đây. 210 00:09:46,556 --> 00:09:48,180 Bởi vì đó là rõ ràng underwhelming. 211 00:09:48,180 --> 00:09:51,670 Vì vậy, bây giờ chúng ta chuyển đổi này để một chút gì đó phức tạp hơn. 212 00:09:51,670 --> 00:09:53,630 >> Vì vậy, điều này tất nhiên là phiên bản C của chúng tôi. 213 00:09:53,630 --> 00:09:56,760 Vì vậy, bây giờ nếu bạn muốn đi mà một off, mà thẻ tên tắt, 214 00:09:56,760 --> 00:09:58,530 và chúng ta hãy có bạn đưa vào một tên mới. 215 00:09:58,530 --> 00:10:00,850 Nhưng về cơ bản bạn đóng vai trò tương tự, 216 00:10:00,850 --> 00:10:03,400 nó chỉ như vậy sẽ xảy ra được gọi là printf bây giờ. 217 00:10:03,400 --> 00:10:06,930 >> Câu chuyện là, tất nhiên, sẽ có thể be-- 218 00:10:06,930 --> 00:10:09,317 cũng giống như là underwhelming-- sẽ là như sau. 219 00:10:09,317 --> 00:10:10,650 Bây giờ bạn có chức năng printf. 220 00:10:10,650 --> 00:10:13,300 Tôi là người gọi, hoặc lập trình viên, những người muốn 221 00:10:13,300 --> 00:10:15,745 đứng trên vai những người người trong quá khứ như bạn, 222 00:10:15,745 --> 00:10:18,670 người đã tìm ra cách để thực sự viết một cái gì đó xuống. 223 00:10:18,670 --> 00:10:20,650 Và vì vậy thời gian này, thay vì nói nó cho phép của 224 00:10:20,650 --> 00:10:22,255 thực sự sử dụng màn hình của chúng tôi ở đây. 225 00:10:22,255 --> 00:10:24,130 Vì vậy, nếu bạn muốn bước ở đây, tôi sẽ 226 00:10:24,130 --> 00:10:27,196 để vượt qua điều này như một lần nữa đầu vào cho bạn bè printf của tôi. 227 00:10:27,196 --> 00:10:29,320 Nếu bạn có thể đi trước và in đó trên màn hình, 228 00:10:29,320 --> 00:10:31,611 chỉ đơn giản bằng cách vẽ với bạn ngón tay trên màn hình màu đen. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 Tuyệt vời. 231 00:10:44,180 --> 00:10:47,350 Được rồi, vì vậy rất nhiều hồi hộp cho làm thế nào mà sắp diễn ra. 232 00:10:47,350 --> 00:10:51,390 >> Vì vậy, bây giờ chúng ta hãy xem mọi thứ lên một notch cuối cùng, nếu chúng ta có thể, như sau. 233 00:10:51,390 --> 00:10:53,980 Vì vậy, đây là một chương trình C như chúng tôi đã nói thời gian qua. 234 00:10:53,980 --> 00:10:57,460 Và điều này chỉ làm những gì bạn đã làm, nó in ra màn hình, xin chào, thế giới. 235 00:10:57,460 --> 00:11:00,290 Mặc dù có rõ ràng là rất nhiều thứ mất tập trung ở đó. 236 00:11:00,290 --> 00:11:03,630 Nhưng chúng ta có những điều lên một notch và giới thiệu phiên bản này, mà nhớ lại 237 00:11:03,630 --> 00:11:06,160 là phiên bản thứ ba chúng tôi đã kết thúc với thời gian qua. 238 00:11:06,160 --> 00:11:09,120 >> Và bây giờ có rõ ràng hai ứng dụng printf. 239 00:11:09,120 --> 00:11:12,280 Có 2 cuộc gọi đến Alana trong trường hợp này cho printf, 240 00:11:12,280 --> 00:11:14,740 nhưng cũng có một cuộc gọi chức năng khác. 241 00:11:14,740 --> 00:11:17,150 Có chức năng rõ ràng là gì? 242 00:11:17,150 --> 00:11:17,650 GetString. 243 00:11:17,650 --> 00:11:18,980 >> Chúng ta có thể có được một tình nguyện viên nhiều hơn? 244 00:11:18,980 --> 00:11:20,980 OK, đi lên trên. 245 00:11:20,980 --> 00:11:21,805 Tên của bạn là gì? 246 00:11:21,805 --> 00:11:22,990 >> JAVIER: Javier. 247 00:11:22,990 --> 00:11:24,750 >> DAVID Malan: Javier, đi lên trên. 248 00:11:24,750 --> 00:11:27,270 Vì vậy, vai trò của Javier là mảnh giấy này. 249 00:11:27,270 --> 00:11:28,860 Mà tôi sẽ gọi quát s. 250 00:11:28,860 --> 00:11:32,250 Bây giờ đây là một biến, nó kiểu string, như ngụ ý 251 00:11:32,250 --> 00:11:34,290 do đó dòng thứ hai ở giữa có. 252 00:11:34,290 --> 00:11:36,540 Và tôi muốn bạn để đi làm cho tôi một chuỗi. 253 00:11:36,540 --> 00:11:40,120 Cụ thể đi xuống dàn nhạc phần và làm cho tôi tên của một ai đó, 254 00:11:40,120 --> 00:11:43,142 và trở lại với một biến chứa giá trị đó. 255 00:11:43,142 --> 00:11:44,225 Nó có thể là bất cứ ai bạn muốn. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> Ở đây chúng ta đi. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 Được rồi, Javier là viết ra tên. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 Tất cả các quyền. 262 00:12:03,280 --> 00:12:05,740 Chúng ta có thể có thể đoán như thế nào điều này sẽ diễn ra. 263 00:12:05,740 --> 00:12:07,489 Chúng tôi đang có lẽ belaboring điểm gì 264 00:12:07,489 --> 00:12:10,320 một chức năng là làm, nhưng dù sao cũng cảm ơn bạn rất nhiều. 265 00:12:10,320 --> 00:12:13,890 >> Vì vậy, Javier đã trở lại chuỗi này ở đây, trong đó, không thể hoàn toàn thấy, 266 00:12:13,890 --> 00:12:15,800 Jonathan là một chuỗi mà chúng tôi đã nhận được. 267 00:12:15,800 --> 00:12:18,330 Vì vậy, bây giờ những gì tôi thực sự sẽ để cung cấp cho Alana mặc dù 268 00:12:18,330 --> 00:12:20,150 là một chút gì đó khác nhau. 269 00:12:20,150 --> 00:12:23,800 Bởi vì trong phiên bản này của chương trình, lần đầu tiên có ghi tên của bạn. 270 00:12:23,800 --> 00:12:26,160 Vì vậy, các tham số đầu tiên Tôi cần phải cung cấp Alana 271 00:12:26,160 --> 00:12:33,030 có là có được nghĩa là họ tên của bạn. 272 00:12:33,030 --> 00:12:35,280 Được rồi, vì vậy đơn giản như vậy Tôi sẽ bàn này cho bạn. 273 00:12:35,280 --> 00:12:36,730 Và khi tôi viết lên Đối số tiếp theo, nếu bạn 274 00:12:36,730 --> 00:12:39,230 muốn đi trước và viết này trên bảng, chúng ta hãy đi trước 275 00:12:39,230 --> 00:12:42,659 và làm ví dụ cuối cùng ở đây để làm rõ ràng cuối cùng là những gì đã xảy ra. 276 00:12:42,659 --> 00:12:44,450 Vì vậy, họ tên của bạn, viết nó về phía đầu 277 00:12:44,450 --> 00:12:47,220 nếu bạn không nhớ, chỉ để chúng tôi có chỗ cho một dòng thứ hai. 278 00:12:47,220 --> 00:12:52,890 Bởi vì điều cuối cùng tôi sẽ đến nay cung cấp cho bạn không phải là một, 279 00:12:52,890 --> 00:12:57,220 nhưng hai mảnh giấy. 280 00:12:57,220 --> 00:12:58,074 >> Tất cả các quyền. 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-O dấu phẩy và sau đó một dòng trống. 282 00:13:01,920 --> 00:13:04,780 Vì vậy, những gì tôi về bàn Alana giờ là một chút gì đó khác nhau. 283 00:13:04,780 --> 00:13:08,600 Không chỉ là cô nhận được điều này, nơi điền vào chỗ trống đại diện 284 00:13:08,600 --> 00:13:12,050 percent-- rằng những gì là giữ chỗ, chúng tôi đã sử dụng? 285 00:13:12,050 --> 00:13:13,890 Yeah, vì vậy phần trăm s. 286 00:13:13,890 --> 00:13:16,530 Trong khi đó tôi sẽ vượt qua của mình trong một cuộc tranh luận thứ hai, 287 00:13:16,530 --> 00:13:19,290 là chính xác những gì Javier lấy từ Jonathan. 288 00:13:19,290 --> 00:13:20,534 >> Vì vậy, hãy để tôi cung cấp cho bạn hai. 289 00:13:20,534 --> 00:13:22,575 Nếu bạn muốn, đi trước và in hiệu lực đó. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 Cuối cùng là những gì xảy ra bây giờ là, Alana lại 292 00:13:28,130 --> 00:13:29,410 đang chơi vai trò của printf. 293 00:13:29,410 --> 00:13:32,160 Javier đã chơi vai trò của GetString. 294 00:13:32,160 --> 00:13:34,700 Vì vậy, đó sẽ là món quà lưu niệm của bạn. 295 00:13:34,700 --> 00:13:39,910 Và cuối cùng những gì đang xảy ra, mặc dù này hello-- vâng đi trước và dấu phẩy. 296 00:13:39,910 --> 00:13:41,410 Alana: Tôi có nhận được điều này được nêu hay không? 297 00:13:41,410 --> 00:13:43,451 DAVID Malan: Đúng, bạn nhận được cả hai cùng một lúc. 298 00:13:43,451 --> 00:13:45,740 Vì vậy, ý tưởng là bạn bây giờ có thể lật trang 299 00:13:45,740 --> 00:13:50,000 để xử lý thứ hai của hai yếu tố đầu vào. 300 00:13:50,000 --> 00:13:53,280 Vì vậy, đây chỉ là búa nhà chỉ rằng trong khi thực hiện Alana 301 00:13:53,280 --> 00:13:55,830 dòng màu xanh lá cây này ở đây, và sau đó Javier đã làm điều này một cho chúng tôi 302 00:13:55,830 --> 00:13:57,820 và trả lại cho tôi một cái gì đó chúng tôi sẽ gọi s, nhưng nó đã thực sự 303 00:13:57,820 --> 00:13:59,520 chỉ là mảnh giấy của riêng mình. 304 00:13:59,520 --> 00:14:02,320 Và bây giờ Alana đã làm dòng thứ ba này. 305 00:14:02,320 --> 00:14:06,010 >> Và mặc dù tất cả những điều này có vẻ nên vô cùng khó hiểu có lẽ 306 00:14:06,010 --> 00:14:08,870 ở cái nhìn đầu tiên, nó thực sự là đơn giản như vậy. 307 00:14:08,870 --> 00:14:11,390 Đi qua đầu vào xung quanh, nhận được kết quả đầu ra, hoặc 308 00:14:11,390 --> 00:14:14,560 được thể chất giao lại một cái gì đó, hoặc nhìn thấy một tác dụng phụ như thế này. 309 00:14:14,560 --> 00:14:17,170 Một cái gì đó trực quan bằng văn bản trên màn hình. 310 00:14:17,170 --> 00:14:19,990 Vì vậy, chúng ta hãy đi trước và cảm ơn Alana và Javier, 311 00:14:19,990 --> 00:14:25,012 người đã xuống đây, cho tham gia với chúng tôi ở đây. 312 00:14:25,012 --> 00:14:25,934 >> [Vỗ tay] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> Vì vậy, bây giờ chúng ta hãy đưa cho các cấp như thế nào đơn giản tất cả có thể được. 315 00:14:33,480 --> 00:14:36,775 Và chúng ta hãy tiến hành thực làm điều gì đó trong mã thực tế. 316 00:14:36,775 --> 00:14:40,620 Vì vậy, trên màn hình, đây là một ảnh chụp màn hình của cái gọi là thiết bị CS50. 317 00:14:40,620 --> 00:14:43,980 Và nếu bạn có để ở, như một 02:00 vào buổi chiều thứ tư, 318 00:14:43,980 --> 00:14:46,602 giải thích cho một số người bạn những gì các thiết bị CS50 là, 319 00:14:46,602 --> 00:14:48,185 làm thế nào bạn có thể xác định nó trong một câu? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 Bất kỳ một câu? 322 00:14:53,240 --> 00:14:54,876 Vâng? 323 00:14:54,876 --> 00:14:57,334 HỌC SINH: Nó giống như một chương trình mà làm cho máy tính của mọi người 324 00:14:57,334 --> 00:14:58,460 chạy với cùng một hệ thống. 325 00:14:58,460 --> 00:14:59,210 DAVID Malan: Tốt! 326 00:14:59,210 --> 00:15:02,810 Đó là một chương trình cho phép tất cả mọi người của máy tính để chạy với cùng một hệ thống. 327 00:15:02,810 --> 00:15:04,920 Đó là loại của riêng bạn bản sao của một hoạt động 328 00:15:04,920 --> 00:15:07,540 hệ thống điều đó xảy ra được gọi là Ubuntu Linux. 329 00:15:07,540 --> 00:15:11,070 Và nó chạy hiệu quả bên trong một cửa sổ trên máy Mac hoặc máy PC của bạn, 330 00:15:11,070 --> 00:15:15,080 do đó cách này phải ra khỏi cổng trong tuần 1, tất cả mọi người ở đây trong lớp 331 00:15:15,080 --> 00:15:17,590 có quyền truy cập vào các công cụ tương tự, cùng cấu hình, 332 00:15:17,590 --> 00:15:21,250 và không có đường cong học tập cụ thể sang một máy Mac hoặc PC nói riêng. 333 00:15:21,250 --> 00:15:25,620 >> Bây giờ chúng ta mở ra, bên trong CS50 thiết bị ngày Thứ hai, chương trình này ở đây. 334 00:15:25,620 --> 00:15:27,040 Nó xảy ra được gọi là gedit. 335 00:15:27,040 --> 00:15:29,050 Nhưng đó là thực sự chỉ một trình soạn thảo đồ họa. 336 00:15:29,050 --> 00:15:33,170 Đó là một cái gì đó như Notepad hoặc Text Chỉnh sửa trên Windows hoặc Mac OS tương ứng. 337 00:15:33,170 --> 00:15:36,720 Và tôi đã đề xuất có thực sự ba phần quan trọng đối với màn hình này. 338 00:15:36,720 --> 00:15:39,560 Phía trên là nơi bạn sẽ viết mã của bạn. 339 00:15:39,560 --> 00:15:44,080 Và đó là nơi chúng tôi đã dành nhiều của chúng tôi ba ví dụ trong bài giảng hôm thứ hai. 340 00:15:44,080 --> 00:15:47,650 Phía dưới, chúng tôi gọi là gì, cửa sổ màu đen này, yeah? 341 00:15:47,650 --> 00:15:48,640 >> HỌC SINH: biên dịch? 342 00:15:48,640 --> 00:15:51,500 >> DAVID Malan: biên dịch chúng tôi truy cập bằng cách của cửa sổ đó. 343 00:15:51,500 --> 00:15:53,040 Nhưng nói chung hơn. 344 00:15:53,040 --> 00:15:54,540 Yeah, nó chỉ là một cửa sổ terminal. 345 00:15:54,540 --> 00:15:57,780 Đây là một hạn tuổi già mà chỉ mô tả bản chất là một nhấp nháy 346 00:15:57,780 --> 00:16:01,910 nhanh chóng, mà năm trước đây sử dụng được trên một trong những màn hình kiểu CRT lớn. 347 00:16:01,910 --> 00:16:04,300 Nhưng ngày nay nó sắp xếp ảo trong phần mềm. 348 00:16:04,300 --> 00:16:06,710 Và các cửa sổ thiết bị đầu cuối hãy cho chúng tôi gõ lệnh. 349 00:16:06,710 --> 00:16:11,750 Nó loại các phiên bản đơn giản giao diện người dùng hoặc giao diện người dùng. 350 00:16:11,750 --> 00:16:14,060 Nó không phải là một đồ họa giao diện người dùng hoặc giao diện, 351 00:16:14,060 --> 00:16:17,250 đó là một giao diện dựa trên văn bản hoặc một giao diện dòng lệnh. 352 00:16:17,250 --> 00:16:20,770 >> Và quả thực đó là nơi cuối cùng Tôi đã có thể viết một số mã. 353 00:16:20,770 --> 00:16:24,200 Một khi tôi đã viết một số mã mặc dù, nhớ lại rằng tôi đã sử dụng lệnh này. 354 00:16:24,200 --> 00:16:26,210 Và khi nó tên loại cho thấy, điều này 355 00:16:26,210 --> 00:16:29,860 cho phép tôi để thực hiện một chương trình gọi là Hello. 356 00:16:29,860 --> 00:16:33,400 Nhưng những gì được nó thực sự làm gì? 357 00:16:33,400 --> 00:16:36,180 Cũng làm được việc của tôi đầu vào, mã nguồn của tôi, 358 00:16:36,180 --> 00:16:39,380 và chuyển đổi nó với những gì, cuối cùng? 359 00:16:39,380 --> 00:16:40,060 >> Mã đối tượng. 360 00:16:40,060 --> 00:16:42,790 Và mã đối tượng chỉ là một ưa thích cách nói số không và những người thân. 361 00:16:42,790 --> 00:16:46,420 Và một khi tôi muốn để chạy mã đối tượng, 362 00:16:46,420 --> 00:16:50,940 khi tôi muốn vượt qua như là đầu vào những số không và những người vào máy tính của tôi 363 00:16:50,940 --> 00:16:54,430 não, cái gọi là CPU hoặc đơn vị xử lý trung tâm, 364 00:16:54,430 --> 00:16:55,730 Tôi đã phải chạy chương trình. 365 00:16:55,730 --> 00:16:59,042 Nhưng đó không phải là khá đơn giản vào thứ Hai như chỉ tăng gấp đôi cách nhấn vào một số biểu tượng. 366 00:16:59,042 --> 00:17:01,375 Thay vì những gì đã làm tôi phải làm để chạy một chương trình? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> Rằng lệnh thứ hai là gì? 369 00:17:07,890 --> 00:17:09,619 Tôi nghe một dấu gạch chéo ít? 370 00:17:09,619 --> 00:17:10,544 Có, yeah? 371 00:17:10,544 --> 00:17:12,474 >> HỌC SINH: Dot giảm và Tên của chương trình. 372 00:17:12,474 --> 00:17:13,349 DAVID Malan: Chính xác. 373 00:17:13,349 --> 00:17:15,030 Dot giảm và tên của chương trình. 374 00:17:15,030 --> 00:17:16,210 Bây giờ đã làm điều này có nghĩa là gì? 375 00:17:16,210 --> 00:17:19,470 Vâng chấm chỉ là một cách phức tạp nói mục hiện hành. 376 00:17:19,470 --> 00:17:23,440 Dù bạn đang ở trong thư mục là tham chiếu như là, được biểu diễn như là dấu chấm. 377 00:17:23,440 --> 00:17:26,680 Các dấu gạch chéo chỉ là những gì bạn đã nhìn thấy trong Mac OS và Windows trong nhiều năm, 378 00:17:26,680 --> 00:17:30,329 đó là một dấu phân cách giữa một thư mục hoặc thư mục và phần còn lại của một số tên. 379 00:17:30,329 --> 00:17:32,620 Trong Windows nó sẽ xảy ra đi ngược lại, trong Linux và Mac 380 00:17:32,620 --> 00:17:34,210 Hệ điều hành nó sẽ xảy ra đi về phía trước. 381 00:17:34,210 --> 00:17:37,560 Nhưng nó chỉ là dấu phân cách, vì vậy nó chỉ là một chi tiết cú pháp nhàm chán. 382 00:17:37,560 --> 00:17:40,440 >> Phần ngon ngọt của khóa học là tên của chương trình, Hello. 383 00:17:40,440 --> 00:17:42,650 Và đó là những gì làm được tạo ra cho chúng ta. 384 00:17:42,650 --> 00:17:44,910 Nó xuất ra tập tin đó cho chúng ta. 385 00:17:44,910 --> 00:17:46,700 Nhưng làm thế nào chúng tôi có được đến thời điểm đó? 386 00:17:46,700 --> 00:17:48,870 Bây giờ chúng ta yêu cầu câu hỏi, những gì đã thực sự 387 00:17:48,870 --> 00:17:52,470 xảy ra ở đây, ít nhất là với Đối với một số cú pháp này? 388 00:17:52,470 --> 00:17:57,000 >> Vì vậy, trong một câu hay như vậy, làm thế nào chúng tôi giải thích đi 389 00:17:57,000 --> 00:17:59,020 Dòng đầu tiên này đó là đánh dấu màu xanh? 390 00:17:59,020 --> 00:18:02,998 Những gì là dòng đầu tiên làm, Đối với chương trình của tôi với? 391 00:18:02,998 --> 00:18:03,974 Vâng? 392 00:18:03,974 --> 00:18:05,067 >> HỌC SINH: [không nghe được]. 393 00:18:05,067 --> 00:18:06,150 DAVID Malan: Nói lại lần nữa? 394 00:18:06,150 --> 00:18:08,734 HỌC SINH: Bao gồm và tải về chức năng qua [không nghe được]. 395 00:18:08,734 --> 00:18:09,483 DAVID Malan: Tốt. 396 00:18:09,483 --> 00:18:11,900 Bao gồm cả, tôi sẽ không nói tải về, nhưng chúng ta hãy nói 397 00:18:11,900 --> 00:18:15,500 bao gồm cả chức năng người đã viết trong quá khứ. 398 00:18:15,500 --> 00:18:18,260 Và những chức năng được thực hiện nơi nào đó trong máy tính của tôi. 399 00:18:18,260 --> 00:18:20,470 Một người nào đó đã viết một tập tin năm trước, và tập tin 400 00:18:20,470 --> 00:18:23,490 là một nơi nào đó bên trong CS50 thiết bị, hoặc trên ổ cứng của tôi 401 00:18:23,490 --> 00:18:24,480 nói chung. 402 00:18:24,480 --> 00:18:27,810 Và vì vậy dòng này là cơ bản nói, đi tìm tập tin đó, tiêu chuẩn I / O dot 403 00:18:27,810 --> 00:18:31,740 h, và sao chép và dán nội dung của nó ngay trên đầu trang của tập tin của tôi 404 00:18:31,740 --> 00:18:33,860 vì vậy mà tôi không cần phải làm điều đó bằng tay mình. 405 00:18:33,860 --> 00:18:40,970 >> Và trong số các mảnh juiciest bên trong tập tin mà chúng ta tuyên bố chức năng là những gì? 406 00:18:40,970 --> 00:18:45,740 Chức năng những gì chúng tôi đã nói được tuyên bố hoặc được đề cập trong tiêu chuẩn I / O chấm h 407 00:18:45,740 --> 00:18:47,120 có khả năng nhất? 408 00:18:47,120 --> 00:18:47,900 Printf, phải không? 409 00:18:47,900 --> 00:18:50,797 Chúng tôi đã không viết printf trên Thứ hai, nó chỉ tồn tại. 410 00:18:50,797 --> 00:18:52,880 Giống như Alana chỉ đến lên sân khấu và cô chỉ 411 00:18:52,880 --> 00:18:55,540 tồn tại và biết làm thế nào để vẽ một cái gì đó trên màn hình, 412 00:18:55,540 --> 00:18:58,660 do đó, hiện printf tồn tại trong nhiều năm. 413 00:18:58,660 --> 00:19:00,240 Và vì vậy đây là cách chúng tôi truy cập vào nó. 414 00:19:00,240 --> 00:19:03,280 Bây giờ nếu chúng ta di chuyển vào đây, chính là tương tự chúng tôi 415 00:19:03,280 --> 00:19:06,620 nói với các mảnh ghép gọi khi lá cờ màu xanh lá cây nhấp 416 00:19:06,620 --> 00:19:07,620 trong thế giới của Scratch. 417 00:19:07,620 --> 00:19:10,130 Nó chỉ là loại của tên mặc định mà con người 418 00:19:10,130 --> 00:19:13,340 quyết định sẽ đại diện cho mặc định điểm khởi đầu cho một chương trình. 419 00:19:13,340 --> 00:19:16,540 Các đoạn mã lập trình mà được thực hiện đầu tiên. 420 00:19:16,540 --> 00:19:19,700 >> Trong khi đó các dấu ngoặc nhọn là giống như hình dạng cong 421 00:19:19,700 --> 00:19:21,410 của rất nhiều những mảnh đầu màu vàng. 422 00:19:21,410 --> 00:19:24,860 Họ loại đóng gói toàn bộ loạt các hướng dẫn với nhau. 423 00:19:24,860 --> 00:19:28,350 Vì vậy, nó chỉ là loại liên kết với nhau một số chức năng liên quan. 424 00:19:28,350 --> 00:19:33,750 printf tất nhiên là một chức năng mà in màn hình, như chúng ta chỉ cần làm. 425 00:19:33,750 --> 00:19:35,190 >> Những gì về những dấu ngoặc đơn? 426 00:19:35,190 --> 00:19:38,770 Làm thế nào bạn sẽ define-- ngay cả khi bạn đã không bao giờ được lập trình trước, nhưng chỉ dựa 427 00:19:38,770 --> 00:19:41,320 bây giờ ngày càng tăng hy vọng trực giác, những gì 428 00:19:41,320 --> 00:19:43,290 được dấu ngoặc làm cho chúng ta ở đây? 429 00:19:43,290 --> 00:19:45,450 Hoặc những gì họ xung quanh? 430 00:19:45,450 --> 00:19:46,360 Vâng? 431 00:19:46,360 --> 00:19:49,360 >> HỌC SINH: Họ đang nói gì bạn sẽ in với printf. 432 00:19:49,360 --> 00:19:52,401 >> DAVID Malan: Vâng, họ đang nói gì bạn sẽ in với printf. 433 00:19:52,401 --> 00:19:56,260 Hay rộng hơn, họ xung quanh các yếu tố đầu vào cho hàm. 434 00:19:56,260 --> 00:19:58,530 Vì vậy, bạn gần như có thể nghĩ những dấu ngoặc đơn 435 00:19:58,530 --> 00:20:01,620 như là giống như kim loại clip trên vào clipboard này. 436 00:20:01,620 --> 00:20:05,940 Đó là những gì đang nắm giữ, đó là những gì sẽ được sử dụng để cung cấp luận cứ 437 00:20:05,940 --> 00:20:08,500 vào chức năng, mà trong trường hợp này được gọi là printf. 438 00:20:08,500 --> 00:20:12,390 >> Vì vậy, nói chung hầu hết các Hiện chúng ta gọi là một chức năng, 439 00:20:12,390 --> 00:20:14,280 chúng ta sẽ thấy một cặp dấu ngoặc đơn. 440 00:20:14,280 --> 00:20:17,000 Có lẽ với một cái gì đó trong nó, như bây giờ, có lẽ không có gì trong đó. 441 00:20:17,000 --> 00:20:19,770 Nhưng đó là nơi bạn sẽ đặt đầu vào hoặc cái gọi là đối số 442 00:20:19,770 --> 00:20:20,680 đến một chức năng. 443 00:20:20,680 --> 00:20:22,470 >> Đây là một lập luận như vậy. 444 00:20:22,470 --> 00:20:24,467 Tôi đã nêu bật tất cả mọi thứ giữa dấu ngoặc kép, 445 00:20:24,467 --> 00:20:26,300 bởi vì nó chỉ ra bằng ngôn ngữ này được gọi là 446 00:20:26,300 --> 00:20:29,950 C, khi bạn muốn đại diện cho một string-- đó là một từ hoặc một cụm từ 447 00:20:29,950 --> 00:20:33,470 hoặc thậm chí một paragraph-- bạn phải bao quanh nó với dấu ngoặc kép. 448 00:20:33,470 --> 00:20:35,420 Không có dấu ngoặc kép đơn, dấu ngoặc kép. 449 00:20:35,420 --> 00:20:37,460 Và đó chính xác là những gì tôi đã thực hiện ở đây. 450 00:20:37,460 --> 00:20:39,900 >> Trong khi đó có một sôi nổi biểu tượng về phía cuối đó. 451 00:20:39,900 --> 00:20:41,600 Các dấu gạch chéo ngược n. 452 00:20:41,600 --> 00:20:43,460 Chúng tôi đã nói gì đó đại diện? 453 00:20:43,460 --> 00:20:44,093 Vâng? 454 00:20:44,093 --> 00:20:44,980 >> HỌC SINH: Một dòng mới. 455 00:20:44,980 --> 00:20:45,896 >> DAVID Malan: dòng mới. 456 00:20:45,896 --> 00:20:47,910 Phải, bạn không thường nhấn Enter khi 457 00:20:47,910 --> 00:20:50,430 bạn muốn chương trình nhổ ra một dòng mới. 458 00:20:50,430 --> 00:20:54,210 Thay vào đó bạn nói với nó một cách rõ ràng với mảnh thừa nhận phức tạp này 459 00:20:54,210 --> 00:20:58,770 cú pháp, dấu gạch chéo ngược n, mà bạn muốn có một dòng sản phẩm mới đến đó. 460 00:20:58,770 --> 00:20:59,810 Cuối cùng là dấu chấm phẩy. 461 00:20:59,810 --> 00:21:01,560 Chúng tôi đã không thực sự nói chuyện quá nhiều về điều này, 462 00:21:01,560 --> 00:21:04,893 và cho đến nay đây sẽ là nguyên nhân suy sụp của một số về sự tồn tại của bạn cho vấn đề đầu tiên 463 00:21:04,893 --> 00:21:07,990 thiết lập, khi bạn chỉ thất bại trong việc nhận ra bạn đã quên một cái gì đó ngu ngốc 464 00:21:07,990 --> 00:21:08,614 như một dấu chấm phẩy. 465 00:21:08,614 --> 00:21:11,600 Và nói chung đặt nó sẽ khắc phục vấn đề đó. 466 00:21:11,600 --> 00:21:13,511 Nhưng những gì nó làm cho chúng tôi, bạn sẽ nói gì? 467 00:21:13,511 --> 00:21:15,670 >> HỌC SINH: [không nghe được]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID Malan: Xin lỗi? 469 00:21:17,484 --> 00:21:18,532 >> HỌC SINH: [không nghe được]. 470 00:21:18,532 --> 00:21:19,990 DAVID Malan: Kết thúc một tuyên bố. 471 00:21:19,990 --> 00:21:22,770 Nó giống như thời kỳ ở sự kết thúc của một câu tiếng Anh, 472 00:21:22,770 --> 00:21:25,790 trong khi đó ngôn ngữ này C nó kết thúc một tuyên bố. 473 00:21:25,790 --> 00:21:29,250 Một hướng dẫn của chương trình mã mà bạn chỉ muốn nói, 474 00:21:29,250 --> 00:21:30,500 Tôi đang thực hiện với điều này. 475 00:21:30,500 --> 00:21:32,240 Bây giờ nhận thấy rằng là người duy nhất ở đây. 476 00:21:32,240 --> 00:21:34,614 Vì vậy, bạn không muốn để có được trong một thói quen đặt dấu chấm phẩy 477 00:21:34,614 --> 00:21:36,190 sau mỗi lần đóng ngoặc. 478 00:21:36,190 --> 00:21:38,610 Ví dụ có không bên cạnh làm mất hiệu lực, và chúng tôi sẽ 479 00:21:38,610 --> 00:21:40,430 trở lại trong tương lai những gì có nghĩa là vô hiệu. 480 00:21:40,430 --> 00:21:44,080 Nhưng trong trường hợp này printf của bạn là một chức năng, hoặc một tuyên bố được sử dụng, 481 00:21:44,080 --> 00:21:47,420 và vì vậy chúng tôi muốn có mà ga cuối ở cuối của nó. 482 00:21:47,420 --> 00:21:50,980 >> Và tôi cố tình chọn vào C. Và thẳng thắn rất nhiều ngôn ngữ như C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, và bất kỳ số lượng các ngôn ngữ khác có rất nhiều các 484 00:21:55,000 --> 00:21:56,730 loại chi tiết cú pháp. 485 00:21:56,730 --> 00:22:00,120 Đó chắc chắn nếu bạn là người mới chương trình thực sự có thể chuyến đi bạn lên. 486 00:22:00,120 --> 00:22:02,307 Và bạn sẽ, đánh dấu của tôi từ, một số bạn sẽ 487 00:22:02,307 --> 00:22:04,140 có kinh nghiệm này trong giờ hành chính hoặc cuối 488 00:22:04,140 --> 00:22:07,554 vào ban đêm làm việc trên một số p-set, nơi chương trình chết tiệt của bạn chỉ cần không biên dịch, 489 00:22:07,554 --> 00:22:09,470 nó không chạy, bạn có không có ý tưởng gì sai, 490 00:22:09,470 --> 00:22:11,513 có vẻ như hoàn toàn logic đúng cho bạn. 491 00:22:11,513 --> 00:22:13,596 Và đó là bởi vì bạn quên một cái gì đó như đánh 492 00:22:13,596 --> 00:22:15,250 một dấu chấm phẩy ở cuối của một số dòng. 493 00:22:15,250 --> 00:22:17,590 >> Nhưng đó là những loại vật bạn sẽ ngay lập tức tìm hiểu xem. 494 00:22:17,590 --> 00:22:20,048 Và thực sự đó là những điều đó và lực lượng đặc nhiệm của của CA có 495 00:22:20,048 --> 00:22:23,210 được đào tạo loại để xem nhanh hơn so với bạn. 496 00:22:23,210 --> 00:22:26,610 Và vì vậy đây chỉ là để nói, khi bạn đi sâu vào vấn đề thiết lập 1 đặc biệt, 497 00:22:26,610 --> 00:22:28,217 không nhận được thất vọng bởi công cụ này. 498 00:22:28,217 --> 00:22:30,050 Một khi bạn loại thích nghi với thế giới, bạn 499 00:22:30,050 --> 00:22:35,130 bắt đầu thấy những điều mà bạn có thể không nhìn thấy ở cái nhìn đầu tiên trong tuần đầu tiên này. 500 00:22:35,130 --> 00:22:37,440 >> Vì vậy, mã nguồn là một cái gì đó như thế. 501 00:22:37,440 --> 00:22:40,370 Chúng tôi muốn vượt qua nó vào trình biên dịch được gọi là. 502 00:22:40,370 --> 00:22:42,850 Và đó là trình biên dịch chúng tôi đã nói cung cấp đầu ra 503 00:22:42,850 --> 00:22:45,660 được gọi là mã đối tượng, cái gọi là số không và những người thân. 504 00:22:45,660 --> 00:22:47,747 Nhưng từ đó, điều đó cho chúng ta? 505 00:22:47,747 --> 00:22:49,080 Nó cũng cho chúng ta những mô hình. 506 00:22:49,080 --> 00:22:52,020 Và một lần nữa máy tính của bạn, Intel bên trong của bạn, 507 00:22:52,020 --> 00:22:54,350 hiểu được những mô hình số không và những người thân. 508 00:22:54,350 --> 00:22:57,300 Và đôi khi mô hình đại diện một số thập phân thực tế 509 00:22:57,300 --> 00:22:59,770 như chúng ta đã thấy tuần trước, đôi khi nó đại diện cho một thư 510 00:22:59,770 --> 00:23:02,730 như chúng ta đã thấy tuần trước, đôi khi nó đại diện cho một hướng dẫn, 511 00:23:02,730 --> 00:23:05,460 như in cái gì đó ra màn hình. 512 00:23:05,460 --> 00:23:08,782 >> Vì vậy, printf cho instance-- nhưng thay vào đó, hãy để tôi quay lại. 513 00:23:08,782 --> 00:23:11,240 Chúng tôi đã dùng cho các cấp rằng những số không và những người thân 514 00:23:11,240 --> 00:23:14,200 sản xuất bởi lệnh này thực hiện. 515 00:23:14,200 --> 00:23:16,050 Nhưng làm cho không phải là một trình biên dịch. 516 00:23:16,050 --> 00:23:19,370 Làm cho không phải là điều ở giữa đó là sản xuất các số không và những người thân. 517 00:23:19,370 --> 00:23:23,780 Thay vì thực hiện chỉ là một rất thuận tiện chương trình có tên có mục đích trong cuộc sống 518 00:23:23,780 --> 00:23:27,267 chủ yếu là để tìm ra làm thế nào để biên dịch chương trình của bạn. 519 00:23:27,267 --> 00:23:29,350 Và chúng tôi sử dụng nó trong các tuần đầu tiên bởi vì nó chỉ 520 00:23:29,350 --> 00:23:30,910 tiết kiệm cho chúng tôi rất nhiều rắc rối. 521 00:23:30,910 --> 00:23:34,080 >> Nhưng những gì làm cho thực sự là làm khi bạn biên dịch hello, 522 00:23:34,080 --> 00:23:36,690 là, như chúng tôi đã nói thời gian qua, đó là tìm kiếm trên ổ cứng của bạn 523 00:23:36,690 --> 00:23:40,620 hoặc trong thư mục hiện hành, cho tập tin gọi là gì, rõ ràng? 524 00:23:40,620 --> 00:23:41,815 Hello.c, phải không? 525 00:23:41,815 --> 00:23:43,190 Đó chỉ là loại một quy ước. 526 00:23:43,190 --> 00:23:45,620 Đó là tùy ý, nhưng đó là cách mọi thứ. 527 00:23:45,620 --> 00:23:48,620 Thực hiện, nếu bạn chỉ cần chỉ định tên của một chương trình mà chưa tồn tại, 528 00:23:48,620 --> 00:23:52,200 nó sẽ tìm kiếm mã nguồn trong một tập tin, theo mặc định có nghĩa là hello.c. 529 00:23:52,200 --> 00:23:53,530 Và nếu nó tìm thấy nó, tuyệt vời. 530 00:23:53,530 --> 00:23:56,650 Nó sẽ chuyển đổi mã nguồn mã vào đối tượng mã cho bạn. 531 00:23:56,650 --> 00:23:59,670 >> Nhưng mỗi khi tôi đã nhấn Enter sau khi chạy làm hello, 532 00:23:59,670 --> 00:24:03,560 làm bạn nhớ lại lần cuối cùng nhìn thấy một khá dài và trình tự khó hiểu 533 00:24:03,560 --> 00:24:06,430 các chữ màu trắng khác và ký tự trên màn hình? 534 00:24:06,430 --> 00:24:11,220 Vâng đó là lệnh thực tế, trình biên dịch thực tế, đã được chạy. 535 00:24:11,220 --> 00:24:15,500 Vì vậy, các trình biên dịch thực tế chúng ta sẽ sử dụng hầu hết học kỳ là một cái gì đó gọi là kêu vang. 536 00:24:15,500 --> 00:24:19,280 Một số bạn có thể đã sử dụng Visual Studio trước khi, hoặc GCC, 537 00:24:19,280 --> 00:24:21,340 hoặc bất kỳ số lượng các trình biên dịch khác. 538 00:24:21,340 --> 00:24:22,620 Chúng tôi sẽ sử dụng kêu vang. 539 00:24:22,620 --> 00:24:26,950 >> Và kêu vang cho phép chúng ta thực sự chuyển đổi rằng mã nguồn để đối tượng mã. 540 00:24:26,950 --> 00:24:29,430 Những gì thực hiện điều này thực sự có nghĩa là trong thực tế? 541 00:24:29,430 --> 00:24:33,390 Vâng hãy để tôi đi vào một trong thư mục của tôi từ thời gian qua. 542 00:24:33,390 --> 00:24:35,760 Bên trong thiết bị CS50. 543 00:24:35,760 --> 00:24:42,080 Và hãy để tôi đi trước và tạo này cùng một tập tin, bao gồm tiêu chuẩn I / O dot h. 544 00:24:42,080 --> 00:24:42,875 Int void main. 545 00:24:42,875 --> 00:24:46,000 Và chúng ta sẽ quay trở lại trong tương lai khi những gì int phương tiện và những khoảng trống phương tiện. 546 00:24:46,000 --> 00:24:49,130 Nhưng bây giờ chúng ta hãy làm dấu gạch chéo ngược chào thế giới n, 547 00:24:49,130 --> 00:24:50,500 giống như chúng tôi đã làm trên diễn đàn. 548 00:24:50,500 --> 00:24:53,930 >> Hãy để tôi lưu tập tin này được gọi là hello.c. 549 00:24:53,930 --> 00:24:58,280 Và bây giờ nếu tôi muốn biên dịch này Tôi could-- cho tôi phóng to chạy in-- 550 00:24:58,280 --> 00:25:00,450 thực hiện chào nhập. 551 00:25:00,450 --> 00:25:02,645 Và điều này một lần nữa lại dòng rất khó hiểu. 552 00:25:02,645 --> 00:25:05,120 Nhưng bây giờ ít nhất một từ có thể nhảy ra ở bạn. 553 00:25:05,120 --> 00:25:07,087 Kêu vang là dòng chúng ta đã thấy trước đây. 554 00:25:07,087 --> 00:25:10,420 Bây giờ có rất nhiều công cụ khác thẳng thắn rằng chúng tôi sẽ vẫy tay của chúng tôi tại cho ngày hôm nay. 555 00:25:10,420 --> 00:25:14,020 Nhưng có một vài tập con, một vài nhân vật trong đây 556 00:25:14,020 --> 00:25:14,907 được quan tâm. 557 00:25:14,907 --> 00:25:16,490 Nhưng tôi sẽ đi trước và làm điều này. 558 00:25:16,490 --> 00:25:18,281 Tôi sẽ chạy đầu tiên hello, chỉ để chứng minh 559 00:25:18,281 --> 00:25:20,320 rằng điều này đang làm việc vì nó là thứ hai. 560 00:25:20,320 --> 00:25:22,330 Nhưng bây giờ tôi sẽ xóa các chương trình. 561 00:25:22,330 --> 00:25:25,870 Và cũng giống như chúng tôi đã có những tên ngắn thời gian qua, 562 00:25:25,870 --> 00:25:29,787 lệnh để loại bỏ một cái gì đó là rm, loại bỏ, nhập. 563 00:25:29,787 --> 00:25:31,870 Bạn sẽ nhận được một số câu hỏi khá khó hiểu. 564 00:25:31,870 --> 00:25:35,210 Khó để tin rằng bạn có thể làm thậm chí câu hỏi này khó hiểu. 565 00:25:35,210 --> 00:25:38,100 Tuy nhiên, loại bỏ các tập tin thường xuyên chào chỉ có nghĩa là bạn có muốn xóa hello. 566 00:25:38,100 --> 00:25:42,650 >> Và tôi có thể đi trước và gõ y cho có, Enter, và bây giờ nó đã biến mất. 567 00:25:42,650 --> 00:25:45,130 Điều này có nghĩa là bây giờ, nếu tôi xóa màn hình của tôi, 568 00:25:45,130 --> 00:25:47,301 là thay vì làm cho bạn hello-- 569 00:25:47,301 --> 00:25:48,800 biết những gì, tôi nhận được tốt lúc này. 570 00:25:48,800 --> 00:25:50,690 Tôi sẽ chạy trình biên dịch bản thân mình. 571 00:25:50,690 --> 00:25:53,330 Tôi không cần một số chương trình để tìm ra những gì được gọi là tập tin của tôi. 572 00:25:53,330 --> 00:25:55,370 Tôi đã viết hello.c, tôi biết những gì nó được gọi là, 573 00:25:55,370 --> 00:25:57,640 Tôi rõ ràng có khả năng gõ đó. 574 00:25:57,640 --> 00:26:02,620 Vì vậy, tôi sẽ đi trước và đừng kêu vang hello.c Enter. 575 00:26:02,620 --> 00:26:03,264 >> Dường như làm việc. 576 00:26:03,264 --> 00:26:05,930 Và không có thêm đầu ra, vì kêu vang là trình biên dịch. 577 00:26:05,930 --> 00:26:08,590 Đó là những gì đang chuyển đổi mã nguồn để số không và những người thân. 578 00:26:08,590 --> 00:26:12,870 Vì vậy, nếu bây giờ tôi làm dấu chấm giảm chào Enter, hm. 579 00:26:12,870 --> 00:26:14,630 Thông báo lỗi mới ngày hôm nay. 580 00:26:14,630 --> 00:26:17,610 Vì vậy, bash chỉ là tên của nhấp nháy nhắc nhở rằng chúng ta đang sử dụng. 581 00:26:17,610 --> 00:26:20,360 Đó là một tổng sự đơn giản, nhưng bây giờ đó là tất cả có nghĩa là, 582 00:26:20,360 --> 00:26:21,401 đó là dấu nhắc nhấp nháy. 583 00:26:21,401 --> 00:26:22,880 Và đó là lý do tại sao nó la hét vào chúng tôi. 584 00:26:22,880 --> 00:26:25,690 >> Không có tập tin hoặc thư mục là nhiều hơn một chút đơn giản. 585 00:26:25,690 --> 00:26:28,190 Nhưng chắc chắn tôi đã có mã đối tượng. 586 00:26:28,190 --> 00:26:30,930 Tuy nhiên, nắm bắt được, mà nếu tôi gõ lệnh 587 00:26:30,930 --> 00:26:34,650 để xem nội dung này thư mục, đó là những gì? 588 00:26:34,650 --> 00:26:36,210 ls cho danh sách. 589 00:26:36,210 --> 00:26:39,332 Có một loạt các công cụ ở đây, một số trong đó đi kèm với thiết bị, 590 00:26:39,332 --> 00:26:42,040 như thư mục Desktop của tôi, Downloads thư mục, thư mục Dropbox, và tất cả 591 00:26:42,040 --> 00:26:42,850 những thứ đó. 592 00:26:42,850 --> 00:26:45,410 Nhưng điều thú vị là hello.c, mà 593 00:26:45,410 --> 00:26:47,286 Tôi tạo ra một chút thời gian trước đây với gedit. 594 00:26:47,286 --> 00:26:49,160 Và kỳ lạ nhất là những gì tìm kiếm tên ở đây, 595 00:26:49,160 --> 00:26:53,110 có lẽ chúng ta đã không nhìn thấy lần cuối cùng ở tất cả? 596 00:26:53,110 --> 00:26:54,710 >> a.out, phải không? 597 00:26:54,710 --> 00:26:56,920 Vì vậy, trở lại trong ngày, nó chỉ quyết định khi 598 00:26:56,920 --> 00:26:58,760 bạn biên dịch một chương trình lần đầu tiên, 599 00:26:58,760 --> 00:27:02,360 và bạn không chỉ định tên của một tập tin, chúng ta hãy gọi nó là một. 600 00:27:02,360 --> 00:27:05,800 Và chỉ có nghĩa là a.out này đầu ra của trình biên dịch. 601 00:27:05,800 --> 00:27:07,790 Vì vậy, nó là một cái tên khủng khiếp cho một chương trình. 602 00:27:07,790 --> 00:27:12,820 Nhưng theo logic đó, dot giảm cho thư mục hiện hành, giảm a.out, 603 00:27:12,820 --> 00:27:16,102 nên có nghĩa là có trong thực tế tôi xin chào chương trình thế giới. 604 00:27:16,102 --> 00:27:17,560 Bây giờ một chút ấm lên tập thể dục, quá. 605 00:27:17,560 --> 00:27:20,420 Nếu tôi muốn đổi tên này tập tin, chỉ ra rằng bạn 606 00:27:20,420 --> 00:27:23,000 di chuyển một tập tin từ một tên khác. 607 00:27:23,000 --> 00:27:28,750 A.out Vì vậy, mv, và sau đó tôi có thể gọi nó chào Enter. 608 00:27:28,750 --> 00:27:30,940 Vì vậy, đây là một lệnh Linux. 609 00:27:30,940 --> 00:27:34,370 DOS đã có nhiều năm trước đây, Windows có một cửa sổ terminal 610 00:27:34,370 --> 00:27:36,460 của một số loại giống như thế này, Linux và Mac 611 00:27:36,460 --> 00:27:38,140 máy tính có dấu nhắc nhấp nháy này. 612 00:27:38,140 --> 00:27:41,490 Mặc dù hầu hết chúng ta có thể hiếm khi sử dụng nó. 613 00:27:41,490 --> 00:27:44,590 >> Nhưng những gì tôi đã làm là chạy một chương trình, có tên là mv, 614 00:27:44,590 --> 00:27:47,900 và tôi đã cung cấp nó với hai đối số, vậy để nói chuyện. 615 00:27:47,900 --> 00:27:48,630 Hai yếu tố đầu vào. 616 00:27:48,630 --> 00:27:50,260 a.out là tên ban đầu. 617 00:27:50,260 --> 00:27:51,630 Xin chào là tên mới. 618 00:27:51,630 --> 00:27:55,670 Vì vậy, nếu bây giờ tôi làm dấu chấm dấu gạch chéo hello, Enter, mà tồn tại. 619 00:27:55,670 --> 00:28:00,770 Và nếu tôi làm dấu chấm dấu gạch chéo a.out, làm những gì bạn mong đợi tôi sẽ thấy? 620 00:28:00,770 --> 00:28:02,250 >> Bash, không có tập tin hoặc thư mục. 621 00:28:02,250 --> 00:28:03,350 Bởi vì tôi chỉ cần đổi tên nó. 622 00:28:03,350 --> 00:28:04,975 Vì vậy, điều này cần có một chút nhận được sử dụng để. 623 00:28:04,975 --> 00:28:06,977 Nhưng vấn đề đặt 1 đặc điểm kỹ thuật sẽ thực sự 624 00:28:06,977 --> 00:28:08,810 giữ bàn tay của bạn thông qua một số minutae này. 625 00:28:08,810 --> 00:28:11,050 Bởi vì đây là một hoàn thành mất tập trung trí tuệ 626 00:28:11,050 --> 00:28:12,966 từ thú vị hơn ý tưởng ở bàn tay, mà 627 00:28:12,966 --> 00:28:15,310 là thực sự tạo ra một cái gì đó ra khỏi mã. 628 00:28:15,310 --> 00:28:18,830 Nhưng chúng ta hãy làm một sửa đổi nay đến chương trình này. 629 00:28:18,830 --> 00:28:23,150 >> Nhớ lại rằng thời gian qua tôi đã làm một cái gì đó như thế này, printf xưng danh của mình. 630 00:28:23,150 --> 00:28:25,790 Và thực sự, chúng tôi chỉ làm điều này trên màn hình lớn ở đó. 631 00:28:25,790 --> 00:28:30,640 Và sau đó tôi đã làm chuỗi s được GetString dấu ngoặc mở, dấu ngoặc đóng. 632 00:28:30,640 --> 00:28:33,430 Và dấu ngoặc chỉ là viết tắt ký hiệu cho dấu ngoặc đơn. 633 00:28:33,430 --> 00:28:36,460 Vì vậy, không có bất kỳ đối số GetString? 634 00:28:36,460 --> 00:28:38,440 Không có đầu vào không có, nhưng nó cần các dấu ngoặc đơn, 635 00:28:38,440 --> 00:28:41,830 bởi vì đó là những gì demarcates sự kêu gọi của một chức năng. 636 00:28:41,830 --> 00:28:46,440 >> Vì vậy, tôi sẽ đi trước và cố gắng chạy trình biên dịch vào chương trình này ngay bây giờ. 637 00:28:46,440 --> 00:28:50,774 Kêu vang hello.c, bởi vì tôi không thay đổi tên của nó bây giờ. 638 00:28:50,774 --> 00:28:51,940 Và tôi có một loạt các sai sót. 639 00:28:51,940 --> 00:28:53,570 Hãy nhìn vào đây. 640 00:28:53,570 --> 00:28:55,420 Nếu tôi di chuyển lên một lần nữa, như tôi đã nói thời gian qua, 641 00:28:55,420 --> 00:28:58,420 đến, cùng một lỗi đầu tiên mà tôi nhận được thời gian qua. 642 00:28:58,420 --> 00:29:04,210 On line 6 hello.c tôi đã có một chuỗi định không khai báo, 643 00:29:04,210 --> 00:29:05,590 Tôi có nghĩa là tiêu chuẩn? 644 00:29:05,590 --> 00:29:06,750 Tôi thì không. 645 00:29:06,750 --> 00:29:10,050 Bởi vì những gì sai lầm tôi đã có trong này chương trình, nếu bạn nhớ lại lần trước không? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 Vâng, chúng ta cần cái gọi là bánh xe đào tạo 648 00:29:15,010 --> 00:29:16,510 rằng chúng tôi sẽ chỉ sử dụng cho một vài tuần. 649 00:29:16,510 --> 00:29:19,480 Nhưng tôi cần phải xác định rằng cũng có, một nơi nào đó bên trong của thiết bị, 650 00:29:19,480 --> 00:29:22,720 là một tập tin mà chúng tôi đã viết chỉ là một vài năm trước đây. 651 00:29:22,720 --> 00:29:26,500 Bên trong đó là chức năng như rõ ràng GetString. 652 00:29:26,500 --> 00:29:35,160 Vì vậy, bây giờ nếu tôi quay trở lại xuống đây, phóng to, và chạy lại kêu vang hello.c. 653 00:29:35,160 --> 00:29:36,500 Chết tiệt, một lỗi khác. 654 00:29:36,500 --> 00:29:38,590 Nhưng chúng tôi đã không nhìn thấy điều này trước đây. 655 00:29:38,590 --> 00:29:41,900 >> Điều này là nhiều hơn một chút bí truyền để tìm ra. 656 00:29:41,900 --> 00:29:46,910 Nhưng điều này là cố ý trên màn hình, bởi vì chúng tôi muốn kể câu chuyện này. 657 00:29:46,910 --> 00:29:51,280 Khi bạn biên dịch hello.c, cũng giống như các hình ảnh từ trước khi đề nghị, 658 00:29:51,280 --> 00:29:54,650 bạn chỉ chuyển đổi mà mã nguồn để số không và những người thân. 659 00:29:54,650 --> 00:30:00,340 Bây giờ nhân viên CS50 một vài năm trước đây đã viết CS50.h, và một tập tin tương ứng, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 Và chúng tôi, một vài năm trước đây, biên soạn các tập tin 662 00:30:04,490 --> 00:30:07,290 vào một tập tin điều đó xảy ra để được gọi là CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> Hoặc nó có thể được đổi tên thành một vài điều khác nhau. 664 00:30:09,180 --> 00:30:11,054 Nhưng đó là một cách đơn giản suy nghĩ về nó. 665 00:30:11,054 --> 00:30:14,960 Vì vậy, chúng tôi biên soạn của CS50 thư viện thành số không và những người thân. 666 00:30:14,960 --> 00:30:20,340 Nhưng không nơi nào có tôi đã chỉ định mà tôi muốn kết hợp zero của tôi 667 00:30:20,340 --> 00:30:24,030 và những người cho thế giới chào của tôi chương trình với các số không và những người thân 668 00:30:24,030 --> 00:30:29,760 rằng nhân viên CS50 tạo ra một vài năm trước đây vào một chương trình hoàn chỉnh. 669 00:30:29,760 --> 00:30:34,100 Tất cả tôi đã chỉ định bằng văn bản hello.c kêu vang là biên dịch hello.c. 670 00:30:34,100 --> 00:30:38,380 >> Tôi đã không nói với kêu vang để liên kết trong số không và những người thân 671 00:30:38,380 --> 00:30:41,650 rằng nhân viên CS50 tạo cho bạn một số thời gian trước đây. 672 00:30:41,650 --> 00:30:48,280 Vì vậy, nó là một sửa chữa dễ dàng, dash l cho liên kết, CS50. 673 00:30:48,280 --> 00:30:52,600 Và chúng ta sẽ thấy điều này một lần nữa chẳng bao lâu nữa và một lần nữa. 674 00:30:52,600 --> 00:30:54,420 Nhưng hãy chú ý bây giờ không có khiếu nại. 675 00:30:54,420 --> 00:30:59,770 Vì vậy, bây giờ nếu tôi chạy dấu chấm dấu gạch chéo xin chào, bây giờ nó làm việc. 676 00:30:59,770 --> 00:31:03,840 Mặc dù đó là một chút sai lầm kể từ khi tôi chỉ tái tạo những tập tin? 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> Vì vậy, hãy để tôi quay lại chỉ một khoảnh khắc. 679 00:31:07,930 --> 00:31:10,900 Các chương trình chúng tôi đã biên dịch có ba dòng mã. 680 00:31:10,900 --> 00:31:14,710 Khi tôi chạy hello thế giới, xin chào một thời điểm trước đây, tôi không thấy nêu tên của bạn. 681 00:31:14,710 --> 00:31:17,080 Và đó là bởi vì tôi chạy phiên bản cũ của chương trình. 682 00:31:17,080 --> 00:31:22,700 Nhưng nếu tôi thực sự chạy dấu chấm dấu gạch chéo a.out Nhập, ghi tên của bạn, Rob, xin chào, 683 00:31:22,700 --> 00:31:23,370 thế giới. 684 00:31:23,370 --> 00:31:23,870 Hm. 685 00:31:23,870 --> 00:31:26,110 Đó là loại lỗi. 686 00:31:26,110 --> 00:31:28,560 Có lẽ muốn nói Rob, phải không? 687 00:31:28,560 --> 00:31:30,997 Vì vậy, việc sửa chữa những gì ở đây trong mã. 688 00:31:30,997 --> 00:31:31,872 HỌC SINH: [không nghe được]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID Malan: Chính xác. 691 00:31:39,290 --> 00:31:43,160 Vì vậy, tôi chỉ cần làm cho rằng ngắt cuối cùng vì vậy mà tôi đang đi qua trong một giữ chỗ, 692 00:31:43,160 --> 00:31:45,690 như một điền vào chỗ trống, như chúng ta đã làm một thời điểm trước đây. 693 00:31:45,690 --> 00:31:47,870 Nhưng phần trăm của giờ là mà điền vào chỗ trống. 694 00:31:47,870 --> 00:31:52,100 Vì vậy, cuối cùng chúng ta hãy tiết lộ mới nhất chi tiết để không có phép thuật. 695 00:31:52,100 --> 00:31:54,090 Tôi sẽ đi trước và thoát khỏi hellow. 696 00:31:54,090 --> 00:31:56,070 Tôi sẽ đi trước và thoát khỏi a.out. 697 00:31:56,070 --> 00:31:58,410 Vì vậy, bây giờ tôi không có chương trình, chỉ mã nguồn của tôi. 698 00:31:58,410 --> 00:32:01,100 Và tôi sẽ chạy một lệnh hơi dài, kêu vang 699 00:32:01,100 --> 00:32:05,650 dash o chào hello.c dấu gạch ngang LCS50. 700 00:32:05,650 --> 00:32:08,700 >> Bây giờ điều này đang bắt đầu loại đi trong một tai và ra khác có thể. 701 00:32:08,700 --> 00:32:10,366 Nhưng chỉ trêu chọc nhau những gì đang thực hiện. 702 00:32:10,366 --> 00:32:14,910 Kêu vang là trình biên dịch, dấu gạch ngang LCS50 cố tình vào cuối 703 00:32:14,910 --> 00:32:18,330 làm những gì trong một câu? 704 00:32:18,330 --> 00:32:19,607 Liên kết đến các thư viện CS50. 705 00:32:19,607 --> 00:32:21,440 Lấy các số không và những người mà các nhân viên thực hiện 706 00:32:21,440 --> 00:32:23,310 và nhồi nhét chúng vào chương trình của riêng tôi. 707 00:32:23,310 --> 00:32:27,040 Vì vậy, câu hỏi cuối cùng là ở bàn tay, là những gì có thể dash o chào 708 00:32:27,040 --> 00:32:30,530 làm, ngay cả khi bạn chưa bao giờ nhìn thấy cú pháp này trước khi? 709 00:32:30,530 --> 00:32:34,920 >> Xuất ra một chương trình đó là không đặt tên là a.out mặc định. 710 00:32:34,920 --> 00:32:37,330 Thay vào đó nó được đặt tên hello. 711 00:32:37,330 --> 00:32:39,460 Vì vậy, bây giờ không có a.out. 712 00:32:39,460 --> 00:32:42,660 Không có tập tin hoặc thư mục, vì tôi đã nói một cách rõ ràng 713 00:32:42,660 --> 00:32:46,720 gọi chương trình này xin chào, để Bây giờ tôi có thể gõ vào một tên như thế 714 00:32:46,720 --> 00:32:47,790 và có nó cư xử. 715 00:32:47,790 --> 00:32:50,180 >> Bây giờ mà nói, cậu bé là nhàm chán có 716 00:32:50,180 --> 00:32:52,170 nhớ tất cả điều đó minutia chút, phải không? 717 00:32:52,170 --> 00:32:54,180 Vì vậy, chúng ta hãy đi trước và thoát khỏi chào một lần nữa. 718 00:32:54,180 --> 00:32:57,880 Và bây giờ chúng ta quay trở lại một thế giới mà nó đủ để nói xin chào làm. 719 00:32:57,880 --> 00:33:00,410 Nhưng đó là sự kỳ diệu mà thực hiện là làm cho bạn, 720 00:33:00,410 --> 00:33:02,320 đó là sự nhàm chán mà nó làm cho bạn. 721 00:33:02,320 --> 00:33:04,630 Và như các chương trình của chúng tôi và vấn đề trở nên phức tạp hơn, 722 00:33:04,630 --> 00:33:06,142 làm cho thực sự sẽ là bạn của bạn. 723 00:33:06,142 --> 00:33:07,850 Bởi vì không phải là quá dài từ nay chúng ta sẽ 724 00:33:07,850 --> 00:33:11,150 có các chương trình được viết không phải với một tập tin, nhưng một số tập tin, 725 00:33:11,150 --> 00:33:16,310 và thực hiện sẽ tự động hóa quá trình biên dịch tất cả điều đó cho chúng ta với nhau. 726 00:33:16,310 --> 00:33:20,620 >> Vì vậy, bây giờ in. 727 00:33:20,620 --> 00:33:24,960 printf là bên trong của tập tin này, tiêu chuẩn I / O điểm h, chúng ta đã thấy trước đây, 728 00:33:24,960 --> 00:33:26,980 nhưng có nhiều printf hơn. 729 00:33:26,980 --> 00:33:30,482 Có n dấu gạch chéo ngược, nhưng cũng có một loạt các trình tự thoát khác. 730 00:33:30,482 --> 00:33:32,940 Và dãy thoát chỉ là một là cách nói một cái gì đó 731 00:33:32,940 --> 00:33:35,990 bắt đầu với một dấu gạch chéo ngược, không phải là một dấu gạch chéo, dấu gạch chéo ngược, 732 00:33:35,990 --> 00:33:37,920 và thực hiện một số điều đặc biệt. 733 00:33:37,920 --> 00:33:43,770 Và chúng tôi sẽ không dừng lại ở hầu hết các, nhưng tại sao lại có dấu gạch chéo ngược giá gấp đôi, 734 00:33:43,770 --> 00:33:44,830 Bạn nghĩ sao? 735 00:33:44,830 --> 00:33:48,010 Tại sao lại có chuỗi kỳ lạ này ký tự, dấu gạch chéo ngược giá gấp đôi, 736 00:33:48,010 --> 00:33:50,505 lý do tại sao có thể có ích? 737 00:33:50,505 --> 00:33:51,380 HỌC SINH: [không nghe được]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID Malan: Chính xác, phải không? 740 00:33:57,760 --> 00:34:01,830 Hãy nhớ lại chương trình thế giới hello của chúng tôi mà chúng tôi đã nhìn thấy một vài lần bây giờ, 741 00:34:01,830 --> 00:34:05,880 mỗi lần chúng ta đã nhìn thấy rằng hello thế giới chương trình chúng tôi đã có dấu ngoặc kép bên trong 742 00:34:05,880 --> 00:34:08,210 trong số đó là chào dấu phẩy n thế giới dấu gạch chéo ngược. 743 00:34:08,210 --> 00:34:10,070 Nhưng nghĩ đến bản thân, nếu bạn thực sự 744 00:34:10,070 --> 00:34:12,520 muốn in ra một dấu ngoặc kép? 745 00:34:12,520 --> 00:34:16,100 Bản năng đầu tiên của bạn có thể được, tôi không biết tại sao tôi có thể muốn do-- đây, 746 00:34:16,100 --> 00:34:18,780 chúng ta có thể là một chút thụ động tích cực, xin chào bạn. 747 00:34:18,780 --> 00:34:21,350 Chúng tôi có thể muốn làm một cái gì đó như thế. 748 00:34:21,350 --> 00:34:25,230 >> Nhưng tại sao điều này bây giờ có vấn đề? 749 00:34:25,230 --> 00:34:28,730 Bỏ qua các dấu ngoặc kép nhọn sang một bên mà phát biểu quan trọng làm cho chúng ta tự động. 750 00:34:28,730 --> 00:34:29,730 Tại sao đây là vấn đề? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> Chính xác. 753 00:34:37,270 --> 00:34:39,022 Bởi vì chúng tôi có giống như 4 dấu ngoặc kép. 754 00:34:39,022 --> 00:34:41,230 Cũng là người đầu tiên có thể đi với một thứ hai, 755 00:34:41,230 --> 00:34:43,271 và có thể một phần tư đi với một phần ba, 756 00:34:43,271 --> 00:34:46,170 hay, ý tôi là tôi thậm chí không chắc chắn, cũng không phải là máy tính có được. 757 00:34:46,170 --> 00:34:48,352 Máy tính một lần nữa, các trình biên dịch một lần nữa, là khá ngớ ngẩn. 758 00:34:48,352 --> 00:34:50,060 Họ sẽ chỉ làm những gì bạn nói với họ làm gì. 759 00:34:50,060 --> 00:34:54,270 Và nếu bạn không rõ ràng họ có thể sẽ ném ra một lỗi. 760 00:34:54,270 --> 00:34:57,700 >> Nếu bạn không rõ ràng như thế nào để làm bơ đậu phộng và mứt bánh sandwich 761 00:34:57,700 --> 00:34:59,510 những điều kỳ lạ có thể đến nơi. 762 00:34:59,510 --> 00:35:00,580 Đó là ý tưởng tương tự. 763 00:35:00,580 --> 00:35:03,100 Bây giờ chỉ cần nói có một số dãy thoát khác, 764 00:35:03,100 --> 00:35:04,820 nhưng chúng ta sẽ đến với những trước khi dài. 765 00:35:04,820 --> 00:35:07,410 Về cơ bản những thoát chuỗi đại diện cho một cái gì đó 766 00:35:07,410 --> 00:35:10,480 mà bạn có thể không có khả năng quá dễ dàng vào bàn phím, 767 00:35:10,480 --> 00:35:12,010 mà không gây nhầm lẫn cho máy tính. 768 00:35:12,010 --> 00:35:15,733 >> Bây giờ trong khi đó chúng tôi có giữ chỗ trong printf. 769 00:35:15,733 --> 00:35:19,630 Phần trăm d, mà cũng có thể được viết ở hầu hết các trường hợp theo phần trăm tôi, 770 00:35:19,630 --> 00:35:21,610 là một giữ chỗ cho kiểu dữ liệu? 771 00:35:21,610 --> 00:35:23,920 Loại giá trị? 772 00:35:23,920 --> 00:35:24,920 Một số thập phân. 773 00:35:24,920 --> 00:35:27,234 Vì vậy, thực sự chúng tôi sẽ bắt đầu sử dụng phần trăm tôi bởi vì nó 774 00:35:27,234 --> 00:35:28,650 một chút đơn giản, giống như một số nguyên. 775 00:35:28,650 --> 00:35:29,550 Phần trăm i. 776 00:35:29,550 --> 00:35:31,320 Một số nguyên sẽ xảy ra là số thập phân. 777 00:35:31,320 --> 00:35:35,690 >> Tỷ lệ phần trăm của chúng tôi đã nói là một giữ chỗ cho một chuỗi. 778 00:35:35,690 --> 00:35:38,630 Mà chỉ là một từ, một cụm từ, một đoạn văn, một bài luận, bất cứ điều gì. 779 00:35:38,630 --> 00:35:40,830 Đó là một chuỗi các nhân vật của một số chiều dài. 780 00:35:40,830 --> 00:35:42,820 Và chúng ta sẽ thấy chẳng bao lâu một số người khác. 781 00:35:42,820 --> 00:35:45,950 Nhưng phần trăm c là cho một nhân vật duy nhất. 782 00:35:45,950 --> 00:35:48,500 Phần trăm e là cho một nổi số điểm, 783 00:35:48,500 --> 00:35:50,860 như một số thực có một điểm thập phân ở trong đó, mà 784 00:35:50,860 --> 00:35:52,550 tất nhiên là không phải là một số nguyên. 785 00:35:52,550 --> 00:35:54,670 Và có một toàn bộ bó của những người khác. 786 00:35:54,670 --> 00:35:56,990 >> Trong khi đó trong C, và trong rất nhiều ngôn ngữ, 787 00:35:56,990 --> 00:35:58,650 chúng tôi có các loại dữ liệu khác nhau. 788 00:35:58,650 --> 00:36:00,650 Các loại bát thủy tinh nếu bạn sẽ. 789 00:36:00,650 --> 00:36:03,830 Bát tôi đã sử dụng lần cuối cùng đã cho quả bóng ping pong, 790 00:36:03,830 --> 00:36:06,990 nhưng chúng ta cũng có thể lưu trữ khác nhau giá trị như ký tự và chuỗi 791 00:36:06,990 --> 00:36:10,820 và số nguyên trong một container, như một biến, và C có này. 792 00:36:10,820 --> 00:36:14,020 Char là loại dữ liệu, kiểu của biến, 793 00:36:14,020 --> 00:36:15,700 trong đó bạn có thể lưu một ký tự. 794 00:36:15,700 --> 00:36:19,560 Float là một loại biến trong mà bạn có thể lưu trữ một số thực. 795 00:36:19,560 --> 00:36:21,220 >> Int là của khóa học cho một int. 796 00:36:21,220 --> 00:36:23,760 Và khá lố bịch đặt tên một lâu dài 797 00:36:23,760 --> 00:36:26,830 là nơi bạn có thể lưu trữ cơ bản một số thực sự dài, thậm chí 798 00:36:26,830 --> 00:36:29,930 nhiều chữ số sau đó một điển hình int lưu trữ sức mạnh. 799 00:36:29,930 --> 00:36:32,420 Nhưng chúng tôi sẽ trở lại mà chẳng bao lâu. 800 00:36:32,420 --> 00:36:35,520 >> Trong CS50 chấm h trong khi đó tập tin tiêu đề khác 801 00:36:35,520 --> 00:36:37,630 mà chúng tôi đã nhìn thấy một cặp vợ chồng thời gian sử dụng, có 802 00:36:37,630 --> 00:36:41,350 hai loại dữ liệu khác không tồn tại trong C thường. 803 00:36:41,350 --> 00:36:45,000 Một là chuỗi, và chúng ta sẽ thấy trong một vài tuần về chuỗi thực sự 804 00:36:45,000 --> 00:36:46,610 là dưới mui xe. 805 00:36:46,610 --> 00:36:47,950 Và một là bool. 806 00:36:47,950 --> 00:36:51,650 Và một bool là một biến chỉ có thể đưa vào giá trị nhất định. 807 00:36:51,650 --> 00:36:54,370 Và chỉ dựa vào tuần trước giải thích về Scratch, 808 00:36:54,370 --> 00:36:56,680 và gần đây hơn C, những gì bạn sẽ đoán 809 00:36:56,680 --> 00:37:01,770 là hai giá trị có thể cho một số container là loại bool? 810 00:37:01,770 --> 00:37:02,860 >> Có và không. 811 00:37:02,860 --> 00:37:03,870 Một và không. 812 00:37:03,870 --> 00:37:04,502 Đúng hay sai. 813 00:37:04,502 --> 00:37:07,460 Và quả thực đó là người cuối cùng có xu hướng là thông thường trong một chương trình 814 00:37:07,460 --> 00:37:10,030 ngôn ngữ, nói điều gì đó như đúng hay sai. 815 00:37:10,030 --> 00:37:13,160 >> Trong khi đó, thư viện CS50 đến với một loạt các chức năng 816 00:37:13,160 --> 00:37:16,640 rằng các nhân viên đã viết cho bạn, bên cạnh việc chỉ nhận được một chuỗi. 817 00:37:16,640 --> 00:37:20,910 Chúng tôi đã viết trong các chức năng trước đó có thể nhận được một số nguyên từ người sử dụng, 818 00:37:20,910 --> 00:37:22,990 có được một nhân vật duy nhất, có được một phao, mà 819 00:37:22,990 --> 00:37:25,160 chỉ là một số với dấu thập phân. 820 00:37:25,160 --> 00:37:28,290 Nhận một lâu dài, thực sự có giá trị lớn từ người sử dụng. 821 00:37:28,290 --> 00:37:30,930 Vì vậy, chúng ta chỉ nhìn thấy điều này trong hành động theo hình thức GetString. 822 00:37:30,930 --> 00:37:33,230 Tuy nhiên, thông qua các chức năng này sẽ sớm có thể viết 823 00:37:33,230 --> 00:37:36,070 chương trình có được đầu vào từ người sử dụng. 824 00:37:36,070 --> 00:37:39,230 >> Trong khi đó xem xét việc này chương trình, và xem xét 825 00:37:39,230 --> 00:37:42,600 làm thế nào bây giờ chúng ta có thể bắt đầu thêm nó với cấu trúc mới. 826 00:37:42,600 --> 00:37:44,530 Một tour du lịch cơn lốc nhanh và sau đó chúng tôi sẽ xem xét 827 00:37:44,530 --> 00:37:47,340 tại một số văn bản số chương trình bằng tay mình. 828 00:37:47,340 --> 00:37:49,700 Từ nay trở đi nếu chúng ta muốn thực hiện một điều kiện, 829 00:37:49,700 --> 00:37:52,790 nó sẽ trông không giống như một đẹp chút khá mảnh ghép. 830 00:37:52,790 --> 00:37:54,460 Nó sẽ tìm kiếm nhiều hơn một chút phức tạp. 831 00:37:54,460 --> 00:37:57,620 Nhưng điều này là kinh điển cấu trúc của một tình trạng trong C. 832 00:37:57,620 --> 00:38:00,380 >> Từ khi hai ngoặc đơn, bên trong đó 833 00:38:00,380 --> 00:38:02,590 là có được một số loại của biểu thức Boolean. 834 00:38:02,590 --> 00:38:04,999 Bây giờ các dấu gạch chéo dấu gạch chéo ở giữa, đây là 835 00:38:04,999 --> 00:38:07,290 tại thời điểm giống như đang giả giữ chỗ. 836 00:38:07,290 --> 00:38:11,576 Nhưng đúng hơn, bất kỳ dòng mã trong C bắt đầu với dấu gạch chéo dấu gạch chéo 837 00:38:11,576 --> 00:38:12,850 là một nhận xét. 838 00:38:12,850 --> 00:38:15,920 >> Nó giống như một lưu ý dính mà có lẽ bạn đặt trên một bài luận, in trên giấy. 839 00:38:15,920 --> 00:38:17,290 Đó là một lưu ý cho chính mình. 840 00:38:17,290 --> 00:38:20,100 Nó không có chức năng ảnh hưởng đến chương trình. 841 00:38:20,100 --> 00:38:23,580 Đó là loại một lời nhắc nhở, nó là của riêng bạn tài liệu hướng dẫn như những gì đang xảy ra. 842 00:38:23,580 --> 00:38:25,720 Vì vậy, làm được điều này vào lúc này là sắp xếp của một giữ chỗ 843 00:38:25,720 --> 00:38:27,560 cho bất cứ điều gì bên trong những dấu ngoặc nhọn 844 00:38:27,560 --> 00:38:29,810 cuối cùng là sẽ làm một cái gì đó. 845 00:38:29,810 --> 00:38:35,160 >> Trong khi đó bạn có hai nhánh trong đường, nếu một người nào khác xây dựng như thế này. 846 00:38:35,160 --> 00:38:37,024 Bạn có thể nếu, elseif, khác. 847 00:38:37,024 --> 00:38:39,690 Bây giờ nó là đáng chú ý, đặc biệt là nếu bạn đã được Googling xung quanh 848 00:38:39,690 --> 00:38:42,480 trực tuyến với các nguồn lực ra khỏi tò mò, hoặc nếu bạn nhận 849 00:38:42,480 --> 00:38:44,575 một trong những khóa học của sách đề nghị trên C, 850 00:38:44,575 --> 00:38:48,430 bạn sẽ thấy rằng con người có rất nhiều sở thích khác nhau về cách thức 851 00:38:48,430 --> 00:38:50,510 thể hiện bản thân trong mã. 852 00:38:50,510 --> 00:38:53,800 Một số người thích đặt dấu ngoặc nhọn như tôi đã làm ở đây. 853 00:38:53,800 --> 00:38:57,760 Một số người thích đặt xoăn niềng răng ví dụ ở đây. 854 00:38:57,760 --> 00:39:01,700 >> Một số người thích đặt elses ở đây và sau đó điều này ở đây. 855 00:39:01,700 --> 00:39:05,120 Có nhiều cách để viết mã, và không ai trong số họ 856 00:39:05,120 --> 00:39:06,566 là đúng cho mỗi gia nhập. 857 00:39:06,566 --> 00:39:08,440 Mặc dù có một vài đó là khá sai. 858 00:39:08,440 --> 00:39:11,315 Nhưng có no-- nếu điều này là cuối cùng là một cuộc tranh luận rất tôn giáo. 859 00:39:11,315 --> 00:39:13,940 Trong thực tế, một trong những khó chịu nhất điều về khoa học máy tính 860 00:39:13,940 --> 00:39:16,310 là cách khăng khăng khoa học máy tính có thể được. 861 00:39:16,310 --> 00:39:19,880 Và bạn sẽ tìm thấy theo thời gian thậm chí bạn phát triển sở thích cá nhân 862 00:39:19,880 --> 00:39:22,130 như thế nào mã của bạn nên xem xét. 863 00:39:22,130 --> 00:39:27,162 >> Không chỉ cư xử, không chỉ tạo ra sản lượng, nhưng làm thế nào nó sẽ giống về mặt thẩm mỹ. 864 00:39:27,162 --> 00:39:30,120 Vì vậy, những gì chúng tôi sẽ làm là hướng dẫn bạn trên đường hướng, bây giờ ít nhất, 865 00:39:30,120 --> 00:39:34,825 một phong cách CS50 tiêu chuẩn ít nhất giữ những điều thống nhất và dễ đọc. 866 00:39:34,825 --> 00:39:37,330 Nhưng thêm về những phân biệt trước khi dài. 867 00:39:37,330 --> 00:39:41,830 >> Một biểu thức logic trong C, nếu bạn muốn nói rằng nếu tình trạng này là đúng sự thật 868 00:39:41,830 --> 00:39:44,650 và điều kiện khác là đúng, bạn không viết chữ 869 00:39:44,650 --> 00:39:46,610 và, như bạn sẽ bằng tiếng Anh. 870 00:39:46,610 --> 00:39:50,580 Bạn thay vì sử dụng dấu và ký hiệu, vì lý do chúng tôi sẽ quay trở lại. 871 00:39:50,580 --> 00:39:54,520 Nếu bạn muốn nói hoặc bạn sử dụng hai thanh dọc, mà trên bàn phím Mỹ 872 00:39:54,520 --> 00:39:57,650 nói chung là trên Nhập tiếp theo chìa khóa để dấu gạch chéo ngược. 873 00:39:57,650 --> 00:40:03,080 Và điều này chỉ có nghĩa là nếu tình trạng này hoặc điều kiện khác điều này là đúng làm điều này. 874 00:40:03,080 --> 00:40:05,210 >> Trong khi đó có này Điều điên rồ, mà 875 00:40:05,210 --> 00:40:07,760 bạn sẽ có dịp sử dụng một lần trong một thời gian. 876 00:40:07,760 --> 00:40:10,390 Nhưng nó chỉ là một sự thay thế cách để thể hiện bản thân. 877 00:40:10,390 --> 00:40:12,400 Điều này, bây giờ, chúng ta hãy quy định, nó chỉ 878 00:40:12,400 --> 00:40:16,880 một cách sôi nổi thể hiện nếu, elseif, elseif, elseif, elseif. 879 00:40:16,880 --> 00:40:19,720 Nó chỉ là định dạng về các trường hợp, nơi bạn có nghĩa là 880 00:40:19,720 --> 00:40:23,420 liệt kê các giá trị bạn có thể muốn kiểm tra. 881 00:40:23,420 --> 00:40:24,410 >> Trong khi đó vòng. 882 00:40:24,410 --> 00:40:26,842 Chúng tôi nhìn thấy một so sánh Scratch với một vòng lặp. 883 00:40:26,842 --> 00:40:29,550 Và tôi sẽ vẫy tay tại những gì mỗi người trong số những điều này có nghĩa là. 884 00:40:29,550 --> 00:40:33,520 Nhưng chú ý rằng một vòng lặp sẽ rất thường bắt đầu với các từ khóa cho. 885 00:40:33,520 --> 00:40:36,350 Hoặc nó sẽ bắt đầu với các từ khóa trong khi. 886 00:40:36,350 --> 00:40:41,360 Hoặc nó sẽ bắt đầu với các từ khóa làm, và kết thúc với khi từ khóa. 887 00:40:41,360 --> 00:40:43,920 >> Nhưng những gì chúng tôi đang về để xem là những thứ như thế này. 888 00:40:43,920 --> 00:40:47,950 Đây là nói chung trong C, làm thế nào có lẽ bạn khai báo một biến và cung cấp cho nó một giá trị. 889 00:40:47,950 --> 00:40:50,610 Trong C nó không hiệu quả, như trong Scratch, bạn chỉ 890 00:40:50,610 --> 00:40:52,810 nói cho tôi một biến gọi là một cái gì đó. 891 00:40:52,810 --> 00:40:55,960 Bạn phải nói cho C và nói biên dịch của bạn, cụ thể hơn, 892 00:40:55,960 --> 00:40:58,680 loại giá trị mà bạn muốn đặt trong bát thủy tinh. 893 00:40:58,680 --> 00:40:59,610 >> Có một số nguyên? 894 00:40:59,610 --> 00:41:02,210 Nếu vậy, bạn phải nghĩa đen nói int và sau đó 895 00:41:02,210 --> 00:41:04,220 tên của biến, sau đó một dấu chấm phẩy. 896 00:41:04,220 --> 00:41:08,050 Nếu bạn muốn thay vì chuỗi và gọi nó s như tôi đã làm mã của tôi ở đây ngày hôm nay, 897 00:41:08,050 --> 00:41:10,920 bạn sẽ nói string s dấu chấm phẩy. 898 00:41:10,920 --> 00:41:14,200 Một khi bạn muốn cung cấp cho nó một giá trị sau đó bạn có thể sử dụng các dấu bằng, 899 00:41:14,200 --> 00:41:16,211 hay còn gọi là điều hành phân công. 900 00:41:16,211 --> 00:41:17,960 Và chú ý mỗi các dòng mã 901 00:41:17,960 --> 00:41:20,650 có dấu chấm phẩy ở kết thúc của nó. 902 00:41:20,650 --> 00:41:22,550 >> Nhưng thẳng thắn này chỉ nhìn một chút xấu xí. 903 00:41:22,550 --> 00:41:26,580 Tại sao tôi không thể nói với máy tính, cung cấp cho tôi một biến và khởi tạo nó bằng không. 904 00:41:26,580 --> 00:41:28,380 Đó là, cho tôi một bát thủy tinh rỗng. 905 00:41:28,380 --> 00:41:28,980 Trong khi bạn có thể. 906 00:41:28,980 --> 00:41:32,250 Và thế là một trong những án kêu gọi bạn sẽ phải làm cho phong cách theo thời gian 907 00:41:32,250 --> 00:41:36,290 được, bạn viết mã của bạn như thế này, hoặc bạn có loại làm sạch nó lên và gây ấn tượng 908 00:41:36,290 --> 00:41:39,040 người bằng cách viết hai dòng như chỉ là một. 909 00:41:39,040 --> 00:41:41,830 Và điều này sẽ được xem xét nói chung là một cách thanh lịch hơn 910 00:41:41,830 --> 00:41:43,870 viết mã của bạn phong cách. 911 00:41:43,870 --> 00:41:45,200 >> Chức năng chúng tôi tất nhiên nhìn thấy. 912 00:41:45,200 --> 00:41:46,340 Họ sẽ có định dạng này. 913 00:41:46,340 --> 00:41:48,881 Tên của một chức năng, một số ngoặc, và sau đó có thể một số 914 00:41:48,881 --> 00:41:49,910 thứ bên trong. 915 00:41:49,910 --> 00:41:52,540 Hoặc bạn có thể thấy công dụng của nhiều chức năng phụ 916 00:41:52,540 --> 00:41:55,980 bên cạnh, giống như một cái gì đó như thế này. 917 00:41:55,980 --> 00:41:59,390 Bây giờ là một tiếp tuyến, không trò đùa này ngay bây giờ có ý nghĩa? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [Cười] 920 00:42:04,960 --> 00:42:09,360 Nó không có nghĩa là nó buồn cười, nhưng nó không lẽ làm cho một chút cảm giác hơn. 921 00:42:09,360 --> 00:42:12,140 Vì vậy, bây giờ chúng ta hãy đi vào Thiết bị CS50 một lúc. 922 00:42:12,140 --> 00:42:14,640 Và hãy để tôi mở ra một teaser ở đây. 923 00:42:14,640 --> 00:42:17,470 >> Và thực sự là một trong những lý do giới thiệu cửa hàng IKEA 924 00:42:17,470 --> 00:42:20,080 và nhấp nháy hình của iPhone một chút trước 925 00:42:20,080 --> 00:42:24,700 đã thực sự gắn liền với nhau thực tế là chỉ một vài năm trước đây, vào năm 2007, 926 00:42:24,700 --> 00:42:26,540 đoạn mã này là phát hành, được 927 00:42:26,540 --> 00:42:29,820 một trong những thực hiện đầu tiên của một phần mềm 928 00:42:29,820 --> 00:42:31,494 mà những gì được gọi là jailbreak. 929 00:42:31,494 --> 00:42:34,410 Đối với những người không quen, jailbreaking một cái gì đó giống như một điện thoại hoặc một chiếc iPhone 930 00:42:34,410 --> 00:42:37,680 có nghĩa là về cơ bản tìm ra cách để làm điều 931 00:42:37,680 --> 00:42:39,864 với nó rằng công ty người đã làm cho nó không có ý định. 932 00:42:39,864 --> 00:42:42,780 Cũng giống như bạn muốn cài đặt một số phần mềm mà không có trong các cửa hàng ứng dụng, 933 00:42:42,780 --> 00:42:45,405 jailbreak điện thoại của bạn mà bạn làm những điều như thế và nhiều hơn nữa. 934 00:42:45,405 --> 00:42:47,447 Nhưng những gì thú vị trong 2007-- và có được 935 00:42:47,447 --> 00:42:49,780 hàng chục phiên bản khác nhau những điều này kể từ đó, 936 00:42:49,780 --> 00:42:53,540 trong tất cả các loại languages-- là chương trình này ở đây, được gọi là iUnlock, 937 00:42:53,540 --> 00:42:57,036 đã thực sự được viết bằng C. Và vì vậy tôi kéo lên mã nguồn cho điều này, 938 00:42:57,036 --> 00:42:59,910 chỉ để loại cho bạn một số những điểm tương đồng với các cấu trúc 939 00:42:59,910 --> 00:43:01,450 chúng tôi đã thảo luận cho đến nay. 940 00:43:01,450 --> 00:43:05,150 Bây giờ có cách phức tạp hơn ở đây hơn chúng ta đã nhìn thấy đã có trong lớp. 941 00:43:05,150 --> 00:43:07,160 Hãy để tôi di chuyển lên một chút ở đây. 942 00:43:07,160 --> 00:43:11,520 >> Nhưng hãy chú ý these-- cũng chúng tôi nhận thấy một vài things-- nhưng nhận thấy những dòng này ở đây, 943 00:43:11,520 --> 00:43:14,090 bao gồm cả tiêu chuẩn I / O dot h. 944 00:43:14,090 --> 00:43:17,660 Và cả-- dòng 24, please-- nhận tiêu chuẩn I / O 945 00:43:17,660 --> 00:43:21,380 điểm h và một bó toàn bộ khác các tập tin mà mọi người dường như khác 946 00:43:21,380 --> 00:43:22,160 đã viết. 947 00:43:22,160 --> 00:43:24,850 Và nếu chúng ta di chuyển xuống qua này, ít tùy tiện, 948 00:43:24,850 --> 00:43:27,910 việc thông báo tôi không biết làm thế nào để viết tất cả những điều bản thân mình nhất thiết nào, 949 00:43:27,910 --> 00:43:28,880 nhưng nếu có. 950 00:43:28,880 --> 00:43:30,400 Vì vậy, rõ ràng này có một chi nhánh. 951 00:43:30,400 --> 00:43:33,210 >> Và nếu tôi di chuyển xuống một chút tiếp tục có khác nếu. 952 00:43:33,210 --> 00:43:38,210 Nếu tôi di chuyển lên, tôi nghĩ trên đường 100, tôi thấy cho. 953 00:43:38,210 --> 00:43:40,020 Vì vậy, tôi không khá chắc chắn làm thế nào các công trình này chưa, 954 00:43:40,020 --> 00:43:43,180 nhưng đây là một vòng lặp đó sẽ hãy để tôi lặp lại một số lần. 955 00:43:43,180 --> 00:43:45,230 Và nếu tôi di chuyển tất cả các cách để phía dưới 956 00:43:45,230 --> 00:43:51,020 Tôi thấy rằng có một hoạt động ở đây được gọi là 957 00:43:51,020 --> 00:43:54,570 chính, và một số khoản tín dụng bổ sung cho niềm vui đọc sách của bạn. 958 00:43:54,570 --> 00:43:57,830 >> Vì vậy, đây là chỉ để say-- và chúng tôi sẽ đặt trực tuyến này trong mã nguồn của khóa học 959 00:43:57,830 --> 00:44:01,480 đang today-- mà ngay cả một số trong những các thiết bị mà chúng tôi đưa cho các cấp, 960 00:44:01,480 --> 00:44:05,130 vào cuối ngày bạn vẫn sử dụng các cấu trúc cơ bản mà chúng tôi đã 961 00:44:05,130 --> 00:44:07,430 được giới thiệu đã vậy, đến nay. 962 00:44:07,430 --> 00:44:08,620 Đó là đủ của một. 963 00:44:08,620 --> 00:44:11,480 Được rồi, vì vậy bây giờ chúng ta hãy thực sự xây dựng một cái gì đó. 964 00:44:11,480 --> 00:44:15,640 >> Chúng ta hãy đi xa hơn một cái gì đó giống như hello.c, và mở ra này, 965 00:44:15,640 --> 00:44:17,170 hãy viết chương trình này ở đây. 966 00:44:17,170 --> 00:44:19,850 Tôi sẽ đi trước và viết một chương trình gọi là adder.c, 967 00:44:19,850 --> 00:44:23,310 mục đích mà trong cuộc sống là có được giống như lần đầu tiên máy tính siêu đơn giản của tôi 968 00:44:23,310 --> 00:44:24,840 mà chỉ cần thêm một vài con số. 969 00:44:24,840 --> 00:44:27,050 Không phải vì đó là một khó khăn vấn đề, nhưng bởi vì nó 970 00:44:27,050 --> 00:44:29,390 cho phép tôi để bây giờ buộc cùng một vài điều. 971 00:44:29,390 --> 00:44:33,100 Vì vậy, tôi sẽ đi trước và bao gồm tiêu chuẩn I / O dot h và CS50 chấm h. 972 00:44:33,100 --> 00:44:34,670 Tôi sẽ nói int void main. 973 00:44:34,670 --> 00:44:36,545 Và một lần nữa trong tương lai chúng ta sẽ trở về với nó 974 00:44:36,545 --> 00:44:38,560 vào trong bối cảnh này hiệu phương tiện. 975 00:44:38,560 --> 00:44:43,340 >> Và bây giờ tôi sẽ nói điều gì đó giống như printf, cho tôi một số nguyên. 976 00:44:43,340 --> 00:44:47,610 Và bây giờ trên dòng thứ hai của tôi, làm thế nào để thể hiện bản thân mình như vậy 977 00:44:47,610 --> 00:44:50,980 mà tôi muốn khai báo một biến đó sẽ lưu trữ một int? 978 00:44:50,980 --> 00:44:55,470 Nghĩa là những gì tôi gõ nếu tôi muốn tạo ra một biến mà các cửa hàng một int 979 00:44:55,470 --> 00:44:58,270 bạn sẽ nói gì? 980 00:44:58,270 --> 00:44:59,650 int một bằng getInt. 981 00:44:59,650 --> 00:45:00,485 Chắc chắn, để hoạt động. 982 00:45:00,485 --> 00:45:02,360 Và để thống nhất với mã bạn sẽ 983 00:45:02,360 --> 00:45:04,485 xem trực tuyến, hãy để tôi thay đổi này để x, chỉ vì x 984 00:45:04,485 --> 00:45:06,830 là một tên biến phổ biến sử dụng, ít nhất là trong đại số. 985 00:45:06,830 --> 00:45:08,720 Bây giờ hãy để tôi đi trước và làm printf một lần nữa. 986 00:45:08,720 --> 00:45:10,692 Hãy cho tôi một số nguyên. 987 00:45:10,692 --> 00:45:12,900 Và bây giờ tôi sẽ loại của học hỏi từ mô hình này, 988 00:45:12,900 --> 00:45:14,490 Tôi sẽ nói int y được cho getInt. 989 00:45:14,490 --> 00:45:16,340 >> Và chúng tôi đã không được sử dụng GetInt trước đó, nhưng chỉ 990 00:45:16,340 --> 00:45:19,860 như GetString đi và nhận được một chuỗi, như Javier đã từ khán giả, 991 00:45:19,860 --> 00:45:22,780 tương tự như vậy không getInt bắt đầu nhấp nháy dấu nhắc. 992 00:45:22,780 --> 00:45:26,750 Và hiệu quả chờ đợi cho người sử dụng để cung cấp cho nó một số nguyên, bằng cách gõ nó trong 993 00:45:26,750 --> 00:45:27,900 và nhấn Enter. 994 00:45:27,900 --> 00:45:30,850 Bây giờ cuối cùng tôi sẽ làm này, printf tổng of-- 995 00:45:30,850 --> 00:45:36,080 và cho tôi có được now-- ưa thích trăm phần trăm tôi và tôi có mặt 996 00:45:36,080 --> 00:45:39,270 i điểm chấm than dấu gạch chéo ngược n. 997 00:45:39,270 --> 00:45:42,750 Và điều gì làm bạn nghĩ rằng tôi sẽ đến đưa vào bây giờ là đầu vào bổ sung 998 00:45:42,750 --> 00:45:44,620 printf? 999 00:45:44,620 --> 00:45:47,380 >> Tôi không muốn nói nghĩa là trích dẫn x unquote. 1000 00:45:47,380 --> 00:45:52,210 Tôi muốn lớp trong x và sau đó, và bây giờ chúng ta có được ưa thích 1001 00:45:52,210 --> 00:45:54,420 và chúng ta hãy giả định chúng ta có thể làm những gì chúng ta muốn. 1002 00:45:54,420 --> 00:45:56,330 Những gì bạn muốn nói tới? 1003 00:45:56,330 --> 00:45:57,070 x cộng với y. 1004 00:45:57,070 --> 00:45:58,520 Và thực sự sẽ làm việc. 1005 00:45:58,520 --> 00:46:01,760 Nó tối thiểu ngôn ngữ lập trình làm hiểu số học cơ bản, 1006 00:46:01,760 --> 00:46:03,500 và vì vậy điều này nên trong thực tế công việc. 1007 00:46:03,500 --> 00:46:06,730 >> Vì vậy, hãy để tôi đi trước và làm cho cộng trong cửa sổ màu đen và trắng của tôi 1008 00:46:06,730 --> 00:46:08,090 xuống đây, Enter. 1009 00:46:08,090 --> 00:46:10,830 Dòng khó hiểu nhưng không có lỗi tin nhắn, vì vậy đó là tốt. 1010 00:46:10,830 --> 00:46:14,410 Dot giảm cộng, đưa cho tôi một số nguyên, 1. 1011 00:46:14,410 --> 00:46:16,230 Hãy cho tôi một số nguyên, 2. 1012 00:46:16,230 --> 00:46:18,770 Tổng của 1 và 2 là 3. 1013 00:46:18,770 --> 00:46:21,730 >> Được rồi, do đó, một khá tầm thường chương trình, nhưng những gì nó được thực hiện? 1014 00:46:21,730 --> 00:46:25,680 Nó cho phép tôi sử dụng một chức năng gọi đây, gọi chức năng khác ở đây, 1015 00:46:25,680 --> 00:46:29,260 hai cuộc gọi đến getInt, một thứ ba cuộc gọi đến printf, 1016 00:46:29,260 --> 00:46:30,720 và sau đó sử dụng các giữ chỗ. 1017 00:46:30,720 --> 00:46:33,160 Vì vậy, nó là nhiều hơn một chút tinh vi hơn so với thời gian qua. 1018 00:46:33,160 --> 00:46:35,260 Nhưng nếu tôi muốn có được một chút sành điệu? 1019 00:46:35,260 --> 00:46:38,900 >> Hãy để tôi đi trước và bây giờ làm điều này. 1020 00:46:38,900 --> 00:46:42,890 Hãy để tôi đi trước và tạo ra một tập tin mới được gọi là điều kiện số không. 1021 00:46:42,890 --> 00:46:44,890 Và tôi sẽ tiết kiệm một thời gian cho các lớp học vì lợi ích 1022 00:46:44,890 --> 00:46:48,260 và chỉ cần dán trong đó mã như là một điểm khởi đầu. 1023 00:46:48,260 --> 00:46:51,510 Và bây giờ tôi chỉ cần đi đặt một cái gì đó mới đây ở giữa. 1024 00:46:51,510 --> 00:46:55,889 Vì vậy, printf Tôi muốn xin một số nguyên. 1025 00:46:55,889 --> 00:46:58,180 Và tất cả các mã này có sẵn trên trang web của khóa học, 1026 00:46:58,180 --> 00:47:00,556 bạn không cần phải gõ tất cả ra trong lớp nếu bạn không muốn. 1027 00:47:00,556 --> 00:47:02,638 int, và bây giờ tôi sẽ sử dụng, thay vì x và y, 1028 00:47:02,638 --> 00:47:05,270 Tôi sẽ sử dụng n, đó là có lẽ là tên phổ biến nhất 1029 00:47:05,270 --> 00:47:09,220 cho một số nguyên trong một chương trình máy tính. 1030 00:47:09,220 --> 00:47:12,060 Và bây giờ tôi muốn làm một ít phán xét ở đây. 1031 00:47:12,060 --> 00:47:15,460 Tôi sẽ xem nếu n là lớn hơn 0, sau đó 1032 00:47:15,460 --> 00:47:23,670 Tôi sẽ nói Lỗi chính printf--, printf-- bạn chọn một số dương, 1033 00:47:23,670 --> 00:47:25,370 chấm than dấu gạch chéo ngược điểm n. 1034 00:47:25,370 --> 00:47:26,460 Đóng đó. 1035 00:47:26,460 --> 00:47:33,150 Khác tôi sẽ in ra printf bạn chọn một số âm. 1036 00:47:33,150 --> 00:47:35,377 >> Bây giờ trước khi bạn hét vào mặt tôi, chúng ta hãy chạy chương trình này. 1037 00:47:35,377 --> 00:47:36,210 Hãy để tôi đi xuống đây. 1038 00:47:36,210 --> 00:47:40,730 Và làm thế nào để biên dịch chương trình được gọi là điều kiện dash 0? 1039 00:47:40,730 --> 00:47:42,300 Tạo điều kiện dash 0. 1040 00:47:42,300 --> 00:47:45,560 Loại một tên ngu ngốc, nhưng-- chết tiệt. 1041 00:47:45,560 --> 00:47:47,560 OK, lúc giảng dạy tốt. 1042 00:47:47,560 --> 00:47:48,410 Tại sao mà phá vỡ? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> Điều gì đã làm tôi vô tình gọi tập tin này? 1045 00:47:54,710 --> 00:47:56,876 Bạn có thể loại suy luận từ tab ở đây. 1046 00:47:56,876 --> 00:47:58,750 Vì vậy, nó không phải là xấu mà tôi đã làm điều này, bởi vì đây 1047 00:47:58,750 --> 00:48:00,208 có lẽ sẽ xảy ra với một số bạn. 1048 00:48:00,208 --> 00:48:03,880 Vì vậy, tôi vô tình được đặt tên của tôi mã nguồn điều kiện 0. 1049 00:48:03,880 --> 00:48:09,950 Tuy nhiên, mã nguồn của tôi nên theo quy ước được trong một tập tin gọi là điều kiện 0 dash c, 1050 00:48:09,950 --> 00:48:11,720 hoặc bất cứ dấu chấm c. 1051 00:48:11,720 --> 00:48:12,610 >> Vì vậy, hãy để tôi sửa lỗi này. 1052 00:48:12,610 --> 00:48:16,880 Cũng giống như Microsoft Word tôi có thể đi lên để Save As và làm tình trạng 0 điểm c. 1053 00:48:16,880 --> 00:48:20,100 Bây giờ chỉ để được gọn gàng tôi sẽ đi trước và loại bỏ 1054 00:48:20,100 --> 00:48:23,020 điều kiện 0, đó là phiên bản cũ của tôi. 1055 00:48:23,020 --> 00:48:26,550 Và bây giờ chúng ta hãy làm cho điều kiện 0, Enter. 1056 00:48:26,550 --> 00:48:27,870 OK, có vẻ tốt. 1057 00:48:27,870 --> 00:48:29,510 >> Điều kiện 0, Enter. 1058 00:48:29,510 --> 00:48:33,530 Tôi muốn xin một số nguyên, 50, bạn chọn một số dương. 1059 00:48:33,530 --> 00:48:35,390 Bây giờ làm thế nào về âm 50? 1060 00:48:35,390 --> 00:48:37,660 Bạn đã chọn một số âm. 1061 00:48:37,660 --> 00:48:39,605 Làm thế nào về bây giờ, 0. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 Đẹp, chắc chắn 0 không phải tiêu cực. 1064 00:48:45,350 --> 00:48:47,780 >> Vì vậy, đây là loại một lỗi logic. 1065 00:48:47,780 --> 00:48:50,680 Làm thế nào để sửa lỗi này? 1066 00:48:50,680 --> 00:48:57,260 Khác nếu n là nhỏ hơn 0, làm được điều này, khác chúng ta có thể có một chi nhánh cách đây ba, 1067 00:48:57,260 --> 00:49:01,740 printf bạn chọn 0. 1068 00:49:01,740 --> 00:49:06,150 Vì vậy, bây giờ nếu tôi chạy này chương trình, sau khi biên dịch nó 1069 00:49:06,150 --> 00:49:10,790 một lần nữa với thực hiện, và bây giờ chạy điều kiện 0, những gì tôi sẽ thấy ở đây 1070 00:49:10,790 --> 00:49:14,570 0 mang lại cho tôi ra đó. 1071 00:49:14,570 --> 00:49:16,280 Vì vậy, chúng ta đi đâu với điều này? 1072 00:49:16,280 --> 00:49:18,930 >> Nó cũng rất dễ dàng để đánh mất của rừng cây. 1073 00:49:18,930 --> 00:49:23,590 Và vì vậy cho phép chúng ta kết luận với video 2 phút và 1/2 này 1074 00:49:23,590 --> 00:49:25,710 mà cuối cùng là một chút của một quảng cáo từ Google, 1075 00:49:25,710 --> 00:49:28,850 nhưng đó thực sự là minh chứng cho những gì thậm chí sử dụng các xây dựng cơ bản 1076 00:49:28,850 --> 00:49:33,020 khối cuối cùng chúng ta có thể làm một lần chúng ta có một chút về lập trình 1077 00:49:33,020 --> 00:49:34,463 hiểu biết dưới thắt lưng của chúng tôi. 1078 00:49:34,463 --> 00:49:35,150 >> [MUSIC CHƠI] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO Brierley (lồng tiếng): Đó là cách đây 26 năm, 1081 00:49:40,540 --> 00:49:42,470 và tôi chỉ là về để biến 5. 1082 00:49:42,470 --> 00:49:45,465 Chúng tôi tới ga xe lửa và chúng tôi lên tàu của chúng tôi với nhau. 1083 00:49:45,465 --> 00:49:48,010 Anh trai tôi chỉ nói tôi sẽ ở đây, và tôi sẽ trở lại. 1084 00:49:48,010 --> 00:49:51,140 Và tôi chỉ nghĩ rằng, bạn cũng biết, Tôi cũng có thể chỉ cần đi ngủ 1085 00:49:51,140 --> 00:49:52,690 và anh ta sẽ chỉ đánh thức tôi dậy. 1086 00:49:52,690 --> 00:49:55,145 Và khi tôi tỉnh dậy tiếp theo ngày, toàn bộ vận chuyển 1087 00:49:55,145 --> 00:49:59,125 trống rỗng trên một chuyến tàu chạy trốn, một con ma tàu đưa tôi đi tôi không biết ở đâu. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> Tôi đã được thông qua ra đến Úc, một gia đình người Úc. 1090 00:50:06,280 --> 00:50:09,710 Và mẹ đã trang trí của tôi phòng với bản đồ của Ấn Độ, 1091 00:50:09,710 --> 00:50:11,950 mà cô đặt bên cạnh giường của tôi. 1092 00:50:11,950 --> 00:50:15,830 Mỗi buổi sáng tôi thức dậy nhìn thấy bản đồ đó, và do đó 1093 00:50:15,830 --> 00:50:18,530 nó loại lưu giữ những kỷ niệm sống. 1094 00:50:18,530 --> 00:50:20,530 Mọi người sẽ nói, bạn cố gắng tìm một cây kim 1095 00:50:20,530 --> 00:50:23,560 trong một đống cỏ khô, Saroo bạn sẽ không bao giờ tìm thấy nó. 1096 00:50:23,560 --> 00:50:28,540 >> Tôi đã lóe lên trong những nơi mà tôi sử dụng để đi, nhấp nháy của gia đình tôi 1097 00:50:28,540 --> 00:50:29,890 phải đối mặt. 1098 00:50:29,890 --> 00:50:34,060 Có hình ảnh của mẹ tôi, ngồi xuống với đôi chân của mình vượt qua, 1099 00:50:34,060 --> 00:50:35,740 chỉ xem cô ấy khóc. 1100 00:50:35,740 --> 00:50:38,160 Cuộc sống chỉ là khó khăn như vậy. 1101 00:50:38,160 --> 00:50:41,237 Đó là kho báu của tôi. 1102 00:50:41,237 --> 00:50:44,320 Và tôi đã nhìn vào Google Map và thực hiện có Google Earth là tốt. 1103 00:50:44,320 --> 00:50:48,140 Trong một thế giới mà bạn có thể phóng to, Tôi bắt đầu có tất cả những suy nghĩ 1104 00:50:48,140 --> 00:50:51,500 và những gì khả năng rằng điều này có thể làm cho tôi. 1105 00:50:51,500 --> 00:50:54,890 Tôi nói với bản thân mình, bạn biết, bạn đã có tất cả những kỷ niệm chụp ảnh 1106 00:50:54,890 --> 00:50:58,590 và địa danh của nơi bạn đến từ, và bạn biết những gì thị trấn như thế nào. 1107 00:50:58,590 --> 00:51:03,060 Đây có thể là một ứng dụng bạn có thể sử dụng để tìm đường trở lại. 1108 00:51:03,060 --> 00:51:06,720 >> Tôi nghĩ, tôi cũng sẽ đặt một dấu chấm trên ga xe lửa Calcutta, 1109 00:51:06,720 --> 00:51:10,890 và một đường bán kính, bạn đã biết, mà bạn nên tìm kiếm xung quanh khu vực này. 1110 00:51:10,890 --> 00:51:13,750 Tôi loại đi qua các đường ray xe lửa. 1111 00:51:13,750 --> 00:51:18,160 Và tôi bắt đầu sau đó, và Tôi đã đến một nhà ga xe lửa mà 1112 00:51:18,160 --> 00:51:22,228 phản ánh cùng một hình ảnh đó là trong ký ức của tôi. 1113 00:51:22,228 --> 00:51:23,707 Tất cả mọi thứ phù hợp. 1114 00:51:23,707 --> 00:51:27,950 Tôi chỉ nghĩ rằng vâng, tôi biết nơi tôi sẽ. 1115 00:51:27,950 --> 00:51:30,116 Tôi chỉ cần đi để cho các bản đồ mà tôi có trong đầu tôi 1116 00:51:30,116 --> 00:51:33,080 dẫn tôi và đưa tôi trở lại quê hương của tôi. 1117 00:51:33,080 --> 00:51:36,420 >> Tôi đã đến ngưỡng cửa của ngôi nhà mà tôi đã được sinh ra. 1118 00:51:36,420 --> 00:51:39,140 Và đi bộ xung quanh khoảng 15 mét xung quanh góc, 1119 00:51:39,140 --> 00:51:42,980 có là ba người phụ nữ đứng bên ngoài, liền kề với nhau. 1120 00:51:42,980 --> 00:51:47,830 Và một trong những trung bước về phía trước, và Tôi chỉ nghĩ rằng, đây là mẹ của bạn. 1121 00:51:47,830 --> 00:51:53,450 Cô đi về phía trước, mẹ ôm lấy tôi, và chúng tôi đã có khoảng năm phút. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> Cô nắm lấy tay tôi và cô đưa tôi đến nhà 1124 00:51:59,000 --> 00:52:02,450 và nhận được điện thoại, nơi cô vang em gái tôi và anh trai tôi 1125 00:52:02,450 --> 00:52:05,600 để nói rằng, bạn đã biết, anh em đang có chỉ 1126 00:52:05,600 --> 00:52:09,340 tất cả bất ngờ xuất hiện như một bóng ma. 1127 00:52:09,340 --> 00:52:12,440 Và sau đó gia đình được đoàn tụ một lần nữa. 1128 00:52:12,440 --> 00:52:15,110 Tất cả mọi thứ là tất cả tốt, Tôi đã giúp mẹ tôi ra, 1129 00:52:15,110 --> 00:52:17,110 cô ấy không có được slaving đi. 1130 00:52:17,110 --> 00:52:19,555 Cô ấy có thể sống phần còn lại cuộc sống của cô trong hòa bình. 1131 00:52:19,555 --> 00:52:23,460 >> Đó là một cây kim trong một đống cỏ khô, nhưng kim ở đó. 1132 00:52:23,460 --> 00:52:24,400 Tất cả mọi thứ ở đó. 1133 00:52:24,400 --> 00:52:28,260 Tất cả mọi thứ chúng tôi có trên thế giới là vòi nước của một nút. 1134 00:52:28,260 --> 00:52:32,010 Tuy nhiên, bạn phải có ý chí và quyết tâm muốn nó. 1135 00:52:32,010 --> 00:52:32,950 >> [MUSIC CHƠI] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID Malan: Tuyệt vời lời chứng thực ngọt ngào 1138 00:52:38,170 --> 00:52:40,540 để chỉ là những gì bạn có thể bây giờ làm với công nghệ. 1139 00:52:40,540 --> 00:52:43,390 Chúng ta sẽ thấy bạn vào tuần tới. 1140 00:52:43,390 --> 00:52:44,374