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