1 00:00:00,000 --> 00:00:01,500 >> [เล่นเพลง] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID ลัน: ทุกสิทธินี้เป็น CS50 และนี่คือจุดสิ้นสุดของหนึ่งสัปดาห์ 4 00:00:16,110 --> 00:00:20,760 ดังนั้นผมจึงอยากจะแนะนำให้อดีตของฉัน advisee, แอนเดลดัฟฟ์ที่ไม่เพียง แต่ทำให้ 5 00:00:20,760 --> 00:00:25,460 iPhone 5 ยืนเช่นเดียวกับที่นี้ โต๊ะเขายังทำให้รถยนต์ 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 ANSEL ดัฟฟ์: วิธีการมันจะทุกคน? 8 00:00:29,510 --> 00:00:31,980 ผมแค่อยากจะบอกคุณเพียงเล็กน้อย บิตเกี่ยวกับสูตร SAE ของที่ฉัน 9 00:00:31,980 --> 00:00:32,604 am กัปตัน 10 00:00:32,604 --> 00:00:33,437 มันเป็นทีมที่เอ็มไอที 11 00:00:33,437 --> 00:00:35,520 ผมแค่อยากจะบอกคุณ พวกนิด ๆ หน่อย ๆ เกี่ยวกับเรื่องนี้ 12 00:00:35,520 --> 00:00:37,520 และหวังว่าจะสร้างความสนใจบางอย่าง 13 00:00:37,520 --> 00:00:41,590 >> เพื่อให้ฉันเพียงแค่วิ่งผ่าน สองสิ่งที่เกี่ยวกับทีมงานของเรา 14 00:00:41,590 --> 00:00:43,640 ดังนั้นเราอย่างสมบูรณ์ นักเรียนวิ่งนั้นทั้งหมด 15 00:00:43,640 --> 00:00:47,300 ของการออกแบบสมาชิกจำลอง การทดสอบและการผลิตระบบย่อย 16 00:00:47,300 --> 00:00:48,090 ของรถ 17 00:00:48,090 --> 00:00:51,240 เรามีร้านขายเครื่องของเราเอง และอู่และ N52-- หรือขอโทษ 18 00:00:51,240 --> 00:00:54,140 N51-- ซึ่งเป็นอาคารเดียวกัน เป็นพิพิธภัณฑ์วิทยาศาสตร์ที่เอ็มไอที 19 00:00:54,140 --> 00:00:55,990 และเราเป็นคน ที่ขับรถ 20 00:00:55,990 --> 00:00:58,340 มีการแข่งขันระดับชาติเป็น ในการเริ่มต้นของฤดูร้อนที่ 21 00:00:58,340 --> 00:01:01,215 แล้วมีการยิงลูกเล็ก การแข่งขันตลอดทั้งปี 22 00:01:01,215 --> 00:01:04,400 และจากนั้นเราจะฝึกอบรมคนขับรถ วันที่จะได้รับสมาชิกใหม่ที่คุ้นเคย 23 00:01:04,400 --> 00:01:08,280 >> สร้างวันของเราอยู่ใน วันเสาร์ 11:00-20:00 24 00:01:08,280 --> 00:01:11,060 อาหารกลางวันและอาหารเย็นจะมีการดูแล ของจาก Bertucci และ Beantown 25 00:01:11,060 --> 00:01:12,130 ตามลำดับ 26 00:01:12,130 --> 00:01:15,260 เรามีการประชุมรายสัปดาห์และ การสัมมนาซึ่งเป็นเครดิตแน่นอน 27 00:01:15,260 --> 00:01:18,560 ซึ่งเป็นใหม่เป็นภาคการศึกษานี้และ มันก็จะเป็นภาคการศึกษาถัดไป 28 00:01:18,560 --> 00:01:19,940 เพื่อให้คุณสามารถข้าม reg ที่ 29 00:01:19,940 --> 00:01:22,960 และแล้วเราก็มีการออกแบบร้านค้า และวัน CAD ในช่วงสัปดาห์ที่ 30 00:01:22,960 --> 00:01:26,870 ในขณะที่สมาชิกที่จะเป็นอิสระ ส่วน CAD, การสั่งซื้อหุ้นและอื่น ๆ 31 00:01:26,870 --> 00:01:29,200 >> ดังนั้นสำหรับไฟฟ้า วิศวกรรมที่ทีม 32 00:01:29,200 --> 00:01:31,110 เรามีดึงของเรา ระบบไฟฟ้าแรงสูง 33 00:01:31,110 --> 00:01:33,390 ซึ่งทำงานที่ชื่อ 300 โวลต์ซึ่งรวมถึง 34 00:01:33,390 --> 00:01:35,360 มอเตอร์, ควบคุมมอเตอร์ และแบตเตอรี่ 35 00:01:35,360 --> 00:01:37,235 แล้วเราก็มีต่ำ ระบบแรงดันไฟฟ้าที่ทำงาน 36 00:01:37,235 --> 00:01:40,180 ที่ 12 โวลต์ซึ่งรวมถึง ควบคุม, CAN โหนดสมอง 37 00:01:40,180 --> 00:01:41,570 กล่องและแดชบอร์ด 38 00:01:41,570 --> 00:01:43,890 เท่า CS ไปเราทำ มีการบำรุงรักษาเว็บไซต์ 39 00:01:43,890 --> 00:01:47,940 ที่เราจำเป็นต้องทำสำหรับกิจกรรมสมาชิก การเปลี่ยนแปลงภาพใหม่และวัสดุการประชาสัมพันธ์ 40 00:01:47,940 --> 00:01:51,540 แล้วเรามีรหัสที่ควบคุม รถสำหรับการควบคุมแรงฉุดของเราเปิดตัว 41 00:01:51,540 --> 00:01:55,750 ควบคุมการควบคุมชน vectoring แรงบิด และระบบเบรกที่เกิดใหม่ซึ่ง 42 00:01:55,750 --> 00:01:59,170 ทำงานปกติใน MATLAB, Simulink และ LabView 43 00:01:59,170 --> 00:02:00,910 >> บอกคุณเล็กน้อยเกี่ยวกับรถ 44 00:02:00,910 --> 00:02:02,470 ดังนั้นมันเป็นเรื่องของ£ 500 45 00:02:02,470 --> 00:02:04,285 มันเป็นกฎที่ จำกัด ถึง 85 กิโลวัตต์ 46 00:02:04,285 --> 00:02:08,310 มันมี 2 EMRAX 207 มอเตอร์ใน หลังหนึ่งสำหรับแต่ละล้อหลัง 47 00:02:08,310 --> 00:02:11,880 มันมีชุดแบตเตอรี่ที่กำหนดเองที่สร้างขึ้น จากแท่งปริซึมเซลล์ A123 กระเป๋า 48 00:02:11,880 --> 00:02:14,780 จํานวน 300 โวลต์และ 5.6 กิโลวัตต์ชั่วโมง 49 00:02:14,780 --> 00:02:17,950 และมันก็เป็นไดรฟ์โดยตรงกับ อัตราส่วน 2.64-1 ไดรฟ์ 50 00:02:17,950 --> 00:02:20,970 ที่นี่ภาพบางส่วนที่เรามี เอามันในการแข่งขัน 51 00:02:20,970 --> 00:02:25,820 ที่นี่กรวยหลังจมูกเป็น, และนี่คือมอเตอร์, 52 00:02:25,820 --> 00:02:29,682 ผู้ดิสก์สีดำขนาดใหญ่ ใต้และบุรุษมนัส 53 00:02:29,682 --> 00:02:32,140 ที่นี่ภาพนิ่งที่ฉันดึงเป็น จากรูปแบบการแข่งขันของเรา 54 00:02:32,140 --> 00:02:35,389 และนี่เป็นเพียงการเปรียบเทียบรถของเราที่จะ คู่ของรถยนต์ที่ใช้ในเชิงพาณิชย์ 55 00:02:35,389 --> 00:02:38,380 เช่น KTM XBOW, แอเรียล อะตอมและ Caterha M 7-280 56 00:02:38,380 --> 00:02:42,110 หากคุณคุ้นเคยกับราคาพลังงาน ดึงน้ำหนักดอลลาร์ต่อแรงม้า 57 00:02:42,110 --> 00:02:44,930 ดอลลาร์ต่อแรงบิดและรถของเรา พัดพวกเขาทั้งหมดออกจากน้ำ 58 00:02:44,930 --> 00:02:47,520 หากคุณมีคำถามใด ๆ จดที่อีเมล์นี้ 59 00:02:47,520 --> 00:02:50,800 ยิงอีเมล์เราที่ fsae@mit.edu 60 00:02:50,800 --> 00:02:53,350 >> เรายินดีที่จะพูดคุยเกี่ยวกับ สิ่งที่คุณต้องการ 61 00:02:53,350 --> 00:02:55,600 นักศึกษาฮาร์วาร์เป็นชนิด ของชนกลุ่มน้อยในทีม 62 00:02:55,600 --> 00:02:58,350 หากคุณมีคำถามใด ๆ เกี่ยวกับ ว่าโปรดอย่ายิงอีเมล์เรา 63 00:02:58,350 --> 00:03:00,810 มีความสุขที่จะพูดคุยและฉันจะ ที่จะมุ่งหน้ากลับไปยังเดวิด 64 00:03:00,810 --> 00:03:01,550 ขอบคุณ 65 00:03:01,550 --> 00:03:02,466 ฉันขอขอบคุณที่มันพวก 66 00:03:02,466 --> 00:03:03,615 [APPLAUSE] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID ลัน: ธานเซลใช้เวลาในช่วงฤดู​​ร้อน การทำงานร่วมกับเราที่นี่ในมหาวิทยาลัย CS50 69 00:03:10,980 --> 00:03:11,480 ช่วงฤดู​​ร้อนนี้ 70 00:03:11,480 --> 00:03:13,505 และนอกเหนือจากการทำงานใน สิ่งที่ต้องการหลอดไฟไบนารี 71 00:03:13,505 --> 00:03:16,090 จริง ๆ แล้วเขาเปิดจริงๆของเรา eyes-- และเหมืองใน particular-- 72 00:03:16,090 --> 00:03:20,535 กับสิ่งที่จริงๆจุดตัดของ ไม่ได้ของฮาร์ดแวร์และซอฟแวร์สามารถ 73 00:03:20,535 --> 00:03:23,410 ในความเป็นจริงจำนวนมากของสิ่งที่เขาเพิ่ง ไปเที่ยวคุณผ่านในท้ายที่สุด 74 00:03:23,410 --> 00:03:26,030 สร้างขึ้นครั้งแรกในซอฟแวร์ แล้วประดิษฐ์ที่สุด 75 00:03:26,030 --> 00:03:27,299 ในโลกแห่งความจริงในฮาร์ดแวร์ 76 00:03:27,299 --> 00:03:29,590 ดังนั้นหากคุณสนใจใน สำรวจจุดตัดที่ 77 00:03:29,590 --> 00:03:31,430 อาจจะใช้เวลาถึงกลุ่มที่ 78 00:03:31,430 --> 00:03:34,140 >> ตอนนี้ในขณะเดียวกันบรรดาของคุณ ที่เป็นแฟนของเทคโนโลยี 79 00:03:34,140 --> 00:03:36,140 และผลิตภัณฑ์แอปเปิ้ลใน โดยเฉพาะอย่างยิ่งรู้ว่ามี 80 00:03:36,140 --> 00:03:37,860 เป็นคู่ของ ประกาศเมื่อวานนี้ 81 00:03:37,860 --> 00:03:39,776 แต่เราคิดว่าเราจะแสดงให้เห็น คุณหนึ่งที่ออกมา 82 00:03:39,776 --> 00:03:43,590 ไม่กี่วันก่อนที่ คุณอาจไม่ได้เห็น 83 00:03:43,590 --> 00:03:46,150 >> JORGEN EGHAMMER: คุณรู้ไหม ครั้งหนึ่งในสิ่งที่ชั่วขณะหนึ่ง 84 00:03:46,150 --> 00:03:49,540 มาพร้อมที่ การเปลี่ยนแปลงวิธีที่เราอาศัยอยู่ 85 00:03:49,540 --> 00:03:53,479 อุปกรณ์เพื่อให้ง่ายและใช้งานง่าย ใช้มันให้ความรู้สึกคุ้นเคยเกือบ 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 แนะนำ 2015 แคตตาล็อกอิเกีย 88 00:04:04,138 --> 00:04:10,420 มันไม่ใช่หนังสือดิจิตอลหรือ e-book มันเป็นหนังสือเล่มหนังสือ 89 00:04:10,420 --> 00:04:14,440 >> สิ่งแรกที่ควรทราบก็คือไม่มี สายเคเบิ้ลไม่ได้สายไฟ 90 00:04:14,440 --> 00:04:18,519 2015 แคตตาล็อกอิเกีย มาชาร์จเต็ม 91 00:04:18,519 --> 00:04:20,550 และแบตเตอรี่ที่เป็นนิรันดร์ 92 00:04:20,550 --> 00:04:27,300 อินเตอร์เฟซเป็น 7.5 โดย 8 นิ้ว, แต่สามารถขยายถึง 15 โดย 8 นิ้ว 93 00:04:27,300 --> 00:04:32,410 นำทางอยู่บนพื้นฐานของการติดต่อสัมผัส เทคโนโลยีที่คุณจริงสามารถรู้สึก 94 00:04:32,410 --> 00:04:37,120 >> เนื้อหามาก่อนการติดตั้ง ผ่าน 328 หน้าความละเอียดสูง 95 00:04:37,120 --> 00:04:40,180 สร้างแรงบันดาลใจของความคิดของประดับตกแต่งบ้าน 96 00:04:40,180 --> 00:04:43,740 เพื่อเริ่มต้นการเรียกดู เพียงแค่สัมผัสและลาก 97 00:04:43,740 --> 00:04:50,870 ขวาไปซ้ายก้าวไปข้างหน้า ซ้ายไปขวาเพื่อย้ายไปข้างหลัง 98 00:04:50,870 --> 00:04:52,770 >> ขอให้สังเกตสิ่งอื่นใด 99 00:04:52,770 --> 00:04:53,780 ที่เหมาะสม 100 00:04:53,780 --> 00:04:55,190 ไม่มีความล่าช้า 101 00:04:55,190 --> 00:04:58,400 คริสตัลแต่ละหน้าชัดเจน โหลดทันที 102 00:04:58,400 --> 00:05:00,586 ไม่ว่าวิธีการที่รวดเร็วคุณเลื่อน 103 00:05:00,586 --> 00:05:03,710 ถ้าคุณต้องการที่จะได้รับภาพรวมอย่างรวดเร็ว เพียงแค่ถือไว้ในฝ่ามือของคุณ 104 00:05:03,710 --> 00:05:06,816 และใช้เพียงนิ้วหัวแม่มือของคุณ ความเร็วเรียกดูเนื้อหา 105 00:05:06,816 --> 00:05:10,930 >> หากคุณพบสิ่งที่คุณต้องการที่จะประหยัด ภายหลังคุณก็สามารถบุ๊คมาร์คมัน 106 00:05:10,930 --> 00:05:17,620 และแม้ว่าคุณจะปิดโปรแกรม คุณสามารถค้นหาบุ๊คมาร์คอีกครั้ง 107 00:05:17,620 --> 00:05:18,490 ที่น่าตื่นตาตื่นใจ 108 00:05:18,490 --> 00:05:20,434 >> [หัวเราะ] 109 00:05:20,434 --> 00:05:21,406 [APPLAUSE] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 เพื่อที่จะนำเราไป ปลายสัปดาห์หนึ่ง 112 00:05:29,870 --> 00:05:31,760 ประกาศไม่กี่ตอนนี้ 113 00:05:31,760 --> 00:05:33,440 ดังนั้น sectioning ขณะนี้อยู่ในความคืบหน้า 114 00:05:33,440 --> 00:05:36,860 ไปที่ URL นี้ที่นี่บางครั้ง ระหว่างตอนนี้และวันศุกร์ตอนเที่ยง 115 00:05:36,860 --> 00:05:39,960 ที่จริงการระบุว่าคุณเป็น ในหมู่ผู้ที่สะดวกสบายน้อยกว่ามาก 116 00:05:39,960 --> 00:05:41,690 สะดวกสบายหรือที่ไหนสักแห่งในระหว่าง 117 00:05:41,690 --> 00:05:44,511 >> นี้มักจะเป็นหนึ่งในบรรดา สิ่งที่คุณเพียงแค่ชนิดของรู้ 118 00:05:44,511 --> 00:05:47,510 และในความเป็นจริงคนที่มีน้อย สะดวกสบายอาจจะรู้ว่าเป็นมาก 119 00:05:47,510 --> 00:05:49,634 บรรดาผู้ที่มีมากขึ้น สะดวกสบายรู้ว่าเป็นมาก 120 00:05:49,634 --> 00:05:54,960 และอีกครั้งถ้าคุณไม่ได้ค่อนข้างแน่ใจว่า ของถังที่คุณตกอยู่ในคุณ 121 00:05:54,960 --> 00:05:56,210 อาจจะเป็นหนึ่งในระหว่าง 122 00:05:56,210 --> 00:05:59,810 แต่ส่วนที่เหลือมั่นใจได้ว่าคุณสามารถสลับ หลังจากสองสามสัปดาห์ที่ผ่านมาถ้าจำเป็นต้องเป็น 123 00:05:59,810 --> 00:06:02,620 >> ในขณะเดียวกันสำหรับสัปดาห์ที่จะมาถึง เราไม่ได้เริ่มต้นส่วนต่อ se 124 00:06:02,620 --> 00:06:04,760 แต่ส่วนสุดที่ จะเปิดให้นักเรียนทุกคน 125 00:06:04,760 --> 00:06:08,220 นี้มาวันอาทิตย์เวลาสถานที่ที่จะ ได้รับการประกาศในเว็บไซต์ของหลักสูตร 126 00:06:08,220 --> 00:06:10,190 เราจะมีหนึ่งสำหรับ ที่สะดวกสบายน้อยลง 127 00:06:10,190 --> 00:06:12,470 เช่นเดียวกับที่หนึ่งสำหรับ ที่สะดวกสบายมากขึ้น 128 00:06:12,470 --> 00:06:15,460 และผู้ที่อยู่ในที่ใดที่หนึ่งระหว่าง สามารถเลือกที่ของทั้งสองเหล่านั้น 129 00:06:15,460 --> 00:06:17,360 หรือทั้งสองอย่างถ้าคุณต้องการที่จะนั่งในที่ 130 00:06:17,360 --> 00:06:19,630 และให้ความสำคัญของคนเหล่านั้น จะเป็นที่สุดใน C, 131 00:06:19,630 --> 00:06:22,440 ซึ่งเราจะดำเนินการต่อไปของเรา การสนทนาในวันนี้ 132 00:06:22,440 --> 00:06:25,070 >> ตั้งปัญหา 0 ในขณะที่เป็น หวังว่าในมือของคุณ 133 00:06:25,070 --> 00:06:27,500 อย่างเป็นทางการในวันพรุ่งนี้ครบกำหนด วันพฤหัสบดีตอนเที่ยง 134 00:06:27,500 --> 00:06:29,490 เว้นแต่คุณจะเงินสดในหนึ่ง 5 วันในช่วงปลายของคุณ 135 00:06:29,490 --> 00:06:31,780 ซึ่งจะนำมาไว้ จนถึงวันศุกร์ตอนเที่ยง 136 00:06:31,780 --> 00:06:34,420 ปัญหาชุดที่ 1 ขณะเดียวกันจะเป็น โพสต์ในเว็บไซต์ของหลักสูตร 137 00:06:34,420 --> 00:06:37,381 และนี่จะเป็นครั้งแรกของเรา การโจมตีเป็นชั้นเป็นซี 138 00:06:37,381 --> 00:06:40,630 และว่าปัญหาการตั้งสเปคจะนำคุณ ผ่านมากของกลศาสตร์ของสิ่งที่ 139 00:06:40,630 --> 00:06:43,960 เราเริ่มต้นพูดถึงในวันจันทร์ที่ และเราจะยังคงพูดคุยเกี่ยวกับวันนี้ 140 00:06:43,960 --> 00:06:46,770 C, Linux, CS50 เครื่องใช้ทั้งหมดที่ 141 00:06:46,770 --> 00:06:48,990 จะรอคุณอยู่ในสเปค 142 00:06:48,990 --> 00:06:52,840 >> เวลาทำงานในขณะที่อยู่ในความคืบหน้า ในห้องอาหารระดับปริญญาตรี 143 00:06:52,840 --> 00:06:56,240 มุ่งหน้าไปยัง URL นี้ที่นี่เพื่อดู กำหนดเวลาสำหรับคืนนี้และวันพรุ่งนี้ 144 00:06:56,240 --> 00:06:57,930 ถ้าคุณต้องการที่จะเข้าร่วม 145 00:06:57,930 --> 00:07:01,920 คำถามในขณะเดียวกันเพื่อให้คุณ มีโอกาสที่จะถามคำถาม 146 00:07:01,920 --> 00:07:05,860 ถ่ายทอดสด, 24/7, ตระหนักถึงคุณ ไม่ จำกัด เฉพาะส่วนและสำนักงาน 147 00:07:05,860 --> 00:07:09,530 ชั่วโมง แต่เครื่องมือนี้ ที่นี่ CS50 พูดคุยที่ URL ที่ 148 00:07:09,530 --> 00:07:12,150 จะเป็นหลักสูตรออนไลน์ ซอฟต์แวร์กระดานข่าวผ่านทางที่ 149 00:07:12,150 --> 00:07:15,030 คุณสามารถถามคำถามของ เพื่อนร่วมชั้นและพนักงาน 150 00:07:15,030 --> 00:07:18,492 เพื่อให้เก็บไว้ในใจทรัพยากรที่ดี 151 00:07:18,492 --> 00:07:20,200 ในขณะเดียวกันประเพณี เริ่มวันศุกร์นี้ 152 00:07:20,200 --> 00:07:23,200 ในขณะที่คุณอาจจะได้เห็นจาก วันพุธวิดีโอทีเซอร์ 153 00:07:23,200 --> 00:07:25,510 เรามีประเพณีมากที่สุด ทุกวันศุกร์ในช่วงระยะเวลา 154 00:07:25,510 --> 00:07:28,750 ของการ 50 นักศึกษาและ พนักงานร้านอาหารท้องถิ่นที่เรียกว่า 155 00:07:28,750 --> 00:07:31,510 ไฟและน้ำแข็งที่ที่เราอยู่ ร่วมกับศิษย์เก่าบางคนโดยทั่วไป 156 00:07:31,510 --> 00:07:33,850 หรือเพื่อนจากอุตสาหกรรม โดยทั่วไปปรารถนา 157 00:07:33,850 --> 00:07:35,780 เพื่อให้ชั้นเรียนขนาดใหญ่รู้สึกเล็ก 158 00:07:35,780 --> 00:07:37,560 ดังนั้นจึงเป็นอาหารกลางวันแบบสบาย ๆ อย่างสมบูรณ์ 159 00:07:37,560 --> 00:07:40,160 พวงของเราพนักงาน โดยเฉพาะอย่างยิ่งจะเล่นเก้าอี้ดนตรี 160 00:07:40,160 --> 00:07:43,360 และสนทนากับนักเรียนเกี่ยวกับ 50 ชีวิตนอก 50, 161 00:07:43,360 --> 00:07:46,510 ชีวิตในอนาคตโลกจริง ผมกำลังพูดถึงโอกาสในการทำงาน 162 00:07:46,510 --> 00:07:47,680 กับเพื่อน ๆ ในอุตสาหกรรม 163 00:07:47,680 --> 00:07:51,110 >> ดังนั้นถ้าคุณต้องการที่จะเข้าร่วมกับเรา นี้วันศุกร์ที่หัวไปยัง URL ที่นี่ 164 00:07:51,110 --> 00:07:54,180 มีพื้นที่ จำกัด แต่เราจะทำเช่นนี้ recurringly ตลอดระยะเวลา 165 00:07:54,180 --> 00:07:57,380 มุ่งหน้าไปที่นั่นเพื่อ cs50.harvard.edu/rsvp 166 00:07:57,380 --> 00:07:59,380 และถ้าคุณไม่ได้รับใน เวลานี้ไม่ต้องกังวล 167 00:07:59,380 --> 00:08:02,390 เราจะทำมันอีกครั้งใน สัปดาห์ที่ผ่านมาได้เป็นอย่างดี 168 00:08:02,390 --> 00:08:05,434 >> ดังนั้นนี่คือภาพที่ เราวาดเมื่อสัปดาห์ที่แล้ว 169 00:08:05,434 --> 00:08:07,350 และคุณได้รับอาจ เล่นน้ำในป่านนี้ 170 00:08:07,350 --> 00:08:10,360 แต่ขอพยายามที่จะเชื่อมต่อในตอนนี้ กับสิ่งที่เรากำลังจะทำในวันนี้ 171 00:08:10,360 --> 00:08:11,440 และเป็นต้นไป 172 00:08:11,440 --> 00:08:14,760 ฉันสามารถมีหนึ่งอาสาสมัคร? 173 00:08:14,760 --> 00:08:16,000 ทั้งหมดที่ถูกต้องหรือหลาย 174 00:08:16,000 --> 00:08:18,460 วิธีการเกี่ยวกับที่นี่ใน สิ้นสุดในเสื้อเชิ้ตสีฟ้า 175 00:08:18,460 --> 00:08:20,329 มาขึ้นคุณชื่ออะไร? 176 00:08:20,329 --> 00:08:20,870 อาลาน่า: อิลาน่า 177 00:08:20,870 --> 00:08:21,661 DAVID ลัน: อิลาน่า 178 00:08:21,661 --> 00:08:25,100 ดังนั้นอิลาน่า, เพียง moment-- ยินดีที่ได้พบ you-- 179 00:08:25,100 --> 00:08:28,260 จะมีบทบาทสำคัญ ของการทำงานที่นี่ 180 00:08:28,260 --> 00:08:31,290 บล็อกสีม่วงเราได้ เรียกว่าป่านนี้ฟังก์ชั่น 181 00:08:31,290 --> 00:08:34,830 ดังนั้นสิ่งที่ฉันจะไป ข้างหน้านี่และมีอิลาน่า 182 00:08:34,830 --> 00:08:38,380 เป็นป้ายชื่อเล็ก ๆ น้อย ๆ ที่จะทำให้ ชัดเจนว่าบทบาทที่คุณกำลังเล่น 183 00:08:38,380 --> 00:08:39,753 >> ดังนั้นคุณจะต้องเป็นบล็อกพูด 184 00:08:39,753 --> 00:08:41,419 ถ้าคุณต้องการที่จะไปข้างหน้าและใส่ที่ใน 185 00:08:41,419 --> 00:08:43,169 และเรากำลังจะไป เก็บนี้ง่ายสุด 186 00:08:43,169 --> 00:08:46,180 ถ้าเป้าหมายที่อยู่ในมือเป็นเพียง ขณะนี้การดำเนินการกับอิลาน่า, 187 00:08:46,180 --> 00:08:49,710 นี้เรียกว่าบอกว่าบล็อก นี่เป็นวิธีที่มันจะทำงาน 188 00:08:49,710 --> 00:08:52,574 ฉัน have-- ขอเรียกว่า โต้แย้งหรือพารามิเตอร์ 189 00:08:52,574 --> 00:08:54,240 มันจริงๆเพียงแค่แผ่นกระดาษเปล่า 190 00:08:54,240 --> 00:08:57,239 และมันก็เป็นสีขาวกับชนิดของเป็นที่ระลึก ของกล่องสีขาวที่คุณ 191 00:08:57,239 --> 00:08:58,080 สามารถเขียนคำ 192 00:08:58,080 --> 00:09:00,660 >> ในขณะที่ผมกำลังจะไปที่นี่ 193 00:09:00,660 --> 00:09:06,560 ฉันจะไปข้างหน้าและ เขียน H-E-L-L-O จุลภาคโลก 194 00:09:06,560 --> 00:09:09,972 และตอนนี้ฉันเป็นโปรแกรมเมอร์บอกว่าทำไม่ได้ จริงรู้วิธีการที่จะพูดอะไรบางอย่าง 195 00:09:09,972 --> 00:09:12,180 ฉันสามารถขึ้นมาด้วยคำพูด แต่ผมไม่จำเป็นต้อง 196 00:09:12,180 --> 00:09:15,220 รู้วิธีที่จะแสดงตัวเอง ด้วยวาจาหรือบนหน้าจอ 197 00:09:15,220 --> 00:09:17,280 และอื่น ๆ สิ่งที่ฉันจะ ทำคือการใช้ชิ้นนี้ 198 00:09:17,280 --> 00:09:21,157 ของการทำงานที่มี input-- หรือข้อโต้แย้งที่เราจะเรียกว่า 199 00:09:21,157 --> 00:09:23,990 ผมเคยเขียนในชิ้นส่วนของ paper-- นี้ และฉันจะจ้างมัน 200 00:09:23,990 --> 00:09:26,831 >> และแน่นอนว่าเป็นบทบาทที่ ฟังก์ชั่นในการเขียนโปรแกรมภาษา 201 00:09:26,831 --> 00:09:27,330 สามารถเล่น 202 00:09:27,330 --> 00:09:29,246 สิ่งที่ต้องการพูด บล็อกสามารถ outsourced 203 00:09:29,246 --> 00:09:32,074 กับใครบางคนที่รู้จริงๆ สิ่งที่เขาหรือเธอจะพูดเกี่ยวกับ 204 00:09:32,074 --> 00:09:33,990 ดังนั้นถ้าคุณจะก้าวข้าม ที่นี่เพียงสักครู่ 205 00:09:33,990 --> 00:09:40,092 ฉันกำลังจะผ่านการป้อนข้อมูลนี้เพื่อ อิลาน่าและขอให้คุณบอกว่าการป้อนข้อมูลนี้ 206 00:09:40,092 --> 00:09:41,202 >> อาลาน่า: สวัสดีโลก 207 00:09:41,202 --> 00:09:42,160 DAVID ลัน: นั่นแหล่ะ 208 00:09:42,160 --> 00:09:43,326 เพื่อให้มีฟังก์ชั่น 209 00:09:43,326 --> 00:09:46,556 ตอนนี้เราสามารถใช้มันน้อยมาก เราสามารถใช้ขั้นตอนต่อไปที่นี่ 210 00:09:46,556 --> 00:09:48,180 เพราะนั่นคือ underwhelming อย่างชัดเจน 211 00:09:48,180 --> 00:09:51,670 ดังนั้นตอนนี้ขอแปลงนี้ สิ่งเล็ก ๆ น้อย ๆ ที่ซับซ้อนมากขึ้น 212 00:09:51,670 --> 00:09:53,630 >> ดังนั้นนี้แน่นอนเป็นรุ่น C ของเรา 213 00:09:53,630 --> 00:09:56,760 ดังนั้นตอนนี้ถ้าคุณต้องการที่จะใช้เวลาที่ หนึ่งออกแท็กชื่อที่ออก 214 00:09:56,760 --> 00:09:58,530 และขอให้มีที่คุณใส่ในชื่อใหม่ 215 00:09:58,530 --> 00:10:00,850 แต่โดยพื้นฐานคุณ เล่นบทบาทเดียวกัน 216 00:10:00,850 --> 00:10:03,400 มันเกิดขึ้นเพียงเพื่อที่จะ จะเรียกว่า printf ตอนนี้ 217 00:10:03,400 --> 00:10:06,930 >> เรื่องนี้เป็นที่แน่นอน จะ be-- อาจ 218 00:10:06,930 --> 00:10:09,317 เช่นเดียวกับ underwhelming-- เป็น จะเป็นดังต่อไปนี้ 219 00:10:09,317 --> 00:10:10,650 ตอนนี้คุณอยู่ที่ฟังก์ชัน printf 220 00:10:10,650 --> 00:10:13,300 ผมโทรหรือ โปรแกรมเมอร์ที่ต้องการ 221 00:10:13,300 --> 00:10:15,745 ที่จะยืนอยู่บนไหล่ของ คนในอดีตที่ผ่านมาเช่นเดียวกับคุณที่ 222 00:10:15,745 --> 00:10:18,670 ที่เคยคิดอยู่แล้วว่า ที่จริงการเขียนอะไรบางอย่างลง 223 00:10:18,670 --> 00:10:20,650 และอื่น ๆ ในเวลานี้ มากกว่าที่จะบอกว่ามันให้ 224 00:10:20,650 --> 00:10:22,255 จริง ๆ แล้วใช้หน้าจอของเรามากกว่าที่นี่ 225 00:10:22,255 --> 00:10:24,130 ดังนั้นถ้าคุณต้องการที่จะก้าว ที่นี่ฉันจะ 226 00:10:24,130 --> 00:10:27,196 ที่จะผ่านอีกครั้งนี้เป็น การป้อนข้อมูลให้เพื่อน printf ของฉัน 227 00:10:27,196 --> 00:10:29,320 หากคุณสามารถไปข้างหน้าและ พิมพ์ที่อยู่บนหน้าจอ 228 00:10:29,320 --> 00:10:31,611 โดยเพียงแค่การวาดภาพที่มีของคุณ นิ้วบนหน้าจอสีดำ 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 ที่ดีเยี่ยม 231 00:10:44,180 --> 00:10:47,350 ขวาทั้งหมดดังนั้นจำนวนมากใจจดใจจ่อสำหรับ วิธีที่จะเล่นออก 232 00:10:47,350 --> 00:10:51,390 >> ดังนั้นตอนนี้ขอใช้สิ่งหนึ่ง รอยสุดท้ายถ้าเราสามารถทำได้ดังต่อไปนี้ 233 00:10:51,390 --> 00:10:53,980 ดังนั้นนี่คือโปรแกรม C ในขณะที่เรากล่าวว่าเป็นครั้งสุดท้าย 234 00:10:53,980 --> 00:10:57,460 และเพียงแค่นี้ไม่สิ่งที่คุณทำมัน พิมพ์ออกไปยังหน้าจอสวัสดีโลก 235 00:10:57,460 --> 00:11:00,290 แม้ว่าจะมีชั​​ดเจนมาก ของสิ่งที่ทำให้เสียสมาธิไปอยู่ที่นั่น 236 00:11:00,290 --> 00:11:03,630 แต่ขอใช้สิ่งขึ้นรอยและ แนะนำรุ่นนี้ซึ่งจำ 237 00:11:03,630 --> 00:11:06,160 เป็นรุ่นที่สามที่ เราสิ้นสุดกับครั้งที่แล้ว 238 00:11:06,160 --> 00:11:09,120 >> และตอนนี้มีให้เห็นอย่างชัดเจน สองการใช้ printf 239 00:11:09,120 --> 00:11:12,280 มี 2​​ โทรไปยังอิลาน่าเป็น ในกรณีนี้สำหรับ printf นี้ 240 00:11:12,280 --> 00:11:14,740 แต่ยังมีโทร ฟังก์ชั่นอื่น 241 00:11:14,740 --> 00:11:17,150 สิ่งที่เป็นหน้าที่ที่ชัดเจน? 242 00:11:17,150 --> 00:11:17,650 GetString 243 00:11:17,650 --> 00:11:18,980 >> เราจะได้รับหนึ่งในอาสาสมัครเพิ่มเติมหรือไม่ 244 00:11:18,980 --> 00:11:20,980 ตกลงมาขึ้น 245 00:11:20,980 --> 00:11:21,805 คุณชื่ออะไร? 246 00:11:21,805 --> 00:11:22,990 >> JAVIER: ฮาเวียร์ 247 00:11:22,990 --> 00:11:24,750 >> DAVID ลัน: ฮาเวียร์มาขึ้น 248 00:11:24,750 --> 00:11:27,270 ดังนั้นบทบาทของ Javier อยู่ใน ชิ้นส่วนของบทความนี้ 249 00:11:27,270 --> 00:11:28,860 ที่ฉันจะเรียกโดยทั่วไปของ 250 00:11:28,860 --> 00:11:32,250 ขณะนี้เป็นตัวแปรก็ ของสตริงชนิดเป็นนัย 251 00:11:32,250 --> 00:11:34,290 โดยสายที่สองที่อยู่ตรงกลางมี 252 00:11:34,290 --> 00:11:36,540 และฉันต้องการให้คุณไปรับฉันสตริง 253 00:11:36,540 --> 00:11:40,120 โดยเฉพาะหัวลงไปที่วงออเคสตรา ส่วนฉันและได้รับชื่อของคนที่ 254 00:11:40,120 --> 00:11:43,142 และกลับมาพร้อมกับตัวแปร ที่มีค่าที่ 255 00:11:43,142 --> 00:11:44,225 มันอาจจะเป็นคนที่คุณต้องการ 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> ที่นี่เราไป 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 สิทธิทั้งหมด Javier เป็น เขียนชื่อลง 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 ขวาทั้งหมด 262 00:12:03,280 --> 00:12:05,740 เราสามารถทั้งหมดที่อาจจะคาดเดาว่า นี้จะเล่นออก 263 00:12:05,740 --> 00:12:07,489 เราอาจจะ belaboring จุดของสิ่งที่ 264 00:12:07,489 --> 00:12:10,320 การทำงานจะทำ แต่ อย่างไรก็ตามขอบคุณมาก 265 00:12:10,320 --> 00:12:13,890 >> ดังนั้น Javier ได้กลับสายนี้ ที่นี่ซึ่งจะไม่เห็น 266 00:12:13,890 --> 00:12:15,800 โจนาธานเป็นสตริง ที่เราได้รับ 267 00:12:15,800 --> 00:12:18,330 ดังนั้นตอนนี้สิ่งที่ฉันจริงที่เกิดขึ้น ให้กับอิลาน่าแม้ว่า 268 00:12:18,330 --> 00:12:20,150 เป็นสิ่งที่แตกต่างกันเล็กน้อย 269 00:12:20,150 --> 00:12:23,800 เพราะในรุ่นนี้ โปรแกรมแรกที่มีการระบุชื่อของคุณ 270 00:12:23,800 --> 00:12:26,160 ดังนั้นอาร์กิวเมนต์แรกมาก ฉันต้องการที่จะให้อิลาน่า 271 00:12:26,160 --> 00:12:33,030 ด้วยเป็นไปได้ ตัวอักษรระบุชื่อของคุณ 272 00:12:33,030 --> 00:12:35,280 สิทธิทั้งหมดเพื่อให้ง่ายเหมือนที่ ฉันจะส่งนี้ให้คุณ 273 00:12:35,280 --> 00:12:36,730 และที่ผมเขียนขึ้น โต้แย้งต่อไปถ้าคุณ 274 00:12:36,730 --> 00:12:39,230 ต้องการที่จะไปข้างหน้าและเขียนนี้ ในคณะกรรมการให้เป็นไปข้างหน้า 275 00:12:39,230 --> 00:12:42,659 และทำตัวอย่างสุดท้ายที่นี่เพื่อให้ ชัดเจนสิ่งที่ในที่สุดก็จะเกิดขึ้น 276 00:12:42,659 --> 00:12:44,450 เพื่อให้ระบุชื่อของคุณ เขียนมันไปที่ด้านบน 277 00:12:44,450 --> 00:12:47,220 ถ้าคุณไม่ทราบเพียงเพื่อให้ เรามีห้องพักสำหรับหนึ่งบรรทัดที่สอง 278 00:12:47,220 --> 00:12:52,890 เพราะสิ่งสุดท้ายที่ฉันจะ ถึงตอนนี้ให้คุณด้วยไม่หนึ่ง 279 00:12:52,890 --> 00:12:57,220 แต่ทั้งสองชิ้นส่วนของกระดาษ 280 00:12:57,220 --> 00:12:58,074 >> ขวาทั้งหมด 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-O จุลภาคแล้วบรรทัดว่าง 282 00:13:01,920 --> 00:13:04,780 ดังนั้นสิ่งที่ฉันจะส่งอิลาน่าขณะนี้ เป็นสิ่งที่แตกต่างกันเล็กน้อย 283 00:13:04,780 --> 00:13:08,600 ไม่เพียง แต่เป็นที่เธอได้รับนี้ ที่เติมในที่ว่างเปล่าหมายถึง 284 00:13:08,600 --> 00:13:12,050 ที่ percent-- สิ่งที่เป็น ตัวยึดที่เราได้รับใช้? 285 00:13:12,050 --> 00:13:13,890 ใช่ดังนั้นร้อยละของ 286 00:13:13,890 --> 00:13:16,530 ในขณะที่ผมกำลังจะผ่าน ของเธอในอาร์กิวเมนต์ที่สองซึ่ง 287 00:13:16,530 --> 00:13:19,290 เป็นสิ่ง Javier ดึงออกมาจากโจนาธาน 288 00:13:19,290 --> 00:13:20,534 >> ดังนั้นให้ฉันให้คุณทั้งสอง 289 00:13:20,534 --> 00:13:22,575 หากคุณต้องการที่จะไปข้างหน้า และการพิมพ์ที่มีผลบังคับใช้ 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 สิ่งที่เกิดขึ้นในท้ายที่สุด ตอนนี้คืออิลาน่าอีกครั้ง 292 00:13:28,130 --> 00:13:29,410 จะเล่นบทบาทของ printf 293 00:13:29,410 --> 00:13:32,160 ฮาเวียร์กำลังเล่น บทบาทของ GetString 294 00:13:32,160 --> 00:13:34,700 เพื่อที่จะได้รับของที่ระลึกของคุณ 295 00:13:34,700 --> 00:13:39,910 และในที่สุดสิ่งที่เกิดขึ้นแม้จะ นี้ครับ hello-- ไปข้างหน้าและจุลภาค 296 00:13:39,910 --> 00:13:41,410 อาลาน่า: ฉันไม่ได้รับนี้หรือยังไม่ได้หรือไม่ 297 00:13:41,410 --> 00:13:43,451 DAVID ลัน: อ้อคุณ รับพวกเขาทั้งสองในครั้งเดียว 298 00:13:43,451 --> 00:13:45,740 ดังนั้นความคิดคือการที่คุณ ตอนนี้สามารถพลิกหน้า 299 00:13:45,740 --> 00:13:50,000 การจัดการที่สอง ของทั้งสองปัจจัยการผลิต 300 00:13:50,000 --> 00:13:53,280 ดังนั้นนี่เป็นเพียงการตอกบ้าน ชี้ว่าในขณะที่อิลาน่าดำเนินการ 301 00:13:53,280 --> 00:13:55,830 สายสีเขียวที่นี่แล้ว Javier ทำอย่างนี้อย่างใดอย่างหนึ่งสำหรับเรา 302 00:13:55,830 --> 00:13:57,820 และกลับไปที่อะไรบางอย่าง เราจะเรียกวินาที, แต่มันก็เป็นจริงๆ 303 00:13:57,820 --> 00:13:59,520 เพียงชิ้นส่วนของกระดาษของเขาเองว่า 304 00:13:59,520 --> 00:14:02,320 และตอนนี้อิลาน่าได้ทำบรรทัดที่สามนี้ 305 00:14:02,320 --> 00:14:06,010 >> และแม้ว่าทั้งหมดนี้มีลักษณะ เพื่อให้เป็นความลับอย่างไม่น่าเชื่ออาจจะเป็น 306 00:14:06,010 --> 00:14:08,870 ได้อย่างรวดเร็วก่อนมัน เป็นง่ายๆเป็นว่า 307 00:14:08,870 --> 00:14:11,390 ปัจจัยการผลิตผ่านไปรอบ ๆ ได้รับผลอย่างใดอย่างหนึ่ง 308 00:14:11,390 --> 00:14:14,560 ถูกส่งกลับมาทางร่างกายบางสิ่งบางอย่าง หรือเห็นผลข้างเคียงเช่นนี้ 309 00:14:14,560 --> 00:14:17,170 สิ่งที่เห็น เขียนบนหน้าจอ 310 00:14:17,170 --> 00:14:19,990 จึงขอไปข้างหน้าและ ขอบคุณอิลาน่าและฮาเวียร์, 311 00:14:19,990 --> 00:14:25,012 ที่ลงมาที่นี่เพื่อ ร่วมงานกับเราได้ที่นี่ 312 00:14:25,012 --> 00:14:25,934 >> [APPLAUSE] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> ดังนั้นตอนนี้ขอใช้เวลาสำหรับการรับเพียงว่า ตรงไปตรงมาทุกที่อาจจะมี 315 00:14:33,480 --> 00:14:36,775 และให้ดำเนินการต่อไปจริง ทำอะไรบางอย่างในรหัสที่เกิดขึ้นจริง 316 00:14:36,775 --> 00:14:40,620 ดังนั้นขึ้นบนหน้าจอที่นี่เป็นภาพหน้าจอ ของเครื่องใช้ไฟฟ้า CS50 ที่เรียกว่า 317 00:14:40,620 --> 00:14:43,980 และถ้าคุณมีอย่างเช่น 02:00 ในช่วงบ่ายวันพุธที่ 318 00:14:43,980 --> 00:14:46,602 อธิบายให้เพื่อนบางคน สิ่งที่เครื่อง CS50 คือ 319 00:14:46,602 --> 00:14:48,185 วิธีที่คุณจะกำหนดมันในประโยค? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 คนใดคนหนึ่งประโยค? 322 00:14:53,240 --> 00:14:54,876 ใช่? 323 00:14:54,876 --> 00:14:57,334 นักเรียน: มันเหมือนกับโปรแกรม ที่ทำให้คอมพิวเตอร์ของทุกคน 324 00:14:57,334 --> 00:14:58,460 ทำงานด้วยระบบเดียวกัน 325 00:14:58,460 --> 00:14:59,210 DAVID ลัน: ดี! 326 00:14:59,210 --> 00:15:02,810 มันเป็นโปรแกรมที่ช่วยให้ทุกคน คอมพิวเตอร์ทำงานกับระบบเดียวกัน 327 00:15:02,810 --> 00:15:04,920 มันเรียงลำดับของคุณเอง สำเนาของการดำเนินงาน 328 00:15:04,920 --> 00:15:07,540 ระบบที่เกิดขึ้นกับ จะเรียกว่าอูบุนตูลินุกซ์ 329 00:15:07,540 --> 00:15:11,070 และมันจะทำงานได้อย่างมีประสิทธิภาพภายใน หน้าต่างบน Mac ของคุณเองหรือพีซี 330 00:15:11,070 --> 00:15:15,080 เพื่อให้วิธีการที่เหมาะสมออกจากประตูนี้ ในสัปดาห์ที่ 1, ทุกคนที่นี่ในชั้นเรียน 331 00:15:15,080 --> 00:15:17,590 มีการเข้าถึงเครื่องมือเดียวกัน การกำหนดค่าเดียวกัน 332 00:15:17,590 --> 00:15:21,250 และไม่มีเฉพาะการเรียนรู้ เพื่อ Mac หรือ PC โดยเฉพาะอย่างยิ่ง 333 00:15:21,250 --> 00:15:25,620 >> ตอนนี้เราเปิดขึ้นภายในของ CS50 เครื่องใช้ไฟฟ้าในวันจันทร์ที่โปรแกรมนี้ที่นี่ 334 00:15:25,620 --> 00:15:27,040 มันเกิดขึ้นที่จะเรียกว่า Gedit 335 00:15:27,040 --> 00:15:29,050 แต่ที่จริงเพียง โปรแกรมแก้ไขกราฟิก 336 00:15:29,050 --> 00:15:33,170 มันเป็นบางอย่างเช่น Notepad หรือข้อความ แก้ไขใน Windows หรือ Mac OS ตามลำดับ 337 00:15:33,170 --> 00:15:36,720 และผมเสนอว่ามีจริงๆ สามส่วนที่สำคัญไปยังหน้าจอนี้ 338 00:15:36,720 --> 00:15:39,560 ด้านบนเป็นที่ที่คุณ จะเขียนรหัสของคุณ 339 00:15:39,560 --> 00:15:44,080 และที่ที่เราใช้เวลาส่วนใหญ่ของเรา สามตัวอย่างในการบรรยายวันจันทร์ 340 00:15:44,080 --> 00:15:47,650 ด้านล่างที่เราเรียกว่าอะไร หน้าต่างสีดำใช่? 341 00:15:47,650 --> 00:15:48,640 >> นักเรียน: คอมไพเลอร์? 342 00:15:48,640 --> 00:15:51,500 >> DAVID ลัน: คอมไพเลอร์เรา เข้าถึงได้โดยวิธีการของหน้าต่างที่ 343 00:15:51,500 --> 00:15:53,040 แต่โดยทั่วไป 344 00:15:53,040 --> 00:15:54,540 ใช่มันเป็นเพียงหน้าต่าง terminal 345 00:15:54,540 --> 00:15:57,780 นี้เป็นคำเก่าที่อายุเพียงแค่ อธิบายหลักกระพริบ 346 00:15:57,780 --> 00:16:01,910 แจ้งว่าปีที่ผ่านมาเคยเป็น หนึ่งในบรรดาจอภาพแบบ CRT ขนาดใหญ่ 347 00:16:01,910 --> 00:16:04,300 แต่ในปัจจุบันมันเรียงลำดับ เสมือนในซอฟแวร์ 348 00:16:04,300 --> 00:16:06,710 และหน้าต่างขั้ว ให้เราพิมพ์คำสั่ง 349 00:16:06,710 --> 00:16:11,750 มันเรียงลำดับของรุ่นที่เรียบง่าย ของอินเตอร์เฟซผู้ใช้หรือ UI 350 00:16:11,750 --> 00:16:14,060 มันไม่ได้เป็นแบบกราฟิก อินเตอร์เฟซผู้ใช้หรือ GUI, 351 00:16:14,060 --> 00:16:17,250 มันเป็นอินเตอร์เฟซแบบข้อความที่ หรืออินเตอร์เฟซบรรทัดคำสั่ง 352 00:16:17,250 --> 00:16:20,770 >> และแน่นอนว่าสิ่งที่ในที่สุด ฉันก็สามารถที่จะเขียนโค้ดบาง 353 00:16:20,770 --> 00:16:24,200 เมื่อฉันได้เขียนรหัสบางอย่างแม้ว่า จำได้ว่าผมใช้คำสั่งนี้ 354 00:16:24,200 --> 00:16:26,210 และในขณะที่มันชื่อ ชนิดของแนะนำนี้ 355 00:16:26,210 --> 00:16:29,860 ช่วยให้ฉันเพื่อให้ โปรแกรมที่เรียกว่าสวัสดี 356 00:16:29,860 --> 00:16:33,400 แต่สิ่งที่ได้รับจริงๆมันทำอะไร 357 00:16:33,400 --> 00:16:36,180 ดีทำให้กำลังของฉัน ใส่รหัสที่มาของฉัน 358 00:16:36,180 --> 00:16:39,380 และการแปลงไปยังสิ่งที่ท้ายที่สุด? 359 00:16:39,380 --> 00:16:40,060 >> รหัสวัตถุ 360 00:16:40,060 --> 00:16:42,790 และรหัสวัตถุเป็นเพียงจินตนาการ วิธีที่บอกศูนย์และคน 361 00:16:42,790 --> 00:16:46,420 และแล้วเมื่อฉันต้องการ เพื่อเรียกใช้รหัสวัตถุนั้น 362 00:16:46,420 --> 00:16:50,940 เมื่อฉันต้องการที่จะผ่านเป็นอินพุทที่ ศูนย์และคนเป็นของคอมพิวเตอร์ของฉัน 363 00:16:50,940 --> 00:16:54,430 สมองที่เรียกว่าซีพียู หรือหน่วยประมวลผลกลาง 364 00:16:54,430 --> 00:16:55,730 ผมต้องเรียกใช้โปรแกรม 365 00:16:55,730 --> 00:16:59,042 แต่มันไม่ได้ค่อนข้างง่ายในวันจันทร์ที่ เช่นเดียวกับสองครั้งที่คลิกที่ไอคอนบาง 366 00:16:59,042 --> 00:17:01,375 สิ่งที่ฉันไม่ต้องแทน ทำเพื่อที่จะเรียกใช้โปรแกรมได้หรือไม่ 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> สิ่งที่เป็นคำสั่งที่สองที่? 369 00:17:07,890 --> 00:17:09,619 ฉันได้ยินทับน้อย? 370 00:17:09,619 --> 00:17:10,544 ใช่ใช่? 371 00:17:10,544 --> 00:17:12,474 >> นักเรียน: ดเฉือนและ ชื่อของโปรแกรม 372 00:17:12,474 --> 00:17:13,349 DAVID ลัน: แน่นอน 373 00:17:13,349 --> 00:17:15,030 Dot เฉือนและชื่อของโปรแกรม 374 00:17:15,030 --> 00:17:16,210 ตอนนี้สิ่งที่ไม่นี้หมายความว่าอย่างไร 375 00:17:16,210 --> 00:17:19,470 จุดดีเป็นเพียงวิธีที่เป็นความลับ ที่บอกไดเรกทอรีปัจจุบัน 376 00:17:19,470 --> 00:17:23,440 สิ่งที่โฟลเดอร์ที่คุณอยู่ในนั้น อ้างอิงเป็นที่แสดงเป็นจุด 377 00:17:23,440 --> 00:17:26,680 เฉือนเป็นเพียงสิ่งที่คุณได้เห็น ใน Mac OS และ Windows สำหรับปีที่ผ่านมา 378 00:17:26,680 --> 00:17:30,329 มันคั่นระหว่างไดเรกทอรี หรือโฟลเดอร์และส่วนที่เหลือของชื่อบางส่วน 379 00:17:30,329 --> 00:17:32,620 ใน Windows มันเกิดขึ้นที่จะไป หลังใน Linux และ Mac 380 00:17:32,620 --> 00:17:34,210 OS ที่มันเกิดขึ้นที่จะไปข้างหน้า 381 00:17:34,210 --> 00:17:37,560 แต่มันก็เป็นเพียงแค่ตัวคั่นจึงเป็น เพียงแค่รายละเอียดที่น่าทึ่งวากยสัมพันธ์ 382 00:17:37,560 --> 00:17:40,440 >> ส่วนฉ่ำแน่นอน ชื่อของโปรแกรมสวัสดี 383 00:17:40,440 --> 00:17:42,650 และนั่นคือสิ่งที่ทำให้เราสร้างขึ้นสำหรับ 384 00:17:42,650 --> 00:17:44,910 มันออกมาไฟล์ที่สำหรับเรา 385 00:17:44,910 --> 00:17:46,700 แต่เราไม่ได้รับไปยังจุดที่? 386 00:17:46,700 --> 00:17:48,870 ตอนนี้ขอให้ถาม คำถามสิ่งที่เป็นจริง 387 00:17:48,870 --> 00:17:52,470 เกิดขึ้นที่นี่อย่างน้อยกับ ในเรื่องเกี่ยวกับบางส่วนของรูปแบบนี้? 388 00:17:52,470 --> 00:17:57,000 >> ดังนั้นในประโยคหรือดังนั้น วิธีที่เราอธิบายไป 389 00:17:57,000 --> 00:17:59,020 บรรทัดแรกนี้ว่า สีเขียว? 390 00:17:59,020 --> 00:18:02,998 สิ่งที่เป็นที่บรรทัดแรกทำ ด้วยความเคารพในการเขียนโปรแกรมของฉันได้อย่างไร 391 00:18:02,998 --> 00:18:03,974 ใช่? 392 00:18:03,974 --> 00:18:05,067 >> นักเรียน: [ไม่ได้ยิน] 393 00:18:05,067 --> 00:18:06,150 DAVID ลัน: พูดอีกครั้งหรือไม่ 394 00:18:06,150 --> 00:18:08,734 นักเรียน: รวมและดาวน์โหลด ฟังก์ชั่นที่ผ่านมา [ไม่ได้ยิน] 395 00:18:08,734 --> 00:18:09,483 DAVID ลัน: ดี 396 00:18:09,483 --> 00:18:11,900 รวมถึงผมจะไม่พูด การดาวน์โหลด แต่ขอบอกว่า 397 00:18:11,900 --> 00:18:15,500 รวมถึงฟังก์ชั่นคนที่ ได้เขียนในอดีตที่ผ่านมา 398 00:18:15,500 --> 00:18:18,260 และฟังก์ชั่นเหล่านั้นจะถูกนำมาใช้ ที่ไหนสักแห่งในคอมพิวเตอร์ของฉัน 399 00:18:18,260 --> 00:18:20,470 คนเขียนไฟล์ ปีที่ผ่านมาและที่ไฟล์ 400 00:18:20,470 --> 00:18:23,490 เป็นหนึ่งในของ CS50 เครื่องใช้ไฟฟ้าหรือบนฮาร์ดไดรฟ์ของฉัน 401 00:18:23,490 --> 00:18:24,480 มากขึ้นโดยทั่วไป 402 00:18:24,480 --> 00:18:27,810 และอื่น ๆ สายนี้เป็นหลักบอกว่า ไปพบว่าไฟล์มาตรฐาน I / O ที่จุด 403 00:18:27,810 --> 00:18:31,740 ชั่วโมงและคัดลอกและวางเนื้อหาของมัน ที่นี่ในด้านบนของไฟล์ของฉัน 404 00:18:31,740 --> 00:18:33,860 เพื่อที่ฉันจะได้ไม่ต้อง ทำด้วยตนเองตัวเอง 405 00:18:33,860 --> 00:18:40,970 >> และในหมู่ชิ้นฉ่ำภายใน ไฟล์ที่เราอ้างว่าเป็นฟังก์ชั่นอะไร 406 00:18:40,970 --> 00:18:45,740 สิ่งที่ฟังก์ชั่นที่เราบอกว่าไม่มีการประกาศ หรือกล่าวถึงในมาตรฐาน I / O ที่จุดชั่วโมง 407 00:18:45,740 --> 00:18:47,120 มีโอกาสมากที่สุด? 408 00:18:47,120 --> 00:18:47,900 printf ใช่มั้ย? 409 00:18:47,900 --> 00:18:50,797 เราไม่ได้เขียน printf ที่ วันจันทร์ที่มันก็มีอยู่ 410 00:18:50,797 --> 00:18:52,880 เหมือนเพิ่งมาอิลาน่า ขึ้นไปบนเวทีและเธอเพียง 411 00:18:52,880 --> 00:18:55,540 มีอยู่และรู้วิธีการวาด บางสิ่งบางอย่างบนหน้าจอ 412 00:18:55,540 --> 00:18:58,660 ดังนั้นไม่ printf อยู่เป็นเวลาหลายปี 413 00:18:58,660 --> 00:19:00,240 และดังนั้นนี่คือวิธีการที่เราเข้าถึงได้ 414 00:19:00,240 --> 00:19:03,280 ตอนนี้ถ้าเราย้ายไปที่นี่ หลักคือเราคล้าย 415 00:19:03,280 --> 00:19:06,620 กล่าวกับชิ้นส่วนปริศนา เรียกว่าเมื่อธงสีเขียวคลิก 416 00:19:06,620 --> 00:19:07,620 ในโลกของรอยขีดข่วน 417 00:19:07,620 --> 00:19:10,130 มันเป็นเพียงการเรียงลำดับของ ชื่อเริ่มต้นที่มนุษย์ 418 00:19:10,130 --> 00:19:13,340 ตัดสินใจที่จะเป็นตัวแทนของ เริ่มต้นจุดเริ่มต้นในการเขียนโปรแกรม 419 00:19:13,340 --> 00:19:16,540 ก้อนของรหัสโปรแกรม ที่ได้รับการดำเนินการครั้งแรก 420 00:19:16,540 --> 00:19:19,700 >> ในขณะเดียวกันวงเล็บปีกกาเหล่านี้ ชนิดเช่นรูปทรงโค้ง 421 00:19:19,700 --> 00:19:21,410 จำนวนมากของผู้ที่ชิ้นสีเหลืองรอยขีดข่วน 422 00:19:21,410 --> 00:19:24,860 พวกเขาชนิดของแค็ป​​ซูลทั้ง พวงของคำแนะนำกัน 423 00:19:24,860 --> 00:19:28,350 ดังนั้นจึงเป็นเพียงชนิดของผูกเข้าด้วยกัน บางฟังก์ชันการทำงานที่เกี่ยวข้อง 424 00:19:28,350 --> 00:19:33,750 printf แน่นอนเป็นฟังก์ชันที่ พิมพ์หน้าจอที่เราเพิ่งได้ 425 00:19:33,750 --> 00:19:35,190 >> สิ่งที่เกี่ยวกับวงเล็บเหล่านี้หรือไม่ 426 00:19:35,190 --> 00:19:38,770 วิธีที่คุณจะ define-- แม้ว่าคุณจะได้ ไม่เคยตั้งโปรแกรมมาก่อน แต่เพียงตาม 427 00:19:38,770 --> 00:19:41,320 ตอนนี้ที่เพิ่มขึ้น หวังว่าสัญชาตญาณของสิ่งที่ 428 00:19:41,320 --> 00:19:43,290 มีวงเล็บทำสำหรับพวกเราที่นี่? 429 00:19:43,290 --> 00:19:45,450 หรือสิ่งที่พวกเขาโดยรอบ? 430 00:19:45,450 --> 00:19:46,360 ใช่? 431 00:19:46,360 --> 00:19:49,360 >> นักเรียน: พวกเขากำลังจะบอกว่าสิ่งที่ คุณกำลังจะพิมพ์ด้วย printf 432 00:19:49,360 --> 00:19:52,401 >> DAVID ลัน: ใช่พวกเขากำลังพูดในสิ่งที่ คุณกำลังจะพิมพ์ด้วย printf 433 00:19:52,401 --> 00:19:56,260 หรือมากกว่าโดยทั่วไปพวกเขาจะ รอบปัจจัยการผลิตไปยังฟังก์ชัน 434 00:19:56,260 --> 00:19:58,530 เพื่อให้คุณเกือบจะคิดว่า วงเล็บที่ 435 00:19:58,530 --> 00:20:01,620 เป็นเหมือนโลหะ คลิปบนคลิปบอร์ดนี้ 436 00:20:01,620 --> 00:20:05,940 มันเป็นสิ่งที่ถือเป็นสิ่งที่ จะถูกนำมาใช้เพื่อให้การขัดแย้ง 437 00:20:05,940 --> 00:20:08,500 เป็นฟังก์ชั่นซึ่งใน กรณีนี้จะเรียกว่า printf 438 00:20:08,500 --> 00:20:12,390 >> ดังนั้นโดยทั่วไปเกือบทุก เวลาที่เราเรียกฟังก์ชั่น 439 00:20:12,390 --> 00:20:14,280 เราจะได้เห็นวงเล็บคู่ 440 00:20:14,280 --> 00:20:17,000 อาจจะมีบางสิ่งบางอย่างในนั้น เหมือนตอนนี้ไม่มีอะไรที่อาจจะอยู่ในมัน 441 00:20:17,000 --> 00:20:19,770 แต่นั่นคือสิ่งที่คุณจะใส่ ปัจจัยการผลิตหรือที่เรียกว่าข้อโต้แย้ง 442 00:20:19,770 --> 00:20:20,680 ฟังก์ชั่น 443 00:20:20,680 --> 00:20:22,470 >> นี่คือหนึ่งในข้อโต้แย้งดังกล่าวเป็น 444 00:20:22,470 --> 00:20:24,467 ผมเน้นทุกอย่าง ระหว่างคำพูดที่ 445 00:20:24,467 --> 00:20:26,300 เพราะมันจะเปิดออก ในภาษานี้เรียกว่า 446 00:20:26,300 --> 00:20:29,950 C, เมื่อคุณต้องการที่จะเป็นตัวแทน string-- ที่เป็นคำหรือวลี 447 00:20:29,950 --> 00:20:33,470 หรือแม้กระทั่งการ paragraph-- คุณต้อง ล้อมรอบด้วยคำพูดสอง 448 00:20:33,470 --> 00:20:35,420 ไม่ได้ราคาเดียวราคาคู่ 449 00:20:35,420 --> 00:20:37,460 และที่ว่าสิ่งที่ฉันได้ทำที่นี่ 450 00:20:37,460 --> 00:20:39,900 >> ในขณะที่มีความขี้ขลาด สัญลักษณ์ในช่วงปลายมี 451 00:20:39,900 --> 00:20:41,600 ทับขวา n 452 00:20:41,600 --> 00:20:43,460 เราพูดว่าอะไรที่เป็นตัวแทน? 453 00:20:43,460 --> 00:20:44,093 ใช่? 454 00:20:44,093 --> 00:20:44,980 >> นักเรียน: บรรทัดใหม่ 455 00:20:44,980 --> 00:20:45,896 >> DAVID ลัน: สายใหม่ 456 00:20:45,896 --> 00:20:47,910 ขวาคุณทำไม่ได้ โดยทั่วไปกด Enter เมื่อ 457 00:20:47,910 --> 00:20:50,430 คุณต้องการให้โปรแกรม จะคายออกบรรทัดใหม่ 458 00:20:50,430 --> 00:20:54,210 แต่คุณบอกว่าอย่างชัดเจน กับชิ้นส่วนที่เป็นความลับนี้เป็นที่ยอมรับ 459 00:20:54,210 --> 00:20:58,770 ของไวยากรณ์เครื่องหมาย n ที่ คุณต้องการขึ้นบรรทัดใหม่ไปที่นั่น 460 00:20:58,770 --> 00:20:59,810 สุดท้ายอัฒภาค 461 00:20:59,810 --> 00:21:01,560 เราไม่ได้พูดคุยจริงๆ มากเกินไปเกี่ยวกับเรื่องนี้ 462 00:21:01,560 --> 00:21:04,893 และโดยไกลนี้จะเป็นหายนะของบาง ของการดำรงอยู่ของคุณสำหรับปัญหาแรก 463 00:21:04,893 --> 00:21:07,990 การตั้งค่าเมื่อคุณเพียงแค่ล้มเหลวที่จะตระหนักถึง คุณลืมสิ่งที่โง่ 464 00:21:07,990 --> 00:21:08,614 เป็นอัฒภาค 465 00:21:08,614 --> 00:21:11,600 และโดยทั่วไปวางไว้ จะมีการแก้ไขปัญหาที่ 466 00:21:11,600 --> 00:21:13,511 แต่สิ่งที่มันทำ สำหรับเราที่คุณจะพูด? 467 00:21:13,511 --> 00:21:15,670 >> นักเรียน: [ไม่ได้ยิน] 468 00:21:15,670 --> 00:21:17,484 >> DAVID ลัน: ขออภัย? 469 00:21:17,484 --> 00:21:18,532 >> นักเรียน: [ไม่ได้ยิน] 470 00:21:18,532 --> 00:21:19,990 DAVID ลัน: Finishing คำสั่ง 471 00:21:19,990 --> 00:21:22,770 มันเป็นประเภทเช่นระยะเวลาที่ ในตอนท้ายของประโยคภาษาอังกฤษ 472 00:21:22,770 --> 00:21:25,790 ในขณะที่ในภาษานี้ C จะสิ้นสุดคำสั่ง 473 00:21:25,790 --> 00:21:29,250 การเรียนการสอนของการเขียนโปรแกรม รหัสที่คุณเพียงต้องการที่จะบอกว่า 474 00:21:29,250 --> 00:21:30,500 ฉันทำกับนี้ 475 00:21:30,500 --> 00:21:32,240 ตอนนี้สังเกตเห็นว่าเป็นคนเดียวที่นี่ 476 00:21:32,240 --> 00:21:34,614 ดังนั้นคุณจึงไม่ต้องการที่จะได้รับใน นิสัยของอัฒภาควาง 477 00:21:34,614 --> 00:21:36,190 ทุกครั้งหลังวงเล็บปิด 478 00:21:36,190 --> 00:21:38,610 ยกตัวอย่างเช่นไม่มีใครเป็น ต่อไปจะถือเป็นโมฆะและเราจะ 479 00:21:38,610 --> 00:21:40,430 กลับมาในอนาคต กับสิ่งที่เป็นโมฆะหมายถึง 480 00:21:40,430 --> 00:21:44,080 แต่ในกรณีนี้ printf ของคุณเป็น ฟังก์ชั่นหรือคำสั่งที่ถูกใช้ 481 00:21:44,080 --> 00:21:47,420 และดังนั้นเราจึงต้องการที่จะมีที่ ปลายทางที่ปลายสุดของมัน 482 00:21:47,420 --> 00:21:50,980 >> และฉันตั้งใจเลือกในซีและ ตรงไปตรงมามากของภาษาเช่น C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, และจำนวนใด ๆ ภาษาอื่น ๆ มีจำนวนมากเหล่านี้ 484 00:21:55,000 --> 00:21:56,730 การเรียงลำดับของรายละเอียดโครงสร้าง 485 00:21:56,730 --> 00:22:00,120 ที่แน่นอนถ้าคุณไม่คุ้นเคยกับ การเขียนโปรแกรมอย่างแท้จริงสามารถเดินทางคุณขึ้น 486 00:22:00,120 --> 00:22:02,307 และคุณจะทำเครื่องหมายของฉัน คำพูดบางส่วนของคุณจะ 487 00:22:02,307 --> 00:22:04,140 มีประสบการณ์นี้ ในเวลาทำการหรือปลาย 488 00:22:04,140 --> 00:22:07,554 ในเวลากลางคืนการทำงานในบางส่วน P-ชุดที่ โปรแกรมแช่งของคุณเพียงแค่ไม่ได้รวบรวม 489 00:22:07,554 --> 00:22:09,470 มันไม่ได้ทำงานที่คุณมี ความคิดที่ไม่มีสิ่งที่ผิด 490 00:22:09,470 --> 00:22:11,513 ดูเหมือนว่าสมบูรณ์ มีเหตุผลที่ถูกต้องให้กับคุณ 491 00:22:11,513 --> 00:22:13,596 และมันก็เป็นเพราะคุณลืม สิ่งที่ต้องการตี 492 00:22:13,596 --> 00:22:15,250 อัฒภาคที่ท้ายบรรทัดบาง 493 00:22:15,250 --> 00:22:17,590 >> แต่เหล่านี้เป็นชนิดของสิ่งที่คุณกำลัง จะเรียนรู้ได้ทันทีที่เห็น 494 00:22:17,590 --> 00:22:20,048 และแน่นอนสิ่งเหล่านี้ ที่ CA และของ TF มี 495 00:22:20,048 --> 00:22:23,210 รับการฝึกอบรมการจัดเรียงของที่จะเห็น มากขึ้นอย่างรวดเร็วกว่าที่คุณ 496 00:22:23,210 --> 00:22:26,610 และอื่น ๆ นี้เป็นเพียงที่จะบอกว่าในขณะที่คุณ การดำน้ำเป็นปัญหาชุดที่ 1 โดยเฉพาะอย่างยิ่ง 497 00:22:26,610 --> 00:22:28,217 ไม่ได้รับความผิดหวังจากสิ่งนี้ 498 00:22:28,217 --> 00:22:30,050 เมื่อคุณเรียงลำดับของการปรับตัว เพื่อโลกที่คุณ 499 00:22:30,050 --> 00:22:35,130 เริ่มเห็นสิ่งที่คุณอาจจะไม่ เห็นได้อย่างรวดเร็วก่อนสัปดาห์แรกนี้ 500 00:22:35,130 --> 00:22:37,440 >> ดังนั้นรหัสแหล่งที่มาเป็นสิ่งที่ต้องการที่ 501 00:22:37,440 --> 00:22:40,370 เราต้องการที่จะผ่านมันไป ที่เรียกว่าคอมไพเลอร์ 502 00:22:40,370 --> 00:22:42,850 และคอมไพเลอร์กับที่ เรากล่าวว่าให้เอาท์พุท 503 00:22:42,850 --> 00:22:45,660 เป็นที่รู้จักกันเป็นรหัสวัตถุ ที่เรียกว่าศูนย์และคน 504 00:22:45,660 --> 00:22:47,747 แต่จากนั้นสิ่งที่ไม่ที่ให้เรา? 505 00:22:47,747 --> 00:22:49,080 ดีจะช่วยให้เรามีรูปแบบเหล่านี้ 506 00:22:49,080 --> 00:22:52,020 และอีกครั้งที่เครื่องคอมพิวเตอร์ของคุณ Intel ของคุณภายใน 507 00:22:52,020 --> 00:22:54,350 ความเข้าใจในรูปแบบเหล่านี้ ของศูนย์และคน 508 00:22:54,350 --> 00:22:57,300 และบางครั้งรูปแบบ แสดงให้เห็นถึงตัวเลขทศนิยมที่เกิดขึ้นจริง 509 00:22:57,300 --> 00:22:59,770 อย่างที่เราเห็นเมื่อสัปดาห์ที่แล้วบางครั้ง มันเป็นจดหมาย 510 00:22:59,770 --> 00:23:02,730 เหมือนที่เราเห็นเมื่อสัปดาห์ที่แล้วบางครั้ง มันแสดงให้เห็นถึงการเรียนการสอน, 511 00:23:02,730 --> 00:23:05,460 เช่นการพิมพ์บางสิ่งบางอย่างไปยังหน้าจอ 512 00:23:05,460 --> 00:23:08,782 >> ดังนั้น printf สำหรับ instance-- แต่ให้ฉันย้อนกลับ 513 00:23:08,782 --> 00:23:11,240 เราได้รับการรับ ที่ศูนย์เหล่านั้นและคนที่มี 514 00:23:11,240 --> 00:23:14,200 ผลิตโดยให้คำสั่งนี้ 515 00:23:14,200 --> 00:23:16,050 แต่ให้ไม่ได้คอมไพเลอร์ 516 00:23:16,050 --> 00:23:19,370 ทำให้ไม่ได้เป็นสิ่งที่อยู่ตรงกลาง ที่ศูนย์การผลิตและคนที่ 517 00:23:19,370 --> 00:23:23,780 แต่ให้เป็นเพียงอย่างสะดวก ชื่อโปรแกรมที่มีจุดมุ่งหมายในชีวิต 518 00:23:23,780 --> 00:23:27,267 เป็นหลักที่จะคิดออก วิธีการรวบรวมโปรแกรมของคุณ 519 00:23:27,267 --> 00:23:29,350 และเราจะใช้มันในการเหล่านี้ สัปดาห์แรกเพราะเพียงแค่ 520 00:23:29,350 --> 00:23:30,910 เราประหยัดมากปัญหา 521 00:23:30,910 --> 00:23:34,080 >> แต่สิ่งที่ทำให้เป็นจริง ทำเมื่อคุณรวบรวมสวัสดี 522 00:23:34,080 --> 00:23:36,690 คือในขณะที่เรากล่าวว่าครั้งสุดท้ายที่มันเป็น มองในฮาร์ดดิสก์ของคุณ 523 00:23:36,690 --> 00:23:40,620 หรือในโฟลเดอร์ปัจจุบันสำหรับ ไฟล์สิ่งที่เรียกว่าเห็นได้ชัด? 524 00:23:40,620 --> 00:23:41,815 hello.c ใช่มั้ย? 525 00:23:41,815 --> 00:23:43,190 นั่นเป็นเพียงชนิดของการประชุม 526 00:23:43,190 --> 00:23:45,620 มันเป็นโดยพลการ แต่ นั่นคือสิ่งที่มี 527 00:23:45,620 --> 00:23:48,620 ทำให้ถ้าคุณเพียงแค่ระบุชื่อ ของโปรแกรมที่ยังไม่มีการ 528 00:23:48,620 --> 00:23:52,200 ก็จะมองหารหัสแหล่งที่มา ในแฟ้มโดยค่าเริ่มต้นหมายความว่า hello.c 529 00:23:52,200 --> 00:23:53,530 และถ้ามันพบว่ามันยิ่งใหญ่ 530 00:23:53,530 --> 00:23:56,650 มันจะแปลงแห​​ล่งที่มา รหัสลงในรหัสวัตถุสำหรับคุณ 531 00:23:56,650 --> 00:23:59,670 >> แต่ทุกครั้งที่ฉันได้กด Enter หลังจากที่ทำงานให้สวัสดี 532 00:23:59,670 --> 00:24:03,560 คุณจำได้เห็นครั้งสุดท้าย ที่ค่อนข้างยาวและลำดับที่เป็นความลับ 533 00:24:03,560 --> 00:24:06,430 ของตัวอักษรสีขาวและอื่น ๆ ตัวอักษรบนหน้าจอ? 534 00:24:06,430 --> 00:24:11,220 กันดีว่าเป็นคำสั่งที่เกิดขึ้นจริง คอมไพเลอร์ที่เกิดขึ้นจริงที่กำลังวิ่ง 535 00:24:11,220 --> 00:24:15,500 ดังนั้นคอมไพเลอร์ที่เกิดขึ้นจริงเราจะใช้ส่วนใหญ่ของ ภาคการศึกษาเป็นสิ่งที่เรียกว่าเสียงดังกราว 536 00:24:15,500 --> 00:24:19,280 บางท่านอาจได้ใช้ Visual Studio ก่อนหรือจี 537 00:24:19,280 --> 00:24:21,340 หรือจำนวนของคอมไพเลอร์อื่น ๆ 538 00:24:21,340 --> 00:24:22,620 เราจะใช้เสียงดังกราว 539 00:24:22,620 --> 00:24:26,950 >> และเสียงดังกราวช่วยให้เราสามารถแปลงจริง รหัสแหล่งที่มาที่ไปยังวัตถุรหัส 540 00:24:26,950 --> 00:24:29,430 ไม่สิ่งนี้จริง หมายความว่าในการปฏิบัติ? 541 00:24:29,430 --> 00:24:33,390 ดีให้ฉันไปเป็นหนึ่งใน โฟลเดอร์ของฉันจากครั้งที่แล้ว 542 00:24:33,390 --> 00:24:35,760 ภายในของเครื่อง CS50 543 00:24:35,760 --> 00:24:42,080 และแจ้งให้เราไปข้างหน้าและสร้างนี้ ไฟล์เดียวกันรวมถึงมาตรฐาน I / O ที่จุดชั่วโมง 544 00:24:42,080 --> 00:24:42,875 เป็นโมฆะหลัก int 545 00:24:42,875 --> 00:24:46,000 และเราจะกลับมาในอนาคตเป็น กับสิ่งที่ int วิธีการและสิ่งที่หมายถึงเป็นโมฆะ 546 00:24:46,000 --> 00:24:49,130 แต่ตอนนี้ขอทำ สวัสดีเครื่องหมายโลก n, 547 00:24:49,130 --> 00:24:50,500 เช่นเดียวกับที่เราทำบนกระดาน 548 00:24:50,500 --> 00:24:53,930 >> ผมขอบันทึกไฟล์ที่เรียกว่า hello.c นี้ 549 00:24:53,930 --> 00:24:58,280 และตอนนี้ถ้าผมต้องการที่จะรวบรวมนี้ ฉัน could-- ให้ฉันซูมระยะ in-- 550 00:24:58,280 --> 00:25:00,450 ทำให้สวัสดีป้อน 551 00:25:00,450 --> 00:25:02,645 และนี่เป็นอีกครั้ง เส้นที่เป็นความลับมากที่ 552 00:25:02,645 --> 00:25:05,120 แต่ตอนนี้อย่างน้อยหนึ่งคำ อาจจะกระโดดออกที่คุณ 553 00:25:05,120 --> 00:25:07,087 เสียงดังกราวเป็นสายที่เราเห็นก่อนหน้านั้น 554 00:25:07,087 --> 00:25:10,420 ขณะนี้มีจำนวนมากของสิ่งอื่น ๆ ที่ตรงไปตรงมา ว่าเราจะโบกมือของเราในวันนี้ 555 00:25:10,420 --> 00:25:14,020 แต่มีส่วนย่อยไม่กี่ ตัวอักษรไม่กี่ที่นี่ 556 00:25:14,020 --> 00:25:14,907 ที่เป็นที่สนใจ 557 00:25:14,907 --> 00:25:16,490 แต่ฉันจะไปข้างหน้าและทำเช่นนี้ 558 00:25:16,490 --> 00:25:18,281 ฉันจะเรียกใช้ครั้งแรก สวัสดีเพียงเพื่อพิสูจน์ 559 00:25:18,281 --> 00:25:20,320 ว่านี่คือการทำงานตามที่มันเป็นจันทร์ 560 00:25:20,320 --> 00:25:22,330 แต่ตอนนี้ฉันจะลบโปรแกรม 561 00:25:22,330 --> 00:25:25,870 และเหมือนเรามีเหล่านี้ ชื่อที่สั้นครั้งสุดท้าย 562 00:25:25,870 --> 00:25:29,787 คำสั่งสำหรับการลบ บางสิ่งบางอย่าง rm, เอาใส่ 563 00:25:29,787 --> 00:25:31,870 คุณกำลังจะได้รับบาง คำถามที่เป็นความลับอย่างเป็นธรรม 564 00:25:31,870 --> 00:25:35,210 ยากที่จะเชื่อว่าคุณสามารถสร้าง แม้กระทั่งคำถามนี้ยากที่จะเข้าใจ 565 00:25:35,210 --> 00:25:38,100 แต่ลบสวัสดีแฟ้มปกติเพียง วิธีที่คุณต้องการที่จะลบสวัสดี 566 00:25:38,100 --> 00:25:42,650 >> และฉันสามารถไปข้างหน้าและพิมพ์ y สำหรับ ใช่ใส่และตอนนี้มันหายไป 567 00:25:42,650 --> 00:25:45,130 สิ่งนี้หมายความว่าตอนนี้ ถ้าผมล้างหน้าจอของฉัน 568 00:25:45,130 --> 00:25:47,301 คือแทนที่จะ ทำให้ hello-- คุณ 569 00:25:47,301 --> 00:25:48,800 รู้ว่าสิ่งที่ฉันได้รับสิ่งที่ดีที่นี้ 570 00:25:48,800 --> 00:25:50,690 ฉันจะใช้คอมไพเลอร์ตัวเอง 571 00:25:50,690 --> 00:25:53,330 ผมไม่ต้องใช้โปรแกรมบางอย่างเพื่อ คิดออกว่าไฟล์ของฉันถูกเรียกว่า 572 00:25:53,330 --> 00:25:55,370 ที่ผมเขียน hello.c ผม รู้ว่าสิ่งที่มันเรียกว่า 573 00:25:55,370 --> 00:25:57,640 ฉันอย่างเห็นได้ชัดที่มีความสามารถในการพิมพ์ที่ 574 00:25:57,640 --> 00:26:02,620 ดังนั้นฉันจะไปข้างหน้า และไม่เสียงดังกราว hello.c ใส่ 575 00:26:02,620 --> 00:26:03,264 >> ดูเหมือนว่าจะทำงาน 576 00:26:03,264 --> 00:26:05,930 และไม่มีการส่งออกเพิ่มเติม เพราะเสียงดังกราวเป็นคอมไพเลอร์ 577 00:26:05,930 --> 00:26:08,590 มันเป็นสิ่งที่แปลง รหัสแหล่งที่มาที่ศูนย์และคน 578 00:26:08,590 --> 00:26:12,870 ดังนั้นถ้าผมตอนนี้ทำจุด เฉือนสวัสดีใส่เลยแฮะ 579 00:26:12,870 --> 00:26:14,630 เกิดข้อผิดพลาดใหม่ในวันนี้ 580 00:26:14,630 --> 00:26:17,610 ดังนั้นทุบตีเป็นเพียงชื่อของ กระพริบแจ้งที่เรากำลังใช้ 581 00:26:17,610 --> 00:26:20,360 นั่นเป็นเปลือกขั้นต้น แต่ตอนนี้นั่นคือทั้งหมดที่นั่นคือ 582 00:26:20,360 --> 00:26:21,401 ก็พร้อมกระพริบ 583 00:26:21,401 --> 00:26:22,880 และที่ว่าทำไมมันตะโกนใส่เรา 584 00:26:22,880 --> 00:26:25,690 >> ไม่มีไฟล์หรือไดเรกทอรีดังกล่าวเป็น เล็ก ๆ น้อย ๆ ตรงไปตรงมามากขึ้น 585 00:26:25,690 --> 00:26:28,190 แต่แน่นอนผมทำรหัสวัตถุที่ 586 00:26:28,190 --> 00:26:30,930 แต่จับคือว่า ถ้าผมพิมพ์คำสั่ง 587 00:26:30,930 --> 00:26:34,650 รายการเนื้อหาของเรื่องนี้ ไดเรกทอรีซึ่งเป็นสิ่งที่? 588 00:26:34,650 --> 00:26:36,210 LS สำหรับรายการ 589 00:26:36,210 --> 00:26:39,332 มีพวงของสิ่งที่อยู่ในที่นี่ บางที่มาพร้อมกับเครื่องใช้ไฟฟ้าที่ 590 00:26:39,332 --> 00:26:42,040 เช่นโฟลเดอร์สก์ท็อปของฉันดาวน์โหลด โฟลเดอร์โฟลเดอร์ Dropbox และทุก 591 00:26:42,040 --> 00:26:42,850 สิ่งที่ 592 00:26:42,850 --> 00:26:45,410 แต่สิ่งที่น่าสนใจ เป็น hello.c ซึ่ง 593 00:26:45,410 --> 00:26:47,286 ฉันสร้างช่วงเวลาที่ผ่านมากับ Gedit 594 00:26:47,286 --> 00:26:49,160 และสิ่งที่แปลกประหลาด ชื่อมองในที่นี่ 595 00:26:49,160 --> 00:26:53,110 บางทีที่เราไม่ได้ เห็นครั้งสุดท้ายที่ทั้งหมดหรือไม่ 596 00:26:53,110 --> 00:26:54,710 >> a.out ใช่มั้ย? 597 00:26:54,710 --> 00:26:56,920 ดังนั้นกลับในวันที่มัน ก็ตัดสินใจเพียงแค่ว่าเมื่อ 598 00:26:56,920 --> 00:26:58,760 คุณคอมไพล์โปรแกรม สำหรับครั้งแรกที่ 599 00:26:58,760 --> 00:27:02,360 และคุณไม่ได้ระบุชื่อ ของไฟล์ที่ขอเรียกว่า 600 00:27:02,360 --> 00:27:05,800 และ a.out ก็หมายความว่านี่คือ การส่งออกของคอมไพเลอร์ 601 00:27:05,800 --> 00:27:07,790 ดังนั้นจึงเป็นชื่อที่น่ากลัวสำหรับโปรแกรม 602 00:27:07,790 --> 00:27:12,820 แต่ด้วยเหตุผลที่จุดเฉือนสำหรับ ไดเรกทอรีปัจจุบันเฉือน a.out, 603 00:27:12,820 --> 00:27:16,102 จะหมายถึงมีในความเป็นจริง โปรแกรมโลกของฉันสวัสดี 604 00:27:16,102 --> 00:27:17,560 ตอนนี้เล็ก ๆ น้อย ๆ ที่อบอุ่นขึ้นการออกกำลังกายมากเกินไป 605 00:27:17,560 --> 00:27:20,420 ถ้าผมต้องการที่จะเปลี่ยนชื่อนี้ ไฟล์ปรากฎว่าคุณ 606 00:27:20,420 --> 00:27:23,000 ย้ายไฟล์จากที่หนึ่งไปยังอีกชื่อ 607 00:27:23,000 --> 00:27:28,750 a.out ดังนั้น MV และจากนั้นฉัน สามารถเรียกมันสวัสดีใส่ 608 00:27:28,750 --> 00:27:30,940 ดังนั้นนี่คือคำสั่งลินุกซ์ 609 00:27:30,940 --> 00:27:34,370 DOS มีปีนี้ที่ผ่านมา Windows มีหน้าต่าง terminal 610 00:27:34,370 --> 00:27:36,460 ของการจัดเรียงที่มีลักษณะบาง เช่นนี้ Linux และ Mac 611 00:27:36,460 --> 00:27:38,140 คอมพิวเตอร์มีให้กระพริบนี้ 612 00:27:38,140 --> 00:27:41,490 แม้ว่าส่วนใหญ่ของเราอาจจะเป็น ไม่ค่อยหากเคยใช้มัน 613 00:27:41,490 --> 00:27:44,590 >> แต่สิ่งที่ผมทำคือการเรียกใช้ โปรแกรมที่มีชื่อเป็น MV, 614 00:27:44,590 --> 00:27:47,900 และผมได้ให้กับ สองข้อโต้แย้งจึงจะพูด 615 00:27:47,900 --> 00:27:48,630 สองปัจจัยการผลิต 616 00:27:48,630 --> 00:27:50,260 a.out เป็นชื่อเดิม 617 00:27:50,260 --> 00:27:51,630 สวัสดีเป็นชื่อใหม่ 618 00:27:51,630 --> 00:27:55,670 ดังนั้นถ้าผมตอนนี้ทำจุดเฉือน สวัสดีใส่ที่อยู่ 619 00:27:55,670 --> 00:28:00,770 และถ้าผมทำ a.out เฉือนจุด สิ่งที่คุณคาดหวังว่าฉันควรจะเห็น? 620 00:28:00,770 --> 00:28:02,250 >> ทุบตีไม่มีไฟล์หรือไดเรกทอรีดังกล่าว 621 00:28:02,250 --> 00:28:03,350 เพราะผมเพียงแค่เปลี่ยนชื่อเป็น 622 00:28:03,350 --> 00:28:04,975 ดังนั้นนี้จะใช้เวลาบิตของการรับใช้ 623 00:28:04,975 --> 00:28:06,977 แต่ปัญหาชุดที่ 1 สเปคจะอย่างแท้จริง 624 00:28:06,977 --> 00:28:08,810 จับมือของคุณผ่านทาง บางส่วนของ minutae นี้ 625 00:28:08,810 --> 00:28:11,050 เพราะนี่คือที่สมบูรณ์ สิ่งที่ทำให้ไขว้เขวทางปัญญา 626 00:28:11,050 --> 00:28:12,966 จากที่น่าสนใจมากขึ้น ความคิดที่อยู่ในมือซึ่ง 627 00:28:12,966 --> 00:28:15,310 เป็นจริงสร้าง สิ่งที่ออกจากรหัส 628 00:28:15,310 --> 00:28:18,830 แต่ขอให้ทำอย่างใดอย่างหนึ่งการปรับเปลี่ยน ตอนนี้โปรแกรมนี้ 629 00:28:18,830 --> 00:28:23,150 >> จำครั้งสุดท้ายที่ผมทำอะไร เช่นนี้ printf ระบุชื่อของคุณ 630 00:28:23,150 --> 00:28:25,790 และแน่นอนเราก็ทำอย่างนี้ บนหน้าจอขนาดใหญ่ที่นั่น 631 00:28:25,790 --> 00:28:30,640 แล้วฉันไม่ได้รับสตริง GetString paren เปิด paren ใกล้ 632 00:28:30,640 --> 00:28:33,430 และวงเล็บปิดเพียงแค่จดชวเลข สัญกรณ์สำหรับวงเล็บ 633 00:28:33,430 --> 00:28:36,460 ดังนั้น GetString จะใช้ข้อโต้แย้งใด ๆ 634 00:28:36,460 --> 00:28:38,440 ไม่มีปัจจัยการผลิตไม่มี แต่มัน ต้องวงเล็บที่ 635 00:28:38,440 --> 00:28:41,830 เพราะนั่นคือสิ่ง demarcates โทรฟังก์ชั่น 636 00:28:41,830 --> 00:28:46,440 >> ดังนั้นฉันจะไปข้างหน้าและพยายามที่จะ ใช้คอมไพเลอร์ในโปรแกรมนี้ตอนนี้ 637 00:28:46,440 --> 00:28:50,774 เสียงดังกราว hello.c เพราะฉัน ไม่ได้เปลี่ยนชื่อสำหรับในตอนนี้ 638 00:28:50,774 --> 00:28:51,940 และฉันมีพวงของความผิดพลาด 639 00:28:51,940 --> 00:28:53,570 ลองซูมออกจากที่นี่ 640 00:28:53,570 --> 00:28:55,420 ถ้าผมเลื่อนขึ้นมาอีกครั้ง เช่นฉันกล่าวครั้งสุดท้าย 641 00:28:55,420 --> 00:28:58,420 กับครั้งแรก, ข้อผิดพลาดเดียวกัน ที่ผมได้รับครั้งสุดท้าย 642 00:28:58,420 --> 00:29:04,210 On line 6 จาก hello.c ฉันมี สตริงตัวระบุไม่ได้ประกาศ 643 00:29:04,210 --> 00:29:05,590 ไม่ผมหมายถึงมาตรฐานมีอะไรบ้าง? 644 00:29:05,590 --> 00:29:06,750 ฉันไม่ได้ 645 00:29:06,750 --> 00:29:10,050 เพราะสิ่งที่ผิดพลาดมีที่ผมทำในวันนี้ โปรแกรมถ้าคุณจำครั้งสุดท้าย 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 ใช่เราต้องการ ที่เรียกว่าล้อการฝึกอบรม 648 00:29:15,010 --> 00:29:16,510 ที่เราจะใช้สำหรับการไม่กี่สัปดาห์ 649 00:29:16,510 --> 00:29:19,480 แต่ผมจำเป็นต้องระบุว่ายัง ที่ไหนสักแห่งภายในของเครื่องใช้ไฟฟ้าที่ 650 00:29:19,480 --> 00:29:22,720 คือไฟล์ที่เราเขียน เพียงไม่กี่ปีที่ผ่านมา 651 00:29:22,720 --> 00:29:26,500 ภายในที่มีฟังก์ชั่น เช่นที่เห็นได้ชัด GetString 652 00:29:26,500 --> 00:29:35,160 ดังนั้นตอนนี้ถ้าผมกลับไปลงที่นี่ ซูมเข้าและ re-run เสียงดังกราว hello.c 653 00:29:35,160 --> 00:29:36,500 ประณามข้อผิดพลาดอื่น 654 00:29:36,500 --> 00:29:38,590 แต่เรายังไม่เคยเห็นอย่างใดอย่างหนึ่งก่อนหน้านี้ 655 00:29:38,590 --> 00:29:41,900 >> หนึ่งนี้น้อยมาก ความลับที่จะคิดออก 656 00:29:41,900 --> 00:29:46,910 แต่นี่คือจงใจบนหน้าจอ เพราะเราต้องการที่จะบอกเรื่องนี้ 657 00:29:46,910 --> 00:29:51,280 เมื่อคุณรวบรวม hello.c เช่นเดียวกับ ภาพจากข้อเสนอแนะก่อน 658 00:29:51,280 --> 00:29:54,650 คุณเพียงแปลงที่ รหัสแหล่งที่มาที่ศูนย์และคน 659 00:29:54,650 --> 00:30:00,340 ตอนนี้พนักงาน CS50 ไม่กี่ปีที่ผ่านมาเขียน CS50.h และไฟล์ที่เกี่ยวข้อง 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 และเราไม่กี่ปีที่ผ่านมา รวบรวมไฟล์เหล่านั้น 662 00:30:04,490 --> 00:30:07,290 เป็นไฟล์ที่เกิดขึ้น ที่จะเรียกว่า CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> หรืออาจจะเปลี่ยนชื่อเป็น สิ่งที่แตกต่างกันไม่กี่ 664 00:30:09,180 --> 00:30:11,054 แต่นั่นเป็นวิธีที่ง่าย คิดเกี่ยวกับมัน 665 00:30:11,054 --> 00:30:14,960 ดังนั้นเราจึงรวบรวมของ CS50 ห้องสมุดเป็นศูนย์และคน 666 00:30:14,960 --> 00:30:20,340 แต่ไม่มีที่ไหนที่มีฉันระบุ ที่ฉันต้องการที่จะรวมศูนย์ของฉัน 667 00:30:20,340 --> 00:30:24,030 และคนที่โลกสวัสดีของฉัน โปรแกรมที่มีเลขศูนย์และคนที่ 668 00:30:24,030 --> 00:30:29,760 พนักงาน CS50 ที่สร้างไม่กี่ปี ที่ผ่านมาเป็นโปรแกรมที่สมบูรณ์หนึ่ง 669 00:30:29,760 --> 00:30:34,100 ทั้งหมดที่ฉันได้ระบุไว้โดยการเขียน hello.c เสียงดังกราวเป็นรวบรวม hello.c 670 00:30:34,100 --> 00:30:38,380 >> ฉันไม่เคยบอกเสียงดังกราวไป การเชื่อมโยงในศูนย์และคนที่ 671 00:30:38,380 --> 00:30:41,650 พนักงาน CS50 ที่สร้าง สำหรับคุณเวลาที่ผ่านมา 672 00:30:41,650 --> 00:30:48,280 ดังนั้นจึงเป็นเรื่องที่แก้ไขได้ง่าย ลิตรรีบสำหรับการเชื่อมโยง, CS50 673 00:30:48,280 --> 00:30:52,600 อีกครั้งและเราจะได้เห็นนี้ ก่อนที่จะยาวอีกครั้งและอีกครั้ง 674 00:30:52,600 --> 00:30:54,420 แต่แจ้งให้ทราบขณะนี้มีการร้องเรียนไม่ 675 00:30:54,420 --> 00:30:59,770 ดังนั้นตอนนี้ถ้าผมใช้จุดเฉือน สวัสดีตอนนี้ก็ทำงาน 676 00:30:59,770 --> 00:31:03,840 ถึงแม้ว่ามันจะเป็นบิตทำให้เข้าใจผิด ตั้งแต่ฉันเพียงแค่สิ่งที่สร้างไฟล์? 677 00:31:03,840 --> 00:31:05,880 a.out 678 00:31:05,880 --> 00:31:07,930 >> เพื่อให้ฉันย้อนกลับเพียงสักครู่ 679 00:31:07,930 --> 00:31:10,900 โปรแกรมที่เราเพียงแค่รวบรวม มีสามบรรทัดของรหัส 680 00:31:10,900 --> 00:31:14,710 เมื่อฉันวิ่งโลกสวัสดีทักทายสักครู่ ที่ผ่านมาผมไม่เห็นระบุชื่อของคุณ 681 00:31:14,710 --> 00:31:17,080 และนั่นเป็นเพราะฉันวิ่ง รุ่นเก่าของโปรแกรม 682 00:31:17,080 --> 00:31:22,700 แต่ถ้าฉันจะเรียกแน่นอน a.out เฉือนจุด ป้อนระบุชื่อของคุณขโมยสวัสดี 683 00:31:22,700 --> 00:31:23,370 โลก 684 00:31:23,370 --> 00:31:23,870 hm 685 00:31:23,870 --> 00:31:26,110 ที่เป็นชนิดของข้อผิดพลาด 686 00:31:26,110 --> 00:31:28,560 หมายถึงอาจจะบอกว่าร็อบใช่มั้ย? 687 00:31:28,560 --> 00:31:30,997 ดังนั้นสิ่งที่แก้ไขที่นี่ในรหัส 688 00:31:30,997 --> 00:31:31,872 นักเรียน: [ไม่ได้ยิน] 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID ลัน: แน่นอน 691 00:31:39,290 --> 00:31:43,160 ดังนั้นผมเพียงแค่ต้องให้ที่ปรับแต่งขั้นสุดท้าย เพื่อให้ฉันผ่านในตัวยึด 692 00:31:43,160 --> 00:31:45,690 เช่นเติมในที่ว่างเปล่า, เหมือนที่เราทำสักครู่ที่ผ่านมา 693 00:31:45,690 --> 00:31:47,870 แต่ร้อยละคือตอนนี้ เติมในที่ว่างเปล่าที่ 694 00:31:47,870 --> 00:31:52,100 ดังนั้นสุดท้ายขอเปิดเผยสุดท้าย รายละเอียดเพื่อให้ไม่มีเวทมนตร์ 695 00:31:52,100 --> 00:31:54,090 ฉันจะไปข้างหน้า และกำจัด Hellow 696 00:31:54,090 --> 00:31:56,070 ฉันจะไปข้างหน้า และกำจัด a.out 697 00:31:56,070 --> 00:31:58,410 ดังนั้นตอนนี้ฉันไม่มีโปรแกรม เพียงรหัสแหล่งที่มาของฉัน 698 00:31:58,410 --> 00:32:01,100 และฉันกำลังจะไปทำงาน คำสั่งอีกเล็กน้อยเสียงดังกราว, 699 00:32:01,100 --> 00:32:05,650 รีบ o สวัสดี hello.c รีบ LCS50 700 00:32:05,650 --> 00:32:08,700 >> ตอนนี้เริ่มที่จะเรียงลำดับของการไป ในหูข้างหนึ่งและออกอื่น ๆ อาจจะ 701 00:32:08,700 --> 00:32:10,366 แต่เพียงแค่แซวกันสิ่งนี้จะทำ 702 00:32:10,366 --> 00:32:14,910 เสียงดังกราวเป็นคอมไพเลอร์รีบ LCS50 จงใจที่ท้ายสุด 703 00:32:14,910 --> 00:32:18,330 ทำอะไรในประโยค? 704 00:32:18,330 --> 00:32:19,607 เชื่อมโยงไปยังห้องสมุด CS50 705 00:32:19,607 --> 00:32:21,440 คว้าศูนย์และ คนที่พนักงานทำ 706 00:32:21,440 --> 00:32:23,310 และ crams พวกเขาลงในโปรแกรมของตัวเอง 707 00:32:23,310 --> 00:32:27,040 ดังนั้นคำถามสุดท้ายที่อยู่ในมือคือ สิ่งที่เป็นเส้นประ o สวัสดีอาจ 708 00:32:27,040 --> 00:32:30,530 ทำแม้ว่าคุณจะไม่เคย เห็นรูปแบบนี้มาก่อนหรือไม่ 709 00:32:30,530 --> 00:32:34,920 >> แสดงผลโปรแกรมที่เป็น ไม่มีชื่อ a.out เริ่มต้น 710 00:32:34,920 --> 00:32:37,330 แต่ก็ตั้งชื่อสวัสดี 711 00:32:37,330 --> 00:32:39,460 ดังนั้นตอนนี้ไม่มี a.out 712 00:32:39,460 --> 00:32:42,660 ไม่มีไฟล์ดังกล่าวหรือไดเรกทอรี เพราะผมอย่างชัดเจนว่า 713 00:32:42,660 --> 00:32:46,720 เรียกโปรแกรมนี้สวัสดีเพื่อให้ ตอนนี้ผมสามารถพิมพ์ชื่อที่ต้องการที่ 714 00:32:46,720 --> 00:32:47,790 และมีมันประพฤติ 715 00:32:47,790 --> 00:32:50,180 >> ตอนนี้ตรงไปตรงมาก็คือเด็ก น่าทึ่งที่จะมี 716 00:32:50,180 --> 00:32:52,170 ที่จะจำได้ทั้งหมดที่ minutia เล็ก ๆ น้อย ๆ ใช่มั้ย? 717 00:32:52,170 --> 00:32:54,180 จึงขอไปข้างหน้าและ กำจัดสวัสดีอีกครั้ง 718 00:32:54,180 --> 00:32:57,880 และตอนนี้ขอกลับไปยังโลกใน ซึ่งมันก็พอเพียงที่จะบอกให้สวัสดี 719 00:32:57,880 --> 00:33:00,410 แต่ที่วิเศษที่ ทำให้จะทำสำหรับคุณ 720 00:33:00,410 --> 00:33:02,320 นั่นคือความน่าเบื่อที่ มันทำสำหรับคุณ 721 00:33:02,320 --> 00:33:04,630 และในขณะที่โปรแกรมของเราและ ปัญหาที่ได้รับความซับซ้อนมากขึ้น 722 00:33:04,630 --> 00:33:06,142 ทำให้อย่างแท้จริงจะเป็นเพื่อนกับคุณ 723 00:33:06,142 --> 00:33:07,850 เพราะไม่ยาวเกินไป จากนี้เรากำลังจะ 724 00:33:07,850 --> 00:33:11,150 ที่จะมีโปรแกรมที่ถูกเขียน ไม่ได้ด้วยไฟล์ แต่ไฟล์หลาย 725 00:33:11,150 --> 00:33:16,310 และทำให้จะทำให้กระบวนการของ รวบรวมทั้งหมดที่เราอยู่ด้วยกัน 726 00:33:16,310 --> 00:33:20,620 >> ดังนั้นตอนนี้พิมพ์ 727 00:33:20,620 --> 00:33:24,960 printf ที่อยู่ภายในของไฟล์นี้มาตรฐาน I / O ที่จุดชั่วโมงที่เราได้เห็นมาก่อน 728 00:33:24,960 --> 00:33:26,980 แต่มีมากขึ้นเพื่อ printf กว่า 729 00:33:26,980 --> 00:33:30,482 มีเครื่องหมาย n ของ แต่นอกจากนี้ยังมี พวงของลำดับหนีอื่น ๆ 730 00:33:30,482 --> 00:33:32,940 และลำดับการหลบหนีเป็นเพียง วิธีแฟนซีของพูดอะไรบางอย่าง 731 00:33:32,940 --> 00:33:35,990 ที่เริ่มต้นด้วยเครื่องหมาย, ไม่ทับ, เครื่องหมาย, 732 00:33:35,990 --> 00:33:37,920 และไม่บางสิ่งที่พิเศษ 733 00:33:37,920 --> 00:33:43,770 และเราจะไม่อาศัยอยู่ในส่วนของเหล่านี้ แต่จะมีเครื่องหมายคำพูดคู่ทำไม 734 00:33:43,770 --> 00:33:44,830 คุณคิดว่า? 735 00:33:44,830 --> 00:33:48,010 ทำไมถึงมีลำดับแปลกนี้ ตัวอักษรคำพูดสองครั้งที่เครื่องหมายทับขวา 736 00:33:48,010 --> 00:33:50,505 เหตุผลที่อาจจะมีประโยชน์หรือไม่ 737 00:33:50,505 --> 00:33:51,380 นักเรียน: [ไม่ได้ยิน] 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID ลัน: แน่นอนใช่มั้ย? 740 00:33:57,760 --> 00:34:01,830 คิดว่ากลับไปโปรแกรมสวัสดีโลกของเรา ที่เราได้เห็นค่อนข้างไม่กี่ครั้งในขณะนี้ 741 00:34:01,830 --> 00:34:05,880 ทุกครั้งที่เราได้เห็นโลกสวัสดีที่ โปรแกรมที่เราเคยมีคำพูดสองภายใน 742 00:34:05,880 --> 00:34:08,210 ซึ่งเป็นสวัสดีจุลภาค ทับขวา n โลก 743 00:34:08,210 --> 00:34:10,070 แต่คิดว่าตัวเอง สิ่งที่ถ้าคุณจริง 744 00:34:10,070 --> 00:34:12,520 ต้องการที่จะพิมพ์ออกมาเครื่องหมายใบเสนอราคาหรือไม่ 745 00:34:12,520 --> 00:34:16,100 สัญชาตญาณแรกของคุณอาจจะเป็นที่ฉันทำไม่ได้ ว่าทำไมฉันอาจต้องการที่จะ do-- ที่นี่ 746 00:34:16,100 --> 00:34:18,780 ที่เราสามารถจะเรื่อย ๆ เล็ก ๆ น้อย ๆ ก้าวร้าวสวัสดีเพื่อน 747 00:34:18,780 --> 00:34:21,350 เราอาจต้องการที่จะทำสิ่งที่ต้องการที่ 748 00:34:21,350 --> 00:34:25,230 >> แต่ทำไมนี้เป็นปัญหาตอนนี้หรือไม่ 749 00:34:25,230 --> 00:34:28,730 ไม่สนใจคำพูดหยิกกันว่า ประเด็นสำคัญที่ทำให้เราโดยอัตโนมัติ 750 00:34:28,730 --> 00:34:29,730 นี่คือเหตุผลที่มีปัญหา? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> ว่า 753 00:34:37,270 --> 00:34:39,022 เพราะเรามีเช่น 4 เครื่องหมายคำพูด 754 00:34:39,022 --> 00:34:41,230 ดีคนแรกน่าจะเป็น ไปกับคนที่สอง 755 00:34:41,230 --> 00:34:43,271 และอาจจะเศษหนึ่ง ไปกับหนึ่งในสาม 756 00:34:43,271 --> 00:34:46,170 หรือฉันหมายความว่าฉันไม่ได้ตรวจสอบว่า ไม่เป็นคอมพิวเตอร์จะเป็น 757 00:34:46,170 --> 00:34:48,352 เครื่องคอมพิวเตอร์อีกครั้งคอมไพเลอร์ อีกครั้งเป็นใบ้อย่างเป็นธรรม 758 00:34:48,352 --> 00:34:50,060 พวกเขาจะทำในสิ่งที่เพียง คุณบอกพวกเขาที่จะทำ 759 00:34:50,060 --> 00:34:54,270 และถ้าคุณไม่โปร่งใสพวกเขา อาจจะโยนความผิดพลาด 760 00:34:54,270 --> 00:34:57,700 >> หากคุณไม่โปร่งใสเป็นวิธีการ ทำให้เนยถั่วลิสงและเยลลี่แซนวิช 761 00:34:57,700 --> 00:34:59,510 สิ่งแปลกอาจจะมาถึง 762 00:34:59,510 --> 00:35:00,580 มันเป็นความคิดเดียวกัน 763 00:35:00,580 --> 00:35:03,100 ตอนนี้พอที่จะบอกว่ามี บางลำดับหนีอื่น ๆ 764 00:35:03,100 --> 00:35:04,820 แต่เราจะมาถึงผู้ไม่นาน 765 00:35:04,820 --> 00:35:07,410 เป็นหลักเหล่านี้หลบหนี ลำดับเป็นตัวแทนของบางสิ่งบางอย่าง 766 00:35:07,410 --> 00:35:10,480 ที่คุณอาจจะไม่สามารถ ง่ายเกินไปที่แป้นพิมพ์ 767 00:35:10,480 --> 00:35:12,010 โดยไม่ต้องสับสนคอมพิวเตอร์ 768 00:35:12,010 --> 00:35:15,733 >> ตอนนี้ในขณะที่เรามี ตัวยึดใน printf 769 00:35:15,733 --> 00:35:19,630 ร้อยละวันซึ่งนอกจากนี้ยังสามารถเขียน ในเกือบทุกกรณีที่ผมร้อยละ 770 00:35:19,630 --> 00:35:21,610 เป็นตัวยึดสำหรับประเภทของข้อมูลหรือไม่ 771 00:35:21,610 --> 00:35:23,920 สิ่งที่ชนิดของค่า? 772 00:35:23,920 --> 00:35:24,920 ตัวเลขทศนิยม 773 00:35:24,920 --> 00:35:27,234 ดังนั้นจริงๆแล้วเราจะเริ่มต้น โดยใช้ร้อยละฉันเพราะมันเป็น 774 00:35:27,234 --> 00:35:28,650 เล็ก ๆ น้อย ๆ ที่เรียบง่ายเช่นเดียวกับจำนวนเต็ม 775 00:35:28,650 --> 00:35:29,550 ร้อยละฉัน 776 00:35:29,550 --> 00:35:31,320 จำนวนเต็มที่เกิดขึ้นเป็นทศนิยม 777 00:35:31,320 --> 00:35:35,690 >> ร้อยละของเราแล้วบอกว่าเป็น ตัวยึดสำหรับสตริง 778 00:35:35,690 --> 00:35:38,630 ซึ่งเป็นเพียงคำ, วลี, วรรคเรียงความสิ่งที่ 779 00:35:38,630 --> 00:35:40,830 มันเป็นลำดับของ ตัวละครที่มีความยาวบาง 780 00:35:40,830 --> 00:35:42,820 และเราจะเห็นก่อนที่จะยาว บางส่วนของคนอื่นเหล่านี้ 781 00:35:42,820 --> 00:35:45,950 แต่ร้อยละ c คือสำหรับตัวเดียว 782 00:35:45,950 --> 00:35:48,500 ร้อยละฉสำหรับ ลอยจำนวนจุด 783 00:35:48,500 --> 00:35:50,860 เช่นจำนวนจริงที่มี จุดทศนิยมในนั้นซึ่ง 784 00:35:50,860 --> 00:35:52,550 เป็นหลักสูตรที่ไม่ใช่จำนวนเต็ม 785 00:35:52,550 --> 00:35:54,670 และมีทั้ง พวงของคนอื่นได้เป็นอย่างดี 786 00:35:54,670 --> 00:35:56,990 >> ในขณะเดียวกันใน C และ ในหลายภาษา, 787 00:35:56,990 --> 00:35:58,650 เรามีชนิดข้อมูลที่แตกต่างกัน 788 00:35:58,650 --> 00:36:00,650 ประเภทที่แตกต่างกันของ แก้วชามถ้าคุณจะ 789 00:36:00,650 --> 00:36:03,830 ชามที่ผมใช้ครั้งสุดท้าย เป็นลูกปิงปอง 790 00:36:03,830 --> 00:36:06,990 แต่เรายังสามารถจัดเก็บที่แตกต่างกัน ค่าเช่นตัวอักษรและสตริง 791 00:36:06,990 --> 00:36:10,820 และจำนวนเต็มในภาชนะ เช่นตัวแปรและ C มีเหล่านี้ 792 00:36:10,820 --> 00:36:14,020 ถ่านเป็นชนิดของข้อมูลที่ ประเภทของตัวแปร 793 00:36:14,020 --> 00:36:15,700 ในการที่คุณสามารถจัดเก็บของตัวละคร 794 00:36:15,700 --> 00:36:19,560 ลอยเป็นชนิดของตัวแปรใน ซึ่งคุณสามารถจัดเก็บจำนวนจริง 795 00:36:19,560 --> 00:36:21,220 >> int เป็นหลักสูตรสำหรับ int 796 00:36:21,220 --> 00:36:23,760 และค่อนข้างน่าขัน ชื่อยาวยาว 797 00:36:23,760 --> 00:36:26,830 เป็นที่ที่คุณสามารถเก็บเป็นหลัก หมายเลขนานจริงๆด้วยแม้ 798 00:36:26,830 --> 00:36:29,930 ตัวเลขมากขึ้นแล้ว int ทั่วไปอาจจัดเก็บ 799 00:36:29,930 --> 00:36:32,420 แต่เราจะกลับไปที่มาไม่นาน 800 00:36:32,420 --> 00:36:35,520 >> ใน CS50 จุดชั่วโมงในขณะเดียวกัน ไฟล์ส่วนหัวอื่น ๆ 801 00:36:35,520 --> 00:36:37,630 ที่เราได้เห็นทั้งคู่ ครั้งในการใช้งานมี 802 00:36:37,630 --> 00:36:41,350 สองประเภทข้อมูลอื่น ๆ ที่ ไม่อยู่ใน C ปกติ 803 00:36:41,350 --> 00:36:45,000 หนึ่งคือสตริงและเราจะเห็นใน ไม่กี่สัปดาห์สตริงสิ่งที่เป็นจริง 804 00:36:45,000 --> 00:36:46,610 อยู่ภายใต้กระโปรงหน้ารถ 805 00:36:46,610 --> 00:36:47,950 และเป็นหนึ่งบูล 806 00:36:47,950 --> 00:36:51,650 และบูลเป็นตัวแปรที่ สามารถใช้กับค่าบางอย่าง 807 00:36:51,650 --> 00:36:54,370 และขึ้นอยู่เพียงแค่ในสัปดาห์ที่แล้ว คำอธิบายของเกา 808 00:36:54,370 --> 00:36:56,680 และเมื่อเร็ว ๆ นี้ซี สิ่งที่คุณจะคาดเดา 809 00:36:56,680 --> 00:37:01,770 เป็นสองค่าเป็นไปได้สำหรับ ภาชนะบางอย่างที่เป็นประเภทบูล? 810 00:37:01,770 --> 00:37:02,860 >> ใช่และไม่ใช่ 811 00:37:02,860 --> 00:37:03,870 หนึ่งและเป็นศูนย์ 812 00:37:03,870 --> 00:37:04,502 จริงหรือเท็จ 813 00:37:04,502 --> 00:37:07,460 และแน่นอนมันเป็นเรื่องสุดท้ายที่มีแนวโน้ม ที่จะมีการชุมนุมในการเขียนโปรแกรม 814 00:37:07,460 --> 00:37:10,030 ภาษาเป็นสิ่งที่บอกว่า เช่นจริงหรือเท็จ 815 00:37:10,030 --> 00:37:13,160 >> ในขณะที่ห้องสมุด CS50 มา กับพวงของการทำงาน 816 00:37:13,160 --> 00:37:16,640 ว่าเจ้าหน้าที่เขียนสำหรับคุณ นอกเหนือจากเพียงแค่ได้รับสาย 817 00:37:16,640 --> 00:37:20,910 เราเขียนในการทำงานล่วงหน้าว่า จะได้รับจำนวนเต็มจากผู้ใช้ 818 00:37:20,910 --> 00:37:22,990 ได้รับตัวอักษรเดียว ได้รับลอยที่ 819 00:37:22,990 --> 00:37:25,160 เป็นเพียงตัวเลขที่มีจุดทศนิยม 820 00:37:25,160 --> 00:37:28,290 ได้รับยาวยาวจริงๆ มูลค่าขนาดใหญ่จากผู้ใช้ 821 00:37:28,290 --> 00:37:30,930 ดังนั้นเราจึงได้เห็นเพียงแค่นี้ใน การดำเนินการในรูปแบบของ GetString 822 00:37:30,930 --> 00:37:33,230 แต่ผ่านทางฟังก์ชั่นเหล่านี้ เร็ว ๆ นี้จะสามารถที่จะเขียน 823 00:37:33,230 --> 00:37:36,070 โปรแกรมที่ได้รับข้อมูลจากผู้ใช้ 824 00:37:36,070 --> 00:37:39,230 >> ในขณะที่พิจารณานี้ โปรแกรมและพิจารณา 825 00:37:39,230 --> 00:37:42,600 วิธีการที่เราตอนนี้อาจจะเริ่มต้นที่จะเพิ่ม มันมีโครงสร้างใหม่ 826 00:37:42,600 --> 00:37:44,530 ทัวร์ลมกรดอย่างรวดเร็ว และจากนั้นเราจะดู 827 00:37:44,530 --> 00:37:47,340 ที่บางส่วนเขียนบาง โปรแกรมด้วยตนเองตัวเอง 828 00:37:47,340 --> 00:37:49,700 ต่อจากนี้ไปถ้าเราต้องการที่จะ ใช้เงื่อนไข 829 00:37:49,700 --> 00:37:52,790 ก็จะไม่ให้มีลักษณะเหมือน ชิ้นส่วนจิ๊กซอว์มีความสุขเล็ก ๆ น้อย ๆ สวย 830 00:37:52,790 --> 00:37:54,460 มันจะดูเล็ก ๆ น้อย ๆ ที่เป็นความลับมากขึ้น 831 00:37:54,460 --> 00:37:57,620 แต่นี้เป็นที่ยอมรับ โครงสร้างของสภาพ C. 832 00:37:57,620 --> 00:38:00,380 >> คำว่าถ้าสอง วงเล็บภายในที่ 833 00:38:00,380 --> 00:38:02,590 เป็นไปได้บางชนิด การแสดงออกของบูลีน 834 00:38:02,590 --> 00:38:04,999 ตอนนี้เฉือนเฉือน อยู่ตรงกลางนี้เป็น 835 00:38:04,999 --> 00:38:07,290 ในขณะที่ประเภทเช่น ตัวยึดรหัส pseudocode 836 00:38:07,290 --> 00:38:11,576 แต่ขึ้นอย่างถูกต้องบรรทัดของรหัสใด ๆ ใน C ที่เริ่มต้นด้วยการเฉือนเฉือน 837 00:38:11,576 --> 00:38:12,850 เป็นความเห็น 838 00:38:12,850 --> 00:38:15,920 >> มันก็เหมือนโน้ตที่คุณอาจจะ ใส่ในเรียงความที่พิมพ์บนกระดาษ 839 00:38:15,920 --> 00:38:17,290 มันเป็นบันทึกให้กับตัวเอง 840 00:38:17,290 --> 00:38:20,100 มันไม่มีการทำงาน ส่งผลกระทบต่อโปรแกรม 841 00:38:20,100 --> 00:38:23,580 มันเรียงลำดับของการเตือนมันเป็นของคุณเอง เอกสารเป็นสิ่งที่เกิดขึ้น 842 00:38:23,580 --> 00:38:25,720 ดังนั้นการทำเช่นนี้ในขณะนี้ คือการจัดเรียงของตัวยึด 843 00:38:25,720 --> 00:38:27,560 สำหรับสิ่งที่อยู่ภายใน ของวงเล็บปีกกาที่ 844 00:38:27,560 --> 00:38:29,810 ในที่สุดก็จะไปทำอะไรบางอย่าง 845 00:38:29,810 --> 00:38:35,160 >> ในขณะที่คุณมีสองส้อมใน ถนนถ้าอื่นสร้างเช่นนี้ 846 00:38:35,160 --> 00:38:37,024 คุณสามารถถ้า elseif อื่น 847 00:38:37,024 --> 00:38:39,690 ตอนนี้มันเป็นมูลค่า noting โดยเฉพาะอย่างยิ่ง ถ้าคุณได้รับ Googling รอบ 848 00:38:39,690 --> 00:38:42,480 ออนไลน์ทรัพยากรจาก อยากรู้อยากเห็นหรือถ้าคุณรับ 849 00:38:42,480 --> 00:38:44,575 หนึ่งในสนามกอล์ฟของ หนังสือที่แนะนำเกี่ยวกับ C, 850 00:38:44,575 --> 00:38:48,430 คุณจะเห็นว่ามนุษย์มีจำนวนมาก การตั้งค่าที่แตกต่างกันสำหรับวิธีการของ 851 00:38:48,430 --> 00:38:50,510 ที่จะแสดงออกในรหัส 852 00:38:50,510 --> 00:38:53,800 บางคนชอบที่จะนำ วงเล็บปีกกาที่ผมเคยทำที่นี่ 853 00:38:53,800 --> 00:38:57,760 บางคนชอบที่จะนำหยิก วงเล็บเช่นที่นี่ 854 00:38:57,760 --> 00:39:01,700 >> บางคนชอบที่จะนำ elses ขึ้นที่นี่และตรงนี้ 855 00:39:01,700 --> 00:39:05,120 มีจำนวนใด ๆ ของวิธีการที่จะเป็น รหัสเขียนและไม่มีพวกเขา 856 00:39:05,120 --> 00:39:06,566 ที่เหมาะสมต่อ 857 00:39:06,566 --> 00:39:08,440 แต่มีเพียงไม่กี่ ที่มีความสวยที่ไม่ถูกต้อง 858 00:39:08,440 --> 00:39:11,315 แต่มี no-- ว่านี้เป็น ในที่สุดการอภิปรายทางศาสนามาก 859 00:39:11,315 --> 00:39:13,940 ในความเป็นจริงหนึ่งที่น่ารำคาญที่สุด สิ่งที่เกี่ยวกับวิทยาการคอมพิวเตอร์ 860 00:39:13,940 --> 00:39:16,310 เป็นวิธีการที่มีความเห็นที่ นักวิทยาศาสตร์คอมพิวเตอร์สามารถ 861 00:39:16,310 --> 00:39:19,880 และคุณจะพบว่าเมื่อเวลาผ่านไป แม้คุณพัฒนาความชอบส่วนบุคคล 862 00:39:19,880 --> 00:39:22,130 เป็นวิธีการรหัสของคุณควรมีลักษณะ 863 00:39:22,130 --> 00:39:27,162 >> ไม่เพียง แต่มีพฤติกรรมที่ไม่เพียงสร้างเอาท์พุท แต่วิธีการที่มันควรจะดูสกอร์ 864 00:39:27,162 --> 00:39:30,120 ดังนั้นสิ่งที่เราจะทำคือการแนะนำให้คุณไปพร้อม วิธีไปสำหรับตอนนี้อย่างน้อย 865 00:39:30,120 --> 00:39:34,825 สไตล์ CS50 มาตรฐานที่อย่างน้อย ทำให้สิ่งที่เหมือนกันและง่ายต่อการอ่าน 866 00:39:34,825 --> 00:39:37,330 แต่ในบรรดา ความแตกต่างก่อนที่จะยาว 867 00:39:37,330 --> 00:39:41,830 >> นิพจน์บูลีนใน C ถ้าคุณ อยากจะบอกว่าถ้าสภาพเช่นนี้เป็นความจริง 868 00:39:41,830 --> 00:39:44,650 และเงื่อนไขอื่น ๆ เป็น จริงคุณไม่ได้เขียนคำว่า 869 00:39:44,650 --> 00:39:46,610 และในขณะที่คุณจะอยู่ในภาษาอังกฤษ 870 00:39:46,610 --> 00:39:50,580 คุณแทนที่จะใช้เครื่องหมายเครื่องหมาย, สำหรับเหตุผลที่เราจะกลับมาที่ 871 00:39:50,580 --> 00:39:54,520 ถ้าคุณต้องการที่จะพูดหรือคุณใช้สอง แถบแนวตั้งซึ่งอยู่บนแป้นพิมพ์ของสหรัฐอเมริกา 872 00:39:54,520 --> 00:39:57,650 โดยทั่วไปดังกล่าวข้างต้นใส่ ต่อไปที่สำคัญในการทับขวา 873 00:39:57,650 --> 00:40:03,080 และนี้ก็หมายความว่าถ้าสภาพนี้ หรือเงื่อนไขอื่น ๆ เป็นความจริงที่ทำเช่นนี้ 874 00:40:03,080 --> 00:40:05,210 >> ในขณะที่มีนี้ สิ่งที่บ้าที่ 875 00:40:05,210 --> 00:40:07,760 คุณจะมีโอกาส ที่จะใช้ครั้งเดียวในชั่วขณะหนึ่ง 876 00:40:07,760 --> 00:40:10,390 แต่มันก็เป็นเพียงทางเลือก วิธีการแสดงตัวเอง 877 00:40:10,390 --> 00:40:12,400 นี้สำหรับตอนนี้ให้ กำหนดก็เพียง 878 00:40:12,400 --> 00:40:16,880 อีกวิธีที่ขี้ขลาดของการแสดง ถ้า elseif, elseif, elseif, elseif 879 00:40:16,880 --> 00:40:19,720 มันเป็นรูปแบบเดียวกับในแง่ ในกรณีที่คุณอย่างแท้จริง 880 00:40:19,720 --> 00:40:23,420 ระบุค่าที่ คุณอาจต้องการที่จะตรวจสอบ 881 00:40:23,420 --> 00:40:24,410 >> ลูปในขณะเดียวกัน 882 00:40:24,410 --> 00:40:26,842 เราเห็นการเปรียบเทียบ รอยขีดข่วนที่มีห่วง 883 00:40:26,842 --> 00:40:29,550 และฉันจะโบกมือของฉันที่ สิ่งที่แต่ละสิ่งเหล่านี้หมายความว่า 884 00:40:29,550 --> 00:40:33,520 แต่สังเกตเห็นว่าวงจะมาก มักจะเริ่มต้นด้วยคำหลักสำหรับ 885 00:40:33,520 --> 00:40:36,350 หรือจะเริ่มต้นด้วยคำหลักในขณะที่ 886 00:40:36,350 --> 00:40:41,360 หรือจะเริ่มต้นด้วยคำว่า ทำและจบลงด้วยคำหลักในขณะที่ 887 00:40:41,360 --> 00:40:43,920 >> แต่สิ่งที่เรากำลังจะได้เห็น เป็นสิ่งที่มากขึ้นเช่นนี้ 888 00:40:43,920 --> 00:40:47,950 นี่คือโดยทั่วไปใน C, วิธีการที่คุณอาจจะ ประกาศตัวแปรและให้ค่า 889 00:40:47,950 --> 00:40:50,610 ใน C มันไม่พอเพียง เช่นใน Scratch คุณเพียงแค่ 890 00:40:50,610 --> 00:40:52,810 บอกให้ฉันตัวแปรที่เรียกว่าบางสิ่งบางอย่าง 891 00:40:52,810 --> 00:40:55,960 คุณต้องบอก C, และบอก คอมไพเลอร์ของคุณโดยเฉพาะอย่างยิ่ง 892 00:40:55,960 --> 00:40:58,680 สิ่งที่ชนิดของค่าที่คุณทำ ต้องการที่จะใส่ในชามแก้ว 893 00:40:58,680 --> 00:40:59,610 >> มันเป็นจำนวนเต็ม? 894 00:40:59,610 --> 00:41:02,210 ถ้าเป็นเช่นนั้นคุณจะต้อง ตัวอักษรบอก int แล้ว 895 00:41:02,210 --> 00:41:04,220 ชื่อของตัวแปร แล้วอัฒภาค 896 00:41:04,220 --> 00:41:08,050 ถ้าคุณต้องการแทนสตริงและเรียก มันเหมือนผมรหัสของฉันที่นี่ในวันนี้ 897 00:41:08,050 --> 00:41:10,920 คุณจะพูดอัฒภาคสตริง 898 00:41:10,920 --> 00:41:14,200 เมื่อคุณต้องการที่จะให้มันคุ้มค่า แล้วคุณสามารถใช้เครื่องหมายเท่ากับที่ 899 00:41:14,200 --> 00:41:16,211 หรือที่เรียกว่า ผู้ประกอบการที่ได้รับมอบหมาย 900 00:41:16,211 --> 00:41:17,960 และแจ้งให้ทราบว่าแต่ละ ของเส้นเหล่านี้ของรหัส 901 00:41:17,960 --> 00:41:20,650 มีอัฒภาคที่ปลายของมัน 902 00:41:20,650 --> 00:41:22,550 >> แต่ตรงไปตรงมาเพียงแค่นี้ ดูน่าเกลียดน้อย 903 00:41:22,550 --> 00:41:26,580 ทำไมฉันไม่สามารถพูดกับคอมพิวเตอร์ให้ ฉันตัวแปรและเริ่มต้นมันเป็นศูนย์ 904 00:41:26,580 --> 00:41:28,380 นั่นคือให้ฉันชามแก้วที่ว่างเปล่า 905 00:41:28,380 --> 00:41:28,980 ขณะที่คุณสามารถ 906 00:41:28,980 --> 00:41:32,250 และเพื่อให้เป็นหนึ่งในการตัดสินใจที่คุณจะเรียก จะต้องทำอย่างทันสมัย​​ลงตัวเมื่อเวลาผ่านไป 907 00:41:32,250 --> 00:41:36,290 คือคุณไม่เขียนรหัสของคุณเช่นนี้หรือ คุณชนิดของการทำความสะอาดมันขึ้นมาและสร้างความประทับใจให้ 908 00:41:36,290 --> 00:41:39,040 คนโดยการเขียนเส้นสองเส้นเป็นเพียงหนึ่ง 909 00:41:39,040 --> 00:41:41,830 และเรื่องนี้จะได้รับการพิจารณา โดยทั่วไปวิธีที่สง่างามมากขึ้น 910 00:41:41,830 --> 00:41:43,870 ของการเขียนรหัสของคุณทันสมัย​​ลงตัว 911 00:41:43,870 --> 00:41:45,200 >> ฟังก์ชั่นเราแน่นอนเห็น 912 00:41:45,200 --> 00:41:46,340 พวกเขากำลังจะใช้รูปแบบนี้ 913 00:41:46,340 --> 00:41:48,881 ชื่อของฟังก์ชันบาง วงเล็บและจากนั้นอาจจะมี 914 00:41:48,881 --> 00:41:49,910 สิ่งที่อยู่ภายใน 915 00:41:49,910 --> 00:41:52,540 หรือคุณอาจจะเห็นการใช้งานของ ด้านฟังก์ชั่นหลาย 916 00:41:52,540 --> 00:41:55,980 ข้างเหมือนอะไรเช่นนี้ 917 00:41:55,980 --> 00:41:59,390 ตอนนี้เท่าที่สัมผัสไม่ เรื่องตลกในตอนนี้ทำให้รู้สึก? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [หัวเราะ] 920 00:42:04,960 --> 00:42:09,360 มันไม่ได้หมายความว่ามันตลก แต่มัน ไม่อาจจะทำให้รู้สึกมากขึ้นเพียงเล็กน้อย 921 00:42:09,360 --> 00:42:12,140 ดังนั้นตอนนี้เราจะเข้าไปใน เครื่องใช้ CS50 สักครู่ 922 00:42:12,140 --> 00:42:14,640 และแจ้งให้เราเปิดขึ้นหนึ่งทีเซอร์ที่นี่ 923 00:42:14,640 --> 00:42:17,470 >> และแน่นอนหนึ่งในเหตุผลที่ สำหรับการแนะนำแคตตาล็อกอิเกีย 924 00:42:17,470 --> 00:42:20,080 และกระพริบของภาพ ของ iPhone บิตที่ผ่านมา 925 00:42:20,080 --> 00:42:24,700 คือการผูกจริงมาอยู่ด้วยกัน ความจริงที่ว่าเพียงไม่กี่ปีที่ผ่านมาในปี 2007 926 00:42:24,700 --> 00:42:26,540 ชิ้นส่วนของรหัสนี้คือ ปล่อยออกมาซึ่งได้รับการ 927 00:42:26,540 --> 00:42:29,820 หนึ่งในการดำเนินการครั้งแรกมาก ของชิ้นส่วนของซอฟต์แวร์ 928 00:42:29,820 --> 00:42:31,494 ที่ไม่สิ่งที่เรียกว่า jailbreaking 929 00:42:31,494 --> 00:42:34,410 สำหรับผู้ที่ไม่คุ้นเคย jailbreaking บางสิ่งบางอย่างเช่นโทรศัพท์หรือ iPhone 930 00:42:34,410 --> 00:42:37,680 หมายความว่าเป็นหลักคิด วิธีการทำสิ่งที่ 931 00:42:37,680 --> 00:42:39,864 กับมันที่ บริษัท ฯ ที่ทำให้มันไม่ได้ตั้งใจ 932 00:42:39,864 --> 00:42:42,780 เหมือนที่คุณต้องการติดตั้งบางอย่าง ซอฟแวร์ที่ไม่ได้อยู่ในการจัดเก็บแอพพลิเค 933 00:42:42,780 --> 00:42:45,405 jailbreaking โทรศัพท์ของคุณที่ คุณทำสิ่งที่ต้องการที่และอื่น ๆ 934 00:42:45,405 --> 00:42:47,447 แต่สิ่งที่เป็นความสนุกสนานใน 2007-- และมีการ 935 00:42:47,447 --> 00:42:49,780 หลายสิบรุ่นที่แตกต่างกัน สิ่งเหล่านี้ตั้งแต่นั้นมา 936 00:42:49,780 --> 00:42:53,540 ในทุกประเภทของ languages​​-- คือ โปรแกรมนี้ที่นี่เรียกว่า iUnlock, 937 00:42:53,540 --> 00:42:57,036 เป็นหนังสือที่เขียนขึ้นจริงในซีและดังนั้นฉัน ดึงขึ้นรหัสที่มาสำหรับนี้ 938 00:42:57,036 --> 00:42:59,910 เพียงเพื่อแสดงให้เห็นชนิดของคุณบางส่วนของ ความคล้ายคลึงกันกับการสร้าง 939 00:42:59,910 --> 00:43:01,450 เราได้รับการพูดถึงป่านนี้ 940 00:43:01,450 --> 00:43:05,150 ขณะนี้มีความซับซ้อนทางขึ้นที่นี่ กว่าที่เราได้เห็นแล้วในชั้นเรียน 941 00:43:05,150 --> 00:43:07,160 ผมขอเลื่อนขึ้นเพียงเล็กน้อยที่นี่ 942 00:43:07,160 --> 00:43:11,520 >> แต่สังเกตเห็น these-- ดีที่เราสังเกตเห็นไม่กี่ things-- แต่สังเกตเห็นเส้นเหล่านี้ที่นี่ 943 00:43:11,520 --> 00:43:14,090 รวมทั้งมาตรฐาน I / O ที่จุดชั่วโมง 944 00:43:14,090 --> 00:43:17,660 และสาย all-- 24 please-- สังเกตได้มาตรฐาน I / O 945 00:43:17,660 --> 00:43:21,380 จุดชั่วโมงและทั้งกลุ่มอื่น ๆ ไฟล์ที่คนอื่น ๆ ที่เห็นได้ชัด 946 00:43:21,380 --> 00:43:22,160 ได้เขียน 947 00:43:22,160 --> 00:43:24,850 และถ้าเราเลื่อนลงผ่าน นี้เล็ก ๆ น้อย ๆ โดยพล, 948 00:43:24,850 --> 00:43:27,910 แจ้งให้ทราบผมไม่ทราบวิธีการเขียน ทั้งหมดนี้ตัวเองจำเ​​ป็นต้องยัง 949 00:43:27,910 --> 00:43:28,880 แต่มีกรณีที่ 950 00:43:28,880 --> 00:43:30,400 ดังนั้นเห็นได้ชัดนี้มีสาขา 951 00:43:30,400 --> 00:43:33,210 >> และถ้าผมเลื่อนลงมาเพียงเล็กน้อย ต่อไปมีอีกถ้า 952 00:43:33,210 --> 00:43:38,210 ถ้าผมเลื่อนขึ้นผมคิดว่า รอบสาย 100 ผมเห็นสำหรับ 953 00:43:38,210 --> 00:43:40,020 ดังนั้นฉันไม่ได้ค่อนข้างแน่ใจว่า วิธีนี้ทำงานยัง 954 00:43:40,020 --> 00:43:43,180 แต่นี้เป็นห่วงที่จะ ให้ฉันย้ำหลายครั้งบาง 955 00:43:43,180 --> 00:43:45,230 และถ้าผมเลื่อนทั้งหมด วิธีการด้านล่าง 956 00:43:45,230 --> 00:43:51,020 ผมเห็นว่ามี ทำงานลงที่นี่เรียกว่า 957 00:43:51,020 --> 00:43:54,570 หลักและสินเชื่อเพิ่มเติมบางอย่าง เพื่อความสุขในการอ่านของคุณ 958 00:43:54,570 --> 00:43:57,830 >> ดังนั้นนี่เป็นเพียงการ say-- และเราจะใส่ ออนไลน์นี้ในหมู่แหล่งที่มาของหลักสูตร 959 00:43:57,830 --> 00:44:01,480 รหัส today-- ว่าแม้บางส่วนของเหล่านี้ อุปกรณ์ที่เราใช้สำหรับรับ 960 00:44:01,480 --> 00:44:05,130 ในตอนท้ายของวันที่คุณยังคง โดยใช้โครงสร้างพื้นฐานเหล่านี้ที่เราได้ 961 00:44:05,130 --> 00:44:07,430 รับการแนะนำแล้วป่านนี้ 962 00:44:07,430 --> 00:44:08,620 ที่เพียงพอของคนที่ 963 00:44:08,620 --> 00:44:11,480 ขวาทั้งหมดดังนั้นตอนนี้ขอ จริงสร้างสิ่งที่ 964 00:44:11,480 --> 00:44:15,640 >> ลองไปไกลกว่าสิ่งที่ต้องการ hello.c และเปิดขึ้นนี้ 965 00:44:15,640 --> 00:44:17,170 ให้เขียนโปรแกรมนี้ที่นี่ 966 00:44:17,170 --> 00:44:19,850 ฉันจะไปข้างหน้าและ เขียนโปรแกรมที่เรียกว่า adder.c, 967 00:44:19,850 --> 00:44:23,310 มีวัตถุประสงค์ในการใช้ชีวิตเป็นไปได้ เช่นเครื่องคิดเลขที่ง่ายสุดแรกของฉัน 968 00:44:23,310 --> 00:44:24,840 ที่เพิ่งจะเพิ่มคู่ของตัวเลข 969 00:44:24,840 --> 00:44:27,050 ไม่ได้เพราะเห็นว่าเป็นเรื่องยาก ปัญหา แต่เพราะมัน 970 00:44:27,050 --> 00:44:29,390 ช่วยให้ฉันไปตอนนี้ผูก ร่วมกันบางสิ่งที่ 971 00:44:29,390 --> 00:44:33,100 ดังนั้นฉันจะไปข้างหน้าและรวมถึง มาตรฐาน I / O ที่จุดชั่วโมงและ CS50 จุดชั่วโมง 972 00:44:33,100 --> 00:44:34,670 ฉันจะบอกว่าเป็นโมฆะหลัก int 973 00:44:34,670 --> 00:44:36,545 และอีกครั้งในอนาคต เราจะกลับมาที่มัน 974 00:44:36,545 --> 00:44:38,560 เป็นในบริบทนี้และวิธีการเป็นโมฆะ 975 00:44:38,560 --> 00:44:43,340 >> และตอนนี้ผมกำลังจะพูดอะไรบางอย่าง เช่น printf ให้ฉันจำนวนเต็ม 976 00:44:43,340 --> 00:44:47,610 และตอนนี้ในบรรทัดที่สองของฉัน ฉันจะแสดงตัวเองดังกล่าว 977 00:44:47,610 --> 00:44:50,980 ที่ผมอยากจะประกาศตัวแปร ที่จะจัดเก็บ int? 978 00:44:50,980 --> 00:44:55,470 แท้จริงฉันทำในสิ่งที่พิมพ์ถ้าผมต้องการที่จะ สร้างตัวแปรที่เก็บ int 979 00:44:55,470 --> 00:44:58,270 คุณจะพูดว่า? 980 00:44:58,270 --> 00:44:59,650 int เท่ากับ GetInt 981 00:44:59,650 --> 00:45:00,485 แน่นอนว่าเพื่อให้งาน 982 00:45:00,485 --> 00:45:02,360 และเพียงแค่เพื่อความมั่นคง กับรหัสที่คุณจะ 983 00:45:02,360 --> 00:45:04,485 เห็นออนไลน์ให้ฉันเปลี่ยนแปลง นี้กับ x เพียงเพราะ x 984 00:45:04,485 --> 00:45:06,830 เป็นชื่อตัวแปรที่พบบ่อย ที่จะใช้อย่างน้อยในพีชคณิต 985 00:45:06,830 --> 00:45:08,720 ตอนนี้ให้ฉันไปข้างหน้าและไม่ printf อีกครั้ง 986 00:45:08,720 --> 00:45:10,692 ให้ฉันจำนวนเต็มอื่น 987 00:45:10,692 --> 00:45:12,900 และตอนนี้ฉันกำลังจะไปชนิด ของรูปแบบการเรียนรู้จากที่ 988 00:45:12,900 --> 00:45:14,490 ฉันจะบอกว่า int ปีได้รับการ GetInt 989 00:45:14,490 --> 00:45:16,340 >> และเราได้ไม่ได้ใช้ GetInt ก่อน แต่เพียงแค่ 990 00:45:16,340 --> 00:45:19,860 เช่น GetString ไปและได้รับสตริง เช่น Javier ได้จากผู้ชม 991 00:45:19,860 --> 00:45:22,780 ในทำนองเดียวกันไม่ GetInt เริ่มกระพริบพร้อม 992 00:45:22,780 --> 00:45:26,750 และมีประสิทธิภาพการรอคอยสำหรับผู้ใช้ ที่จะให้มันจำนวนเต็มโดยการพิมพ์ใน 993 00:45:26,750 --> 00:45:27,900 และกด Enter 994 00:45:27,900 --> 00:45:30,850 ตอนสุดท้ายที่ผมจะทำ นี้ printf ผลรวมเเล้ 995 00:45:30,850 --> 00:45:36,080 และให้ฉันได้รับ now-- แฟนซี ร้อยละฉันและฉันมีอยู่ร้อยละ 996 00:45:36,080 --> 00:45:39,270 ฉันตกใจจุดเครื่องหมาย n 997 00:45:39,270 --> 00:45:42,750 และสิ่งที่คุณคิดว่าฉันกำลังจะไป ใส่ในขณะนี้เป็นปัจจัยการผลิตที่เพิ่มขึ้น 998 00:45:42,750 --> 00:45:44,620 เพื่อ printf? 999 00:45:44,620 --> 00:45:47,380 >> ฉันไม่ต้องการที่จะบอกว่า แท้จริงอ้าง unquote x 1000 00:45:47,380 --> 00:45:52,210 ผมต้องการที่จะเรียนใน x และ แล้วและตอนนี้ให้ของได้รับแฟนซี 1001 00:45:52,210 --> 00:45:54,420 และขอเพียงสมมติ เราสามารถทำสิ่งที่เราต้องการ 1002 00:45:54,420 --> 00:45:56,330 สิ่งที่คุณต้องการที่จะกล่าวต่อไปหรือไม่ 1003 00:45:56,330 --> 00:45:57,070 x + Y 1004 00:45:57,070 --> 00:45:58,520 และแน่นอนที่จะทำงาน 1005 00:45:58,520 --> 00:46:01,760 มันน้อยที่สุดการเขียนโปรแกรมภาษา จะเข้าใจคณิตศาสตร์ขั้นพื้นฐาน 1006 00:46:01,760 --> 00:46:03,500 และอื่น ๆ นี้ควรในการทำงานจริง 1007 00:46:03,500 --> 00:46:06,730 >> เพื่อให้ฉันไปข้างหน้าและจะทำให้ บวกในหน้าต่างสีดำและสีขาวของฉัน 1008 00:46:06,730 --> 00:46:08,090 ลงที่นี่ใส่ 1009 00:46:08,090 --> 00:46:10,830 เส้นที่เป็นความลับ แต่ไม่มีข้อผิดพลาด ข้อความเพื่อให้เป็นสิ่งที่ดี 1010 00:46:10,830 --> 00:46:14,410 Dot เฉือนบวกให้ฉันจำนวนเต็ม 1 1011 00:46:14,410 --> 00:46:16,230 ให้ฉันจำนวนเต็มอีก 2 1012 00:46:16,230 --> 00:46:18,770 ผลรวมของ 1 และ 2 คือ 3 1013 00:46:18,770 --> 00:46:21,730 >> ขวาทั้งหมดดังนั้นเล็กน้อยสวย โปรแกรม แต่สิ่งที่มันทำ? 1014 00:46:21,730 --> 00:46:25,680 มันช่วยให้ผมที่จะใช้ฟังก์ชั่น เรียกที่นี่เรียกฟังก์ชันอื่นที่นี่ 1015 00:46:25,680 --> 00:46:29,260 สองสายการ GetInt, สายที่สามที่จะ printf, 1016 00:46:29,260 --> 00:46:30,720 แล้วใช้ตัวยึดเหล่านี้ 1017 00:46:30,720 --> 00:46:33,160 ดังนั้นจึงเป็นเรื่องเล็ก ๆ น้อย ๆ มากขึ้น ที่มีความซับซ้อนกว่าครั้งที่แล้ว 1018 00:46:33,160 --> 00:46:35,260 แต่สิ่งที่ถ้าผมต้องการที่จะ ได้รับน้อยนักเล่น? 1019 00:46:35,260 --> 00:46:38,900 >> ให้ฉันไปข้างหน้าและตอนนี้ทำเช่นนี้ 1020 00:46:38,900 --> 00:46:42,890 ให้ฉันไปข้างหน้าและสร้าง ไฟล์ใหม่ที่เรียกว่าเงื่อนไขเป็นศูนย์ 1021 00:46:42,890 --> 00:46:44,890 และฉันจะบันทึก เวลาสำหรับประโยชน์บางชั้นเรียน 1022 00:46:44,890 --> 00:46:48,260 และเพียงแค่วางในที่ รหัสเป็นจุดเริ่มต้น 1023 00:46:48,260 --> 00:46:51,510 และตอนนี้ฉันแค่จะใส่ สิ่งใหม่ ๆ ที่นี่อยู่ตรงกลาง 1024 00:46:51,510 --> 00:46:55,889 ดังนั้น printf ฉันต้องการจำนวนเต็มโปรด 1025 00:46:55,889 --> 00:46:58,180 และรหัสทั้งหมดนี้สามารถใช้ได้ บนเว็บไซต์ของหลักสูตรที่ 1026 00:46:58,180 --> 00:47:00,556 คุณไม่จำเป็นต้องพิมพ์มันออกทั้งหมด ในชั้นเรียนถ้าคุณไม่ต้องการ 1027 00:47:00,556 --> 00:47:02,638 int และตอนนี้ฉันกำลังจะไป ใช้แทน x และ y, 1028 00:47:02,638 --> 00:47:05,270 ฉันจะใช้ n ซึ่งคือ น่าจะเป็นชื่อที่พบมากที่สุด 1029 00:47:05,270 --> 00:47:09,220 สำหรับจำนวนเต็มในโปรแกรมคอมพิวเตอร์ 1030 00:47:09,220 --> 00:47:12,060 และตอนนี้ฉันต้องการจะทำ การตัดสินเล็ก ๆ น้อย ๆ ที่นี่ 1031 00:47:12,060 --> 00:47:15,460 ฉันจะดูว่า n มากกว่า 0 แล้ว 1032 00:47:15,460 --> 00:47:23,670 ฉันจะบอกว่าขออภัย printf--, printf-- ที่คุณเลือกเป็นจำนวนบวก 1033 00:47:23,670 --> 00:47:25,370 เครื่องหมายอัศเจรีย์ n 1034 00:47:25,370 --> 00:47:26,460 ปิดที่ 1035 00:47:26,460 --> 00:47:33,150 อื่นฉันจะพิมพ์ออกมา printf ที่คุณเลือกเป็นจำนวนลบ 1036 00:47:33,150 --> 00:47:35,377 >> ตอนนี้ก่อนที่คุณจะตะโกนใส่หน้าฉัน ให้รันโปรแกรมนี้ 1037 00:47:35,377 --> 00:47:36,210 ให้ฉันลงไปที่นี่ 1038 00:47:36,210 --> 00:47:40,730 และฉันจะรวบรวมโปรแกรม ที่เรียกว่าเงื่อนไขรีบ 0? 1039 00:47:40,730 --> 00:47:42,300 ทำให้เงื่อนไขรีบ 0 1040 00:47:42,300 --> 00:47:45,560 ชนิดของชื่อโง่ but-- ซ 1041 00:47:45,560 --> 00:47:47,560 ตกลงการเรียนการสอนที่ดีขณะที่ 1042 00:47:47,560 --> 00:47:48,410 ทำไมที่ทำลาย? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> สิ่งที่ฉันตั้งใจเรียกไฟล์นี้? 1045 00:47:54,710 --> 00:47:56,876 คุณสามารถชนิดของสรุป จากแท็บขึ้นที่นี่ 1046 00:47:56,876 --> 00:47:58,750 ดังนั้นจึงเป็นเรื่องไม่ดีที่ฉัน ทำอย่างนี้เพราะ 1047 00:47:58,750 --> 00:48:00,208 ที่จะเกิดขึ้นอาจจะเป็นบางส่วนของคุณ 1048 00:48:00,208 --> 00:48:03,880 ดังนั้นผมจึงตั้งใจตั้งชื่อตามชื่อของฉัน รหัสสภาพแหล่ง 0 1049 00:48:03,880 --> 00:48:09,950 แต่รหัสที่มาของฉันโดยการประชุมควร อยู่ในไฟล์ที่เรียกว่าสภาพ 0 รีบค, 1050 00:48:09,950 --> 00:48:11,720 หรือจุดใดค 1051 00:48:11,720 --> 00:48:12,610 >> เพื่อให้ฉันแก้ไขปัญหานี้ 1052 00:48:12,610 --> 00:48:16,880 เช่นเดียวกับโปรแกรม Microsoft Word ผมสามารถไปได้ ไปที่บันทึกเป็นและทำสภาพ 0 จุดค 1053 00:48:16,880 --> 00:48:20,100 ตอนนี้เพียงเพื่อให้เป็นระเบียบเรียบร้อยผม จะไปข้างหน้าและลบ 1054 00:48:20,100 --> 00:48:23,020 สภาพ 0 ซึ่งเป็นรุ่นเก่าของฉัน 1055 00:48:23,020 --> 00:48:26,550 และตอนนี้ขอไม่ให้ สภาพ 0, ใส่ 1056 00:48:26,550 --> 00:48:27,870 ตกลงดูเหมือนว่าดี 1057 00:48:27,870 --> 00:48:29,510 >> สภาพ 0, ใส่ 1058 00:48:29,510 --> 00:48:33,530 ฉันต้องการจำนวนเต็มกรุณา, 50, คุณเลือกจำนวนบวก 1059 00:48:33,530 --> 00:48:35,390 ตอนนี้วิธีการเกี่ยวกับลบ 50? 1060 00:48:35,390 --> 00:48:37,660 ที่คุณเลือกเป็นจำนวนลบ 1061 00:48:37,660 --> 00:48:39,605 วิธีการเกี่ยวกับตอนนี้ 0 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 ค่อนข้างแน่ใจ 0 ไม่ลบ 1064 00:48:45,350 --> 00:48:47,780 >> ดังนั้นนี้เป็นชนิดของข้อผิดพลาดทางตรรกะ 1065 00:48:47,780 --> 00:48:50,680 ฉันจะแก้ไขปัญหานี้ได้อย่างไร 1066 00:48:50,680 --> 00:48:57,260 อื่นถ้า n มีค่าน้อยกว่า 0, ทำเช่นนี้อีก เราสามารถมีสาขาสามวิธีที่นี่ 1067 00:48:57,260 --> 00:49:01,740 printf คุณเลือก 0 1068 00:49:01,740 --> 00:49:06,150 ดังนั้นตอนนี้ถ้าฉันวิ่งนี้ โปรแกรมหลังจากการรวบรวมมัน 1069 00:49:06,150 --> 00:49:10,790 อีกครั้งกับการแต่งหน้าและวิ่งตอนนี้ สภาพ 0 สิ่งที่ฉันจะได้เห็นที่นี่ 1070 00:49:10,790 --> 00:49:14,570 เป็น 0 ให้ฉันเอาท์พุทที่ 1071 00:49:14,570 --> 00:49:16,280 ดังนั้นเราจึงมีการที่จะมีนี้? 1072 00:49:16,280 --> 00:49:18,930 >> ดีมันง่ายมากที่จะสูญเสียสายตา ของป่าสำหรับต้นไม้ 1073 00:49:18,930 --> 00:49:23,590 และเพื่อช่วยให้เราสามารถสรุปได้ กับวิดีโอที่ 2 และ 1/2 นาที 1074 00:49:23,590 --> 00:49:25,710 ในท้ายที่สุดว่าเป็นบิต ของโฆษณาจาก Google, 1075 00:49:25,710 --> 00:49:28,850 แต่ที่จริงเป็นบทพิสูจน์ถึง สิ่งที่แม้จะใช้การสร้างพื้นฐานเหล่านี้ 1076 00:49:28,850 --> 00:49:33,020 บล็อกเราในที่สุดสามารถทำเมื่อ เรามีบิตของการเขียนโปรแกรม 1077 00:49:33,020 --> 00:49:34,463 เข้าใจภายใต้เข็มขัดของเรา 1078 00:49:34,463 --> 00:49:35,150 >> [เล่นเพลง] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO BRIERLEY (VOICEOVER): มันเป็น 26 ปีที่ผ่านมา 1081 00:49:40,540 --> 00:49:42,470 และฉันเป็นเพียงเกี่ยวกับการเปิด 5 1082 00:49:42,470 --> 00:49:45,465 เราได้ไปที่สถานีรถไฟและ เราขึ้นรถไฟของเราด้วยกัน 1083 00:49:45,465 --> 00:49:48,010 พี่ชายของฉันบอกว่าฉันจะ อยู่ที่นี่และผมจะกลับมา 1084 00:49:48,010 --> 00:49:51,140 และฉันก็คิดว่าดีที่คุณรู้ ฉันอาจจะดีแค่ไปนอน 1085 00:49:51,140 --> 00:49:52,690 และเขาก็จะตื่นฉันขึ้น 1086 00:49:52,690 --> 00:49:55,145 และเมื่อฉันตื่นขึ้นมาต่อไป วันที่สายการบินทั้ง 1087 00:49:55,145 --> 00:49:59,125 เป็นที่ว่างเปล่าบนรถไฟหนีผี รถไฟพาผมผมไม่ทราบว่า 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> ฉันถูกนำออกไปยังประเทศออสเตรเลีย กับครอบครัวชาวออสเตรเลีย 1090 00:50:06,280 --> 00:50:09,710 และแม่ของฉันได้รับการตกแต่ง ห้องที่มีแผนที่ของอินเดีย 1091 00:50:09,710 --> 00:50:11,950 ซึ่งเธอนำไปข้างเตียงของฉัน 1092 00:50:11,950 --> 00:50:15,830 ฉันตื่นขึ้นมาทุกเช้า เห็นแผนที่ที่และด้วยเหตุนี้ 1093 00:50:15,830 --> 00:50:18,530 มันเรียงลำดับของการเก็บความทรงจำที่ยังมีชีวิตอยู่ 1094 00:50:18,530 --> 00:50:20,530 คนจะบอกว่าคุณกำลัง พยายามที่จะหาเข็ม 1095 00:50:20,530 --> 00:50:23,560 ในกองหญ้า, Saroo คุณจะไม่พบว่ามัน 1096 00:50:23,560 --> 00:50:28,540 >> ผมมีประกายในสถานที่ที่ฉัน เคยไปกะพริบของครอบครัวของฉัน 1097 00:50:28,540 --> 00:50:29,890 ใบหน้า 1098 00:50:29,890 --> 00:50:34,060 มีภาพของแม่ของฉันเป็น นั่งลงกับขาของเธอข้าม 1099 00:50:34,060 --> 00:50:35,740 เพียงเฝ้าดูเธอร้องไห้ 1100 00:50:35,740 --> 00:50:38,160 ชีวิตเป็นเพียงเพื่อให้ยาก 1101 00:50:38,160 --> 00:50:41,237 นั่นคือสมบัติของฉัน 1102 00:50:41,237 --> 00:50:44,320 และฉันกำลังมองไปที่ Google แผนที่และ ตระหนักถึงความมี Google Earth เช่นกัน 1103 00:50:44,320 --> 00:50:48,140 ในโลกที่คุณสามารถซูมเข้าไปที่ ผมเริ่มที่จะมีทั้งหมดของความคิดเหล่านี้ 1104 00:50:48,140 --> 00:50:51,500 และสิ่งที่เป็นไป ว่านี้อาจทำเพื่อฉัน 1105 00:50:51,500 --> 00:50:54,890 ผมพูดกับตัวเองคุณรู้ว่าคุณได้ มีทุกความทรงจำที่ถ่ายภาพเหล่านั้น 1106 00:50:54,890 --> 00:50:58,590 และสถานที่สำคัญที่คุณมาจากและ คุณรู้ว่าสิ่งที่เมืองดูเหมือนว่า 1107 00:50:58,590 --> 00:51:03,060 ซึ่งอาจเป็นโปรแกรมประยุกต์ที่ คุณสามารถใช้เพื่อหาทางกลับ 1108 00:51:03,060 --> 00:51:06,720 >> ฉันคิดว่าดีฉันจะใส่ จุดที่สถานีรถไฟกัลกัต, 1109 00:51:06,720 --> 00:51:10,890 และสายรัศมีคุณรู้ว่าคุณ ควรจะค้นหารอบบริเวณนี้ 1110 00:51:10,890 --> 00:51:13,750 จัดเรียงของฉันมาข้าม เหล่านี้รางรถไฟ 1111 00:51:13,750 --> 00:51:18,160 และฉันเริ่มต้นดังต่อไปนี้มันและ ฉันมาถึงสถานีรถไฟที่ 1112 00:51:18,160 --> 00:51:22,228 สะท้อนให้เห็นภาพเดียวกัน ที่อยู่ในความทรงจำของฉัน 1113 00:51:22,228 --> 00:51:23,707 ทุกอย่างตรง 1114 00:51:23,707 --> 00:51:27,950 ฉันแค่คิดครับผม ทราบว่าผมจะ 1115 00:51:27,950 --> 00:51:30,116 ฉันแค่จะให้ แผนที่ที่ฉันมีในหัวของฉัน 1116 00:51:30,116 --> 00:51:33,080 นำฉันและพาฉันกลับไปที่บ้านเกิดของฉัน 1117 00:51:33,080 --> 00:51:36,420 >> ฉันมาถึงบันไดหน้าประตูของ บ้านที่ผมเกิด 1118 00:51:36,420 --> 00:51:39,140 และเดินไปรอบ ๆ ประมาณ 15 เมตรรอบมุม 1119 00:51:39,140 --> 00:51:42,980 มีสามสาวที่ยืนอยู่ นอกที่อยู่ใกล้เคียงกัน 1120 00:51:42,980 --> 00:51:47,830 และเป็นคนตรงกลางก้าวไปข้างหน้าและ ฉันคิดว่านี่คือแม่ของคุณ 1121 00:51:47,830 --> 00:51:53,450 เธอเดินเข้ามาข้างหน้าเธอกอดฉันและ เราอยู่ที่นั่นประมาณห้านาที 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> เธอคว้ามือของฉันและ เธอพาฉันไปที่บ้าน 1124 00:51:59,000 --> 00:52:02,450 และได้บนโทรศัพท์ที่เธอ ดังน้องสาวและน้องชายของฉัน 1125 00:52:02,450 --> 00:52:05,600 ที่จะบอกว่าคุณรู้ว่า พี่ชายของคุณมีเพียง 1126 00:52:05,600 --> 00:52:09,340 ทั้งหมดในทันทีปรากฏคล้ายผี 1127 00:52:09,340 --> 00:52:12,440 แล้วครอบครัวก็กลับมารวมตัวอีกครั้ง 1128 00:52:12,440 --> 00:52:15,110 ทุกสิ่งทุกอย่างที่ดี ฉันช่วยแม่ของฉันออก 1129 00:52:15,110 --> 00:52:17,110 เธอไม่ต้อง slaving ไป 1130 00:52:17,110 --> 00:52:19,555 เธอสามารถมีชีวิตอยู่ส่วนที่เหลือ ในชีวิตของเธอในความสงบ 1131 00:52:19,555 --> 00:52:23,460 >> มันเป็นเข็มในกองหญ้า, แต่เข็มก็อยู่ที่นั่น 1132 00:52:23,460 --> 00:52:24,400 ทุกอย่างมี 1133 00:52:24,400 --> 00:52:28,260 ทุกอย่างที่เรามีในโลก ที่ประปาของปุ่ม 1134 00:52:28,260 --> 00:52:32,010 แต่คุณจะต้องมีความตั้งใจและ มุ่งมั่นที่จะต้องการมัน 1135 00:52:32,010 --> 00:52:32,950 >> [เล่นเพลง] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID ลัน: ยิ่งยวด รับรองหวาน 1138 00:52:38,170 --> 00:52:40,540 เพียงแค่สิ่งที่คุณสามารถ ตอนนี้ทำด้วยเทคโนโลยี 1139 00:52:40,540 --> 00:52:43,390 เราจะเห็นคุณในสัปดาห์หน้า 1140 00:52:43,390 --> 00:52:44,374