1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID Malan: Đây là CS50, và điều này là sự bắt đầu của một tuần. 3 00:00:14,430 --> 00:00:17,930 Và những gì chúng tôi nghĩ chúng tôi sẽ làm được kéo trở lại bức màn của một thiết bị có nhiều 4 00:00:17,930 --> 00:00:20,970 của bạn có thể đi ngang qua giờ trong nhiều năm qua, nhưng có lẽ không bao giờ khá 5 00:00:20,970 --> 00:00:22,280 biết nó là gì. 6 00:00:22,280 --> 00:00:26,000 Vì vậy, thiết bị này có thể sẽ xem xét quen thuộc với hầu hết các bạn bây giờ. 7 00:00:26,000 --> 00:00:32,972 >> [VIDEO xem lại] 8 00:00:32,972 --> 00:00:36,150 >> -Một chiến thắng của toán học và kỹ năng cơ khí là mới tuyệt vời này 9 00:00:36,150 --> 00:00:39,120 máy tính tự động tại Đại học Harvard. 10 00:00:39,120 --> 00:00:43,220 Vấn đề phức tạp trong toán học đặt thông qua các máy dưới dạng mã hóa trên 11 00:00:43,220 --> 00:00:47,840 băng được giải quyết một cách chính xác trong một phút phần nhỏ của thời gian cần thiết cho 12 00:00:47,840 --> 00:00:49,090 tính toán của con người. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Được thiết kế để tiến hành mọi hình thức nghiên cứu toán học và khoa học, 15 00:01:04,080 --> 00:01:07,860 não cơ khí khổng lồ sẽ làm việc cho Hoa Kỳ 16 00:01:07,860 --> 00:01:09,180 Hải quân cho đến khi chiến tranh kết thúc. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [END xem video] 19 00:01:18,600 --> 00:01:21,980 >> DAVID Malan: Vì vậy, đó là những gì bạn nhìn thấy trong Trung tâm Khoa học, đó là nơi mà 20 00:01:21,980 --> 00:01:23,540 mà máy bây giờ được đặt. 21 00:01:23,540 --> 00:01:25,910 Bạn thực sự chỉ nhìn thấy một phần của nó. 22 00:01:25,910 --> 00:01:28,800 Chỉ có một phần đang được trưng bày, và đó là một thiết bị được gọi là 23 00:01:28,800 --> 00:01:31,970 Mark I, và nó đã được cơ bản một máy tính thực sự rất lớn. 24 00:01:31,970 --> 00:01:36,250 Nó đã được thay thế bởi các Mark II, và đó là từ Mark II mà chúng tôi thực sự 25 00:01:36,250 --> 00:01:39,210 nhận được một chút của từ vựng. 26 00:01:39,210 --> 00:01:43,780 >> Đây là trường hợp đầu tiên được ghi một cái gì đó bạn đang về để trở thành tất cả 27 00:01:43,780 --> 00:01:45,860 quá quen thuộc trong các trình học kỳ - 28 00:01:45,860 --> 00:01:48,460 cụ thể là, một lỗi. 29 00:01:48,460 --> 00:01:52,030 Vì vậy, nó bật ra tại một thời điểm Mark Thiết bị II đã không hoạt động 30 00:01:52,030 --> 00:01:55,930 đúng, và khi kiểm tra chặt chẽ hơn, có thực sự là một lỗi - một loài bướm đêm - 31 00:01:55,930 --> 00:01:56,910 rằng bướm - 32 00:01:56,910 --> 00:01:57,610 bên trong. 33 00:01:57,610 --> 00:02:03,130 Và kể từ đó, chúng tôi đã gọi sai lầm trong các chương trình như lỗi. 34 00:02:03,130 --> 00:02:05,330 Vì vậy, thêm vào đó đi. 35 00:02:05,330 --> 00:02:08,919 >> Phát biểu của video là tốt, nếu bạn chưa có, biết rằng CS50 là 36 00:02:08,919 --> 00:02:09,669 rõ ràng là quay phim. 37 00:02:09,669 --> 00:02:13,330 Các bài giảng thường đi lên ngay sau khi lớp trong sắp xếp của một trước khi phát hành 38 00:02:13,330 --> 00:02:17,240 định dạng chưa được chỉnh sửa, và sau đó một hoặc hai ngày sau đó, chúng tôi đưa ra một độ phân giải cao 39 00:02:17,240 --> 00:02:18,490 và phiên bản chất lượng cao hơn. 40 00:02:18,490 --> 00:02:21,800 Bạn có thể nhớ lại Vanessa, những người có tài sản, vui chơi với Google Glass, 41 00:02:21,800 --> 00:02:23,540 mà tôi nhớ đến tính thời gian này. 42 00:02:23,540 --> 00:02:26,450 Vì vậy, nếu bạn muốn đưa ra sau khi lớp và chơi, họ nên làm việc ngày hôm nay. 43 00:02:26,450 --> 00:02:30,816 Và nếu bạn muốn xem những gì Vanessa nhìn thấy những ngày khác, những gì bạn sẽ thấy 44 00:02:30,816 --> 00:02:35,260 đây - hãy để tôi tăng khối lượng đây trên máy tính xách tay của tôi. 45 00:02:35,260 --> 00:02:35,690 >> [VIDEO xem lại] 46 00:02:35,690 --> 00:02:37,620 >> -Vì vậy, chúng tôi xếp hàng này là lên. 47 00:02:37,620 --> 00:02:38,070 Được rồi. 48 00:02:38,070 --> 00:02:40,930 Vì vậy, liên lạc này. 49 00:02:40,930 --> 00:02:41,720 Được rồi. 50 00:02:41,720 --> 00:02:43,470 OK, Thủy tinh. 51 00:02:43,470 --> 00:02:44,720 Quay video. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Được rồi. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [END xem video] 56 00:02:50,870 --> 00:02:53,485 >> DAVID Malan: Được rồi, vậy lý do rằng nó đã không làm việc cho hầu hết các bạn tại 57 00:02:53,485 --> 00:02:56,540 khi kết thúc lớp học là vì tôi tiến hành để ghi lại một giờ mà 58 00:02:56,540 --> 00:02:59,505 cảnh chỉ vào bản thân mình sau khi Tôi đặt ly xuống. 59 00:02:59,505 --> 00:03:04,010 Vì vậy, ngày hôm nay, tôi sẽ để lại cho chúng ra, nhưng cảm ơn bạn Vanessa cho là như vậy 60 00:03:04,010 --> 00:03:05,420 thể thao tốt. 61 00:03:05,420 --> 00:03:08,330 >> Trong khi đó, một vài thông báo trước khi chúng tôi giả mạo trước ngày hôm nay. 62 00:03:08,330 --> 00:03:11,120 Vì vậy, một, CS50 có truyền thống làm những gì chúng ta có thể cố gắng làm cho rất 63 00:03:11,120 --> 00:03:12,630 lớp lớn cảm thấy nhỏ hơn. 64 00:03:12,630 --> 00:03:16,640 Và hướng tới mục tiêu đó, hầu hết các ngày thứ sáu, chúng tôi tập trung tại một nhà hàng ở 65 00:03:16,640 --> 00:03:20,160 quảng trường, Lửa và Băng, với 30 hoặc 40 các bạn cùng lớp của bạn, bản thân mình, một số 66 00:03:20,160 --> 00:03:22,520 đội ngũ giáo viên, và chúng tôi chỉ có một bữa ăn trưa rất giản dị. 67 00:03:22,520 --> 00:03:26,280 Chúng tôi thường xuyên mời bạn bè từ ngành công nghiệp, cựu sinh viên của lớp, cựu sinh viên của 68 00:03:26,280 --> 00:03:30,340 đại học, thực sự chỉ để trò chuyện mỗi lên khác, nói về cuộc sống sau khi 69 00:03:30,340 --> 00:03:32,260 đại học, cuộc sống ở trường đại học, và muốn. 70 00:03:32,260 --> 00:03:35,570 Vì vậy, nếu bạn muốn tham gia vào này đầu tiên ăn trưa như vậy vào thứ sáu này tại 71 00:03:35,570 --> 00:03:38,640 13:15, người đứng đầu với URL tại một số điểm. 72 00:03:38,640 --> 00:03:40,830 >> Không gian bị hạn chế, vì vậy chúng tôi sẽ làm đầu tiên đến đầu tiên phục vụ. 73 00:03:40,830 --> 00:03:43,880 Nhưng chúng tôi sẽ làm điều này một lần nữa trên một định kỳ cơ sở, vì vậy không phải lo lắng nếu bạn không 74 00:03:43,880 --> 00:03:45,800 làm cho nó vào hàng loạt đầu tiên này. 75 00:03:45,800 --> 00:03:48,960 >> Bây giờ, trong điều kiện các nguồn tài nguyên được cung cấp curricularly của khóa học, 76 00:03:48,960 --> 00:03:51,500 có cả hàng loạt, và nếu bạn có không kéo lên trang web của khóa học 77 00:03:51,500 --> 00:03:54,310 đã có, đặc biệt, theo các bài giảng, bạn sẽ thấy rằng tất cả mọi thứ 78 00:03:54,310 --> 00:03:57,070 chúng tôi tuần trước là có, cả hai trong video và một số loại 79 00:03:57,070 --> 00:03:58,435 các hình thức điện tử. 80 00:03:58,435 --> 00:04:01,210 Nhưng ngoài các đoạn video, bạn sẽ tìm thấy rằng hiện nay có đầy đủ văn bản 81 00:04:01,210 --> 00:04:03,290 bảng điểm, ví dụ, của mỗi bài giảng. 82 00:04:03,290 --> 00:04:08,260 >> Vì vậy, nếu chúng ta thực sự quay trở lại màn hình này đây với Vanessa, và điều hướng 83 00:04:08,260 --> 00:04:12,010 vào góc dưới cùng của màn hình, bạn sẽ thấy rằng trên thực tế, không cho 84 00:04:12,010 --> 00:04:15,060 Bài giảng hôm thứ Sáu, nhưng nếu chúng ta quay trở lại Thứ tư, kể từ khi tính năng này có một 85 00:04:15,060 --> 00:04:17,870 vài ngày, bạn sẽ thấy rằng bạn có thể thực sự kéo lên, cho tốt hơn hoặc 86 00:04:17,870 --> 00:04:22,260 tệ hơn, mọi lời tôi hoặc một tình nguyện viên trên sân khấu nói. 87 00:04:22,260 --> 00:04:23,270 Và hơn điều đó. 88 00:04:23,270 --> 00:04:25,700 Bạn thực sự có thể tìm kiếm nó, bạn có thể nhấp vào bất kỳ của những câu, nhảy 89 00:04:25,700 --> 00:04:29,250 đến thời điểm đó trong đoạn video, tất cả các đối và kết thúc làm cho vật liệu tất cả các 90 00:04:29,250 --> 00:04:30,620 hơn điều hướng. 91 00:04:30,620 --> 00:04:34,550 >> Nhưng nếu bạn không muốn làm theo nó chi tiết như vậy, bạn sẽ tìm thấy, cho 92 00:04:34,550 --> 00:04:39,710 Ví dụ, trình đơn này ít vào đây để 1.5x tốc độ, tốc độ 2x, hoặc tôi e tôi đã 93 00:04:39,710 --> 00:04:42,100 nói quá nhanh, tốc độ 0.75x. 94 00:04:42,100 --> 00:04:45,190 Vì vậy, nhận ra tất cả điều đó là sẵn có cho bạn. 95 00:04:45,190 --> 00:04:49,120 >> Nhưng ngoài ra, đối với các bài giảng, nhận ra chúng tôi cũng làm cho các nguồn tài nguyên 96 00:04:49,120 --> 00:04:50,530 cũng có sẵn. 97 00:04:50,530 --> 00:04:55,240 Trình bày, mã ví dụ, bất cứ điều gì mà tôi làm trên sân khấu hay trước lớp, 98 00:04:55,240 --> 00:04:58,160 chúng tôi sẽ đăng có để bạn có thể chơi cùng tại nhà hoặc tại Sanders. 99 00:04:58,160 --> 00:05:01,280 Nhưng những gì chúng tôi cũng nghĩ rằng chúng tôi muốn làm điều này năm lần đầu tiên cũng là 100 00:05:01,280 --> 00:05:04,240 cung cấp cho bạn walkthroughs các ví dụ. 101 00:05:04,240 --> 00:05:08,120 Dần dần, khi tôi đã phản ánh trên giá trị của các bài giảng CS50, tôi đã bắt đầu 102 00:05:08,120 --> 00:05:11,450 đặt câu hỏi như thế nào đó là hữu ích cho các bạn ngồi đó, đối với tôi để đứng 103 00:05:11,450 --> 00:05:15,020 ở đây, và cho tôi nói chuyện với bạn, đặc biệt là vật liệu, 104 00:05:15,020 --> 00:05:17,020 ví dụ, trở nên phức tạp hơn. 105 00:05:17,020 --> 00:05:20,790 Vì luôn, sau khi một số số phút, một người nào đó sẽ vùng ra, và 106 00:05:20,790 --> 00:05:24,310 sau đó bạn bỏ lỡ một số cái nhìn sâu sắc quan trọng của một số ví dụ, và sau đó bạn về cơ bản 107 00:05:24,310 --> 00:05:27,720 đi cho phần còn lại của lớp, mà không phải là sử dụng tốt nhất 108 00:05:27,720 --> 00:05:31,330 thời gian của bạn, hoặc, thực sự, chúng ta chung cả lớp. 109 00:05:31,330 --> 00:05:33,920 >> Và vì vậy những gì chúng tôi nghĩ rằng chúng tôi sẽ cố gắng để làm, đặc biệt đối với một số chi tiết 110 00:05:33,920 --> 00:05:37,700 ví dụ phức tạp mà tôi có thể không làm công lý trong lớp học, chúng ta có thể không 111 00:05:37,700 --> 00:05:41,560 có thời gian trong lớp, hoặc em có thể chỉ ra trong khu vực, là chúng tôi sẽ sản xuất 112 00:05:41,560 --> 00:05:45,500 một loạt các walkthroughs các ví dụ như vậy là nếu bạn đi đến, cho 113 00:05:45,500 --> 00:05:51,410 Ví dụ, trang video thứ Sáu tuần trước đây theo ví dụ, bạn sẽ thấy rằng 114 00:05:51,410 --> 00:05:54,050 cho ngày thứ Sáu, bây giờ có này liên kết với walkthroughs. 115 00:05:54,050 --> 00:05:55,780 Và định dạng của những sẽ thay đổi theo thời gian. 116 00:05:55,780 --> 00:05:58,080 Hiện tại, chúng tôi đang sử dụng một đơn giản YouTube danh sách nhạc. 117 00:05:58,080 --> 00:06:00,980 >> Nhưng những gì tôi đã làm với đội ngũ sản xuất của chúng tôi sau đó được đi bộ qua từng 118 00:06:00,980 --> 00:06:04,480 và mỗi một trong những ví dụ một lần nữa, hy vọng chỉ ra trong lớn hơn nhiều 119 00:06:04,480 --> 00:06:07,550 rõ ràng chính xác những gì bán đồ ăn có thể hoặc nên được từ mỗi người. 120 00:06:07,550 --> 00:06:10,560 Vì vậy, bạn sẽ tìm thấy, ví dụ, từ cuối tuần, tất cả các ví dụ đầu 121 00:06:10,560 --> 00:06:12,950 chúng tôi đã đi qua được thực hiện tuyến tính trong thời trang. 122 00:06:12,950 --> 00:06:15,840 Vì vậy cảm thấy tự do tham gia hay không tham gia vào các vật liệu này. 123 00:06:15,840 --> 00:06:19,140 Thực sự là một chủ đề của khóa học đặc biệt này là có thể hơn 124 00:06:19,140 --> 00:06:21,870 trong cách các nguồn lực hơn bạn có thể có thể hấp thụ hơn 125 00:06:21,870 --> 00:06:23,260 quá trình của một học kỳ. 126 00:06:23,260 --> 00:06:23,980 >> Nhưng đó là cố ý. 127 00:06:23,980 --> 00:06:26,990 Nó có nghĩa là để được như vậy mà bạn như cá nhân học sinh có thể tự chọn 128 00:06:26,990 --> 00:06:28,070 dựa trên phong cách học tập của bạn. 129 00:06:28,070 --> 00:06:29,790 Vì vậy, nếu các bài giảng làm việc cho bạn, tuyệt vời. 130 00:06:29,790 --> 00:06:31,090 Nếu các phần việc cho bạn, tuyệt vời. 131 00:06:31,090 --> 00:06:32,930 Nếu walkthroughs làm việc cho bạn tốt hơn, tuyệt vời. 132 00:06:32,930 --> 00:06:36,980 Nó thực sự sẽ được vào bạn để lựa chọn những nguồn lực làm việc tốt nhất cho bạn. 133 00:06:36,980 --> 00:06:40,380 >> Cuối cùng, nhờ một cựu sinh viên của Tất nhiên, chúng tôi cũng cung cấp một kinh điển 134 00:06:40,380 --> 00:06:41,890 thiết lập các ghi chú ghi chép. 135 00:06:41,890 --> 00:06:46,270 Vì vậy, thay vì có các bạn đứng đầu xuống trong các bài giảng scribbling xuống 136 00:06:46,270 --> 00:06:49,880 điều mà đi lên trong lớp học, chúng tôi, nhân viên, sẽ cung cấp cho bạn những gì chúng tôi 137 00:06:49,880 --> 00:06:53,410 cảm thấy là một tập hợp kinh điển của thuyết minh giải phóng bạn phân tâm đó, để 138 00:06:53,410 --> 00:06:57,150 nếu bạn đang ở đây và tham gia, bạn có thực sự tham gia với những gì đang xảy ra, 139 00:06:57,150 --> 00:07:00,110 với các bạn cùng lớp của bạn đang làm lên trên sân khấu, với những gì trên màn hình, 140 00:07:00,110 --> 00:07:03,570 và không chỉ đơn giản là viết ra đúng nguyên văn những gì xảy ra đã được nói. 141 00:07:03,570 --> 00:07:06,730 Vì vậy, nhận ra tất cả những tài nguyên có sẵn cho bạn. 142 00:07:06,730 --> 00:07:09,210 >> Sectioning, trong câu trả lời cho một câu hỏi thường, sẽ bắt đầu thứ tư này. 143 00:07:09,210 --> 00:07:12,050 Chúng tôi chủ yếu chờ đợi cho đến khi sau khi nhất các lớp khác được thực hiện để chúng ta có thể 144 00:07:12,050 --> 00:07:14,420 giảm thiểu số lượng thay đổi rằng chúng ta cần phải làm. 145 00:07:14,420 --> 00:07:20,010 Nhưng đến cuối tuần này, bắt đầu từ Chủ nhật, sẽ là một thời gian thể hiện của 146 00:07:20,010 --> 00:07:21,360 những gì chúng ta gọi là phần siêu. 147 00:07:21,360 --> 00:07:23,990 Này sẽ được quay cho những người không thể tham dự, và về cơ bản, 148 00:07:23,990 --> 00:07:28,880 đầu khóa học của chúng tôi sẽ đi qua một số của phần C của khóa học, 149 00:07:28,880 --> 00:07:32,330 hướng tới sự kết thúc của bộ một vấn đề, mà sẽ là C đầu tiên của chúng tôi dựa 150 00:07:32,330 --> 00:07:33,140 bộ vấn đề. 151 00:07:33,140 --> 00:07:36,240 Và những chỉ sẽ được phần tùy chọn với dự đoán về những gì sẽ 152 00:07:36,240 --> 00:07:40,010 trở thành phần theo định kỳ dẫn bằng của khóa học 50 cộng 153 00:07:40,010 --> 00:07:41,600 giảng dạy nghiên cứu sinh hàng tuần. 154 00:07:41,600 --> 00:07:45,130 Vào ngày chủ nhật hoặc thứ Hai hoặc thứ Ba, chúng tôi có 90 phút trong một phần rất 155 00:07:45,130 --> 00:07:48,020 ý nghĩa truyền thống, mà sẽ được cơ hội cho các tay trên và nhiều hơn nữa 156 00:07:48,020 --> 00:07:50,800 đánh giá sâu sắc về tài liệu khóa học của. 157 00:07:50,800 --> 00:07:53,820 >> Nếu không có thêm ado, hãy để tôi giới thiệu người đứng đầu của khóa học, những người 158 00:07:53,820 --> 00:07:57,380 đằng sau hậu trường với tôi, làm cho tất cả mọi thứ xảy ra. 159 00:07:57,380 --> 00:08:02,670 Nếu những người ở đây hôm nay có thể tham gia cùng tôi, Rob và Lauren và Joseph và Lucas, tất cả 160 00:08:02,670 --> 00:08:05,770 trong số đó đã được với Tất nhiên trong một thời gian. 161 00:08:05,770 --> 00:08:08,450 RJ là ví dụ thứ ba thành viên của nhóm chúng tôi. 162 00:08:08,450 --> 00:08:11,720 Ông không thể có mặt ở đây ngày hôm nay, nhưng ông yêu cầu tôi cho thấy một bức ảnh của anh. 163 00:08:11,720 --> 00:08:14,600 Tôi không chắc chắn anh muốn này một, nhưng có anh ta. 164 00:08:14,600 --> 00:08:18,350 >> Và hãy để tôi chỉ cho phép nhóm nghiên cứu nói xin chào và tự giới thiệu để 165 00:08:18,350 --> 00:08:22,260 bạn có biết họ cũng như của bạn đồng giảng dạy của thuật ngữ này. 166 00:08:22,260 --> 00:08:23,490 >> Lauren Carvalho: Hi. 167 00:08:23,490 --> 00:08:24,740 Tên tôi là Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Tôi là một gia sư thường trú trong Leverett nhà. 169 00:08:26,900 --> 00:08:31,120 Tôi cũng siêu vui mừng là một TV đầu cho CS50 năm nay. 170 00:08:31,120 --> 00:08:35,830 >> CS50 là một lớp học rất khó khăn cũng như một lớp học rất lớn, vì vậy nếu bạn 171 00:08:35,830 --> 00:08:38,780 có bất kỳ mối quan tâm, nếu bạn cảm thấy như bạn đang tụt lại phía sau, cảm thấy tự do 172 00:08:38,780 --> 00:08:43,840 tiếp cận với bất kỳ của chúng tôi tại heads@cs50.het, hoặc cho tôi, nếu bạn muốn 173 00:08:43,840 --> 00:08:46,330 thích chơi với vàng của tôi tha mồi con chó con. 174 00:08:46,330 --> 00:08:48,060 Đây là Lucas. 175 00:08:48,060 --> 00:08:48,560 >> Lucas Freitas: Chào mọi người. 176 00:08:48,560 --> 00:08:49,330 Tên tôi là Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Tôi là một cơ sở [nghe được] 178 00:08:51,880 --> 00:08:53,630 khoa học máy tính và ngôn ngữ học. 179 00:08:53,630 --> 00:08:58,030 Tôi thực sự từ Brazil, và tôi cũng thực hiện nghiên cứu Đông Nam Á. 180 00:08:58,030 --> 00:09:00,740 Vì vậy, nếu bạn có thắc mắc về khoa học máy tính hay ngôn ngữ hoặc 181 00:09:00,740 --> 00:09:01,870 bất cứ điều gì, chỉ cần cho tôi biết. 182 00:09:01,870 --> 00:09:05,630 Hoặc CS50, đặc biệt là. 183 00:09:05,630 --> 00:09:05,880 >> Joseph ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Tôi Joseph. 185 00:09:06,265 --> 00:09:11,360 Tôi là một máy tính nghiên cứu cao cấp khoa học trong Elliott House. 186 00:09:11,360 --> 00:09:13,500 Vì vậy, chúng ta hãy xem. 187 00:09:13,500 --> 00:09:16,530 Bạn sẽ thấy xung quanh tôi mang một trong những máy ảnh rất lớn. 188 00:09:16,530 --> 00:09:21,110 Tôi là phóng viên ảnh thường trú 50 là tốt, và sinh viên thường 189 00:09:21,110 --> 00:09:25,140 đôi khi nhầm lẫn cho tôi một du khách châu Á. 190 00:09:25,140 --> 00:09:29,220 >> Vì vậy, nếu bạn nhìn thấy tôi với một máy ảnh, không chạy đi. 191 00:09:29,220 --> 00:09:32,960 Chỉ cần mỉm cười và không ngại. 192 00:09:32,960 --> 00:09:34,870 Và tôi hy vọng bạn thưởng thức 50. 193 00:09:34,870 --> 00:09:38,690 Tôi rất thích nó rất nhiều khi tôi lấy nó, và đó là lý do tại sao tôi đã TFing cho 194 00:09:38,690 --> 00:09:41,164 ba năm. 195 00:09:41,164 --> 00:09:41,570 >> ROB Bowden: Hi. 196 00:09:41,570 --> 00:09:42,550 Tôi Rob. 197 00:09:42,550 --> 00:09:46,240 Đây là học kỳ thứ tư của tôi với CS50. 198 00:09:46,240 --> 00:09:47,430 Tôi vừa tốt nghiệp vào tháng Năm. 199 00:09:47,430 --> 00:09:49,650 Tôi đã ở Kirkland. 200 00:09:49,650 --> 00:09:53,670 Tôi vui mừng cho học kỳ này, và tôi hy vọng bạn cũng vậy. 201 00:09:53,670 --> 00:09:56,650 >> DAVID Malan: Cảm ơn bạn trong năm nay của người đứng đầu, và RJ là tốt. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Vì vậy, một vài lưu ý cuối cùng về nguồn lực. 204 00:10:02,310 --> 00:10:04,090 Một, trang thiết 0 đã được phóng lên. 205 00:10:04,090 --> 00:10:06,620 Điều này chỉ tồn tại trong tiêu chuẩn phiên bản, trong đó có nghĩa là cho 206 00:10:06,620 --> 00:10:07,610 toàn bộ các lớp học. 207 00:10:07,610 --> 00:10:10,940 Bắt đầu với p tập 1, sẽ có phiên bản hacker hầu hết các bộ vấn đề, 208 00:10:10,940 --> 00:10:14,660 trong đó, một lần nữa, sẽ bao gồm các tài liệu với hơn một chút thách thức, trong khi 209 00:10:14,660 --> 00:10:17,400 vẫn còn chạm vào một số chủ đề tương tự. 210 00:10:17,400 --> 00:10:21,400 Làm đi xem một trang web của khóa học cho rằng đặc điểm kỹ thuật cho bộ p 0. 211 00:10:21,400 --> 00:10:25,140 >> Giờ làm việc, cũng sẽ bắt đầu trong tuần này, đêm nay, ngày mai, thứ tư, 212 00:10:25,140 --> 00:10:27,670 và thứ năm trong ăn uống khác nhau hội trường trong khuôn viên trường. 213 00:10:27,670 --> 00:10:32,140 Kiểm tra cs50.net/ohs cho văn phòng giờ cho khóa học, và nhận ra điều này 214 00:10:32,140 --> 00:10:34,430 sẽ có cơ hội rất giản dị, chắc chắn, vào lúc bắt đầu của 215 00:10:34,430 --> 00:10:37,190 học kỳ, để đến được với bạn máy tính xách tay trong thời gian nghỉ não. 216 00:10:37,190 --> 00:10:40,500 Mang lại một số bạn bè và trò chuyện về các TF nhiên và CA với bất kỳ 217 00:10:40,500 --> 00:10:41,750 câu hỏi mà bạn có thể có. 218 00:10:41,750 --> 00:10:45,320 >> Và tôi không thể nhấn mạnh đủ, ngay cả đối với đầu và vấn đề thiết lập 0, có 219 00:10:45,320 --> 00:10:47,110 Thật sự không có câu hỏi ngớ ngẩn. 220 00:10:47,110 --> 00:10:51,200 Không có sinh viên quá khó chịu đặt câu hỏi. 221 00:10:51,200 --> 00:10:53,940 Xin vui lòng để tận dụng lợi thế nguồn tài nguyên này. 222 00:10:53,940 --> 00:10:56,430 Nó sẽ ở đó recurringly trong suốt học kỳ, 223 00:10:56,430 --> 00:10:57,840 như sẽ CS50 Thảo luận. 224 00:10:57,840 --> 00:11:00,900 Đây là cuộc thảo luận trực tuyến của khóa học diễn đàn tại địa chỉ đó. 225 00:11:00,900 --> 00:11:04,490 >> Những gì chúng tôi cũng sẽ làm trong bài giảng là cũng giám sát này, nhờ 226 00:11:04,490 --> 00:11:05,580 đội ngũ giảng dạy khóa học của. 227 00:11:05,580 --> 00:11:08,390 Và vì vậy nếu bạn có một câu hỏi trong giảng dạy, bởi vì tôi biết một cái gì đó 228 00:11:08,390 --> 00:11:11,690 kém hoặc không gì cả, bằng mọi cách, hỏi mà trong thời gian thực nếu bạn có của bạn 229 00:11:11,690 --> 00:11:15,700 máy tính xách tay hoặc điện thoại trên các trang web, và chúng tôi sẽ làm tốt nhất của chúng tôi trong thời gian thực gần 230 00:11:15,700 --> 00:11:17,410 đáp ứng điều đó. 231 00:11:17,410 --> 00:11:21,500 >> Được có bất kỳ câu hỏi về CS 50? 232 00:11:21,500 --> 00:11:23,930 Sau đó, người ta ghi nhận cuối cùng của tôi. 233 00:11:23,930 --> 00:11:25,530 Rằng vấn đề của SAT UNSAT. 234 00:11:25,530 --> 00:11:28,550 Như bạn hoàn thành thẻ học tập của bạn, nếu bạn chưa có, nhận ra rằng 235 00:11:28,550 --> 00:11:32,360 tầm nhìn bao quát của SAT UNSAT, có sẵn cho tất cả học sinh, thực sự là 236 00:11:32,360 --> 00:11:36,350 để giúp chăm cạnh tắt của một khóa học như thế này, có thể nói, do đó nếu bạn 237 00:11:36,350 --> 00:11:40,510 thấy mình muộn vào ban đêm, 2:00, 3:00, thực sự đập đầu của bạn lên chống lại 238 00:11:40,510 --> 00:11:43,960 tường nơi bạn biết bạn là 99% con đường đó để hoàn thành, nhưng bạn 239 00:11:43,960 --> 00:11:47,510 có rất nhiều điều khác để làm, Tôi nghĩ rằng việc sử dụng tốt hơn, thường xuyên, của 240 00:11:47,510 --> 00:11:51,260 thời gian học sinh là thực sự chuyển sang những điều khác để bạn có thể 241 00:11:51,260 --> 00:11:52,780 tối ưu hóa thời gian của bạn tất cả xung quanh. 242 00:11:52,780 --> 00:11:56,950 Và SAT UNSAT là một trong những cơ chế thông qua đó bạn có thể thoải mái trong thực tế 243 00:11:56,950 --> 00:12:00,530 rằng 99% của con đường đó là vẫn còn khá darn tốt. 244 00:12:00,530 --> 00:12:03,790 >> Tương tự như vậy, cũng vậy, nếu bạn đã đi vào Tất nhiên không có kiến ​​thức trước khi hoặc 245 00:12:03,790 --> 00:12:07,960 không gần như nhiều nền như bạn nghĩ rằng các bạn cùng lớp của bạn có thể có, đúng 246 00:12:07,960 --> 00:12:13,210 hay sai, nhận ra rằng đây là một cơ hội để có được bàn tay của bạn bẩn 247 00:12:13,210 --> 00:12:16,590 với khóa học, đặt ngón chân của bạn trong nước, có thể nói, giống như bản thân tôi 248 00:12:16,590 --> 00:12:18,500 đã làm năm trước đây với vượt qua / không. 249 00:12:18,500 --> 00:12:21,850 Như tôi đã nói tuần trước, đã có khóa học này, như những người khác, không được có sẵn 250 00:12:21,850 --> 00:12:25,090 vượt qua / thất bại vào thời điểm đó, tôi có lẽ sẽ không bao giờ bước chân vào 251 00:12:25,090 --> 00:12:28,310 lớp, mặc dù tôi đã làm, năm tuần sau đó, thay đổi tâm trí của tôi, mà bạn 252 00:12:28,310 --> 00:12:32,400 cũng có thể, và chuyển sang hoặc từ tình trạng phân loại thư. 253 00:12:32,400 --> 00:12:32,990 >> Được rồi. 254 00:12:32,990 --> 00:12:37,380 Vì vậy, chúng ta nhìn vào những thứ như thế này trên Thứ sáu, và chúng tôi đang rất nhanh chóng đi 255 00:12:37,380 --> 00:12:39,890 để chuyển đổi sang một cái gì đó có vẻ khó hiểu hơn ngày hôm nay. 256 00:12:39,890 --> 00:12:42,300 Nhưng nó dù sao các cùng một ý tưởng cơ bản. 257 00:12:42,300 --> 00:12:45,540 Một thuật ngữ chung là những gì mà chúng ta được sử dụng để mô tả một mảnh ghép 258 00:12:45,540 --> 00:12:47,690 trông như thế này? 259 00:12:47,690 --> 00:12:48,510 >> Vì vậy, một tuyên bố. 260 00:12:48,510 --> 00:12:50,020 Và bạn có thể gọi bất kỳ này số thứ. 261 00:12:50,020 --> 00:12:51,870 Nhưng chúng tôi sẽ chỉ gọi nó là một tuyên bố, và một tuyên bố 262 00:12:51,870 --> 00:12:53,200 chỉ cho chương trình - 263 00:12:53,200 --> 00:12:55,290 hoặc trong trường hợp cào, ma - 264 00:12:55,290 --> 00:12:56,520 để làm một cái gì đó. 265 00:12:56,520 --> 00:12:58,430 Chào trong trường hợp này. 266 00:12:58,430 --> 00:13:01,450 >> Một cái gì đó như thế này, chúng tôi thay vì gọi là gì? 267 00:13:01,450 --> 00:13:03,560 Yeah, do đó, một biểu thức Boolean. 268 00:13:03,560 --> 00:13:07,380 Một biểu thức Boolean chỉ là một cái gì đó đó là đúng hay sai, và vì vậy Scratch 269 00:13:07,380 --> 00:13:10,530 lôi kéo họ với hình dạng này, nhưng cũng với một dấu hỏi để truyền đạt 270 00:13:10,530 --> 00:13:14,510 ý kiến ​​cho rằng câu trả lời cho câu hỏi này là đúng hoặc sai, có hoặc không có 271 00:13:14,510 --> 00:13:15,910 một, 1 hoặc 0. 272 00:13:15,910 --> 00:13:19,290 >> Và chúng tôi sử dụng các biểu thức Boolean bên trong các cấu trúc như thế này, mà 273 00:13:19,290 --> 00:13:21,010 chúng ta gọi là gì? 274 00:13:21,010 --> 00:13:22,460 Vì vậy, điều kiện hoặc chi nhánh. 275 00:13:22,460 --> 00:13:25,600 Và điều kiện mà bạn nhìn thấy ở đây trong Đầu có một chút giữ chỗ cho một 276 00:13:25,600 --> 00:13:28,260 mảnh ghép của hình dạng, mục đích trong số đó là để bạn có thể 277 00:13:28,260 --> 00:13:32,670 kéo và thả nó vào đầu và sau đó ra lệnh cho chương trình nếu Boolean này 278 00:13:32,670 --> 00:13:36,410 biểu hiện là sự thật, làm bộ này hướng dẫn, tập hợp các báo cáo, 279 00:13:36,410 --> 00:13:39,320 khác làm điều này thiết lập khác hướng dẫn. 280 00:13:39,320 --> 00:13:41,270 >> Và nhớ rằng bạn có thể tổ những điều này. 281 00:13:41,270 --> 00:13:44,170 Mặc dù không có nhiều phòng trực quan trong đó mảnh ghép, Scratch 282 00:13:44,170 --> 00:13:47,820 sẽ phát triển và thu nhỏ để phù hợp với bất cứ điều gì mảnh ghép bạn kéo và thả trong 283 00:13:47,820 --> 00:13:51,410 có như vậy bạn có thể thực sự làm tổ này và có một cách ngã ba ba trên đường. 284 00:13:51,410 --> 00:13:53,870 Nếu, nếu người nào khác, người nào khác. 285 00:13:53,870 --> 00:13:58,100 Và bạn thậm chí có thể đi xa hơn bằng cách làm tổ hơn nữa và tiếp tục khi cần thiết. 286 00:13:58,100 --> 00:14:02,520 >> Vì vậy, cuối cùng, chúng ta đã thấy cấu trúc như này, nếu không được biết đến như một vòng lặp. 287 00:14:02,520 --> 00:14:05,690 Và điều này chỉ là một cái gì đó mà không một cái gì đó một lần nữa và một lần nữa và một lần nữa. 288 00:14:05,690 --> 00:14:09,250 Trong trường hợp này, nó sẽ xảy ra là một hữu hạn số lần, nhưng chúng tôi cũng 289 00:14:09,250 --> 00:14:12,890 thấy một ví dụ có số lượng Thời gian đến từ một biến, vì nó 290 00:14:12,890 --> 00:14:13,690 có thể thay đổi. 291 00:14:13,690 --> 00:14:16,910 Và chúng tôi cũng thấy khối khác hoàn toàn được gọi là một khối mãi mãi mà 292 00:14:16,910 --> 00:14:19,590 cho phép chúng tôi vòng lặp vô hạn dài. 293 00:14:19,590 --> 00:14:23,300 >> Vì vậy, một cấu trúc khác Scratch 2.0 có - và những người bạn hơn 294 00:14:23,300 --> 00:14:26,330 thoải mái với nền trước là đã cũng quen thuộc với điều này 295 00:14:26,330 --> 00:14:27,080 xây dựng - 296 00:14:27,080 --> 00:14:29,910 những điều này chúng ta gọi là gì? 297 00:14:29,910 --> 00:14:32,540 Vì vậy, chúng ta gọi là các chức năng này, nếu không được gọi là thủ tục. 298 00:14:32,540 --> 00:14:35,030 Có một sự khác biệt ngữ nghĩa nhẹ, nhưng chúng ta sẽ gọi họ chỉ chức năng. 299 00:14:35,030 --> 00:14:39,950 >> Và một chức năng, trong trường hợp cào, là một mảnh ghép tùy chỉnh mà 300 00:14:39,950 --> 00:14:43,670 bạn mình có thể tạo ra để bạn có một mảnh ghép mới, trong này 301 00:14:43,670 --> 00:14:47,190 trường hợp, sẽ được gọi là ho, mà xuất hiện trong tất cả các khác 302 00:14:47,190 --> 00:14:48,730 mảnh ghép có sẵn trong Scratch. 303 00:14:48,730 --> 00:14:52,010 Mặc dù MIT đã không phát minh ra này mảnh ghép, bạn đã làm. 304 00:14:52,010 --> 00:14:57,600 >> Vì vậy, một chức năng cho phép bạn tạo mới hành vi, cung cấp cho nó một tên chức năng, và 305 00:14:57,600 --> 00:14:59,200 sau đó gọi nó, vậy để nói chuyện. 306 00:14:59,200 --> 00:15:04,690 Thực sự sử dụng nó trong chương trình một lần nữa và một lần nữa và một lần nữa mà không cần phải chờ đợi 307 00:15:04,690 --> 00:15:08,600 cho một người như MIT xuống đường để phát minh ra chức năng mới từ Scratch. 308 00:15:08,600 --> 00:15:12,460 Bạn mình có thể xây dựng các câu đố phần mình, và sau đó tái sử dụng chúng 309 00:15:12,460 --> 00:15:13,600 trong các chương trình của riêng bạn. 310 00:15:13,600 --> 00:15:17,520 Và chúng ta sẽ thấy một ví dụ định kỳ điều đó hôm nay trở đi. 311 00:15:17,520 --> 00:15:20,960 >> Vì vậy, ngày hôm nay, chúng tôi chuyển tiếp tại một cái gì đó phức tạp hơn. 312 00:15:20,960 --> 00:15:24,350 Nhưng vào cuối ngày, một cái gì đó mạnh hơn và biểu cảm và nhiều hơn nữa 313 00:15:24,350 --> 00:15:28,110 đại diện của con đường mà chúng ta sẽ có trên tất cả các học kỳ trong một số 314 00:15:28,110 --> 00:15:28,800 các ngôn ngữ - 315 00:15:28,800 --> 00:15:30,800 của mã hoặc mã nguồn. 316 00:15:30,800 --> 00:15:34,720 Và mã nguồn, nó quay ra, không phải là những gì một máy tính 317 00:15:34,720 --> 00:15:37,400 thường thực sự chạy. 318 00:15:37,400 --> 00:15:39,860 Mã nguồn trông giống như thế này. 319 00:15:39,860 --> 00:15:43,010 >> Vì vậy, đây là, một lần nữa, có lẽ là đơn giản nhất chương trình chúng ta có thể viết trong một 320 00:15:43,010 --> 00:15:46,670 ngôn ngữ được gọi là C. Chúng tôi sẽ bắt đầu trêu chọc này ngoài bao lâu, và nếu 321 00:15:46,670 --> 00:15:49,260 điều này thực sự trông giống như Hy Lạp để bạn ngay bây giờ, tôi tin tưởng. 322 00:15:49,260 --> 00:15:54,040 Chỉ trong vòng một hoặc hai tuần của thời gian, điều này sẽ được tất cả quá quen thuộc và thực sự 323 00:15:54,040 --> 00:15:57,780 khá đại diện của ngày càng ví dụ phức tạp mà bạn sẽ 324 00:15:57,780 --> 00:15:59,870 cũng có được thoải mái hơn. 325 00:15:59,870 --> 00:16:03,100 >> Nhưng bạn không thể chỉ chạy loại mã thường. 326 00:16:03,100 --> 00:16:06,750 Bạn phải biến nó thành một cái gì đó máy tính tự hiểu. 327 00:16:06,750 --> 00:16:09,840 Và do đó, cho rằng, chúng ta cần một cái gì đó chúng ta sẽ gọi một trình biên dịch. 328 00:16:09,840 --> 00:16:13,910 Một trình biên dịch là một chương trình mà có mã nguồn, như bạn thấy, như 329 00:16:13,910 --> 00:16:17,680 đầu vào, và nó tạo ra là zero và những người như đầu ra, nếu không 330 00:16:17,680 --> 00:16:19,210 được gọi là mã đối tượng. 331 00:16:19,210 --> 00:16:23,190 Và đó là những con số không và những người có thể trông khá như thế này mà 332 00:16:23,190 --> 00:16:26,310 cuối cùng được hiểu bởi máy Mac hoặc máy PC của bạn. 333 00:16:26,310 --> 00:16:30,050 >> Nếu bạn đã từng nghe tiếp thị biểu Intel Inside, mà chỉ 334 00:16:30,050 --> 00:16:32,800 có nghĩa là một công ty gọi là Intel đã sản xuất các 335 00:16:32,800 --> 00:16:34,130 bộ não của máy tính của bạn - 336 00:16:34,130 --> 00:16:37,270 hay còn gọi là CPU, đơn vị xử lý trung tâm - 337 00:16:37,270 --> 00:16:39,640 và đó mới chỉ là điều mà hiểu mẫu 338 00:16:39,640 --> 00:16:40,880 của zero và những người thân. 339 00:16:40,880 --> 00:16:46,330 Và như vậy bằng cách chuyển đổi mã nguồn vào mã đối tượng thông qua quá trình này đây 340 00:16:46,330 --> 00:16:49,130 rằng chúng tôi sẽ làm gì với một vài lệnh trong chỉ là một chút, bạn có 341 00:16:49,130 --> 00:16:53,070 mẫu tạo của zero và những người thân rằng các nhân viên của Intel có 342 00:16:53,070 --> 00:16:56,000 quyết định đại diện cho báo cáo nhất định. 343 00:16:56,000 --> 00:16:58,810 >> Bây giờ, tôi hoàn toàn không biết đó được đó bằng cách chỉ liếc nhìn 344 00:16:58,810 --> 00:16:59,890 những con số không và những người thân. 345 00:16:59,890 --> 00:17:01,420 Hầu hết con người những ngày này không. 346 00:17:01,420 --> 00:17:04,900 Nhưng ở đâu đó trong có một mô hình của zero và những người đại diện cho 347 00:17:04,900 --> 00:17:06,349 tuyên bố in. 348 00:17:06,349 --> 00:17:10,460 Một nơi nào đó trong đó có thể là một khác nhau tập hợp các số không và những người 349 00:17:10,460 --> 00:17:16,940 đại diện cho khái niệm mãi mãi hoặc lặp lại 10 lần hoặc thậm chí meo meo, nếu nó 350 00:17:16,940 --> 00:17:20,000 thực sự là một chương trình có thể bao gồm một số âm thanh. 351 00:17:20,000 --> 00:17:24,390 >> Vì vậy, trong ngắn hạn, con người vừa quyết định, giống như chúng tôi đã làm cho ASCII - 352 00:17:24,390 --> 00:17:27,480 cho các chữ cái trong bảng chữ cái tuần trước - con người đã quyết định rằng thậm chí 353 00:17:27,480 --> 00:17:32,200 các mẫu phức tạp hơn của zero và những người thân đại diện cho hành vi phức tạp hơn 354 00:17:32,200 --> 00:17:35,650 như in ấn hoặc nói hoặc meowing. 355 00:17:35,650 --> 00:17:38,640 Và do đó, cho ngày hôm nay, và phần lớn trở đi trong học kỳ, chúng tôi sẽ cho 356 00:17:38,640 --> 00:17:41,820 cấp rằng ai đó đã tìm ra cách để làm bản đồ đó. 357 00:17:41,820 --> 00:17:45,560 Nhưng chúng tôi, phù hợp với ý tưởng này của lớp trên đầu trang của các công việc của người dân 358 00:17:45,560 --> 00:17:49,340 người đã đi trước chúng ta, sẽ cho cấp thực tế là điều này đang xảy ra 359 00:17:49,340 --> 00:17:50,300 bên dưới mui xe. 360 00:17:50,300 --> 00:17:53,840 Nhưng chúng tôi đang quan tâm nhiều hơn trong xây dựng những điều hơn 361 00:17:53,840 --> 00:17:55,880 thú vị trên đầu trang của tất cả điều này. 362 00:17:55,880 --> 00:17:58,900 >> Và như vậy thực sự, chương trình đầu tiên chúng tôi đã viết trong Scratch là siêu đơn giản này 363 00:17:58,900 --> 00:18:00,600 một, Xin chào thế giới. 364 00:18:00,600 --> 00:18:05,100 Và bạn có thể nghĩ về điều này như là chương trình chính mà điều chỉnh Scratch của 365 00:18:05,100 --> 00:18:07,280 hành vi như của cuối tuần trước. 366 00:18:07,280 --> 00:18:11,510 >> Hôm nay, chúng ta sẽ bắt đầu dịch Gãi mảnh ghép vào 367 00:18:11,510 --> 00:18:16,040 mã nguồn trong ngôn ngữ này được gọi là C để những gì trông như thế này trên 368 00:18:16,040 --> 00:18:20,230 Thứ sáu, bắt đầu từ hôm nay trở đi, là bây giờ sẽ trông như thế này. 369 00:18:20,230 --> 00:18:21,860 Phải thừa nhận rằng hơn khó hiểu. 370 00:18:21,860 --> 00:18:25,010 Nó khá mất tập trung và phân loại của tâm trí tê để xem tất cả các dấu ngoặc kép 371 00:18:25,010 --> 00:18:27,760 và dấu chấm phẩy và ngoặc đơn và vv. 372 00:18:27,760 --> 00:18:32,350 >> Nhưng nếu bạn bắt đầu để bỏ qua bất cứ điều gì bạn không hiểu, và thực sự nhìn 373 00:18:32,350 --> 00:18:35,960 tinh túy của văn bản trắng trên màn hình, chắc chắn bạn nhìn thấy, như tôi làm, 374 00:18:35,960 --> 00:18:40,360 "Hello, thế giới." Rằng dòng lên với tuyên bố màu tím lên hàng đầu, và nó biến 375 00:18:40,360 --> 00:18:44,790 ra rằng các từ khóa chính sẽ xếp hàng với khái niệm khi màu xanh lá cây 376 00:18:44,790 --> 00:18:46,350 cờ nhấp vào. 377 00:18:46,350 --> 00:18:49,820 >> Vì vậy, nói cách khác, trong khi ở cào, chúng tôi thực hiện chương trình này Hello World 378 00:18:49,820 --> 00:18:53,360 với hai mảnh ghép, trong C, chúng ta sẽ thực hiện nó với những 379 00:18:53,360 --> 00:18:55,510 bốn dòng hơi khó hiểu. 380 00:18:55,510 --> 00:18:58,130 Nhưng khi chúng ta đi sâu hơn vào điều này, bạn sẽ thấy rằng mỗi một trong những 381 00:18:58,130 --> 00:19:02,730 các ký tự trắng trên màn hình thực sự có một số ý nghĩa quan trọng, 382 00:19:02,730 --> 00:19:05,880 và hầu hết các chương trình của chúng tôi sẽ xem cấu trúc khá giống nhau. 383 00:19:05,880 --> 00:19:08,980 Do đó, một tuyên bố, để được rõ ràng, những gì trông giống như "nói hello world" trên 384 00:19:08,980 --> 00:19:12,020 Thứ Sáu sẽ bắt đầu tìm kiếm như thế này vào hôm thứ Hai. 385 00:19:12,020 --> 00:19:15,250 printf ("hello, thế giới"). 386 00:19:15,250 --> 00:19:17,700 Và có một số dấu chéo ngược lạ n, có dấu ngoặc đơn, có 387 00:19:17,700 --> 00:19:18,490 dấu chấm phẩy. 388 00:19:18,490 --> 00:19:21,950 >> Nhưng vào cuối ngày, chìa khóa takeaway hôm nay là tất cả chúng ta đang làm 389 00:19:21,950 --> 00:19:25,710 được chuyển mọi thứ từ hình ảnh hình thành hình thức văn bản. 390 00:19:25,710 --> 00:19:28,820 Vì vậy, một vòng lặp mà trông như thế này tuần trước là sẽ bây giờ nhìn 391 00:19:28,820 --> 00:19:30,140 một cái gì đó như thế này. 392 00:19:30,140 --> 00:19:33,020 >> Và hãy để tôi từ chối, giống như trong Đầu, có nhiều cách khác nhau để 393 00:19:33,020 --> 00:19:34,110 đạt được cùng một mục tiêu. 394 00:19:34,110 --> 00:19:38,860 Cùng trong C. Tôi không hiển thị cho bạn các chỉ cách để làm điều này, nhưng có một cách để 395 00:19:38,860 --> 00:19:43,230 dịch này mãi mãi ngăn chặn một vòng lặp trong C. 396 00:19:43,230 --> 00:19:44,980 >> Này ở đây, lặp lại 10 lần. 397 00:19:44,980 --> 00:19:47,580 Này thực sự loại uốn cong tâm lần đầu tiên bạn nhìn thấy nó. 398 00:19:47,580 --> 00:19:49,860 Nhưng để thực hiện điều đó từ nay về sau, chúng ta sẽ sử dụng một 399 00:19:49,860 --> 00:19:51,990 cho vòng lặp, do đó, để nói chuyện. 400 00:19:51,990 --> 00:19:56,150 Và rõ ràng có một số cú pháp đó là một chút phức tạp đó với tôi và 401 00:19:56,150 --> 00:19:59,740 bình đẳng và 0, nhưng khi chúng tôi đi sâu vào đó hôm nay trở đi, bạn chỉ cần đi 402 00:19:59,740 --> 00:20:04,260 để thấy rằng đó là tất cả chỉ đơn giản là làm một số số học cơ bản để có được chúng từ 0 403 00:20:04,260 --> 00:20:07,720 trên lên đến 9 hoặc 10 trong trường hợp này. 404 00:20:07,720 --> 00:20:11,570 >> Cuối cùng, với các biến, bạn sẽ nhớ lại một biến là một phần dung lượng lưu trữ. 405 00:20:11,570 --> 00:20:14,290 Vâng, những gì chúng tôi đã có trên bên trái có cuối cùng tuần là sẽ xem xét một chút 406 00:20:14,290 --> 00:20:15,920 một cái gì đó như thế này trong tuần này. 407 00:20:15,920 --> 00:20:17,870 Nhưng một lần nữa, thêm vào đó đi. 408 00:20:17,870 --> 00:20:20,700 >> Chúng tôi đã có các biểu thức Boolean, mà tuần trước, trông như thế này. 409 00:20:20,700 --> 00:20:23,370 Tuần này trở đi, họ sẽ bắt đầu để tìm một chút như thế. 410 00:20:23,370 --> 00:20:24,890 >> Và điều này thực sự một chút yên tâm. 411 00:20:24,890 --> 00:20:27,680 Nó thực sự gần như là đơn giản như các khối màu xanh lá cây. 412 00:20:27,680 --> 00:20:31,115 Nhưng ở đây chúng tôi có, một lần nữa, một số cú pháp mới với ampersands, nhưng bạn có thể 413 00:20:31,115 --> 00:20:35,390 có lẽ đoán trong khi trong Scratch, bạn nói A-N-D, rõ ràng trong C, chúng tôi 414 00:20:35,390 --> 00:20:37,070 sẽ nói dấu và ký hiệu. 415 00:20:37,070 --> 00:20:39,650 Nhưng tất cả điều này sẽ trở thành tự nhiên trước khi dài. 416 00:20:39,650 --> 00:20:40,680 >> Điều kiện. 417 00:20:40,680 --> 00:20:42,610 Tuần trước, nó trông giống như này bên trái. 418 00:20:42,610 --> 00:20:44,800 Tuần này, bên phải, đó là sẽ xem xét như thế. 419 00:20:44,800 --> 00:20:48,560 Nhưng một lần nữa, các Yếu tố chính ở đây là như bạn thấy những điều như thế trên 420 00:20:48,560 --> 00:20:51,950 quyền, và đặc biệt là nếu ít thoải mái, đó là loại trên của bạn 421 00:20:51,950 --> 00:20:54,950 đầu, bạn sẽ có được một chút áp đảo mà Tôi thực sự không có ý tưởng làm thế nào tôi có thể 422 00:20:54,950 --> 00:20:58,420 có thể đưa ra mà từ đầu - 423 00:20:58,420 --> 00:20:59,500 không có ý định chơi chữ - 424 00:20:59,500 --> 00:21:05,300 chỉ nhận ra rằng nó thực sự là như nhau ý kiến ​​cho rằng có thể cảm thấy nhiều hơn nữa 425 00:21:05,300 --> 00:21:06,760 tự nhiên với tuần trước. 426 00:21:06,760 --> 00:21:10,960 Và ngay cả khi bạn không nhảy vào vấn đề thiết lập 0, tôi dám khẳng định rằng bạn sẽ tìm thấy 427 00:21:10,960 --> 00:21:13,790 rằng các mảnh ghép là khá trực quan, hoặc ít nhất là 428 00:21:13,790 --> 00:21:16,050 trở nên theo thời gian. 429 00:21:16,050 --> 00:21:16,990 >> Vì vậy, hãy bổ nhào nhập 430 00:21:16,990 --> 00:21:20,760 Chúng ta hãy có được bàn tay của chúng tôi bẩn ở đây với chương trình đơn giản đầu tiên này. 431 00:21:20,760 --> 00:21:22,410 Và đơn giản là, tất nhiên, tương đối. 432 00:21:22,410 --> 00:21:25,190 Để làm điều này, tôi sẽ thay đổi màn hình để thiết bị mà tôi gọi là 433 00:21:25,190 --> 00:21:26,150 CS50 thiết bị. 434 00:21:26,150 --> 00:21:29,700 Thiết bị CS50 là một phần của phần mềm đang chạy bên trong một 435 00:21:29,700 --> 00:21:33,920 cửa sổ trên máy Mac của tôi, và bạn cũng có thể chạy nó trong một cửa sổ bên trong máy tính của bạn, mà 436 00:21:33,920 --> 00:21:38,720 cho phép tôi để có cùng chính xác môi trường máy tính như mỗi TF, như 437 00:21:38,720 --> 00:21:40,940 mỗi CA, như mọi học sinh trong lớp. 438 00:21:40,940 --> 00:21:44,590 Bởi vì các thiết bị CS50 là nghĩa đen hệ điều hành khác 439 00:21:44,590 --> 00:21:45,410 được gọi là Linux - 440 00:21:45,410 --> 00:21:47,160 đặc biệt Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 và chúng tôi, những nhân viên, đã cấu hình quá trình cài đặt này 442 00:21:51,320 --> 00:21:55,200 hệ thống hoạt động trong một cách mà một, có một chút CS50 logo trong 443 00:21:55,200 --> 00:21:59,240 giữa, hai, có một trình đơn tùy chỉnh tại phía dưới, và ba, sư phạm, 444 00:21:59,240 --> 00:22:02,570 chúng tôi đã giản giao diện người dùng như nhiều càng tốt để khi bạn 445 00:22:02,570 --> 00:22:05,540 khởi động đầu tiên điều này lên trên của riêng bạn Mac hoặc máy PC, bạn có cùng 446 00:22:05,540 --> 00:22:08,280 môi trường như mọi người khác, và bạn có tất cả các công cụ mà bạn cần 447 00:22:08,280 --> 00:22:11,390 cho các khóa học mà không cần phải tìm hiểu làm thế nào để cài đặt mỗi và 448 00:22:11,390 --> 00:22:13,280 mọi công cụ riêng lẻ. 449 00:22:13,280 --> 00:22:15,840 >> Vì vậy, điều này có vẻ tương đối như hệ điều hành Mac hoặc Windows. 450 00:22:15,840 --> 00:22:18,760 Ở góc dưới bên trái, bạn về cơ bản có một trình đơn Start của 451 00:22:18,760 --> 00:22:20,280 các loại, hoặc một trình đơn Apple. 452 00:22:20,280 --> 00:22:23,700 Và sau đó bạn có những gì chúng tôi nghi ngờ sẽ có ba biểu tượng phổ biến nhất của bạn. 453 00:22:23,700 --> 00:22:24,460 Một là Chrome. 454 00:22:24,460 --> 00:22:26,460 Có một trình duyệt bên trong của thiết bị. 455 00:22:26,460 --> 00:22:29,970 >> Hai là một chương trình được gọi là gedit, mà chúng ta đã thấy một thời gian ngắn hồi tuần trước, đó là 456 00:22:29,970 --> 00:22:31,310 chỉ là một trình biên tập đồ họa. 457 00:22:31,310 --> 00:22:35,350 Và ba là một chương trình thiết bị đầu cuối, mà là một cửa sổ màu đen và trắng 458 00:22:35,350 --> 00:22:39,860 năm qua cho phép chúng ta nhập hơn lệnh phức tạp nhưng mạnh mẽ hơn ở 459 00:22:39,860 --> 00:22:40,660 bàn phím của chúng tôi. 460 00:22:40,660 --> 00:22:44,220 Vì vậy, tôi sẽ đi trước và bấm vào gedit, và yên tâm rằng vấn đề 461 00:22:44,220 --> 00:22:48,520 thiết lập 1, sẽ được phát hành vào thứ Sáu, sẽ hướng dẫn bạn qua tất cả các bước tương tự. 462 00:22:48,520 --> 00:22:51,730 >> Chú ý rằng tôi có một khá đơn giản giao diện người dùng với ba phần. 463 00:22:51,730 --> 00:22:54,990 Bên trái, tôi có một sản phẩm nào lớn cửa sổ được gọi là mã nguồn. 464 00:22:54,990 --> 00:22:58,930 Đó là nơi mà tôi sẽ thấy một bản tóm tắt của bất kỳ mã mà tôi viết. 465 00:22:58,930 --> 00:23:01,990 Ở phía bên tay phải, tôi có một lớn tab, hiện chưa được cứu, và đó là 466 00:23:01,990 --> 00:23:03,510 nơi mà mã của tôi sẽ đi. 467 00:23:03,510 --> 00:23:06,780 Và ở phía dưới, tôi đã một nhúng Cửa sổ thiết bị đầu cuối, một màu đen và trắng 468 00:23:06,780 --> 00:23:12,060 nhắc nhở mà tôi có thể nhập lệnh để biên dịch và chạy chương trình của tôi - đó 469 00:23:12,060 --> 00:23:14,110 là, để thực hiện và chạy các chương trình của tôi. 470 00:23:14,110 --> 00:23:15,170 >> Vì vậy, hãy bắt đầu đơn giản. 471 00:23:15,170 --> 00:23:17,700 Hãy để tôi đi lên vào File, Save. 472 00:23:17,700 --> 00:23:20,530 Tôi sẽ đi trước và đi vào jharvard. 473 00:23:20,530 --> 00:23:24,320 Vì vậy, thiết bị này, không phân biệt gì tên của bạn, thuộc về một người tên là 474 00:23:24,320 --> 00:23:28,250 John Harvard, người có một nhà jharvard thư mục bên trong đó tất cả các bạn 475 00:23:28,250 --> 00:23:29,100 tập tin sẽ đi. 476 00:23:29,100 --> 00:23:31,640 Đó là bản sao của riêng bạn của tài khoản của mình, vì vậy chúng tôi không phải tất cả chia sẻ 477 00:23:31,640 --> 00:23:33,530 ổ đĩa cứng giống nhau. 478 00:23:33,530 --> 00:23:35,580 Bạn chỉ có ảo tưởng của riêng John Harvard. 479 00:23:35,580 --> 00:23:38,350 >> Trước, tôi thực sự cài đặt Dropbox. 480 00:23:38,350 --> 00:23:42,600 Thiết bị đi kèm với preprepared Dropbox để nếu bất cứ điều gì sai trái 481 00:23:42,600 --> 00:23:45,950 trong học kỳ, nếu bạn đã cấu hình thiết bị của bạn với một miễn phí 482 00:23:45,950 --> 00:23:48,950 Tài khoản Dropbox, tất cả các tập tin của bạn sẽ được tự động sao lưu, do đó bạn 483 00:23:48,950 --> 00:23:50,430 có thể dễ dàng khôi phục lại chúng. 484 00:23:50,430 --> 00:23:53,980 Và tôi sẽ đi vào Dropbox của tôi thư mục, và có ấy đã đi 485 00:23:53,980 --> 00:23:55,530 là một vài thứ khác ở đó. 486 00:23:55,530 --> 00:24:02,090 >> Nhưng tôi sẽ đi trước và vào File, Save. 487 00:24:02,090 --> 00:24:05,930 Tôi sẽ đi vào jharvard, Dropbox, và ở đây, tôi sẽ 488 00:24:05,930 --> 00:24:10,590 cho chương trình của tôi một siêu đơn giản tên, hello.c, và sau đó lưu. 489 00:24:10,590 --> 00:24:11,810 Vì vậy, tôi có giao diện tương tự ngay bây giờ. 490 00:24:11,810 --> 00:24:14,190 Điều duy nhất mà đã thay đổi là tab lên hàng đầu. 491 00:24:14,190 --> 00:24:17,170 Vì vậy, tôi rất nhanh chóng sẽ tạo chương trình từ 492 00:24:17,170 --> 00:24:19,060 trượt một thời điểm trước đây. 493 00:24:19,060 --> 00:24:25,690 >> Vì vậy, vào main (void), và sau đó printf, "Hello, thế giới", một hơi khó hiểu 494 00:24:25,690 --> 00:24:29,920 dấu gạch chéo ngược n, trích dẫn gần, gần ngoặc đơn, dấu chấm phẩy, và 495 00:24:29,920 --> 00:24:32,030 sau đó Ctrl S để lưu lại. 496 00:24:32,030 --> 00:24:34,860 Và thông báo như một sang một bên những gì chỉ xuất hiện ở đây trên cùng bên trái. 497 00:24:34,860 --> 00:24:37,490 Và điều này là không hữu ích ngày hôm nay, nhưng sẽ hữu ích theo thời gian. 498 00:24:37,490 --> 00:24:40,160 Bạn chỉ cần nhìn thấy, một lần nữa, một bản tóm tắt của mã mà bạn đã viết. 499 00:24:40,160 --> 00:24:43,320 Và bởi vì tôi đã viết một cái gì đó gọi là chính, đó là lý do tại sao từ chính xuất hiện 500 00:24:43,320 --> 00:24:44,030 lên trên đó. 501 00:24:44,030 --> 00:24:46,610 Nhưng đối với hầu hết các phần, chúng tôi không cần điều đó ngày hôm nay. 502 00:24:46,610 --> 00:24:51,130 >> Được rồi, vì vậy tôi cho rằng đây là của tôi chương trình đầu tiên được viết trong một chương trình 503 00:24:51,130 --> 00:24:54,620 ngôn ngữ được gọi là C. Chúng tôi biết từ thứ Sáu rằng những gì điều này sẽ làm 504 00:24:54,620 --> 00:24:58,450 rất uninterestingly khi tôi chạy nó chỉ được hiển thị - 505 00:24:58,450 --> 00:25:01,270 nói cách khác, in, như một máy tính nhà khoa học sẽ nói - 506 00:25:01,270 --> 00:25:03,310 hello thế giới trên màn hình. 507 00:25:03,310 --> 00:25:06,800 Vì vậy, để làm được điều này, bạn sẽ nhận thấy rằng tôi có đi xuống đây để thiết bị đầu cuối của tôi 508 00:25:06,800 --> 00:25:09,250 cửa sổ, và bây giờ tôi có một nhấp nháy nhanh chóng. 509 00:25:09,250 --> 00:25:15,480 Nhưng điều này hiện nay là một phiên bản của bàn phím thư mục John Harvard của tôi. 510 00:25:15,480 --> 00:25:19,610 Đó là một cách bàn phím thông qua đó để di chuyển ổ cứng của tôi. 511 00:25:19,610 --> 00:25:25,380 >> Vì vậy, tôi có thể không thực sự gõ như tôi đã làm tuần trước làm cho xin chào, bởi vì nó 512 00:25:25,380 --> 00:25:27,230 sẽ nói không có quy tắc để thực hiện mục tiêu - 513 00:25:27,230 --> 00:25:27,950 một cái gì đó không ổn. 514 00:25:27,950 --> 00:25:31,690 Tôi hoàn toàn không biết tin nhắn đó phương tiện, nhưng đó là bởi vì theo mặc định, 515 00:25:31,690 --> 00:25:35,350 khi cửa sổ màu đen và trắng là mở ra, tôi là bên trong của John Harvard 516 00:25:35,350 --> 00:25:36,160 thư mục chính. 517 00:25:36,160 --> 00:25:39,180 Nhưng nơi mà tôi tiết kiệm chương trình đó? 518 00:25:39,180 --> 00:25:40,440 Trong thư mục Dropbox của tôi. 519 00:25:40,440 --> 00:25:43,110 >> Bây giờ, tất cả chúng ta đã lớn lên với máy tính mà bạn chỉ cần nhấp đúp chuột 520 00:25:43,110 --> 00:25:45,610 trên biểu tượng của một thư mục, nó mở ra, và thì đấy. 521 00:25:45,610 --> 00:25:48,280 Đó là nơi mà các tập tin được gọi là hello.c sẽ. 522 00:25:48,280 --> 00:25:49,470 Vì vậy, trong thực tế, chúng ta hãy làm điều đó. 523 00:25:49,470 --> 00:25:51,610 >> Hãy để tôi đi trước và giảm thiểu gedit giống như bạn sẽ trên 524 00:25:51,610 --> 00:25:52,990 Windows hoặc Mac OS. 525 00:25:52,990 --> 00:25:56,160 Hãy để tôi đi vào nhà thư mục ở phía trên bên trái. 526 00:25:56,160 --> 00:25:57,620 Tôi sẽ thấy ở đây một số thư mục. 527 00:25:57,620 --> 00:25:58,870 Đây là thư mục Dropbox của tôi. 528 00:25:58,870 --> 00:26:00,770 Các đánh dấu có nghĩa là nó được đồng bộ hóa. 529 00:26:00,770 --> 00:26:04,040 Và có một vài điều trong đây, nhưng nhận thấy rằng hello.c là 530 00:26:04,040 --> 00:26:04,960 thực sự ngay tại đó. 531 00:26:04,960 --> 00:26:08,050 >> Và như vậy trong hệ điều hành Mac hoặc Windows, bình thường, Tôi nhấp đúp chuột vào đó, nó mở ra trong 532 00:26:08,050 --> 00:26:10,220 bất cứ chương trình, và tôi là tốt để đi. 533 00:26:10,220 --> 00:26:13,370 Nhưng bây giờ, ít nhất là kể từ hôm nay, chúng tôi cần phải thực hiện một bước lùi chỉ để 534 00:26:13,370 --> 00:26:16,960 cung cấp cho bạn một số công cụ cơ bản cho bạn bộ công cụ mà làm nhiều hơn nữa 535 00:26:16,960 --> 00:26:18,980 những điều mạnh mẽ trước khi dài. 536 00:26:18,980 --> 00:26:22,280 >> Vì vậy, tại dấu nhắc, tôi phải làm tương đương với cách nhấp đúp 537 00:26:22,280 --> 00:26:23,560 Dropbox thư mục. 538 00:26:23,560 --> 00:26:29,900 Và để làm điều đó, tôi sẽ gõ cho CD thay đổi thư mục, Dropbox, nhập. 539 00:26:29,900 --> 00:26:36,100 Và bây giờ nhận thấy những dấu ngoặc đơn tại của tôi cái gọi là dấu nhắc bây giờ nói rằng tôi là trong 540 00:26:36,100 --> 00:26:38,470 dấu ngã, ít nguệch ngoạc biểu tượng ở phía trên bên trái của 541 00:26:38,470 --> 00:26:40,860 hầu hết các bàn phím, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Đây chỉ là viết tắt ký hiệu cho nói con người, bạn đã có bên trong 543 00:26:45,200 --> 00:26:48,650 thư mục Dropbox, chỉ cần như bạn đã nhấp đúp vào nó. 544 00:26:48,650 --> 00:26:54,610 >> Vì vậy, bây giờ nếu tôi đi trước và gõ làm xin chào, nhập, tôi thấy rất khó hiểu 545 00:26:54,610 --> 00:26:57,450 lệnh, nhưng không phải là một thông báo lỗi, có vẻ như, và sau đó 546 00:26:57,450 --> 00:26:59,020 khác nhấp nháy nhanh chóng. 547 00:26:59,020 --> 00:27:04,470 Và nếu bạn nhớ lại, bao giờ một cách nhanh chóng Thứ sáu, chúng tôi đã làm điều này. . / Hello. 548 00:27:04,470 --> 00:27:10,000 >> Kết quả những gì bạn đang về để xem là của tôi chạy chương trình này, hoặc, trong Mac 549 00:27:10,000 --> 00:27:14,310 Hệ điều hành máy tính và các điều khoản, nếu tôi thường muốn tăng gấp đôi nhấp chuột vào một chương trình - một ứng dụng. 550 00:27:14,310 --> 00:27:17,620 chương trình hoặc một exe., nó sẽ mở ra một cửa sổ và chạy. 551 00:27:17,620 --> 00:27:21,920 Gõ. / Hello giống như đôi nhấp chuột vào một chương trình để chạy nó, nhưng 552 00:27:21,920 --> 00:27:23,280 sử dụng bàn phím của tôi. 553 00:27:23,280 --> 00:27:25,410 >> Nhập, xin chào thế giới. 554 00:27:25,410 --> 00:27:26,150 Và đó là nó. 555 00:27:26,150 --> 00:27:29,150 Vì vậy, hãy trêu chọc này ngoài để để nó không cảm thấy quá nhiều như tiếng Hy Lạp. 556 00:27:29,150 --> 00:27:31,370 >> Như vậy. / Có nghĩa là gì? 557 00:27:31,370 --> 00:27:34,120 Bất cứ ai từng lái một bàn phím môi trường như thế này, dấu chấm là những gì 558 00:27:34,120 --> 00:27:36,690 đề cập đến? 559 00:27:36,690 --> 00:27:37,800 Thư mục hiện hành. 560 00:27:37,800 --> 00:27:41,320 >> Vì vậy, các thư mục hiện tại chỉ là một từ đồng nghĩa cho một thư mục. 561 00:27:41,320 --> 00:27:46,230 Vì vậy, bằng cách nói rằng dấu chấm dấu gạch chéo, tôi nói, tìm kiếm một chương trình gọi là chào trong 562 00:27:46,230 --> 00:27:47,250 thư mục hiện tại - 563 00:27:47,250 --> 00:27:48,540 trong thư mục hiện hành. 564 00:27:48,540 --> 00:27:50,480 Nói cách khác, thư mục Dropbox của tôi. 565 00:27:50,480 --> 00:27:54,220 Và đó là lý do tại sao đánh Nhập sau đó thực sự chạy chương trình đó. 566 00:27:54,220 --> 00:27:58,790 >> Nếu bây giờ tôi loại LS, nhận thấy rằng tôi nhìn thấy tất cả mọi thứ trong thư mục Dropbox của tôi. 567 00:27:58,790 --> 00:28:02,000 Bắt Started.pdf, mà Dropbox cung cấp cho bạn miễn phí, hình ảnh của tôi 568 00:28:02,000 --> 00:28:05,450 thư mục, một thư mục công cộng, chưa được lưu 1 tài liệu mà tôi đã thực hiện do nhầm lẫn một 569 00:28:05,450 --> 00:28:09,730 thời điểm trước đây, foo.c, mà tôi thực hiện trước đó ngày hôm nay, và sau đó hai dòng - 570 00:28:09,730 --> 00:28:12,090 hello.c và xin chào. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c là chương trình tôi đã viết với gedit, và những gì là chào trong màu xanh lá cây? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 Hello trong màu xanh lá cây là thực thi. 574 00:28:22,940 --> 00:28:27,020 Nói cách khác, khi tôi chạy lệnh này một thời điểm trước đây - cho tôi lăn 575 00:28:27,020 --> 00:28:28,040 trở lại trong thời gian - 576 00:28:28,040 --> 00:28:32,400 khi tôi chạy làm hello, đó là bước trung ở đây. 577 00:28:32,400 --> 00:28:34,410 Và nó đã hello.c như đầu vào - 578 00:28:34,410 --> 00:28:39,910 Mã nguồn AKA - và nó tạo ra một tập tin hello như đầu ra, mà 579 00:28:39,910 --> 00:28:42,510 chứa tất cả các số không và những người thân. 580 00:28:42,510 --> 00:28:47,640 Và đó là lý do tại sao, cuối cùng, tôi có thể thực sự chạy một lệnh như thế. / hello. 581 00:28:47,640 --> 00:28:53,310 Vì Intel Inside, điều hành của tôi hệ thống, Linux, mở ra những số không 582 00:28:53,310 --> 00:28:55,820 và những người thân, cho chúng ăn vào bộ não của máy tính của tôi - 583 00:28:55,820 --> 00:28:56,580 CPU - 584 00:28:56,580 --> 00:29:00,460 và CPU biết, oh, đây là một mẫu số không và những người nói 585 00:29:00,460 --> 00:29:02,800 in những điều sau đây trên màn hình. 586 00:29:02,800 --> 00:29:04,450 >> Những điều sau đây là những gì? 587 00:29:04,450 --> 00:29:07,650 Trích dẫn unquote, "hello thế giới." 588 00:29:07,650 --> 00:29:12,100 >> Được rồi, do đó, một bản tóm tắt nhanh chóng của một số các lệnh này để chúng tôi có thể bắt đầu 589 00:29:12,100 --> 00:29:13,350 đưa chúng cho các cấp. 590 00:29:13,350 --> 00:29:15,550 Hãy để tôi bỏ qua cho nơi chúng tôi rời đi. 591 00:29:15,550 --> 00:29:22,230 Và bạn sẽ nhớ lại rằng chúng tôi đã có CD ở phía sau của chúng tôi kết thúc một thời điểm trước đây. 592 00:29:22,230 --> 00:29:24,880 Đây là, tôi dám nói, cho mục đích của ngày hôm nay - 593 00:29:24,880 --> 00:29:29,010 có thể trong tuần này - các lệnh duy nhất chúng tôi có thể cần phải gõ vào lệnh 594 00:29:29,010 --> 00:29:30,580 nhắc nhở, bên cạnh thực hiện. 595 00:29:30,580 --> 00:29:34,510 >> Vì vậy, CD đứng để làm gì? 596 00:29:34,510 --> 00:29:35,180 Thay đổi thư mục. 597 00:29:35,180 --> 00:29:38,010 Nó chỉ tương đương với đôi nhấp chuột vào một thư mục. 598 00:29:38,010 --> 00:29:41,320 Và như một sang một bên, nếu bạn nhận được mất bao giờ bên trong của bạn 599 00:29:41,320 --> 00:29:43,430 thiết bị, như vậy mà Dropbox - 600 00:29:43,430 --> 00:29:45,420 Tôi muốn để lại cho tôi jharvard thư mục - 601 00:29:45,420 --> 00:29:50,490 khi nghi ngờ, CD, nhập, không có khác từ, và nó chỉ kéo khóa lại cho bạn 602 00:29:50,490 --> 00:29:53,110 đến nơi mà bạn bắt đầu, là một phím tắt ít tốt đẹp. 603 00:29:53,110 --> 00:29:54,840 >> Được rồi, vì vậy bây giờ các lệnh khác. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 Tôi đã đánh một thời điểm trước đây. 606 00:29:56,840 --> 00:29:59,500 Những gì bạn nghĩ LS là viết tắt của? 607 00:29:59,500 --> 00:30:00,470 >> Vì vậy, danh sách, phải không? 608 00:30:00,470 --> 00:30:03,300 Trở lại trong ngày, khi con người đang đi tới với các lệnh này, họ 609 00:30:03,300 --> 00:30:07,180 đã cố gắng để có hiệu quả, và hơn loại ra L-I-S-T enter, họ 610 00:30:07,180 --> 00:30:08,470 LS quyết định. 611 00:30:08,470 --> 00:30:09,080 Đó là tốt. 612 00:30:09,080 --> 00:30:10,420 Nó nghe có vẻ như danh sách. 613 00:30:10,420 --> 00:30:13,870 Chúng ta hãy LS loại nhập, và liệt kê các tập tin hoặc thư mục trong tôi 614 00:30:13,870 --> 00:30:15,000 thư mục hiện hành. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, bạn có thể đoán. 616 00:30:17,530 --> 00:30:18,440 Tạo thư mục. 617 00:30:18,440 --> 00:30:22,010 Vì vậy, bạn không đi đến một số đơn tập tin và chọn New Folder trong môi trường này. 618 00:30:22,010 --> 00:30:27,410 Thay vào đó, bạn gõ lệnh mkdir không gian và sau đó là tên của thư mục 619 00:30:27,410 --> 00:30:29,850 mà bạn muốn tạo ra, và nó sẽ được thực hiện. 620 00:30:29,850 --> 00:30:32,380 >> rm, bạn có thể đoán. 621 00:30:32,380 --> 00:30:33,480 Loại bỏ hoặc xóa. 622 00:30:33,480 --> 00:30:36,740 Vì vậy, nếu bạn muốn xóa một tập tin, bạn sẽ nhìn thấy trong bộ vấn đề làm thế nào bạn 623 00:30:36,740 --> 00:30:37,240 có thể làm điều này. 624 00:30:37,240 --> 00:30:39,510 Và rmdir, loại bỏ các thư mục. 625 00:30:39,510 --> 00:30:42,320 >> Vì vậy, một lần nữa, tôi sẽ có xu hướng bay qua một số những chi tiết này, một, bởi vì 626 00:30:42,320 --> 00:30:46,010 họ không phải là tất cả những gì thú vị hơn để dành thời gian trên, nhưng hai, chúng tôi sẽ cung cấp cho bạn trong 627 00:30:46,010 --> 00:30:48,720 chi tiết hơn trong bất kỳ Tất nhiên vấn đề của thiết lập, đặc biệt 628 00:30:48,720 --> 00:30:52,370 các phiên bản tiêu chuẩn, bất kỳ các bước mà bạn có thể cần phải loại để 629 00:30:52,370 --> 00:30:54,830 mà bạn nhận được nhiều hơn và nhiều hơn nữa thoải mái với những điều này. 630 00:30:54,830 --> 00:30:57,430 >> Nhưng bây giờ hãy để tôi trêu chọc nhau một điều khác. 631 00:30:57,430 --> 00:31:02,580 Khi chúng tôi gõ làm cho chào một thời điểm trước đây, chúng ta đã thấy một chuỗi các lệnh khó hiểu. 632 00:31:02,580 --> 00:31:04,805 Chúng ta đã thấy, một lần nữa, làm cho hello. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 OK, chúng ta hãy làm điều này. 635 00:31:08,520 --> 00:31:11,840 Tôi đã về để làm cho một sai lầm, nhưng [Nghe được] bây giờ thừa nhận tôi đã sắp 636 00:31:11,840 --> 00:31:14,400 và cố tình làm điều đó. 637 00:31:14,400 --> 00:31:15,810 >> Tôi đã làm gì sai chỉ bây giờ? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Vâng, vì vậy tôi không có trong Dropbox thư mục, bởi vì lúc nãy tôi 640 00:31:21,060 --> 00:31:22,720 CD đánh máy và chỉ cần nhấn Enter. 641 00:31:22,720 --> 00:31:25,480 Mà thu nhỏ tôi trở lại nơi mà tôi bắt đầu, mà không phải là nơi tập tin của tôi 642 00:31:25,480 --> 00:31:31,720 được, vì vậy tôi thực sự cần phải làm CD Dropbox nhập, và bây giờ tôi có thể làm chào rm 643 00:31:31,720 --> 00:31:34,060 nhập, loại bỏ các tập tin thường xuyên chào hỏi. 644 00:31:34,060 --> 00:31:35,200 Tôi không biết lý do tại sao nó quá khó hiểu. 645 00:31:35,200 --> 00:31:37,600 Điều đó chỉ có nghĩa là bạn có chắc bạn muốn xóa nhỉ? 646 00:31:37,600 --> 00:31:41,510 Bạn có thể gõ y cho có, nhập, và bây giờ nó đã biến mất. 647 00:31:41,510 --> 00:31:46,010 >> Và bây giờ nếu tôi gõ làm cho chào một lần nữa, đó là sẽ tái tạo mã đối tượng của tôi, 648 00:31:46,010 --> 00:31:47,460 tái tạo những số không và những người thân. 649 00:31:47,460 --> 00:31:51,070 Nhưng thỏa thuận này là gì với lệnh rất dài này? 650 00:31:51,070 --> 00:31:53,960 Vâng, chúng tôi sẽ trêu chọc này ngoài chẳng bao lâu, nhưng chắc - 651 00:31:53,960 --> 00:31:55,500 Tôi đã nói với một chút của một lời nói dối trắng trước - 652 00:31:55,500 --> 00:31:56,880 không phải là một trình biên dịch. 653 00:31:56,880 --> 00:32:00,350 Hãy là một chương trình tự động con số ra làm thế nào để chạy một 654 00:32:00,350 --> 00:32:02,060 trình biên dịch cho bạn. 655 00:32:02,060 --> 00:32:07,490 >> Vì vậy, các lệnh mà bạn thực sự cần được đang chạy để chuyển đổi hello.c 656 00:32:07,490 --> 00:32:11,240 vào chào hỏi thực sự trông hơn một chút như thế này. 657 00:32:11,240 --> 00:32:15,900 Và Thiên Chúa cấm chúng ta phải thực sự nhớ đến bao giờ gõ mà toàn bộ 658 00:32:15,900 --> 00:32:17,280 chuỗi các lệnh ra. 659 00:32:17,280 --> 00:32:21,360 Mục đích của việc làm trong cuộc sống là để hãy nhớ rằng mức độ phức tạp cho 660 00:32:21,360 --> 00:32:24,470 chúng tôi và tự động hoá những gì sẽ khác là bước rất tẻ nhạt. 661 00:32:24,470 --> 00:32:26,040 >> Nhưng tôi có thể gần đúng đó. 662 00:32:26,040 --> 00:32:29,960 Vì vậy, mỗi tấm này ăn gian nhỏ ở đây, tôi có thể gần đúng những gì lệnh đó là 663 00:32:29,960 --> 00:32:33,960 làm bằng cách đơn giản gõ kêu vang, đó là tên của trình biên dịch chúng tôi sẽ 664 00:32:33,960 --> 00:32:35,170 sử dụng trong học kỳ này. 665 00:32:35,170 --> 00:32:38,500 Nếu các bạn đã từng làm iOS phát triển cho iPhone hoặc iPad, 666 00:32:38,500 --> 00:32:42,930 Kêu vang là chương trình mà bạn đã sử dụng trong xcode để làm cho ứng dụng của bạn. 667 00:32:42,930 --> 00:32:46,360 Kêu vang, mặc dù, chỉ là một chương trình có tên chúng ta có thể gõ vào lệnh 668 00:32:46,360 --> 00:32:49,210 nhắc nhở, và bằng cách giới thiệu này ngay bây giờ, Tôi có thể giới thiệu một cái gì đó là một 669 00:32:49,210 --> 00:32:52,410 ít đại diện các lệnh tới. 670 00:32:52,410 --> 00:32:53,910 Vì vậy, hãy để tôi làm điều này bằng tay. 671 00:32:53,910 --> 00:32:59,240 >> Vì vậy, rm xin chào, và bây giờ thông báo trong trường hợp Tôi, cũng như kiểm tra một sự tỉnh táo - 672 00:32:59,240 --> 00:33:03,180 . / Hello, những gì bạn nghĩ rằng tôi nên xem nếu tôi làm điều này? 673 00:33:03,180 --> 00:33:04,060 Một số loại lỗi. 674 00:33:04,060 --> 00:33:05,110 Không có thư mục tập tin như vậy. 675 00:33:05,110 --> 00:33:06,740 Vì vậy, đó là một thực sự khá trực tiếp. 676 00:33:06,740 --> 00:33:08,110 >> Vì vậy, bây giờ hãy để tôi xóa màn hình. 677 00:33:08,110 --> 00:33:11,370 Kiểm soát S chỉ xóa màn hình để loại bỏ một số phiền nhiễu. 678 00:33:11,370 --> 00:33:17,160 Và bây giờ tôi sẽ tự loại kêu vang-o chào hello.c. 679 00:33:17,160 --> 00:33:18,890 Vì vậy, đây là những gì về để làm gì? 680 00:33:18,890 --> 00:33:23,820 Chính xác những điều tương tự mà làm đã làm cho chúng tôi, nhưng tôi đã vứt bỏ một số 681 00:33:23,820 --> 00:33:25,430 những từ không cần thiết. 682 00:33:25,430 --> 00:33:28,570 >> Kêu vang là chương trình sẽ có một tập tin c. như đầu vào và sản xuất 683 00:33:28,570 --> 00:33:30,110 số không và những người như đầu ra. 684 00:33:30,110 --> 00:33:35,120 Nhưng-o từ đó sẽ gọi chuyển đổi một hoặc một lá cờ. 685 00:33:35,120 --> 00:33:39,080 Đây chỉ là thuật ngữ chuyên viên cho rằng đây là một từ mà bạn gõ tại dấu nhắc 686 00:33:39,080 --> 00:33:42,590 bằng cách nào đó ảnh hưởng đến hành vi của chương trình bạn đang chạy. 687 00:33:42,590 --> 00:33:47,180 Vì vậy, không ai muốn đoán những gì-o truyền tải? 688 00:33:47,180 --> 00:33:47,840 >> Đầu ra. 689 00:33:47,840 --> 00:33:52,670 Nó chỉ là một người nào đó quyết định-o có nghĩa là sản lượng một tập tin hello và mất 690 00:33:52,670 --> 00:33:56,440 đầu vào bất cứ điều gì từ cuối cùng trên nhắc là, hello.c, để nếu tôi nhấn 691 00:33:56,440 --> 00:33:58,930 Nhập ngay bây giờ, không có gì có thể xảy ra. 692 00:33:58,930 --> 00:34:02,010 Và kỳ lạ hơn, trong thế giới này lập trình, nếu không có gì xảy ra, 693 00:34:02,010 --> 00:34:03,980 đó có thể là một điều tốt bởi vì không có lỗi 694 00:34:03,980 --> 00:34:05,350 tin nhắn trên màn hình. 695 00:34:05,350 --> 00:34:07,190 Xin chào, Enter. 696 00:34:07,190 --> 00:34:08,670 Chương trình của tôi đã chạy. 697 00:34:08,670 --> 00:34:14,517 >> Nhưng tôi có thể làm những việc nhỏ ngu ngốc như này. kêu vang-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 nhập, và bây giờ tôi có một giống hệt nhau chương trình có tên hihihi. 699 00:34:18,590 --> 00:34:20,739 Nó cư xử như nhau, nhưng tên là khác nhau. 700 00:34:20,739 --> 00:34:23,360 >> Vì vậy, đây chỉ là để nói rằng nếu bạn muốn gây ảnh hưởng đến hành vi của một 701 00:34:23,360 --> 00:34:25,909 chương trình, chúng ta sẽ ngày càng nhìn thấy những thứ được gọi là 702 00:34:25,909 --> 00:34:27,739 đối số dòng lệnh. 703 00:34:27,739 --> 00:34:28,639 Đây là một dòng. 704 00:34:28,639 --> 00:34:29,580 Bạn gõ lệnh. 705 00:34:29,580 --> 00:34:30,969 Ergo, dòng lệnh. 706 00:34:30,969 --> 00:34:35,690 Và các đối số dòng lệnh chỉ từ hoặc những đoạn cú pháp 707 00:34:35,690 --> 00:34:40,840 bằng cách nào đó ảnh hưởng đến hành vi của các chương trình mà chúng tôi đang chạy. 708 00:34:40,840 --> 00:34:44,639 >> Được rồi, đó có lẽ là nhất chương trình nhàm chán, chúng tôi có thể viết và xem. 709 00:34:44,639 --> 00:34:46,670 Bây giờ chúng ta làm điều gì đó thú vị hơn. 710 00:34:46,670 --> 00:34:49,420 Hãy để tôi đi trước và tạo ra một tập tin mới. 711 00:34:49,420 --> 00:34:53,139 Tôi sẽ đi trước và tiết kiệm này trong Thư mục John Harvard như, 712 00:34:53,139 --> 00:34:58,670 chúng ta hãy gọi nó custom.c, để được một chút chương trình tùy chỉnh. 713 00:34:58,670 --> 00:35:01,920 Tôi sẽ phóng to ở đầu trang của tôi các tab ở đây và bắt đầu lại. 714 00:35:01,920 --> 00:35:03,730 >> Bao gồm stdio.h tiêu chuẩn. 715 00:35:03,730 --> 00:35:04,990 Thêm vào đó trong một thời điểm. 716 00:35:04,990 --> 00:35:08,240 int main (void), hơn trên mà trong một thời điểm. 717 00:35:08,240 --> 00:35:09,490 printf ("hello, David"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Nhiều thú vị hơn, phải không? 720 00:35:14,560 --> 00:35:20,690 >> Vì vậy, bây giờ nếu - không phải vì tên của tôi, chỉ vì nó khác nhau - 721 00:35:20,690 --> 00:35:24,950 để tùy chỉnh nhập. 722 00:35:24,950 --> 00:35:26,780 Tùy chỉnh, xin chào, David. 723 00:35:26,780 --> 00:35:28,020 Nhưng ngay cả điều đó cũng là một lời nói dối. 724 00:35:28,020 --> 00:35:30,850 Chương trình này cũng có thể được gọi là david.c, bởi vì nó không tùy chỉnh 725 00:35:30,850 --> 00:35:31,880 hành vi ở tất cả. 726 00:35:31,880 --> 00:35:35,080 Thực sự, tôi muốn có một chương trình yêu cầu người sử dụng cho tên của họ. 727 00:35:35,080 --> 00:35:36,320 >> Vì vậy, làm thế nào để tôi làm điều đó? 728 00:35:36,320 --> 00:35:38,520 Vâng, hãy để tôi di chuyển lên trên đây. 729 00:35:38,520 --> 00:35:42,960 Và trước khi tôi sử dụng một tuyên bố trong Đầu, trước khi tôi sử dụng printf, 730 00:35:42,960 --> 00:35:47,600 nếu không được biết đến như một chức năng, hãy để tôi đòi hỏi của người sử dụng đối với một số đầu vào. 731 00:35:47,600 --> 00:35:49,690 >> Vì vậy, để làm được điều này, tôi cần phải làm một vài điều. 732 00:35:49,690 --> 00:35:53,360 Một, tôi cần một nơi để lưu trữ của người dùng đặt tên sau khi tôi đã hỏi anh ta hoặc 733 00:35:53,360 --> 00:35:54,510 mình cho nó. 734 00:35:54,510 --> 00:36:00,120 Xây dựng những gì tôi cần phải sử dụng có thể để lưu trữ một giá trị như thế? 735 00:36:00,120 --> 00:36:00,910 Một biến. 736 00:36:00,910 --> 00:36:05,130 >> Vì vậy, không giống như Scratch, mà bạn chỉ cần có được một đẹp mảnh ghép, ở đây, chúng ta phải 737 00:36:05,130 --> 00:36:07,620 sử dụng, rõ ràng, lời thể hiện bản thân. 738 00:36:07,620 --> 00:36:11,510 Và từ đó, bất cứ lúc nào bạn muốn có một từ hoặc một cụm từ, trong chương trình, 739 00:36:11,510 --> 00:36:13,090 chúng ta sẽ gọi đó là một chuỗi. 740 00:36:13,090 --> 00:36:14,990 Vì vậy, một chuỗi là một từ hoặc một cụm từ. 741 00:36:14,990 --> 00:36:18,170 Đó là một chuỗi các số không hoặc nhiều nhân vật, chính thức hơn. 742 00:36:18,170 --> 00:36:22,520 >> Và nếu bạn muốn như vậy một biến tồn tại, bạn có thể nói cho tôi một. 743 00:36:22,520 --> 00:36:27,490 Và cách mà bạn làm điều đó là nói chuỗi s dấu chấm phẩy, mà s có thể 744 00:36:27,490 --> 00:36:28,740 bất cứ điều gì bạn muốn. 745 00:36:28,740 --> 00:36:30,510 Trong thực tế, s là một underwhelming ít. 746 00:36:30,510 --> 00:36:33,250 Hãy để tôi đi trước và nhiều hơn nữa gọi rõ tên nó. 747 00:36:33,250 --> 00:36:36,570 Hãy cho tôi một chuỗi gọi tên. 748 00:36:36,570 --> 00:36:40,180 >> Nhưng bây giờ, là những gì người tên mặc định? 749 00:36:40,180 --> 00:36:42,930 Vâng, nếu con người không gõ bất cứ điều gì trong, rõ ràng, có đi 750 00:36:42,930 --> 00:36:44,310 là không có giá trị trong tên. 751 00:36:44,310 --> 00:36:48,120 Và nó quay ra trong C, nếu bạn không cung cấp cho một giá trị biến, nó sẽ 752 00:36:48,120 --> 00:36:49,180 có một giá trị rác. 753 00:36:49,180 --> 00:36:51,650 Nó có thể có một số số không ngẫu nhiên và những người, vì vậy bạn chỉ cần đi để xem 754 00:36:51,650 --> 00:36:54,570 rác thải, thực sự, trên màn hình nếu bạn cố gắng để hiển thị nó. 755 00:36:54,570 --> 00:36:59,800 >> Nhưng tôi có thể khắc phục điều đó bằng cách nói rằng, trên thực tế, cửa hàng bên trong của tên 756 00:36:59,800 --> 00:37:01,400 theo giá trị. 757 00:37:01,400 --> 00:37:09,240 Cách bạn lưu trữ các giá trị trong biến là nếu bạn có một tên biến trên 758 00:37:09,240 --> 00:37:13,370 còn lại, bạn phải bằng cách nào đó đưa những gì bạn muốn lưu trữ trong nó trên bên phải, và 759 00:37:13,370 --> 00:37:17,650 cú pháp cho điều đó sẽ cụ thể như sau. 760 00:37:17,650 --> 00:37:22,120 >> Chúng tôi đã không nhìn thấy điều này trước đây, nhưng có trên đức tin cho một thời điểm mà có 761 00:37:22,120 --> 00:37:26,270 tồn tại một tuyên bố trên thế giới rằng tôi sẽ để một lần nữa gọi chức năng, 762 00:37:26,270 --> 00:37:28,310 và chức năng này gọi là có được chuỗi. 763 00:37:28,310 --> 00:37:29,670 Và nó có nghĩa đen đó. 764 00:37:29,670 --> 00:37:34,680 Nó bằng cách nào đó nhận được một chuỗi các ký tự từ con người và sau đó 765 00:37:34,680 --> 00:37:36,380 làm điều gì đó với nó. 766 00:37:36,380 --> 00:37:38,410 >> Và điều này trông giống như cú pháp khó hiểu. 767 00:37:38,410 --> 00:37:40,880 Thông thường, nếu bạn đang sử dụng dấu bằng - bạn đang ở trong thế giới của, nói, 768 00:37:40,880 --> 00:37:43,740 đại số, và bạn thực sự nói x = 1. 769 00:37:43,740 --> 00:37:46,570 Ở đây chúng ta không nói rằng tên bằng có được chuỗi. 770 00:37:46,570 --> 00:37:51,270 Chúng ta đang nói trong cửa hàng tên gì ở phía bên tay phải 771 00:37:51,270 --> 00:37:52,400 trong đó dấu bằng. 772 00:37:52,400 --> 00:37:55,030 Dấu bằng đại diện các nhà điều hành chuyển nhượng. 773 00:37:55,030 --> 00:37:58,240 Đó là cú pháp mà nói đưa những gì trên phía bên tay phải bên trong những gì 774 00:37:58,240 --> 00:37:59,090 bên trái. 775 00:37:59,090 --> 00:38:03,040 Do đó, có chuỗi là một mảnh mới của chức năng mà không chỉ 776 00:38:03,040 --> 00:38:03,670 một cái gì đó - 777 00:38:03,670 --> 00:38:05,000 yêu cầu người dùng cho một chuỗi - 778 00:38:05,000 --> 00:38:08,500 nó cũng trả về nó, vì vậy để nói chuyện. 779 00:38:08,500 --> 00:38:10,690 >> Vì vậy, chúng ta hãy xem những gì đang xảy ra xảy ra ở đây. 780 00:38:10,690 --> 00:38:14,300 Tôi sẽ đi trước bây giờ và thu nhỏ, và tôi sẽ có được một vài 781 00:38:14,300 --> 00:38:15,780 sai lầm tại dấu nhắc của tôi. 782 00:38:15,780 --> 00:38:18,750 Tôi sẽ gõ để tùy chỉnh, nhập. 783 00:38:18,750 --> 00:38:19,230 Wow. 784 00:38:19,230 --> 00:38:20,500 Một bó toàn bộ những sai lầm. 785 00:38:20,500 --> 00:38:23,120 >> Được rồi, vì vậy đây là loại áp đảo, chắc chắn lúc đầu, nhưng 786 00:38:23,120 --> 00:38:27,220 Hóa ra tất cả các rất thừa nhận thông báo lỗi khó hiểu là 787 00:38:27,220 --> 00:38:30,700 đề cập đến một số mẫu mà chúng tôi sẽ bắt đầu thấy theo thời gian. 788 00:38:30,700 --> 00:38:32,600 Vì vậy, điều này tôi sẽ nhổ ra, bởi vì nó là đầu tiên. 789 00:38:32,600 --> 00:38:35,700 Sử dụng không khai báo chuỗi nhận dạng. 790 00:38:35,700 --> 00:38:39,400 >> Điều đó chỉ có nghĩa là gedit, hoặc kêu vang, trong trường hợp này, không biết 791 00:38:39,400 --> 00:38:40,780 những gì tôi có nghĩa là chuỗi. 792 00:38:40,780 --> 00:38:43,880 Và đó là bởi vì trong C, lập trình ngôn ngữ, có thực sự 793 00:38:43,880 --> 00:38:47,750 không có biến kiểu chuỗi. 794 00:38:47,750 --> 00:38:49,810 C không biết rằng chuỗi tồn tại. 795 00:38:49,810 --> 00:38:52,260 >> Nhưng chúng tôi, CS50 nhân viên, làm. 796 00:38:52,260 --> 00:38:57,080 Và như vậy trước lớp, chúng tôi tạo ra một tập tin gọi là CS50.h. 797 00:38:57,080 --> 00:39:00,060 Và bên trong của tập tin này - và hơn về cú pháp đến - 798 00:39:00,060 --> 00:39:03,730 bên trong của tập tin này là một định nghĩa những gì tôi vừa định nghĩa 799 00:39:03,730 --> 00:39:05,340 bằng lời nói như một chuỗi. 800 00:39:05,340 --> 00:39:09,100 Vì vậy, đơn giản bằng cách kết thúc một dòng này mã trong chương trình của tôi, tôi bây giờ 801 00:39:09,100 --> 00:39:14,620 giảng dạy gedit và thực hiện và kêu vang tất cả trong một chuỗi biến những gì là. 802 00:39:14,620 --> 00:39:15,475 >> Tôi không biết làm thế nào được nêu ra. 803 00:39:15,475 --> 00:39:17,110 Trong vài tuần tới, chúng tôi sẽ vỏ trở lại lớp đó. 804 00:39:17,110 --> 00:39:20,340 Nhưng bây giờ, biết rằng điều này dạy trình biên dịch những gì một 805 00:39:20,340 --> 00:39:22,020 chuỗi thực sự là. 806 00:39:22,020 --> 00:39:24,230 >> Vì vậy, bây giờ hãy để tôi rõ ràng của tôi thiết bị đầu cuối xuống đây. 807 00:39:24,230 --> 00:39:28,530 Hãy để tôi chạy lại để tùy chỉnh, và tôi giải quyết tất cả những vấn đề. 808 00:39:28,530 --> 00:39:30,210 Vì vậy, đây cũng sẽ là một chủ đề định kỳ. 809 00:39:30,210 --> 00:39:34,190 Tôi chỉ viết một chương trình 9 dòng, và nhưng tôi đã có 18 dây chuyền sai sót. 810 00:39:34,190 --> 00:39:35,650 Đó là loại đáng sợ. 811 00:39:35,650 --> 00:39:39,260 Nhưng nhận ra rằng họ thường thác như vậy mà một sai lầm nhỏ gây nên 812 00:39:39,260 --> 00:39:43,070 sự nhầm lẫn cho các trình biên dịch, và có vẻ tồi tệ hơn nhiều so với nó được. 813 00:39:43,070 --> 00:39:47,460 >> Vì vậy, bây giờ là một người quan sát sắc sảo sẽ biết mà tôi nhận được một chuỗi từ 814 00:39:47,460 --> 00:39:51,460 người sử dụng, nhưng tôi không thực sự làm gì với nó? 815 00:39:51,460 --> 00:39:53,570 Tôi không thực sự làm bất cứ điều gì với nó. 816 00:39:53,570 --> 00:40:01,240 Vì vậy, nếu tôi thực sự chạy tùy chỉnh một lần nữa, nó sẽ chỉ ngồi ở đó. 817 00:40:01,240 --> 00:40:03,380 Những gì đang xảy ra? 818 00:40:03,380 --> 00:40:07,990 Chương trình của tôi dường như bị mắc kẹt trên những gì dòng, bạn sẽ nói gì? 819 00:40:07,990 --> 00:40:09,860 >> Vì vậy, nó thực sự bị mắc kẹt trên dòng 7. 820 00:40:09,860 --> 00:40:13,600 Và chúng tôi đã không nhìn thấy điều này trước đây, nhưng trên dòng 7, có, một lần nữa, điều này 821 00:40:13,600 --> 00:40:14,650 tuyên bố, nhận được chuỗi. 822 00:40:14,650 --> 00:40:15,930 Và nó những gì nó nói. 823 00:40:15,930 --> 00:40:18,480 Nó đang chờ đợi bây giờ cho con người để có những chuỗi. 824 00:40:18,480 --> 00:40:22,230 Điều này là hoàn toàn unintuitive với tôi, con người, bởi vì tôi đã không được cho biết 825 00:40:22,230 --> 00:40:23,040 phải làm gì. 826 00:40:23,040 --> 00:40:27,320 >> Nhưng hãy để tôi đi trước về đức tin và hãy để tôi giả vờ là Rob. 827 00:40:27,320 --> 00:40:28,500 Nhập. 828 00:40:28,500 --> 00:40:30,930 Đó không phải là chương trình mà tôi dự định. 829 00:40:30,930 --> 00:40:32,350 Vì vậy, chúng tôi có blog đầu tiên của chúng tôi. 830 00:40:32,350 --> 00:40:34,390 >> Nhưng chúng ta hãy cố gắng lý luận thông qua lý do tại sao đây là trường hợp. 831 00:40:34,390 --> 00:40:36,940 Đầu tiên, hãy để tôi khắc phục vấn đề đầu tiên này. 832 00:40:36,940 --> 00:40:44,690 Hãy cho tôi thêm một dòng ở đây là nói printf, tên của bạn là gì? 833 00:40:44,690 --> 00:40:47,700 Hãy làm báo gần, đóng ngoặc đơn. 834 00:40:47,700 --> 00:40:51,350 >> Bây giờ chúng tôi lại chạy chương trình. 835 00:40:51,350 --> 00:40:51,760 Vấn đề. 836 00:40:51,760 --> 00:40:54,690 Tôi không nhìn thấy đó. 837 00:40:54,690 --> 00:40:54,930 >> Đúng. 838 00:40:54,930 --> 00:40:55,990 Tôi không biên dịch lại nó. 839 00:40:55,990 --> 00:40:59,800 Vì vậy, trong một ngôn ngữ như C, bởi vì bạn thay đổi mã nguồn không có nghĩa là 840 00:40:59,800 --> 00:41:03,170 rằng bạn đã thay đổi mã đối tượng của bạn để tạo ra mã đối tượng mới, 841 00:41:03,170 --> 00:41:04,330 số không mới và những người thân. 842 00:41:04,330 --> 00:41:05,590 Bạn phải biên dịch lại. 843 00:41:05,590 --> 00:41:10,300 Nếu bây giờ tôi lại chạy tùy chỉnh, nhập, ah, một chút rõ ràng hơn. 844 00:41:10,300 --> 00:41:11,890 Tên tôi là Rob. 845 00:41:11,890 --> 00:41:12,760 Vẫn còn lỗi. 846 00:41:12,760 --> 00:41:14,170 >> Và tôi muốn tranh luận có một vài lỗi ngay bây giờ. 847 00:41:14,170 --> 00:41:15,450 Điều này chỉ trông xấu xí, thẳng thắn. 848 00:41:15,450 --> 00:41:18,980 Thích, tối thiểu, tôi cần phải có một không gian ở đó, hoặc di chuyển 849 00:41:18,980 --> 00:41:20,330 con trỏ đến dòng mới. 850 00:41:20,330 --> 00:41:21,370 >> Và trên thực tế, dòng mới. 851 00:41:21,370 --> 00:41:24,660 Đó là loại một cụm từ khóa ở đây là chúng tôi đã nhìn thấy nhưng không xác định. 852 00:41:24,660 --> 00:41:28,560 Cách thức mà bạn có được một văn bản để chuyển sang dòng tiếp theo, 853 00:41:28,560 --> 00:41:29,480 bạn không làm điều này. 854 00:41:29,480 --> 00:41:31,070 Điều này là khó hiểu với máy tính. 855 00:41:31,070 --> 00:41:33,830 Điều này có vẻ như hai dòng riêng biệt mã, không phải trong đó 856 00:41:33,830 --> 00:41:35,010 là hoàn toàn chính xác. 857 00:41:35,010 --> 00:41:39,380 Bạn thay vì phải được rõ ràng hơn và nói, cho tôi một dòng mới, mà chúng tôi 858 00:41:39,380 --> 00:41:41,810 đại diện trong c với dấu gạch chéo ngược n. 859 00:41:41,810 --> 00:41:43,230 >> Vì vậy, có một vài nhân vật đó. 860 00:41:43,230 --> 00:41:45,080 Dấu gạch chéo ngược n sẽ khắc phục thẩm mỹ. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Hãy để tôi biên dịch lại chương trình của tôi. 863 00:41:50,870 --> 00:41:52,300 Hãy để tôi chạy lại chương trình của tôi. 864 00:41:52,300 --> 00:41:53,520 >> Điều này có vẻ tốt hơn. 865 00:41:53,520 --> 00:41:56,960 Nó vẫn còn khá nguyên thủy, nhưng nó cũng vẫn còn lỗi. 866 00:41:56,960 --> 00:41:58,090 Do đó, có một - 867 00:41:58,090 --> 00:42:01,680 ngay cả khi bạn chưa bao giờ được lập trình trước, bạn có thể có thể có nhiều phán đoán 868 00:42:01,680 --> 00:42:04,960 lý do tại sao chương trình này vẫn còn thiếu sót. 869 00:42:04,960 --> 00:42:08,540 Tôi cần phải làm gì đó Tôi đã không được thực hiện chưa? 870 00:42:08,540 --> 00:42:10,450 >> Vì vậy, tôi phải thực sự làm một cái gì đó với tên. 871 00:42:10,450 --> 00:42:14,190 Cũng giống như trong đầu, bạn có thể thực sự gán một biến như n hoặc 872 00:42:14,190 --> 00:42:16,150 chống lại như chúng tôi đã làm cuối cùng tuần - một giá trị. 873 00:42:16,150 --> 00:42:18,930 Nhưng nếu bạn không làm bất cứ điều gì với nó, không có gì sẽ xảy ra. 874 00:42:18,930 --> 00:42:20,210 >> Được rồi, vì vậy hãy để sửa chữa. 875 00:42:20,210 --> 00:42:23,670 Hãy để tôi gõ biến của tôi có, và để cho tôi đi xuống đây. 876 00:42:23,670 --> 00:42:29,120 Hãy để tôi biên dịch lại, hãy để tôi chạy lại, Rob. 877 00:42:29,120 --> 00:42:30,540 Bây giờ tôi chỉ là một thằng ngốc, phải không? 878 00:42:30,540 --> 00:42:33,280 >> Vì vậy, điều này là không thực sự nhận được tôi thêm nữa. 879 00:42:33,280 --> 00:42:35,850 Nhưng đó là một hoàn toàn tự nhiên bản năng, tôi cho rằng, phải không? 880 00:42:35,850 --> 00:42:39,340 Nếu biến được gọi tên, và tôi muốn nó đi ở đó, tại sao không tôi chỉ 881 00:42:39,340 --> 00:42:40,200 gõ nó ở đó? 882 00:42:40,200 --> 00:42:42,210 >> Vâng, tất nhiên, chúng tôi có để phân biệt tại 883 00:42:42,210 --> 00:42:44,070 giữa những gì là một chuỗi? 884 00:42:44,070 --> 00:42:47,060 Chú ý rằng trích dẫn unquote ở đây, xin chào tên? 885 00:42:47,060 --> 00:42:48,960 Điều này thực sự chính nó là một chuỗi. 886 00:42:48,960 --> 00:42:49,820 Nó cứng mã hoá. 887 00:42:49,820 --> 00:42:50,690 Nó không phải từ con người. 888 00:42:50,690 --> 00:42:54,020 Nó từ tôi, các lập trình ban đầu, nhưng nó vẫn là một chuỗi. 889 00:42:54,020 --> 00:42:58,300 >> Vì vậy, nếu bạn có nghĩa là viết N-A-M-E trong của một chuỗi, những gì sẽ 890 00:42:58,300 --> 00:42:59,120 được in? 891 00:42:59,120 --> 00:43:03,660 Vâng, N-A-M-E. Chúng tôi thay vì cần nói với printf, không in 892 00:43:03,660 --> 00:43:04,870 ra nghĩa đen tên. 893 00:43:04,870 --> 00:43:06,680 In ra giá trị của tên. 894 00:43:06,680 --> 00:43:08,410 >> Và để làm điều đó, chúng ta làm như sau. 895 00:43:08,410 --> 00:43:09,800 Và điều này chỉ là một quy ước của con người. 896 00:43:09,800 --> 00:43:14,990 Chúng ta thay vì nói% s, và là viết tắt của chuỗi. 897 00:43:14,990 --> 00:43:19,810 Và sau đó vào cuối báo giá thân của tôi, Tôi sẽ đặt một dấu phẩy và 898 00:43:19,810 --> 00:43:23,790 thông qua một số thứ hai vào tuyên bố này. 899 00:43:23,790 --> 00:43:25,970 Tôi sẽ gõ tên đó. 900 00:43:25,970 --> 00:43:27,960 >> Vì vậy, bây giờ nhận thấy chúng ta có một hơi cú pháp mới. 901 00:43:27,960 --> 00:43:32,320 Chúng tôi vẫn có hai dấu ngoặc đơn, và từ đó cho tôi nói rằng các công cụ 902 00:43:32,320 --> 00:43:36,830 giữa dấu ngoặc đơn đại diện cho đối số vào một chức năng - 903 00:43:36,830 --> 00:43:39,730 đầu vào được bằng cách nào đó sẽ gây ảnh hưởng đến hành vi của nó. 904 00:43:39,730 --> 00:43:43,010 Vì vậy, theo logic, bao nhiêu đối số dường như printf được 905 00:43:43,010 --> 00:43:45,450 tham gia tại thời điểm này? 906 00:43:45,450 --> 00:43:48,370 >> Vì vậy, có vẻ như được tham gia hai, và đó là thực sự ngụ ý 907 00:43:48,370 --> 00:43:49,570 bởi dấu phẩy đây. 908 00:43:49,570 --> 00:43:51,640 Vì vậy, đây là một đối số ở giữa dấu ngoặc kép. 909 00:43:51,640 --> 00:43:54,540 Mặc dù nó có một dấu phẩy trong nó, tất cả mọi thứ là trong dấu ngoặc kép, có nghĩa là 910 00:43:54,540 --> 00:43:56,230 nó là một chuỗi dài. 911 00:43:56,230 --> 00:43:58,280 Dấu phẩy, tên biến. 912 00:43:58,280 --> 00:44:00,680 >> Vì vậy, bây giờ hãy để tôi thu nhỏ. 913 00:44:00,680 --> 00:44:02,240 Hãy để tôi chạy lại nó. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Chết tiệt, những gì tôi làm sai? 916 00:44:06,520 --> 00:44:07,920 >> Được rồi, vì vậy bạn phải biên dịch lại. 917 00:44:07,920 --> 00:44:11,030 Vì vậy, một lần nữa, những sai lầm dễ dàng để làm đầu trên một lần nữa và một lần nữa. 918 00:44:11,030 --> 00:44:15,280 Vì vậy, bây giờ lại chạy tùy chỉnh, Rob, nhập, và thì đấy. 919 00:44:15,280 --> 00:44:17,110 Bây giờ chúng tôi có một chương trình tùy chỉnh. 920 00:44:17,110 --> 00:44:21,660 >> Vì vậy, bây giờ tôi có một chương trình sử dụng một vài đặc điểm 921 00:44:21,660 --> 00:44:22,520 đó là đáng chú ý. 922 00:44:22,520 --> 00:44:27,850 Một, tôi đang sử dụng CS50.h, nếu không gọi là thư viện CS50. 923 00:44:27,850 --> 00:44:33,050 Và bên trong của thư viện là CS50 chức năng mà người khác đã viết - 924 00:44:33,050 --> 00:44:33,980 cụ thể là các nhân viên - 925 00:44:33,980 --> 00:44:36,620 để bạn có thể sử dụng, và nhận được chuỗi là một trong số họ. 926 00:44:36,620 --> 00:44:41,310 >> Bên trong của dòng 2 là stdio.h, và tại sao điều này không? 927 00:44:41,310 --> 00:44:42,070 Hãy đoán. 928 00:44:42,070 --> 00:44:46,200 Những gì tồn tại bên trong IO tiêu chuẩn cha mẹ? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Vì vậy, printf, bạn không nhìn thấy nó ở bất cứ đâu khác trên màn hình. 931 00:44:49,600 --> 00:44:51,870 Nó phải đi kèm với các máy tính bằng cách nào đó. 932 00:44:51,870 --> 00:44:54,870 Nơi nào nó đến từ đâu? 933 00:44:54,870 --> 00:44:57,660 Đó là bên trong - đó là tuyên bố, có thể nói, bên trong 934 00:44:57,660 --> 00:44:59,890 một tập tin gọi là stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Bây giờ, đối với công cụ này, chúng tôi sẽ trở lại để cuối cùng, bởi vì đó là một chút 936 00:45:02,670 --> 00:45:03,930 mất tập trung cho bây giờ. 937 00:45:03,930 --> 00:45:05,490 Này đề cập đến kiểu trả về của chúng tôi. 938 00:45:05,490 --> 00:45:07,660 Này đề cập đến một cuộc tranh cãi. 939 00:45:07,660 --> 00:45:10,230 Nhưng ngày hôm nay, chúng tôi tập trung chỉ ở đây trên những dòng này. 940 00:45:10,230 --> 00:45:13,280 >> Vì vậy, tên chuỗi, tóm lại, những gì đã làm điều này làm cho tôi không? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Vì vậy, nó tuyên bố một biến kiểu string. 943 00:45:19,560 --> 00:45:22,630 Vì vậy, nó có nghĩa là để được các từ, không cho con số. 944 00:45:22,630 --> 00:45:25,530 Chỉ như một sang một bên, nếu tôi đã muốn nó là một số, tôi sẽ nói 945 00:45:25,530 --> 00:45:26,560 một cái gì đó như int. 946 00:45:26,560 --> 00:45:29,740 Nếu tôi muốn trở thành một dấu chấm động giá trị, một cái gì đó với một điểm thập phân, 947 00:45:29,740 --> 00:45:30,600 Tôi có thể nói nổi. 948 00:45:30,600 --> 00:45:32,640 Nhưng ngày hôm nay, tôi vừa nói chuỗi. 949 00:45:32,640 --> 00:45:35,940 >> Và tôi đã cho biến này một tên của tên, nhưng tôi có thể 950 00:45:35,940 --> 00:45:37,240 đã gọi nó là bất cứ điều gì. 951 00:45:37,240 --> 00:45:39,340 Trong thực tế, ban đầu, tôi gọi nó là S. 952 00:45:39,340 --> 00:45:41,050 >> Này đây chỉ là một tuyên bố. 953 00:45:41,050 --> 00:45:44,170 Bao nhiêu đối số là này tuyên bố tham gia? 954 00:45:44,170 --> 00:45:47,890 Vì vậy, nó chỉ chụp một, và đơn giản chỉ là một chi tiết thẩm mỹ của 955 00:45:47,890 --> 00:45:49,610 hiển thị một cái gì đó trên màn hình với tôi. 956 00:45:49,610 --> 00:45:54,750 Dòng này 8 đang làm gì trong điều khoản của layman? 957 00:45:54,750 --> 00:45:57,320 >> Nó nhận được một giá trị từ người sử dụng - cụ thể là, một chuỗi - 958 00:45:57,320 --> 00:45:58,770 và những gì nó làm gì với nó? 959 00:45:58,770 --> 00:46:02,450 Nó chủ yếu giao nó cho người ở phía bên tay trái của 960 00:46:02,450 --> 00:46:07,100 dấu bằng để trong trường hợp này, biến tên thực sự có thể lưu trữ nó. 961 00:46:07,100 --> 00:46:10,020 >> Và sau đó là một printf thể hiện của một chức năng. 962 00:46:10,020 --> 00:46:11,870 Và chúng ta nói để gọi một chức năng. 963 00:46:11,870 --> 00:46:13,870 Để sử dụng chức năng để gọi một chức năng. 964 00:46:13,870 --> 00:46:15,640 Điều này rõ ràng mất hai đối số. 965 00:46:15,640 --> 00:46:18,100 Này, dấu phẩy, một này. 966 00:46:18,100 --> 00:46:20,910 >> Này chính nó là chỉ là một chuỗi có chứa một trình giữ chỗ. 967 00:46:20,910 --> 00:46:23,860 % S có nghĩa là đặt một chuỗi đây. 968 00:46:23,860 --> 00:46:27,360 Và như vậy bằng cách đặt tên sau khi dấu phẩy, đó là chèn 969 00:46:27,360 --> 00:46:29,420 mà điều cho tôi. 970 00:46:29,420 --> 00:46:31,300 >> Vì vậy, tôi có thể làm những việc khác vẫn còn. 971 00:46:31,300 --> 00:46:36,820 Hãy để tôi đi trước bây giờ và làm một chút về một chương trình ngớ ngẩn, nhưng hãy để tôi xóa này, 972 00:46:36,820 --> 00:46:38,880 và hãy để tôi tạo ra một vòng lặp. 973 00:46:38,880 --> 00:46:41,390 Trong khi sự thật. 974 00:46:41,390 --> 00:46:45,210 Các biểu tượng thực sự rõ ràng luôn luôn là sự thật. 975 00:46:45,210 --> 00:46:49,830 Vì vậy, loại vòng lặp tôi gây ra bằng cách viết một dòng như thế này? 976 00:46:49,830 --> 00:46:51,070 >> Vì vậy, một vòng lặp vô hạn, phải không? 977 00:46:51,070 --> 00:46:52,090 Chỉ trong khi sự thật. 978 00:46:52,090 --> 00:46:56,210 Không có cách nào tôi có thể thay đổi từ thực sự để được bất cứ điều gì khác, vì vậy đây là 979 00:46:56,210 --> 00:46:57,310 chỉ cần đi để chạy mãi mãi. 980 00:46:57,310 --> 00:46:59,960 Vì vậy, nếu bạn đã bao giờ thực sự đã có một chương trình trong máy Mac hoặc máy PC của bạn mà dường như 981 00:46:59,960 --> 00:47:02,480 đã bị nhốt, hoặc nó làm một cái gì đó và một cái gì đó, và bạn chỉ cần 982 00:47:02,480 --> 00:47:05,500 không thể có được những điều bỏ trừ khi bạn khởi động lại máy tính của bạn hoặc kéo lên 983 00:47:05,500 --> 00:47:08,360 Công tác quản lý hoặc tương tự, đây là một ví dụ. 984 00:47:08,360 --> 00:47:14,340 >> Tôi có thể nói, "Tôi là một chương trình lỗi." Gần giá, đóng cửa 985 00:47:14,340 --> 00:47:15,780 ngoặc đơn, dấu chấm phẩy. 986 00:47:15,780 --> 00:47:17,010 Vì vậy, một lần nữa, nhận thấy các mô hình. 987 00:47:17,010 --> 00:47:21,440 Mặc dù một số cú pháp của chúng tôi là mới, trong khi các từ khóa, các từ khóa đúng, 988 00:47:21,440 --> 00:47:23,590 Thông báo tôi có cùng loại dấu ngoặc nhọn. 989 00:47:23,590 --> 00:47:25,890 Tôi đã có một dấu chấm phẩy và dấu ngoặc đơn. 990 00:47:25,890 --> 00:47:28,000 >> Vì vậy, bây giờ chúng ta hãy đi trước và biên dịch này. 991 00:47:28,000 --> 00:47:29,630 Để tùy chỉnh, tùy chỉnh. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Vì vậy, vào thời điểm này, bạn không cần phải khởi động lại thiết bị của bạn, tất cả phải không? 994 00:47:36,660 --> 00:47:39,925 Vì vậy, các bài học dễ dàng ở đây là với hai ngón tay, điều khiển C, 995 00:47:39,925 --> 00:47:41,230 chúng tôi sẽ bỏ chương trình đó. 996 00:47:41,230 --> 00:47:45,430 Nhưng bạn có thể thấy chính xác lý do tại sao điều này được lặp đi lặp lại một lần nữa và một lần nữa. 997 00:47:45,430 --> 00:47:48,080 >> Tôi có thể làm một chút gì đó phức tạp hơn như một lời trêu ghẹo. 998 00:47:48,080 --> 00:47:49,600 Tôi sẽ đi trước và nói như sau. 999 00:47:49,600 --> 00:47:55,210 Cho int, mà là một số nguyên, tôi chỉ là một cái tên chung, chúng tôi cung cấp cho hầu hết 1000 00:47:55,210 --> 00:47:59,500 biến trong lập trình khi bạn chỉ cần đếm, bằng 0. 1001 00:47:59,500 --> 00:48:08,640 Hãy để tôi đi trước và nói trong khi tôi là, hãy nói, ít hơn 100, tôi cộng với cộng với. 1002 00:48:08,640 --> 00:48:10,240 Chúng tôi sẽ trở lại với cú pháp này, nhưng điều này chỉ có nghĩa là 1003 00:48:10,240 --> 00:48:12,270 tăng tôi một lần nữa và một lần nữa. 1004 00:48:12,270 --> 00:48:14,200 >> Và những gì tôi muốn làm ở đây? 1005 00:48:14,200 --> 00:48:21,130 Printf, "Tôi có thể đếm đến tôi." Đây là một chương trình lỗi. 1006 00:48:21,130 --> 00:48:22,450 Điều gì đã làm tôi thực sự có ý định ở đây? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Phần trăm không s, nhưng bạn sẽ không đoán này. % D là một số nguyên thập phân. 1009 00:48:30,940 --> 00:48:32,720 Dấu phẩy tôi. 1010 00:48:32,720 --> 00:48:34,340 Hãy để tôi quay trở lại. 1011 00:48:34,340 --> 00:48:37,170 >> Cho tôi bây giờ biên dịch lại với thực hiện. 1012 00:48:37,170 --> 00:48:39,280 Cho tôi bây giờ chạy lại với các tùy chỉnh. 1013 00:48:39,280 --> 00:48:42,410 Tôi có thể tin tưởng thực sự damn nhanh khi Tôi viết một chương trình như thế này. 1014 00:48:42,410 --> 00:48:45,480 >> Bây giờ chúng ta hãy làm một cái gì đó ít không chủ ý. 1015 00:48:45,480 --> 00:48:51,220 Làm thế nào về chúng ta hãy làm điều này trong khi tôi lớn hơn hoặc bằng 0. 1016 00:48:51,220 --> 00:48:53,630 Những gì điều này sẽ gây ra? 1017 00:48:53,630 --> 00:49:01,030 Vì vậy, một cách hợp lý, điều này không phải là quá khôn ngoan, bởi vì bây giờ nếu tôi chạy lại này, kể lại, 1018 00:49:01,030 --> 00:49:05,050 Bây giờ tôi có thể tin tưởng thực sự, thực sự cao. 1019 00:49:05,050 --> 00:49:08,850 Thật không may, khoảng cao nhất có thể số là 4 tỷ USD, vì vậy đây sẽ 1020 00:49:08,850 --> 00:49:10,140 mất một thời gian. 1021 00:49:10,140 --> 00:49:13,440 >> Vậy tại sao chúng ta không để lại điều này như chúng tôi cliffhanger, hứa hẹn rằng trên 1022 00:49:13,440 --> 00:49:15,650 Thứ tư, chúng ta sẽ thấy nếu Chương trình này được thực hiện. 1023 00:49:15,650 --> 00:49:19,260 Hai, chúng tôi sẽ giới thiệu làm thế nào bạn mình viết chức năng riêng của bạn để rất 1024 00:49:19,260 --> 00:49:22,930 nhanh chóng, bởi Thứ tư, chúng tôi sẽ, như chúng tôi quá trình chuyển đổi từ Scratch vào C, bắt đầu 1025 00:49:22,930 --> 00:49:25,880 viết bao giờ hết ngày càng phức tạp chương trình mà làm nhiều, 1026 00:49:25,880 --> 00:49:27,070 nhiều hơn này. 1027 00:49:27,070 --> 00:49:28,766 Chúng ta sẽ thấy bạn sau đó. 1028 00:49:28,766 --> 00:49:31,580 >> [Vỗ tay] 1029 00:49:31,580 --> 00:49:34,690 >> SPEAKER 1: Tại CS50 tiếp theo, Câu đố ngày là một thành công. 1030 00:49:34,690 --> 00:49:39,690