1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> Hirschhorn JASON: ยินดีต้อนรับสู่ ส่วน CS50 ทุกคน 3 00:00:08,650 --> 00:00:11,430 ชื่อของฉันคือเจสัน Hirschhorn 4 00:00:11,430 --> 00:00:15,850 ฉันมาก TFs คุณ แต่มาก หวังว่าผู้คนจะได้ร่วมงานกับเรา 5 00:00:15,850 --> 00:00:20,420 ออนไลน์นักเรียนนามสกุลหรือนักเรียน พยายามที่จะมองผ่านส่วนถ้าพวกเขา 6 00:00:20,420 --> 00:00:22,830 พลาดส่วนของพวกเขาที่สัปดาห์หรือ เพียงแค่จับขึ้นถ้าพวกเขาต้องการ 7 00:00:22,830 --> 00:00:24,510 เพื่อทบทวนวัสดุบางอย่าง 8 00:00:24,510 --> 00:00:30,060 >> เพื่อให้เป็นต่อหลักสูตรซึ่งทั้งหมด จากที่คุณได้อ่านถูกต้องหรือไม่ 9 00:00:30,060 --> 00:00:31,390 ฉันเห็นมากของการพยักหน้าหัว 10 00:00:31,390 --> 00:00:34,220 ส่วนที่ให้คุณมีโอกาส ในการสำรวจของหลักสูตร 11 00:00:34,220 --> 00:00:37,420 วัสดุในสภาพแวดล้อมที่ใกล้ชิดมากขึ้น, เช่นเดียวกับการดำน้ำใน 12 00:00:37,420 --> 00:00:38,810 มือเกี่ยวกับกิจกรรม 13 00:00:38,810 --> 00:00:41,230 >> ดังนั้นโดยทั่วไปสิ่งที่เรา จะต้องทำทุกสัปดาห์ 14 00:00:41,230 --> 00:00:45,090 เรากำลังจะผ่านไปสิ่งที่เรามี มุ่งมั่นจะเป็นที่สำคัญที่สุด 15 00:00:45,090 --> 00:00:49,170 หัวข้อที่ครอบคลุมในการบรรยายและคน อาจจะมีประโยชน์มากที่สุดและ 16 00:00:49,170 --> 00:00:52,780 ส่วนใหญ่มีแนวโน้มที่จะเกิดขึ้นเมื่อชุดปัญหา และในการทดสอบและการเข้ารหัสของคุณ 17 00:00:52,780 --> 00:00:53,970 ชีวิตนอก CS50 18 00:00:53,970 --> 00:00:57,260 ดังนั้นเรากำลังจะเดินเข้าไปในหัวข้อเหล่านั้น, หารือเกี่ยวกับพวกเขาไปกว่าพวกเขา 19 00:00:57,260 --> 00:01:00,660 ตอบคำถามใด ๆ พวกคุณมีและ แล้วเรากำลังจะทำจำนวนมาก 20 00:01:00,660 --> 00:01:02,250 ปัญหาการปฏิบัติในการเข้ารหัส 21 00:01:02,250 --> 00:01:04,239 >> ทุกท่านนำแล็ปท็อป, ซึ่งเป็นที่ยอดเยี่ยม 22 00:01:04,239 --> 00:01:05,710 ซึ่งเป็นระดับสาขาวิชาวิทยาการคอมพิวเตอร์ 23 00:01:05,710 --> 00:01:10,070 แต่มากของการออกกำลังกายที่เราทำ, คุณจะไม่ต้องแล็ปท็อปของคุณสำหรับ 24 00:01:10,070 --> 00:01:11,720 คุณสามารถทำอะไรพวกเขาบนแผ่นกระดาษ 25 00:01:11,720 --> 00:01:13,580 นั่นเป็นวิธีที่คุณกำลังจะ ทำพวกเขาในแบบทดสอบ 26 00:01:13,580 --> 00:01:16,450 และแน่นอนว่าเป็นวิธีที่ดีในการ จริงๆรู้ว่าวิธีการทำ 27 00:01:16,450 --> 00:01:19,720 บางสิ่งบางอย่างถ้าคุณไม่ได้ตรวจสอบ 50 พึ่งพาหรือรู้จักที่จะพึ่งพาบอก 28 00:01:19,720 --> 00:01:20,620 คุณทำข้อผิดพลาดใด ๆ 29 00:01:20,620 --> 00:01:25,670 >> ดังนั้นคุณสามารถโค้ดบน เครื่องใช้หรือ run.cs50.net ซึ่งเป็น 30 00:01:25,670 --> 00:01:29,770 เครื่องมือที่ช่วยให้คุณสามารถรหัสอื่น ออนไลน์ แต่ฉันก็จะแนะนำถ้า 31 00:01:29,770 --> 00:01:32,280 คุณไม่ได้พยายามมันใช้แผ่น ทำจากกระดาษและพยายามปฏิบัติเหล่านี้ 32 00:01:32,280 --> 00:01:33,640 ปัญหาบนแผ่นกระดาษ 33 00:01:33,640 --> 00:01:35,330 เพราะอีกครั้งว่าในที่สุด สิ่งที่คุณกำลังจะได้รับ 34 00:01:35,330 --> 00:01:37,430 ขอให้ทำแบบทดสอบเมื่อ 35 00:01:37,430 --> 00:01:44,080 >> ดังนั้นขอเริ่มต้นด้วยของเรา วาระการประชุมในวันนี้ 36 00:01:44,080 --> 00:01:47,710 เรากำลังจะไปกว่าบรรทัดฐานบางอย่างสำหรับ ส่วนของเราแล้วเราจะไปดำน้ำ 37 00:01:47,710 --> 00:01:51,180 อาร์เรย์เป็นฟังก์ชันและบรรทัดคำสั่ง ข้อโต้แย้งซึ่งเป็นสิ่งที่พวกคุณ 38 00:01:51,180 --> 00:01:56,200 ได้ครอบคลุมนี้สัปดาห์ที่ผ่านมาในการบรรยาย และจากนั้นในวันจันทร์ที่และสิ่งที่คุณจะครอบคลุม 39 00:01:56,200 --> 00:01:57,330 ขึ้นในวันพรุ่งนี้ 40 00:01:57,330 --> 00:01:59,060 และแล้วในที่สุดเราจะ พูดคุยเกี่ยวกับ pset2 41 00:01:59,060 --> 00:02:03,640 ถ้าฉันจะได้รับการแสดงจากมือถ้าคุณ ไม่ได้มองที่ปัญหาชุดสอง 42 00:02:03,640 --> 00:02:04,890 สเปค 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 เราจะบอกทุกคน 45 00:02:08,120 --> 00:02:09,419 น่าอัศจรรย์ 46 00:02:09,419 --> 00:02:12,070 >> เราจะพูดคุยเกี่ยวกับชุดปัญหาในบิต, แต่ถ้าคุณอ่านชุดปัญหา 47 00:02:12,070 --> 00:02:14,340 ข้อกำหนดที่ว่า ทั้งหมดที่คุณต้องทำ 48 00:02:14,340 --> 00:02:18,370 ถ้าคุณอ่านว่าก่อนที่จะมาถึง ส่วนการเรียนและในวันอังคารที่คุณจะ 49 00:02:18,370 --> 00:02:19,220 จะเป็นตำแหน่งที่ดี 50 00:02:19,220 --> 00:02:21,680 เราสามารถไปถึงชุดปัญหาที่เกิดขึ้น ซึ่งเป็นสิ่งที่เรากำลังจะ 51 00:02:21,680 --> 00:02:22,090 ที่จะทำในตอนท้าย 52 00:02:22,090 --> 00:02:23,500 เรากำลังจะผ่านไป ตรรกะให้แน่ใจว่า 53 00:02:23,500 --> 00:02:24,710 ทุกคนในหน้าเดียวกัน 54 00:02:24,710 --> 00:02:28,650 >> ฉันต้องการให้คุณมีความสามารถที่จะออกอังคาร ความรู้สึกสะดวกสบายมากกับสิ่งที่คุณ 55 00:02:28,650 --> 00:02:31,560 ต้องทำสำหรับชุดปัญหาในสัปดาห์นี้, และถ้าคุณไม่ได้ฉันจะมีความสุข 56 00:02:31,560 --> 00:02:33,050 หลังจากที่อยู่และทำงานร่วมกับคุณ 57 00:02:33,050 --> 00:02:36,850 แต่นั่นเป็นสิ่งหนึ่งที่คุณต้อง ทำ แต่ฉันคิดว่าจะเป็นสมาร์ทจริงๆ 58 00:02:36,850 --> 00:02:40,500 เพียงแค่การอ่านชุดปัญหา สเปคโดยชั้นในวันอังคารที่ 59 00:02:40,500 --> 00:02:42,640 ซึ่งดูเหมือน จำนวนมากของคนที่คุณคิดว่า 60 00:02:42,640 --> 00:02:45,810 >> ฉันจะเริ่มต้นกับวาระการประชุมแต่ละชั้นเรียน เพื่อให้คุณทราบว่าเรากำลังจะ 61 00:02:45,810 --> 00:02:49,520 นี้ยังเป็นประโยชน์สำหรับคนดู ออนไลน์เพราะแต่ละส่วน 62 00:02:49,520 --> 00:02:53,540 เป็นรหัสสีดังนั้นหากคุณต้องการที่จะมา กลับมาและเพียงแค่เฝ้าดู 10 นาทีค่อนข้าง 63 00:02:53,540 --> 00:02:56,950 กว่าส่วน 90 นาทีทั้งหมดคุณ ก็สามารถไปที่ส่วนรหัสสี 64 00:02:56,950 --> 00:02:57,890 และดูที่ส่วนที่ 65 00:02:57,890 --> 00:03:01,510 ดังนั้นผมจึงพยายามที่จะทำลายพวกเขาออกเป็นดี โมดูลที่จะช่วยให้คุณ - 66 00:03:01,510 --> 00:03:03,960 ถ้าคุณต้องการที่จะกลับมาและทบทวน, หรือนักเรียนคนอื่น ๆ ที่มีเพียงแค่ 67 00:03:03,960 --> 00:03:05,350 ดูส่วนเพื่อทบทวน - 68 00:03:05,350 --> 00:03:08,130 เพื่อหาสิ่งที่เฉพาะเจาะจงพวกเขา ต้องการให้ความสนใจกับ 69 00:03:08,130 --> 00:03:10,480 และเรียนรู้เพิ่มเติมเกี่ยวกับ 70 00:03:10,480 --> 00:03:11,390 หวาน 71 00:03:11,390 --> 00:03:12,180 >> บรรทัดฐาน 72 00:03:12,180 --> 00:03:13,680 ฉันเป็นผู้นำ FOP ในมหาวิทยาลัย 73 00:03:13,680 --> 00:03:14,900 ผมไม่ทราบว่าถ้าใครไม่ FOP 74 00:03:14,900 --> 00:03:16,280 ไม่ใครทำ FOP? 75 00:03:16,280 --> 00:03:17,100 คนที่ไม่ FOP 76 00:03:17,100 --> 00:03:18,430 คนสองคนที่ไม่ FOP 77 00:03:18,430 --> 00:03:19,250 น่ากลัว 78 00:03:19,250 --> 00:03:22,360 ดังนั้น FOP เป็นปีแรกกลางแจ้ง ปฐมนิเทศ 79 00:03:22,360 --> 00:03:27,240 เราจะมีนักศึกษาเข้าไปในป่าและทำให้ ประสบการณ์ที่มีมนต์ขลังมากที่สุดของ 80 00:03:27,240 --> 00:03:28,830 ชีวิตของพวกเขาถูกต้องหรือไม่ 81 00:03:28,830 --> 00:03:29,220 ใช่ 82 00:03:29,220 --> 00:03:30,080 เสียงเกี่ยวกับสิทธิ 83 00:03:30,080 --> 00:03:36,360 >> ดังนั้นผมจึงอยากที่จะเริ่มต้นมากครั้งแรกของเรา ส่วนการอภิปรายตามบรรทัดฐานบาง 84 00:03:36,360 --> 00:03:38,860 สำหรับการเรียนและความสัมพันธ์ของเรา เพราะผมคิดว่า 85 00:03:38,860 --> 00:03:40,010 พวกเขากำลังมีความสำคัญมาก 86 00:03:40,010 --> 00:03:43,630 แรกและสำคัญที่สุดในขณะที่บรรดาผู้ที่ มีส่วนของฉันได้รับและ 87 00:03:43,630 --> 00:03:47,150 ได้รับการกล่าวถึงในที่ อีเมลฉันรักนี้ 88 00:03:47,150 --> 00:03:48,130 นี้เป็นส่วนหนึ่งที่ชื่นชอบของปี 89 00:03:48,130 --> 00:03:49,100 ฉันได้รับตื่นเต้นมาก 90 00:03:49,100 --> 00:03:50,040 ฉันได้รับที่นี่สำหรับชั่วโมงในวันนี้ 91 00:03:50,040 --> 00:03:54,560 ฉันยังไม่ได้ออกจากตึกนี้นอกจากจะ ไปกินเพราะฉันรัก CS50 ส่วนผม 92 00:03:54,560 --> 00:03:58,620 รักการเรียนการสอนฉันรักการทำงาน กับพวกคุณ 93 00:03:58,620 --> 00:04:02,000 >> หนึ่งในความสำคัญสูงสุดของฉันหากไม่ได้รับของฉัน จำนวนหนึ่งมีความสำคัญไม่เพียง แต่สำหรับ 94 00:04:02,000 --> 00:04:05,130 ชั้น แต่รวมอื่น ๆ ของฉันนี้ ชั้นเรียนและแสตนคือการ 95 00:04:05,130 --> 00:04:09,350 สนับสนุนพวกคุณและช่วยให้พวกคุณและ ทำของฉันดีที่สุดเพื่อให้แน่ใจว่าคุณ 96 00:04:09,350 --> 00:04:13,780 ผู้ชายมียอดเยี่ยม, สนุก, การผลิต, มีส่วนร่วมที่น่าตื่นเต้น 97 00:04:13,780 --> 00:04:15,250 พบในชั้นนี้ 98 00:04:15,250 --> 00:04:16,190 นั่นคือสิ่งที่ผมมุ่งมั่นที่จะ 99 00:04:16,190 --> 00:04:17,959 นั่นเป็นเหตุผลที่ฉันรักที่จะทำเช่นนี้ 100 00:04:17,959 --> 00:04:20,190 ที่เป็นหมายเลขหนึ่งของฉันสิ่ง สนับสนุนพวกคุณ 101 00:04:20,190 --> 00:04:25,110 หากคุณมีคำถามใด ๆ เกี่ยวกับการบรรยาย ชุดปัญหาส่วน 102 00:04:25,110 --> 00:04:28,830 ชีวิตแม้ว่าคุณต้องการที่จะพูดคุยเกี่ยวกับ ชีวิตโปรดอย่าลังเลที่จะเอื้อมมือออกไป 103 00:04:28,830 --> 00:04:31,210 >> คุณมีหมายเลขโทรศัพท์ของฉันเซลล์ คุณมีอีเมลของฉัน 104 00:04:31,210 --> 00:04:32,910 ที่อยู่คุณมี GChat ของฉัน 105 00:04:32,910 --> 00:04:37,540 คุณสามารถติดต่อเราได้ที่ใดหรือทั้งหมดของ เมื่อใดก็ตามที่เหล่านั้น แต่อาจจะไม่ได้รับ 106 00:04:37,540 --> 00:04:38,720 เมื่อใดก็ตามที่การตอบสนอง 107 00:04:38,720 --> 00:04:41,020 ผมลองและได้รับกลับภายใน 24 ชั่วโมง 108 00:04:41,020 --> 00:04:44,760 บ่อยครั้งที่มันจะได้รับภายใน 20 นาทีหรือ 24 นาที 109 00:04:44,760 --> 00:04:46,110 ฉันควรได้กล่าวว่า ที่จะให้มันขนาน 110 00:04:46,110 --> 00:04:48,840 แต่คุณจะได้รับการตอบสนอง สวยได้อย่างรวดเร็ว 111 00:04:48,840 --> 00:04:54,220 >> หากคุณ Text Me ชั่วโมงก่อน ชุดปัญหาเนื่องจากผมจะสงบคุณ 112 00:04:54,220 --> 00:04:57,660 ลงและทำแบบฝึกหัดการหายใจลึก กับคุณ แต่ถ้าคุณไม่ได้เริ่มต้น, 113 00:04:57,660 --> 00:05:00,270 คุณอาจจะไม่เสร็จสิ้นและ ฉันไม่สามารถจริงๆช่วยให้คุณออกมี 114 00:05:00,270 --> 00:05:01,710 ถึงแม้ว่าผมจะพยายามทำให้ดีที่สุดครับ 115 00:05:01,710 --> 00:05:03,920 ดังนั้นฉันจะทำทุกอย่าง ผมจะสามารถสนับสนุนคุณ 116 00:05:03,920 --> 00:05:07,980 กรุณาอย่าลังเลที่จะเอื้อมมือออกไปไม่ว่าจะเป็น มันอยู่ในส่วนอีกครั้งที่เวลาทำการ 117 00:05:07,980 --> 00:05:09,150 ถ้าคุณเห็นฉันหรือแม้ภายนอก 118 00:05:09,150 --> 00:05:11,800 ฉันมีความสุขในการตั้งค่าเวลาที่จะตอบสนองความ การทำงานและผ่านปัญหา 119 00:05:11,800 --> 00:05:14,410 มีหรือไปกว่าวัสดุ 120 00:05:14,410 --> 00:05:15,990 เพื่อให้หมายเลขหนึ่งสนับสนุน 121 00:05:15,990 --> 00:05:17,940 ฉันจะทำทุกอย่างที่ฉัน จะสามารถสนับสนุนคุณ 122 00:05:17,940 --> 00:05:21,520 >> สองจำนวนการประชุมในช่วงกลาง 123 00:05:21,520 --> 00:05:24,760 เท่าที่ฉันอยากจะเป็นผม ไม่ได้มีอำนาจหรือมีอำนาจหรือ 124 00:05:24,760 --> 00:05:28,410 รอบรู้ดังนั้นฉันไม่ทราบทั้งหมด เวลาผ่านไปถ้าสิ่งที่ฉันทำคือการ 125 00:05:28,410 --> 00:05:33,410 ข้ามถ้าวิธีที่ผมสอน หัวข้อจะช่วยให้คุณเรียนรู้มันหรือถ้าคุณ 126 00:05:33,410 --> 00:05:36,120 กำลังสับสนเกี่ยวกับหัวข้อ แต่ทำไม่ได้ ยกมือของคุณหรือถามฉัน 127 00:05:36,120 --> 00:05:37,390 หรือส่งอีเมล์ 128 00:05:37,390 --> 00:05:42,150 หรือแม้กระทั่งถ้าคุณอีกครั้งจะสับสน เกี่ยวกับสิ่งที่ตั้งอยู่บนปัญหา 129 00:05:42,150 --> 00:05:44,240 หากคุณไม่ได้เอื้อมมือออกไปฉัน ฉันไม่สามารถรู้ว่าเพื่อตรวจสอบว่า 130 00:05:44,240 --> 00:05:46,950 ฉันจะทำของฉันดีที่สุดในการตรวจสอบใน พวกคุณให้แน่ใจว่าทุกอย่างเป็น 131 00:05:46,950 --> 00:05:51,170 จะดีพยายามที่จะสอนสิ่งในทาง ที่จะเอื้อต่อการส่วนใหญ่ของ 132 00:05:51,170 --> 00:05:54,910 รูปแบบการเรียนรู้ของคุณ แต่ถ้ามี อะไรที่ฉันสามารถทำแจ้งให้เราทราบ 133 00:05:54,910 --> 00:05:58,520 >> ตามเส้นที่ถ้าคุณต้องการความช่วยเหลือบางส่วน กับชุดที่มีปัญหาผมมากขึ้น 134 00:05:58,520 --> 00:05:59,700 มากกว่ายินดีที่จะช่วยให้คุณ กับชุดที่มีปัญหา 135 00:05:59,700 --> 00:06:02,300 เรากำลังจะทำมาก ที่มีต่อที่สอง 136 00:06:02,300 --> 00:06:03,460 ครึ่งหนึ่งของส่วนนี้ 137 00:06:03,460 --> 00:06:06,040 แต่ถ้าคุณยังไม่ได้อ่านกับชุดปัญหา กลับมาและไม่ได้ดูเดิน 138 00:06:06,040 --> 00:06:09,310 ผ่านและไม่ได้ดูกางเกงขาสั้น และคาดหวังว่าฉันจะสอนคุณ 139 00:06:09,310 --> 00:06:13,260 ทุกอย่างที่ได้รับการวีดิโอ ออนไลน์หรือว่าคุณสามารถหาที่ CS50 140 00:06:13,260 --> 00:06:16,720 การศึกษาที่ไม่จริงยุติธรรม ฉันหรือเพื่อนร่วมงานอื่น ๆ ของคุณ 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> ดังนั้นโปรดฉันมากกว่ายินดีที่จะช่วย คุณ แต่พวกคุณจะได้พบกับผมใน 143 00:06:25,730 --> 00:06:27,230 กลาง 144 00:06:27,230 --> 00:06:30,100 เรามีตันของทรัพยากรสำหรับ คุณสามารถใช้ได้บน CS50 145 00:06:30,100 --> 00:06:31,230 ที่ผมกล่าวถึงบางส่วนของพวกเขา 146 00:06:31,230 --> 00:06:32,960 โปรดใช้ประโยชน์จากพวกเขา 147 00:06:32,960 --> 00:06:35,140 หากคุณกำลังสับสนผมมีความสุขมากกว่า เพื่อช่วยให้คุณอธิบายไว้ใน 148 00:06:35,140 --> 00:06:39,290 อีกวิธีหนึ่ง แต่มันไม่ยุติธรรมถ้า นักเรียนแสดงขึ้นในเวลาที่สำนักงาน 149 00:06:39,290 --> 00:06:42,530 ยังไม่ได้เริ่มอะไรและมัน คืนวันพฤหัสบดีและพวกเขากำลังคาดหวังว่า 150 00:06:42,530 --> 00:06:45,880 TF จะเดินพวกเขาผ่านทุกเดียว สิ่งที่สำหรับปัญหาที่กำหนดไว้เนื่องจาก 151 00:06:45,880 --> 00:06:47,140 ในตอนเที่ยงของวันถัดไป 152 00:06:47,140 --> 00:06:48,300 ทำให้รู้สึก? 153 00:06:48,300 --> 00:06:50,890 อีกครั้งโปรดตอบสนองเราอยู่ตรงกลาง 154 00:06:50,890 --> 00:06:53,230 >> และในที่สุดก็มีความคาดหวังสูง 155 00:06:53,230 --> 00:06:58,010 ฉันจะเป็นคนจัดลำดับว่าใคร ในส่วนของฉันหรือการให้คะแนนของคุณ 156 00:06:58,010 --> 00:06:59,020 ชุดปัญหา 157 00:06:59,020 --> 00:07:01,240 คุณยังไม่ได้หายไปกลับปัญหา ตั้งศูนย์หรือหนึ่งยัง 158 00:07:01,240 --> 00:07:02,250 เราขออภัยเกี่ยวกับที่ 159 00:07:02,250 --> 00:07:04,970 มันพาเราไปจนชั่วขณะหนึ่ง ชำระส่วนและในขณะนี้ 160 00:07:04,970 --> 00:07:05,560 เราสามารถเริ่มต้นการจัดลำดับ 161 00:07:05,560 --> 00:07:09,560 >> ฉันจะได้รับพวกเขากลับมาให้คุณ เร็วที่สุดเท่าที่เป็นไปได้ 162 00:07:09,560 --> 00:07:11,890 เหล่านี้คือบางส่วนของฉัน advisees ออกมี 163 00:07:11,890 --> 00:07:14,150 ฉันจะได้รับพวกเขากลับมาให้คุณ เร็วที่สุดเท่าที่เป็นไปได้ 164 00:07:14,150 --> 00:07:18,046 และสำหรับชุดสองปัญหาเราก็จะอยู่บน กำหนดและเราจะเริ่มต้นพวกเขาได้รับ 165 00:07:18,046 --> 00:07:20,440 ให้คุณสวยได้อย่างรวดเร็วหลังจากที่ คุณเปิดพวกเขาเข้า 166 00:07:20,440 --> 00:07:24,130 >> เมื่อคุณได้รับปัญหาของคุณได้ตั้งกลับมาคุณจะ จะได้รับคะแนนเท่าที่ทราบจาก 167 00:07:24,130 --> 00:07:28,150 หลักสูตรการอ่าน - ความถูกต้อง, คะแนนการออกแบบขอบเขตและรูปแบบ 168 00:07:28,150 --> 00:07:29,760 นอกจากนี้คุณยังจะได้รับความคิดเห็น 169 00:07:29,760 --> 00:07:32,160 ความเห็นที่มีความสำคัญมากขึ้น กว่าคะแนน 170 00:07:32,160 --> 00:07:33,780 ฉันคิดว่ามันปลอดภัยที่จะกล่าวว่า 171 00:07:33,780 --> 00:07:37,930 >> คะแนนเป็นเพียงตัวเลข 1-5 172 00:07:37,930 --> 00:07:38,930 มันยากที่จะอ่านในบรรดา 173 00:07:38,930 --> 00:07:40,720 มันยากที่จะดีขึ้นจากนั้น 174 00:07:40,720 --> 00:07:44,460 แต่ความเห็นจะชี้เฉพาะเจาะจง สิ่งที่คุณได้เป็นอย่างดีหรือพื้นที่ 175 00:07:44,460 --> 00:07:48,360 คุณสามารถปรับปรุงและให้บาง ความคิดสำหรับอนาคตหรือทางเลือก 176 00:07:48,360 --> 00:07:49,160 วิธีการในการทำสิ่งที่ 177 00:07:49,160 --> 00:07:52,270 >> ดังนั้นโปรดกรุณาโปรดอ่าน ผ่านความเห็น 178 00:07:52,270 --> 00:07:54,190 ฉันใส่มากเวลาลง ความเห็นเหล่านั้น 179 00:07:54,190 --> 00:07:57,190 กรุณาอ่านผ่านพวกเขาและไม่เพียง เลื่อนลงไปด้านล่างของ 180 00:07:57,190 --> 00:08:01,890 รูปแบบไฟล์ PDF, มองหาคะแนนของคุณหรือไปออนไลน์ และหาคะแนนของคุณและจากนั้นไม่สนใจ 181 00:08:01,890 --> 00:08:02,800 ความเห็น 182 00:08:02,800 --> 00:08:03,910 นั่นไม่ใช่วิธีการที่คุณกำลัง จะได้รับดีกว่า 183 00:08:03,910 --> 00:08:06,550 ที่ไม่ว่าคุณจะเพิ่มขึ้น คะแนนของคุณที่สุดเพียง 184 00:08:06,550 --> 00:08:07,340 โดยดูที่คะแนน 185 00:08:07,340 --> 00:08:08,760 กรุณามองไปที่ความเห็นเหล่านั้น 186 00:08:08,760 --> 00:08:13,240 >> และเดินไปตามเส้นของความคาดหวังสูง, อีกครั้งเหมือนที่ผมกล่าวว่าคุณ 187 00:08:13,240 --> 00:08:14,260 สามารถทำคะแนนจากหนึ่งถึงห้า 188 00:08:14,260 --> 00:08:17,120 twos, สามและสี่เป็น ส่วนใหญ่ของคะแนน 189 00:08:17,120 --> 00:08:17,940 คุณกำลังจะได้รับ 190 00:08:17,940 --> 00:08:20,180 คนที่ห้าและมีทั้งที่หายากจริงๆ 191 00:08:20,180 --> 00:08:21,720 มีเสมอสิ่งที่ ที่เราสามารถทำได้ดีกว่า 192 00:08:21,720 --> 00:08:23,490 เมื่อใดก็ตามที่ผมรหัสโปรแกรมมี บางสิ่งบางอย่างที่ผมเสมอ 193 00:08:23,490 --> 00:08:24,800 จะได้ทำดีกว่า 194 00:08:24,800 --> 00:08:28,740 >> ดังนั้นแทนที่จะบอกว่าคุณจะได้รับห้า ตลอดเวลาในทุกสิ่งและทำ 195 00:08:28,740 --> 00:08:31,960 ทุกอย่างที่สมบูรณ์แบบฉันไม่คิดใด ๆ ของเราจริงๆเชื่อว่าเรา - หรือ 196 00:08:31,960 --> 00:08:34,830 หวังว่าเราจะไม่ทำทุกอย่าง ที่สมบูรณ์แบบตลอดเวลา 197 00:08:34,830 --> 00:08:37,010 ดังนั้นไม่ต้องกังวลถ้าคุณ ไม่ได้ห้า 198 00:08:37,010 --> 00:08:40,470 ห้าไม่ map บนสี่ ไม่ map ไปยัง B, สามไม่ 199 00:08:40,470 --> 00:08:42,950 แผนที่ไม่ได้ลง C. ที่ไม่ คะแนนวิธีทำงาน 200 00:08:42,950 --> 00:08:48,140 >> เช่นเดียวกับดาวิดได้กล่าวว่าหลายครั้งที่ สิ้นสุดภาคการศึกษาทั้งหมดของคะแนนของคุณและ 201 00:08:48,140 --> 00:08:53,390 ข้อมูลจากฉัน TF ของคุณมารวมกัน และกำหนดเกรดขั้นสุดท้ายสำหรับคุณ 202 00:08:53,390 --> 00:08:56,760 แต่อีกครั้งก็ไม่ห้า สี่, B, ฯลฯ 203 00:08:56,760 --> 00:09:01,150 ดังนั้นฉันจะมีความคาดหวังสูง สำหรับคุณผู้ชาย 204 00:09:01,150 --> 00:09:03,670 ฉันจะคาดหวังว่าปัญหาที่ดี ชุดและฉันจะให้ 205 00:09:03,670 --> 00:09:05,010 ข้อเสนอแนะดังกล่าว 206 00:09:05,010 --> 00:09:07,430 และมันจะไม่ได้หมายความว่าคุณไม่ จะได้รับเกรดที่เลวร้ายยิ่ง 207 00:09:07,430 --> 00:09:09,760 คุณมีคะแนนในแง่ของ ความคืบหน้าของคุณจากสัปดาห์ 208 00:09:09,760 --> 00:09:11,260 ศูนย์ไปยังจุดสิ้นสุดของหลักสูตร 209 00:09:11,260 --> 00:09:17,190 >> และในที่สุดก็ในแง่ของความสูง ความคาดหวังในชั้นเรียนของฉันรักเมื่อ 210 00:09:17,190 --> 00:09:18,460 คนมีส่วนร่วม 211 00:09:18,460 --> 00:09:23,180 ผมเข้าใจว่าบางคนรู้สึกมากขึ้นหรือ สบายน้อยที่เข้าร่วมโครงการ 212 00:09:23,180 --> 00:09:26,050 คนอื่น ๆ ที่เข้าร่วมโครงการ โดยไม่ยกมือของพวกเขาและ 213 00:09:26,050 --> 00:09:27,320 พูดคุยตลอดเวลา 214 00:09:27,320 --> 00:09:30,570 แต่เราในชั้นนี้จะไปได้ ทำมากจากปัญหาเล็ก ๆ จำนวนมาก 215 00:09:30,570 --> 00:09:33,770 คำถามที่มินิมาบ้างแล้ว ขนาดใหญ่ coding ปัญหา 216 00:09:33,770 --> 00:09:36,760 ดังนั้นแน่นอนทำงานการออกกำลังกายเหล่านี้ออก เมื่อเราทำพวกเขาในคอมพิวเตอร์ของคุณหรือบน 217 00:09:36,760 --> 00:09:37,900 แผ่นกระดาษ 218 00:09:37,900 --> 00:09:40,933 >> แต่ฉันยังจะทำให้คุณมีเวลาก่อนที่ ใครเคยมีคำตอบบางอย่าง 219 00:09:40,933 --> 00:09:42,220 ของคำถามที่ผมถาม 220 00:09:42,220 --> 00:09:44,930 เพราะฉันจะให้เวลาในการ คิดเกี่ยวกับมันเพราะเรากำลังจะไป 221 00:09:44,930 --> 00:09:49,380 ที่จะทำในสิ่งที่พันธมิตรบางครั้ง ฉันจะคาดหวังว่าทุกคน 222 00:09:49,380 --> 00:09:52,150 เพื่อมีส่วนร่วมบ้าง 223 00:09:52,150 --> 00:09:56,030 และสำหรับการขาดคำดีขึ้นมี อาจจะโทรเย็นซึ่ง 224 00:09:56,030 --> 00:09:59,045 เป็นที่ที่ทุกคนจะมีโอกาส ที่จะคิดเกี่ยวกับคำตอบแล้ว 225 00:09:59,045 --> 00:10:01,150 ผมจะโทรห​​าคุณแล้ว คุณจะบอกคำตอบ 226 00:10:01,150 --> 00:10:05,200 >> ไม่ต้องกังวลหรือต้องกลัวเกี่ยวกับเรื่องนั้น 227 00:10:05,200 --> 00:10:08,610 ผมเคยทำไว้ในอดีตที่ผ่านมาและเราได้พบ ว่ามันประสบความสำเร็จมาก, 228 00:10:08,610 --> 00:10:11,810 ยังอ่านงานวิจัยทางการศึกษาที่ภาพเพื่อ กำหนดหรือไม่มันเป็น 229 00:10:11,810 --> 00:10:12,640 กลยุทธ์ที่ดี 230 00:10:12,640 --> 00:10:15,790 มันจะมีประโยชน์มากโดยเฉพาะอย่างยิ่งถ้าคุณ ให้นักเรียนเวลาที่จะคิดเกี่ยวกับ 231 00:10:15,790 --> 00:10:20,070 คำตอบและไม่ได้ทำให้พวกเขาเพียงแค่มา ออกมาและบอกว่ามันขวาปิดค้างคาว 232 00:10:20,070 --> 00:10:22,620 แต่ถ้าคุณไม่รู้สึกสะดวกสบาย ตอบรับฉันยังสวยดีที่ 233 00:10:22,620 --> 00:10:25,370 รู้สึกว่าออกและเราไม่ได้ไป ทำให้คุณอยู่ในจุดที่โดยเฉพาะอย่างยิ่งเมื่อ 234 00:10:25,370 --> 00:10:28,240 กล้องแม้ว่าจะไม่มี คุณอยู่ในกล้องได้ในขณะนี้ 235 00:10:28,240 --> 00:10:32,250 >> ดังนั้นผู้ที่มีบรรทัดฐานที่ฉันมี 236 00:10:32,250 --> 00:10:34,670 สิ่งหนึ่งที่ขึ้นตามเส้น ของการประชุมในช่วงกลาง 237 00:10:34,670 --> 00:10:36,490 ฉันจะให้พวกคุณ มากความคิดเห็น 238 00:10:36,490 --> 00:10:38,310 กรุณาให้ข้อเสนอแนะเช่นกัน 239 00:10:38,310 --> 00:10:46,190 มีเว็บไซต์เป็นของ sayat.me/cs50 240 00:10:46,190 --> 00:10:48,380 ดังนั้นจึงเป็นความคิดเห็นอย่างจริงใจ 241 00:10:48,380 --> 00:10:50,730 ถ้าคุณต้องการที่จะให้มันในระหว่างส่วน ผมได้รับอีเมลเมื่อใดก็ตามที่มันเกิดขึ้น 242 00:10:50,730 --> 00:10:53,820 เราจะใช้เวลาพักในบิตดังนั้นฉันจะ มองผ่านข้อเสนอแนะแล้ว 243 00:10:53,820 --> 00:10:55,970 หากคุณเคยมีข้อเสนอแนะใด ๆ โปรดให้ไปให้ฉันไปที่นั่น 244 00:10:55,970 --> 00:11:01,380 >> ถ้าคุณให้ฉันความคิดเห็นเมื่อถามว่า ที่ยอดเยี่ยม แต่ที่คู่มือ 245 00:11:01,380 --> 00:11:02,570 ที่คุณทำในตอนท้าย 246 00:11:02,570 --> 00:11:05,690 แต่ที่จะเป็นที่สิ้นสุดภาคการศึกษาดังนั้น ผมจะไม่สามารถที่จะใช้ใด ๆ ที่ 247 00:11:05,690 --> 00:11:08,620 ข้อเสนอแนะและทำให้มันกลายเป็นการเรียนการสอน พวกคุณดีกว่า 248 00:11:08,620 --> 00:11:11,020 ดังนั้นโปรดถ้าคุณมีใด ๆ ข้อเสนอแนะให้กับผม 249 00:11:11,020 --> 00:11:12,010 ฉันรักข้อเสนอแนะ 250 00:11:12,010 --> 00:11:14,490 กลับไปที่ FOP เราได้รับข้อเสนอแนะ ตลอดเวลา 251 00:11:14,490 --> 00:11:18,610 >> คุณสามารถให้ฉัน pluses, สิ่งที่ดี, สันดอนสิ่งที่ฉันสามารถปรับปรุง 252 00:11:18,610 --> 00:11:20,600 คุณสามารถแสดงความคิดเห็นในชุดของฉัน 253 00:11:20,600 --> 00:11:24,170 ไม่ว่าจะเป็นประโยชน์เป็น แต่คุณ ยินดีต้อนรับสู่การแสดงความคิดเห็นใด ๆ และ 254 00:11:24,170 --> 00:11:24,570 ทุกอย่าง 255 00:11:24,570 --> 00:11:26,280 กรุณาโปรดให้ฉันข้อเสนอแนะ 256 00:11:26,280 --> 00:11:28,740 ผมเห็นคุณค่าของมันมากและมัน ความหมายอย่างมากกับผม 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> หนึ่งบรรทัดฐานเพิ่มเติมความสนุกสนาน 259 00:11:33,280 --> 00:11:34,530 เรากำลังจะมีจำนวนมากสนุก 260 00:11:34,530 --> 00:11:36,930 หวังว่าในหลักสูตรนี้คุณจะ มีจำนวนมากสนุก 261 00:11:36,930 --> 00:11:38,780 เราจะมีขนมที่ส่วน 262 00:11:38,780 --> 00:11:40,040 เราจะมีเพลง 263 00:11:40,040 --> 00:11:45,510 เราจะหวังว่าการทำความรู้จักกับหนึ่ง อีกค่อนข้างดีดังนั้นฉันต้องการ 264 00:11:45,510 --> 00:11:47,690 นี้จะมีความสนุกสนานประสบการณ์การมีส่วนร่วม 265 00:11:47,690 --> 00:11:50,890 >> ฉันรู้ว่าบางท่านได้ผล็อยหลับไปใน การบรรยายที่คุณมีวันนี้ก่อนหน้านี้ 266 00:11:50,890 --> 00:11:53,750 เพื่อหวังว่าจะไม่ เป็นกรณีที่ในขณะนี้ 267 00:11:53,750 --> 00:11:55,960 และหากเป็นกรณีที่ตอนนี้เพียงแค่ ไม่กรนเพราะนั่นอาจจะ 268 00:11:55,960 --> 00:11:57,580 ถูกจับในกล้อง 269 00:11:57,580 --> 00:11:58,770 หวาน 270 00:11:58,770 --> 00:12:04,020 คำถามใด ๆ ความเห็นหรือข้อสงสัย ก่อนที่ผมจะย้ายไปเกี่ยวกับอะไรเราได้ 271 00:12:04,020 --> 00:12:05,270 พูดคุยเกี่ยวกับ? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 ยิ่งใหญ่ 274 00:12:11,350 --> 00:12:14,830 >> ดังนั้นเรากำลังจะไป เป็นอาร์เรย์แรก 275 00:12:14,830 --> 00:12:17,140 นี่คือวิธีที่คุณทำอาร์เรย์ 276 00:12:17,140 --> 00:12:18,410 ที่เราเคยเห็นแบบนี้มาก่อน 277 00:12:18,410 --> 00:12:21,830 คุณมีชนิดของข้อมูลที่คุณมี ชื่อและแล้วคุณมีขนาด 278 00:12:21,830 --> 00:12:24,430 ขวาที่นี่ฉันสร้างอาร์เรย์ที่สอง 279 00:12:24,430 --> 00:12:30,360 คนแรกคืออาร์เรย์ของตัวอักษร, และมีช่องว่าง 26 280 00:12:30,360 --> 00:12:33,790 คนที่สองเป็น array ของ คะแนนและมันมีสาม 281 00:12:33,790 --> 00:12:35,390 ช่องว่างสำหรับสามจำนวนเต็ม 282 00:12:35,390 --> 00:12:35,827 ใช่? 283 00:12:35,827 --> 00:12:38,200 >> นักศึกษาทุกคนของสไลด์เหล่านี้ สถานที่บางแห่งสำหรับเรา? 284 00:12:38,200 --> 00:12:38,850 >> เจสัน Hirschhorn: คำถามที่ดี 285 00:12:38,850 --> 00:12:40,650 คำถามคือทั้งหมดที่มี เหล่านี้เลื่อนวางจำหน่ายเมื่อใด 286 00:12:40,650 --> 00:12:40,920 ใช่ 287 00:12:40,920 --> 00:12:43,420 ทั้งหมดของสไลด์เหล่านี้จะไม่สามารถใช้ได้ และในอนาคตผมจะส่งอีเมลไปยัง 288 00:12:43,420 --> 00:12:44,640 คุณก่อนส่วน 289 00:12:44,640 --> 00:12:47,340 แต่วันนี้เพราะนี้เป็นครั้งแรก สัปดาห์นี้เรามีเริ่มต้นสาย 290 00:12:47,340 --> 00:12:49,675 ดังนั้นมักจะคุณจะได้รับสไลด์เหล่านี้ แต่ พวกเขาจะออนไลน์และ 291 00:12:49,675 --> 00:12:52,420 ผมจะส่งอีเมลให้คุณ ขวาหลังเลิกเรียน 292 00:12:52,420 --> 00:12:54,140 คำถามใด ๆ อื่น ๆ 293 00:12:54,140 --> 00:13:01,330 >> ดังนั้นอีกครั้งอาร์เรย์เป็นกล่องสำหรับการขาด คำที่ดีกว่าที่ถือหลาย 294 00:13:01,330 --> 00:13:06,420 องค์ประกอบของชนิดข้อมูลหนึ่งและพวกเขากำลัง ต่อไปกับอีกคนหนึ่งในความทรงจำ 295 00:13:06,420 --> 00:13:11,370 และอื่น ๆ อีกครั้งนี้คือวิธีที่คุณสามารถ ทำให้ทั้งสองประเภทของอาร์เรย์ 296 00:13:11,370 --> 00:13:15,090 >> ดังนั้นหลังจากที่คุณได้ทำอาร์เรย์ของคุณด้วย ที่บรรทัดแรก - คะแนน int, ตัวยึด 297 00:13:15,090 --> 00:13:17,430 สามวงเล็บปิด - คุณ ต้องการเริ่มต้นมัน 298 00:13:17,430 --> 00:13:19,050 คุณต้องการที่จะนำบางค่าในการมี 299 00:13:19,050 --> 00:13:24,660 และนี่คือวิธีการที่คุณใส่ค่าบางอย่างใน มีเพียงการเลือก indice และ 300 00:13:24,660 --> 00:13:25,670 การเขียนจำนวน 301 00:13:25,670 --> 00:13:27,130 ลองวาดบนกระดานนี้ 302 00:13:27,130 --> 00:13:28,270 ทุกคนสามารถมองเห็น 303 00:13:28,270 --> 00:13:29,030 ทุกคนสามารถมองเห็นได้ 304 00:13:29,030 --> 00:13:30,790 หวาน 305 00:13:30,790 --> 00:13:36,550 >> เพื่อที่จะเป็นของฉัน อาร์เรย์เรียกคะแนน 306 00:13:36,550 --> 00:13:37,730 ที่คุณสามารถเห็นมันเป็นสามขนาด 307 00:13:37,730 --> 00:13:39,210 มีสามในกล่องมี 308 00:13:39,210 --> 00:13:43,120 แต่ละคนสามารถใส่อะไร ประเภทของข้อมูล? 309 00:13:43,120 --> 00:13:43,790 >> นักเรียน: จำนวนเต็ม 310 00:13:43,790 --> 00:13:45,250 >> เจสัน Hirschhorn: จำนวนเต็ม ในเรื่องนี้อย่างใดอย่างหนึ่ง 311 00:13:45,250 --> 00:13:48,790 เราเขียนคะแนน int และคำแรก เป็นชนิดข้อมูลที่จะไป 312 00:13:48,790 --> 00:13:50,910 ไปอยู่ในกล่องในอาร์เรย์ที่ 313 00:13:50,910 --> 00:13:52,160 ดังนั้นผมจึงสามารถใส่สาม 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 ฉันจะมีศูนย์ทำไมขึ้น มีบนบอร์ดหรือไม่ 316 00:13:57,000 --> 00:13:59,240 ทำไมมันบอกว่าศูนย์คะแนนเท่ากับ 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 เตือนฉันของชื่อของคุณ 319 00:14:03,180 --> 00:14:03,470 >> นักเรียน: เคิร์ต 320 00:14:03,470 --> 00:14:04,070 >> เจสัน Hirschhorn: เคิร์ต 321 00:14:04,070 --> 00:14:04,480 >> ลูกศิษย์: ใช่ 322 00:14:04,480 --> 00:14:04,920 >> เจสัน Hirschhorn: ทำไม? 323 00:14:04,920 --> 00:14:07,230 >> นักเรียน: เนื่องจากดัชนีแรกคือ ศูนย์เราเริ่มนับที่ศูนย์ 324 00:14:07,230 --> 00:14:08,480 >> เจสัน Hirschhorn: ดังนั้นเราจึงเริ่มต้น การนับที่ศูนย์ 325 00:14:08,480 --> 00:14:09,580 ที่ตรงขวา 326 00:14:09,580 --> 00:14:12,340 นี้เป็นส่วนที่ทำให้เกิดความสับสนและการเดินทางจะ คุณขึ้นโดยเฉพาะอย่างยิ่งเมื่อคุณอยู่ 327 00:14:12,340 --> 00:14:14,900 พยายามที่จะย้ำผ่านอาร์เรย์ ซึ่งเราจะทำในบิต 328 00:14:14,900 --> 00:14:15,980 เราเริ่มนับที่ศูนย์ 329 00:14:15,980 --> 00:14:19,170 ดังนั้นถ้าฉันต้องการดูเป็นครั้งแรก กล่องมันไม่ใช่กล่องหนึ่ง 330 00:14:19,170 --> 00:14:22,290 แต่น่าเสียดายที่มันเป็นศูนย์กล่อง 331 00:14:22,290 --> 00:14:26,460 คนที่สองเป็นหนึ่งกล่องและในการนี​​้ กรณีหนึ่งในสามเป็นสองกล่อง 332 00:14:26,460 --> 00:14:28,700 >> สิ่งที่เกี่ยวกับสามกล่อง? 333 00:14:28,700 --> 00:14:30,670 ที่สามกล่องคืออะไร? 334 00:14:30,670 --> 00:14:34,750 หรือถ้าเราต้องการที่จะทำคะแนนวงเล็บ, สามวงเล็บปิดสิ่งที่? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 ดังนั้นคุณ null อักขระกล่าวว่า 337 00:14:39,760 --> 00:14:41,600 ๆ คิดอื่น ๆ 338 00:14:41,600 --> 00:14:44,590 อะไรคือสิ่งที่ยึดสามคะแนนวงเล็บ? 339 00:14:44,590 --> 00:14:48,045 >> ลูกศิษย์: ไม่จริงไม่อยู่เพราะ คุณกำหนดไว้เป็นเพียงคะแนน 340 00:14:48,045 --> 00:14:49,370 สามวงเล็บ 341 00:14:49,370 --> 00:14:51,400 >> เจสัน Hirschhorn: ดังนั้นคุณจะพูดว่า มันไม่จริงที่มีอยู่ 342 00:14:51,400 --> 00:14:54,230 ในบางกรณีเมื่อเราจัดการกับ สตริงทั่วไปเราจะใส่โมฆะ 343 00:14:54,230 --> 00:14:54,790 ตัวละครในตอนท้าย 344 00:14:54,790 --> 00:14:56,100 เราจะไปว่าในที่สอง 345 00:14:56,100 --> 00:15:01,020 แต่ในกรณีนี้มี ไม่มีกล่องที่สามอยู่ที่นี่ 346 00:15:01,020 --> 00:15:06,390 ดังนั้นกล่องสุดท้ายในอาร์เรย์ใด ๆ คือขนาดลบ 1 347 00:15:06,390 --> 00:15:11,310 ดังนั้นถ้าเรามีอาร์เรย์ของ n ขนาด, กล่องแรกอยู่ที่ศูนย์สุดท้ายคือ 348 00:15:11,310 --> 00:15:12,700 ที่ n ลบ 1 349 00:15:12,700 --> 00:15:14,970 และในกรณีนี้มันไม่ได้อยู่ 350 00:15:14,970 --> 00:15:17,970 มีบางอย่างที่นี่ในคือ หน่วยความจำ แต่ไม่เรา 351 00:15:17,970 --> 00:15:18,460 เราไม่ได้เป็นเจ้าของมัน 352 00:15:18,460 --> 00:15:19,570 เราไม่ได้ขอมัน 353 00:15:19,570 --> 00:15:22,606 ดังนั้นถ้าเราพยายามที่จะเข้าถึงมันซึ่งเราจะ ทำในบิตเราอาจจะ 354 00:15:22,606 --> 00:15:24,970 แพ้ภัยตัว 355 00:15:24,970 --> 00:15:29,180 >> ในกรณีนี้ผมเริ่มต้นของฉัน อาร์เรย์ที่มีสามตัวแปร 356 00:15:29,180 --> 00:15:36,195 เรากำลังวางหนึ่งในกล่องศูนย์สอง ในกล่องหนึ่งและสามในสองกล่อง 357 00:15:36,195 --> 00:15:39,280 ไม่มีใครมีข้อสงสัยใด ๆ เกี่ยวกับการเริ่มต้นอาร์เรย์? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> ดังนั้นเราจึงไปกว่านี้ได้ในตอนนี้ 360 00:15:46,970 --> 00:15:52,725 คะแนนวงเล็บสามวงเล็บปิด ที่ไม่มีอยู่ 361 00:15:52,725 --> 00:15:58,130 เรากำลังจัดทำดัชนีศูนย์ในด้านวิทยาศาสตร์คอมพิวเตอร์, ดังนั้นเราจึงเริ่มนับที่ศูนย์ 362 00:15:58,130 --> 00:16:01,860 กล่องล่าสุดที่มีให้เราก็คือ กล่องที่สาม แต่ก็เรียกว่ากล่อง 363 00:16:01,860 --> 00:16:03,110 หมายเลขสอง 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> ลงด้านล่างนี้เป็นอีกทางเลือก วิธีการเริ่มต้นของอาร์เรย์ 366 00:16:09,710 --> 00:16:13,410 ดังนั้นแทนที่จะสร้างอาร์เรย์หนึ่ง สายการบรรจุกล่องแรกแล้ว 367 00:16:13,410 --> 00:16:17,070 กล่องที่สองแล้วกล่องที่สาม คุณสามารถทำทุกอย่างไว้ในหนึ่งบรรทัด 368 00:16:17,070 --> 00:16:19,040 ดังนั้นในบรรทัดที่อาร์เรย์ทั้งสอง 369 00:16:19,040 --> 00:16:23,460 นี้จะสร้างอาร์เรย์ที่แน่นอนเช่นเดียวกับ สิ่งที่เราสร้างขึ้นมาทางด้านขวาที่นี่ แต่ 370 00:16:23,460 --> 00:16:24,710 เพียงแค่ไม่ได้ในหนึ่งบรรทัด 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> ตอนนี้เราได้สร้างอาเรย์ของเรา 373 00:16:31,360 --> 00:16:34,100 โดยปกติเมื่อคุณสร้างอาร์เรย์คุณ ต้องการที่จะทำอะไรกับมันไม่ว่าจะเป็น 374 00:16:34,100 --> 00:16:38,430 ที่เติมเต็มหรือได้รับสิ่งที่ออกมาจากมัน และพิมพ์ออกมาบนหน้าจอ 375 00:16:38,430 --> 00:16:42,270 ในกรณีนี้เรากำลังจะผ่านของเรา แถวคะแนนซึ่งเราเริ่มต้นได้ 376 00:16:42,270 --> 00:16:44,740 บรรทัดแรกขึ้นที่นี่ในสีเทา 377 00:16:44,740 --> 00:16:49,600 และจากนั้นในบรรทัดที่สองเราเริ่มต้น iterating ผ่านแถว 378 00:16:49,600 --> 00:16:52,640 ไม่มีใครมีคำถามเกี่ยวกับเรื่อง โครงสร้างของสำหรับวง? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> ดังนั้นนี่คือการห่วง 381 00:16:56,400 --> 00:16:59,530 เรามีสภาวะเริ่มต้นของเราแล้ว สภาพสุดท้ายของเราแล้วเรา 382 00:16:59,530 --> 00:17:01,160 ย้ำ, i, แต่ละวง 383 00:17:01,160 --> 00:17:05,579 และในวงเล็บปีกกาในนี้ ห่วงจะเกิดอะไรขึ้นถ้าฉันได้เพื่อให้ทำงานได้ 384 00:17:05,579 --> 00:17:06,290 โปรแกรมนี้ 385 00:17:06,290 --> 00:17:10,410 ใครสามารถบอกได้ว่าสิ่งที่เราจะได้รับ? 386 00:17:10,410 --> 00:17:11,589 [? ? Matu ?] 387 00:17:11,589 --> 00:17:13,819 >> Matu: พิมพ์คะแนนทั้งหมด ในแต่ละบรรทัด 388 00:17:13,819 --> 00:17:14,900 มันจะพิมพ์ความคิดเห็นของแต่ละคน บนบรรทัดที่แยกต่างหาก 389 00:17:14,900 --> 00:17:16,300 >> เจสัน Hirschhorn ว่าอะไร มันจะพิมพ์? 390 00:17:16,300 --> 00:17:19,790 >> ลูกศิษย์: มันจะพิมพ์หนึ่ง แล้วสองสามแล้ว 391 00:17:19,790 --> 00:17:20,235 >> เจสัน Hirschhorn: ว่า 392 00:17:20,235 --> 00:17:23,490 มันจะพิมพ์หนึ่งแล้วสองแล้ว สามแต่ละเส้นที่แยกจากกันเพราะ 393 00:17:23,490 --> 00:17:27,810 ที่เรากำลังจะผ่านแถวและคุณจะ ดูที่สองที่, printf 394 00:17:27,810 --> 00:17:29,275 คะแนนคำสั่งผม 395 00:17:29,275 --> 00:17:32,880 ดังนั้นในรอบแรกผ่านของเรา ห่วงผมเท่ากับศูนย์ซึ่งหมายความว่าเรากำลัง 396 00:17:32,880 --> 00:17:34,640 ได้รับค่าที่ศูนย์คะแนน - 397 00:17:34,640 --> 00:17:36,900 ซึ่งถ้าเรากลับไปที่ แผนภาพของเราเป็นหนึ่ง - 398 00:17:36,900 --> 00:17:38,630 และกรอกข้อมูลใน - 399 00:17:38,630 --> 00:17:39,700 โอ้มันคพูดว่า 400 00:17:39,700 --> 00:17:41,680 ที่ควรจะเป็น% d 401 00:17:41,680 --> 00:17:43,970 ฉันจะแก้ไขปัญหาที่อยู่ในบิตเมื่อ มือผมที่ออกมาให้พวกคุณ 402 00:17:43,970 --> 00:17:48,670 แต่เรากำลังนำเสนอจำนวนเต็มจึง ควรจะเป็น% d ที่นี่ไม่ได้% C 403 00:17:48,670 --> 00:17:50,340 % c สำหรับคืออะไร? 404 00:17:50,340 --> 00:17:50,790 >> นักเรียน: ตัวอักษร 405 00:17:50,790 --> 00:17:52,680 >> เจสัน Hirschhorn: ตัวอักษรตรง 406 00:17:52,680 --> 00:17:53,690 คนอื่น ๆ คืออะไร? 407 00:17:53,690 --> 00:17:56,260 หากคุณไม่ต้องการที่จะทำ d% สำหรับ จำนวนเต็มอะไรที่คุณจะทำอย่างไร 408 00:17:56,260 --> 00:17:57,000 >> ลูกศิษย์: ผม 409 00:17:57,000 --> 00:17:59,180 >> เจสัน Hirschhorn: i% ตรง 410 00:17:59,180 --> 00:18:01,660 ดังนั้นคำถามใด ๆ เกี่ยวกับ iterating ผ่านแถว? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 จึงเกิดขึ้นถ้าเราทำเช่นนี้คืออะไร? 413 00:18:07,800 --> 00:18:10,290 แทนการทำ i น้อยกว่า สามฉันจะเราจะน้อย 414 00:18:10,290 --> 00:18:11,390 กว่าหรือเท่ากับสาม 415 00:18:11,390 --> 00:18:13,420 ที่เกิดขึ้นเมื่อเราเรียกใช้รหัสนี้คืออะไร? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 ใช่? แอนนี่ 418 00:18:18,940 --> 00:18:22,030 >> นักเรียน: พวกเขากำลังจะพิมพ์ออกมา สิ่งที่แปลกในบรรทัดที่สี่ 419 00:18:22,030 --> 00:18:23,850 >> เจสัน Hirschhorn: คุณกล่าวว่าเป็นมัน จะพิมพ์ออกสิ่งที่แปลก 420 00:18:23,850 --> 00:18:24,390 บรรทัดที่สี่? 421 00:18:24,390 --> 00:18:25,750 ไม่มีใครมีคำตอบ คำถามของเธอ? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 ดังนั้นราคาถูกว่าเมื่อ เราได้รับ - 424 00:18:33,160 --> 00:18:36,700 ดังนั้นเมื่อรอบที่สี่ผ่านของเรา ห่วงเช่นเดียวกับที่คุณคิดว่าแอนนี่ 425 00:18:36,700 --> 00:18:39,430 มันจะเป็นคะแนนวงเล็บสามซึ่ง เราได้คิดแล้วออกไม่ได้ 426 00:18:39,430 --> 00:18:41,990 อยู่และเราจะพยายาม และการเข้าถึงที่พิมพ์ 427 00:18:41,990 --> 00:18:43,350 ออกใช้วิธีการบางอย่าง 428 00:18:43,350 --> 00:18:46,060 ดังนั้นเครื่องคอมพิวเตอร์อาจจะ ได้รับบ้าที่เรา 429 00:18:46,060 --> 00:18:46,760 คุณขวาตรง 430 00:18:46,760 --> 00:18:48,830 >> มันอาจจะออกจากโปรแกรมทั้งหมด 431 00:18:48,830 --> 00:18:52,222 มันอาจจะพิมพ์ออกมาบางสิ่งบางอย่าง แปลกจริงๆ 432 00:18:52,222 --> 00:18:53,420 คุณไม่สามารถพูดได้อย่างแน่นอน 433 00:18:53,420 --> 00:18:56,210 ราคาต่อรองเป็นมันอาจจะได้รับบ้าที่ คุณและเพิ่งลาออกทันที 434 00:18:56,210 --> 00:19:00,100 >> แต่เรื่องนี้เป็นข้อผิดพลาดทั่วไปที่คุณจะมี ที่คุณกันเพียงปิดโดยหนึ่งที่ 435 00:19:00,100 --> 00:19:05,110 ท้ายที่สุดและปัญหานี้เป็นปัญหาที่จะ เกิดภัยพิบัติคุณตลอดการเข้ารหัสของคุณ 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 วิธีการหนึ่งที่ผมชอบที่จะทำคือเพียง ไวท์บอร์ดไปผ่านแต่ละซ้ำ 438 00:19:14,150 --> 00:19:18,190 ของวงในมือหรือบนกระดาษที่จะเห็น สิ่งที่เกิดขึ้นและจากนั้นคุณ 439 00:19:18,190 --> 00:19:20,440 โดยทั่วไปตระหนักถึงโอ้รอผมไม่ควร ได้ไปน้อยกว่าหรือ 440 00:19:20,440 --> 00:19:20,870 เท่ากับสาม 441 00:19:20,870 --> 00:19:24,730 ฉันควรจะหยุดที่สองซึ่งเป็น จะเกิดอะไรขึ้นถ้าเงื่อนไขของคุณน้อยสิ่ง 442 00:19:24,730 --> 00:19:26,206 กว่าสาม 443 00:19:26,206 --> 00:19:29,120 คำถามใด ๆ เพื่อให้ห่างไกล? 444 00:19:29,120 --> 00:19:31,010 หวาน 445 00:19:31,010 --> 00:19:33,360 >> เพื่อให้คุณทุกคนมีเครื่องคอมพิวเตอร์ของคุณเปิด 446 00:19:33,360 --> 00:19:36,760 เราจะให้คุณได้ 2-3 นาทีในการเขียนโปรแกรมว่า 447 00:19:36,760 --> 00:19:40,460 สร้าง array ที่มีจำนวนเต็มหนึ่ง ผ่านห้าแล้วพิมพ์ออกแต่ละ 448 00:19:40,460 --> 00:19:41,720 จำนวนเต็มในบรรทัดใหม่ 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 และถ้าคุณมีคำถามใด ๆ ยกมือของคุณ 451 00:19:46,000 --> 00:19:48,140 ฉันมีความสุขที่จะมาด้วย 452 00:19:48,140 --> 00:19:50,630 เช่นฉันกล่าวว่าขอใช้เวลาสาม นาทีในการเขียนนี้ 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 คือทุกคนตกลงถ้าฉันไป หน้าต่างใหม่และปิดนี้ 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> ฉันขอโทษถ้าคุณไม่ได้มีโอกาส ที่จะเสร็จสิ้น แต่เรากำลังจะทำมัน 457 00:22:15,520 --> 00:22:17,310 ร่วมกันได้ในขณะนี้ 458 00:22:17,310 --> 00:22:23,640 ดังนั้นขึ้นบนหน้าจอผมได้ # include cs50.h, # include stdio.h 459 00:22:23,640 --> 00:22:26,090 ใครสักคนที่สามารถบอกฉันว่า ทั้งสองเส้นทำอะไร? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 ไมเคิล 462 00:22:33,155 --> 00:22:40,030 >> นักศึกษาพวกเขารวมถึงห้องสมุด ที่ CS50 ทำและที่มีสตีฟ 463 00:22:40,030 --> 00:22:44,210 บันทึกไว้สำหรับคุณที่จะใช้ในการ ทำให้ชีวิตของคุณง่ายขึ้น 464 00:22:44,210 --> 00:22:46,820 >> เจสัน Hirschhorn: คุณกล่าวว่าพวกเขา รวมถึงห้องสมุดหนึ่งที่ CS50 465 00:22:46,820 --> 00:22:51,230 cs50.h ทำและคนที่เป็น มาตรฐานเพียงมาพร้อมกับ 466 00:22:51,230 --> 00:22:53,510 แพคเกจ C, stdio.h 467 00:22:53,510 --> 00:22:54,890 คุณหมายถึงอะไรรวมถึง ห้องสมุด แต่? 468 00:22:54,890 --> 00:22:55,770 คุณสามารถเป็นบิตเฉพาะเจาะจงมากขึ้น? 469 00:22:55,770 --> 00:23:01,180 >> ลูกศิษย์: มันทำให้เพื่อให้คุณสามารถ ใช้คำรหัสบางอย่างที่จะมี 470 00:23:01,180 --> 00:23:05,710 ทำงานเกิดขึ้นได้โดยไม่ต้องไป และให้คฟังก์ชั่นด้วยตัวเอง 471 00:23:05,710 --> 00:23:08,730 >> เจสัน Hirschhorn: คุณสามารถ ให้ฉันตัวอย่าง? 472 00:23:08,730 --> 00:23:11,160 >> นักเรียน: เช่นเดียวกับ printf เป็นหนึ่งคุณสามารถใช้ 473 00:23:11,160 --> 00:23:11,860 >> เจสัน Hirschhorn: Printf 474 00:23:11,860 --> 00:23:14,680 ดังนั้นคุณกล่าวว่า printf เป็นหนึ่งในบรรดา ฟังก์ชั่นที่แทนที่จะต้อง 475 00:23:14,680 --> 00:23:19,840 เขียน printf ด้วยตัวคุณเอง printf คือ รวมจริงใน stdio.h เพื่อให้คุณ 476 00:23:19,840 --> 00:23:22,010 ก็สามารถใช้งานได้และถือว่า ว่ามันจะทำงาน 477 00:23:22,010 --> 00:23:28,270 ใน stdio.h ถ้าคุณเปิดแฟ้มที่, มันจะรวมถึงวิธี printf 478 00:23:28,270 --> 00:23:31,620 ผลงานทั้งหมดของรหัสสำหรับ printf? 479 00:23:31,620 --> 00:23:33,105 คุณกำลังสั่นหัวของคุณทำไม? 480 00:23:33,105 --> 00:23:35,710 >> นักเรียน: เพราะไฟล์ส่วนหัวเพียง รวมถึงการประกาศฟังก์ชัน 481 00:23:35,710 --> 00:23:36,400 >> เจสัน Hirschhorn: ตรงขวา 482 00:23:36,400 --> 00:23:39,680 ไฟล์ส่วนหัวเพียงรวมถึง การประกาศฟังก์ชัน 483 00:23:39,680 --> 00:23:42,950 ดังนั้นโดยทั่วไปเมื่อคุณคอมไพล์นี้ ตีให้จำนวนครั้งที่เราจะทำใน 484 00:23:42,950 --> 00:23:48,070 สองคอมไพเลอร์รู้ว่าถ้า คุณใช้ printf, printf อยู่ 485 00:23:48,070 --> 00:23:49,370 มันจะถูกกำหนดไว้ที่ใดที่หนึ่ง 486 00:23:49,370 --> 00:23:51,200 มันไม่ได้เป็นปัญหาสำหรับคุณใช้มัน 487 00:23:51,200 --> 00:23:55,490 แล้วต่อมามันจะรวมถึง คนและศูนย์ที่จริงมี 488 00:23:55,490 --> 00:23:58,360 การดำเนินการตาม printf และ ตัดพวกเขาด้วยรหัสของคุณ 489 00:23:58,360 --> 00:24:01,935 คุณจะทำอย่างไรให้แน่ใจว่าจะรวมถึง คนและศูนย์สำหรับการพูดการรับสาย? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> นักเรียน: รับสตริงใน cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> เจสัน Hirschhorn ขวา: 493 00:24:07,830 --> 00:24:11,110 ดังนั้นที่บอกว่ารับสายที่มีอยู่ การประกาศฟังก์ชัน 494 00:24:11,110 --> 00:24:15,410 แต่แล้วคนและศูนย์, ไบนารี ไฟล์ที่จริงรวมถึง 495 00:24:15,410 --> 00:24:17,370 การดำเนินงานของสตริงได้รับ? 496 00:24:17,370 --> 00:24:19,310 คุณจะแน่ใจได้อย่างไรว่า ไปกับโปรแกรมของคุณ? 497 00:24:19,310 --> 00:24:23,220 >> นักศึกษาผ่านลิงเกอร์ใน อาร์กิวเมนต์บรรทัดคำสั่ง 498 00:24:23,220 --> 00:24:25,430 >> เจสัน Hirschhorn: ผ่านลิงเกอร์ ในอาร์กิวเมนต์บรรทัดคำสั่ง 499 00:24:25,430 --> 00:24:26,700 คุณจะทำอย่างไรที่? 500 00:24:26,700 --> 00:24:29,730 >> นักเรียน: มัน l บรรทัดในเสียงดังกราว 501 00:24:29,730 --> 00:24:30,480 >> เจสัน Hirschhorn: ตรงขวา 502 00:24:30,480 --> 00:24:32,900 คุณบอกว่า l-CS50 ใช่มั้ย? 503 00:24:32,900 --> 00:24:34,940 ซึ่งรวมถึงคนและศูนย์ 504 00:24:34,940 --> 00:24:36,460 >> นักเรียน: แต่ทำไม่ ที่สำหรับคุณใช่มั้ย? 505 00:24:36,460 --> 00:24:37,010 >> เจสัน Hirschhorn: ว่า 506 00:24:37,010 --> 00:24:40,390 ทำให้ไม่ว่าสำหรับคุณ แต่ในท้ายที่สุด คุณจะไม่ได้รู้จักหรือ 507 00:24:40,390 --> 00:24:43,220 คุณจะต้องให้รู้จัก ด้วยตัวคุณเองเพื่อที่ว่า 508 00:24:43,220 --> 00:24:43,940 สิ่งที่ดีที่จะจำ 509 00:24:43,940 --> 00:24:47,350 ถ้าคุณกำลังจะใช้หนึ่งในเหล่านี้ ห้องสมุดอื่น ๆ คุณไม่เพียง แต่มี 510 00:24:47,350 --> 00:24:49,490 การเขียน # include และ แล้วห้องสมุด 511 00:24:49,490 --> 00:24:51,420 นอกจากนี้คุณยังจำเป็นต้องเชื่อมโยงมันเข้า 512 00:24:51,420 --> 00:24:54,480 และทั้งสองสิ่งที่แตกต่างกัน l-CS50 ที่แตกต่างกัน 513 00:24:54,480 --> 00:24:59,260 กว่า # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> แล้วเรามี int ฟันหลักโมฆะหยิก และตอนนี้เรากำลังจะได้รหัส 515 00:25:02,870 --> 00:25:03,590 หลักภายใน 516 00:25:03,590 --> 00:25:07,090 สายแรกที่ผมมีอยู่นี่เป็นความเห็นนะ บอกว่าสร้างอาร์เรย์ 517 00:25:07,090 --> 00:25:08,820 กับ ints หนึ่งห้า 518 00:25:08,820 --> 00:25:12,600 คำที่ดีที่จะอธิบายสิ่งที่ฉันคืออะไร มีสิทธิที่ตอนนี้บนหน้าจอเพียง 519 00:25:12,600 --> 00:25:14,170 ความเห็นหลักภายใน? 520 00:25:14,170 --> 00:25:15,722 อะไรที่เราเรียกว่า? 521 00:25:15,722 --> 00:25:16,820 >> นักเรียน: Pseudocode 522 00:25:16,820 --> 00:25:17,840 >> เจสัน Hirschhorn: Pseudocode 523 00:25:17,840 --> 00:25:18,420 ขอบคุณเจฟฟรีย์ 524 00:25:18,420 --> 00:25:19,540 ที่อยู่ตรงขวา 525 00:25:19,540 --> 00:25:20,005 pseudocode 526 00:25:20,005 --> 00:25:22,854 พวกคุณได้เห็น pseudocode มาก่อนหรือไม่ 527 00:25:22,854 --> 00:25:28,340 ยกมือของคุณหากคุณเคยใช้ pseudocode ก่อนที่ปัญหาตั้งหนึ่ง 528 00:25:28,340 --> 00:25:29,400 ประมาณครึ่งหนึ่งของคุณ 529 00:25:29,400 --> 00:25:32,700 >> ฉันอยากจะแนะนำให้ใช้ pseudocode จะทำลายลงเป็นปัญหา 530 00:25:32,700 --> 00:25:35,210 ขนาดเล็กง่ายต่อการกัดออกชิ้น 531 00:25:35,210 --> 00:25:38,630 นอกจากนี้ถ้าคุณทำ pseudocode คุณ มีความคิดเห็นของคุณแล้วส่วนใหญ่ 532 00:25:38,630 --> 00:25:40,760 สร้างขึ้นในดังนั้นคุณจึงไม่ต้อง กลับไปและพยายามที่จะคิดออก 533 00:25:40,760 --> 00:25:42,450 สิ่งที่คุณทำ 534 00:25:42,450 --> 00:25:44,730 ดังนั้นใครบางคนที่สามารถให้ฉันนี้บรรทัดแรก เพื่อสร้างอาร์เรย์ที่มี ints หนึ่ง 535 00:25:44,730 --> 00:25:45,980 ผ่านห้า? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 คุณ? 538 00:25:49,130 --> 00:25:53,350 >> นักเรียน: Int และจากนั้นคุณสามารถเรียก สิ่งที่จำนวนแล้วตาราง 539 00:25:53,350 --> 00:25:54,830 ห้าวงเล็บ 540 00:25:54,830 --> 00:25:57,820 >> เจสัน Hirschhorn: หมายเลข int ดังนั้น วงเล็บเหลี่ยมห้า 541 00:25:57,820 --> 00:25:59,160 >> นักศึกษาเท่ากับและ วงเล็บปีกกาแล้ว 542 00:25:59,160 --> 00:26:00,830 >> เจสัน Hirschhorn: เท่ากับ, วงเล็บปีกกา 543 00:26:00,830 --> 00:26:01,830 >> นักเรียน: หนึ่งสองสามสี่ 544 00:26:01,830 --> 00:26:05,566 >> เจสัน Hirschhorn: หนึ่ง, สอง, สามสี่ห้า 545 00:26:05,566 --> 00:26:07,390 >> นักเรียน: และจากนั้นวงเล็บปีกกา แล้วอัฒภาค 546 00:26:07,390 --> 00:26:09,240 >> เจสัน Hirschhorn: และหยิก จัดฟันและอัฒภาค 547 00:26:09,240 --> 00:26:10,330 ยอดเยี่ยม 548 00:26:10,330 --> 00:26:12,210 พิมพ์ int ในบรรทัดใหม่แต่ละ 549 00:26:12,210 --> 00:26:17,140 คนอื่นสามารถให้ ฉันรหัสที่โปรด? 550 00:26:17,140 --> 00:26:17,530 [? ? Matu ?] 551 00:26:17,530 --> 00:26:18,560 เอาเลย 552 00:26:18,560 --> 00:26:20,440 >> นักเรียน: สำหรับ ( 553 00:26:20,440 --> 00:26:21,750 >> เจสัน Hirschhorn: สำหรับ ( 554 00:26:21,750 --> 00:26:23,740 >> นักเรียน: int i = 0 555 00:26:23,740 --> 00:26:26,070 >> เจสัน Hirschhorn: int i = 0 556 00:26:26,070 --> 00:26:28,190 >> นักเรียน: อัฒภาคผมน้อยกว่าห้า 557 00:26:28,190 --> 00:26:31,680 >> เจสัน Hirschhorn: อัฒภาค, ผมน้อยกว่า 5 558 00:26:31,680 --> 00:26:33,600 >> นักเรียน: อัฒภาค, i + + 559 00:26:33,600 --> 00:26:35,140 >> เจสัน Hirschhorn: อัฒภาค, i + + 560 00:26:35,140 --> 00:26:37,720 >> นักศึกษาวงเล็บปิด แล้วรั้งเปิด 561 00:26:37,720 --> 00:26:39,410 >> เจสัน Hirschhorn: วงเล็บปิด และอีกสองคนจัดฟัน 562 00:26:39,410 --> 00:26:40,510 ภายในวงเล็บ? 563 00:26:40,510 --> 00:26:47,640 >> นักเรียน: และแล้ว printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> เจสัน Hirschhorn: ขออภัยไว้ 565 00:26:48,695 --> 00:26:52,330 printf "% d / n, อ้างปิด 566 00:26:52,330 --> 00:26:55,980 >> นักเรียน: และจากนั้นอ้างปิด จุลภาคนับวงเล็บผม 567 00:26:55,980 --> 00:26:58,350 >> เจสัน Hirschhorn: ลูกน้ำ, นับวงเล็บผม 568 00:26:58,350 --> 00:26:59,970 >> นักเรียน: ขออภัยวงเล็บตัวเลขผม 569 00:26:59,970 --> 00:27:01,416 >> เจสัน Hirschhorn: ตัวเลขในวงเล็บผม 570 00:27:01,416 --> 00:27:03,200 >> นักเรียน: ขออภัย 571 00:27:03,200 --> 00:27:04,750 และปิดแล้ววงเล็บ อัฒภาค 572 00:27:04,750 --> 00:27:07,156 >> เจสัน Hirschhorn: ปิด วงเล็บอัฒภาค 573 00:27:07,156 --> 00:27:08,680 ฉันจะบันทึกว่า 574 00:27:08,680 --> 00:27:12,670 เรากำลังจะทำนับ 575 00:27:12,670 --> 00:27:14,742 และวิธีการที่ผมทำงานนับ? 576 00:27:14,742 --> 00:27:16,470 >> นักเรียน: เครื่องหมายทับขวา 577 00:27:16,470 --> 00:27:17,180 >> นักเรียน: Dot ทับ - 578 00:27:17,180 --> 00:27:18,050 >> เจสัน Hirschhorn:. / นับว่า 579 00:27:18,050 --> 00:27:19,380 ขอบคุณ . นับ / 580 00:27:19,380 --> 00:27:21,060 หนึ่งสองสามสี่ ห้าสายใหม่ 581 00:27:21,060 --> 00:27:22,110 ดูเหมือนว่ามันทำงาน 582 00:27:22,110 --> 00:27:23,200 ใช่? โนอาห์ 583 00:27:23,200 --> 00:27:26,660 >> นักศึกษานอกจากนี้คุณยังสามารถทำอะไรได้น้อยกว่าหรือ เท่ากับสี่เช่น i น้อยกว่า 584 00:27:26,660 --> 00:27:27,630 หรือเท่ากับสี่? 585 00:27:27,630 --> 00:27:31,190 มีความได้เปรียบในการทำน้อย ๆ กว่าห้าหรือเพียงแค่เป็นวิธีที่แตกต่างกันของ 586 00:27:31,190 --> 00:27:31,610 การเขียนหรือไม่ 587 00:27:31,610 --> 00:27:35,280 >> เจสัน Hirschhorn: ดังนั้นคำถามคือคุณ จะได้ทำ i น้อยกว่าหรือ 588 00:27:35,280 --> 00:27:37,450 เท่ากับสี่แทน i น้อยกว่าห้า 589 00:27:37,450 --> 00:27:38,935 จะมีการทำงานที่เหมือนกันหรือไม่ 590 00:27:38,935 --> 00:27:39,760 >> นักศึกษาควร 591 00:27:39,760 --> 00:27:39,860 >> เจสัน Hirschhorn: ใช่ 592 00:27:39,860 --> 00:27:41,660 มันได้ทั้งหมดจะทำงานเดียวกัน 593 00:27:41,660 --> 00:27:44,780 stylistically มันโดยทั่วไปน้อยกว่า, และคุณจะเห็นในที่สองเมื่อ 594 00:27:44,780 --> 00:27:48,160 เราสตริงคุณสามารถใช้บางสิ่งบางอย่าง เรียกว่า strlen ซึ่งคุณเคยเห็น 595 00:27:48,160 --> 00:27:50,380 ก่อนที่จะได้รับระยะเวลา ของสตริง 596 00:27:50,380 --> 00:27:54,090 และคุณไม่สามารถทำน้อยกว่า หรือเท่ากับ strlen 597 00:27:54,090 --> 00:27:56,500 คุณสามารถทำน้อยกว่าหรือ เท่ากับ strlen ลบหนึ่ง 598 00:27:56,500 --> 00:27:59,260 ดังนั้นจึงเป็นเพียงแค่ดีกว่าไป ทำน้อยกว่า strlen 599 00:27:59,260 --> 00:28:00,240 ใช่? 600 00:28:00,240 --> 00:28:03,270 >> นักศึกษาและในความเป็นจริงแบบทดสอบให้ทำ เราจะต้องให้ความเห็นของเรา 601 00:28:03,270 --> 00:28:04,620 รหัสด้วยหรือไม่ 602 00:28:04,620 --> 00:28:06,130 >> เจสัน Hirschhorn: คำถาม ได้ในแบบทดสอบให้ทำคุณ 603 00:28:06,130 --> 00:28:07,760 จะต้องให้ความเห็น? 604 00:28:07,760 --> 00:28:12,050 ดังนั้นเราจะพูดเพิ่มเติมเกี่ยวกับแบบทดสอบเมื่อ พวกเขามา แต่โดยทั่วไปดี 605 00:28:12,050 --> 00:28:14,530 กฎของหัวแม่มือคือเมื่อใดก็ตามที่คุณ การเขียนโค้ดให้ความเห็น 606 00:28:14,530 --> 00:28:18,130 ถ้าคุณได้รับรหัสที่ไม่ถูกต้อง แต่ แสดงความเห็นที่ถูกต้องคุณอาจได้รับบางส่วน 607 00:28:18,130 --> 00:28:22,280 เครดิตทั้งจากฉันถ้าฉันได้รับการจัดลำดับ คุณอยู่กับชุดปัญหาหรือตอบคำถาม 608 00:28:22,280 --> 00:28:24,660 ดังนั้นความเห็นอยู่เสมอ ที่ดีที่จะให้ 609 00:28:24,660 --> 00:28:25,040 หวาน 610 00:28:25,040 --> 00:28:25,460 นับ 611 00:28:25,460 --> 00:28:26,720 งานที่ยอดเยี่ยม 612 00:28:26,720 --> 00:28:28,570 ย้าย Let 's 613 00:28:28,570 --> 00:28:29,920 >> เงื่อนไข 614 00:28:29,920 --> 00:28:30,630 เงื่อนไข 615 00:28:30,630 --> 00:28:31,730 ที่เราเคยเห็นแบบนี้มาก่อนในการบรรยาย 616 00:28:31,730 --> 00:28:33,390 นี้พัดใจของฉันเมื่อฉัน พบครั้งแรกนี้ 617 00:28:33,390 --> 00:28:37,240 มันอาจไม่ได้พัดของใคร ใจที่นี่ แต่ที่ตกลง 618 00:28:37,240 --> 00:28:41,260 >> สตริงเป็นอาร์เรย์ของตัวอักษรและ พวกเขาจบลงด้วยการที่คุณกล่าวก่อนหน้านี้ 619 00:28:41,260 --> 00:28:45,710 null terminator ซึ่ง นี้ / 0 ตัวอักษร 620 00:28:45,710 --> 00:28:47,740 ถ้าเรากำลังจะวาดสตริง คณะกรรมการที่เราจะวาดมันกว่าที่นี่ 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 ดังนั้นวิธีที่ยาวสายนี้คืออะไร? 623 00:28:56,420 --> 00:28:56,680 ขอโทษ 624 00:28:56,680 --> 00:28:57,660 นานแค่ไหนที่สายนี้คืออะไร? 625 00:28:57,660 --> 00:28:57,910 >> ลูกศิษย์: [ได้ยิน] 626 00:28:57,910 --> 00:28:59,010 >> เจสัน Hirschhorn: สี่? 627 00:28:59,010 --> 00:28:59,880 ทำไมมันจึงเป็นสี่? 628 00:28:59,880 --> 00:29:02,240 >> นักเรียน: เพราะจุดที่ห้า คือสำหรับตัวโมฆะ 629 00:29:02,240 --> 00:29:04,070 >> เจสัน Hirschhorn: ดังนั้นจุดที่ห้า คือสำหรับตัวโมฆะ 630 00:29:04,070 --> 00:29:07,130 ดังนั้นถ้ามีการใช้ strlen เมื่อ นี้ก็จะให้ฉันสี่ 631 00:29:07,130 --> 00:29:07,850 ที่ถูกต้อง 632 00:29:07,850 --> 00:29:11,640 และอาเรย์ แต่ถ้ามีการ เริ่มต้นแถวนี้กี่ช่องว่าง 633 00:29:11,640 --> 00:29:13,444 ผมจะต้องขอ? 634 00:29:13,444 --> 00:29:13,821 >> นักศึกษาห้า 635 00:29:13,821 --> 00:29:14,200 >> เจสัน Hirschhorn: ห้า 636 00:29:14,200 --> 00:29:17,650 ผมจะต้องขอห้า แต่ฉันสามารถ ใส่เพียงสี่ตัวอักษรในที่นี่ 637 00:29:17,650 --> 00:29:19,750 เพราะผมต้องการที่จะนำโมฆะว่า terminator ที่สิ้นสุด 638 00:29:19,750 --> 00:29:25,260 ดังนั้นเรากำลังจะเขียนใน "ohai" และ ใส่ null terminator ในตอนท้าย 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 เราจะบอกว่านี้เป็นสตริง s เท่ากับนี้ 641 00:29:34,940 --> 00:29:36,610 ศูนย์ s วงเล็บคืออะไร? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s วงเล็บศูนย์แอนนี่? 644 00:29:41,550 --> 00:29:41,950 >> นักเรียน: ทุม 645 00:29:41,950 --> 00:29:45,400 >> เจสัน Hirschhorn: O ตรง s วงเล็บหนึ่ง? 646 00:29:45,400 --> 00:29:48,200 s วงเล็บห้า? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 s วงเล็บห้า? 649 00:29:53,955 --> 00:29:54,740 >> ลูกศิษย์: ไม่อยู่ 650 00:29:54,740 --> 00:29:55,040 >> เจสัน Hirschhorn: ไม่อยู่ 651 00:29:55,040 --> 00:29:57,050 ตรงขวา 652 00:29:57,050 --> 00:29:57,940 เย็น 653 00:29:57,940 --> 00:30:03,120 คำถามใด ๆ เกี่ยวกับความเข้าใจ สตริงเป็นอาร์เรย์ของตัวอักษร? 654 00:30:03,120 --> 00:30:03,870 OK แล้ว 655 00:30:03,870 --> 00:30:05,440 โปรแกรมหนึ่งที่มากขึ้นสำหรับพวกคุณ 656 00:30:05,440 --> 00:30:09,190 จงเขียนโปรแกรมที่ถามผู้ใช้ สำหรับสตริงแล้วพิมพ์ออกแต่ละ 657 00:30:09,190 --> 00:30:11,880 ตัวอักษรในบรรทัดใหม่ 658 00:30:11,880 --> 00:30:14,160 ดังนั้นขอใช้เวลาสามนาทีในการเขียน โปรแกรมนี้และจากนั้นเราจะรหัสมัน 659 00:30:14,160 --> 00:30:15,410 เป็นกลุ่ม 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> ขอโทษ 662 00:31:04,830 --> 00:31:06,470 คุณไม่จำเป็นต้องดูนี้ 663 00:31:06,470 --> 00:31:07,410 >> นักเรียน: เลขที่ 664 00:31:07,410 --> 00:31:08,660 >> เจสัน Hirschhorn: ตกลง 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 ลองใช้เวลาหนึ่งนาทีมากขึ้นรหัสนี้ หรืออย่างน้อยการเริ่มต้นกับมัน 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> ดังนั้นคุณสามารถให้ทำงาน แต่ฉันจะ ที่จะเริ่มต้นที่จะผ่านมัน 669 00:32:17,020 --> 00:32:22,560 ดังนั้นก่อนที่จะชอบฉันมีบนหน้าจอ # include cs50.h, # include stdio.h 670 00:32:22,560 --> 00:32:24,020 เป็นโมฆะหลัก int 671 00:32:24,020 --> 00:32:28,880 ภายในวงเล็บปีกกาหลักของฉันมี สองความคิดเห็น, pseudocode 672 00:32:28,880 --> 00:32:30,980 หนึ่งคือการขอสตริงจากผู้ใช้ 673 00:32:30,980 --> 00:32:33,900 อย่างที่สองก็คือการพิมพ์ออกมาแต่ละ ตัวอักษรในบรรทัดใหม่ 674 00:32:33,900 --> 00:32:39,780 ดังนั้นแอนนา, คุณสามารถให้ฉันถาม สำหรับสตริงจากผู้ใช้หรือไม่ 675 00:32:39,780 --> 00:32:41,970 >> นักเรียน: Printf 676 00:32:41,970 --> 00:32:42,720 >> เจสัน Hirschhorn: Printf? 677 00:32:42,720 --> 00:32:45,050 >> ลูกศิษย์: ใช่ 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> เจสัน Hirschhorn: ( 680 00:32:47,610 --> 00:32:49,300 >> ลูกศิษย์: "ให้ฉันสตริง 681 00:32:49,300 --> 00:32:52,380 >> เจสัน Hirschhorn: "ให้ ฉัน Str - โอ๊ะ - 682 00:32:52,380 --> 00:32:53,710 เชือก 683 00:32:53,710 --> 00:32:59,980 >> นักศึกษา / n ") อัฒภาค 684 00:32:59,980 --> 00:33:02,300 >> เจสัน Hirschhorn: End สตริง, วงเล็บปิดอัฒภาค 685 00:33:02,300 --> 00:33:03,550 >> ลูกศิษย์: ใช่ 686 00:33:03,550 --> 00:33:09,080 แล้วบรรทัดถัดไปสตริง, s = รับสาย 687 00:33:09,080 --> 00:33:11,240 >> เจสัน Hirschhorn: String s = รับสาย 688 00:33:11,240 --> 00:33:11,665 >> ลูกศิษย์: ใช่ 689 00:33:11,665 --> 00:33:13,080 แล้ว () 690 00:33:13,080 --> 00:33:14,365 >> เจสัน Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> นักเรียน: อัฒภาค 692 00:33:14,720 --> 00:33:15,540 >> เจสัน Hirschhorn: อัฒภาค 693 00:33:15,540 --> 00:33:16,890 น่าอัศจรรย์ 694 00:33:16,890 --> 00:33:19,000 ดังนั้นฉันจะรับสายและ ฉันจะบันทึกไว้ในอะไร 695 00:33:19,000 --> 00:33:21,830 ตัวแปรอะไรที่เรียกว่า ที่คุณสร้างขึ้น? 696 00:33:21,830 --> 00:33:23,290 >> นักเรียน: String s 697 00:33:23,290 --> 00:33:24,580 >> เจสัน Hirschhorn: ตัวแปร ที่เรียกว่า s 698 00:33:24,580 --> 00:33:25,700 มันเป็นชนิดสตริง 699 00:33:25,700 --> 00:33:27,200 อย่างแน่นอน 700 00:33:27,200 --> 00:33:30,080 สิ่งต่อไปที่เราต้องการที่จะเป็นพิมพ์ออกมา ตัวอักษรในบรรทัดใหม่แต่ละ 701 00:33:30,080 --> 00:33:31,710 ใครสามารถให้ฉันรหัสที่? 702 00:33:31,710 --> 00:33:32,110 [เงียบสงัด] 703 00:33:32,110 --> 00:33:33,000 คุณสามารถให้มันกับผมหรือเปล่า 704 00:33:33,000 --> 00:33:33,580 >> นักเรียน: Sure 705 00:33:33,580 --> 00:33:35,420 >> เจสัน Hirschhorn: Let 's ทำมัน 706 00:33:35,420 --> 00:33:36,080 และเสียใจ 707 00:33:36,080 --> 00:33:38,896 ฉันไม่ชอบที่จะทำซ้ำสิ่งที่คุณพูด เพราะคุณจะได้รับมันขวา แต่ฉัน 708 00:33:38,896 --> 00:33:42,100 จะต้องทำซ้ำมันเพื่อที่ว่าเมื่อพวกเขา คัดลอกนี้พวกเขาจะได้รับทุก 709 00:33:42,100 --> 00:33:44,870 ข้อความออกไปทาน 710 00:33:44,870 --> 00:33:47,180 ดังนั้นคุณก็สามารถเก็บการพูดคุย 711 00:33:47,180 --> 00:33:48,590 แต่น่าเสียดายที่ฉันมี ที่จะบอกว่ามันกว่าคุณ 712 00:33:48,590 --> 00:33:49,510 ฉันขอโทษ แต่ - 713 00:33:49,510 --> 00:33:50,610 >> นักศึกษาที่ดี 714 00:33:50,610 --> 00:33:53,010 สำหรับ int i = 0 715 00:33:53,010 --> 00:33:54,170 >> เจสัน Hirschhorn: สำหรับ int i = 0 716 00:33:54,170 --> 00:33:56,740 >> ลูกศิษย์: ผมน้อยกว่า - 717 00:33:56,740 --> 00:33:58,206 >> เจสัน Hirschhorn: อัฒภาค 718 00:33:58,206 --> 00:34:00,650 >> นักศึกษาก่อนหน้านี้เราสามารถนำ ตัวแปรเพื่อให้คุณได้รับความยาวชื่อ int? 719 00:34:00,650 --> 00:34:01,870 >> Hirschhorn JASON: โอ้, คุณทำไม่ได้ ต้องการที่จะนำอัฒภาค? 720 00:34:01,870 --> 00:34:02,310 ตกลง 721 00:34:02,310 --> 00:34:05,120 ดังนั้นสิ่งที่คุณต้องการจะทำหลังจากที่ศูนย์หรือไม่ 722 00:34:05,120 --> 00:34:09,340 >> นักเรียน: ฉันต้องการที่จะได้รับ ความยาวสตริงของและ 723 00:34:09,340 --> 00:34:10,410 ที่กำหนดให้กับตัวแปร? 724 00:34:10,410 --> 00:34:11,760 >> เจสัน Hirschhorn: OK, ดังนั้นฉันจะทำ? 725 00:34:11,760 --> 00:34:17,636 >> นักศึกษาดังนั้นที่คุณทำคือ int len​​gth = 726 00:34:17,636 --> 00:34:20,010 >> เจสัน Hirschhorn: ความยาว Int = 727 00:34:20,010 --> 00:34:22,230 >> นักเรียน: S-T-R-L-E-N 728 00:34:22,230 --> 00:34:24,260 >> เจสัน Hirschhorn: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> นักศึกษาของ S 730 00:34:25,380 --> 00:34:25,790 วงเล็บ 731 00:34:25,790 --> 00:34:27,920 >> เจสัน Hirschhorn: (s) 732 00:34:27,920 --> 00:34:33,040 >> นักเรียน: และแล้วฉันคิดว่าคุณต้อง ใส่เครื่องหมายอัฒภาคระหว่างสอง ints 733 00:34:33,040 --> 00:34:34,590 >> เจสัน Hirschhorn: อัฒภาค หลังจากที่ศูนย์หรือไม่ 734 00:34:34,590 --> 00:34:35,260 >> นักเรียน: ใช่ 735 00:34:35,260 --> 00:34:40,670 แล้วใส่เครื่องหมายอัฒภาคหลังจากนั้นและ คุณจะพูดว่าผมน้อยกว่าความยาว 736 00:34:40,670 --> 00:34:43,250 ผมน้อยกว่าความยาวซึ่ง เป็นตัวแปร 737 00:34:43,250 --> 00:34:44,590 >> นักเรียน: และจากนั้นอัฒภาค 738 00:34:44,590 --> 00:34:45,790 >> เจสัน Hirschhorn: อัฒภาค 739 00:34:45,790 --> 00:34:46,290 >> นักเรียน: i + + 740 00:34:46,290 --> 00:34:46,909 >> เจสัน Hirschhorn: i + + 741 00:34:46,909 --> 00:34:47,530 มีห่วงสำหรับของเรา 742 00:34:47,530 --> 00:34:48,860 ตกลงภายในสำหรับห่วง 743 00:34:48,860 --> 00:34:51,670 >> นักเรียน: และแล้วทำ printf 744 00:34:51,670 --> 00:34:53,340 >> เจสัน Hirschhorn: Printf 745 00:34:53,340 --> 00:34:53,889 >> นักศึกษาวงเล็บ 746 00:34:53,889 --> 00:34:55,130 >> เจสัน Hirschhorn: วงเล็บคำพูด 747 00:34:55,130 --> 00:34:59,930 >> นักศึกษาวงเล็บคำพูด,% c / n 748 00:34:59,930 --> 00:35:00,760 >> เจสัน Hirschhorn: c%, OK 749 00:35:00,760 --> 00:35:01,670 >> นักเรียน: N / 750 00:35:01,670 --> 00:35:03,470 >> เจสัน Hirschhorn: N / 751 00:35:03,470 --> 00:35:04,410 >> นักเรียน: ราคาปิด 752 00:35:04,410 --> 00:35:05,270 >> เจสัน Hirschhorn: ราคาปิด 753 00:35:05,270 --> 00:35:05,810 >> นักศึกษาจุลภาค 754 00:35:05,810 --> 00:35:06,860 >> เจสัน Hirschhorn: จุลภาค 755 00:35:06,860 --> 00:35:07,800 >> นักเรียน: เอส 756 00:35:07,800 --> 00:35:08,070 >> เจสัน Hirschhorn: เอส 757 00:35:08,070 --> 00:35:08,690 >> นักศึกษายึดผม 758 00:35:08,690 --> 00:35:10,230 >> เจสัน Hirschhorn: Bracket ผม 759 00:35:10,230 --> 00:35:11,520 >> นักเรียน: และแล้ววงเล็บปิด 760 00:35:11,520 --> 00:35:12,540 >> เจสัน Hirschhorn: วงเล็บปิด 761 00:35:12,540 --> 00:35:13,660 >> นักเรียน: และจากนั้นอัฒภาค 762 00:35:13,660 --> 00:35:13,770 >> เจสัน Hirschhorn: อัฒภาค 763 00:35:13,770 --> 00:35:14,380 น่าอัศจรรย์ 764 00:35:14,380 --> 00:35:16,890 ดังนั้นขอบันทึกนี้ 765 00:35:16,890 --> 00:35:19,770 ให้สะกด 766 00:35:19,770 --> 00:35:20,040 โอ้เด็ก 767 00:35:20,040 --> 00:35:22,275 ฉันมีคู่ของข้อผิดพลาด 768 00:35:22,275 --> 00:35:33,120 ข้อผิดพลาดแรกในบรรทัดที่ 11 มันบอกว่า คาดว่าการแสดงออกและจะให้ 769 00:35:33,120 --> 00:35:36,910 ฉันข้อผิดพลาดที่สอง int มีข้อผิดพลาดอะไร 770 00:35:36,910 --> 00:35:38,430 มีข้อผิดพลาดมีบางรอบ 771 00:35:38,430 --> 00:35:41,060 ไม่มีใครรู้ว่าสิ่งที่เป็นข้อผิดพลาดที่? 772 00:35:41,060 --> 00:35:41,640 ? เคิร์ต 773 00:35:41,640 --> 00:35:44,108 >> นักเรียน: ผมคิดว่ามันควรจะ จะมีเครื่องหมายจุลภาคและไม่อัฒภาค 774 00:35:44,108 --> 00:35:46,010 >> เจสัน Hirschhorn: ตกลงจุลภาค แทนอัฒภาค 775 00:35:46,010 --> 00:35:47,340 ดังนั้นนั่นคือทั้งหมดที่เราต้องแก้ไข? 776 00:35:47,340 --> 00:35:47,655 >> นักเรียน: เลขที่ 777 00:35:47,655 --> 00:35:48,930 >> เจสัน Hirschhorn: อะไร เราจะต้องแก้ไข? 778 00:35:48,930 --> 00:35:50,920 >> นักเรียนเรามีการรวมสตริง 779 00:35:50,920 --> 00:35:51,680 >> เจสัน Hirschhorn: รวมทั้งสตริง 780 00:35:51,680 --> 00:35:53,730 อะไรคือสิ่งที่ฉันจำเป็นต้องรวมถึงการที่ 781 00:35:53,730 --> 00:35:57,085 >> นักเรียน: สถานที่เดียวกันที่คุณกำลังรวมทั้ง สิ่งอื่น ๆ ที่เหมาะสม 782 00:35:57,085 --> 00:35:59,560 หลังจากที่รวม stdio.h 783 00:35:59,560 --> 00:36:01,610 >> เจสัน Hirschhorn: ลองดูว่านี้จะทำงาน เพราะเป็นครั้งแรกโดยทั่วไปผมชอบ 784 00:36:01,610 --> 00:36:06,360 เพื่อแก้ไขสิ่งหนึ่งที่แรกและจากนั้นเรียกใช้ แล้วเห็นข้อผิดพลาดที่เราได้รับ 785 00:36:06,360 --> 00:36:11,620 ดังนั้นเรากำลังจะล้างขั้ว กับการควบคุม n ให้คุณทำการสะกด 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 ดังนั้นข้อผิดพลาดในบรรทัดที่ 11 อีก 788 00:36:18,770 --> 00:36:20,540 อัฒภาคคาดว่า 789 00:36:20,540 --> 00:36:22,640 และฉันยังคงได้รับ ข้อผิดพลาดในบรรทัดนี้ 790 00:36:22,640 --> 00:36:25,270 ดังนั้นมันจึงไม่ได้ให้ฉันข้อผิดพลาดบอกว่ามัน ไม่เข้าใจสิ่งที่ strlen คือ 791 00:36:25,270 --> 00:36:28,980 แต่มันจะให้ฉันข้อผิดพลาดนี้ เส้นดังนั้นสิ่งที่อื่นจะผิดหรือเปล่า? 792 00:36:28,980 --> 00:36:29,690 ทำเครื่องหมาย? 793 00:36:29,690 --> 00:36:30,940 มาร์คัส 794 00:36:30,940 --> 00:36:32,570 >> นักเรียน: คุณต้องลบ ประกาศ int ที่สอง? 795 00:36:32,570 --> 00:36:34,990 >> เจสัน Hirschhorn: Remove int ที่สอง 796 00:36:34,990 --> 00:36:35,710 ลองนี้ 797 00:36:35,710 --> 00:36:37,600 ตอนนี้ล้างขั้ว 798 00:36:37,600 --> 00:36:40,130 ให้สะกด 799 00:36:40,130 --> 00:36:40,490 ความผิดพลาด 800 00:36:40,490 --> 00:36:42,890 โดยปริยายประกาศห้องสมุด ฟังก์ชัน strlen 801 00:36:42,890 --> 00:36:44,270 ดังนั้นตอนนี้เราจะเห็นข้อผิดพลาดที่ 802 00:36:44,270 --> 00:36:45,760 เราทำอะไรต้องมี? 803 00:36:45,760 --> 00:36:46,660 >> นักเรียน: สตริง 804 00:36:46,660 --> 00:36:51,880 >> เจสัน Hirschhorn: รวมทั้งสตริง, เราจะทำ # include สตริงที่ด้านบน 805 00:36:51,880 --> 00:36:52,920 ของหน้าจอ 806 00:36:52,920 --> 00:36:55,450 ขอบันทึกให้สะกด 807 00:36:55,450 --> 00:36:56,970 รวบรวมตอนนี้ 808 00:36:56,970 --> 00:37:01,970 ดังนั้นอีกครั้งสิ่งที่เราจำเป็นต้อง จำสาย 12 ในวงสำหรับเราเมื่อ 809 00:37:01,970 --> 00:37:08,010 เราตั้งขึ้น, int i = 0, = strlen ระยะเวลา (s) 810 00:37:08,010 --> 00:37:09,350 >> นี้เป็นกลยุทธ์ที่ยอดเยี่ยม 811 00:37:09,350 --> 00:37:12,590 สไตล์นี้เป็นที่ดี การออกแบบนี้เป็นที่ดี 812 00:37:12,590 --> 00:37:15,620 เราสามารถไปลงในเหตุผลเหล่านั้นในภายหลัง, แต่วิธีการที่คุณจะต้องเรียกสิ่งนี้ว่า 813 00:37:15,620 --> 00:37:19,040 strlen ครั้งเดียวแทนทุกเดียว เวลาที่คุณทำงานผ่านห่วง 814 00:37:19,040 --> 00:37:22,255 แต่คุณจำเป็นต้องใช้เครื่องหมายจุลภาคมี และคุณไม่จำเป็นต้อง int อีกครั้ง 815 00:37:22,255 --> 00:37:24,180 หากคุณกำลังประกาศทั้งสองเหล่านั้น ตัวแปรที่ร่วมกันคุณ 816 00:37:24,180 --> 00:37:26,850 ไม่จำเป็นต้องใช้ int อีกครั้ง 817 00:37:26,850 --> 00:37:29,820 แล้วถ้าคุณกำลังจะใช้ strlen, ซึ่งเป็นห้องสมุดอื่น 818 00:37:29,820 --> 00:37:33,560 ฟังก์ชั่นไม่รวมอยู่ใน stdio.h หรือ cs50.h ให้ 819 00:37:33,560 --> 00:37:35,310 แน่ใจว่าคุณมีสตริง 820 00:37:35,310 --> 00:37:35,900 ? เคิร์ต 821 00:37:35,900 --> 00:37:39,085 >> นักศึกษาดังนั้นแล้วถ้าคุณไม่จำเป็นต้อง พูดในสิ่งที่ชนิดของความยาวคือว่าไม่ 822 00:37:39,085 --> 00:37:40,290 หมายความว่ามันจะต้องมี int? 823 00:37:40,290 --> 00:37:41,930 คุณไม่สามารถมีสองที่แตกต่างกัน ชนิดมี? 824 00:37:41,930 --> 00:37:43,290 >> เจสัน Hirschhorn: เพื่อให้คุณสามารถ มีสองประเภทที่แตกต่างกัน 825 00:37:43,290 --> 00:37:45,730 ความยาวเป็น int ที่นี่ แต่ 826 00:37:45,730 --> 00:37:48,590 ความยาวเป็น int เพราะจุลภาค และแล้วสิ่งเดียวกัน 827 00:37:48,590 --> 00:37:50,460 >> นักศึกษาดังนั้นจึงสันนิษฐานว่ามันจะ จะเหมือนกันเป็นหนึ่งในครั้งแรกได้อย่างไร 828 00:37:50,460 --> 00:37:52,423 >> เจสัน Hirschhorn: ว่า 829 00:37:52,423 --> 00:37:54,970 เราจะไม่ทำเช่นนี้ในขณะนี้ แต่คุณ สามารถรวมสองตัวแปรเมื่อ 830 00:37:54,970 --> 00:37:57,080 บรรทัดเดียวกันโดยใช้ชนิดข้อมูลหนึ่ง 831 00:37:57,080 --> 00:38:01,415 x int ดังนั้น y จะสร้าง สองตัวแปร 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 ดังนั้น int x, y ถ้าเราทำที่จะช่วยให้ ฉันไม่ได้ใช้ตัวแปร x และ y เพราะ 834 00:38:10,770 --> 00:38:12,020 เราจะไม่ใช้พวกเขา 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 ดังนั้นการวางเป็นโมฆะก่อนที่จะเป็นเพียง เคล็ดลับแฟนซีถ้าคุณไม่ได้ใช้ 837 00:38:21,650 --> 00:38:22,810 บางสิ่งบางอย่างที่จะใช้มัน 838 00:38:22,810 --> 00:38:26,300 แต่เป็นคุณเห็นฉันสร้าง x และ y ในบรรทัดเดียวกันด้วยเครื่องหมายจุลภาค 839 00:38:26,300 --> 00:38:28,450 มันสร้างจำนวนเต็มสองจำนวน มีสิทธิ 840 00:38:28,450 --> 00:38:31,560 ดังนั้นใช่ทั้งหมดที่เป็นไปได้ในการสร้าง สองสิ่งในบรรทัดเดียวกัน 841 00:38:31,560 --> 00:38:33,720 คั่นด้วยเครื่องหมายจุลภาค 842 00:38:33,720 --> 00:38:35,470 Let 's กำจัดเหล่านั้นแม้ว่า 843 00:38:35,470 --> 00:38:36,370 >> ดังนั้นจึงมีการสะกดคำว่า 844 00:38:36,370 --> 00:38:39,200 ขอบคุณครับสำหรับการเข้ารหัสมันสำหรับเรา 845 00:38:39,200 --> 00:38:43,040 ขอให้มันอีกครั้งหนึ่งรัน 846 00:38:43,040 --> 00:38:44,580 ให้ฉันสตริง 847 00:38:44,580 --> 00:38:45,580 [เงียบสงัด], คุณได้มากที่สุดของมัน 848 00:38:45,580 --> 00:38:47,910 สตริงคืออะไร? 849 00:38:47,910 --> 00:38:48,250 >> ลูกศิษย์: สวัสดี 850 00:38:48,250 --> 00:38:50,110 >> เจสัน Hirschhorn: สวัสดี 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, ตัวอักษรบนแต่ละบรรทัด 852 00:38:52,810 --> 00:38:53,700 ลักษณะที่ดี 853 00:38:53,700 --> 00:38:54,750 ลองเรียกใช้อีกครั้ง 854 00:38:54,750 --> 00:38:56,050 เสมอไปตรวจสอบ สำหรับกรณีมุม 855 00:38:56,050 --> 00:38:57,750 มีอะไรกรณีที่มุมที่ดีที่จะตรวจสอบ? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> นักศึกษาจำนวน? 858 00:39:00,890 --> 00:39:02,240 >> เจสัน Hirschhorn: จำนวน 859 00:39:02,240 --> 00:39:06,580 ดังนั้นฉันจะใส่ในข้อ 1 และมันพิมพ์ออก 1 860 00:39:06,580 --> 00:39:08,970 มันไม่ได้ขอตัวอักษรดังนั้น ดูเหมือนว่าตัวเลขทำงาน 861 00:39:08,970 --> 00:39:09,890 กรณีมุมที่ดีที่จะตรวจสอบ 862 00:39:09,890 --> 00:39:11,740 อีกมุมที่ดีอะไร กรณีการตรวจสอบ? 863 00:39:11,740 --> 00:39:12,420 >> นักเรียน: สตริงที่ว่างเปล่า 864 00:39:12,420 --> 00:39:12,910 >> เจสัน Hirschhorn: อืมมม 865 00:39:12,910 --> 00:39:13,880 >> นักเรียน: เช่นเดียวกับสตริงที่ว่างเปล่า 866 00:39:13,880 --> 00:39:14,400 >> เจสัน Hirschhorn: สตริงที่ว่างเปล่า 867 00:39:14,400 --> 00:39:16,730 ดังนั้นขอไม่ใส่อะไร 868 00:39:16,730 --> 00:39:18,660 และสิ่งที่ได้รับการพิมพ์ออกมา? 869 00:39:18,660 --> 00:39:19,090 >> นักเรียน: ไม่มีอะไร 870 00:39:19,090 --> 00:39:19,870 >> เจสัน Hirschhorn: ไม่มีอะไร 871 00:39:19,870 --> 00:39:20,555 ดูเหมือนว่ามันทำงาน 872 00:39:20,555 --> 00:39:23,790 คุณสามารถลองกรณีมุมมากขึ้น แต่ ตัวเลขโดยทั่วไปข้อมูลที่แตกต่างกันคือ 873 00:39:23,790 --> 00:39:26,160 ดีที่จะลองเป็นอย่างดีไม่มีอะไร 874 00:39:26,160 --> 00:39:29,180 ไม่มีอะไรศูนย์เชิงลบอยู่เสมอ สิ่งที่ดีที่จะลองและสิ่งที่คุณ 875 00:39:29,180 --> 00:39:33,140 ควรทดสอบสิ่งที่แน่นอนเราจะทดสอบ สำหรับการตรวจสอบและ 50 จะทดสอบสำหรับ 876 00:39:33,140 --> 00:39:34,720 คำถามใด ๆ เกี่ยวกับ spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> ตกลงให้หัวกลับ 879 00:39:39,310 --> 00:39:42,420 ฉันมีโปรแกรมหนึ่ง สำหรับพวกคุณที่จะเขียน 880 00:39:42,420 --> 00:39:44,700 มันเรียกว่า students.c 881 00:39:44,700 --> 00:39:49,020 นี้เป็นโปรแกรมที่ขอให้ผู้ใช้สำหรับการ ห้าชื่อแล้วสุ่มเลือก 882 00:39:49,020 --> 00:39:51,600 และพิมพ์ออกหนึ่งในชื่อ 883 00:39:51,600 --> 00:39:54,840 โปรแกรมนี้เป็นนิด ๆ หน่อย ๆ กว่าที่เกี่ยวข้องกับสองคนสุดท้ายที่เราเขียน, 884 00:39:54,840 --> 00:39:58,080 ดังนั้นทำไมเราไม่ใช้เวลาห้านาที รหัสมันเป็นรายบุคคลและจากนั้นเราจะ 885 00:39:58,080 --> 00:40:00,130 รหัสมันเป็นกลุ่ม 886 00:40:00,130 --> 00:40:03,795 >> โปรแกรมนี้ยังเกี่ยวข้องกับบางสิ่งบางอย่าง คุณอาจไม่ได้เห็นมาก่อนดังนั้นหาก 887 00:40:03,795 --> 00:40:06,390 คุณมีคำถามเกี่ยวกับวิธีการทำ ผมทำอย่างนั้นยกมือของคุณ 888 00:40:06,390 --> 00:40:08,530 ผมจะมาและชี้ให้คุณ ในทิศทางที่ถูกต้อง 889 00:40:08,530 --> 00:40:10,820 แต่เรายังทำมันเพราะนี้ จะเป็นวิธีที่ดีที่จะแนะนำบาง 890 00:40:10,820 --> 00:40:12,070 หัวข้อที่มีความยุ่งยาก 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> จึงทำงานใช่มั้ย? 893 00:44:15,560 --> 00:44:17,580 >> นักเรียน: ใช่ 894 00:44:17,580 --> 00:44:19,180 >> เจสัน Hirschhorn: เมื่อใดก็ตามที่คุณเปิดใน ชุดปัญหายังมีหลายวิธีที่จะทำ 895 00:44:19,180 --> 00:44:20,790 แต่บางคนมีมากขึ้น สง่างามกว่าคนอื่น ๆ 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 ให้เราดำน้ำค่ะ 898 00:44:31,110 --> 00:44:32,880 # include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # include stdio.h 900 00:44:34,250 --> 00:44:37,240 เป็นโมฆะหลัก int, วงเล็บปีกกา 901 00:44:37,240 --> 00:44:39,430 ภายในวงเล็บปีกกา, ฉันมีสองความเห็น 902 00:44:39,430 --> 00:44:41,500 หนึ่งคือขอให้ ผู้ใช้ห้าชื่อ 903 00:44:41,500 --> 00:44:46,580 คนที่สองคือการสุ่มเลือก และพิมพ์ชื่อใดชื่อหนึ่ง 904 00:44:46,580 --> 00:44:50,250 ดังนั้นขอทำคนแรกที่ถาม ผู้ใช้ห้าชื่อ 905 00:44:50,250 --> 00:44:53,730 ที่ได้ถามผู้ใช้สำหรับห้าชื่อ และสามารถบอกได้ว่าจะทำอย่างไร? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 คนสองคนเท่านั้นไม่ส่วนแรก 908 00:44:58,570 --> 00:45:00,150 คนสามคนได้ส่วนแรก 909 00:45:00,150 --> 00:45:00,670 สี่ห้า 910 00:45:00,670 --> 00:45:03,140 ทอมอย่างไรคุณทำมันได้หรือ 911 00:45:03,140 --> 00:45:09,940 >> ลูกศิษย์: คุณจะประกาศสตริง และแล้วชื่อวงเล็บห้า 912 00:45:09,940 --> 00:45:12,070 >> เจสัน Hirschhorn: String วงเล็บชื่อห้า 913 00:45:12,070 --> 00:45:15,350 ดังนั้นสายการทำเช่นนี้คือสิ่งที่, วงเล็บชื่อสตริงห้า? 914 00:45:15,350 --> 00:45:17,800 >> ลูกศิษย์: คุณจะประกาศ อาร์เรย์ของสตริง 915 00:45:17,800 --> 00:45:19,000 >> เจสัน Hirschhorn: นี่คือ อาร์เรย์ของสตริง 916 00:45:19,000 --> 00:45:21,590 วิธีการหลายสายที่จะไป เพื่อให้พอดีกับที่นี่? 917 00:45:21,590 --> 00:45:22,010 >> นักศึกษาห้า 918 00:45:22,010 --> 00:45:22,320 >> เจสัน Hirschhorn: ห้า 919 00:45:22,320 --> 00:45:22,660 ยอดเยี่ยม 920 00:45:22,660 --> 00:45:26,360 เราจะเรียกมันว่าชื่อเพราะ เรากำลังจะได้รับหลายคน 921 00:45:26,360 --> 00:45:27,790 ตกลงต่อไปหรือไม่ 922 00:45:27,790 --> 00:45:29,270 >> ลูกศิษย์: แล้วคุณ มีการวน - 923 00:45:29,270 --> 00:45:30,060 >> เจสัน Hirschhorn: ห่วงสำหรับ 924 00:45:30,060 --> 00:45:33,035 >> นักเรียน - สำหรับ i = 0 925 00:45:33,035 --> 00:45:37,040 >> เจสัน Hirschhorn: for (int i = 0 926 00:45:37,040 --> 00:45:38,270 >> นักเรียน: อัฒภาค 927 00:45:38,270 --> 00:45:38,880 >> เจสัน Hirschhorn: อัฒภาค 928 00:45:38,880 --> 00:45:39,790 >> ลูกศิษย์: ผมน้อยกว่าห้า 929 00:45:39,790 --> 00:45:41,310 >> เจสัน Hirschhorn: ผมน้อยกว่าห้า 930 00:45:41,310 --> 00:45:42,230 >> นักเรียน: อัฒภาค 931 00:45:42,230 --> 00:45:42,560 >> เจสัน Hirschhorn: อัฒภาค 932 00:45:42,560 --> 00:45:43,380 >> นักเรียน: i + + 933 00:45:43,380 --> 00:45:46,050 >> เจสัน Hirschhorn: i + + 934 00:45:46,050 --> 00:45:47,100 >> นักเรียน: และแล้ววงเล็บปิด 935 00:45:47,100 --> 00:45:48,600 >> เจสัน Hirschhorn: วงเล็บปิด แล้วบางส่วนวงเล็บปีกกา 936 00:45:48,600 --> 00:45:50,050 ภายในวงเล็บปีกกา? 937 00:45:50,050 --> 00:45:51,423 >> นักเรียน: และจากนั้น printf 938 00:45:51,423 --> 00:45:52,535 >> เจสัน Hirschhorn: Printf 939 00:45:52,535 --> 00:45:56,200 >> นักศึกษาวงเล็บเปิดชื่อ% d 940 00:45:56,200 --> 00:45:57,090 >> เจสัน Hirschhorn: ขอโทษ? 941 00:45:57,090 --> 00:45:57,660 >> นักศึกษาชื่อ 942 00:45:57,660 --> 00:45:58,200 >> เจสัน Hirschhorn: ชื่อ 943 00:45:58,200 --> 00:46:01,700 >> นักเรียน: และจากนั้นพื้นที่และจากนั้น% d 944 00:46:01,700 --> 00:46:02,950 >> เจสัน Hirschhorn: ชื่อ, พื้นที่,% d 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> นักเรียน: และแล้ว / n และจากนั้นปิด 947 00:46:10,820 --> 00:46:15,070 >> เจสัน Hirschhorn: ชื่อดังนั้นพื้นที่ % d / n, วงเล็บปิด 948 00:46:15,070 --> 00:46:17,730 >> นักเรียน: ลูกน้ำ, i + 1 949 00:46:17,730 --> 00:46:19,390 ฉันขอโทษ 950 00:46:19,390 --> 00:46:21,040 ปิดจุลภาคอ้างแล้ว, i ​​+1 951 00:46:21,040 --> 00:46:24,400 >> เจสัน Hirschhorn: ปิด อ้างจุลภาค, i +1 952 00:46:24,400 --> 00:46:25,850 >> ลูกศิษย์: ใช่ 953 00:46:25,850 --> 00:46:27,650 แล้วบรรทัดถัดไป - 954 00:46:27,650 --> 00:46:29,400 >> เจสัน Hirschhorn: i + 1 955 00:46:29,400 --> 00:46:31,600 >> ลูกศิษย์: ใช่ 956 00:46:31,600 --> 00:46:36,440 แล้วยังภาพนิ่งถัดไป วงเล็บชื่อเป็นผม 957 00:46:36,440 --> 00:46:39,000 >> เจสัน Hirschhorn: บรรทัดถัดไป วงเล็บชื่อเป็นผม 958 00:46:39,000 --> 00:46:41,360 >> นักเรียน = สตริงได้รับ 959 00:46:41,360 --> 00:46:43,460 >> เจสัน Hirschhorn = รับ - 960 00:46:43,460 --> 00:46:44,510 ทุน G-E-T - 961 00:46:44,510 --> 00:46:45,530 เชือก 962 00:46:45,530 --> 00:46:47,800 โอ๊ะขอโทษ 963 00:46:47,800 --> 00:46:49,050 >> นักศึกษาเปิดวงเล็บปิด แล้ว - 964 00:46:49,050 --> 00:46:50,940 >> เจสัน Hirschhorn: เปิดปิดวงเล็บ 965 00:46:50,940 --> 00:46:51,030 >> นักเรียน: อัฒภาค 966 00:46:51,030 --> 00:46:52,500 >> เจสัน Hirschhorn: อัฒภาค 967 00:46:52,500 --> 00:46:57,545 ตกลงเพื่อให้คุณเริ่มต้น array ของ สตริงชื่อและแล้วผ่าน 968 00:46:57,545 --> 00:47:02,720 สำหรับวงและห้าครั้งที่พิมพ์ออกมาบางส่วน แจ้งให้กับผู้ใช้แล้วเก็บ 969 00:47:02,720 --> 00:47:03,360 ห้าสตริง 970 00:47:03,360 --> 00:47:08,090 ใครไม่ได้ใด ๆ การปรับเปลี่ยนนี้ 971 00:47:08,090 --> 00:47:10,030 ทอมผมคิดว่าทุกคน เห็นด้วยกับคุณ 972 00:47:10,030 --> 00:47:10,880 ดูดีสวย 973 00:47:10,880 --> 00:47:11,660 ตกลง 974 00:47:11,660 --> 00:47:14,830 คุณไม่ทำผมทำไม 1 แต่? 975 00:47:14,830 --> 00:47:18,000 >> ลูกศิษย์: ผมหมายถึงไม่ได้มี เป็น แต่ฉัน 1 ดังนั้นว่ามันเป็น 976 00:47:18,000 --> 00:47:19,700 หนึ่งในชื่อที่จะตั้งชื่อห้า 977 00:47:19,700 --> 00:47:21,930 มิฉะนั้นมันจะเป็นชื่อ เป็นศูนย์ที่จะตั้งชื่อสี่ 978 00:47:21,930 --> 00:47:24,400 >> เจสัน Hirschhorn: ดังนั้นคุณไม่ i +1 เพราะมิฉะนั้นมันจะมี 979 00:47:24,400 --> 00:47:27,060 พิมพ์ออกมาเป็นศูนย์ผ่านสี่เพราะ ว่าเป็นวิธีที่คอมพิวเตอร์คิด แต่มนุษย์ 980 00:47:27,060 --> 00:47:28,530 ไม่ได้จริงๆอ่านเช่นเดียวกับที่ 981 00:47:28,530 --> 00:47:30,190 นั่นเป็นสิ่งอื่น คุณจะพบ 982 00:47:30,190 --> 00:47:33,210 บางครั้งเมื่อคุณพิมพ์ออกมาบางสิ่งบางอย่าง ให้กับผู้ใช้คุณจะต้องการที่จะให้มัน 983 00:47:33,210 --> 00:47:35,733 นิด ๆ หน่อย ๆ น่ารักและการทำ i +1 ในกรณีนี้คือ 984 00:47:35,733 --> 00:47:37,430 วิธีที่จะทำให้มันสวย 985 00:47:37,430 --> 00:47:41,380 >> ฉันยังดูห้าสองชื่อสตริง เป็นห้า i น้อยกว่าห้า 986 00:47:41,380 --> 00:47:42,430 ฉันรู้ว่าคุณมีห้า 987 00:47:42,430 --> 00:47:44,890 ที่คุณได้รับไปจากฉันบอก คุณห้าชื่อ 988 00:47:44,890 --> 00:47:49,000 แต่ถ้าเราอยากจะให้รหัส นิด ๆ หน่อย ๆ ที่แข็งแกร่งมากขึ้นสิ่งหนึ่งที่เรา 989 00:47:49,000 --> 00:47:53,110 จะทำคือออกจากที่นี่ด้านนอกของ int, เราสามารถทำอะไรเช่นนี้ 990 00:47:53,110 --> 00:47:57,070 # define และเราสามารถทำ NAMES 5 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> ดังนั้นโดยทั่วไปทุกที่ที่ผมเขียนเมืองหลวง N, ทุน, ทุน M เมืองหลวง E, 993 00:48:05,390 --> 00:48:08,890 ทุน S, สตริงที่มันจะเข้ามาแทนที่ ว่าด้วยความที่ 5 ในรหัส 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 หรือให้เพียงเรียกมันว่า - เราจะ เพียงแค่เรียกมันว่าจำนวน 996 00:48:13,445 --> 00:48:17,190 ดังนั้นฉันกำหนดตัวพิมพ์ใหญ่ทั้งหมด จำนวนเป็น 5 997 00:48:17,190 --> 00:48:22,830 >> ดังนั้นตอนนี้เมื่อใดก็ตามที่ฉันมีจำนวน 5 ผม สามารถแทนที่ด้วยจำนวนหมวก 998 00:48:22,830 --> 00:48:26,880 และตอนนี้ถ้าผมต้องการที่จะเปลี่ยนหมายเลข ของชื่อทั้งหมดที่ฉันต้องทำคือ 999 00:48:26,880 --> 00:48:31,350 นี้หนึ่งบรรทัดสี่สายที่ฉันมี # กำหนดหมายเลข 5, เปลี่ยนที่ถึง 10 1000 00:48:31,350 --> 00:48:34,340 หรือเปลี่ยนที่ 4 1001 00:48:34,340 --> 00:48:37,400 เมื่อรหัสของคุณได้อีกต่อไปที่คุณไม่ได้ จะไปจำได้ทุกสถานที่ที่คุณ 1002 00:48:37,400 --> 00:48:41,630 ใส่กี่ชื่อที่คุณต้องการและใน เพื่อให้คุณไม่พลาดหนึ่งนี้เป็น 1003 00:48:41,630 --> 00:48:45,490 เป็นวิธีที่ดีที่จะทำเพื่อหาบางสิ่งบางอย่าง ขึ้นด้านบนแล้วเพียงแค่ใช้วลีที่ 1004 00:48:45,490 --> 00:48:46,400 ทุกที่ทั่วรหัสของคุณ 1005 00:48:46,400 --> 00:48:46,780 ? มาร์คัส 1006 00:48:46,780 --> 00:48:49,780 >> นักศึกษาที่เป็นที่ต้องการ stylistically ทั่วโลกกว่ากำหนด 1007 00:48:49,780 --> 00:48:51,270 n คงที่? 1008 00:48:51,270 --> 00:48:53,760 >> เจสัน Hirschhorn: ดังนั้นก็คือว่า ที่ต้องการ stylistically กว่าทั่วโลก 1009 00:48:53,760 --> 00:48:54,980 การกำหนดค่าคงที่ n? 1010 00:48:54,980 --> 00:48:59,036 ดังนั้นคุณกำลังจะบอกว่าคุณสามารถ ทำจำนวน int = 5? 1011 00:48:59,036 --> 00:49:01,300 >> นักศึกษาพวกเขามีพยัญชนะ ใน C หรือไม่? 1012 00:49:01,300 --> 00:49:02,720 >> เจสัน Hirschhorn: หรือ const - ในเท่ากัน 1013 00:49:02,720 --> 00:49:04,275 ดังนั้นคุณกำลังจะบอกว่าเพียงแค่ ตัวแปรทั่วโลกหรือไม่ 1014 00:49:04,275 --> 00:49:04,990 >> นักเรียน: ใช่ 1015 00:49:04,990 --> 00:49:08,670 >> เจสัน Hirschhorn: ดังนั้น stylistically, ไม่มีความจำเป็นหนึ่งที่เหมาะสม 1016 00:49:08,670 --> 00:49:12,050 ตอบ แต่ทั้งสองเหล่านี้จะดีกว่า มากกว่าเพียงแค่การขว้างปาสุ่มเหล่านี้ 1017 00:49:12,050 --> 00:49:12,960 หมายเลขรหัสผ่านของคุณ 1018 00:49:12,960 --> 00:49:14,650 เราเรียกพวกเขาว่าหมายเลขมายากล 1019 00:49:14,650 --> 00:49:16,450 เมื่อฉันดูที่รหัสของคุณหรือเมื่อ ใครอ่านผ่านมันพวกเขา 1020 00:49:16,450 --> 00:49:18,790 ไม่ต้องการเหล่านี้เพียงแค่ตัวเลขสุ่ม ที่ไม่ได้ทำให้ความรู้สึก 1021 00:49:18,790 --> 00:49:22,420 แม้จำนวน 26 ซึ่งโดยทั่วไปคือ จำนวนของตัวอักษรในตัวอักษร, 1022 00:49:22,420 --> 00:49:28,870 ดีกว่าที่จะกำหนดตัวอักษรขึ้นด้านบน และบันทึกหมายเลข 26 ในสตริงที่, 1023 00:49:28,870 --> 00:49:29,550 หากที่ทำให้รู้สึก 1024 00:49:29,550 --> 00:49:33,210 >> หรือปัญหาการตั้งค่าหนึ่งมากกว่า - อีกครั้งเราไม่ได้พูดคุยเกี่ยวกับเรื่องนี้ที่ 1025 00:49:33,210 --> 00:49:37,020 เวลา แต่แทนเพียงการขว้างปา ในทุก 25 หรือ 10 คุณสามารถ 1026 00:49:37,020 --> 00:49:41,860 บันทึกหมายเลข 25 ขณะที่ไตรมาสหรือ 10 เป็น ค่าเล็กน้อยและที่ทำให้มันง่ายขึ้นสำหรับ 1027 00:49:41,860 --> 00:49:44,140 ใครก็ตามที่ได้อ่านผ่านรห​​ัสของคุณ เข้าใจว่าทำไมคุณเลือกหมายเลขที่ 1028 00:49:44,140 --> 00:49:46,540 และสำหรับคุณถ้าคุณเคยต้องการ ปรับปรุงรหัสของคุณมันทำให้บิต 1029 00:49:46,540 --> 00:49:47,290 ที่แข็งแกร่งมากขึ้น 1030 00:49:47,290 --> 00:49:48,070 อ้าง? 1031 00:49:48,070 --> 00:49:50,830 >> นักศึกษาเป็นรหัสนี้ยังจะ จะสามารถใช้ได้สำหรับเราหลังจากที่? 1032 00:49:50,830 --> 00:49:52,453 >> เจสัน Hirschhorn: ทั้งหมดของรหัสเหล่านี้ ที่เราได้เขียนอยู่ด้วยกันนั้น 1033 00:49:52,453 --> 00:49:54,620 จะถูกส่งไปยังคุณ ครับและสามารถใช้ได้ 1034 00:49:54,620 --> 00:49:55,740 ใช่ 1035 00:49:55,740 --> 00:49:58,040 ดังนั้นขอให้ผู้ใช้ห้าชื่อ 1036 00:49:58,040 --> 00:50:00,280 สุ่มเลือกและพิมพ์ หนึ่งในชื่อที่ 1037 00:50:00,280 --> 00:50:00,940 ใครทำบรรทัดนี้? 1038 00:50:00,940 --> 00:50:02,230 นี้เป็นสายที่ยากที่นี่ 1039 00:50:02,230 --> 00:50:02,450 ขออภัยทอม 1040 00:50:02,450 --> 00:50:05,510 คุณได้งานที่ดีมาก แต่ นี้เป็นบิต trickier 1041 00:50:05,510 --> 00:50:06,600 มาร์คัสไปข้างหน้า 1042 00:50:06,600 --> 00:50:10,180 >> นักเรียนกันครั้งแรกที่คุณจะ ต้องรวม stdlib.h และ time.h. 1043 00:50:10,180 --> 00:50:13,200 >> เจสัน Hirschhorn: คุณกำลังจะบอกว่าที่ ด้านบนมีสองห้องสมุดมากขึ้น 1044 00:50:13,200 --> 00:50:18,830 คุณต้องการให้ฉันไปรวมถึง S-T-D-L-I-B จุด H, ห้องสมุดมาตรฐานและสิ่งที่ 1045 00:50:18,830 --> 00:50:19,760 เป็นอีกคนหนึ่ง? 1046 00:50:19,760 --> 00:50:21,010 >> นักเรียน: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> เจสัน Hirschhorn: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 ดังนั้นเหล่านี้สองห้องสมุดมากขึ้น 1050 00:50:29,470 --> 00:50:31,790 ผมถือว่าตอนนี้เรากำลังจะใช้ ฟังก์ชั่นที่มีอยู่ในเหล่านี้ 1051 00:50:31,790 --> 00:50:34,240 สองซึ่งเป็นเหตุผลที่คุณจำเป็นต้องใช้ ที่จะรวมพวกเขา? 1052 00:50:34,240 --> 00:50:36,980 >> นักศึกษาดังนั้นแล้วก่อนคุณ จะต้องการที่จะเขียน srand 1053 00:50:36,980 --> 00:50:38,770 >> เจสัน Hirschhorn: srand 1054 00:50:38,770 --> 00:50:42,070 >> ลูกศิษย์: (เวลา (0) 1055 00:50:42,070 --> 00:50:42,700 >> เจสัน Hirschhorn: ขออภัย 1056 00:50:42,700 --> 00:50:45,580 เวลา srand (( 1057 00:50:45,580 --> 00:50:46,890 >> นักเรียน: 0 1058 00:50:46,890 --> 00:50:47,230 >> เจสัน Hirschhorn: 0 1059 00:50:47,230 --> 00:50:49,990 >> นักเรียน:)) อัฒภาค 1060 00:50:49,990 --> 00:50:51,320 >> เจสัน Hirschhorn: อีกวงเล็บปิด? 1061 00:50:51,320 --> 00:50:51,650 อัฒภาค 1062 00:50:51,650 --> 00:50:53,610 ฉันจะเพียงแทนที่ ศูนย์ของคุณด้วยโมฆะ 1063 00:50:53,610 --> 00:50:55,980 มันจะทำอะไรเกี่ยวกับสิ่งเดียวกัน แต่ โดยทั่วไปคุณจะเห็นโมฆะซึ่ง 1064 00:50:55,980 --> 00:50:57,720 เราจะพูดเกี่ยวกับเรื่องนี้ ในบรรทัดที่สอง 1065 00:50:57,720 --> 00:50:58,580 >> นักเรียน: Stylistically ที่ดีกว่า 1066 00:50:58,580 --> 00:51:02,240 >> เจสัน Hirschhorn: โดยทั่วไปคน, สิ่งที่ถูกต้องเป็นโมฆะ แต่เดียวกัน 1067 00:51:02,240 --> 00:51:05,010 >> นักเรียน: และแล้วชื่อ int 1068 00:51:05,010 --> 00:51:06,490 >> เจสัน Hirschhorn: ชื่อ Int 1069 00:51:06,490 --> 00:51:07,280 >> นักเรียน = 1070 00:51:07,280 --> 00:51:07,780 >> เจสัน Hirschhorn = 1071 00:51:07,780 --> 00:51:08,580 >> นักเรียน: แรนด์ 1072 00:51:08,580 --> 00:51:09,340 >> เจสัน Hirschhorn: แรนด์ 1073 00:51:09,340 --> 00:51:10,420 >> ลูกศิษย์: () 1074 00:51:10,420 --> 00:51:11,500 >> เจสัน Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> นักศึกษาจำนวน Modulo 1076 00:51:12,850 --> 00:51:14,310 >> เจสัน Hirschhorn: อะไรแบบโมดูโล? 1077 00:51:14,310 --> 00:51:14,970 ตัวอักษร? 1078 00:51:14,970 --> 00:51:16,000 ตัวอักษรที่ร้อยละ? 1079 00:51:16,000 --> 00:51:17,790 >> นักเรียน: ตัวร้อยละ 1080 00:51:17,790 --> 00:51:19,521 จำนวน Modulo ที่คุณกำหนดไว้ขึ้นด้านบน 1081 00:51:19,521 --> 00:51:22,030 >> เจสัน Hirschhorn: จำนวนผู้ Modulo 1082 00:51:22,030 --> 00:51:24,052 >> นักเรียน: และจากนั้นอัฒภาค 1083 00:51:24,052 --> 00:51:24,660 >> เจสัน Hirschhorn: อัฒภาค 1084 00:51:24,660 --> 00:51:27,820 >> นักเรียน: และจากนั้นบรรทัดใหม่ printf 1085 00:51:27,820 --> 00:51:28,460 >> เจสัน Hirschhorn: Printf 1086 00:51:28,460 --> 00:51:29,730 >> ลูกศิษย์: ( 1087 00:51:29,730 --> 00:51:30,620 >> เจสัน Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> ลูกศิษย์: " 1089 00:51:31,650 --> 00:51:32,630 >> เจสัน Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> นักเรียน:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> เจสัน Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> ลูกศิษย์: " 1093 00:51:38,420 --> 00:51:40,640 >> เจสัน Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> นักเรียน: ลูกน้ำชื่อพื้นที่ 1095 00:51:43,540 --> 00:51:44,350 >> เจสัน Hirschhorn: อวกาศ - 1096 00:51:44,350 --> 00:51:46,300 >> นักเรียน: โอ้, ผมคิดว่าสิ่งที่ พวกเราเรียกมันว่าที่นี่? 1097 00:51:46,300 --> 00:51:48,640 >> เจสัน Hirschhorn: เราเรียกมันว่าชื่อ 1098 00:51:48,640 --> 00:51:52,360 >> นักเรียน: วงเล็บชื่อเปิด 1099 00:51:52,360 --> 00:51:55,090 >> เจสัน Hirschhorn: วงเล็บชื่อเปิด 1100 00:51:55,090 --> 00:51:55,850 >> นักศึกษาวงเล็บปิด 1101 00:51:55,850 --> 00:51:56,490 >> เจสัน Hirschhorn: ปิดวงเล็บ 1102 00:51:56,490 --> 00:51:57,460 >> นักศึกษา) 1103 00:51:57,460 --> 00:51:58,800 >> เจสัน Hirschhorn:) 1104 00:51:58,800 --> 00:51:59,440 >> นักเรียน: อัฒภาค 1105 00:51:59,440 --> 00:52:00,410 >> เจสัน Hirschhorn: อัฒภาค 1106 00:52:00,410 --> 00:52:01,500 ตกลงให้มีการบันทึก 1107 00:52:01,500 --> 00:52:04,410 ขอให้รหัสนี้ 1108 00:52:04,410 --> 00:52:06,365 นักเรียน 1109 00:52:06,365 --> 00:52:07,100 ลองเรียกใช้รหัสนี้ 1110 00:52:07,100 --> 00:52:08,480 นักเรียน 1111 00:52:08,480 --> 00:52:11,630 ไม่ส่งนักเรียน. / . นักเรียน / 1112 00:52:11,630 --> 00:52:12,870 หนึ่งชื่อ 1113 00:52:12,870 --> 00:52:15,490 เราจะบอกว่าเดวิด 1114 00:52:15,490 --> 00:52:18,070 สองชื่อ, RJ 1115 00:52:18,070 --> 00:52:20,561 สามชื่อร็อบ 1116 00:52:20,561 --> 00:52:22,490 สี่ชื่อลูคัส 1117 00:52:22,490 --> 00:52:26,060 ห้าชื่อโจเซฟ 1118 00:52:26,060 --> 00:52:28,850 แล้วก็พิมพ์ออกโจเซฟอีกครั้ง 1119 00:52:28,850 --> 00:52:31,730 >> เพื่อให้ฉันทำงานนี้อีกครั้ง 1120 00:52:31,730 --> 00:52:32,460 ให้ฉันทำชื่อเดียวกัน 1121 00:52:32,460 --> 00:52:39,760 เดวิดอาร์เจร็อบลูคัสโจเซฟ 1122 00:52:39,760 --> 00:52:41,070 และมันทำให้ผมเดวิดเวลานี้ 1123 00:52:41,070 --> 00:52:43,030 ดังนั้นผมจึงได้ทำสิ่งที่เหมือนกัน แต่มันทำให้ ฉันเป็นสิ่งที่แตกต่างกันและที่ว่า 1124 00:52:43,030 --> 00:52:45,410 เพราะแน่นอนเรากำลังขอให้ สำหรับชื่อแบบสุ่ม 1125 00:52:45,410 --> 00:52:50,950 ดังนั้นผมจึงคิดว่าตามออกของฉันที่หลงทาง ไปรอบ ๆ ห้องที่คนส่วนใหญ่ 1126 00:52:50,950 --> 00:52:55,960 อาจจะได้รับสิทธิในส่วนแรก การตั้งค่าอาร์เรย์ที่แล้วได้รับ 1127 00:52:55,960 --> 00:52:56,430 ชื่อทั้งหมด 1128 00:52:56,430 --> 00:52:59,320 ฉันพูดเกี่ยวกับสาย 10 ถึง 16 1129 00:52:59,320 --> 00:53:02,150 แต่สาย 18 ผ่าน 21 อาจจะ บางสิ่งที่คุณยังไม่ได้เห็นมาก่อน 1130 00:53:02,150 --> 00:53:03,750 เพื่อให้เป็นไปผ่านเหล่านั้น 1131 00:53:03,750 --> 00:53:10,390 >> บรรทัดนี้เป็นโมฆะเวลา srand เป็นหลัก - 1132 00:53:10,390 --> 00:53:14,300 ขออภัยขอข้ามลง เส้น, rand () 1133 00:53:14,300 --> 00:53:17,320 ที่ช่วยให้คุณเป็นจำนวนสุ่ม จำนวนเต็มแบบสุ่ม 1134 00:53:17,320 --> 00:53:19,630 และถ้าคุณตี rand คนซึ่ง จำนวนมากของคุณได้ - 1135 00:53:19,630 --> 00:53:21,530 M--N พื้นที่ R--N-D - 1136 00:53:21,530 --> 00:53:25,910 ในขั้วเช่นนี้ M-N- พื้นที่ R--N-D กด Enter 1137 00:53:25,910 --> 00:53:30,490 คุณจะมาถึงคู่มือและ จะสามารถอ่านที่แรนด์ 1138 00:53:30,490 --> 00:53:34,260 ออกคำสั่ง NUM ไบต์สุ่มหลอก หลังจากการเพาะจำนวนสุ่ม 1139 00:53:34,260 --> 00:53:35,510 เครื่องกำเนิดไฟฟ้าอีกครั้ง 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> เพื่อที่ว่าคำอธิบายของ 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 นั่นคือสิ่งที่แรนด์ไม่ให้ คุณเป็นจำนวนสุ่มเมื่อ 1144 00:53:46,800 --> 00:53:48,610 ที่คุณเรียกฟังก์ชันที่ 1145 00:53:48,610 --> 00:53:53,140 แต่น่าเสียดายที่มันไม่สุ่มจริงๆ เพราะถ้าคุณจะเรียกแบบสุ่ม 1146 00:53:53,140 --> 00:53:55,970 โดยไม่ได้รับมันเมล็ดบาง จุดเริ่มต้นก็มักจะเลือก 1147 00:53:55,970 --> 00:53:59,100 เป็นหนึ่งเดียวกันและใช้สูตร เพื่อตรวจสอบต่อไปอย่างใดอย่างหนึ่ง 1148 00:53:59,100 --> 00:54:01,730 ดังนั้นถ้าคุณโทรแรนด์ก็จะเพียงแค่ ให้คุณได้ในสิ่งเดียวกัน 1149 00:54:01,730 --> 00:54:02,610 มันจะเป็นที่คาดการณ์มาก 1150 00:54:02,610 --> 00:54:03,790 อันที่จริงมันจะไม่เป็นแบบสุ่ม 1151 00:54:03,790 --> 00:54:09,610 >> ดังนั้นสิ่งที่เราต้องทำต่อของ Marcus คำแนะนำให้ฉันเป็น rand เมล็ด 1152 00:54:09,610 --> 00:54:13,810 กับสิ่งอื่นซึ่งเป็นสิ่งที่ ฟังก์ชั่น srand ไม่ 1153 00:54:13,810 --> 00:54:18,055 มันเมล็ด rand กับสิ่งที่น้อยมาก สุ่มกว่าสิ่งเดียวกันและ 1154 00:54:18,055 --> 00:54:23,360 เขาเพาะมันด้วยโมฆะเวลาซึ่ง เป็นเพียงโดยการประชุมในปัจจุบัน 1155 00:54:23,360 --> 00:54:24,650 ในเวลาไม่กี่วินาที 1156 00:54:24,650 --> 00:54:29,790 >> ดังนั้นคุณกำลังสมมติว่าทุกคนไม่ได้ จะใช้รหัสที่แน่นอน 1157 00:54:29,790 --> 00:54:33,620 ที่สองเหมือนกันดังนั้นมันเป็นเดิมพันที่ปลอดภัย โมฆะเวลาเป็นไปได้ที่แตกต่างกัน 1158 00:54:33,620 --> 00:54:35,250 เวลารหัสนี้ทุกรัน 1159 00:54:35,250 --> 00:54:39,020 เดิมพันที่ปลอดภัยจึงจะ rand srand เมล็ด มีบางสิ่งบางอย่างที่แตกต่างกันทุกครั้ง 1160 00:54:39,020 --> 00:54:39,990 เวลาเดียว 1161 00:54:39,990 --> 00:54:44,110 ดังนั้นโดยการประชุมและเมื่อเราทำต้องการ จำนวนสุ่มเราเขียนบรรทัดนี้ 1162 00:54:44,110 --> 00:54:50,540 โมฆะ srand เวลาเพื่อให้เรามากเท่าไหร่ เมล็ดสุ่มและจากนั้นเราจะดำเนินการ 1163 00:54:50,540 --> 00:54:52,080 แรนด์ซึ่งจะช่วยให้เราจำนวนสุ่ม 1164 00:54:52,080 --> 00:54:52,840 อ้าง? 1165 00:54:52,840 --> 00:54:54,140 >> ลูกศิษย์: คุณสามารถพูดในสิ่งที่ คุณหมายถึงโดยเมล็ด 1166 00:54:54,140 --> 00:54:55,630 >> เจสัน Hirschhorn: เมล็ดพันธุ์ไว้ใน - 1167 00:54:55,630 --> 00:54:58,730 ดังนั้นแรนด์จะเลือกบางหมายเลข และมันจะใช้บางส่วน 1168 00:54:58,730 --> 00:55:00,060 สูตรที่จะได้มี 1169 00:55:00,060 --> 00:55:03,250 ดังนั้นมันจะเริ่มต้นด้วยบางสิ่งบางอย่าง แล้วทำให้มันกลายเป็นบางสิ่งบางอย่างขึ้น 1170 00:55:03,250 --> 00:55:03,890 ออกจากสูตรที่ 1171 00:55:03,890 --> 00:55:06,090 หากคุณเคยให้ในสิ่งเดียวกัน มันเสมอไปทำให้มันกลายเป็น 1172 00:55:06,090 --> 00:55:06,790 สิ่งเดียวกัน 1173 00:55:06,790 --> 00:55:08,450 ดังนั้นสิ่งแรกที่คุณ ให้มันเป็นเมล็ดพันธุ์ 1174 00:55:08,450 --> 00:55:10,880 ดังนั้นคุณจึงต้องการที่จะให้มันบางสิ่งบางอย่าง ที่แตกต่างกันเริ่มต้นด้วยและดังนั้นจึง 1175 00:55:10,880 --> 00:55:12,610 จะทำให้มันกลายเป็นบางสิ่งบางอย่างที่แตกต่างกัน 1176 00:55:12,610 --> 00:55:15,840 >> และแล้วในที่สุด, 20 บรรทัด % นี้เรียกว่า 1177 00:55:15,840 --> 00:55:17,470 โมดูโลและที่เป็นความสับสน 1178 00:55:17,470 --> 00:55:19,850 นั่นคือสิ่งที่เป็นนิด ๆ หน่อย ๆ ที่แตกต่างกันที่นี่ที่คุณทำไม่ได้จริงๆ 1179 00:55:19,850 --> 00:55:22,240 มีคณิตศาสตร์ในชีวิตจริง 1180 00:55:22,240 --> 00:55:27,430 แต่เป็นหลักเมื่อคุณใช้เวลายักษ์ จำนวนและคุณแบ่งใน C อะไร 1181 00:55:27,430 --> 00:55:29,482 ที่เกิดขึ้นกับส่วนที่เหลือ? 1182 00:55:29,482 --> 00:55:30,510 >> นักศึกษาจะได้รับการตัดทอน 1183 00:55:30,510 --> 00:55:31,220 >> เจสัน Hirschhorn: จะได้รับการตัดทอน 1184 00:55:31,220 --> 00:55:35,200 ดังนั้น 20 หารด้วย 3 คืออะไร? 1185 00:55:35,200 --> 00:55:37,950 ว่าอะไรกลับไป คุณ, 20 หารด้วย 3 1186 00:55:37,950 --> 00:55:39,260 ขออภัย 10 หารด้วย 3 1187 00:55:39,260 --> 00:55:41,062 ว่าอะไรกลับไปยังคุณ 1188 00:55:41,062 --> 00:55:41,540 >> ลูกศิษย์: [ได้ยิน] 1189 00:55:41,540 --> 00:55:45,170 >> เจสัน Hirschhorn: 10 หารด้วย 3 เพียง ผลตอบแทนที่ 3 ไม่ 3 เหลือ 1 1190 00:55:45,170 --> 00:55:51,490 ดังนั้นสิ่งที่โมดูโล 10 3 ผลตอบแทน เป็นเพียงส่วนที่เหลือ 1 1191 00:55:51,490 --> 00:55:54,020 ดังนั้นถ้าคุณต้องการที่จะรู้ว่าสิ่งที่แบ่ง 10 โดย 3 เป็นจริงคุณจะ 1192 00:55:54,020 --> 00:55:58,950 ทำ 10 หารด้วย 3, คุณจะได้รับ 3 ของคุณ และแล้วคุณจะทำ 10 แบบโมดูโล 3 และ 1193 00:55:58,950 --> 00:55:59,860 คุณจะได้รับ 1 1194 00:55:59,860 --> 00:56:04,630 ดังนั้นคุณจะตระหนักดีว่าการแบ่ง 10 3 3, 1 ส่วนที่เหลือคือ 1195 00:56:04,630 --> 00:56:07,990 >> และในสายนี้อาจจะเป็นแรนด์ จำนวนเต็มใด ๆ เป็นหลัก 1196 00:56:07,990 --> 00:56:12,660 ดังนั้นแบบโมดูโลจะพูด, หารด้วย จำนวนที่อยู่ใน 5 กรณีนี้ 1197 00:56:12,660 --> 00:56:16,420 และถ้าคุณเคยหารด้วยจำนวน, จำนวนเต็มเสมอจะต้องมีน้อยกว่า 1198 00:56:16,420 --> 00:56:17,590 หมายเลขที่ 1199 00:56:17,590 --> 00:56:22,200 ดังนั้นหากคุณกำลังหารด้วยจำนวน 5, ส่วนที่เหลือจะเป็นไปได้เสมอ 1200 00:56:22,200 --> 00:56:23,396 ศูนย์ผ่านสี่ 1201 00:56:23,396 --> 00:56:25,520 นั่นเป็นเพียงวิธีการทางคณิตศาสตร์ออกไปทำงาน 1202 00:56:25,520 --> 00:56:29,700 >> ดังนั้นจำนวนมาก moduloed โดยมีขนาดเล็กลง จำนวนมักจะกลับ 1203 00:56:29,700 --> 00:56:33,530 ส่วนที่เหลือและมักจะกลับบาง จำนวนที่น้อยกว่าจำนวนที่คุณ 1204 00:56:33,530 --> 00:56:34,693 โดยแบ่งออกเป็น 1205 00:56:34,693 --> 00:56:37,920 ไม่มีใครมีคำถามเกี่ยวกับเรื่อง โมดูโลเพราะมันจะมาในมาก 1206 00:56:37,920 --> 00:56:41,450 มีประโยชน์มากดังนั้นฉันต้องการให้แน่ใจว่า ทุกคนเข้าใจมันได้หรือ 1207 00:56:41,450 --> 00:56:43,710 เย็น 1208 00:56:43,710 --> 00:56:46,000 และเราเห็นว่าโปรแกรมนี้ทำงาน 1209 00:56:46,000 --> 00:56:50,280 ตกลงย้าย 1210 00:56:50,280 --> 00:56:52,970 >> ดังนั้นต่อไปเราจะไปเป็น ฟังก์ชั่นและเรากำลังจะไป 1211 00:56:52,970 --> 00:56:55,580 ผ่านส่วนที่เหลือของสิ่งนี้สวย ได้อย่างรวดเร็วเพราะฉันต้องการที่จะได้รับ 1212 00:56:55,580 --> 00:56:57,150 อาร์กิวเมนต์บรรทัดคำสั่ง 1213 00:56:57,150 --> 00:57:00,330 ดังนั้นฟังก์ชั่นเป็นหลัก, เท่าที่คุณเคยเห็นกล่องสีดำ 1214 00:57:00,330 --> 00:57:04,290 พวกเขาใช้เวลาในสิ่งที่เรียกว่าพารามิเตอร์, พวกเขาทำบางอย่างเพื่อพวกเขาทั้ง 1215 00:57:04,290 --> 00:57:06,990 เปลี่ยนพวกเขาหรือสร้างผลข้างเคียงบางอย่าง และในที่สุดพวกเขาถ่มน้ำลาย 1216 00:57:06,990 --> 00:57:09,530 ออกบางสิ่งบางอย่างซึ่งเป็น ค่าตอบแทน 1217 00:57:09,530 --> 00:57:12,495 ใครสามารถให้ฉันเหตุผลหนึ่งที่ เหตุผลที่เราจะใช้ฟังก์ชั่น? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 ใคร? 1220 00:57:16,360 --> 00:57:19,360 เหตุผลหนึ่งที่เราต้องการใช้ฟังก์ชั่น? 1221 00:57:19,360 --> 00:57:21,280 ทุกคน? 1222 00:57:21,280 --> 00:57:22,700 ผมเห็นมือทั้งสองข้าง 1223 00:57:22,700 --> 00:57:23,590 เหตุผลที่ดีคืออะไร? 1224 00:57:23,590 --> 00:57:24,930 ? มาร์คัส 1225 00:57:24,930 --> 00:57:27,730 >> นักเรียน: ถ้าคุณมีการโทรเดียวกัน ก้อนของรหัสหลายครั้ง 1226 00:57:27,730 --> 00:57:29,150 >> เจสัน Hirschhorn: ตกลงถ้าคุณต้องการ ที่จะเรียกก้อนเดียวกัน 1227 00:57:29,150 --> 00:57:30,040 หลายครั้งรหัส 1228 00:57:30,040 --> 00:57:32,470 เจฟฟ์, คุณมีเหตุผลที่แตกต่างกันอย่างไร 1229 00:57:32,470 --> 00:57:34,230 >> นักเรียน: เพียงเพื่อให้ คุณสามารถรหัสน้อย 1230 00:57:34,230 --> 00:57:35,070 >> เจสัน Hirschhorn: คุณสามารถรหัสน้อย 1231 00:57:35,070 --> 00:57:35,320 ขวา 1232 00:57:35,320 --> 00:57:38,720 หากคุณต้องการที่จะทำบางสิ่งบางอย่างมาก - 1233 00:57:38,720 --> 00:57:41,720 ในรหัสก่อนที่ผมจะได้มี เขียนรับสายห้าครั้ง แต่ 1234 00:57:41,720 --> 00:57:44,620 สำหรับวงที่ทำให้มันดูดีและ คุณต้องเขียนโค้ดน้อยลง 1235 00:57:44,620 --> 00:57:45,760 ฟังก์ชั่นมีความคิดที่คล้ายกัน 1236 00:57:45,760 --> 00:57:48,720 ถ้าผมต้องการที่จะทำในสิ่งเดียวกันเป็นจำนวนมาก ย้ายไปยังฟังก์ชั่นและเรียกว่า 1237 00:57:48,720 --> 00:57:49,610 ทำงานในแต่ละครั้ง 1238 00:57:49,610 --> 00:57:51,190 ที่จะทำสิ่งที่สำหรับคุณ 1239 00:57:51,190 --> 00:57:53,740 นั่นเป็นเหตุผลที่ดี ที่จะใช้ฟังก์ชั่น 1240 00:57:53,740 --> 00:57:54,870 >> ดังนั้นลักษณะทางกายวิภาคของการทำงาน 1241 00:57:54,870 --> 00:57:56,670 ฟังก์ชั่นโดยทั่วไปจะ ลักษณะเช่นนี้ 1242 00:57:56,670 --> 00:57:59,280 มันจะเริ่มต้นด้วยประเภทกลับ, แล้วคุณจะได้รับชื่อ 1243 00:57:59,280 --> 00:58:02,935 มันจะใช้ข้อโต้แย้งมิฉะนั้น ที่รู้จักกันเป็นพารามิเตอร์และภายใน 1244 00:58:02,935 --> 00:58:05,290 ที่วงเล็บปีกกาคุณจะ เขียนรหัสของคุณ 1245 00:58:05,290 --> 00:58:07,150 >> เราได้เห็นหนึ่งในฟังก์ชั่นจำนวนมาก 1246 00:58:07,150 --> 00:58:09,160 นั่นเป็นหลัก 1247 00:58:09,160 --> 00:58:13,820 นี่คือหลักที่ซ้อนทับลงบน กายวิภาคศาสตร์ที่ผมมีก่อนหน้านี้ 1248 00:58:13,820 --> 00:58:15,525 int ที่นี่มีความหมายว่าอะไร? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 int หมายความว่าอย่างไร 1251 00:58:19,450 --> 00:58:21,026 เมื่อฉันเขียนหลัก int (void) 1252 00:58:21,026 --> 00:58:21,740 >> นักเรียนประเภทย้อนกลับ? 1253 00:58:21,740 --> 00:58:22,350 >> เจสัน Hirschhorn: ขอโทษ? 1254 00:58:22,350 --> 00:58:23,170 >> นักเรียน: ชนิดกลับ 1255 00:58:23,170 --> 00:58:24,820 >> เจสัน Hirschhorn: Int คือ กลับชนิด, ตรงขวา 1256 00:58:24,820 --> 00:58:25,870 หลักส่งกลับ int 1257 00:58:25,870 --> 00:58:28,678 เป็นหลักอะไร? 1258 00:58:28,678 --> 00:58:29,510 >> นักเรียน: ชื่อฟังก์ชั่น 1259 00:58:29,510 --> 00:58:30,800 >> เจสัน Hirschhorn: หลักคือ ชื่อของฟังก์ชัน 1260 00:58:30,800 --> 00:58:31,510 ตรงขวา 1261 00:58:31,510 --> 00:58:31,840 และเป็นโมฆะ? 1262 00:58:31,840 --> 00:58:33,190 เป็นโมฆะในวงเล็บคืออะไร? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> นักศึกษาไม่ใช้ ค่าใด ๆ ภายนอก 1265 00:58:42,030 --> 00:58:42,930 >> เจสัน Hirschhorn: void ดังนั้น - 1266 00:58:42,930 --> 00:58:43,240 ขวา 1267 00:58:43,240 --> 00:58:45,940 ในวงเล็บเราใส่ พารามิเตอร์หรืออาร์กิวเมนต์ 1268 00:58:45,940 --> 00:58:48,480 ฟังก์ชั่นใช้เวลาสิ่งที่จะไป ภายในกล่องสีดำ 1269 00:58:48,480 --> 00:58:50,760 เมื่อคุณเขียนเป็นโมฆะคุณกำลังจะบอกว่า นี้จะไม่มีอะไรค่ะ 1270 00:58:50,760 --> 00:58:53,802 เป็นโมฆะหลัก int ดังนั้นหมายความว่าหลัก ไม่ได้รับอะไรค่ะ 1271 00:58:53,802 --> 00:58:56,950 >> ภายในวงเล็บปีกกาเรามีบาง รหัสและจากนั้นเราจะเห็นในตอนท้าย 1272 00:58:56,950 --> 00:58:57,640 กลับเป็นศูนย์ 1273 00:58:57,640 --> 00:59:01,220 ผลตอบแทนเ​​ป็นศูนย์หมายความว่าอย่างไร 1274 00:59:01,220 --> 00:59:02,470 ดีเราได้พูดคุยเกี่ยวกับชนิดของผลตอบแทน 1275 00:59:02,470 --> 00:59:03,780 ความต้องการที่หน้าหลักกลับ int 1276 00:59:03,780 --> 00:59:04,960 นั่นคือสิ่งที่บรรทัดนี้ไม่ 1277 00:59:04,960 --> 00:59:07,330 มันกลับ int, ศูนย์ 1278 00:59:07,330 --> 00:59:13,600 >> แน่นอนเราไม่ได้เห็นว่ามาก เพราะในการเขียนโปรแกรมที่เราทำกับ 1279 00:59:13,600 --> 00:59:16,070 เครื่องที่เราทำและคอมไพเลอร์ ที่เราใช้ในปัจจุบันคุณ 1280 00:59:16,070 --> 00:59:16,990 ไม่จำเป็นต้องบรรทัดที่ 1281 00:59:16,990 --> 00:59:20,070 หลักเป็นพิเศษพอที่จะรู้ว่า เมื่อคุณมาถึงจุดสิ้นสุดของหลักเพียง 1282 00:59:20,070 --> 00:59:22,060 กลับศูนย์ถ้าทุกอย่างเป็นไปด้วยดี 1283 00:59:22,060 --> 00:59:25,560 ในความเป็นจริงถ้าสิ่งที่ไม่เป็นไปด้วยดี, หลักมักจะกลับมาที่แตกต่างกัน 1284 00:59:25,560 --> 00:59:28,500 จำนวน signifying สิ่งที่ ผิดพลาดกับโปรแกรมของคุณ 1285 00:59:28,500 --> 00:59:32,470 >> ดังนั้นโดยทั่วไปเมื่อคุณเห็นรหัสคุณ ไม่ได้เขียนเป็นศูนย์กลับ แต่มันเป็นสิ่งที่ดี 1286 00:59:32,470 --> 00:59:34,770 ที่จะรู้ว่ามันเกิดขึ้นหลัง ฉากเพราะเมื่อใดก็ตามที่คุณเขียน 1287 00:59:34,770 --> 00:59:36,370 ของฟังก์ชั่นอื่น คุณจะต้อง 1288 00:59:36,370 --> 00:59:37,400 รวมถึงเส้นผลตอบแทน 1289 00:59:37,400 --> 00:59:39,710 หากคุณกำลังจะบอกว่าฉันกำลังจะไป กลับ int คุณจะต้อง 1290 00:59:39,710 --> 00:59:41,250 เขียนบางสิ่งบางอย่างกลับมา 1291 00:59:41,250 --> 00:59:45,160 ถ้าคุณบอกว่าเป็นโมฆะขึ้นที่นี่ที่ เริ่มต้นเป็นโมฆะเป็นโมฆะหลักสำหรับ 1292 00:59:45,160 --> 00:59:48,670 ตัวอย่างเช่นแล้วก็ไม่กลับ สิ่งใด - โมฆะหมายถึงอะไร - 1293 00:59:48,670 --> 00:59:50,320 ดังนั้นคุณจึงไม่จำเป็นต้องใช้เส้นอัตราผลตอบแทนที่ 1294 00:59:50,320 --> 00:59:53,610 แต่คุณเคยเขียนบางสิ่งบางอย่างที่ไม่ เป็นโมฆะสำหรับประเภทผลตอบแทนที่คุณจะต้อง 1295 00:59:53,610 --> 00:59:55,950 บรรทัดที่ระบุว่าผลตอบแทนและคุณ ต้องการที่จะนำบางสิ่งบางอย่างที่มี 1296 00:59:55,950 --> 00:59:57,650 ที่ตรงกับประเภท 1297 00:59:57,650 --> 00:59:58,900 คำถามเกี่ยวกับเรื่องที่? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 หวาน 1300 01:00:04,680 --> 01:00:05,930 >> ขอบเขต 1301 01:00:05,930 --> 01:00:07,360 นี่คือสิ่งที่เราได้ สัมผัสเช่นกัน 1302 01:00:07,360 --> 01:00:10,720 ตัวแปรทุกอย่างที่เรารู้ว่ามี ขอบเขตบางอย่างและที่เป็นพื้น 1303 01:00:10,720 --> 01:00:14,160 พูดคุยเกี่ยวกับการที่ตัวแปร อาจจะหรืออาจจะไม่ได้อ้างอิง 1304 01:00:14,160 --> 01:00:16,310 และผมชอบที่จะบอกว่าสิ่งที่เกิดขึ้น ในวงเล็บปีกกาอยู่ 1305 01:00:16,310 --> 01:00:18,000 ภายในวงเล็บปีกกา 1306 01:00:18,000 --> 01:00:21,490 ดังนั้นสำหรับตัวอย่างเช่นถ้าเรามองไปที่รหัสนี้ เรากำหนดตัวแปรทั่วโลก 1307 01:00:21,490 --> 01:00:24,510 ด้านนอกของหลัก int, ที่นี่ที่ด้านบน 1308 01:00:24,510 --> 01:00:27,380 เรากำลังเรียกร้องอีก int หลักภายใน 1309 01:00:27,380 --> 01:00:29,760 เรามีวงเล็บปีกกาบางมากขึ้นและ เรากำลังเรียก int อีก 1310 01:00:29,760 --> 01:00:31,690 >> ขณะนี้มีสามในรหัส 1311 01:00:31,690 --> 01:00:32,550 เหล่านี้ไม่ได้ในสิ่งเดียวกัน 1312 01:00:32,550 --> 01:00:34,880 ฉันได้สร้างสามตัวแปรที่แตกต่างกัน 1313 01:00:34,880 --> 01:00:39,370 แล้วภายในเหล่านี้ภายในหยิก วงเล็บที่ผมพูด = 4 1314 01:00:39,370 --> 01:00:44,130 ซึ่งเป็นที่พูดคุยเกี่ยวกับ แรกหนึ่งอีกคนหนึ่ง 1315 01:00:44,130 --> 01:00:47,045 หรือหนึ่งในสาม? 1316 01:00:47,045 --> 01:00:47,920 >> นักศึกษาหนึ่งในสาม 1317 01:00:47,920 --> 01:00:49,320 >> เจสัน Hirschhorn: มันพูด เกี่ยวกับหนึ่งในสาม 1318 01:00:49,320 --> 01:00:52,850 ทั้งหมดของผู้ที่จริงสามารถ พูดคุยเกี่ยวกับในเรื่องนี้โดยเฉพาะ 1319 01:00:52,850 --> 01:00:58,660 เช่นเพราะขอบเขตของพวกเขาทั้งหมดไป ในวงเล็บปีกกาเหล่านี้ด้านในสุด 1320 01:00:58,660 --> 01:01:02,360 อย่างไรก็ตามเมื่อคุณเรียกสิ่งเดียวกัน ชื่อนี้มีสิ่งที่เรียกว่าซ่อนอะไร 1321 01:01:02,360 --> 01:01:09,670 ดังนั้นคุณจะจัดการกับหรือแก้ไขหรือใช้ ตัวแปรล่าสุดหรือหนึ่ง 1322 01:01:09,670 --> 01:01:11,090 ที่ใกล้ชิดกับคุณ 1323 01:01:11,090 --> 01:01:14,760 ดังนั้นภายในที่นี่เป็นหนึ่งในสามนี้จะใกล้เคียงที่สุด กับสายที่ 4 = ดังนั้นจึง 1324 01:01:14,760 --> 01:01:16,550 ส่งผลกระทบต่อหนึ่งในสาม 1325 01:01:16,550 --> 01:01:19,890 และบรรทัดสุดท้าย, = 2 ซึ่งเป็น ที่พูดคุยเกี่ยวกับครั้งแรกที่สอง, 1326 01:01:19,890 --> 01:01:20,805 หรือที่สาม? 1327 01:01:20,805 --> 01:01:22,530 >> นักศึกษาที่สอง 1328 01:01:22,530 --> 01:01:24,430 >> เจสัน Hirschhorn: มันพูด เกี่ยวกับที่สอง 1329 01:01:24,430 --> 01:01:27,970 แน่นอนที่สามใกล้เคียงกับ ในรหัส แต่ที่สาม 1330 01:01:27,970 --> 01:01:30,200 ไม่ได้อยู่ข้างนอก ที่วงเล็บปีกกา 1331 01:01:30,200 --> 01:01:32,650 เมื่อคุณได้รับที่ปิดหยิก รั้งมันก็เหมือนมันหายไป, 1332 01:01:32,650 --> 01:01:33,570 เป็นหลัก 1333 01:01:33,570 --> 01:01:36,150 ดังนั้นเพียงสองคนเท่านั้นที่เหลือเป็นผู้ที่ สองคนแรกและแน่นอนตอนนี้ 1334 01:01:36,150 --> 01:01:37,960 มันใกล้เคียงกับครั้งที่สอง 1335 01:01:37,960 --> 01:01:39,410 >> เพื่อให้เป็นสิ่งที่ดีที่ จำเกี่ยวกับขอบเขต 1336 01:01:39,410 --> 01:01:42,900 ตัวอย่างเช่นฉันแน่ใจว่าคุณได้พบ นี้ในการทำในขณะที่ห่วง 1337 01:01:42,900 --> 01:01:46,680 หากคุณเริ่มต้นภายในตัวแปร ทำในขณะที่ห่วงและจากนั้นคุณพยายามที่จะ 1338 01:01:46,680 --> 01:01:50,360 เข้าถึงมันนอกคุณอาจ ได้เตือนเช่นนี้บาง 1339 01:01:50,360 --> 01:01:51,680 ตัวแปรไม่ได้อยู่ 1340 01:01:51,680 --> 01:01:54,370 นั่นเป็นเพราะขอบเขตของความคิด, เพียง แต่สิ่งที่มีอยู่ 1341 01:01:54,370 --> 01:01:55,320 ภายในวงเล็บปีกกาเหล่านั้น 1342 01:01:55,320 --> 01:01:59,320 วงเล็บปีกกาเป็นเช่นกอดยักษ์ที่ คุณให้รหัสของคุณเป็นอีกหนึ่ง 1343 01:01:59,320 --> 01:02:01,380 วิธีที่จะคิดเกี่ยวกับมัน 1344 01:02:01,380 --> 01:02:05,280 >> ดังนั้นนี่คือฟังก์ชั่นอื่นบางสิ่งบางอย่าง สำหรับพวกคุณไปยังรหัส hellofunction.c 1345 01:02:05,280 --> 01:02:08,240 เรากำลังจะข้ามว่าสำหรับตอนนี้ แต่ นี้เป็นสิ่งที่ผมแนะนำให้คุณ 1346 01:02:08,240 --> 01:02:09,740 การปฏิบัติด้วยตัวคุณเอง 1347 01:02:09,740 --> 01:02:12,510 เขียนโปรแกรมที่สายหลัก ฟังก์ชั่นที่พิมพ์ออกมาอีก 1348 01:02:12,510 --> 01:02:13,750 ทักทายให้กับผู้ใช้ 1349 01:02:13,750 --> 01:02:17,750 มันเป็นหลักที่สละ hello โลก และวาจาที่เป็น printf 1350 01:02:17,750 --> 01:02:18,680 ฟังก์ชั่นอื่น 1351 01:02:18,680 --> 01:02:22,360 แต่เราไม่ได้ไปทำที่ตอนนี้ เพราะเราไม่ได้มีเวลามากที่สุดเท่าที่ 1352 01:02:22,360 --> 01:02:23,350 ด้านซ้ายเป็นผมจะชอบ 1353 01:02:23,350 --> 01:02:26,250 >> การประกาศฟังก์ชันดังนั้น 1354 01:02:26,250 --> 01:02:28,080 เราได้เห็นนี้มาก่อนเช่นกัน 1355 01:02:28,080 --> 01:02:31,180 หากคุณต้องการที่จะเขียนฟังก์ชั่นอื่น คุณต้องการที่จะให้คอมพิวเตอร์รู้จักและ 1356 01:02:31,180 --> 01:02:32,600 หลักรู้ว่ามันมีอยู่แล้ว 1357 01:02:32,600 --> 01:02:37,140 ดังนั้นสิ่งที่เราทำอยู่เหนือหลักที่เราเขียน ประเภทกลับชื่อและ 1358 01:02:37,140 --> 01:02:42,970 พารามิเตอร์และจากนั้นลงมาด้านล่างหลัก ลงที่นี่เราจริงคัดลอกบรรทัดที่ 1359 01:02:42,970 --> 01:02:45,080 แล้วเขียนรหัสจริง 1360 01:02:45,080 --> 01:02:50,990 ดังนั้นวิธีนี้ถ้าคุณเรียกใช้ฟังก์ชัน ในหลักที่ด้านบนหลักรู้ว่า 1361 01:02:50,990 --> 01:02:54,650 สวัสดีมีอยู่แล้วตัวอย่างเช่นถ้าฉันเป็น เพื่อโทรไปทักทายและจากนั้นมันก็ดูไป 1362 01:02:54,650 --> 01:02:56,710 การดำเนินงานลงมาด้านล่าง 1363 01:02:56,710 --> 01:02:59,680 จะเกิดอะไรขึ้นถ้าฉันไม่ได้รวมไปถึงนี้ เส้นขึ้นด้านบน, สวัสดีถือเป็นโมฆะ (void) 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> ถ้าฉันไม่ได้รวมถึงบรรทัดนี้ และบริการโทรหลักสวัสดีฉัน 1366 01:03:06,560 --> 01:03:07,640 จะได้รับข้อผิดพลาด 1367 01:03:07,640 --> 01:03:10,090 ฉันจะได้รับข้อผิดพลาดเพราะ คอมไพเลอร์จะไม่ทราบ 1368 01:03:10,090 --> 01:03:13,070 ว่าสิ่งนี้มีอยู่ 1369 01:03:13,070 --> 01:03:16,680 นี้จะคล้ายกับเหตุผลที่เรา ทำ # include cs50.h. 1370 01:03:16,680 --> 01:03:21,390 อะไรเป็นหลัก cs50.h จะทำ มีการวางรับสายขึ้น 1371 01:03:21,390 --> 01:03:23,120 มันได้รับการวาง int ขึ้น 1372 01:03:23,120 --> 01:03:26,570 มันวางทั้งหมดของฟังก์ชันเหล่านั้น ต้นแบบก่อนที่จะขึ้นหลักเพื่อที่ว่าเมื่อ 1373 01:03:26,570 --> 01:03:29,900 คุณเรียกพวกเขาในหลักหลักรู้ ว่าสิ่งเหล่านี้มีอยู่ 1374 01:03:29,900 --> 01:03:31,630 นั่นคือสิ่งที่คนเหล่านั้น. ไฟล์ชั่วโมงทำ 1375 01:03:31,630 --> 01:03:33,850 และดังนั้นถ้าคุณกำลังจะทำด้วยตัวเอง ฟังก์ชั่นที่คุณมีเพื่อให้แน่ใจว่า 1376 01:03:33,850 --> 01:03:36,690 คุณใส่ต้นแบบที่มีขึ้น 1377 01:03:36,690 --> 01:03:38,380 คำถามใด ๆ เกี่ยวกับเรื่องนี้ไกลดังนั้น? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> อาร์กิวเมนต์บรรทัดคำสั่ง 1380 01:03:42,490 --> 01:03:44,780 นี่คือสิ่งที่เรากำลังจะเสร็จสิ้น เมื่อแล้วหวังว่าเราจะ 1381 01:03:44,780 --> 01:03:46,180 บีบใน pset บาง 1382 01:03:46,180 --> 01:03:48,700 ผมไม่ทราบว่าถ้าเราจะสามารถที่จะบีบ ว่าในเพราะเวลา แต่ 1383 01:03:48,700 --> 01:03:51,560 กับพวกคุณที่อยู่ที่นี่และถ้าคุณ ผมอยากจะบอกว่าหลังจากที่สำหรับบิตเรา 1384 01:03:51,560 --> 01:03:54,290 สามารถไปกว่ามันนอก 1385 01:03:54,290 --> 01:03:56,020 แต่เรากำลังจะจบด้วย อาร์กิวเมนต์บรรทัดคำสั่ง 1386 01:03:56,020 --> 01:03:58,510 สำหรับที่ผ่านมา 15 นาที 1387 01:03:58,510 --> 01:03:59,930 เราตื่น, ไมเคิล 1388 01:03:59,930 --> 01:04:01,180 คุณตื่นขึ้นมา? 1389 01:04:01,180 --> 01:04:01,660 ดี 1390 01:04:01,660 --> 01:04:03,760 ผมไม่ทราบว่าถ้าคุณนอนหลับ ด้วยดวงตาของคุณปิด 1391 01:04:03,760 --> 01:04:05,800 มันจะเป็นเรื่องยุ่งยาก 1392 01:04:05,800 --> 01:04:07,180 >> อาร์กิวเมนต์บรรทัดคำสั่ง 1393 01:04:07,180 --> 01:04:10,430 เหล่านี้เป็นวิธีหนึ่งที่จะส่งผ่านข้อมูล ลงในโปรแกรม 1394 01:04:10,430 --> 01:04:12,780 ในที่สุดเราจะพบคนอื่น ๆ 1395 01:04:12,780 --> 01:04:15,600 แต่เป็นหลักที่เรากำลังจะหยุด เขียน int main (void) ถ้าเราต้องการ 1396 01:04:15,600 --> 01:04:16,720 ใช้เวลาบางส่วนอาร์กิวเมนต์บรรทัดคำสั่ง 1397 01:04:16,720 --> 01:04:19,850 เรากำลังจะเขียนสิ่งนี้ เรียกว่า int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 สตริง argv วงเล็บ 1399 01:04:22,430 --> 01:04:23,710 ที่ทำให้เกิดความสับสน 1400 01:04:23,710 --> 01:04:26,070 นั่นเป็นจำนวนมากของตัวอักษรที่ไม่อยู่ใน มนุษย์ภาษาอังกฤษดังนั้นเรากำลังจะไป 1401 01:04:26,070 --> 01:04:27,680 แกะพวกเขาได้ในขณะนี้ 1402 01:04:27,680 --> 01:04:30,450 >> argc หมายถึงการนับอาร์กิวเมนต์ - 1403 01:04:30,450 --> 01:04:32,600 และอีกครั้งที่สิ่งเหล่านี้จะ จะพร้อมใช้งานออนไลน์ - 1404 01:04:32,600 --> 01:04:34,280 และนั่นก็คือจำนวนของการขัดแย้ง 1405 01:04:34,280 --> 01:04:37,940 argv ยืนสำหรับอาร์กิวเมนต์เวกเตอร์และ ผู้ที่มีข้อโต้แย้งของตัวเอง 1406 01:04:37,940 --> 01:04:38,830 มันเป็นอาร์เรย์ของสตริง 1407 01:04:38,830 --> 01:04:40,880 เราได้เห็นจริงอาร์เรย์ ของสตริงก่อนที่วันนี้ 1408 01:04:40,880 --> 01:04:44,390 เราได้สร้างหนึ่งในล่าสุด โปรแกรมที่เราเขียน 1409 01:04:44,390 --> 01:04:45,720 >> ดังนั้นนี่คือตัวอย่าง 1410 01:04:45,720 --> 01:04:50,230 ผมเขียน. / ohai CS50 ส่วน บนบรรทัดคำสั่งของฉัน 1411 01:04:50,230 --> 01:04:54,090 argc ในกรณีนี้เท่ากับ 3 1412 01:04:54,090 --> 01:05:01,170 argv วงเล็บคือ 0 ohai, argv วงเล็บ 1 คือ CS50, argv วงเล็บ 2 ส่วนคือ 1413 01:05:01,170 --> 01:05:05,160 อีกครั้ง argc คือจำนวนของการขัดแย้ง และการเดินทางที่คุณขึ้นเล็กน้อย 1414 01:05:05,160 --> 01:05:08,710 บิตเรามักจะนับชื่อของ ฟังก์ชั่นเป็นอาร์กิวเมนต์แรก 1415 01:05:08,710 --> 01:05:12,350 ดังนั้นในกรณีนี้มีสาม อาร์กิวเมนต์ชื่อของฟังก์ชัน 1416 01:05:12,350 --> 01:05:14,590 แล้วสองคนนั้นที่ฉันพิมพ์นิ้ว 1417 01:05:14,590 --> 01:05:18,900 >> ต่อไปเรากำลังจะบันทึกเหล่านั้น ข้อโต้แย้งของตัวเองใน argv 1418 01:05:18,900 --> 01:05:22,690 และอีกครั้งเช่นเดียวกับที่เราเห็นก่อนที่เราทำ นี้ในโปรแกรมล่าสุดที่เราเขียน 1419 01:05:22,690 --> 01:05:27,110 คุณสามารถย้ายผ่านแถวของ argv และได้รับสตริงเหล่านั้น 1420 01:05:27,110 --> 01:05:28,830 ที่เป็นหลักสิ่งที่เราทำที่ สิ้นสุดโครงการล่าสุดของเรา 1421 01:05:28,830 --> 01:05:33,190 ที่เราเลือกชื่อสุ่มและจากนั้นก็เดินไป สิ่งที่วงเล็บชื่อและพิมพ์ 1422 01:05:33,190 --> 01:05:34,580 ออกสตริงตั้งอยู่ที่นั่น 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> ด้านบนของเพียงหนึ่งแถวเพราะ สตริงตัวเองเป็นอาร์เรย์เป็น 1425 01:05:43,670 --> 01:05:46,320 พูดคุยเกี่ยวกับคุณสามารถมีอาร์เรย์ ของอาร์เรย์ซึ่งเป็น 1426 01:05:46,320 --> 01:05:48,530 หลักสิ่งที่ argv คือ 1427 01:05:48,530 --> 01:05:51,370 วิธีการหนึ่งที่คุณสามารถคิดเกี่ยวกับ นี้เป็นแถวและคอลัมน์ 1428 01:05:51,370 --> 01:05:54,750 ฉันสามารถวาดขวาที่ตอนนี้ 1429 01:05:54,750 --> 01:05:57,370 ดังนั้น argv - 1430 01:05:57,370 --> 01:05:58,630 ที่ไม่ได้ลบ 1431 01:05:58,630 --> 01:05:59,880 ลองวาดภายใต้ ohai 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> ดังนั้นถ้าฉันเขียนในส่วน ohai CS50, ฉันจะตัด 1434 01:06:12,490 --> 01:06:14,520 ส่วนสำหรับตัวอย่างนี้ 1435 01:06:14,520 --> 01:06:29,026 แต่เป็นหลักของฉันหลายมิติ อาร์เรย์ ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 เรากำลังจะทำนิกาย 1437 01:06:32,200 --> 01:06:34,610 ดังนั้นที่นี่ฉันสามารถเข้าถึง - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 ถ้าฉันเพียงแค่ให้ argv หมายเลขหนึ่ง - 1440 01:06:45,710 --> 01:06:46,390 นี้เป็นสิ่งที่ผิด 1441 01:06:46,390 --> 01:06:49,020 เกิดอะไรขึ้นในแผนภาพนี้ 1442 01:06:49,020 --> 01:06:49,690 >> นักเรียนเริ่มต้นที่ศูนย์ 1443 01:06:49,690 --> 01:06:50,350 >> เจสัน Hirschhorn: ควร เริ่มต้นด้วยศูนย์ 1444 01:06:50,350 --> 01:06:52,940 ฉันควรจะยังคงหมุน แต่ ตั้งแต่ผมวาดแล้วมันลงบนผม 1445 01:06:52,940 --> 01:06:54,120 ไปทิ้งไว้ที่นั่นในขณะนี้ 1446 01:06:54,120 --> 01:06:55,160 แต่มันเริ่มต้นที่ศูนย์ 1447 01:06:55,160 --> 01:06:56,410 ที่เหมาะสม 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 ฉันขอโทษถ้านี้มีขนาดเล็ก 1450 01:07:00,120 --> 01:07:01,370 สามารถบันทึกทุกชนิดที่คุณเห็น 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 ดังนั้นถ้าฉันทำ argv 0 ฉันจะ รับทุก ohai 1453 01:07:06,670 --> 01:07:08,555 ถ้าฉัน argv 1, ฉันจะได้รับทั้งหมดของ CS50 1454 01:07:08,555 --> 01:07:10,720 ถ้าฉัน argv 2 ฉันจะได้รับทั้งหมดของนิกาย 1455 01:07:10,720 --> 01:07:13,370 >> แต่ตอนนี้ในขณะที่เรากล่าวว่าสตริง, อาร์เรย์ตัวเอง 1456 01:07:13,370 --> 01:07:19,740 ดังนั้นสิ่งที่ฉันสามารถทำได้คือผมสามารถเลี้ยงดูนี้ เป็น array หลายมิติและฉัน 1457 01:07:19,740 --> 01:07:24,190 สามารถทำสิ่งที่ตามสายของ argv 0, 0, ซึ่งจะช่วยให้ฉันเพียงแค่ 1458 01:07:24,190 --> 01:07:25,400 0 ตัวอักษร 1459 01:07:25,400 --> 01:07:28,760 argv 0, 1, ซึ่งจะช่วยให้ฉันเพียงแค่ชั่วโมง 1460 01:07:28,760 --> 01:07:33,960 argv 1, 3, ซึ่งจะช่วยให้ฉันเพียงแค่ 0 ลงที่นี่ใน CS50 นี้ 1461 01:07:33,960 --> 01:07:37,690 >> เพราะสตริงตัวเอง มีอาร์เรย์ที่เรากำลังวาง 1462 01:07:37,690 --> 01:07:38,540 ที่อยู่ในอาร์เรย์อื่น 1463 01:07:38,540 --> 01:07:42,850 ขณะนี้เรามีอาร์เรย์ของอาร์เรย์และเรา ดัชนีลงในอาร์เรย์แรกของเราและสามารถ 1464 01:07:42,850 --> 01:07:44,840 แล้วดัชนีลงในอาร์เรย์ที่สองของเรา 1465 01:07:44,840 --> 01:07:48,650 และในขณะที่คุณจะคาดหวังเราทำอย่างนั้น โดยเพียงแค่ใส่ทั้งสอง - 1466 01:07:48,650 --> 01:07:51,760 เราทำวงเล็บเพียง ที่เหมาะสมต่อไปกับอีกคนหนึ่ง 1467 01:07:51,760 --> 01:07:58,930 ดังนั้นในตัวอย่างนี้ argv 1 CS50 และ argv 1, 2, เหมือนอย่างที่เรากล่าวว่าเป็นเพียง 5 1468 01:07:58,930 --> 01:08:02,120 ไม่มีใครมีคำถามเกี่ยวกับเรื่อง อาร์เรย์หลายมิติ? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 พวกคุณกำลังทำอะไรน่ากลัว 1471 01:08:06,380 --> 01:08:07,750 หวาน 1472 01:08:07,750 --> 01:08:11,980 >> ดังนั้นเราจึงมีโปรแกรมอื่นที่นี่ และนี่คือสิ่งสุดท้ายที่เรา 1473 01:08:11,980 --> 01:08:13,690 จะทำตอนนี้ 1474 01:08:13,690 --> 01:08:18,160 ดังนั้นฉันต้องการให้คุณเขียนโปรแกรมว่า ใช้ชื่อเต็มของผู้ใช้และมีเพียงสอง 1475 01:08:18,160 --> 01:08:21,649 สองอาร์กิวเมนต์บรรทัดคำสั่งและในที่สุด, พิมพ์ออกมาอวยพรให้ 1476 01:08:21,649 --> 01:08:24,180 ผู้ใช้ที่มีชื่อแรกของพวกเขา 1477 01:08:24,180 --> 01:08:27,800 ดังนั้นทำไมคุณไม่ใช้เวลาสามหรือสี่ นาทีในการทำเช่นนี้แล้วเราจะไป 1478 01:08:27,800 --> 01:08:29,870 มันเป็นกลุ่มและ แล้วเราจะห่อขึ้น? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> และอีกครั้งที่นี่เมื่อเราบอกว่าต้องใช้เวลา ชื่อเต็มของผู้ใช้ต่อคำอธิบาย 1481 01:09:48,084 --> 01:09:54,473 ปัญหานี้มันควรจะเป็นคำสั่ง อาร์กิวเมนต์บรรทัด, ไม่ได้ใช้รับสาย 1482 01:09:54,473 --> 01:09:55,450 อ้าง? มาร์คัส 1483 01:09:55,450 --> 01:09:58,260 >> นักศึกษาดังนั้นเมื่อคุณพูดสองคำสั่ง อาร์กิวเมนต์บรรทัดคือว่านอกเหนือไปจาก 1484 01:09:58,260 --> 01:10:00,000 . / วิ่งหรือ - 1485 01:10:00,000 --> 01:10:02,980 >> เจสัน Hirschhorn: คำถามที่ดี 1486 01:10:02,980 --> 01:10:05,995 do รวมทั้ง. / run สาม อาร์กิวเมนต์บรรทัดคำสั่ง 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 หรือรวมทั้ง. / ส่วนบุคคลใน กรณีนี้เพราะที่ 1489 01:10:11,320 --> 01:10:12,360 ชื่อของแฟ้มนี้ 1490 01:10:12,360 --> 01:10:13,300 ดังนั้น argc จะสาม 1491 01:10:13,300 --> 01:10:19,480 แต่ฉันต้องการเพียงสองข้อโต้แย้ง ให้กับโปรแกรม 1492 01:10:19,480 --> 01:10:20,400 ฉันควรจะระบุว่า 1493 01:10:20,400 --> 01:10:23,380 ฉันจะทำให้การเปลี่ยนแปลงที่ก่อนที่ผมจะโพสต์ข้อความ เหล่านี้และส่งพวกเขาไปพวกคุณ 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> ลูกศิษย์: ถ้าคุณ มีชื่อกลาง? 1496 01:10:34,740 --> 01:10:36,800 >> Hirschhorn JASON: ถ้าคุณมีกลาง ชื่อคุณออกจากโชค 1497 01:10:36,800 --> 01:10:38,050 ฉันขอโทษ 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 หรือถ้าคุณเพียงไปโดย Shakira, คุณยังออกจากโชค 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 อ้าง? 1502 01:10:56,425 --> 01:11:00,760 >> นักศึกษาดังนั้นเมื่อคนไม่ได้ cs50.h พวกเขาไม่กำหนด argv 1503 01:11:00,760 --> 01:11:03,450 เป็นถ่านดาว argv? 1504 01:11:03,450 --> 01:11:05,160 มันจะยังคงหรือที่เรียกว่าสตริง argv? 1505 01:11:05,160 --> 01:11:07,430 >> เจสัน Hirschhorn: ใช่ 1506 01:11:07,430 --> 01:11:10,480 ดังนั้นสตริงอีกครั้งเราหน้ากากกว่าสิ่งที่ สิ่งที่เกิดขึ้นมี 1507 01:11:10,480 --> 01:11:14,040 ที่กำลังจะถูกรื้อออกอาจจะ เมื่อวันพุธ แต่ในไม่ช้า 1508 01:11:14,040 --> 01:11:16,380 มันเหมือนล้อการฝึกอบรม 1509 01:11:16,380 --> 01:11:18,370 เพราะเป็นหลักก็ สิ่งเดียวกัน 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> ดังนั้นขอใช้เวลาอีกนาทีในการเขียนโปรแกรม นี้และจากนั้นเราจะไปกว่า 1512 01:11:42,560 --> 01:11:45,130 มันเป็นกลุ่มแล้ว เช่นฉันกล่าวว่าห่อ 1513 01:11:45,130 --> 01:11:47,770 และผมคิดว่าพวกเขายังคงลูกอมเสริม ดังนั้นหวังว่าพวกคุณควรใช้ 1514 01:11:47,770 --> 01:11:49,790 นั้นหรือกรุณาใช้ว่า 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> ขออภัยหากคุณยังคงเขียน แต่ฉันต้องการที่จะดำน้ำในและเรา 1517 01:12:22,560 --> 01:12:24,010 สามารถจบด้วยกัน 1518 01:12:24,010 --> 01:12:30,470 ดังนั้นผมจึงได้เขียนใน # include cs50.h, # include stdio.h 1519 01:12:30,470 --> 01:12:33,970 int main (void), วงเล็บปีกกาหยิก รั้งภายในสามบรรทัด 1520 01:12:33,970 --> 01:12:38,760 pseudocode ใช้ชื่อเต็มของผู้ใช้ สองและบรรทัดคำสั่งเพียงสองคนเท่านั้น 1521 01:12:38,760 --> 01:12:42,670 ข้อโต้แย้งที่พิมพ์ออกมาอวยพรให้ ผู้ใช้ที่มีชื่อแรกของพวกเขา 1522 01:12:42,670 --> 01:12:45,810 >> ดังนั้นหนึ่งเป็นครั้งแรกที่ใช้ ชื่อเต็มของผู้ใช้ 1523 01:12:45,810 --> 01:12:47,290 ใครสามารถช่วยฉันใช้ ชื่อเต็มของผู้ใช้หรือไม่ 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 ฉันจะทำส่วนที่? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 พวกคุณไม่ทำอย่างนั้นส่วนแรก? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 ใช้ชื่อเต็มของผู้ใช้ 1530 01:13:03,894 --> 01:13:05,860 ดีที่บรรทัดคำสั่งหนึ่ง อาร์กิวเมนต์สิ่งที่ฉันควรจะเขียน? 1531 01:13:05,860 --> 01:13:09,624 สิ่งที่ฉันควรเปลี่ยนเกี่ยวกับ การประกาศฟังก์ชันของฉัน 1532 01:13:09,624 --> 01:13:11,140 >> ลูกศิษย์: คุณไม่ต้องการ มันจะถือเป็นโมฆะอีกต่อไป 1533 01:13:11,140 --> 01:13:11,410 >> เจสัน Hirschhorn: ว่า 1534 01:13:11,410 --> 01:13:12,385 ฉันไม่ต้องการให้เป็นโมฆะ 1535 01:13:12,385 --> 01:13:13,630 ฉันจะทำอะไรที่มันต้องการที่จะ? 1536 01:13:13,630 --> 01:13:14,650 >> นักเรียน: argc Int 1537 01:13:14,650 --> 01:13:15,720 >> เจสัน Hirschhorn: int argc 1538 01:13:15,720 --> 01:13:17,430 >> นักเรียน: String argv 1539 01:13:17,430 --> 01:13:19,055 >> เจสัน Hirschhorn: String argv 1540 01:13:19,055 --> 01:13:19,705 >> นักศึกษายึดตัวยึด 1541 01:13:19,705 --> 01:13:20,070 >> เจสัน Hirschhorn: ตัวยึดตัวยึด 1542 01:13:20,070 --> 01:13:21,780 ที่ตรงขวาและที่ว่า จริงวิธีการที่ฉันจะได้รับ 1543 01:13:21,780 --> 01:13:22,820 ชื่อเต็มของผู้ใช้ 1544 01:13:22,820 --> 01:13:24,070 พวกเขากำลังจะวางไว้ในที่มี 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 ดังนั้นหนึ่งที่ทำ 1547 01:13:28,780 --> 01:13:30,780 ดังนั้นตอนนี้ฉันต้องการสองและมีเพียงสอง อาร์กิวเมนต์บรรทัดคำสั่ง 1548 01:13:30,780 --> 01:13:35,065 ดังนั้นโนอาห์สิ่งเดียวที่ฉันสามารถเป็น ตรวจสอบจำนวนของคำสั่ง 1549 01:13:35,065 --> 01:13:36,315 อาร์กิวเมนต์บรรทัดฉันมี? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> ลูกศิษย์: คุณทำถ้างบ 1552 01:13:40,725 --> 01:13:42,270 >> เจสัน Hirschhorn: ถ้า คำสั่งว่า 1553 01:13:42,270 --> 01:13:44,830 อะไรที่ฉันต้องการเป็นเงื่อนไข? 1554 01:13:44,830 --> 01:13:48,370 >> นักเรียน: หาก argc มากกว่า 3 1555 01:13:48,370 --> 01:13:52,485 >> Hirschhorn JASON: หาก argc คือมากกว่า 3 1556 01:13:52,485 --> 01:13:58,430 ถ้า argc มากกว่า 3 ผมจะทำอย่างไร 1557 01:13:58,430 --> 01:13:59,400 >> นักเรียน: 1 ย้อนกลับ 1558 01:13:59,400 --> 01:14:01,856 >> เจสัน Hirschhorn: 1 ย้อนกลับ 1559 01:14:01,856 --> 01:14:04,050 ที่จะให้ฉันมี สองเพียงสอง? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> นักเรียน: เลขที่ 1562 01:14:07,820 --> 01:14:13,110 ถ้า argc มากกว่า 3 และน้อยกว่า 2 1563 01:14:13,110 --> 01:14:17,770 >> Hirschhorn JASON: หาก argc เป็นมากขึ้น กว่า 3 argc และมีค่าน้อยกว่า 2 1564 01:14:17,770 --> 01:14:21,540 วิธีหนึ่งที่ฉันสามารถเขียนนี้ในเพียงอะไร หนึ่งบรรทัดหรือไม่มีการใช้ว่า 1565 01:14:21,540 --> 01:14:23,890 และบูลีนประกอบ? 1566 01:14:23,890 --> 01:14:25,942 >> นักเรียน: มันไม่เท่ากับ 2 1567 01:14:25,942 --> 01:14:28,790 >> Hirschhorn JASON: หาก argc ไม่เท่ากับ 2 1568 01:14:28,790 --> 01:14:29,260 อย่างแน่นอน 1569 01:14:29,260 --> 01:14:34,890 ดังนั้นถ้า argc ไม่เท่ากับ 2 ที่ จะให้ฉันโปรแกรมนี้ 1570 01:14:34,890 --> 01:14:37,250 ส่วนบุคคลเมื่อฉันใช้มันและ ที่จะให้ฉันหลายวิธี 1571 01:14:37,250 --> 01:14:38,740 อาร์กิวเมนต์บรรทัดคำสั่ง? 1572 01:14:38,740 --> 01:14:42,110 หลายวิธีที่ฉันจะตรวจสอบ? 1573 01:14:42,110 --> 01:14:42,370 >> ขอโทษ 1574 01:14:42,370 --> 01:14:43,400 ให้ฉัน reword ที่ 1575 01:14:43,400 --> 01:14:46,620 ถ้า argc = 2, วิธีการหลายสิ่งที่ทำ ผู้ใช้เขียนลงในบรรทัด? 1576 01:14:46,620 --> 01:14:47,500 >> นักศึกษาหนึ่ง 1577 01:14:47,500 --> 01:14:49,120 >> เจสัน Hirschhorn: เพียงหนึ่ง 1578 01:14:49,120 --> 01:14:50,430 ดังนั้นก่อนที่คุณพูดถูกโนอาห์ 1579 01:14:50,430 --> 01:14:52,192 ฉันจะทำอะไรจริงต้องวางมี? 1580 01:14:52,192 --> 01:14:53,640 >> นักเรียน: นั่นเท่ากับ 3 1581 01:14:53,640 --> 01:14:55,970 >> เจสัน Hirschhorn: argc ไม่เท่ากับ 3 ไม่ 1582 01:14:55,970 --> 01:15:00,250 ผมต้องการที่จะเท่ากับ 3 เพราะฉันต้องการ บวกส่วนบุคคลอีกสองคน 1583 01:15:00,250 --> 01:15:02,560 ดังนั้นถ้า argc ไม่ได้ 3 เท่ากันกลับ 1 1584 01:15:02,560 --> 01:15:04,475 ทำไมคุณถึงพูดกลับ 1? 1585 01:15:04,475 --> 01:15:06,180 >> นักเรียน: เนื่องจากว่า หมายความว่ามันมีอะไรผิดปกติ 1586 01:15:06,180 --> 01:15:08,420 >> เจสัน Hirschhorn: นั่นหมายความว่ามันผิด และนั่นคือสิ่งที่จะทำอย่างไร 1587 01:15:08,420 --> 01:15:10,360 >> นักเรียน: Re-แจ้งให้ผู้ใช้ 1588 01:15:10,360 --> 01:15:11,940 >> เจสัน Hirschhorn: มันจะเลิก โปรแกรมจึงจะมีการเรียกใช้ 1589 01:15:11,940 --> 01:15:14,520 อีกครั้ง แต่เราไม่ได้มีอะไร ที่นี่เพื่อขอให้พวกเขาอีกครั้ง 1590 01:15:14,520 --> 01:15:14,840 ผมไม่ได้ขอว่า 1591 01:15:14,840 --> 01:15:15,990 เพื่อให้ตรงขวา 1592 01:15:15,990 --> 01:15:17,680 ย้อนกลับ 1 เพียงแค่สละโปรแกรม 1593 01:15:17,680 --> 01:15:18,520 ยิ่งใหญ่ 1594 01:15:18,520 --> 01:15:21,600 >> และพิมพ์ออกมาอวยพรให้กับผู้ใช้ ที่มีชื่อแรกของพวกเขา 1595 01:15:21,600 --> 01:15:24,010 ฉันจะทำ? 1596 01:15:24,010 --> 01:15:25,990 ? แอนนา 1597 01:15:25,990 --> 01:15:26,580 >> นักเรียน: Printf 1598 01:15:26,580 --> 01:15:27,785 >> เจสัน Hirschhorn: Printf 1599 01:15:27,785 --> 01:15:28,640 >> นักเรียน: (" 1600 01:15:28,640 --> 01:15:30,460 >> เจสัน Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> ลูกศิษย์: "สวัสดี 1602 01:15:31,600 --> 01:15:33,210 >> เจสัน Hirschhorn: "สวัสดี 1603 01:15:33,210 --> 01:15:34,800 >> นักเรียน:% s 1604 01:15:34,800 --> 01:15:37,230 >> เจสัน Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> นักเรียน: N / 1606 01:15:38,840 --> 01:15:41,030 >> เจสัน Hirschhorn: N / 1607 01:15:41,030 --> 01:15:43,120 >> ลูกศิษย์: " 1608 01:15:43,120 --> 01:15:45,130 >> เจสัน Hirschhorn: " 1609 01:15:45,130 --> 01:15:46,620 >> นักเรียน: argv 1610 01:15:46,620 --> 01:15:47,080 >> เจสัน Hirschhorn: ขอโทษ? 1611 01:15:47,080 --> 01:15:47,750 >> นักเรียน: argv 1612 01:15:47,750 --> 01:15:48,840 >> เจสัน Hirschhorn: argv 1613 01:15:48,840 --> 01:15:50,190 >> ลูกศิษย์: สแควร์วงเล็บ 1 1614 01:15:50,190 --> 01:15:51,230 >> เจสัน Hirschhorn: วงเล็บ Square หรือไม่? 1615 01:15:51,230 --> 01:15:51,870 >> นักเรียน: 1 1616 01:15:51,870 --> 01:15:54,050 >> เจสัน Hirschhorn: 1 1617 01:15:54,050 --> 01:15:55,850 >> อัฒภาค): การศึกษา 1618 01:15:55,850 --> 01:15:58,290 >> เจสัน Hirschhorn:) อัฒภาค 1619 01:15:58,290 --> 01:16:00,250 ขอให้เราทำงานนี้ 1620 01:16:00,250 --> 01:16:03,730 ทำให้ส่วนบุคคล 1621 01:16:03,730 --> 01:16:06,392 . ส่วนบุคคล / 1622 01:16:06,392 --> 01:16:07,420 มันก็เลิก 1623 01:16:07,420 --> 01:16:10,390 มันทำไมเลิก? 1624 01:16:10,390 --> 01:16:11,310 >> ลูกศิษย์: คุณไม่ได้ใส่ขัดแย้งใด ๆ 1625 01:16:11,310 --> 01:16:12,560 >> เจสัน Hirschhorn: ฉันไม่ได้ ใส่ขัดแย้งใด ๆ ค่ะ 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 ลักษณะที่ดี 1628 01:16:16,920 --> 01:16:18,130 พวกคุณตอกมัน 1629 01:16:18,130 --> 01:16:22,420 ดังนั้นอีกครั้งที่คุณเดินเข้าไปใน argv และคุณ การตรวจสอบที่ argc จุดเริ่มต้น 1630 01:16:22,420 --> 01:16:24,390 เหล่านี้เป็นสองสิ่งที่สำคัญ สิ่งที่ต้องจำ 1631 01:16:24,390 --> 01:16:29,250 ดังนั้นในนาทีสุดท้ายของเราสองก่อนที่เราจะ ออกจากเราจะไม่ได้รับการ pset สอง แต่ 1632 01:16:29,250 --> 01:16:33,585 เหมือนที่ผมกล่าวว่าถ้าคุณต้องการที่จะอยู่หลังจากที่ 10 นาทีผมว่าเขาจะมีความสุขที่จะไป 1633 01:16:33,585 --> 01:16:35,710 ไปด้วยพวกคุณตรรกะ ปัญหาเหล​​่านี้สำหรับการกำหนด 1634 01:16:35,710 --> 01:16:37,930 เรามีจำนวนมากที่จะครอบคลุมในวันนี้ ดังนั้นผมจึงไม่ได้อยู่กับพวกเขา 1635 01:16:37,930 --> 01:16:39,820 โดยปกติผมชอบที่จะรวม ที่ในตอนท้าย 1636 01:16:39,820 --> 01:16:42,150 ดังนั้นหากคุณต้องการที่จะติดรอบ ติดรอบ 10 นาที 1637 01:16:42,150 --> 01:16:42,990 เราจะทำอย่างนั้น 1638 01:16:42,990 --> 01:16:46,250 >> จากนั้นที่ผมกล่าวถึงที่จุดเริ่มต้น pset ศูนย์และหนึ่งเราจะได้รับที่ 1639 01:16:46,250 --> 01:16:48,040 ข้อเสนอแนะกลับไปที่คุณเป็น เร็วที่สุดเท่าที่เป็นไปได้ 1640 01:16:48,040 --> 01:16:51,260 เป้าหมายคือการได้รับ pset หนึ่งข้อเสนอแนะ, ส่วนความเห็น, 1641 01:16:51,260 --> 01:16:52,850 ก่อนที่จะ pset สองเป็นเพราะ 1642 01:16:52,850 --> 01:16:56,730 ดังนั้นถ้าคุณทำผิดพลาดบางส่วนหรือ stylistically สิ่งที่อาจจะดีกว่า, 1643 01:16:56,730 --> 01:17:01,330 คุณจะมีข้อมูลที่ให้คุณ จะไม่ทำสิ่งเดียวกันใน pset สอง 1644 01:17:01,330 --> 01:17:06,140 แล้วในอนาคตคุณจะได้รับทั้งหมด ความคิดเห็น pset และความคิดเห็นของคุณ 1645 01:17:06,140 --> 01:17:08,190 กลับมาก่อนหนึ่งต่อไปคือเนื่องจาก 1646 01:17:08,190 --> 01:17:12,695 >> สุดท้ายหากฉันสามารถวางไว้ในที่อื่น ปลั๊กสำหรับข้อมูล 1647 01:17:12,695 --> 01:17:13,935 นี้เป็นส่วนแรกของคุณ 1648 01:17:13,935 --> 01:17:15,920 มันเป็นส่วนแรกของฉัน การเรียนการสอนในปีนี้ 1649 01:17:15,920 --> 01:17:16,930 ไปที่นั่น 1650 01:17:16,930 --> 01:17:19,800 เขียนสิ่งที่ดีและไม่ดี และฉันจะใช้มันเพื่อให้ 1651 01:17:19,800 --> 01:17:21,320 ส่วนที่ดีขึ้นในครั้งต่อไป 1652 01:17:21,320 --> 01:17:24,870 และสุดท้ายอีกครั้งถ้าคุณต้องการ อะไรแจ้งให้เราทราบ 1653 01:17:24,870 --> 01:17:26,410 ฉันมีความสุขมากกว่าที่จะช่วยให้พวกคุณ 1654 01:17:26,410 --> 01:17:28,420 ถ้าคุณเพียงต้องการลูกอมผม จะมีขนมพิเศษ 1655 01:17:28,420 --> 01:17:29,800 ฉันมีความสุขที่จะนำมาให้คุณ 1656 01:17:29,800 --> 01:17:31,190 >> นี้เป็นไปได้แน่นอนที่น่าตื่นตาตื่นใจ 1657 01:17:31,190 --> 01:17:34,900 นี้เป็นหนึ่งในหากไม่ได้ชื่นชอบของฉัน แน่นอนฉันเอาในชีวิตของฉันทั้งหมด, 1658 01:17:34,900 --> 01:17:37,220 และผมหวังว่ามันจะเป็นไปได้ว่า ที่ยอดเยี่ยมสำหรับคุณ 1659 01:17:37,220 --> 01:17:40,090 ดังนั้นผมจึงต้องการที่จะทำทุกอย่างในอำนาจของฉัน ที่จะทำให้มันที่น่ากลัวสำหรับคุณ 1660 01:17:40,090 --> 01:17:46,590 ฉันจะส่งอีเมลถ้าคุณ ในส่วนหรือโนอาห์ของฉันและ 1661 01:17:46,590 --> 01:17:50,310 จะพยายามจัดตารางเวลากับแต่ละ พวกคุณถึงเวลาที่จะตรวจสอบในกว่า 1662 01:17:50,310 --> 01:17:53,820 คู่ต่อไปของสัปดาห์ดังนั้นฉันจะได้รับ ความรู้สึกของสิ่งที่พื้นหลังของคุณเป็น CS, 1663 01:17:53,820 --> 01:17:58,170 และยังจะช่วยให้ผมปรับแต่งเหล่านี้ ส่วนเพื่อให้เหมาะกับความต้องการของคุณ 1664 01:17:58,170 --> 01:17:59,740 ดังนั้นนั่นคือสิ่งที่ฉันมีเรียงรายขึ้น 1665 01:17:59,740 --> 01:18:02,260 อีกครั้งผมจะเห็นคุณออกไปข้างนอก ถ้าคุณต้องการที่จะมี 1666 01:18:02,260 --> 01:18:03,700 นี่เป็นสัปดาห์ที่สองส่วน 1667 01:18:03,700 --> 01:18:04,950 ขอบคุณมากครับ 1668 01:18:04,950 --> 01:18:09,067