Hirschhorn JASON: ยินดีต้อนรับสู่ ส่วน CS50 ทุกคน ชื่อของฉันคือเจสัน Hirschhorn ฉันมาก TFs คุณ แต่มาก หวังว่าผู้คนจะได้ร่วมงานกับเรา ออนไลน์นักเรียนนามสกุลหรือนักเรียน พยายามที่จะมองผ่านส่วนถ้าพวกเขา พลาดส่วนของพวกเขาที่สัปดาห์หรือ เพียงแค่จับขึ้นถ้าพวกเขาต้องการ เพื่อทบทวนวัสดุบางอย่าง เพื่อให้เป็นต่อหลักสูตรซึ่งทั้งหมด จากที่คุณได้อ่านถูกต้องหรือไม่ ฉันเห็นมากของการพยักหน้าหัว ส่วนที่ให้คุณมีโอกาส ในการสำรวจของหลักสูตร วัสดุในสภาพแวดล้อมที่ใกล้ชิดมากขึ้น, เช่นเดียวกับการดำน้ำใน มือเกี่ยวกับกิจกรรม ดังนั้นโดยทั่วไปสิ่งที่เรา จะต้องทำทุกสัปดาห์ เรากำลังจะผ่านไปสิ่งที่เรามี มุ่งมั่นจะเป็นที่สำคัญที่สุด หัวข้อที่ครอบคลุมในการบรรยายและคน อาจจะมีประโยชน์มากที่สุดและ ส่วนใหญ่มีแนวโน้มที่จะเกิดขึ้นเมื่อชุดปัญหา และในการทดสอบและการเข้ารหัสของคุณ ชีวิตนอก CS50 ดังนั้นเรากำลังจะเดินเข้าไปในหัวข้อเหล่านั้น, หารือเกี่ยวกับพวกเขาไปกว่าพวกเขา ตอบคำถามใด ๆ พวกคุณมีและ แล้วเรากำลังจะทำจำนวนมาก ปัญหาการปฏิบัติในการเข้ารหัส ทุกท่านนำแล็ปท็อป, ซึ่งเป็นที่ยอดเยี่ยม ซึ่งเป็นระดับสาขาวิชาวิทยาการคอมพิวเตอร์ แต่มากของการออกกำลังกายที่เราทำ, คุณจะไม่ต้องแล็ปท็อปของคุณสำหรับ คุณสามารถทำอะไรพวกเขาบนแผ่นกระดาษ นั่นเป็นวิธีที่คุณกำลังจะ ทำพวกเขาในแบบทดสอบ และแน่นอนว่าเป็นวิธีที่ดีในการ จริงๆรู้ว่าวิธีการทำ บางสิ่งบางอย่างถ้าคุณไม่ได้ตรวจสอบ 50 พึ่งพาหรือรู้จักที่จะพึ่งพาบอก คุณทำข้อผิดพลาดใด ๆ ดังนั้นคุณสามารถโค้ดบน เครื่องใช้หรือ run.cs50.net ซึ่งเป็น เครื่องมือที่ช่วยให้คุณสามารถรหัสอื่น ออนไลน์ แต่ฉันก็จะแนะนำถ้า คุณไม่ได้พยายามมันใช้แผ่น ทำจากกระดาษและพยายามปฏิบัติเหล่านี้ ปัญหาบนแผ่นกระดาษ เพราะอีกครั้งว่าในที่สุด สิ่งที่คุณกำลังจะได้รับ ขอให้ทำแบบทดสอบเมื่อ ดังนั้นขอเริ่มต้นด้วยของเรา วาระการประชุมในวันนี้ เรากำลังจะไปกว่าบรรทัดฐานบางอย่างสำหรับ ส่วนของเราแล้วเราจะไปดำน้ำ อาร์เรย์เป็นฟังก์ชันและบรรทัดคำสั่ง ข้อโต้แย้งซึ่งเป็นสิ่งที่พวกคุณ ได้ครอบคลุมนี้สัปดาห์ที่ผ่านมาในการบรรยาย และจากนั้นในวันจันทร์ที่และสิ่งที่คุณจะครอบคลุม ขึ้นในวันพรุ่งนี้ และแล้วในที่สุดเราจะ พูดคุยเกี่ยวกับ pset2 ถ้าฉันจะได้รับการแสดงจากมือถ้าคุณ ไม่ได้มองที่ปัญหาชุดสอง สเปค เราจะบอกทุกคน น่าอัศจรรย์ เราจะพูดคุยเกี่ยวกับชุดปัญหาในบิต, แต่ถ้าคุณอ่านชุดปัญหา ข้อกำหนดที่ว่า ทั้งหมดที่คุณต้องทำ ถ้าคุณอ่านว่าก่อนที่จะมาถึง ส่วนการเรียนและในวันอังคารที่คุณจะ จะเป็นตำแหน่งที่ดี เราสามารถไปถึงชุดปัญหาที่เกิดขึ้น ซึ่งเป็นสิ่งที่เรากำลังจะ ที่จะทำในตอนท้าย เรากำลังจะผ่านไป ตรรกะให้แน่ใจว่า ทุกคนในหน้าเดียวกัน ฉันต้องการให้คุณมีความสามารถที่จะออกอังคาร ความรู้สึกสะดวกสบายมากกับสิ่งที่คุณ ต้องทำสำหรับชุดปัญหาในสัปดาห์นี้, และถ้าคุณไม่ได้ฉันจะมีความสุข หลังจากที่อยู่และทำงานร่วมกับคุณ แต่นั่นเป็นสิ่งหนึ่งที่คุณต้อง ทำ แต่ฉันคิดว่าจะเป็นสมาร์ทจริงๆ เพียงแค่การอ่านชุดปัญหา สเปคโดยชั้นในวันอังคารที่ ซึ่งดูเหมือน จำนวนมากของคนที่คุณคิดว่า ฉันจะเริ่มต้นกับวาระการประชุมแต่ละชั้นเรียน เพื่อให้คุณทราบว่าเรากำลังจะ นี้ยังเป็นประโยชน์สำหรับคนดู ออนไลน์เพราะแต่ละส่วน เป็นรหัสสีดังนั้นหากคุณต้องการที่จะมา กลับมาและเพียงแค่เฝ้าดู 10 นาทีค่อนข้าง กว่าส่วน 90 นาทีทั้งหมดคุณ ก็สามารถไปที่ส่วนรหัสสี และดูที่ส่วนที่ ดังนั้นผมจึงพยายามที่จะทำลายพวกเขาออกเป็นดี โมดูลที่จะช่วยให้คุณ - ถ้าคุณต้องการที่จะกลับมาและทบทวน, หรือนักเรียนคนอื่น ๆ ที่มีเพียงแค่ ดูส่วนเพื่อทบทวน - เพื่อหาสิ่งที่เฉพาะเจาะจงพวกเขา ต้องการให้ความสนใจกับ และเรียนรู้เพิ่มเติมเกี่ยวกับ หวาน บรรทัดฐาน ฉันเป็นผู้นำ FOP ในมหาวิทยาลัย ผมไม่ทราบว่าถ้าใครไม่ FOP ไม่ใครทำ FOP? คนที่ไม่ FOP คนสองคนที่ไม่ FOP น่ากลัว ดังนั้น FOP เป็นปีแรกกลางแจ้ง ปฐมนิเทศ เราจะมีนักศึกษาเข้าไปในป่าและทำให้ ประสบการณ์ที่มีมนต์ขลังมากที่สุดของ ชีวิตของพวกเขาถูกต้องหรือไม่ ใช่ เสียงเกี่ยวกับสิทธิ ดังนั้นผมจึงอยากที่จะเริ่มต้นมากครั้งแรกของเรา ส่วนการอภิปรายตามบรรทัดฐานบาง สำหรับการเรียนและความสัมพันธ์ของเรา เพราะผมคิดว่า พวกเขากำลังมีความสำคัญมาก แรกและสำคัญที่สุดในขณะที่บรรดาผู้ที่ มีส่วนของฉันได้รับและ ได้รับการกล่าวถึงในที่ อีเมลฉันรักนี้ นี้เป็นส่วนหนึ่งที่ชื่นชอบของปี ฉันได้รับตื่นเต้นมาก ฉันได้รับที่นี่สำหรับชั่วโมงในวันนี้ ฉันยังไม่ได้ออกจากตึกนี้นอกจากจะ ไปกินเพราะฉันรัก CS50 ส่วนผม รักการเรียนการสอนฉันรักการทำงาน กับพวกคุณ หนึ่งในความสำคัญสูงสุดของฉันหากไม่ได้รับของฉัน จำนวนหนึ่งมีความสำคัญไม่เพียง แต่สำหรับ ชั้น แต่รวมอื่น ๆ ของฉันนี้ ชั้นเรียนและแสตนคือการ สนับสนุนพวกคุณและช่วยให้พวกคุณและ ทำของฉันดีที่สุดเพื่อให้แน่ใจว่าคุณ ผู้ชายมียอดเยี่ยม, สนุก, การผลิต, มีส่วนร่วมที่น่าตื่นเต้น พบในชั้นนี้ นั่นคือสิ่งที่ผมมุ่งมั่นที่จะ นั่นเป็นเหตุผลที่ฉันรักที่จะทำเช่นนี้ ที่เป็นหมายเลขหนึ่งของฉันสิ่ง สนับสนุนพวกคุณ หากคุณมีคำถามใด ๆ เกี่ยวกับการบรรยาย ชุดปัญหาส่วน ชีวิตแม้ว่าคุณต้องการที่จะพูดคุยเกี่ยวกับ ชีวิตโปรดอย่าลังเลที่จะเอื้อมมือออกไป คุณมีหมายเลขโทรศัพท์ของฉันเซลล์ คุณมีอีเมลของฉัน ที่อยู่คุณมี GChat ของฉัน คุณสามารถติดต่อเราได้ที่ใดหรือทั้งหมดของ เมื่อใดก็ตามที่เหล่านั้น แต่อาจจะไม่ได้รับ เมื่อใดก็ตามที่การตอบสนอง ผมลองและได้รับกลับภายใน 24 ชั่วโมง บ่อยครั้งที่มันจะได้รับภายใน 20 นาทีหรือ 24 นาที ฉันควรได้กล่าวว่า ที่จะให้มันขนาน แต่คุณจะได้รับการตอบสนอง สวยได้อย่างรวดเร็ว หากคุณ Text Me ชั่วโมงก่อน ชุดปัญหาเนื่องจากผมจะสงบคุณ ลงและทำแบบฝึกหัดการหายใจลึก กับคุณ แต่ถ้าคุณไม่ได้เริ่มต้น, คุณอาจจะไม่เสร็จสิ้นและ ฉันไม่สามารถจริงๆช่วยให้คุณออกมี ถึงแม้ว่าผมจะพยายามทำให้ดีที่สุดครับ ดังนั้นฉันจะทำทุกอย่าง ผมจะสามารถสนับสนุนคุณ กรุณาอย่าลังเลที่จะเอื้อมมือออกไปไม่ว่าจะเป็น มันอยู่ในส่วนอีกครั้งที่เวลาทำการ ถ้าคุณเห็นฉันหรือแม้ภายนอก ฉันมีความสุขในการตั้งค่าเวลาที่จะตอบสนองความ การทำงานและผ่านปัญหา มีหรือไปกว่าวัสดุ เพื่อให้หมายเลขหนึ่งสนับสนุน ฉันจะทำทุกอย่างที่ฉัน จะสามารถสนับสนุนคุณ สองจำนวนการประชุมในช่วงกลาง เท่าที่ฉันอยากจะเป็นผม ไม่ได้มีอำนาจหรือมีอำนาจหรือ รอบรู้ดังนั้นฉันไม่ทราบทั้งหมด เวลาผ่านไปถ้าสิ่งที่ฉันทำคือการ ข้ามถ้าวิธีที่ผมสอน หัวข้อจะช่วยให้คุณเรียนรู้มันหรือถ้าคุณ กำลังสับสนเกี่ยวกับหัวข้อ แต่ทำไม่ได้ ยกมือของคุณหรือถามฉัน หรือส่งอีเมล์ หรือแม้กระทั่งถ้าคุณอีกครั้งจะสับสน เกี่ยวกับสิ่งที่ตั้งอยู่บนปัญหา หากคุณไม่ได้เอื้อมมือออกไปฉัน ฉันไม่สามารถรู้ว่าเพื่อตรวจสอบว่า ฉันจะทำของฉันดีที่สุดในการตรวจสอบใน พวกคุณให้แน่ใจว่าทุกอย่างเป็น จะดีพยายามที่จะสอนสิ่งในทาง ที่จะเอื้อต่อการส่วนใหญ่ของ รูปแบบการเรียนรู้ของคุณ แต่ถ้ามี อะไรที่ฉันสามารถทำแจ้งให้เราทราบ ตามเส้นที่ถ้าคุณต้องการความช่วยเหลือบางส่วน กับชุดที่มีปัญหาผมมากขึ้น มากกว่ายินดีที่จะช่วยให้คุณ กับชุดที่มีปัญหา เรากำลังจะทำมาก ที่มีต่อที่สอง ครึ่งหนึ่งของส่วนนี้ แต่ถ้าคุณยังไม่ได้อ่านกับชุดปัญหา กลับมาและไม่ได้ดูเดิน ผ่านและไม่ได้ดูกางเกงขาสั้น และคาดหวังว่าฉันจะสอนคุณ ทุกอย่างที่ได้รับการวีดิโอ ออนไลน์หรือว่าคุณสามารถหาที่ CS50 การศึกษาที่ไม่จริงยุติธรรม ฉันหรือเพื่อนร่วมงานอื่น ๆ ของคุณ ดังนั้นโปรดฉันมากกว่ายินดีที่จะช่วย คุณ แต่พวกคุณจะได้พบกับผมใน กลาง เรามีตันของทรัพยากรสำหรับ คุณสามารถใช้ได้บน CS50 ที่ผมกล่าวถึงบางส่วนของพวกเขา โปรดใช้ประโยชน์จากพวกเขา หากคุณกำลังสับสนผมมีความสุขมากกว่า เพื่อช่วยให้คุณอธิบายไว้ใน อีกวิธีหนึ่ง แต่มันไม่ยุติธรรมถ้า นักเรียนแสดงขึ้นในเวลาที่สำนักงาน ยังไม่ได้เริ่มอะไรและมัน คืนวันพฤหัสบดีและพวกเขากำลังคาดหวังว่า TF จะเดินพวกเขาผ่านทุกเดียว สิ่งที่สำหรับปัญหาที่กำหนดไว้เนื่องจาก ในตอนเที่ยงของวันถัดไป ทำให้รู้สึก? อีกครั้งโปรดตอบสนองเราอยู่ตรงกลาง และในที่สุดก็มีความคาดหวังสูง ฉันจะเป็นคนจัดลำดับว่าใคร ในส่วนของฉันหรือการให้คะแนนของคุณ ชุดปัญหา คุณยังไม่ได้หายไปกลับปัญหา ตั้งศูนย์หรือหนึ่งยัง เราขออภัยเกี่ยวกับที่ มันพาเราไปจนชั่วขณะหนึ่ง ชำระส่วนและในขณะนี้ เราสามารถเริ่มต้นการจัดลำดับ ฉันจะได้รับพวกเขากลับมาให้คุณ เร็วที่สุดเท่าที่เป็นไปได้ เหล่านี้คือบางส่วนของฉัน advisees ออกมี ฉันจะได้รับพวกเขากลับมาให้คุณ เร็วที่สุดเท่าที่เป็นไปได้ และสำหรับชุดสองปัญหาเราก็จะอยู่บน กำหนดและเราจะเริ่มต้นพวกเขาได้รับ ให้คุณสวยได้อย่างรวดเร็วหลังจากที่ คุณเปิดพวกเขาเข้า เมื่อคุณได้รับปัญหาของคุณได้ตั้งกลับมาคุณจะ จะได้รับคะแนนเท่าที่ทราบจาก หลักสูตรการอ่าน - ความถูกต้อง, คะแนนการออกแบบขอบเขตและรูปแบบ นอกจากนี้คุณยังจะได้รับความคิดเห็น ความเห็นที่มีความสำคัญมากขึ้น กว่าคะแนน ฉันคิดว่ามันปลอดภัยที่จะกล่าวว่า คะแนนเป็นเพียงตัวเลข 1-5 มันยากที่จะอ่านในบรรดา มันยากที่จะดีขึ้นจากนั้น แต่ความเห็นจะชี้เฉพาะเจาะจง สิ่งที่คุณได้เป็นอย่างดีหรือพื้นที่ คุณสามารถปรับปรุงและให้บาง ความคิดสำหรับอนาคตหรือทางเลือก วิธีการในการทำสิ่งที่ ดังนั้นโปรดกรุณาโปรดอ่าน ผ่านความเห็น ฉันใส่มากเวลาลง ความเห็นเหล่านั้น กรุณาอ่านผ่านพวกเขาและไม่เพียง เลื่อนลงไปด้านล่างของ รูปแบบไฟล์ PDF, มองหาคะแนนของคุณหรือไปออนไลน์ และหาคะแนนของคุณและจากนั้นไม่สนใจ ความเห็น นั่นไม่ใช่วิธีการที่คุณกำลัง จะได้รับดีกว่า ที่ไม่ว่าคุณจะเพิ่มขึ้น คะแนนของคุณที่สุดเพียง โดยดูที่คะแนน กรุณามองไปที่ความเห็นเหล่านั้น และเดินไปตามเส้นของความคาดหวังสูง, อีกครั้งเหมือนที่ผมกล่าวว่าคุณ สามารถทำคะแนนจากหนึ่งถึงห้า twos, สามและสี่เป็น ส่วนใหญ่ของคะแนน คุณกำลังจะได้รับ คนที่ห้าและมีทั้งที่หายากจริงๆ มีเสมอสิ่งที่ ที่เราสามารถทำได้ดีกว่า เมื่อใดก็ตามที่ผมรหัสโปรแกรมมี บางสิ่งบางอย่างที่ผมเสมอ จะได้ทำดีกว่า ดังนั้นแทนที่จะบอกว่าคุณจะได้รับห้า ตลอดเวลาในทุกสิ่งและทำ ทุกอย่างที่สมบูรณ์แบบฉันไม่คิดใด ๆ ของเราจริงๆเชื่อว่าเรา - หรือ หวังว่าเราจะไม่ทำทุกอย่าง ที่สมบูรณ์แบบตลอดเวลา ดังนั้นไม่ต้องกังวลถ้าคุณ ไม่ได้ห้า ห้าไม่ map บนสี่ ไม่ map ไปยัง B, สามไม่ แผนที่ไม่ได้ลง C. ที่ไม่ คะแนนวิธีทำงาน เช่นเดียวกับดาวิดได้กล่าวว่าหลายครั้งที่ สิ้นสุดภาคการศึกษาทั้งหมดของคะแนนของคุณและ ข้อมูลจากฉัน TF ของคุณมารวมกัน และกำหนดเกรดขั้นสุดท้ายสำหรับคุณ แต่อีกครั้งก็ไม่ห้า สี่, B, ฯลฯ ดังนั้นฉันจะมีความคาดหวังสูง สำหรับคุณผู้ชาย ฉันจะคาดหวังว่าปัญหาที่ดี ชุดและฉันจะให้ ข้อเสนอแนะดังกล่าว และมันจะไม่ได้หมายความว่าคุณไม่ จะได้รับเกรดที่เลวร้ายยิ่ง คุณมีคะแนนในแง่ของ ความคืบหน้าของคุณจากสัปดาห์ ศูนย์ไปยังจุดสิ้นสุดของหลักสูตร และในที่สุดก็ในแง่ของความสูง ความคาดหวังในชั้นเรียนของฉันรักเมื่อ คนมีส่วนร่วม ผมเข้าใจว่าบางคนรู้สึกมากขึ้นหรือ สบายน้อยที่เข้าร่วมโครงการ คนอื่น ๆ ที่เข้าร่วมโครงการ โดยไม่ยกมือของพวกเขาและ พูดคุยตลอดเวลา แต่เราในชั้นนี้จะไปได้ ทำมากจากปัญหาเล็ก ๆ จำนวนมาก คำถามที่มินิมาบ้างแล้ว ขนาดใหญ่ coding ปัญหา ดังนั้นแน่นอนทำงานการออกกำลังกายเหล่านี้ออก เมื่อเราทำพวกเขาในคอมพิวเตอร์ของคุณหรือบน แผ่นกระดาษ แต่ฉันยังจะทำให้คุณมีเวลาก่อนที่ ใครเคยมีคำตอบบางอย่าง ของคำถามที่ผมถาม เพราะฉันจะให้เวลาในการ คิดเกี่ยวกับมันเพราะเรากำลังจะไป ที่จะทำในสิ่งที่พันธมิตรบางครั้ง ฉันจะคาดหวังว่าทุกคน เพื่อมีส่วนร่วมบ้าง และสำหรับการขาดคำดีขึ้นมี อาจจะโทรเย็นซึ่ง เป็นที่ที่ทุกคนจะมีโอกาส ที่จะคิดเกี่ยวกับคำตอบแล้ว ผมจะโทรห​​าคุณแล้ว คุณจะบอกคำตอบ ไม่ต้องกังวลหรือต้องกลัวเกี่ยวกับเรื่องนั้น ผมเคยทำไว้ในอดีตที่ผ่านมาและเราได้พบ ว่ามันประสบความสำเร็จมาก, ยังอ่านงานวิจัยทางการศึกษาที่ภาพเพื่อ กำหนดหรือไม่มันเป็น กลยุทธ์ที่ดี มันจะมีประโยชน์มากโดยเฉพาะอย่างยิ่งถ้าคุณ ให้นักเรียนเวลาที่จะคิดเกี่ยวกับ คำตอบและไม่ได้ทำให้พวกเขาเพียงแค่มา ออกมาและบอกว่ามันขวาปิดค้างคาว แต่ถ้าคุณไม่รู้สึกสะดวกสบาย ตอบรับฉันยังสวยดีที่ รู้สึกว่าออกและเราไม่ได้ไป ทำให้คุณอยู่ในจุดที่โดยเฉพาะอย่างยิ่งเมื่อ กล้องแม้ว่าจะไม่มี คุณอยู่ในกล้องได้ในขณะนี้ ดังนั้นผู้ที่มีบรรทัดฐานที่ฉันมี สิ่งหนึ่งที่ขึ้นตามเส้น ของการประชุมในช่วงกลาง ฉันจะให้พวกคุณ มากความคิดเห็น กรุณาให้ข้อเสนอแนะเช่นกัน มีเว็บไซต์เป็นของ sayat.me/cs50 ดังนั้นจึงเป็นความคิดเห็นอย่างจริงใจ ถ้าคุณต้องการที่จะให้มันในระหว่างส่วน ผมได้รับอีเมลเมื่อใดก็ตามที่มันเกิดขึ้น เราจะใช้เวลาพักในบิตดังนั้นฉันจะ มองผ่านข้อเสนอแนะแล้ว หากคุณเคยมีข้อเสนอแนะใด ๆ โปรดให้ไปให้ฉันไปที่นั่น ถ้าคุณให้ฉันความคิดเห็นเมื่อถามว่า ที่ยอดเยี่ยม แต่ที่คู่มือ ที่คุณทำในตอนท้าย แต่ที่จะเป็นที่สิ้นสุดภาคการศึกษาดังนั้น ผมจะไม่สามารถที่จะใช้ใด ๆ ที่ ข้อเสนอแนะและทำให้มันกลายเป็นการเรียนการสอน พวกคุณดีกว่า ดังนั้นโปรดถ้าคุณมีใด ๆ ข้อเสนอแนะให้กับผม ฉันรักข้อเสนอแนะ กลับไปที่ FOP เราได้รับข้อเสนอแนะ ตลอดเวลา คุณสามารถให้ฉัน pluses, สิ่งที่ดี, สันดอนสิ่งที่ฉันสามารถปรับปรุง คุณสามารถแสดงความคิดเห็นในชุดของฉัน ไม่ว่าจะเป็นประโยชน์เป็น แต่คุณ ยินดีต้อนรับสู่การแสดงความคิดเห็นใด ๆ และ ทุกอย่าง กรุณาโปรดให้ฉันข้อเสนอแนะ ผมเห็นคุณค่าของมันมากและมัน ความหมายอย่างมากกับผม หนึ่งบรรทัดฐานเพิ่มเติมความสนุกสนาน เรากำลังจะมีจำนวนมากสนุก หวังว่าในหลักสูตรนี้คุณจะ มีจำนวนมากสนุก เราจะมีขนมที่ส่วน เราจะมีเพลง เราจะหวังว่าการทำความรู้จักกับหนึ่ง อีกค่อนข้างดีดังนั้นฉันต้องการ นี้จะมีความสนุกสนานประสบการณ์การมีส่วนร่วม ฉันรู้ว่าบางท่านได้ผล็อยหลับไปใน การบรรยายที่คุณมีวันนี้ก่อนหน้านี้ เพื่อหวังว่าจะไม่ เป็นกรณีที่ในขณะนี้ และหากเป็นกรณีที่ตอนนี้เพียงแค่ ไม่กรนเพราะนั่นอาจจะ ถูกจับในกล้อง หวาน คำถามใด ๆ ความเห็นหรือข้อสงสัย ก่อนที่ผมจะย้ายไปเกี่ยวกับอะไรเราได้ พูดคุยเกี่ยวกับ? ยิ่งใหญ่ ดังนั้นเรากำลังจะไป เป็นอาร์เรย์แรก นี่คือวิธีที่คุณทำอาร์เรย์ ที่เราเคยเห็นแบบนี้มาก่อน คุณมีชนิดของข้อมูลที่คุณมี ชื่อและแล้วคุณมีขนาด ขวาที่นี่ฉันสร้างอาร์เรย์ที่สอง คนแรกคืออาร์เรย์ของตัวอักษร, และมีช่องว่าง 26 คนที่สองเป็น array ของ คะแนนและมันมีสาม ช่องว่างสำหรับสามจำนวนเต็ม ใช่? นักศึกษาทุกคนของสไลด์เหล่านี้ สถานที่บางแห่งสำหรับเรา? เจสัน Hirschhorn: คำถามที่ดี คำถามคือทั้งหมดที่มี เหล่านี้เลื่อนวางจำหน่ายเมื่อใด ใช่ ทั้งหมดของสไลด์เหล่านี้จะไม่สามารถใช้ได้ และในอนาคตผมจะส่งอีเมลไปยัง คุณก่อนส่วน แต่วันนี้เพราะนี้เป็นครั้งแรก สัปดาห์นี้เรามีเริ่มต้นสาย ดังนั้นมักจะคุณจะได้รับสไลด์เหล่านี้ แต่ พวกเขาจะออนไลน์และ ผมจะส่งอีเมลให้คุณ ขวาหลังเลิกเรียน คำถามใด ๆ อื่น ๆ ดังนั้นอีกครั้งอาร์เรย์เป็นกล่องสำหรับการขาด คำที่ดีกว่าที่ถือหลาย องค์ประกอบของชนิดข้อมูลหนึ่งและพวกเขากำลัง ต่อไปกับอีกคนหนึ่งในความทรงจำ และอื่น ๆ อีกครั้งนี้คือวิธีที่คุณสามารถ ทำให้ทั้งสองประเภทของอาร์เรย์ ดังนั้นหลังจากที่คุณได้ทำอาร์เรย์ของคุณด้วย ที่บรรทัดแรก - คะแนน int, ตัวยึด สามวงเล็บปิด - คุณ ต้องการเริ่มต้นมัน คุณต้องการที่จะนำบางค่าในการมี และนี่คือวิธีการที่คุณใส่ค่าบางอย่างใน มีเพียงการเลือก indice และ การเขียนจำนวน ลองวาดบนกระดานนี้ ทุกคนสามารถมองเห็น ทุกคนสามารถมองเห็นได้ หวาน เพื่อที่จะเป็นของฉัน อาร์เรย์เรียกคะแนน ที่คุณสามารถเห็นมันเป็นสามขนาด มีสามในกล่องมี แต่ละคนสามารถใส่อะไร ประเภทของข้อมูล? นักเรียน: จำนวนเต็ม เจสัน Hirschhorn: จำนวนเต็ม ในเรื่องนี้อย่างใดอย่างหนึ่ง เราเขียนคะแนน int และคำแรก เป็นชนิดข้อมูลที่จะไป ไปอยู่ในกล่องในอาร์เรย์ที่ ดังนั้นผมจึงสามารถใส่สาม ฉันจะมีศูนย์ทำไมขึ้น มีบนบอร์ดหรือไม่ ทำไมมันบอกว่าศูนย์คะแนนเท่ากับ 1? เตือนฉันของชื่อของคุณ นักเรียน: เคิร์ต เจสัน Hirschhorn: เคิร์ต ลูกศิษย์: ใช่ เจสัน Hirschhorn: ทำไม? นักเรียน: เนื่องจากดัชนีแรกคือ ศูนย์เราเริ่มนับที่ศูนย์ เจสัน Hirschhorn: ดังนั้นเราจึงเริ่มต้น การนับที่ศูนย์ ที่ตรงขวา นี้เป็นส่วนที่ทำให้เกิดความสับสนและการเดินทางจะ คุณขึ้นโดยเฉพาะอย่างยิ่งเมื่อคุณอยู่ พยายามที่จะย้ำผ่านอาร์เรย์ ซึ่งเราจะทำในบิต เราเริ่มนับที่ศูนย์ ดังนั้นถ้าฉันต้องการดูเป็นครั้งแรก กล่องมันไม่ใช่กล่องหนึ่ง แต่น่าเสียดายที่มันเป็นศูนย์กล่อง คนที่สองเป็นหนึ่งกล่องและในการนี​​้ กรณีหนึ่งในสามเป็นสองกล่อง สิ่งที่เกี่ยวกับสามกล่อง? ที่สามกล่องคืออะไร? หรือถ้าเราต้องการที่จะทำคะแนนวงเล็บ, สามวงเล็บปิดสิ่งที่? ดังนั้นคุณ null อักขระกล่าวว่า ๆ คิดอื่น ๆ อะไรคือสิ่งที่ยึดสามคะแนนวงเล็บ? ลูกศิษย์: ไม่จริงไม่อยู่เพราะ คุณกำหนดไว้เป็นเพียงคะแนน สามวงเล็บ เจสัน Hirschhorn: ดังนั้นคุณจะพูดว่า มันไม่จริงที่มีอยู่ ในบางกรณีเมื่อเราจัดการกับ สตริงทั่วไปเราจะใส่โมฆะ ตัวละครในตอนท้าย เราจะไปว่าในที่สอง แต่ในกรณีนี้มี ไม่มีกล่องที่สามอยู่ที่นี่ ดังนั้นกล่องสุดท้ายในอาร์เรย์ใด ๆ คือขนาดลบ 1 ดังนั้นถ้าเรามีอาร์เรย์ของ n ขนาด, กล่องแรกอยู่ที่ศูนย์สุดท้ายคือ ที่ n ลบ 1 และในกรณีนี้มันไม่ได้อยู่ มีบางอย่างที่นี่ในคือ หน่วยความจำ แต่ไม่เรา เราไม่ได้เป็นเจ้าของมัน เราไม่ได้ขอมัน ดังนั้นถ้าเราพยายามที่จะเข้าถึงมันซึ่งเราจะ ทำในบิตเราอาจจะ แพ้ภัยตัว ในกรณีนี้ผมเริ่มต้นของฉัน อาร์เรย์ที่มีสามตัวแปร เรากำลังวางหนึ่งในกล่องศูนย์สอง ในกล่องหนึ่งและสามในสองกล่อง ไม่มีใครมีข้อสงสัยใด ๆ เกี่ยวกับการเริ่มต้นอาร์เรย์? ดังนั้นเราจึงไปกว่านี้ได้ในตอนนี้ คะแนนวงเล็บสามวงเล็บปิด ที่ไม่มีอยู่ เรากำลังจัดทำดัชนีศูนย์ในด้านวิทยาศาสตร์คอมพิวเตอร์, ดังนั้นเราจึงเริ่มนับที่ศูนย์ กล่องล่าสุดที่มีให้เราก็คือ กล่องที่สาม แต่ก็เรียกว่ากล่อง หมายเลขสอง ลงด้านล่างนี้เป็นอีกทางเลือก วิธีการเริ่มต้นของอาร์เรย์ ดังนั้นแทนที่จะสร้างอาร์เรย์หนึ่ง สายการบรรจุกล่องแรกแล้ว กล่องที่สองแล้วกล่องที่สาม คุณสามารถทำทุกอย่างไว้ในหนึ่งบรรทัด ดังนั้นในบรรทัดที่อาร์เรย์ทั้งสอง นี้จะสร้างอาร์เรย์ที่แน่นอนเช่นเดียวกับ สิ่งที่เราสร้างขึ้นมาทางด้านขวาที่นี่ แต่ เพียงแค่ไม่ได้ในหนึ่งบรรทัด ตอนนี้เราได้สร้างอาเรย์ของเรา โดยปกติเมื่อคุณสร้างอาร์เรย์คุณ ต้องการที่จะทำอะไรกับมันไม่ว่าจะเป็น ที่เติมเต็มหรือได้รับสิ่งที่ออกมาจากมัน และพิมพ์ออกมาบนหน้าจอ ในกรณีนี้เรากำลังจะผ่านของเรา แถวคะแนนซึ่งเราเริ่มต้นได้ บรรทัดแรกขึ้นที่นี่ในสีเทา และจากนั้นในบรรทัดที่สองเราเริ่มต้น iterating ผ่านแถว ไม่มีใครมีคำถามเกี่ยวกับเรื่อง โครงสร้างของสำหรับวง? ดังนั้นนี่คือการห่วง เรามีสภาวะเริ่มต้นของเราแล้ว สภาพสุดท้ายของเราแล้วเรา ย้ำ, i, แต่ละวง และในวงเล็บปีกกาในนี้ ห่วงจะเกิดอะไรขึ้นถ้าฉันได้เพื่อให้ทำงานได้ โปรแกรมนี้ ใครสามารถบอกได้ว่าสิ่งที่เราจะได้รับ? [? ? Matu ?] Matu: พิมพ์คะแนนทั้งหมด ในแต่ละบรรทัด มันจะพิมพ์ความคิดเห็นของแต่ละคน บนบรรทัดที่แยกต่างหาก เจสัน Hirschhorn ว่าอะไร มันจะพิมพ์? ลูกศิษย์: มันจะพิมพ์หนึ่ง แล้วสองสามแล้ว เจสัน Hirschhorn: ว่า มันจะพิมพ์หนึ่งแล้วสองแล้ว สามแต่ละเส้นที่แยกจากกันเพราะ ที่เรากำลังจะผ่านแถวและคุณจะ ดูที่สองที่, printf คะแนนคำสั่งผม ดังนั้นในรอบแรกผ่านของเรา ห่วงผมเท่ากับศูนย์ซึ่งหมายความว่าเรากำลัง ได้รับค่าที่ศูนย์คะแนน - ซึ่งถ้าเรากลับไปที่ แผนภาพของเราเป็นหนึ่ง - และกรอกข้อมูลใน - โอ้มันคพูดว่า ที่ควรจะเป็น% d ฉันจะแก้ไขปัญหาที่อยู่ในบิตเมื่อ มือผมที่ออกมาให้พวกคุณ แต่เรากำลังนำเสนอจำนวนเต็มจึง ควรจะเป็น% d ที่นี่ไม่ได้% C % c สำหรับคืออะไร? นักเรียน: ตัวอักษร เจสัน Hirschhorn: ตัวอักษรตรง คนอื่น ๆ คืออะไร? หากคุณไม่ต้องการที่จะทำ d% สำหรับ จำนวนเต็มอะไรที่คุณจะทำอย่างไร ลูกศิษย์: ผม เจสัน Hirschhorn: i% ตรง ดังนั้นคำถามใด ๆ เกี่ยวกับ iterating ผ่านแถว? จึงเกิดขึ้นถ้าเราทำเช่นนี้คืออะไร? แทนการทำ i น้อยกว่า สามฉันจะเราจะน้อย กว่าหรือเท่ากับสาม ที่เกิดขึ้นเมื่อเราเรียกใช้รหัสนี้คืออะไร? ใช่? แอนนี่ นักเรียน: พวกเขากำลังจะพิมพ์ออกมา สิ่งที่แปลกในบรรทัดที่สี่ เจสัน Hirschhorn: คุณกล่าวว่าเป็นมัน จะพิมพ์ออกสิ่งที่แปลก บรรทัดที่สี่? ไม่มีใครมีคำตอบ คำถามของเธอ? ดังนั้นราคาถูกว่าเมื่อ เราได้รับ - ดังนั้นเมื่อรอบที่สี่ผ่านของเรา ห่วงเช่นเดียวกับที่คุณคิดว่าแอนนี่ มันจะเป็นคะแนนวงเล็บสามซึ่ง เราได้คิดแล้วออกไม่ได้ อยู่และเราจะพยายาม และการเข้าถึงที่พิมพ์ ออกใช้วิธีการบางอย่าง ดังนั้นเครื่องคอมพิวเตอร์อาจจะ ได้รับบ้าที่เรา คุณขวาตรง มันอาจจะออกจากโปรแกรมทั้งหมด มันอาจจะพิมพ์ออกมาบางสิ่งบางอย่าง แปลกจริงๆ คุณไม่สามารถพูดได้อย่างแน่นอน ราคาต่อรองเป็นมันอาจจะได้รับบ้าที่ คุณและเพิ่งลาออกทันที แต่เรื่องนี้เป็นข้อผิดพลาดทั่วไปที่คุณจะมี ที่คุณกันเพียงปิดโดยหนึ่งที่ ท้ายที่สุดและปัญหานี้เป็นปัญหาที่จะ เกิดภัยพิบัติคุณตลอดการเข้ารหัสของคุณ วิธีการหนึ่งที่ผมชอบที่จะทำคือเพียง ไวท์บอร์ดไปผ่านแต่ละซ้ำ ของวงในมือหรือบนกระดาษที่จะเห็น สิ่งที่เกิดขึ้นและจากนั้นคุณ โดยทั่วไปตระหนักถึงโอ้รอผมไม่ควร ได้ไปน้อยกว่าหรือ เท่ากับสาม ฉันควรจะหยุดที่สองซึ่งเป็น จะเกิดอะไรขึ้นถ้าเงื่อนไขของคุณน้อยสิ่ง กว่าสาม คำถามใด ๆ เพื่อให้ห่างไกล? หวาน เพื่อให้คุณทุกคนมีเครื่องคอมพิวเตอร์ของคุณเปิด เราจะให้คุณได้ 2-3 นาทีในการเขียนโปรแกรมว่า สร้าง array ที่มีจำนวนเต็มหนึ่ง ผ่านห้าแล้วพิมพ์ออกแต่ละ จำนวนเต็มในบรรทัดใหม่ และถ้าคุณมีคำถามใด ๆ ยกมือของคุณ ฉันมีความสุขที่จะมาด้วย เช่นฉันกล่าวว่าขอใช้เวลาสาม นาทีในการเขียนนี้ คือทุกคนตกลงถ้าฉันไป หน้าต่างใหม่และปิดนี้ ฉันขอโทษถ้าคุณไม่ได้มีโอกาส ที่จะเสร็จสิ้น แต่เรากำลังจะทำมัน ร่วมกันได้ในขณะนี้ ดังนั้นขึ้นบนหน้าจอผมได้ # include cs50.h, # include stdio.h ใครสักคนที่สามารถบอกฉันว่า ทั้งสองเส้นทำอะไร? ไมเคิล นักศึกษาพวกเขารวมถึงห้องสมุด ที่ CS50 ทำและที่มีสตีฟ บันทึกไว้สำหรับคุณที่จะใช้ในการ ทำให้ชีวิตของคุณง่ายขึ้น เจสัน Hirschhorn: คุณกล่าวว่าพวกเขา รวมถึงห้องสมุดหนึ่งที่ CS50 cs50.h ทำและคนที่เป็น มาตรฐานเพียงมาพร้อมกับ แพคเกจ C, stdio.h คุณหมายถึงอะไรรวมถึง ห้องสมุด แต่? คุณสามารถเป็นบิตเฉพาะเจาะจงมากขึ้น? ลูกศิษย์: มันทำให้เพื่อให้คุณสามารถ ใช้คำรหัสบางอย่างที่จะมี ทำงานเกิดขึ้นได้โดยไม่ต้องไป และให้คฟังก์ชั่นด้วยตัวเอง เจสัน Hirschhorn: คุณสามารถ ให้ฉันตัวอย่าง? นักเรียน: เช่นเดียวกับ printf เป็นหนึ่งคุณสามารถใช้ เจสัน Hirschhorn: Printf ดังนั้นคุณกล่าวว่า printf เป็นหนึ่งในบรรดา ฟังก์ชั่นที่แทนที่จะต้อง เขียน printf ด้วยตัวคุณเอง printf คือ รวมจริงใน stdio.h เพื่อให้คุณ ก็สามารถใช้งานได้และถือว่า ว่ามันจะทำงาน ใน stdio.h ถ้าคุณเปิดแฟ้มที่, มันจะรวมถึงวิธี printf ผลงานทั้งหมดของรหัสสำหรับ printf? คุณกำลังสั่นหัวของคุณทำไม? นักเรียน: เพราะไฟล์ส่วนหัวเพียง รวมถึงการประกาศฟังก์ชัน เจสัน Hirschhorn: ตรงขวา ไฟล์ส่วนหัวเพียงรวมถึง การประกาศฟังก์ชัน ดังนั้นโดยทั่วไปเมื่อคุณคอมไพล์นี้ ตีให้จำนวนครั้งที่เราจะทำใน สองคอมไพเลอร์รู้ว่าถ้า คุณใช้ printf, printf อยู่ มันจะถูกกำหนดไว้ที่ใดที่หนึ่ง มันไม่ได้เป็นปัญหาสำหรับคุณใช้มัน แล้วต่อมามันจะรวมถึง คนและศูนย์ที่จริงมี การดำเนินการตาม printf และ ตัดพวกเขาด้วยรหัสของคุณ คุณจะทำอย่างไรให้แน่ใจว่าจะรวมถึง คนและศูนย์สำหรับการพูดการรับสาย? นักเรียน: รับสตริงใน cs50.h. เจสัน Hirschhorn ขวา: ดังนั้นที่บอกว่ารับสายที่มีอยู่ การประกาศฟังก์ชัน แต่แล้วคนและศูนย์, ไบนารี ไฟล์ที่จริงรวมถึง การดำเนินงานของสตริงได้รับ? คุณจะแน่ใจได้อย่างไรว่า ไปกับโปรแกรมของคุณ? นักศึกษาผ่านลิงเกอร์ใน อาร์กิวเมนต์บรรทัดคำสั่ง เจสัน Hirschhorn: ผ่านลิงเกอร์ ในอาร์กิวเมนต์บรรทัดคำสั่ง คุณจะทำอย่างไรที่? นักเรียน: มัน l บรรทัดในเสียงดังกราว เจสัน Hirschhorn: ตรงขวา คุณบอกว่า l-CS50 ใช่มั้ย? ซึ่งรวมถึงคนและศูนย์ นักเรียน: แต่ทำไม่ ที่สำหรับคุณใช่มั้ย? เจสัน Hirschhorn: ว่า ทำให้ไม่ว่าสำหรับคุณ แต่ในท้ายที่สุด คุณจะไม่ได้รู้จักหรือ คุณจะต้องให้รู้จัก ด้วยตัวคุณเองเพื่อที่ว่า สิ่งที่ดีที่จะจำ ถ้าคุณกำลังจะใช้หนึ่งในเหล่านี้ ห้องสมุดอื่น ๆ คุณไม่เพียง แต่มี การเขียน # include และ แล้วห้องสมุด นอกจากนี้คุณยังจำเป็นต้องเชื่อมโยงมันเข้า และทั้งสองสิ่งที่แตกต่างกัน l-CS50 ที่แตกต่างกัน กว่า # include cs50.h. แล้วเรามี int ฟันหลักโมฆะหยิก และตอนนี้เรากำลังจะได้รหัส หลักภายใน สายแรกที่ผมมีอยู่นี่เป็นความเห็นนะ บอกว่าสร้างอาร์เรย์ กับ ints หนึ่งห้า คำที่ดีที่จะอธิบายสิ่งที่ฉันคืออะไร มีสิทธิที่ตอนนี้บนหน้าจอเพียง ความเห็นหลักภายใน? อะไรที่เราเรียกว่า? นักเรียน: Pseudocode เจสัน Hirschhorn: Pseudocode ขอบคุณเจฟฟรีย์ ที่อยู่ตรงขวา pseudocode พวกคุณได้เห็น pseudocode มาก่อนหรือไม่ ยกมือของคุณหากคุณเคยใช้ pseudocode ก่อนที่ปัญหาตั้งหนึ่ง ประมาณครึ่งหนึ่งของคุณ ฉันอยากจะแนะนำให้ใช้ pseudocode จะทำลายลงเป็นปัญหา ขนาดเล็กง่ายต่อการกัดออกชิ้น นอกจากนี้ถ้าคุณทำ pseudocode คุณ มีความคิดเห็นของคุณแล้วส่วนใหญ่ สร้างขึ้นในดังนั้นคุณจึงไม่ต้อง กลับไปและพยายามที่จะคิดออก สิ่งที่คุณทำ ดังนั้นใครบางคนที่สามารถให้ฉันนี้บรรทัดแรก เพื่อสร้างอาร์เรย์ที่มี ints หนึ่ง ผ่านห้า? คุณ? นักเรียน: Int และจากนั้นคุณสามารถเรียก สิ่งที่จำนวนแล้วตาราง ห้าวงเล็บ เจสัน Hirschhorn: หมายเลข int ดังนั้น วงเล็บเหลี่ยมห้า นักศึกษาเท่ากับและ วงเล็บปีกกาแล้ว เจสัน Hirschhorn: เท่ากับ, วงเล็บปีกกา นักเรียน: หนึ่งสองสามสี่ เจสัน Hirschhorn: หนึ่ง, สอง, สามสี่ห้า นักเรียน: และจากนั้นวงเล็บปีกกา แล้วอัฒภาค เจสัน Hirschhorn: และหยิก จัดฟันและอัฒภาค ยอดเยี่ยม พิมพ์ int ในบรรทัดใหม่แต่ละ คนอื่นสามารถให้ ฉันรหัสที่โปรด? [? ? Matu ?] เอาเลย นักเรียน: สำหรับ ( เจสัน Hirschhorn: สำหรับ ( นักเรียน: int i = 0 เจสัน Hirschhorn: int i = 0 นักเรียน: อัฒภาคผมน้อยกว่าห้า เจสัน Hirschhorn: อัฒภาค, ผมน้อยกว่า 5 นักเรียน: อัฒภาค, i + + เจสัน Hirschhorn: อัฒภาค, i + + นักศึกษาวงเล็บปิด แล้วรั้งเปิด เจสัน Hirschhorn: วงเล็บปิด และอีกสองคนจัดฟัน ภายในวงเล็บ? นักเรียน: และแล้ว printf "% d / n" เจสัน Hirschhorn: ขออภัยไว้ printf "% d / n, อ้างปิด นักเรียน: และจากนั้นอ้างปิด จุลภาคนับวงเล็บผม เจสัน Hirschhorn: ลูกน้ำ, นับวงเล็บผม นักเรียน: ขออภัยวงเล็บตัวเลขผม เจสัน Hirschhorn: ตัวเลขในวงเล็บผม นักเรียน: ขออภัย และปิดแล้ววงเล็บ อัฒภาค เจสัน Hirschhorn: ปิด วงเล็บอัฒภาค ฉันจะบันทึกว่า เรากำลังจะทำนับ และวิธีการที่ผมทำงานนับ? นักเรียน: เครื่องหมายทับขวา นักเรียน: Dot ทับ - เจสัน Hirschhorn:. / นับว่า ขอบคุณ . นับ / หนึ่งสองสามสี่ ห้าสายใหม่ ดูเหมือนว่ามันทำงาน ใช่? โนอาห์ นักศึกษานอกจากนี้คุณยังสามารถทำอะไรได้น้อยกว่าหรือ เท่ากับสี่เช่น i น้อยกว่า หรือเท่ากับสี่? มีความได้เปรียบในการทำน้อย ๆ กว่าห้าหรือเพียงแค่เป็นวิธีที่แตกต่างกันของ การเขียนหรือไม่ เจสัน Hirschhorn: ดังนั้นคำถามคือคุณ จะได้ทำ i น้อยกว่าหรือ เท่ากับสี่แทน i น้อยกว่าห้า จะมีการทำงานที่เหมือนกันหรือไม่ นักศึกษาควร เจสัน Hirschhorn: ใช่ มันได้ทั้งหมดจะทำงานเดียวกัน stylistically มันโดยทั่วไปน้อยกว่า, และคุณจะเห็นในที่สองเมื่อ เราสตริงคุณสามารถใช้บางสิ่งบางอย่าง เรียกว่า strlen ซึ่งคุณเคยเห็น ก่อนที่จะได้รับระยะเวลา ของสตริง และคุณไม่สามารถทำน้อยกว่า หรือเท่ากับ strlen คุณสามารถทำน้อยกว่าหรือ เท่ากับ strlen ลบหนึ่ง ดังนั้นจึงเป็นเพียงแค่ดีกว่าไป ทำน้อยกว่า strlen ใช่? นักศึกษาและในความเป็นจริงแบบทดสอบให้ทำ เราจะต้องให้ความเห็นของเรา รหัสด้วยหรือไม่ เจสัน Hirschhorn: คำถาม ได้ในแบบทดสอบให้ทำคุณ จะต้องให้ความเห็น? ดังนั้นเราจะพูดเพิ่มเติมเกี่ยวกับแบบทดสอบเมื่อ พวกเขามา แต่โดยทั่วไปดี กฎของหัวแม่มือคือเมื่อใดก็ตามที่คุณ การเขียนโค้ดให้ความเห็น ถ้าคุณได้รับรหัสที่ไม่ถูกต้อง แต่ แสดงความเห็นที่ถูกต้องคุณอาจได้รับบางส่วน เครดิตทั้งจากฉันถ้าฉันได้รับการจัดลำดับ คุณอยู่กับชุดปัญหาหรือตอบคำถาม ดังนั้นความเห็นอยู่เสมอ ที่ดีที่จะให้ หวาน นับ งานที่ยอดเยี่ยม ย้าย Let 's เงื่อนไข เงื่อนไข ที่เราเคยเห็นแบบนี้มาก่อนในการบรรยาย นี้พัดใจของฉันเมื่อฉัน พบครั้งแรกนี้ มันอาจไม่ได้พัดของใคร ใจที่นี่ แต่ที่ตกลง สตริงเป็นอาร์เรย์ของตัวอักษรและ พวกเขาจบลงด้วยการที่คุณกล่าวก่อนหน้านี้ null terminator ซึ่ง นี้ / 0 ตัวอักษร ถ้าเรากำลังจะวาดสตริง คณะกรรมการที่เราจะวาดมันกว่าที่นี่ ดังนั้นวิธีที่ยาวสายนี้คืออะไร? ขอโทษ นานแค่ไหนที่สายนี้คืออะไร? ลูกศิษย์: [ได้ยิน] เจสัน Hirschhorn: สี่? ทำไมมันจึงเป็นสี่? นักเรียน: เพราะจุดที่ห้า คือสำหรับตัวโมฆะ เจสัน Hirschhorn: ดังนั้นจุดที่ห้า คือสำหรับตัวโมฆะ ดังนั้นถ้ามีการใช้ strlen เมื่อ นี้ก็จะให้ฉันสี่ ที่ถูกต้อง และอาเรย์ แต่ถ้ามีการ เริ่มต้นแถวนี้กี่ช่องว่าง ผมจะต้องขอ? นักศึกษาห้า เจสัน Hirschhorn: ห้า ผมจะต้องขอห้า แต่ฉันสามารถ ใส่เพียงสี่ตัวอักษรในที่นี่ เพราะผมต้องการที่จะนำโมฆะว่า terminator ที่สิ้นสุด ดังนั้นเรากำลังจะเขียนใน "ohai" และ ใส่ null terminator ในตอนท้าย เราจะบอกว่านี้เป็นสตริง s เท่ากับนี้ ศูนย์ s วงเล็บคืออะไร? s วงเล็บศูนย์แอนนี่? นักเรียน: ทุม เจสัน Hirschhorn: O ตรง s วงเล็บหนึ่ง? s วงเล็บห้า? s วงเล็บห้า? ลูกศิษย์: ไม่อยู่ เจสัน Hirschhorn: ไม่อยู่ ตรงขวา เย็น คำถามใด ๆ เกี่ยวกับความเข้าใจ สตริงเป็นอาร์เรย์ของตัวอักษร? OK แล้ว โปรแกรมหนึ่งที่มากขึ้นสำหรับพวกคุณ จงเขียนโปรแกรมที่ถามผู้ใช้ สำหรับสตริงแล้วพิมพ์ออกแต่ละ ตัวอักษรในบรรทัดใหม่ ดังนั้นขอใช้เวลาสามนาทีในการเขียน โปรแกรมนี้และจากนั้นเราจะรหัสมัน เป็นกลุ่ม ขอโทษ คุณไม่จำเป็นต้องดูนี้ นักเรียน: เลขที่ เจสัน Hirschhorn: ตกลง ลองใช้เวลาหนึ่งนาทีมากขึ้นรหัสนี้ หรืออย่างน้อยการเริ่มต้นกับมัน ดังนั้นคุณสามารถให้ทำงาน แต่ฉันจะ ที่จะเริ่มต้นที่จะผ่านมัน ดังนั้นก่อนที่จะชอบฉันมีบนหน้าจอ # include cs50.h, # include stdio.h เป็นโมฆะหลัก int ภายในวงเล็บปีกกาหลักของฉันมี สองความคิดเห็น, pseudocode หนึ่งคือการขอสตริงจากผู้ใช้ อย่างที่สองก็คือการพิมพ์ออกมาแต่ละ ตัวอักษรในบรรทัดใหม่ ดังนั้นแอนนา, คุณสามารถให้ฉันถาม สำหรับสตริงจากผู้ใช้หรือไม่ นักเรียน: Printf เจสัน Hirschhorn: Printf? ลูกศิษย์: ใช่ ( เจสัน Hirschhorn: ( ลูกศิษย์: "ให้ฉันสตริง เจสัน Hirschhorn: "ให้ ฉัน Str - โอ๊ะ - เชือก นักศึกษา / n ") อัฒภาค เจสัน Hirschhorn: End สตริง, วงเล็บปิดอัฒภาค ลูกศิษย์: ใช่ แล้วบรรทัดถัดไปสตริง, s = รับสาย เจสัน Hirschhorn: String s = รับสาย ลูกศิษย์: ใช่ แล้ว () เจสัน Hirschhorn: () นักเรียน: อัฒภาค เจสัน Hirschhorn: อัฒภาค น่าอัศจรรย์ ดังนั้นฉันจะรับสายและ ฉันจะบันทึกไว้ในอะไร ตัวแปรอะไรที่เรียกว่า ที่คุณสร้างขึ้น? นักเรียน: String s เจสัน Hirschhorn: ตัวแปร ที่เรียกว่า s มันเป็นชนิดสตริง อย่างแน่นอน สิ่งต่อไปที่เราต้องการที่จะเป็นพิมพ์ออกมา ตัวอักษรในบรรทัดใหม่แต่ละ ใครสามารถให้ฉันรหัสที่? [เงียบสงัด] คุณสามารถให้มันกับผมหรือเปล่า นักเรียน: Sure เจสัน Hirschhorn: Let 's ทำมัน และเสียใจ ฉันไม่ชอบที่จะทำซ้ำสิ่งที่คุณพูด เพราะคุณจะได้รับมันขวา แต่ฉัน จะต้องทำซ้ำมันเพื่อที่ว่าเมื่อพวกเขา คัดลอกนี้พวกเขาจะได้รับทุก ข้อความออกไปทาน ดังนั้นคุณก็สามารถเก็บการพูดคุย แต่น่าเสียดายที่ฉันมี ที่จะบอกว่ามันกว่าคุณ ฉันขอโทษ แต่ - นักศึกษาที่ดี สำหรับ int i = 0 เจสัน Hirschhorn: สำหรับ int i = 0 ลูกศิษย์: ผมน้อยกว่า - เจสัน Hirschhorn: อัฒภาค นักศึกษาก่อนหน้านี้เราสามารถนำ ตัวแปรเพื่อให้คุณได้รับความยาวชื่อ int? Hirschhorn JASON: โอ้, คุณทำไม่ได้ ต้องการที่จะนำอัฒภาค? ตกลง ดังนั้นสิ่งที่คุณต้องการจะทำหลังจากที่ศูนย์หรือไม่ นักเรียน: ฉันต้องการที่จะได้รับ ความยาวสตริงของและ ที่กำหนดให้กับตัวแปร? เจสัน Hirschhorn: OK, ดังนั้นฉันจะทำ? นักศึกษาดังนั้นที่คุณทำคือ int len​​gth = เจสัน Hirschhorn: ความยาว Int = นักเรียน: S-T-R-L-E-N เจสัน Hirschhorn: S-T-R-L-E-N - นักศึกษาของ S วงเล็บ เจสัน Hirschhorn: (s) นักเรียน: และแล้วฉันคิดว่าคุณต้อง ใส่เครื่องหมายอัฒภาคระหว่างสอง ints เจสัน Hirschhorn: อัฒภาค หลังจากที่ศูนย์หรือไม่ นักเรียน: ใช่ แล้วใส่เครื่องหมายอัฒภาคหลังจากนั้นและ คุณจะพูดว่าผมน้อยกว่าความยาว ผมน้อยกว่าความยาวซึ่ง เป็นตัวแปร นักเรียน: และจากนั้นอัฒภาค เจสัน Hirschhorn: อัฒภาค นักเรียน: i + + เจสัน Hirschhorn: i + + มีห่วงสำหรับของเรา ตกลงภายในสำหรับห่วง นักเรียน: และแล้วทำ printf เจสัน Hirschhorn: Printf นักศึกษาวงเล็บ เจสัน Hirschhorn: วงเล็บคำพูด นักศึกษาวงเล็บคำพูด,% c / n เจสัน Hirschhorn: c%, OK นักเรียน: N / เจสัน Hirschhorn: N / นักเรียน: ราคาปิด เจสัน Hirschhorn: ราคาปิด นักศึกษาจุลภาค เจสัน Hirschhorn: จุลภาค นักเรียน: เอส เจสัน Hirschhorn: เอส นักศึกษายึดผม เจสัน Hirschhorn: Bracket ผม นักเรียน: และแล้ววงเล็บปิด เจสัน Hirschhorn: วงเล็บปิด นักเรียน: และจากนั้นอัฒภาค เจสัน Hirschhorn: อัฒภาค น่าอัศจรรย์ ดังนั้นขอบันทึกนี้ ให้สะกด โอ้เด็ก ฉันมีคู่ของข้อผิดพลาด ข้อผิดพลาดแรกในบรรทัดที่ 11 มันบอกว่า คาดว่าการแสดงออกและจะให้ ฉันข้อผิดพลาดที่สอง int มีข้อผิดพลาดอะไร มีข้อผิดพลาดมีบางรอบ ไม่มีใครรู้ว่าสิ่งที่เป็นข้อผิดพลาดที่? ? เคิร์ต นักเรียน: ผมคิดว่ามันควรจะ จะมีเครื่องหมายจุลภาคและไม่อัฒภาค เจสัน Hirschhorn: ตกลงจุลภาค แทนอัฒภาค ดังนั้นนั่นคือทั้งหมดที่เราต้องแก้ไข? นักเรียน: เลขที่ เจสัน Hirschhorn: อะไร เราจะต้องแก้ไข? นักเรียนเรามีการรวมสตริง เจสัน Hirschhorn: รวมทั้งสตริง อะไรคือสิ่งที่ฉันจำเป็นต้องรวมถึงการที่ นักเรียน: สถานที่เดียวกันที่คุณกำลังรวมทั้ง สิ่งอื่น ๆ ที่เหมาะสม หลังจากที่รวม stdio.h เจสัน Hirschhorn: ลองดูว่านี้จะทำงาน เพราะเป็นครั้งแรกโดยทั่วไปผมชอบ เพื่อแก้ไขสิ่งหนึ่งที่แรกและจากนั้นเรียกใช้ แล้วเห็นข้อผิดพลาดที่เราได้รับ ดังนั้นเรากำลังจะล้างขั้ว กับการควบคุม n ให้คุณทำการสะกด ดังนั้นข้อผิดพลาดในบรรทัดที่ 11 อีก อัฒภาคคาดว่า และฉันยังคงได้รับ ข้อผิดพลาดในบรรทัดนี้ ดังนั้นมันจึงไม่ได้ให้ฉันข้อผิดพลาดบอกว่ามัน ไม่เข้าใจสิ่งที่ strlen คือ แต่มันจะให้ฉันข้อผิดพลาดนี้ เส้นดังนั้นสิ่งที่อื่นจะผิดหรือเปล่า? ทำเครื่องหมาย? มาร์คัส นักเรียน: คุณต้องลบ ประกาศ int ที่สอง? เจสัน Hirschhorn: Remove int ที่สอง ลองนี้ ตอนนี้ล้างขั้ว ให้สะกด ความผิดพลาด โดยปริยายประกาศห้องสมุด ฟังก์ชัน strlen ดังนั้นตอนนี้เราจะเห็นข้อผิดพลาดที่ เราทำอะไรต้องมี? นักเรียน: สตริง เจสัน Hirschhorn: รวมทั้งสตริง, เราจะทำ # include สตริงที่ด้านบน ของหน้าจอ ขอบันทึกให้สะกด รวบรวมตอนนี้ ดังนั้นอีกครั้งสิ่งที่เราจำเป็นต้อง จำสาย 12 ในวงสำหรับเราเมื่อ เราตั้งขึ้น, int i = 0, = strlen ระยะเวลา (s) นี้เป็นกลยุทธ์ที่ยอดเยี่ยม สไตล์นี้เป็นที่ดี การออกแบบนี้เป็นที่ดี เราสามารถไปลงในเหตุผลเหล่านั้นในภายหลัง, แต่วิธีการที่คุณจะต้องเรียกสิ่งนี้ว่า strlen ครั้งเดียวแทนทุกเดียว เวลาที่คุณทำงานผ่านห่วง แต่คุณจำเป็นต้องใช้เครื่องหมายจุลภาคมี และคุณไม่จำเป็นต้อง int อีกครั้ง หากคุณกำลังประกาศทั้งสองเหล่านั้น ตัวแปรที่ร่วมกันคุณ ไม่จำเป็นต้องใช้ int อีกครั้ง แล้วถ้าคุณกำลังจะใช้ strlen, ซึ่งเป็นห้องสมุดอื่น ฟังก์ชั่นไม่รวมอยู่ใน stdio.h หรือ cs50.h ให้ แน่ใจว่าคุณมีสตริง ? เคิร์ต นักศึกษาดังนั้นแล้วถ้าคุณไม่จำเป็นต้อง พูดในสิ่งที่ชนิดของความยาวคือว่าไม่ หมายความว่ามันจะต้องมี int? คุณไม่สามารถมีสองที่แตกต่างกัน ชนิดมี? เจสัน Hirschhorn: เพื่อให้คุณสามารถ มีสองประเภทที่แตกต่างกัน ความยาวเป็น int ที่นี่ แต่ ความยาวเป็น int เพราะจุลภาค และแล้วสิ่งเดียวกัน นักศึกษาดังนั้นจึงสันนิษฐานว่ามันจะ จะเหมือนกันเป็นหนึ่งในครั้งแรกได้อย่างไร เจสัน Hirschhorn: ว่า เราจะไม่ทำเช่นนี้ในขณะนี้ แต่คุณ สามารถรวมสองตัวแปรเมื่อ บรรทัดเดียวกันโดยใช้ชนิดข้อมูลหนึ่ง x int ดังนั้น y จะสร้าง สองตัวแปร ดังนั้น int x, y ถ้าเราทำที่จะช่วยให้ ฉันไม่ได้ใช้ตัวแปร x และ y เพราะ เราจะไม่ใช้พวกเขา ดังนั้นการวางเป็นโมฆะก่อนที่จะเป็นเพียง เคล็ดลับแฟนซีถ้าคุณไม่ได้ใช้ บางสิ่งบางอย่างที่จะใช้มัน แต่เป็นคุณเห็นฉันสร้าง x และ y ในบรรทัดเดียวกันด้วยเครื่องหมายจุลภาค มันสร้างจำนวนเต็มสองจำนวน มีสิทธิ ดังนั้นใช่ทั้งหมดที่เป็นไปได้ในการสร้าง สองสิ่งในบรรทัดเดียวกัน คั่นด้วยเครื่องหมายจุลภาค Let 's กำจัดเหล่านั้นแม้ว่า ดังนั้นจึงมีการสะกดคำว่า ขอบคุณครับสำหรับการเข้ารหัสมันสำหรับเรา ขอให้มันอีกครั้งหนึ่งรัน ให้ฉันสตริง [เงียบสงัด], คุณได้มากที่สุดของมัน สตริงคืออะไร? ลูกศิษย์: สวัสดี เจสัน Hirschhorn: สวัสดี H-E-L-L-O, ตัวอักษรบนแต่ละบรรทัด ลักษณะที่ดี ลองเรียกใช้อีกครั้ง เสมอไปตรวจสอบ สำหรับกรณีมุม มีอะไรกรณีที่มุมที่ดีที่จะตรวจสอบ? นักศึกษาจำนวน? เจสัน Hirschhorn: จำนวน ดังนั้นฉันจะใส่ในข้อ 1 และมันพิมพ์ออก 1 มันไม่ได้ขอตัวอักษรดังนั้น ดูเหมือนว่าตัวเลขทำงาน กรณีมุมที่ดีที่จะตรวจสอบ อีกมุมที่ดีอะไร กรณีการตรวจสอบ? นักเรียน: สตริงที่ว่างเปล่า เจสัน Hirschhorn: อืมมม นักเรียน: เช่นเดียวกับสตริงที่ว่างเปล่า เจสัน Hirschhorn: สตริงที่ว่างเปล่า ดังนั้นขอไม่ใส่อะไร และสิ่งที่ได้รับการพิมพ์ออกมา? นักเรียน: ไม่มีอะไร เจสัน Hirschhorn: ไม่มีอะไร ดูเหมือนว่ามันทำงาน คุณสามารถลองกรณีมุมมากขึ้น แต่ ตัวเลขโดยทั่วไปข้อมูลที่แตกต่างกันคือ ดีที่จะลองเป็นอย่างดีไม่มีอะไร ไม่มีอะไรศูนย์เชิงลบอยู่เสมอ สิ่งที่ดีที่จะลองและสิ่งที่คุณ ควรทดสอบสิ่งที่แน่นอนเราจะทดสอบ สำหรับการตรวจสอบและ 50 จะทดสอบสำหรับ คำถามใด ๆ เกี่ยวกับ spell.c? ตกลงให้หัวกลับ ฉันมีโปรแกรมหนึ่ง สำหรับพวกคุณที่จะเขียน มันเรียกว่า students.c นี้เป็นโปรแกรมที่ขอให้ผู้ใช้สำหรับการ ห้าชื่อแล้วสุ่มเลือก และพิมพ์ออกหนึ่งในชื่อ โปรแกรมนี้เป็นนิด ๆ หน่อย ๆ กว่าที่เกี่ยวข้องกับสองคนสุดท้ายที่เราเขียน, ดังนั้นทำไมเราไม่ใช้เวลาห้านาที รหัสมันเป็นรายบุคคลและจากนั้นเราจะ รหัสมันเป็นกลุ่ม โปรแกรมนี้ยังเกี่ยวข้องกับบางสิ่งบางอย่าง คุณอาจไม่ได้เห็นมาก่อนดังนั้นหาก คุณมีคำถามเกี่ยวกับวิธีการทำ ผมทำอย่างนั้นยกมือของคุณ ผมจะมาและชี้ให้คุณ ในทิศทางที่ถูกต้อง แต่เรายังทำมันเพราะนี้ จะเป็นวิธีที่ดีที่จะแนะนำบาง หัวข้อที่มีความยุ่งยาก จึงทำงานใช่มั้ย? นักเรียน: ใช่ เจสัน Hirschhorn: เมื่อใดก็ตามที่คุณเปิดใน ชุดปัญหายังมีหลายวิธีที่จะทำ แต่บางคนมีมากขึ้น สง่างามกว่าคนอื่น ๆ ให้เราดำน้ำค่ะ # include cs50.h. # include stdio.h เป็นโมฆะหลัก int, วงเล็บปีกกา ภายในวงเล็บปีกกา, ฉันมีสองความเห็น หนึ่งคือขอให้ ผู้ใช้ห้าชื่อ คนที่สองคือการสุ่มเลือก และพิมพ์ชื่อใดชื่อหนึ่ง ดังนั้นขอทำคนแรกที่ถาม ผู้ใช้ห้าชื่อ ที่ได้ถามผู้ใช้สำหรับห้าชื่อ และสามารถบอกได้ว่าจะทำอย่างไร? คนสองคนเท่านั้นไม่ส่วนแรก คนสามคนได้ส่วนแรก สี่ห้า ทอมอย่างไรคุณทำมันได้หรือ ลูกศิษย์: คุณจะประกาศสตริง และแล้วชื่อวงเล็บห้า เจสัน Hirschhorn: String วงเล็บชื่อห้า ดังนั้นสายการทำเช่นนี้คือสิ่งที่, วงเล็บชื่อสตริงห้า? ลูกศิษย์: คุณจะประกาศ อาร์เรย์ของสตริง เจสัน Hirschhorn: นี่คือ อาร์เรย์ของสตริง วิธีการหลายสายที่จะไป เพื่อให้พอดีกับที่นี่? นักศึกษาห้า เจสัน Hirschhorn: ห้า ยอดเยี่ยม เราจะเรียกมันว่าชื่อเพราะ เรากำลังจะได้รับหลายคน ตกลงต่อไปหรือไม่ ลูกศิษย์: แล้วคุณ มีการวน - เจสัน Hirschhorn: ห่วงสำหรับ นักเรียน - สำหรับ i = 0 เจสัน Hirschhorn: for (int i = 0 นักเรียน: อัฒภาค เจสัน Hirschhorn: อัฒภาค ลูกศิษย์: ผมน้อยกว่าห้า เจสัน Hirschhorn: ผมน้อยกว่าห้า นักเรียน: อัฒภาค เจสัน Hirschhorn: อัฒภาค นักเรียน: i + + เจสัน Hirschhorn: i + + นักเรียน: และแล้ววงเล็บปิด เจสัน Hirschhorn: วงเล็บปิด แล้วบางส่วนวงเล็บปีกกา ภายในวงเล็บปีกกา? นักเรียน: และจากนั้น printf เจสัน Hirschhorn: Printf นักศึกษาวงเล็บเปิดชื่อ% d เจสัน Hirschhorn: ขอโทษ? นักศึกษาชื่อ เจสัน Hirschhorn: ชื่อ นักเรียน: และจากนั้นพื้นที่และจากนั้น% d เจสัน Hirschhorn: ชื่อ, พื้นที่,% d นักเรียน: และแล้ว / n และจากนั้นปิด เจสัน Hirschhorn: ชื่อดังนั้นพื้นที่ % d / n, วงเล็บปิด นักเรียน: ลูกน้ำ, i + 1 ฉันขอโทษ ปิดจุลภาคอ้างแล้ว, i ​​+1 เจสัน Hirschhorn: ปิด อ้างจุลภาค, i +1 ลูกศิษย์: ใช่ แล้วบรรทัดถัดไป - เจสัน Hirschhorn: i + 1 ลูกศิษย์: ใช่ แล้วยังภาพนิ่งถัดไป วงเล็บชื่อเป็นผม เจสัน Hirschhorn: บรรทัดถัดไป วงเล็บชื่อเป็นผม นักเรียน = สตริงได้รับ เจสัน Hirschhorn = รับ - ทุน G-E-T - เชือก โอ๊ะขอโทษ นักศึกษาเปิดวงเล็บปิด แล้ว - เจสัน Hirschhorn: เปิดปิดวงเล็บ นักเรียน: อัฒภาค เจสัน Hirschhorn: อัฒภาค ตกลงเพื่อให้คุณเริ่มต้น array ของ สตริงชื่อและแล้วผ่าน สำหรับวงและห้าครั้งที่พิมพ์ออกมาบางส่วน แจ้งให้กับผู้ใช้แล้วเก็บ ห้าสตริง ใครไม่ได้ใด ๆ การปรับเปลี่ยนนี้ ทอมผมคิดว่าทุกคน เห็นด้วยกับคุณ ดูดีสวย ตกลง คุณไม่ทำผมทำไม 1 แต่? ลูกศิษย์: ผมหมายถึงไม่ได้มี เป็น แต่ฉัน 1 ดังนั้นว่ามันเป็น หนึ่งในชื่อที่จะตั้งชื่อห้า มิฉะนั้นมันจะเป็นชื่อ เป็นศูนย์ที่จะตั้งชื่อสี่ เจสัน Hirschhorn: ดังนั้นคุณไม่ i +1 เพราะมิฉะนั้นมันจะมี พิมพ์ออกมาเป็นศูนย์ผ่านสี่เพราะ ว่าเป็นวิธีที่คอมพิวเตอร์คิด แต่มนุษย์ ไม่ได้จริงๆอ่านเช่นเดียวกับที่ นั่นเป็นสิ่งอื่น คุณจะพบ บางครั้งเมื่อคุณพิมพ์ออกมาบางสิ่งบางอย่าง ให้กับผู้ใช้คุณจะต้องการที่จะให้มัน นิด ๆ หน่อย ๆ น่ารักและการทำ i +1 ในกรณีนี้คือ วิธีที่จะทำให้มันสวย ฉันยังดูห้าสองชื่อสตริง เป็นห้า i น้อยกว่าห้า ฉันรู้ว่าคุณมีห้า ที่คุณได้รับไปจากฉันบอก คุณห้าชื่อ แต่ถ้าเราอยากจะให้รหัส นิด ๆ หน่อย ๆ ที่แข็งแกร่งมากขึ้นสิ่งหนึ่งที่เรา จะทำคือออกจากที่นี่ด้านนอกของ int, เราสามารถทำอะไรเช่นนี้ # define และเราสามารถทำ NAMES 5 ดังนั้นโดยทั่วไปทุกที่ที่ผมเขียนเมืองหลวง N, ทุน, ทุน M เมืองหลวง E, ทุน S, สตริงที่มันจะเข้ามาแทนที่ ว่าด้วยความที่ 5 ในรหัส หรือให้เพียงเรียกมันว่า - เราจะ เพียงแค่เรียกมันว่าจำนวน ดังนั้นฉันกำหนดตัวพิมพ์ใหญ่ทั้งหมด จำนวนเป็น 5 ดังนั้นตอนนี้เมื่อใดก็ตามที่ฉันมีจำนวน 5 ผม สามารถแทนที่ด้วยจำนวนหมวก และตอนนี้ถ้าผมต้องการที่จะเปลี่ยนหมายเลข ของชื่อทั้งหมดที่ฉันต้องทำคือ นี้หนึ่งบรรทัดสี่สายที่ฉันมี # กำหนดหมายเลข 5, เปลี่ยนที่ถึง 10 หรือเปลี่ยนที่ 4 เมื่อรหัสของคุณได้อีกต่อไปที่คุณไม่ได้ จะไปจำได้ทุกสถานที่ที่คุณ ใส่กี่ชื่อที่คุณต้องการและใน เพื่อให้คุณไม่พลาดหนึ่งนี้เป็น เป็นวิธีที่ดีที่จะทำเพื่อหาบางสิ่งบางอย่าง ขึ้นด้านบนแล้วเพียงแค่ใช้วลีที่ ทุกที่ทั่วรหัสของคุณ ? มาร์คัส นักศึกษาที่เป็นที่ต้องการ stylistically ทั่วโลกกว่ากำหนด n คงที่? เจสัน Hirschhorn: ดังนั้นก็คือว่า ที่ต้องการ stylistically กว่าทั่วโลก การกำหนดค่าคงที่ n? ดังนั้นคุณกำลังจะบอกว่าคุณสามารถ ทำจำนวน int = 5? นักศึกษาพวกเขามีพยัญชนะ ใน C หรือไม่? เจสัน Hirschhorn: หรือ const - ในเท่ากัน ดังนั้นคุณกำลังจะบอกว่าเพียงแค่ ตัวแปรทั่วโลกหรือไม่ นักเรียน: ใช่ เจสัน Hirschhorn: ดังนั้น stylistically, ไม่มีความจำเป็นหนึ่งที่เหมาะสม ตอบ แต่ทั้งสองเหล่านี้จะดีกว่า มากกว่าเพียงแค่การขว้างปาสุ่มเหล่านี้ หมายเลขรหัสผ่านของคุณ เราเรียกพวกเขาว่าหมายเลขมายากล เมื่อฉันดูที่รหัสของคุณหรือเมื่อ ใครอ่านผ่านมันพวกเขา ไม่ต้องการเหล่านี้เพียงแค่ตัวเลขสุ่ม ที่ไม่ได้ทำให้ความรู้สึก แม้จำนวน 26 ซึ่งโดยทั่วไปคือ จำนวนของตัวอักษรในตัวอักษร, ดีกว่าที่จะกำหนดตัวอักษรขึ้นด้านบน และบันทึกหมายเลข 26 ในสตริงที่, หากที่ทำให้รู้สึก หรือปัญหาการตั้งค่าหนึ่งมากกว่า - อีกครั้งเราไม่ได้พูดคุยเกี่ยวกับเรื่องนี้ที่ เวลา แต่แทนเพียงการขว้างปา ในทุก 25 หรือ 10 คุณสามารถ บันทึกหมายเลข 25 ขณะที่ไตรมาสหรือ 10 เป็น ค่าเล็กน้อยและที่ทำให้มันง่ายขึ้นสำหรับ ใครก็ตามที่ได้อ่านผ่านรห​​ัสของคุณ เข้าใจว่าทำไมคุณเลือกหมายเลขที่ และสำหรับคุณถ้าคุณเคยต้องการ ปรับปรุงรหัสของคุณมันทำให้บิต ที่แข็งแกร่งมากขึ้น อ้าง? นักศึกษาเป็นรหัสนี้ยังจะ จะสามารถใช้ได้สำหรับเราหลังจากที่? เจสัน Hirschhorn: ทั้งหมดของรหัสเหล่านี้ ที่เราได้เขียนอยู่ด้วยกันนั้น จะถูกส่งไปยังคุณ ครับและสามารถใช้ได้ ใช่ ดังนั้นขอให้ผู้ใช้ห้าชื่อ สุ่มเลือกและพิมพ์ หนึ่งในชื่อที่ ใครทำบรรทัดนี้? นี้เป็นสายที่ยากที่นี่ ขออภัยทอม คุณได้งานที่ดีมาก แต่ นี้เป็นบิต trickier มาร์คัสไปข้างหน้า นักเรียนกันครั้งแรกที่คุณจะ ต้องรวม stdlib.h และ time.h. เจสัน Hirschhorn: คุณกำลังจะบอกว่าที่ ด้านบนมีสองห้องสมุดมากขึ้น คุณต้องการให้ฉันไปรวมถึง S-T-D-L-I-B จุด H, ห้องสมุดมาตรฐานและสิ่งที่ เป็นอีกคนหนึ่ง? นักเรียน: Time.h. เจสัน Hirschhorn: # include time.h. ดังนั้นเหล่านี้สองห้องสมุดมากขึ้น ผมถือว่าตอนนี้เรากำลังจะใช้ ฟังก์ชั่นที่มีอยู่ในเหล่านี้ สองซึ่งเป็นเหตุผลที่คุณจำเป็นต้องใช้ ที่จะรวมพวกเขา? นักศึกษาดังนั้นแล้วก่อนคุณ จะต้องการที่จะเขียน srand เจสัน Hirschhorn: srand ลูกศิษย์: (เวลา (0) เจสัน Hirschhorn: ขออภัย เวลา srand (( นักเรียน: 0 เจสัน Hirschhorn: 0 นักเรียน:)) อัฒภาค เจสัน Hirschhorn: อีกวงเล็บปิด? อัฒภาค ฉันจะเพียงแทนที่ ศูนย์ของคุณด้วยโมฆะ มันจะทำอะไรเกี่ยวกับสิ่งเดียวกัน แต่ โดยทั่วไปคุณจะเห็นโมฆะซึ่ง เราจะพูดเกี่ยวกับเรื่องนี้ ในบรรทัดที่สอง นักเรียน: Stylistically ที่ดีกว่า เจสัน Hirschhorn: โดยทั่วไปคน, สิ่งที่ถูกต้องเป็นโมฆะ แต่เดียวกัน นักเรียน: และแล้วชื่อ int เจสัน Hirschhorn: ชื่อ Int นักเรียน = เจสัน Hirschhorn = นักเรียน: แรนด์ เจสัน Hirschhorn: แรนด์ ลูกศิษย์: () เจสัน Hirschhorn: () นักศึกษาจำนวน Modulo เจสัน Hirschhorn: อะไรแบบโมดูโล? ตัวอักษร? ตัวอักษรที่ร้อยละ? นักเรียน: ตัวร้อยละ จำนวน Modulo ที่คุณกำหนดไว้ขึ้นด้านบน เจสัน Hirschhorn: จำนวนผู้ Modulo นักเรียน: และจากนั้นอัฒภาค เจสัน Hirschhorn: อัฒภาค นักเรียน: และจากนั้นบรรทัดใหม่ printf เจสัน Hirschhorn: Printf ลูกศิษย์: ( เจสัน Hirschhorn: ( ลูกศิษย์: " เจสัน Hirschhorn: " นักเรียน:% s / n เจสัน Hirschhorn:% s / n ลูกศิษย์: " เจสัน Hirschhorn:% s / n " นักเรียน: ลูกน้ำชื่อพื้นที่ เจสัน Hirschhorn: อวกาศ - นักเรียน: โอ้, ผมคิดว่าสิ่งที่ พวกเราเรียกมันว่าที่นี่? เจสัน Hirschhorn: เราเรียกมันว่าชื่อ นักเรียน: วงเล็บชื่อเปิด เจสัน Hirschhorn: วงเล็บชื่อเปิด นักศึกษาวงเล็บปิด เจสัน Hirschhorn: ปิดวงเล็บ นักศึกษา) เจสัน Hirschhorn:) นักเรียน: อัฒภาค เจสัน Hirschhorn: อัฒภาค ตกลงให้มีการบันทึก ขอให้รหัสนี้ นักเรียน ลองเรียกใช้รหัสนี้ นักเรียน ไม่ส่งนักเรียน. / . นักเรียน / หนึ่งชื่อ เราจะบอกว่าเดวิด สองชื่อ, RJ สามชื่อร็อบ สี่ชื่อลูคัส ห้าชื่อโจเซฟ แล้วก็พิมพ์ออกโจเซฟอีกครั้ง เพื่อให้ฉันทำงานนี้อีกครั้ง ให้ฉันทำชื่อเดียวกัน เดวิดอาร์เจร็อบลูคัสโจเซฟ และมันทำให้ผมเดวิดเวลานี้ ดังนั้นผมจึงได้ทำสิ่งที่เหมือนกัน แต่มันทำให้ ฉันเป็นสิ่งที่แตกต่างกันและที่ว่า เพราะแน่นอนเรากำลังขอให้ สำหรับชื่อแบบสุ่ม ดังนั้นผมจึงคิดว่าตามออกของฉันที่หลงทาง ไปรอบ ๆ ห้องที่คนส่วนใหญ่ อาจจะได้รับสิทธิในส่วนแรก การตั้งค่าอาร์เรย์ที่แล้วได้รับ ชื่อทั้งหมด ฉันพูดเกี่ยวกับสาย 10 ถึง 16 แต่สาย 18 ผ่าน 21 อาจจะ บางสิ่งที่คุณยังไม่ได้เห็นมาก่อน เพื่อให้เป็นไปผ่านเหล่านั้น บรรทัดนี้เป็นโมฆะเวลา srand เป็นหลัก - ขออภัยขอข้ามลง เส้น, rand () ที่ช่วยให้คุณเป็นจำนวนสุ่ม จำนวนเต็มแบบสุ่ม และถ้าคุณตี rand คนซึ่ง จำนวนมากของคุณได้ - M--N พื้นที่ R--N-D - ในขั้วเช่นนี้ M-N- พื้นที่ R--N-D กด Enter คุณจะมาถึงคู่มือและ จะสามารถอ่านที่แรนด์ ออกคำสั่ง NUM ไบต์สุ่มหลอก หลังจากการเพาะจำนวนสุ่ม เครื่องกำเนิดไฟฟ้าอีกครั้ง เพื่อที่ว่าคำอธิบายของ นั่นคือสิ่งที่แรนด์ไม่ให้ คุณเป็นจำนวนสุ่มเมื่อ ที่คุณเรียกฟังก์ชันที่ แต่น่าเสียดายที่มันไม่สุ่มจริงๆ เพราะถ้าคุณจะเรียกแบบสุ่ม โดยไม่ได้รับมันเมล็ดบาง จุดเริ่มต้นก็มักจะเลือก เป็นหนึ่งเดียวกันและใช้สูตร เพื่อตรวจสอบต่อไปอย่างใดอย่างหนึ่ง ดังนั้นถ้าคุณโทรแรนด์ก็จะเพียงแค่ ให้คุณได้ในสิ่งเดียวกัน มันจะเป็นที่คาดการณ์มาก อันที่จริงมันจะไม่เป็นแบบสุ่ม ดังนั้นสิ่งที่เราต้องทำต่อของ Marcus คำแนะนำให้ฉันเป็น rand เมล็ด กับสิ่งอื่นซึ่งเป็นสิ่งที่ ฟังก์ชั่น srand ไม่ มันเมล็ด rand กับสิ่งที่น้อยมาก สุ่มกว่าสิ่งเดียวกันและ เขาเพาะมันด้วยโมฆะเวลาซึ่ง เป็นเพียงโดยการประชุมในปัจจุบัน ในเวลาไม่กี่วินาที ดังนั้นคุณกำลังสมมติว่าทุกคนไม่ได้ จะใช้รหัสที่แน่นอน ที่สองเหมือนกันดังนั้นมันเป็นเดิมพันที่ปลอดภัย โมฆะเวลาเป็นไปได้ที่แตกต่างกัน เวลารหัสนี้ทุกรัน เดิมพันที่ปลอดภัยจึงจะ rand srand เมล็ด มีบางสิ่งบางอย่างที่แตกต่างกันทุกครั้ง เวลาเดียว ดังนั้นโดยการประชุมและเมื่อเราทำต้องการ จำนวนสุ่มเราเขียนบรรทัดนี้ โมฆะ srand เวลาเพื่อให้เรามากเท่าไหร่ เมล็ดสุ่มและจากนั้นเราจะดำเนินการ แรนด์ซึ่งจะช่วยให้เราจำนวนสุ่ม อ้าง? ลูกศิษย์: คุณสามารถพูดในสิ่งที่ คุณหมายถึงโดยเมล็ด เจสัน Hirschhorn: เมล็ดพันธุ์ไว้ใน - ดังนั้นแรนด์จะเลือกบางหมายเลข และมันจะใช้บางส่วน สูตรที่จะได้มี ดังนั้นมันจะเริ่มต้นด้วยบางสิ่งบางอย่าง แล้วทำให้มันกลายเป็นบางสิ่งบางอย่างขึ้น ออกจากสูตรที่ หากคุณเคยให้ในสิ่งเดียวกัน มันเสมอไปทำให้มันกลายเป็น สิ่งเดียวกัน ดังนั้นสิ่งแรกที่คุณ ให้มันเป็นเมล็ดพันธุ์ ดังนั้นคุณจึงต้องการที่จะให้มันบางสิ่งบางอย่าง ที่แตกต่างกันเริ่มต้นด้วยและดังนั้นจึง จะทำให้มันกลายเป็นบางสิ่งบางอย่างที่แตกต่างกัน และแล้วในที่สุด, 20 บรรทัด % นี้เรียกว่า โมดูโลและที่เป็นความสับสน นั่นคือสิ่งที่เป็นนิด ๆ หน่อย ๆ ที่แตกต่างกันที่นี่ที่คุณทำไม่ได้จริงๆ มีคณิตศาสตร์ในชีวิตจริง แต่เป็นหลักเมื่อคุณใช้เวลายักษ์ จำนวนและคุณแบ่งใน C อะไร ที่เกิดขึ้นกับส่วนที่เหลือ? นักศึกษาจะได้รับการตัดทอน เจสัน Hirschhorn: จะได้รับการตัดทอน ดังนั้น 20 หารด้วย 3 คืออะไร? ว่าอะไรกลับไป คุณ, 20 หารด้วย 3 ขออภัย 10 หารด้วย 3 ว่าอะไรกลับไปยังคุณ ลูกศิษย์: [ได้ยิน] เจสัน Hirschhorn: 10 หารด้วย 3 เพียง ผลตอบแทนที่ 3 ไม่ 3 เหลือ 1 ดังนั้นสิ่งที่โมดูโล 10 3 ผลตอบแทน เป็นเพียงส่วนที่เหลือ 1 ดังนั้นถ้าคุณต้องการที่จะรู้ว่าสิ่งที่แบ่ง 10 โดย 3 เป็นจริงคุณจะ ทำ 10 หารด้วย 3, คุณจะได้รับ 3 ของคุณ และแล้วคุณจะทำ 10 แบบโมดูโล 3 และ คุณจะได้รับ 1 ดังนั้นคุณจะตระหนักดีว่าการแบ่ง 10 3 3, 1 ส่วนที่เหลือคือ และในสายนี้อาจจะเป็นแรนด์ จำนวนเต็มใด ๆ เป็นหลัก ดังนั้นแบบโมดูโลจะพูด, หารด้วย จำนวนที่อยู่ใน 5 กรณีนี้ และถ้าคุณเคยหารด้วยจำนวน, จำนวนเต็มเสมอจะต้องมีน้อยกว่า หมายเลขที่ ดังนั้นหากคุณกำลังหารด้วยจำนวน 5, ส่วนที่เหลือจะเป็นไปได้เสมอ ศูนย์ผ่านสี่ นั่นเป็นเพียงวิธีการทางคณิตศาสตร์ออกไปทำงาน ดังนั้นจำนวนมาก moduloed โดยมีขนาดเล็กลง จำนวนมักจะกลับ ส่วนที่เหลือและมักจะกลับบาง จำนวนที่น้อยกว่าจำนวนที่คุณ โดยแบ่งออกเป็น ไม่มีใครมีคำถามเกี่ยวกับเรื่อง โมดูโลเพราะมันจะมาในมาก มีประโยชน์มากดังนั้นฉันต้องการให้แน่ใจว่า ทุกคนเข้าใจมันได้หรือ เย็น และเราเห็นว่าโปรแกรมนี้ทำงาน ตกลงย้าย ดังนั้นต่อไปเราจะไปเป็น ฟังก์ชั่นและเรากำลังจะไป ผ่านส่วนที่เหลือของสิ่งนี้สวย ได้อย่างรวดเร็วเพราะฉันต้องการที่จะได้รับ อาร์กิวเมนต์บรรทัดคำสั่ง ดังนั้นฟังก์ชั่นเป็นหลัก, เท่าที่คุณเคยเห็นกล่องสีดำ พวกเขาใช้เวลาในสิ่งที่เรียกว่าพารามิเตอร์, พวกเขาทำบางอย่างเพื่อพวกเขาทั้ง เปลี่ยนพวกเขาหรือสร้างผลข้างเคียงบางอย่าง และในที่สุดพวกเขาถ่มน้ำลาย ออกบางสิ่งบางอย่างซึ่งเป็น ค่าตอบแทน ใครสามารถให้ฉันเหตุผลหนึ่งที่ เหตุผลที่เราจะใช้ฟังก์ชั่น? ใคร? เหตุผลหนึ่งที่เราต้องการใช้ฟังก์ชั่น? ทุกคน? ผมเห็นมือทั้งสองข้าง เหตุผลที่ดีคืออะไร? ? มาร์คัส นักเรียน: ถ้าคุณมีการโทรเดียวกัน ก้อนของรหัสหลายครั้ง เจสัน Hirschhorn: ตกลงถ้าคุณต้องการ ที่จะเรียกก้อนเดียวกัน หลายครั้งรหัส เจฟฟ์, คุณมีเหตุผลที่แตกต่างกันอย่างไร นักเรียน: เพียงเพื่อให้ คุณสามารถรหัสน้อย เจสัน Hirschhorn: คุณสามารถรหัสน้อย ขวา หากคุณต้องการที่จะทำบางสิ่งบางอย่างมาก - ในรหัสก่อนที่ผมจะได้มี เขียนรับสายห้าครั้ง แต่ สำหรับวงที่ทำให้มันดูดีและ คุณต้องเขียนโค้ดน้อยลง ฟังก์ชั่นมีความคิดที่คล้ายกัน ถ้าผมต้องการที่จะทำในสิ่งเดียวกันเป็นจำนวนมาก ย้ายไปยังฟังก์ชั่นและเรียกว่า ทำงานในแต่ละครั้ง ที่จะทำสิ่งที่สำหรับคุณ นั่นเป็นเหตุผลที่ดี ที่จะใช้ฟังก์ชั่น ดังนั้นลักษณะทางกายวิภาคของการทำงาน ฟังก์ชั่นโดยทั่วไปจะ ลักษณะเช่นนี้ มันจะเริ่มต้นด้วยประเภทกลับ, แล้วคุณจะได้รับชื่อ มันจะใช้ข้อโต้แย้งมิฉะนั้น ที่รู้จักกันเป็นพารามิเตอร์และภายใน ที่วงเล็บปีกกาคุณจะ เขียนรหัสของคุณ เราได้เห็นหนึ่งในฟังก์ชั่นจำนวนมาก นั่นเป็นหลัก นี่คือหลักที่ซ้อนทับลงบน กายวิภาคศาสตร์ที่ผมมีก่อนหน้านี้ int ที่นี่มีความหมายว่าอะไร? int หมายความว่าอย่างไร เมื่อฉันเขียนหลัก int (void) นักเรียนประเภทย้อนกลับ? เจสัน Hirschhorn: ขอโทษ? นักเรียน: ชนิดกลับ เจสัน Hirschhorn: Int คือ กลับชนิด, ตรงขวา หลักส่งกลับ int เป็นหลักอะไร? นักเรียน: ชื่อฟังก์ชั่น เจสัน Hirschhorn: หลักคือ ชื่อของฟังก์ชัน ตรงขวา และเป็นโมฆะ? เป็นโมฆะในวงเล็บคืออะไร? นักศึกษาไม่ใช้ ค่าใด ๆ ภายนอก เจสัน Hirschhorn: void ดังนั้น - ขวา ในวงเล็บเราใส่ พารามิเตอร์หรืออาร์กิวเมนต์ ฟังก์ชั่นใช้เวลาสิ่งที่จะไป ภายในกล่องสีดำ เมื่อคุณเขียนเป็นโมฆะคุณกำลังจะบอกว่า นี้จะไม่มีอะไรค่ะ เป็นโมฆะหลัก int ดังนั้นหมายความว่าหลัก ไม่ได้รับอะไรค่ะ ภายในวงเล็บปีกกาเรามีบาง รหัสและจากนั้นเราจะเห็นในตอนท้าย กลับเป็นศูนย์ ผลตอบแทนเ​​ป็นศูนย์หมายความว่าอย่างไร ดีเราได้พูดคุยเกี่ยวกับชนิดของผลตอบแทน ความต้องการที่หน้าหลักกลับ int นั่นคือสิ่งที่บรรทัดนี้ไม่ มันกลับ int, ศูนย์ แน่นอนเราไม่ได้เห็นว่ามาก เพราะในการเขียนโปรแกรมที่เราทำกับ เครื่องที่เราทำและคอมไพเลอร์ ที่เราใช้ในปัจจุบันคุณ ไม่จำเป็นต้องบรรทัดที่ หลักเป็นพิเศษพอที่จะรู้ว่า เมื่อคุณมาถึงจุดสิ้นสุดของหลักเพียง กลับศูนย์ถ้าทุกอย่างเป็นไปด้วยดี ในความเป็นจริงถ้าสิ่งที่ไม่เป็นไปด้วยดี, หลักมักจะกลับมาที่แตกต่างกัน จำนวน signifying สิ่งที่ ผิดพลาดกับโปรแกรมของคุณ ดังนั้นโดยทั่วไปเมื่อคุณเห็นรหัสคุณ ไม่ได้เขียนเป็นศูนย์กลับ แต่มันเป็นสิ่งที่ดี ที่จะรู้ว่ามันเกิดขึ้นหลัง ฉากเพราะเมื่อใดก็ตามที่คุณเขียน ของฟังก์ชั่นอื่น คุณจะต้อง รวมถึงเส้นผลตอบแทน หากคุณกำลังจะบอกว่าฉันกำลังจะไป กลับ int คุณจะต้อง เขียนบางสิ่งบางอย่างกลับมา ถ้าคุณบอกว่าเป็นโมฆะขึ้นที่นี่ที่ เริ่มต้นเป็นโมฆะเป็นโมฆะหลักสำหรับ ตัวอย่างเช่นแล้วก็ไม่กลับ สิ่งใด - โมฆะหมายถึงอะไร - ดังนั้นคุณจึงไม่จำเป็นต้องใช้เส้นอัตราผลตอบแทนที่ แต่คุณเคยเขียนบางสิ่งบางอย่างที่ไม่ เป็นโมฆะสำหรับประเภทผลตอบแทนที่คุณจะต้อง บรรทัดที่ระบุว่าผลตอบแทนและคุณ ต้องการที่จะนำบางสิ่งบางอย่างที่มี ที่ตรงกับประเภท คำถามเกี่ยวกับเรื่องที่? หวาน ขอบเขต นี่คือสิ่งที่เราได้ สัมผัสเช่นกัน ตัวแปรทุกอย่างที่เรารู้ว่ามี ขอบเขตบางอย่างและที่เป็นพื้น พูดคุยเกี่ยวกับการที่ตัวแปร อาจจะหรืออาจจะไม่ได้อ้างอิง และผมชอบที่จะบอกว่าสิ่งที่เกิดขึ้น ในวงเล็บปีกกาอยู่ ภายในวงเล็บปีกกา ดังนั้นสำหรับตัวอย่างเช่นถ้าเรามองไปที่รหัสนี้ เรากำหนดตัวแปรทั่วโลก ด้านนอกของหลัก int, ที่นี่ที่ด้านบน เรากำลังเรียกร้องอีก int หลักภายใน เรามีวงเล็บปีกกาบางมากขึ้นและ เรากำลังเรียก int อีก ขณะนี้มีสามในรหัส เหล่านี้ไม่ได้ในสิ่งเดียวกัน ฉันได้สร้างสามตัวแปรที่แตกต่างกัน แล้วภายในเหล่านี้ภายในหยิก วงเล็บที่ผมพูด = 4 ซึ่งเป็นที่พูดคุยเกี่ยวกับ แรกหนึ่งอีกคนหนึ่ง หรือหนึ่งในสาม? นักศึกษาหนึ่งในสาม เจสัน Hirschhorn: มันพูด เกี่ยวกับหนึ่งในสาม ทั้งหมดของผู้ที่จริงสามารถ พูดคุยเกี่ยวกับในเรื่องนี้โดยเฉพาะ เช่นเพราะขอบเขตของพวกเขาทั้งหมดไป ในวงเล็บปีกกาเหล่านี้ด้านในสุด อย่างไรก็ตามเมื่อคุณเรียกสิ่งเดียวกัน ชื่อนี้มีสิ่งที่เรียกว่าซ่อนอะไร ดังนั้นคุณจะจัดการกับหรือแก้ไขหรือใช้ ตัวแปรล่าสุดหรือหนึ่ง ที่ใกล้ชิดกับคุณ ดังนั้นภายในที่นี่เป็นหนึ่งในสามนี้จะใกล้เคียงที่สุด กับสายที่ 4 = ดังนั้นจึง ส่งผลกระทบต่อหนึ่งในสาม และบรรทัดสุดท้าย, = 2 ซึ่งเป็น ที่พูดคุยเกี่ยวกับครั้งแรกที่สอง, หรือที่สาม? นักศึกษาที่สอง เจสัน Hirschhorn: มันพูด เกี่ยวกับที่สอง แน่นอนที่สามใกล้เคียงกับ ในรหัส แต่ที่สาม ไม่ได้อยู่ข้างนอก ที่วงเล็บปีกกา เมื่อคุณได้รับที่ปิดหยิก รั้งมันก็เหมือนมันหายไป, เป็นหลัก ดังนั้นเพียงสองคนเท่านั้นที่เหลือเป็นผู้ที่ สองคนแรกและแน่นอนตอนนี้ มันใกล้เคียงกับครั้งที่สอง เพื่อให้เป็นสิ่งที่ดีที่ จำเกี่ยวกับขอบเขต ตัวอย่างเช่นฉันแน่ใจว่าคุณได้พบ นี้ในการทำในขณะที่ห่วง หากคุณเริ่มต้นภายในตัวแปร ทำในขณะที่ห่วงและจากนั้นคุณพยายามที่จะ เข้าถึงมันนอกคุณอาจ ได้เตือนเช่นนี้บาง ตัวแปรไม่ได้อยู่ นั่นเป็นเพราะขอบเขตของความคิด, เพียง แต่สิ่งที่มีอยู่ ภายในวงเล็บปีกกาเหล่านั้น วงเล็บปีกกาเป็นเช่นกอดยักษ์ที่ คุณให้รหัสของคุณเป็นอีกหนึ่ง วิธีที่จะคิดเกี่ยวกับมัน ดังนั้นนี่คือฟังก์ชั่นอื่นบางสิ่งบางอย่าง สำหรับพวกคุณไปยังรหัส hellofunction.c เรากำลังจะข้ามว่าสำหรับตอนนี้ แต่ นี้เป็นสิ่งที่ผมแนะนำให้คุณ การปฏิบัติด้วยตัวคุณเอง เขียนโปรแกรมที่สายหลัก ฟังก์ชั่นที่พิมพ์ออกมาอีก ทักทายให้กับผู้ใช้ มันเป็นหลักที่สละ hello โลก และวาจาที่เป็น printf ฟังก์ชั่นอื่น แต่เราไม่ได้ไปทำที่ตอนนี้ เพราะเราไม่ได้มีเวลามากที่สุดเท่าที่ ด้านซ้ายเป็นผมจะชอบ การประกาศฟังก์ชันดังนั้น เราได้เห็นนี้มาก่อนเช่นกัน หากคุณต้องการที่จะเขียนฟังก์ชั่นอื่น คุณต้องการที่จะให้คอมพิวเตอร์รู้จักและ หลักรู้ว่ามันมีอยู่แล้ว ดังนั้นสิ่งที่เราทำอยู่เหนือหลักที่เราเขียน ประเภทกลับชื่อและ พารามิเตอร์และจากนั้นลงมาด้านล่างหลัก ลงที่นี่เราจริงคัดลอกบรรทัดที่ แล้วเขียนรหัสจริง ดังนั้นวิธีนี้ถ้าคุณเรียกใช้ฟังก์ชัน ในหลักที่ด้านบนหลักรู้ว่า สวัสดีมีอยู่แล้วตัวอย่างเช่นถ้าฉันเป็น เพื่อโทรไปทักทายและจากนั้นมันก็ดูไป การดำเนินงานลงมาด้านล่าง จะเกิดอะไรขึ้นถ้าฉันไม่ได้รวมไปถึงนี้ เส้นขึ้นด้านบน, สวัสดีถือเป็นโมฆะ (void) ถ้าฉันไม่ได้รวมถึงบรรทัดนี้ และบริการโทรหลักสวัสดีฉัน จะได้รับข้อผิดพลาด ฉันจะได้รับข้อผิดพลาดเพราะ คอมไพเลอร์จะไม่ทราบ ว่าสิ่งนี้มีอยู่ นี้จะคล้ายกับเหตุผลที่เรา ทำ # include cs50.h. อะไรเป็นหลัก cs50.h จะทำ มีการวางรับสายขึ้น มันได้รับการวาง int ขึ้น มันวางทั้งหมดของฟังก์ชันเหล่านั้น ต้นแบบก่อนที่จะขึ้นหลักเพื่อที่ว่าเมื่อ คุณเรียกพวกเขาในหลักหลักรู้ ว่าสิ่งเหล่านี้มีอยู่ นั่นคือสิ่งที่คนเหล่านั้น. ไฟล์ชั่วโมงทำ และดังนั้นถ้าคุณกำลังจะทำด้วยตัวเอง ฟังก์ชั่นที่คุณมีเพื่อให้แน่ใจว่า คุณใส่ต้นแบบที่มีขึ้น คำถามใด ๆ เกี่ยวกับเรื่องนี้ไกลดังนั้น? อาร์กิวเมนต์บรรทัดคำสั่ง นี่คือสิ่งที่เรากำลังจะเสร็จสิ้น เมื่อแล้วหวังว่าเราจะ บีบใน pset บาง ผมไม่ทราบว่าถ้าเราจะสามารถที่จะบีบ ว่าในเพราะเวลา แต่ กับพวกคุณที่อยู่ที่นี่และถ้าคุณ ผมอยากจะบอกว่าหลังจากที่สำหรับบิตเรา สามารถไปกว่ามันนอก แต่เรากำลังจะจบด้วย อาร์กิวเมนต์บรรทัดคำสั่ง สำหรับที่ผ่านมา 15 นาที เราตื่น, ไมเคิล คุณตื่นขึ้นมา? ดี ผมไม่ทราบว่าถ้าคุณนอนหลับ ด้วยดวงตาของคุณปิด มันจะเป็นเรื่องยุ่งยาก อาร์กิวเมนต์บรรทัดคำสั่ง เหล่านี้เป็นวิธีหนึ่งที่จะส่งผ่านข้อมูล ลงในโปรแกรม ในที่สุดเราจะพบคนอื่น ๆ แต่เป็นหลักที่เรากำลังจะหยุด เขียน int main (void) ถ้าเราต้องการ ใช้เวลาบางส่วนอาร์กิวเมนต์บรรทัดคำสั่ง เรากำลังจะเขียนสิ่งนี้ เรียกว่า int main (int argc, สตริง argv วงเล็บ ที่ทำให้เกิดความสับสน นั่นเป็นจำนวนมากของตัวอักษรที่ไม่อยู่ใน มนุษย์ภาษาอังกฤษดังนั้นเรากำลังจะไป แกะพวกเขาได้ในขณะนี้ argc หมายถึงการนับอาร์กิวเมนต์ - และอีกครั้งที่สิ่งเหล่านี้จะ จะพร้อมใช้งานออนไลน์ - และนั่นก็คือจำนวนของการขัดแย้ง argv ยืนสำหรับอาร์กิวเมนต์เวกเตอร์และ ผู้ที่มีข้อโต้แย้งของตัวเอง มันเป็นอาร์เรย์ของสตริง เราได้เห็นจริงอาร์เรย์ ของสตริงก่อนที่วันนี้ เราได้สร้างหนึ่งในล่าสุด โปรแกรมที่เราเขียน ดังนั้นนี่คือตัวอย่าง ผมเขียน. / ohai CS50 ส่วน บนบรรทัดคำสั่งของฉัน argc ในกรณีนี้เท่ากับ 3 argv วงเล็บคือ 0 ohai, argv วงเล็บ 1 คือ CS50, argv วงเล็บ 2 ส่วนคือ อีกครั้ง argc คือจำนวนของการขัดแย้ง และการเดินทางที่คุณขึ้นเล็กน้อย บิตเรามักจะนับชื่อของ ฟังก์ชั่นเป็นอาร์กิวเมนต์แรก ดังนั้นในกรณีนี้มีสาม อาร์กิวเมนต์ชื่อของฟังก์ชัน แล้วสองคนนั้นที่ฉันพิมพ์นิ้ว ต่อไปเรากำลังจะบันทึกเหล่านั้น ข้อโต้แย้งของตัวเองใน argv และอีกครั้งเช่นเดียวกับที่เราเห็นก่อนที่เราทำ นี้ในโปรแกรมล่าสุดที่เราเขียน คุณสามารถย้ายผ่านแถวของ argv และได้รับสตริงเหล่านั้น ที่เป็นหลักสิ่งที่เราทำที่ สิ้นสุดโครงการล่าสุดของเรา ที่เราเลือกชื่อสุ่มและจากนั้นก็เดินไป สิ่งที่วงเล็บชื่อและพิมพ์ ออกสตริงตั้งอยู่ที่นั่น ด้านบนของเพียงหนึ่งแถวเพราะ สตริงตัวเองเป็นอาร์เรย์เป็น พูดคุยเกี่ยวกับคุณสามารถมีอาร์เรย์ ของอาร์เรย์ซึ่งเป็น หลักสิ่งที่ argv คือ วิธีการหนึ่งที่คุณสามารถคิดเกี่ยวกับ นี้เป็นแถวและคอลัมน์ ฉันสามารถวาดขวาที่ตอนนี้ ดังนั้น argv - ที่ไม่ได้ลบ ลองวาดภายใต้ ohai ดังนั้นถ้าฉันเขียนในส่วน ohai CS50, ฉันจะตัด ส่วนสำหรับตัวอย่างนี้ แต่เป็นหลักของฉันหลายมิติ อาร์เรย์ ohai CS50, เรากำลังจะทำนิกาย ดังนั้นที่นี่ฉันสามารถเข้าถึง - ถ้าฉันเพียงแค่ให้ argv หมายเลขหนึ่ง - นี้เป็นสิ่งที่ผิด เกิดอะไรขึ้นในแผนภาพนี้ นักเรียนเริ่มต้นที่ศูนย์ เจสัน Hirschhorn: ควร เริ่มต้นด้วยศูนย์ ฉันควรจะยังคงหมุน แต่ ตั้งแต่ผมวาดแล้วมันลงบนผม ไปทิ้งไว้ที่นั่นในขณะนี้ แต่มันเริ่มต้นที่ศูนย์ ที่เหมาะสม ฉันขอโทษถ้านี้มีขนาดเล็ก สามารถบันทึกทุกชนิดที่คุณเห็น ดังนั้นถ้าฉันทำ argv 0 ฉันจะ รับทุก ohai ถ้าฉัน argv 1, ฉันจะได้รับทั้งหมดของ CS50 ถ้าฉัน argv 2 ฉันจะได้รับทั้งหมดของนิกาย แต่ตอนนี้ในขณะที่เรากล่าวว่าสตริง, อาร์เรย์ตัวเอง ดังนั้นสิ่งที่ฉันสามารถทำได้คือผมสามารถเลี้ยงดูนี้ เป็น array หลายมิติและฉัน สามารถทำสิ่งที่ตามสายของ argv 0, 0, ซึ่งจะช่วยให้ฉันเพียงแค่ 0 ตัวอักษร argv 0, 1, ซึ่งจะช่วยให้ฉันเพียงแค่ชั่วโมง argv 1, 3, ซึ่งจะช่วยให้ฉันเพียงแค่ 0 ลงที่นี่ใน CS50 นี้ เพราะสตริงตัวเอง มีอาร์เรย์ที่เรากำลังวาง ที่อยู่ในอาร์เรย์อื่น ขณะนี้เรามีอาร์เรย์ของอาร์เรย์และเรา ดัชนีลงในอาร์เรย์แรกของเราและสามารถ แล้วดัชนีลงในอาร์เรย์ที่สองของเรา และในขณะที่คุณจะคาดหวังเราทำอย่างนั้น โดยเพียงแค่ใส่ทั้งสอง - เราทำวงเล็บเพียง ที่เหมาะสมต่อไปกับอีกคนหนึ่ง ดังนั้นในตัวอย่างนี้ argv 1 CS50 และ argv 1, 2, เหมือนอย่างที่เรากล่าวว่าเป็นเพียง 5 ไม่มีใครมีคำถามเกี่ยวกับเรื่อง อาร์เรย์หลายมิติ? พวกคุณกำลังทำอะไรน่ากลัว หวาน ดังนั้นเราจึงมีโปรแกรมอื่นที่นี่ และนี่คือสิ่งสุดท้ายที่เรา จะทำตอนนี้ ดังนั้นฉันต้องการให้คุณเขียนโปรแกรมว่า ใช้ชื่อเต็มของผู้ใช้และมีเพียงสอง สองอาร์กิวเมนต์บรรทัดคำสั่งและในที่สุด, พิมพ์ออกมาอวยพรให้ ผู้ใช้ที่มีชื่อแรกของพวกเขา ดังนั้นทำไมคุณไม่ใช้เวลาสามหรือสี่ นาทีในการทำเช่นนี้แล้วเราจะไป มันเป็นกลุ่มและ แล้วเราจะห่อขึ้น? และอีกครั้งที่นี่เมื่อเราบอกว่าต้องใช้เวลา ชื่อเต็มของผู้ใช้ต่อคำอธิบาย ปัญหานี้มันควรจะเป็นคำสั่ง อาร์กิวเมนต์บรรทัด, ไม่ได้ใช้รับสาย อ้าง? มาร์คัส นักศึกษาดังนั้นเมื่อคุณพูดสองคำสั่ง อาร์กิวเมนต์บรรทัดคือว่านอกเหนือไปจาก . / วิ่งหรือ - เจสัน Hirschhorn: คำถามที่ดี do รวมทั้ง. / run สาม อาร์กิวเมนต์บรรทัดคำสั่ง หรือรวมทั้ง. / ส่วนบุคคลใน กรณีนี้เพราะที่ ชื่อของแฟ้มนี้ ดังนั้น argc จะสาม แต่ฉันต้องการเพียงสองข้อโต้แย้ง ให้กับโปรแกรม ฉันควรจะระบุว่า ฉันจะทำให้การเปลี่ยนแปลงที่ก่อนที่ผมจะโพสต์ข้อความ เหล่านี้และส่งพวกเขาไปพวกคุณ ลูกศิษย์: ถ้าคุณ มีชื่อกลาง? Hirschhorn JASON: ถ้าคุณมีกลาง ชื่อคุณออกจากโชค ฉันขอโทษ หรือถ้าคุณเพียงไปโดย Shakira, คุณยังออกจากโชค อ้าง? นักศึกษาดังนั้นเมื่อคนไม่ได้ cs50.h พวกเขาไม่กำหนด argv เป็นถ่านดาว argv? มันจะยังคงหรือที่เรียกว่าสตริง argv? เจสัน Hirschhorn: ใช่ ดังนั้นสตริงอีกครั้งเราหน้ากากกว่าสิ่งที่ สิ่งที่เกิดขึ้นมี ที่กำลังจะถูกรื้อออกอาจจะ เมื่อวันพุธ แต่ในไม่ช้า มันเหมือนล้อการฝึกอบรม เพราะเป็นหลักก็ สิ่งเดียวกัน ดังนั้นขอใช้เวลาอีกนาทีในการเขียนโปรแกรม นี้และจากนั้นเราจะไปกว่า มันเป็นกลุ่มแล้ว เช่นฉันกล่าวว่าห่อ และผมคิดว่าพวกเขายังคงลูกอมเสริม ดังนั้นหวังว่าพวกคุณควรใช้ นั้นหรือกรุณาใช้ว่า ขออภัยหากคุณยังคงเขียน แต่ฉันต้องการที่จะดำน้ำในและเรา สามารถจบด้วยกัน ดังนั้นผมจึงได้เขียนใน # include cs50.h, # include stdio.h int main (void), วงเล็บปีกกาหยิก รั้งภายในสามบรรทัด pseudocode ใช้ชื่อเต็มของผู้ใช้ สองและบรรทัดคำสั่งเพียงสองคนเท่านั้น ข้อโต้แย้งที่พิมพ์ออกมาอวยพรให้ ผู้ใช้ที่มีชื่อแรกของพวกเขา ดังนั้นหนึ่งเป็นครั้งแรกที่ใช้ ชื่อเต็มของผู้ใช้ ใครสามารถช่วยฉันใช้ ชื่อเต็มของผู้ใช้หรือไม่ ฉันจะทำส่วนที่? พวกคุณไม่ทำอย่างนั้นส่วนแรก? ใช้ชื่อเต็มของผู้ใช้ ดีที่บรรทัดคำสั่งหนึ่ง อาร์กิวเมนต์สิ่งที่ฉันควรจะเขียน? สิ่งที่ฉันควรเปลี่ยนเกี่ยวกับ การประกาศฟังก์ชันของฉัน ลูกศิษย์: คุณไม่ต้องการ มันจะถือเป็นโมฆะอีกต่อไป เจสัน Hirschhorn: ว่า ฉันไม่ต้องการให้เป็นโมฆะ ฉันจะทำอะไรที่มันต้องการที่จะ? นักเรียน: argc Int เจสัน Hirschhorn: int argc นักเรียน: String argv เจสัน Hirschhorn: String argv นักศึกษายึดตัวยึด เจสัน Hirschhorn: ตัวยึดตัวยึด ที่ตรงขวาและที่ว่า จริงวิธีการที่ฉันจะได้รับ ชื่อเต็มของผู้ใช้ พวกเขากำลังจะวางไว้ในที่มี ดังนั้นหนึ่งที่ทำ ดังนั้นตอนนี้ฉันต้องการสองและมีเพียงสอง อาร์กิวเมนต์บรรทัดคำสั่ง ดังนั้นโนอาห์สิ่งเดียวที่ฉันสามารถเป็น ตรวจสอบจำนวนของคำสั่ง อาร์กิวเมนต์บรรทัดฉันมี? ลูกศิษย์: คุณทำถ้างบ เจสัน Hirschhorn: ถ้า คำสั่งว่า อะไรที่ฉันต้องการเป็นเงื่อนไข? นักเรียน: หาก argc มากกว่า 3 Hirschhorn JASON: หาก argc คือมากกว่า 3 ถ้า argc มากกว่า 3 ผมจะทำอย่างไร นักเรียน: 1 ย้อนกลับ เจสัน Hirschhorn: 1 ย้อนกลับ ที่จะให้ฉันมี สองเพียงสอง? นักเรียน: เลขที่ ถ้า argc มากกว่า 3 และน้อยกว่า 2 Hirschhorn JASON: หาก argc เป็นมากขึ้น กว่า 3 argc และมีค่าน้อยกว่า 2 วิธีหนึ่งที่ฉันสามารถเขียนนี้ในเพียงอะไร หนึ่งบรรทัดหรือไม่มีการใช้ว่า และบูลีนประกอบ? นักเรียน: มันไม่เท่ากับ 2 Hirschhorn JASON: หาก argc ไม่เท่ากับ 2 อย่างแน่นอน ดังนั้นถ้า argc ไม่เท่ากับ 2 ที่ จะให้ฉันโปรแกรมนี้ ส่วนบุคคลเมื่อฉันใช้มันและ ที่จะให้ฉันหลายวิธี อาร์กิวเมนต์บรรทัดคำสั่ง? หลายวิธีที่ฉันจะตรวจสอบ? ขอโทษ ให้ฉัน reword ที่ ถ้า argc = 2, วิธีการหลายสิ่งที่ทำ ผู้ใช้เขียนลงในบรรทัด? นักศึกษาหนึ่ง เจสัน Hirschhorn: เพียงหนึ่ง ดังนั้นก่อนที่คุณพูดถูกโนอาห์ ฉันจะทำอะไรจริงต้องวางมี? นักเรียน: นั่นเท่ากับ 3 เจสัน Hirschhorn: argc ไม่เท่ากับ 3 ไม่ ผมต้องการที่จะเท่ากับ 3 เพราะฉันต้องการ บวกส่วนบุคคลอีกสองคน ดังนั้นถ้า argc ไม่ได้ 3 เท่ากันกลับ 1 ทำไมคุณถึงพูดกลับ 1? นักเรียน: เนื่องจากว่า หมายความว่ามันมีอะไรผิดปกติ เจสัน Hirschhorn: นั่นหมายความว่ามันผิด และนั่นคือสิ่งที่จะทำอย่างไร นักเรียน: Re-แจ้งให้ผู้ใช้ เจสัน Hirschhorn: มันจะเลิก โปรแกรมจึงจะมีการเรียกใช้ อีกครั้ง แต่เราไม่ได้มีอะไร ที่นี่เพื่อขอให้พวกเขาอีกครั้ง ผมไม่ได้ขอว่า เพื่อให้ตรงขวา ย้อนกลับ 1 เพียงแค่สละโปรแกรม ยิ่งใหญ่ และพิมพ์ออกมาอวยพรให้กับผู้ใช้ ที่มีชื่อแรกของพวกเขา ฉันจะทำ? ? แอนนา นักเรียน: Printf เจสัน Hirschhorn: Printf นักเรียน: (" เจสัน Hirschhorn: ( ลูกศิษย์: "สวัสดี เจสัน Hirschhorn: "สวัสดี นักเรียน:% s เจสัน Hirschhorn:% s นักเรียน: N / เจสัน Hirschhorn: N / ลูกศิษย์: " เจสัน Hirschhorn: " นักเรียน: argv เจสัน Hirschhorn: ขอโทษ? นักเรียน: argv เจสัน Hirschhorn: argv ลูกศิษย์: สแควร์วงเล็บ 1 เจสัน Hirschhorn: วงเล็บ Square หรือไม่? นักเรียน: 1 เจสัน Hirschhorn: 1 อัฒภาค): การศึกษา เจสัน Hirschhorn:) อัฒภาค ขอให้เราทำงานนี้ ทำให้ส่วนบุคคล . ส่วนบุคคล / มันก็เลิก มันทำไมเลิก? ลูกศิษย์: คุณไม่ได้ใส่ขัดแย้งใด ๆ เจสัน Hirschhorn: ฉันไม่ได้ ใส่ขัดแย้งใด ๆ ค่ะ ลักษณะที่ดี พวกคุณตอกมัน ดังนั้นอีกครั้งที่คุณเดินเข้าไปใน argv และคุณ การตรวจสอบที่ argc จุดเริ่มต้น เหล่านี้เป็นสองสิ่งที่สำคัญ สิ่งที่ต้องจำ ดังนั้นในนาทีสุดท้ายของเราสองก่อนที่เราจะ ออกจากเราจะไม่ได้รับการ pset สอง แต่ เหมือนที่ผมกล่าวว่าถ้าคุณต้องการที่จะอยู่หลังจากที่ 10 นาทีผมว่าเขาจะมีความสุขที่จะไป ไปด้วยพวกคุณตรรกะ ปัญหาเหล​​่านี้สำหรับการกำหนด เรามีจำนวนมากที่จะครอบคลุมในวันนี้ ดังนั้นผมจึงไม่ได้อยู่กับพวกเขา โดยปกติผมชอบที่จะรวม ที่ในตอนท้าย ดังนั้นหากคุณต้องการที่จะติดรอบ ติดรอบ 10 นาที เราจะทำอย่างนั้น จากนั้นที่ผมกล่าวถึงที่จุดเริ่มต้น pset ศูนย์และหนึ่งเราจะได้รับที่ ข้อเสนอแนะกลับไปที่คุณเป็น เร็วที่สุดเท่าที่เป็นไปได้ เป้าหมายคือการได้รับ pset หนึ่งข้อเสนอแนะ, ส่วนความเห็น, ก่อนที่จะ pset สองเป็นเพราะ ดังนั้นถ้าคุณทำผิดพลาดบางส่วนหรือ stylistically สิ่งที่อาจจะดีกว่า, คุณจะมีข้อมูลที่ให้คุณ จะไม่ทำสิ่งเดียวกันใน pset สอง แล้วในอนาคตคุณจะได้รับทั้งหมด ความคิดเห็น pset และความคิดเห็นของคุณ กลับมาก่อนหนึ่งต่อไปคือเนื่องจาก สุดท้ายหากฉันสามารถวางไว้ในที่อื่น ปลั๊กสำหรับข้อมูล นี้เป็นส่วนแรกของคุณ มันเป็นส่วนแรกของฉัน การเรียนการสอนในปีนี้ ไปที่นั่น เขียนสิ่งที่ดีและไม่ดี และฉันจะใช้มันเพื่อให้ ส่วนที่ดีขึ้นในครั้งต่อไป และสุดท้ายอีกครั้งถ้าคุณต้องการ อะไรแจ้งให้เราทราบ ฉันมีความสุขมากกว่าที่จะช่วยให้พวกคุณ ถ้าคุณเพียงต้องการลูกอมผม จะมีขนมพิเศษ ฉันมีความสุขที่จะนำมาให้คุณ นี้เป็นไปได้แน่นอนที่น่าตื่นตาตื่นใจ นี้เป็นหนึ่งในหากไม่ได้ชื่นชอบของฉัน แน่นอนฉันเอาในชีวิตของฉันทั้งหมด, และผมหวังว่ามันจะเป็นไปได้ว่า ที่ยอดเยี่ยมสำหรับคุณ ดังนั้นผมจึงต้องการที่จะทำทุกอย่างในอำนาจของฉัน ที่จะทำให้มันที่น่ากลัวสำหรับคุณ ฉันจะส่งอีเมลถ้าคุณ ในส่วนหรือโนอาห์ของฉันและ จะพยายามจัดตารางเวลากับแต่ละ พวกคุณถึงเวลาที่จะตรวจสอบในกว่า คู่ต่อไปของสัปดาห์ดังนั้นฉันจะได้รับ ความรู้สึกของสิ่งที่พื้นหลังของคุณเป็น CS, และยังจะช่วยให้ผมปรับแต่งเหล่านี้ ส่วนเพื่อให้เหมาะกับความต้องการของคุณ ดังนั้นนั่นคือสิ่งที่ฉันมีเรียงรายขึ้น อีกครั้งผมจะเห็นคุณออกไปข้างนอก ถ้าคุณต้องการที่จะมี นี่เป็นสัปดาห์ที่สองส่วน ขอบคุณมากครับ