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