[เล่นเพลง] ALLISON Buchholtz-AU: Hey ทุกคน ขอต้อนรับสู่ครั้งแรกของคุณ ส่วน CS50 อย่างเป็นทางการ ในขณะที่คุณสามารถดูนี้ ส่วน CS50 เหมือนเพียง ที่จะดึงขึ้นวาระการประชุมของเราสำหรับวันนี้ ดังนั้นผู้ที่ฉันเป็นฉันแน่ใจว่า คุณกำลังทั้งหมดสงสัย ผม TF ของคุณ ฉันไม่ได้เป็นเพียงนักเรียนสุ่ม ผู้ที่ปลอมตัวเป็น TF ของคุณ 

และฉันจะผ่านไป ชนิดของมีส่วนจะไหล ความคาดหวังที่เรามี ทรัพยากรอื่น ๆ และอื่น ๆ เรากำลังจะพูดคุยเกี่ยวกับอาร์เรย์ ASCII ฟังก์ชั่นการขัดแย้งบรรทัดคำสั่ง และมันก็ไม่ได้อยู่ที่นี่ แต่ ผมก็จะได้รับการช่วยเหลือ ชนิดที่คุณคิดว่าผ่าน pset ต่อไปของคุณสำหรับสัปดาห์นี้ ซึ่งผมมั่นใจว่าทุกท่านจะได้ชื่นชม 

ดังนั้นคำถามที่แรกข้าพระองค์ นอกจาก TF เจริญงอกงามของคุณที่นี่ ฉันอลิสัน Buchholtz-Au ปีนี้เป็นปีที่สองของฉัน TFing CS50 ฉันยัง TF CS51 ในฤดูใบไม้ผลิ คุณอาจจะเห็นอีกครั้งมี ถ้าคุณตัดสินใจที่จะใช้มัน ฉันยัง PAF ดังนั้น Freshmen-- ใด ๆ และถ้าคุณไม่ได้เป็นนักศึกษา นี้เป็นปีที่สามของฉัน ในฐานะที่เป็นเพื่อนที่ให้คำปรึกษา ฉันมากรอบรู้ใน ให้คำแนะนำแก่คุณในชีวิตและหลักสูตร ภายใน CS และไม่ได้อยู่ใน CS ฉันเป็นวิทยาศาสตร์ Concentrator คอมพิวเตอร์ ฉันอาวุโสในอดัมส์เ​​ฮ้าส์, บ้านที่ดีที่สุด และก่อนที่ผมจะเปลี่ยนไป CS ของฉันนักเรียนปีที่สองฤดูใบไม้ผลิ ผมเป็นจริงวิศวกรชีวการแพทย์ ฉันกำลังจะไปโรงเรียน Med ผมจะเป็นศัลยแพทย์บาดเจ็บ และที่มีอย่างสมบูรณ์ การเปลี่ยนแปลงตั้งแต่ผมเอา CS50 ผมเอาหลักสูตรฤดูใบไม้ร่วงนักเรียนปีที่สองของฉัน มันเป็นบทนำครั้งแรกของฉันไปที่ CS เคย ผมเป็นคนหนึ่ง 78% ของผู้ที่ มีศูนย์ประสบการณ์เข้ามา และมันสมบูรณ์เปลี่ยนชีวิตของฉัน และตอนนี้ฉันทำงานอยู่ที่ ไมโครซอฟท์และ TF ที่น่ารักของคุณ และ CS50 เป็นหนึ่ง ในประสบการณ์ที่ดีที่สุด ที่ฉันได้มีที่นี่ที่ Harvard-- ทั้งการเรียน และความสามารถที่จะช่วยให้ สอนนักเรียนเช่นเดียวกับคุณ 

ดังนั้นผมจึงรู้สึกตื่นเต้นจริงๆ ที่คุณกำลังทั้งหมดที่นี่ ในกรณีที่คุณเดินเข้ามาใน ช่วงปลายมีขนม ซึ่งคุณจะรู้สึก อิสระที่จะมาคว้าหรือส่ง คนอื่นที่จะคว้ามันสำหรับคุณ ก็ OK ฉันไม่ต้องการที่จะกินที่ ห้องของฉันมีช็อคโกแลตพอดังนั้น y'all ควรพยายามและเสร็จสิ้นว่า ฉันรู้ว่ามี 100 ชิ้น, แต่ชอบ, 04:00 ในวันจันทร์ ผมคิดว่าทุกคนสามารถใช้น้ำตาลบางส่วน 

ดังนั้นทุกท่านที่มีความ อย่างเป็นทางการในส่วนของฉัน ควรจะได้รับอีเมล์ จากฉันที่มีหมายเลขโทรศัพท์ของฉัน อีเมล์ address-- รู้สึกฟรีเพื่อเพิ่มฉันใน Gchat รู้สึกอิสระที่จะเพิ่มฉันใน Facebook, และสำหรับส่วนที่เหลือของคุณ, คุณสามารถส่งอีเมลฉันที่นี่ มีสองของเอช ทุกคนเสมอไม่ เหมือนสอง L'หรือสอง C สอง H ในนามสกุล มิฉะนั้นมันจะตีกลับและ ผมไม่ได้จะได้รับอีเมลของคุณ 

ดังนั้นอย่าลังเลที่จะส่งอีเมลถึงฉัน ที่จะติดต่อฉันได้ตลอดเวลา ผมอาจจะไม่ได้รับกลับไป ท่านภายใน 24 นาที แต่ผมสัญญาว่าจะได้รับกลับมา กับคุณภายใน 24 ชั่วโมง ถ้าคุณโทรหาฉันครึ่งชั่วโมงก่อน pset ของคุณเป็นเพราะคุณเป็นเหมือน ฉันมีความคิดสิ่งที่ฉันทำไม่มีแอลลิสัน ช่วยฉันด้วย ฉันจะไปคุณสงบลง แต่ในตอนท้ายของวันที่ ถ้าคุณเรียกผมว่าครึ่งชั่วโมงก่อน pset ของคุณเป็นเพราะไม่มีอะไรเป็นลายลักษณ์อักษร ฉันจะเป็นเหมือนกันอาจจะ ถึงเวลาที่จะใช้วันที่ปลาย ดังนั้นฉันจะตอบสนองต่อการทั้งหมดของคุณ การร้องขอในเวลาที่เหมาะสมมาก โทรศัพท์ของฉันมักจะ ที่ติดอยู่กับมือของฉัน ฉันมักจะตอบสนองมาก เร็วกว่า 24 ชั่วโมง แต่ผมไม่สามารถรับประกัน การตอบสนองตลอด 24 ชั่วโมง 

สิทธิ์ทั้งหมด ดังนั้นทำไมเราที่นี่? นอกจากนี้ถ้าคุณมีคำถามที่ เวลาใด ๆ โปรดแจ้งให้เราทราบ ฉันพูดมาก ฉันพูดคุยอย่างรวดเร็ว แต่โปรด อย่าลังเลที่จะขัดขวางฉัน มันทำให้ฉันหายใจห้องพักเช่นกัน ดังนั้นส่วนที่จะใช้เวลา สำหรับเราจริงๆเพียงแค่การดำน้ำ ในการได้รับบนมือบางประสบการณ์ที่จะ ไปผ่านทางหัวข้อที่เรากล่าวถึง ในชั้นเรียนหรือในวัสดุการศึกษาที่ เราขอแนะนำให้พวกคุณออนไลน์ และเราจะผ่านไปจริง บางส่วนของทรัพยากรเหล่านั้นในบิต 

ดังนั้นบันทึกบางส่วนในการสนับสนุน CS50-- หนึ่งในสิ่งที่ทำให้ มันเป็นหนึ่งในชั้นเรียนที่ชื่นชอบ เป็นความรู้สึกที่คุณไม่เคยอยู่คนเดียว เรามีพนักงานกว่า 100 คนที่อยู่ที่นี่จะช่วยให้คุณ เรามีเวลาทำงาน จันทร์ถึงวันพฤหัสบดี ดังนั้นจึงมีผู้คนจำนวนมากที่ รักการเรียนเพียงเท่าที่ฉันทำ และผู้ที่เป็นจริงที่นี่ เพราะพวกเขาต้องการจะอยู่ที่นี่ พวกเราส่วนใหญ่เป็นนักศึกษาและนี่ เป็นเหมือนชั้นที่ห้าในนอกจากนี้ ส่วนที่เหลือของการทำงานของเรา 

และมันเป็นเรื่องการทำงานมาก แต่ ที่เราทำมันเพราะเรารักมัน และเรารักที่จะสอนคุณ และช่วยแบ่งปันความตื่นเต้นของเรา สำหรับเรื่องนี้และชั้นนี้ ดังนั้นโปรดใช้ประโยชน์ มาพูดคุยกับเรา ฉันได้รับเหงาเมื่อนักเรียนของฉัน ไม่ได้พูดคุยกับฉันดังนั้นถ้าคุณต้องการ มาเที่ยวกับฉัน มันจะดี 

ดังนั้นส่วนที่จะเห็นได้ชัด หนึ่งในสิ่งที่ยิ่งใหญ่ที่สุดของคุณ เราจะไปถึงสิ่งที่ ที่คุณได้เรียนรู้ในการบรรยาย ทำตัวอย่างสั้น ๆ เมื่อเรามีเวลา และโดยทั่วไปชนิดของ ได้รับความคิดเกี่ยวกับสิ่ง คุณควรจะคิด เกี่ยวกับปัญหาของคุณตั้ง Shorts-- ว่าหลายคนจริง ดูวิดีโอของคุณจากรอยขีดข่วน สั้น? ทุกคนรับรู้ได้หรือไม่ ดังนั้นผู้ที่ดีมาก แน่นอนคุณควรจะดูที่ มากในการทำงานได้รับการใส่ลงในพวกเขา และพวกเขากำลังหมายเพียงเพื่อให้ กัดขนาดชิ้นสำหรับคุณเพียงแค่ดู สามหรือสี่นาทีและได้รับ ความเข้าใจที่ดีขึ้นของแนวคิด เดิน throughs-- วิธี หลาย ๆ คนได้ดู เดิน throughs สำหรับคนที่ก่อนหน้านี้? Zamyla เป็นที่น่าตื่นตาตื่นใจใช่มั้ย? เหมือนฉันหวังว่าฉันเป็น Zamyla บางครั้ง ดังนั้นแน่นอนใช้เดิน throughs ของคุณ เธอจะทำลายมันลง ขนาดเล็กกัดขนาดชิ้น และเมื่อคุณมีขนาดใหญ่เหล่านี้ ข้อกำหนดจากชุดปัญหาของคุณ มันจะเป็นสิ่งที่สำคัญจริงๆ เพื่อให้สามารถเพียงแค่หาที่ใดที่หนึ่ง ที่จะเริ่มต้นและการทำงานอย่างช้า ๆ ผ่านมัน 

สิทธิทั้งหมดเรายังมี Study50 ซึ่ง เป็น study50.harvard.edu ผมเชื่อว่า คุณก็สามารถ Google การศึกษาและมันจะเกิดขึ้น นี้เป็นหนึ่งใน ทรัพยากรที่ดีที่สุดที่เรามี มันเป็น PowerPoints กับบันทึก และการปฏิบัติปัญหาสำหรับคุณ กับการแก้ปัญหาที่คุณ จริงสามารถเดินผ่าน ดังนั้นถ้าคุณเคยต้องการการปฏิบัติมากขึ้น มากกว่าที่เราทำในส่วนหรือมากกว่า กว่าชุดปัญหาของคุณนี้เป็น จริงๆที่ผมแนะนำให้คุณไป มันถูกสร้างขึ้นในช่วงฤดู​​ร้อนที่ผ่านมา บางส่วนของเพื่อนที่ดีของฉันจริงๆ และมันก็เป็นที่น่าตื่นตาตื่นใจ ในความเป็นจริงจำนวนมากของภาพนิ่ง ที่ฉันจะใช้มาตรา จะมาจาก Study50 

ดังนั้นจำนวนมาก TFS ใช้มัน และในที่สุดก็เป็นฉัน กล่าวถึงเวลาทำงาน ถ้าคุณกำลังมีปัญหา กับบ้านของคุณ มีปัญหากับ แนวความคิดมาถึงเวลาทำงาน ไปในช่วงต้นสัปดาห์ถ้าคุณสามารถ ได้รับการออกไปยังรูปสี่เหลี่ยม, เพราะมันเป็นชนิดของไกล ไม่มีใครชอบที่จะเดินออกจากที่นั่น แต่มันเป็นเพื่อประโยชน์ของคุณ แล้วเพราะคุณ จะมี TFS ทั้งหมดเหล่านี้ [ไม่ได้ยิน] ล้อมรอบคุณ และโดยเฉพาะอย่างยิ่งในขณะนี้ เพียงปลาย, วันพฤหัสบดี มีความเย็นมากในขณะนี้ใน ท้องเพราะ psets ของคุณ เนื่องจากในวันพฤหัสบดี และรู้ว่าต้องการ ใช้วันที่สายของคุณหรือยัง 

ดังนั้นถ้าคุณกำลังมี ปัญหาเกี่ยวกับแนวความคิด มีจำนวนมากที่ TFS จะมีเพื่อช่วยให้คุณ ดังนั้นออกมาท้องในวันพฤหัสบดีที่ ถ้าคุณต้องการที่จะเห็นฉัน ฉันจะไปอยู่ที่นั่น ฉันมักจะทำบ้านของตัวเอง เพราะไม่มีใครต้องการความช่วยเหลือของฉัน ดังนั้นเรามาดู 

พบเราครึ่งหนึ่ง ดังนั้นวิธีที่หลาย ๆ คนได้เข้าร่วม บรรยายหรือดูมันออนไลน์ได้หรือไม่ กี่คนที่ไป ส่วนสุดสัปดาห์ที่ผ่านมา? เย็น ที่จริงหมายเลขยุติธรรม มีกี่คนที่ได้อ่านของคุณ spec สำหรับในสัปดาห์นี้สำหรับ pset ของคุณ? โอฉันภูมิใจในตัวพวกคุณ! ขนมมากขึ้นสำหรับ y'all 

ที่ดีดังนั้นสิ่งที่เราหมายถึง "พบเราครึ่งหนึ่ง" เป็น ส่วนที่เป็นจริงเท่านั้น จะเป็นซุปเปอร์ประโยชน์กับคุณ ถ้าคุณเข้ามาที่มีการอ่านของคุณ ข้อกำหนดสำหรับ pset ของคุณ เพราะเมื่อฉันไปถึงภาพรวม สิ่งที่คุณควรจะมองหา, มันจะไม่ทำให้ รู้สึกมากเช่นถ้าคุณ ไม่ทราบว่าการตั้งปัญหาของคุณได้ เป็นไปได้ขอให้คุณทำ 

หากคุณไม่ได้มาถึงส่วนที่เห็นได้ชัด ฉันไม่สามารถเป็นไปได้ว่าเป็นประโยชน์กับคุณ ผมไม่ได้จะเอามันเองถ้า คุณไม่ได้มาในส่วนของฉันตอนนี้ แต่แน่นอนคุณควร ถ้าคุณไม่สามารถดูพวกเขาออนไลน์ พวกเขามีเหตุผล ฉันจะอยู่ที่นั่น ที่คุณสังเกตเห็นเรากำลังถูกบันทึกไว้ ดังนั้นจึงจะมีสิทธิสำหรับพวกคุณ รวมทั้งจะไป lectures-- ที่เห็นได้ชัด ที่คุณได้รับ เริ่มต้นของวัสดุของคุณที่นี่ ดังนั้นผมจะพยายามและ ช่วยให้คุณมากที่สุดเท่าที่ฉันสามารถ แต่ฉันเท่านั้นที่สามารถตอบสนองคุณเพื่อให้ห่างไกล คุณมีชนิดของ พบเรามีครึ่งหนึ่ง 

Grading-- ดังนั้นทุกท่าน ที่ได้รับอีเมล์จากฉัน คุณมีส่วนอย่างเป็นทางการของฉัน ฉันจะได้รับการจัดลำดับ psets ของคุณ และฉันก็อยากจะบอกว่าสิ่งหนึ่งที่ คุณควรให้ความสนใจกับ มีการแสดงความคิดเห็น ความคิดเห็นที่มักจะมีประโยชน์มากขึ้น กว่าคะแนนที่เกิดขึ้นจริงเราให้คุณ และแสดงความคิดเห็นเป็นจริง ที่ฉันใช้จ่ายมากเวลาของฉัน เมื่อฉันให้คะแนน ดังนั้นฉันอยากจะขอบคุณ ถ้าคุณอ่าน และพวกเขากำลังจริงวิธีการที่คุณกำลังจะ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการออกแบบและรูปแบบ และสิ่งที่มี ตัดน้อยลงและแห้ง 

ดังนั้นจริงๆให้ความสนใจ ความคิดเห็นที่ หากคุณมีคำถามเกี่ยวกับพวกเขา หรือข้อสงสัยเกี่ยวกับคะแนนของคุณ โปรดมาพูดคุยกับผม ทั้งก่อนส่วน ฉันอาจจะห้อยออก ในล็อบบี้หรือหลังจากนั้น ถ้าคุณต้องการที่จะกำหนดเวลา หนึ่งต่อหนึ่งการประชุมเกี่ยวกับวิธีการ คุณสามารถช่วยปรับปรุงในภายหลัง ชุดปัญหาเพียงแค่แจ้งให้เราทราบ 

และจากนั้นเพียงไม่กี่ เคล็ดลับสำหรับคุณผู้ชาย ดังนั้นหนึ่งในสิ่งที่ใหญ่ที่สุด ฉันมักจะเน้นในส่วนของฉัน เมื่อคุณเรียนรู้วิธีการเป็นรหัส สิ่งที่จะเขียนออกมาบนกระดาษครั้งแรก หากคุณมีเกมวางแผนสำหรับ ซึ่งรหัสของคุณต้องไป และสิ่งที่จะต้อง ทำและมันก็พังลง เป็นบิตเล็ก ๆ ของ pseudocode รหัสที่คุณเขียนออกมา คุณกำลังจะไปน้อย น่าจะทำให้ผิดพลาดทางไวยากรณ์ หรือสร้างห่วงว่า ไม่ได้มีคนอื่น ถ้าคุณรู้ว่าคุณอยู่ จะรวมคุณ โอกาสน้อยที่จะทำเล็ก ๆ เหล่านี้ ความผิดพลาดที่บางครั้งจะนำคุณไป ชั่วโมงในการแก้ไขปัญหาเพราะคุณต้องการ, ที่ฉันหายไปวงเล็บนี้? 

เมื่อทราบว่าโปรดใช้ Style50 โดยเฉพาะอย่างยิ่งเมื่อคุณอยู่ จะไปเวลาทำงาน ถ้ารหัสของคุณทั้งหมด เปลี่ยนไปอีกด้านหนึ่ง มันเป็นนโยบายที่แน่นอน ที่เราสามารถพูดได้ว่าแก้ไขได้ เพื่อให้ดูเหมือนว่า Style50 กล่าวว่า ที่ควรจะเป็นแล้วเราจะช่วยให้คุณ ดังนั้นมันจะทำให้ชีวิตของคุณง่ายขึ้น มันจะทำให้ชีวิตของเราง่ายขึ้น ทุกคนมีความสุข ทุกคนได้รับเกรดที่ดีกว่า ไม่ว่าสิ่งที่เราทุกคนต้องการ? 

ดังนั้นสิ่งที่เขียนออกมาบนกระดาษก่อน คุณเคยสัมผัสเครื่องคอมพิวเตอร์ของคุณ พูดคุยสิ่งที่ออกในระดับสูงและ ให้แน่ใจว่าคุณรู้ว่าคุณกำลังจะ และถ้าคุณไม่แน่ใจ นั่งลงกับใครสักคน และเดินผ่านพวกเขาทีละขั้นตอน สิ่งที่รหัสของคุณควรจะทำ และเก้าครั้งจาก 10 คุณจะ เหมือนโอ้ฉันลืมถ้าเงื่อนไข หรือฉันลืมอัฒภาคที่นี่หรือ ฉันผิดปรับปรุงตัวแปรนี้ ดังนั้นผู้ที่มีเคล็ดลับของการประสบความสำเร็จ 

ดังนั้นตั้งแต่ประมาณครึ่งหนึ่งของคุณดู เหมือนที่คุณเข้าร่วมส่วนซูเปอร์ ฉันแค่จะไปมาก สั้น ๆ ผ่านลูป ซึ่งไม่ได้อยู่ในวาระการประชุมเดิมของเรา แต่พวกเขามีความสำคัญจริงๆ ดังนั้นฉันจะชนิด ของความเร็วผ่านเหล่านั้น ก่อนที่เราจะได้รับในส่วนที่แท้จริงของเรา ก่อนที่ผมจะทำอย่างนั้นจะมี ใด ๆ questions-- logistically, บุคคลจะมี อะไรก็ได้ที่คุณต้องการ ความรู้เกี่ยวกับฉันหรือเกี่ยวกับ ส่วนหรือระดับในทั่วไป? ทั้งหมดที่ดี? ตกลงเย็น น่ารัก 

ดังนั้น loops-- พวกคุณควรจะทั้งหมด รู้จักชิ้นส่วนเหล่านี้จากรอยขีดข่วน ดังนั้นลูปมีพื้นเพียง วิธีที่เราจะทำอะไรบางอย่าง จำนวนครั้งบางซ้ำแล้วซ้ำอีก การดำเนินการขึ้นอยู่กับเงื่อนไขบางอย่าง ดังนั้นเราจึงมีสามประเภทที่แตกต่างกัน เรามีการห่วงในขณะที่และทำในขณะที่ 

ดังนั้นสำหรับ loops-- เราก็มีมาก รูปแบบทั่วไปที่นี่สำหรับห่วง และนี่คือที่ดีสำหรับเมื่อคุณรู้ว่า หลายครั้งสิ่งที่ต้องดำเนินการ เมื่อเราพูดถึง ลูปอื่น ๆ ที่คุณจะ ดูว่าทำไมที่แตกต่างที่สำคัญ แต่สำหรับลูปมีบางสิ่งบางอย่างที่กำหนด คุณรู้ว่าคุณสามารถเป็นได้ทั้ง คำนวณจำนวน หรือคุณรู้จำนวนครั้งที่คุณ อยากให้เรื่องนี้ซ้ำแล้วซ้ำอีกที่จุดเริ่มต้น 

ดังนั้นถ้าคุณดูที่นี่เรา มีเพียงชนิดทั่วไป ของกรอบโครงกระดูก สำหรับการห่วงที่นี่ ดังนั้นสำหรับการเริ่มต้นนี้เป็นที่ ตัวแปรของคุณจะเริ่มต้น กับมาริโอผมว่าพวกคุณทำ สิ่งที่ต้องการ int ฉันเท่ากับ 0 นั่นคือที่ที่จะเกิดขึ้นในสีฟ้า คุณมีสภาพของคุณที่ เป็นสิ่งที่ตรวจสอบทุกครั้ง ถ้าเงื่อนไขนี้เป็นจริงแล้ว ส่วนที่เหลือของดำเนินการรหัส จากนั้นก็จะทำงานเหมือนเดิมและขอให้ และแล้วเรามีการปรับปรุงที่ คุณกำลังปรับปรุงตัวแปรของคุณ ดังนั้นอีกครั้งด้วยเช่น Mario, ฉันแน่ใจว่า พวกคุณทำอะไรบางอย่างเหมือนฉันบวกบวก ดังนั้นทุกครั้งที่วง วิ่งผมได้ปรับปรุงเพื่อ ว่าเมื่อเราได้รับการตรวจสอบกับ สภาพบางส่วนก็มีการเปลี่ยนแปลง 

เพราะถ้าคุณเพียง มีตัวแปรคงที่ หากดำเนินการเป็นครั้งแรกที่มันเป็น แค่ไปที่จะดำเนินการเพียบ ดังนั้นคุณต้องให้แน่ใจว่าคุณ ปรับปรุงตัวแปรของคุณอย่างถูกต้อง และเรายังมีเพียงแค่ แสดงออกถึงการมี ทุกคนที่ดี? สำหรับลูป ควรจะได้เห็นเหล่านี้ใน pset ของคุณ เย็น 

ดังนั้นนี่เป็นเพียงตัวอย่างง่าย พิมพ์นี้เป็น CS50! 10 ครั้ง และเพื่อให้เรามีการเริ่มต้นของเรา ในขณะที่เราเห็นมีมี int ฉัน เท่ากับ 0 สำหรับผมน้อย กว่า 10 และฉันบวกบวก และมันจะพิมพ์ว่า 10 ครั้ง 

ดังนั้นในขณะที่ loops-- ในขณะที่ลูปเป็น เมื่อที่ดีที่คุณไม่จำเป็นต้อง ต้องรู้ว่ากี่ครั้งก็ ไปปรับปรุงในการเริ่มต้น คุณเพียงแค่มีบาง สภาพที่ตรวจสอบ และนี่อาจจะเป็นสิ่งที่ต้องการ while-- ขอนำตัวอย่างจาก pset ของคุณ ถ้ามาริโอที่คุณพยายามที่จะ ใส่จำนวนลบ ใช่มั้ย? คุณควรจะ อีกครั้งแจ้งให้ผู้ใช้ของคุณ เพื่อให้คุณสามารถพูดได้ว่าดีถ้าผู้ใช้ปัจจัยการผลิต สิ่งที่น้อยกว่าศูนย์อีกครั้งพร้อม พวกเขา และฉันแน่ใจว่าที่อาจมี รับสิ่งที่บางส่วนของคุณ ที่ใช้ในรหัสของคุณ 

ดังนั้นจึงเป็นสิ่งที่ง่าย คุณมีในขณะที่บางคน เงื่อนไขที่มีการตรวจสอบ เวลารหัสไปที่จะดำเนินการทุก หากประเมินจริงเราเรียกใช้ มิฉะนั้นเราจะทำไม่ได้ และสิ่งที่เป็นจริง important-- สิ่งที่ฉัน คิดว่าเดวิดพูดคุยเกี่ยวกับ ใน lecture-- มีวงเล็บ สิ่งที่ภายใน การจัดฟันเป็นสิ่งที่ดำเนินการ หากคุณลืมเหล่านั้น การจัดฟันก็เท่านั้นจะ จะเป็นเส้นตรง หลังจากที่ในขณะที่กำลังดำเนินการ 

ดังนั้นถ้าคุณมีสาม สิ่งที่ควร ที่จะเกิดขึ้นเมื่อนี้ ประเมินสภาพจริง และคุณไม่ได้มีการจัดฟันเหล่านั้นเท่านั้น สิ่งแรกที่จะเกิดขึ้น ดังนั้นจะมากรู้ทัน ที่คุณใส่เครื่องมือจัดฟันของคุณ ถ้าคุณติดกับ Style50, นี้แน่นอนจะช่วยให้คุณ เย็น 

ดังนั้นนี่คือการนับถอยหลังจาก 10 ไปอยู่ที่ศูนย์ และที่คุณเห็นที่นี่เราเริ่มต้น เคาน์เตอร์บางส่วนนอกของมัน สิ่งหนึ่งที่แตกต่างกันคือ เราไม่ได้เริ่มต้นตัวแปรของเรา ภายในวงในขณะที่ของเรา มันเริ่มต้นที่ด้านนอกของมัน เราเป็นเพียงแค่การวาง สภาพในขณะที่ของเรา ดังนั้นในกรณีนี้มันเป็นในขณะที่ นับเป็นมากกว่าศูนย์ และเราพิมพ์ออกมาสิ่งที่นับของเราคือ แล้วเราพร่องตัวแปรของเรา และนั่นคือสิ่งที่จะต้องยังสังเกตเห็นอีก การปรับปรุงของเราไม่ได้เกิดขึ้นภายใน ที่ส่วนแรกของวงในขณะที่ มันจริงที่จะเกิดขึ้นภายใน จัดฟัน, ร่างกายของข้อความของคุณ 

ดังนั้นในขณะที่ loops-- ทำในขณะที่ลูป ที่ดีสำหรับการตรวจสอบผู้ใช้ ดังนั้นบางส่วนของคุณอาจมี นอกจากนี้ยังใช้ใน pset ของคุณ คุณสามารถพูดได้ทำเช่น ขอให้ผู้ใช้สำหรับการป้อนข้อมูล แล้วในขณะที่เช่น เข้าน้อยกว่าจำนวนบางส่วน 

ดังนั้นสำหรับกรณีอย่างชัดเจนกับมาริโอมัน จะทำ printf ป้อนจำนวนเต็ม แล้วจำนวนเต็มบางเท่ากับ GetInt และจากนั้นก็จะเป็นจริง รันโค้ดที่เป็นครั้งแรก คุณจริงจะมี การเรียงลำดับของจำนวนเต็มบาง แล้วคุณจะบอกว่าในขณะที่ เลขที่น้อยกว่าศูนย์ ดังนั้นสิ่งที่มันจะทำคือมัน จะดำเนินการอย่างน้อยหนึ่งครั้ง มันจะตรวจสอบสภาพ ถ้าเงื่อนไขเป็น ความจริงก็จะทำงานอีกครั้ง 

เพื่อทำในขณะที่ลูปเป็น ที่ดีสำหรับการตรวจสอบผู้ใช้ เพราะคุณรู้รหัส จะดำเนินการอย่างน้อย ครั้งเดียวในขณะที่มี ในขณะที่ลูป, คุณไม่ได้ รับประกันว่ามันเป็น จะดำเนินการทันที มันจะตรวจสอบสภาพ ก่อนแล้วจึงตัดสินใจที่จะดำเนินการนั้น ในขณะที่ทำในขณะที่จะ รันโค้ดแรก แล้วตรวจสอบเพื่อดูว่า คุณจะต้องทำซ้ำได้ ไม่แตกต่างที่ ทำให้ความรู้สึกที่ทุกคนหรือไม่ ตกลง เย็น 

ดังนั้นในกรณีนี้นี้เป็นชนิด ของสิ่งที่ฉันพูดเกี่ยวกับ นี้อีกครั้งแจ้ง-จนกว่าคุณจะ รับจำนวนบวก ดังนั้นเราจึงรู้ว่า printf "ใส่จำนวนบวก" และที่จริงขอว่า การป้อนข้อมูลที่จะเกิดขึ้นอย่างน้อยหนึ่งครั้ง ถ้าผู้ใช้ที่เป็นความชั่วร้ายและช่วยให้ เข้ามาเป็นจำนวนลบที่ รู้กี่ครั้งก็จะได้ดำเนินการ แต่รหัสนี้มีการรับประกัน ที่จะดำเนินการอย่างน้อยหนึ่งครั้ง และที่ว่าทำไมมันเป็นเรื่องใหญ่ สำหรับการตรวจสอบการป้อนข้อมูล และคุณจะใช้ไม่น้อย 

สิทธิทั้งหมดคำถามใด ๆ เพื่อให้ห่างไกล? เรากำลังดีทั้งหมดหรือไม่ ฉันพูดเร็วเกินไป? เราดีหรือไม่? ตกลง น่ากลัว 

ดังนั้นเราจะไปข้างหน้า และพูดคุยเกี่ยวกับอาร์เรย์ เย็น ดังนั้นอาร์เรย์มีพื้น เพียงแค่โครงสร้างข้อมูล ที่ช่วยให้เราในการจัดเก็บ สิ่งที่เป็นประเภทเดียวกัน ดังนั้นถ้าคุณเคยมีอาร์เรย์มัน เพียงอย่างใดอย่างหนึ่งจะมี ints หรือเป็นเพียงจะมีลอย หรือเป็นเพียงจะมีตัวอักษร คุณไม่ได้จะมี int กับ ถ่านที่มีลอยที่มีคู่ สิ่งหนึ่งที่ อะเรย์เป็นเพียงหนึ่งขนาด หรือพวกเขากำลังเพียงชนิดเดียว 

ดังนั้นที่นี่เรามีอาร์เรย์ของขนาด สามกับสามจำนวนเต็มในนั้น พวกเขาสามารถลอย แต่เรา จะบอกว่าพวกเขากำลัง ints ดังนั้นสิ่งหนึ่งที่ต้องตระหนักคือว่าอาร์เรย์ จะมีขนาดที่ตั้งไว้เมื่อคุณเริ่มต้น พวกเขาและพวกเขาจะไม่ easily-- ตั้งแต่คุณทั้งหมดมีความสะดวกสบายน้อยลง คุณก็ควรจะคิดว่าพวกเขาเป็น ไม่สามารถที่จะขยายขนาด ใหญ่ แต่คุณออก อาร์เรย์ในการเริ่มต้นของคุณ ที่ขนาดมันจะ ที่จะอยู่เพราะอาร์เรย์ เป็นบล็อกอย่างต่อเนื่องของหน่วยความจำ และเมื่อพวกคุณได้รับ เป็นนิด ๆ หน่อย ๆ ของหน่วยความจำที่วางจริงออกมา ดิสก์และในกองและกอง มันจะทำให้ความรู้สึกเล็ก ๆ น้อย ๆ มากขึ้น 

แต่คุณก็จะคิดเช่นนั้น เพียงแถวของพื้นที่บนดิสก์ของคุณ และคุณไม่สามารถรับประกันได้ว่ามี จะเป็นพื้นที่ว่างหลังจากที่มัน คุณสามารถเริ่มต้นอาร์เรย์ สามแล้วบางทีคุณอาจจะ เริ่มต้นอาร์เรย์ของห้าอีก ต่อมาและก็ขวาหลังจากที่ ดังนั้นถ้าคุณมีที่จะไปจุดที่ผ่านมา สามในแถวแรก คุณจะเขียน เหนือสิ่งอื่นใด ดังนั้นอาร์เรย์ are-- สำหรับพวกคุณเพียง คิดว่าพวกเขาเป็นขนาดคงที่ 

ดังนั้นการสร้าง array-- คุณจะ ที่จะต้องทำเช่นนี้ไม่น้อย ดังนั้นในทางเดียวกันกับที่เรามี โครงสร้างทั่วไปของเราสำหรับลูป เรามีความสุขทั่วไป โครงสร้างสำหรับอาร์เรย์ของเรา เพราะพวกเขาเป็นประเภทหนึ่งทั้งหมด องค์ประกอบในอาร์เรย์เป็นประเภทหนึ่ง คุณต้องการที่จะเริ่มต้น ชนิดที่เป็น 

ดังนั้นที่คุณเห็นที่นี่เรามี ความสุขชนิดข้อมูลวงเล็บเล็ก ๆ น้อย ๆ ดังนั้นหากเรากำลังสร้าง int อาร์เรย์ที่จะเป็น int ถ้าเรากำลังสร้างถ่าน อาเรย์มันจะเป็นถ่าน ถ้าเรากำลังสร้างสตริง อาเรย์ก็จะเป็นสตริง แล้วชื่อของอาเรย์ของคุณ สิ่งที่คุณอยากให้มันเป็น ดังนั้นอาจจะเป็นคะแนนการทดสอบหรืออาจจะ เป็นนักเรียนหรืออาจจะเป็นขนม สิ่งที่คุณตัดสินใจที่จะตั้งชื่อของคุณ อาร์เรย์ว่าเป็นสิ่งที่มันจะเป็น 

และจากนั้นในวงเล็บคุณจะ มีขนาดที่คุณต้องการ ดังนั้นการที่เราจัดเก็บ 10 คนหรือ ที่เราจัดเก็บ 15 ชนิดของขนม? สิ่งที่ไม่ ดังนั้นในตัวอย่างของเราที่นี่ เรากำลังสร้างอาร์เรย์ ขนาดสามซึ่งพวกคุณ เห็นที่นี่ในด้านขวา และเมื่อแรกที่เราเริ่มต้น มันทุกอย่างถูกกำหนดเป็นศูนย์ ดังนั้นจึงคิดว่าเพียงแค่ เช่นกระดานชนวนว่างเปล่า เรามีช่องว่างทั้งหมดเหล่านี้เรามีทั้งหมด กล่องเหล่านี้เราสามารถใส่ข้อมูลของเราเข้าไป แต่พวกเขากำลังว่างเพียง ในเวลานั้น 

ดังนั้นหากเราต้องการที่จะเป็นจริง กำหนดให้ค่าเหล่านี้ ที่เราทำเพื่อให้เป็นสิทธิตามที่นี่แสดงให้เห็นว่า เพื่อให้คุณมีสิ่งที่ชื่อของคุณ อาร์เรย์และแล้วสิ่งที่ดัชนีที่คุณต้องการ ดังนั้นดัชนีเพียงหมายถึง, เช่นเดียวกับสิ่งที่ช่องที่เรากำลังมองหาที่ และสิ่งสำคัญที่ต้องแจ้งให้ทราบล่วงหน้า คืออาร์เรย์เป็นศูนย์การจัดทำดัชนี ดังนั้นหากเราต้องการพื้นที่แรกในความทรงจำ ของอาร์เรย์ของเราก็จะเป็นศูนย์ ถ้าเราต้องการที่สองก็จะเป็นหนึ่ง ถ้าเราต้องการที่สามก็จะมีสอง ดังนั้นในวันและอื่น ๆ 

ซึ่งเป็นเหตุผลว่าทำไมอัตภาพ ฉันเมื่อเราทำเพื่อ loops-- แน่ใจว่า คนที่คุณสงสัยว่าทำไม เราจะเริ่มต้นที่ 0 กับ 1? และนั่นก็เป็นเพราะเมื่อเราเปลี่ยน ในการใช้อาร์เรย์มันแผนที่ได้อย่างถูกต้อง ดังนั้นถ้าคุณต้องการที่จะ ย้ำเป็น array มัน ทำให้ความรู้สึกมากขึ้น ฉันจะเท่ากับ 0 เพราะเรา รู้ว่าจะสอดคล้อง ไปที่จุดแรกในความทรงจำ ทุกคนที่ดีกับที่? เย็น 

และจากนั้นในด้านล่างนี้จะเป็นเพียงแค่ วิธีการที่จะเริ่มต้นอาร์เรย์อื่น คุณยังมีของคุณ ชนิดข้อมูลและชื่อ แต่แทนที่จะจริง วางขนาดในนั้น คุณก็สามารถทำวงเล็บที่ว่างเปล่า แล้วกับหยิกเหล่านี้ วงเล็บที่ด้านล่าง คุณก็สามารถป้อนข้อมูลที่ คุณต้องการคั่นด้วยเครื่องหมายจุลภาค และที่จะทำงานโดยอัตโนมัติ บอกว่าตกลงฉันเห็น ว่าคุณมีสาม สิ่งที่อยู่ในวงเล็บเหล่านี้ ดังนั้นฉันรู้ว่าฉันต้องจัดสรรสาม บล็อกของหน่วยความจำและเก็บเหล่านั้น 

ดังนั้นรุ่นแรกที่คุณอาจใช้ ถ้าคุณกำลังขอให้ผู้ใช้ของคุณจะใส่ ค่าเพื่อให้คุณสามารถ ย้ำผ่านอาร์เรย์ และได้รับ ask-- int บางอย่างที่จะใส่พวกเขา ถ้าคุณรู้ค่าก่อน มันทำให้รู้สึกมากขึ้น ที่จะใช้วิธีที่สอง แต่ในกรณีส่วนใหญ่คุณอาจไม่ทราบ สิ่งที่มีค่าที่เป็นไปได้ เย็น ใด ๆ ที่คำถามอื่น ๆ ? ไม่เป็นไร 

ดังนั้นการเข้าถึง elements-- ดังนั้นหนึ่ง ในสิ่งที่ดีเกี่ยวกับอาร์เรย์ คือว่าพวกเขาเป็นแบบสุ่ม การเข้าถึงซึ่งหมายความว่าคุณ ไม่ต้องมองผ่านทุกบล็อก ถ้าคุณรู้ว่าคุณ ต้องการสิ่งที่อยู่ในบล็อกสอง คุณก็สามารถบอกให้ฉันปิดกั้นสอง และที่ว่าทำไมเหล่านี้ ดัชนีมีความสำคัญมาก และนั่นคือวิธีการที่เราเข้าถึงได้จริง ดังนั้นในกรณีนี้อย่างที่เราเห็นเมื่อก่อน เราได้รับการกำหนดค่าในหนึ่ง ก่อนที่เรามีชื่อและที่ ดัชนีที่เราอยากจะเข้าถึงใช่มั้ย? ดังนั้นในทางเดียวกันนั่นคือทั้งหมดที่เรา ทำอย่างไรที่จะดึงข้อมูลจริงที่ออกมา เรามีชื่อและที่เรา มีดัชนีที่เราต้องการ 

ดังนั้นในกรณีนี้สำหรับวง ลงที่นี่ที่ด้านล่างทุกคน รู้ว่าสิ่งที่มันทำ สิ่งที่มันจะพิมพ์ออกมา? mmhmm? เผง เพื่อใช่เป็นเพียงการทำซ้ำผ่าน ฉันมีค่าเท่ากับ zero-- เราสามารถเดิน รหัสผ่านเพียงได้อย่างรวดเร็ว ฉันเท่ากับศูนย์ฉันน้อย กว่าสามที่จุดนี้ใช่มั้ย? เพื่อที่จะตรวจสอบออก และเราบอกว่าตกลงพิมพ์ F สิ่งที่อยู่ในอุณหภูมิฉัน ฉันเป็นศูนย์ที่นี่ตอนแรกที่เรา ย้ำดังนั้นเราจึงไปที่จุดแรกนี้ และเราบอกว่าโอเค 65 จำนวนที่เราต้องการจะพิมพ์ออกมา ดังนั้นมันจะพิมพ์ออกมา 65 แล้วทำบรรทัดใหม่ ฉันจะปรับปรุงเพื่อให้มันพิมพ์ 87 มันปรับปรุงอีกครั้งและมันจะพิมพ์ 30 ทุกคนเย็น? น่ากลัว 

สิทธิ์ทั้งหมด ดังนั้นนี่คือชนิดหนึ่ง สิ่งที่ผมบอกว่า คุณสามารถติดตามของ คะแนนของใครบางคนและทำไม คุณจะใช้ครั้งแรก วิธีการเริ่มต้นมัน แทนวิธีที่สองที่ และนี้ก็ผ่านไป และสังเกตเห็นเรามีขนาดของชั้นเรียนวันที่ 30 และเรากำลังเริ่มต้นนี้ อาร์เรย์ของ ints ที่มีขนาด 30 และจากนั้นเราจะมีการทำซ้ำ ผ่านและเรา ขอให้ผู้ใช้ที่จะใส่ คะแนนสำหรับแต่ละเหล่านี้ แล้วกำหนดให้ สถานที่เฉพาะในหน่วยความจำ ที่ไหนสักแห่งในอาเรย์ที่ เย็น? ไม่ว่าทำให้ความรู้สึกที่ทุกคนหรือไม่ mmhmm? 

ดังนั้น hashtag กำหนดขนาดชั้นเรียน 30 เป็นคำสั่ง preprocessor, ซึ่งก็หมายความว่ามัน gets-- ก็มี ที่จะทำเช่นเดียวกับขั้นตอนการรวบรวม คุณสามารถคิดว่ามัน เป็นตัวแปรทั่วโลก วิธีที่เราทำมันเป็น typically-- จะช่วยให้รหัสของคุณ จะมีการเปลี่ยนแปลงได้ง่ายขึ้น ดังนั้นขอบอกว่าขนาดของชั้นเรียนของเรา ก็ไป 30-15, ถ้าผมไม่ได้กำหนดไว้อย่างนี้ผมจะ ต้องผ่านโปรแกรมทั้งหมดของฉัน และเปลี่ยนตัวอย่างของ 30-15 ทุก แต่กับเรื่องนี้ฉันจะได้รับการเปลี่ยนแปลงอย่างใดอย่างหนึ่ง จุดและทุกอย่างอื่นการเปลี่ยนแปลง 

หากคุณเคยต้องการที่จะทำ กัญชากำหนดในกรณีที่ ที่คุณกำลังติดตามความเคลื่อนไหวของบางอย่าง กำหนดจำนวนของคะแนนสำหรับชั้นเรียน หรือคุณใช้หมายเลข ที่จะใช้เช่น ตลอดโปรแกรมนานมากก็ ดีกว่าที่จะกำหนดว่าที่จุดเริ่มต้น เพื่อที่ว่าถ้าเคยมีการเปลี่ยนแปลงคุณจะได้รับ ที่จะเปลี่ยนจุดหนึ่งแทน 100 ใช่? 

นักเรียนระหว่างการทำที่และเพียงแค่ ประกาศ [ไม่ได้ยิน] เหนือที่ด้านบน 

ALLISON Buchholtz-AU: ดังนั้นมัน จะทำอย่างไรกับ efficient-- มันเป็นชนิดของนอกขอบเขตของ สิ่งที่เราสามารถครอบคลุมในส่วนนี้ มันมีการทำมากขึ้นได้อย่างมีประสิทธิภาพ และวิธีการที่สิ่งที่จริง การทำงานในขั้นตอนการรวบรวม ถ้าคุณต้องการที่จะรู้ว่าจริงๆ เกี่ยวกับเรื่องนี้ผมมีความสุขที่จะส่ง อีเมลที่มีทรัพยากรที่เกี่ยวกับเรื่องนี้ แฮกำหนดมีแนวโน้มที่จะ แนะนำสำหรับสิ่งที่ และเป็นคุณรหัสมากขึ้นคุณ ชนิดของการเรียนรู้แตกต่าง เมื่อคุณควรใช้ ทั่วโลกเมื่อเทียบกับกัญชากำหนด แต่สำหรับขณะนี้ คุณไม่ได้จริงๆมี ที่จะต้องกังวลเกี่ยวกับมัน คำตอบสั้น ๆ ว่า ทุกคนที่ดีกับที่? และถ้าคุณต้องการ ที่จะใช้กัญชากำหนด มันสำคัญมากที่จะแจ้งให้ทราบล่วงหน้า ว่าชื่อควรจะอยู่ในตัวพิมพ์ใหญ่ทั้งหมด เราไม่ได้แค่ทำ ชั้นขนาดที่จะเป็นได้อย่างน่าทึ่ง มันจริงควรจะอยู่ในตัวพิมพ์ใหญ่ทั้งหมด เย็น สิ่งอื่น ๆ ที่มี? เราดีหรือไม่? น่ารัก ยินดีต้อนรับ 

ตกลงดังนั้นฉันต้องการพวกคุณที่จะดู ที่นี้และดูว่าคุณสามารถพบข้อผิดพลาด ผมจะให้คำแนะนำ มันเป็นหนึ่งในที่สำหรับวง mmhmm? 

นักศึกษาควรจะน้อยกว่าเท่ากับ 2 

ALLISON: ดังนั้นมันอาจจะน้อยกว่าหรือ เท่ากับ 2 หรือมันอาจจะน้อยกว่า 3 และสิ่งที่เป็นเหตุผลสำหรับการที่? 

นักเรียน: [ไม่ได้ยิน], 0, 1, 2 

ALLISON: แน่นอน ดังนั้นในอาร์เรย์ขนาด n เรา มีดัชนีของ n ลบ 1 เท่านั้น เย็น และจากนั้นเราจะได้รับบ้าจริงๆ และได้รับอาเรย์หลายมิติ หนึ่งในปัญหาที่เมื่อฉันเอามันในของฉัน ปีที่จำเป็นต้องใช้อาร์เรย์หลายมิติ และฉันคิดว่าหนึ่งในพวกเขาอาจจำเป็นต้องใช้ มันในปีนี้เพื่อให้ความสะดวกสบาย ห่อหัวของรอบได้ในขณะนี้ มันจะกลับมาหลอกหลอน คุณ แต่ในทางที่เย็น เพื่อให้คุณสามารถจริงๆเพียงแค่คิดว่า ของอาร์เรย์หลายมิติ เป็นอาร์เรย์ของอาร์เรย์ เพื่อให้คุณชนิดของสามารถคิดด้านบนนี้ แถวเป็นก้อนแรกของหน่วยความจำ และหนึ่งในนี้คือ ก้อนที่สองของหน่วยความจำ และแถวสุดท้ายคือ ก้อนที่สามของหน่วยความจำ และภายในที่มีอาร์เรย์ แต่แน่นอนมันง่ายขึ้น เพื่อให้เห็นภาพเช่นนี้ 

เพื่อให้คุณเริ่มต้นมันทางเดียวกัน นี้เป็นตัวละคร คณะสามสาม เพื่อให้คุณมีสามแถว และสามคอลัมน์ เรากำลังเป็นตัวแทนของมันด้วยวิธีนี้ และคุณจะเข้าถึงได้ เช่นเดียวกับคอลัมน์โดยแถว และเพื่อให้ 1,1 ที่เราเห็นที่นี่ เรากำหนดศูนย์ศูนย์มีขึ้น 2,0 และ 0,2 ดังนั้นคุณก็จะเข้าถึง them-- ถ้า ใครเคยทำพีชคณิตเชิงเส้น แบบเดียวกับที่คุณเข้าถึงองค์ประกอบใน Matrice มันเป็นความคิดเดียวกันที่นี่ เพื่อให้คุณสามารถเชื่อมโยงกลับไปยังคณิตศาสตร์ คุณไม่ต้องกังวลเกินไป มากเกี่ยวกับเรื่องนี้ได้ในขณะนี้ มันเป็นเรื่องดีที่จะมีการเปิดรับ ที่จะรู้ว่าคุณสามารถทำมัน คุณสามารถสร้างบางส่วน บ้าเลขที่คุณสามารถ สร้างอาร์เรย์บ้า ทั้งหมดที่ฉันจะพูด [ไม่ได้ยิน] จะได้รับบ้าเล็กน้อย แต่มันเจ๋งจริงๆ น่ากลัว 

และจากนั้นก็เพื่อให้เรามีตัวอย่างที่นี่ มันจะคำนวณความยาวสาย ดังนั้นวิธีที่หลาย ๆ คนรู้ว่า สตริงที่คุณกำลังใช้ เพียงแค่อาร์เรย์ของตัวละครมีอะไรบ้าง? ตกลงใช่ ดังนั้นพวกคุณอาจคิดว่าคุณยังไม่ได้ อาร์เรย์ที่ใช้มาก่อน แต่เวลาใด ๆ คุณใช้ GetString ใน ห้องสมุด CSView คุณ จริงเพียงการขอ อาร์เรย์ของตัวอักษร และเรากำลังการดูแลทั้งหมด ว่าในช่วงหลังสิ้นสุดสำหรับคุณ แต่คุณได้ใช้ อาร์เรย์ตั้งแต่คุณเริ่มต้น คุณเพียงแค่ไม่ทราบว่ามันยัง 

และเมื่อใดก็ตามที่คุณมีอาเรย์ตัวละคร หรืออาร์เรย์ที่จัดเก็บสตริง, สิ่งสุดท้ายที่อยู่เสมอว่ามีอะไร ที่เรียกว่าเทอร์มิ null ซึ่ง เป็นสิทธิที่นี่ และนั่นคือในตอนท้ายของ คำที่คุณเก็บทุก ดังนั้นหากเราต้องการที่จะคิดออก ความยาวของสตริงที่เราสามารถพูดได้ว่า ดีที่คุณรู้ว่า เนื้อหาของบล็อกที่ ไม่เท่ากับเทอร์มิ null ของเรา นั่นหมายความว่ามีบาง ตัวละครมีที่เราจริง ดูแลเกี่ยวกับที่เป็นส่วนหนึ่งของคำว่า คุณเพิ่มความยาวของคุณ และจากนั้นเมื่อเราได้รับจริงเพื่อ ในตอนท้ายของคำก็จะยุติ และมันจะกลับมามีความยาวของเราสำหรับเรา mmhmm? 

นักเรียน: ไม่พื้นที่ นับเป็นเทอร์มิ null? ALLISON ดังนั้นพื้นที่เป็น ไม่ได้เทอร์มิ null ดังนั้นถ้าคุณมี multiple-- พื้นที่ เป็นจริงค่า ASCII ที่เฉพาะเจาะจง นักเรียน: มีอะไร ตกใจเท่ากันอีกครั้งหรือไม่ ALLISON: ดังนั้นนี่คือสิ่งที่คุณอ้างถึง ถ้าคุณเคยได้ยินฉันในเวลาทำงาน ฉันมักจะเรียกว่าเหมือนปังเท่ากับ ดังนั้นปังไม่ได้ ดังนั้นนี้ไม่เท่ากับ ดังนั้นถ้าคุณกำลังพยายามที่จะ ดูว่าสิ่งที่เป็นเท็จ คุณรู้ว่ามักจะทำบางสิ่ง ตัวแปรและถ้ามันเป็นเท็จ มันประเมินที่แท้จริงและคุณ สามารถทำสิ่งดีๆกับที่ เพิ่มเติมว่าภายหลัง เย็น ทุกสิ่งที่ดีมี? น่ากลัว 

ดังนั้นตอนนี้ก็ถึงเวลาที่พวกคุณจะ ทำงานตั้งแต่ฉันได้รับการพูดคุย ดังนั้นฉันต้องการให้คุณเพียงแค่สร้างอาร์เรย์ กับจำนวนเต็มหนึ่งสองและสาม แล้วมีพวกเขาพิมพ์ออกมา คุณไม่จำเป็นต้องที่จะทำเช่น หลัก blah, blah blah, สิ่งที่ ผมแค่อยากให้คุณเริ่มต้น อาร์เรย์แล้วสร้าง สำหรับวงที่จะพิมพ์พวกเขาแทนดู หรือห่วงในขณะที่ขึ้นอยู่กับคุณ 

ฉันจะให้คุณทั้งคู่ นาทีในการทำงานเกี่ยวกับการที่ ฉันจะเหลือเสียงของฉัน หากคุณมีคำถามใด ๆ ที่ฉันมีความสุข ที่จะมารอบ ๆ และพูดคุยกับพวกคุณ อย่าลังเลที่จะพูดคุยกับคนอื่น ๆ รับขนมอื่น ๆ อีกมากมาย ในความเป็นจริงฉันจะเพียงแค่ เดินไปรอบ ๆ กับขนม วิธีที่? 

คุณต้องการที่ใด? คนอื่น ๆ ในห้องนี้ต้องการขนม? นอกจากนี้คุณยังสามารถใช้มากกว่าหนึ่งคน ใช้เวลาไม่กี่คนถ้าคุณต้องการ อาจรวมทั้ง คนอื่น ๆ ที่ดี? ตกลง 

นอกจากนี้ฉันจะสร้าง Google แบบไม่ระบุชื่อ และพวกคุณก็สามารถส่ง ความคิดเห็นหลังจากที่ทุกส่วน ถ้ามีสิ่งที่คุณต้องการ ปรับปรุงหรือสิ่งที่คุณต้องการทำ ถ้าฉันเพียงเล็กน้อยเร็วเกินไป สำหรับคุณฉันสามารถเสียงมันลง ฉันจะสร้างและส่งที่ ออกมาให้คุณทั้งหมดหลังจากนั้น 

สิทธิ์ทั้งหมด จึงขอเริ่มต้นเล็ก ๆ วิธีการที่เราจะเริ่มต้นอาร์เรย์ของเราหรือไม่ อะไรประเภทของอาเรย์ของเราได้หรือไม่? int ใช่มั้ย? ตกลงดังนั้นสิ่งที่คุณต้องการ ที่จะเรียกแถวของคุณ? อาร์เรย์ int เย็น สิทธิทั้งหมดเพื่อให้เรามีอาร์เรย์ int int เท่ากับและสิ่งที่เรามีหลังจากที่? นักเรียน: [ไม่ได้ยิน] วงเล็บ ALLISON: จัดฟัน และจากนั้นในการจัดฟันหรือไม่ หนึ่งจุลภาคสองสามจุลภาค เย็น นั่นคือทั้งหมดที่ด้านขวา ดังนั้นตอนนี้เรามีของเราห่วง ดังนั้นในส่วนแรกของเรา สำหรับห่วงสิ่งที่เรามี? 

นักเรียน: ฉันเท่ากับ 0? 

ALLISON: int ดังนั้นฉันเท่ากับ 0 และแล้วสิ่งที่เป็นเงื่อนไขของเราหรือไม่ สิ่งที่ฉันจะเป็นน้อยกว่า? น้อยกว่าสามและ วิธีการที่เราทำเราปรับปรุง i? ฉันบวกบวกปรับปรุงโดยหนึ่ง และจากนั้นเราจะมี printf บางส่วนของจำนวนเต็ม, และสิ่งที่เป็นที่สุดท้าย ส่วนหนึ่งที่เป็นจริง จะบอกว่าสิ่งที่เราควรจะได้รับการพิมพ์? มันจะเป็นชื่อของ อาเรย์ซึ่งเป็นอาเรย์ int ใช่มั้ย? และสิ่งที่อยู่ในวงเล็บของอาร์เรย์ int? ฉัน [? ดังนั้นผม?] เรียกว่าของฉัน เช่น แต่มีคุณไป ไม่ใช่ว่าไม่ดี ทุกคนที่ดี? เย็น 

ดังนั้นเรากำลังทำกับอาร์เรย์ ขอแสดงความยินดี คุณมีการจัดการเพื่อย้ำ ผ่านทุกยกกำลังใช่? 

นักเรียน: [ไม่ได้ยิน] 

ALLISON: ใช่ 

นักเรียน: ฉันมีคำถาม คุณควรจะเยื้องจัดฟันหรือไม่ 

ALLISON ดังนั้นการจัดฟันควรเข้าแถว ที่มีการห่วงและแล้วทุกอย่าง ภายในเครื่องหมายวงเล็บควรจะเยื้อง 

นักเรียน: ตกลงควร สำหรับวงที่จะเยื้อง? 

ALLISON: ห่วงไม่ได้ จะต้องมีการเยื้องที่จุดนี้ ถ้าคุณอยู่ในหลักถ้าเรา จริงมีหน้าที่หลักที่นี่ มันจะเยื้องจากหลัก แต่ในกรณีนี้ก็ปรับ ใช่คำถาม 

นักเรียน: คุณจำเป็นต้องมี วงเล็บหลังเช่น? 

ALLISON: ใช่ถ้าคุณ การเริ่มต้นมันเป็นแบบนั้น ดังนั้นจำนี้เป็นครั้งที่สอง วิธีการเริ่มต้นอาร์เรย์ที่ เรามีเครื่องมือจัดฟันแล้วของเราที่เกิดขึ้นจริง ข้อมูลที่คั่นด้วยเครื่องหมายจุลภาคภายใน 

นักเรียน: ผมคิดว่ามี วงเล็บตัวอย่างเช่นว่า 

ALLISON: ไม่มีพวกเขากำลังจัดฟัน พวกเขากำลังจัดฟัน หากคุณเริ่มต้นมัน วิธีที่สองนั้นก็จัดฟัน ถ้าเราจะบอกว่าถ้ายกตัวอย่าง int เราแค่อยากอาร์เรย์ที่ว่างเปล่าสำหรับ ints, มันจะเป็นตัวอย่าง int วงเล็บสาม วงเล็บแทนขนาด เมื่อคุณมีวงเล็บ มันเป็นข้อมูลที่เกิดขึ้นจริง คุณใส่ลงไปในทางนี้ เราสามารถเลื่อนกลับอย่างรวดเร็วจริงๆ 

ดังนั้นในหนึ่งนี้เป็นเพียงของเรา อาร์เรย์เริ่มต้นการเริ่มต้น และที่นี่เราเป็นรายบุคคล การกำหนดจุดให้กับพวกเขา ดังนั้นนี้เป็นดัชนีของเรา อาเรย์ซึ่งเป็นเหตุผลที่เรามีวงเล็บ แต่ที่นี่ถ้าคุณสังเกตเห็นเราได้ ซ้ายวงเล็บของเราโดยไม่ต้องขนาด, และเราเริ่มต้นด้วย ข้อมูลจริงทั้งหมดในหนึ่งเดียวกับการจัดฟัน นักเรียนดังนั้นทำไมเราไม่ได้ วงเล็บในตัวอย่างนี้? ALLISON: ดังนั้นในซึ่งเป็นส่วนหนึ่ง? นักเรียน: เราจะไม่ พูดตัวอย่างเช่น int วงเล็บ เท่ากับวงเล็บ [ไม่ได้ยิน] วงเล็บตัวอย่างเช่น 

ALLISON: โอ้ขอโทษ คุณขวา เราจะต้องมีวงเล็บ พวกขออภัยไม่ดีของฉัน ใช่คุณควรจะมี หลังจากวงเล็บตัวอย่างเช่น คุณขวาอย่างแน่นอน 

นักเรียน: [ไม่ได้ยิน] ไม่ได้ทำมัน 

ALLISON: ไม่, คุณต้องมี วงเล็บเพราะมิฉะนั้นมัน จะไม่ประกาศอาร์เรย์ นักเรียน: [ไม่ได้ยิน] ขออภัยเกี่ยวกับที่ 

ALLISON: ขออภัยที่คุณต้องการ หลังจากวงเล็บตัวอย่างเช่น สะกดผิด จับดี, ดาวสีทองสำหรับคุณ นอกจากนี้ถ้าคุณกำลังถามคำถามถ้า พวกคุณก็จะบอกชื่อของคุณ ฉันชอบที่ว่า ฉันชอบที่จะมีความสามารถที่จะ ทราบชื่อของคุณ ฉันจะไม่เย็น โทรหาคุณฉันจริง ไม่เพียงแค่ต้องการทราบชื่อของคุณ ดังนั้นโปรดจริงบอกชื่อของคุณ 

LEAH: ลีอาห์ 

ALLISON: ลีอาห์ ตกลงดังนั้น functions-- ฉันรู้ว่าในช่วงสั้น ๆ พวกเขาพูดคุยเกี่ยวกับเรื่องนี้ในระหว่างการบรรยาย ดังนั้นฟังก์ชั่นเป็นชนิดของเพียง เหมือนสิ่งเหล่านี้กัดขนาดเล็ก ๆ น้อย ๆ ที่คุณผ่านในปัจจัยการผลิตบางสิ่งบางอย่าง มหัศจรรย์เกิดขึ้นและคุณจะได้รับผล เย็น เพื่อให้คุณได้ใช้จริง จำนวนมากเหล่านี้แล้ว ได้รับ int, รับสาย, พิมพ์ F เหล่านี้เป็นฟังก์ชั่นทั้งหมด ที่คุณก็เรียกพวกเขา มีจำนวนมากของสิ่งที่วิเศษ ที่เกิดขึ้นในพื้นหลัง ที่คุณไม่จำเป็นต้องเห็น และคุณจะได้รับสิ่งที่คุณต้องการ หรืออย่างน้อยคุณจะได้รับ สิ่งที่คุณหวังที่คุณต้องการ 

และโดยทั่วไปจุดของฟังก์ชั่น, และเป็นหนึ่งในรูปแบบหลักของ CS, คือการแบ่งรหัสของคุณ เป็นชิ้นที่สามารถจัดการได้ เมื่อคุณเริ่มต้นการเขียน โปรแกรมนานจริงๆเหล่านี้ หรือรอยขีดข่วนเมื่อคุณมี ความคิดที่ยิ่งใหญ่สำหรับเกม คุณจะต้องสามารถที่จะทำลายมัน ลงไปเช่นตกลงฉันจะเริ่มต้นอย่างไร สิ่งที่เป็นชิ้นเล็ก ๆ ที่ฉันต้องมีอะไรบ้าง โอ้ฉันต้องถาม ผู้ใช้บางสิ่งบางอย่าง ตอนนี้ผมต้องพิมพ์อะไรบางอย่าง โอ้ฉันต้องคำนวณค่านี้ 

และเรียนรู้วิธีที่จะทำให้คุณ รหัสและปัญหาใหญ่ที่คุณ มีเป็นชิ้นเล็ก ๆ เหล่านี้ และการสร้างฟังก์ชั่น เป็นจริงหนึ่งใน เสาขนาดใหญ่ของลูกค้า เพื่อให้คุณสามารถคิดของการทำงานเช่นเดียวกับ เหมือนกล่องดำกล่องสีดำวิเศษ ที่คุณใส่สิ่งที่เป็น และคุณจะได้รับการส่งออกบางส่วน และส่วนที่เหลือของโปรแกรม ไม่จำเป็นต้องจำเ​​ป็นต้องรู้ สิ่งที่เกิดขึ้นภายในกล่องสีดำที่ ทั้งหมดก็ให้ความสำคัญกับสิ่งที่เป็น ไปในและสิ่งที่ออกมา เย็น 

ดังนั้นทำไมฟังก์ชั่น? Organization-- ที่ผมกล่าวว่าเมื่อคุณอยู่ จัดการกับฐานรหัสขนาดใหญ่มาก วิธีการที่คุณจัดระเบียบรหัสของคุณจะ ง่ายมากหากคุณใช้ฟังก์ชั่น เพราะคุณจะสามารถ จะเป็นเหมือนตกลงนี้ คือสิ่งที่ฟังก์ชั่นนี้ไม่และ นี่คือสิ่งที่อีกคนหนึ่งไม่ และคุณสามารถดู วิธีที่พวกเขาทั้งหมดเข้าด้วยกัน ดังนั้นทำลายมันได้เป็นทั้งหมด subparts จัดการเหล่านี้ 

ดังนั้น simplification-- ฉันแน่ใจว่าพวกคุณ ทุกคนเห็นนี้ที่ผมพูดพร้อมกับรอยขีดข่วน คุณมีความคิดที่ยิ่งใหญ่นี้และ คุณชอบวิธีการทำงานทั้งหมดนี้หรือไม่? แต่ถ้าคุณเข้าใกล้มัน ชิ้นคุณจะพูดว่าตกลง ฉันจะทำให้หนึ่งผีสาง ลอยผ่านหน้าจอ? นั่นเป็นนิด ๆ หน่อย ๆ ได้ง่ายขึ้น ดังนั้นการใช้งานที่ดีของการทำให้ฟังก์ชั่น รหัสของคุณง่ายมากที่จะอ่าน มันทำให้ง่ายต่อการแก้ปัญหาที่เป็น คุณได้รับในชุดปัญหาในภายหลัง คุณกำลังจะไปจริงๆ ต้องการที่จะสามารถที่จะทำ และพวกเขากำลังยังง่าย ในการออกแบบและดำเนินการ คุณสามารถรหัสขนาดเล็ก ทำงานค่อนข้างเร็ว และให้แน่ใจว่าการทำงานกับการพยายาม การสร้างโปรแกรมยาวทั้งหมดนี้ แล้วชนิดของผ่านไปและ ดูสิ่งที่ทำงานและสิ่งที่ไม่ 

และจากนั้นก็สามารถนำมาใช้ ดังนั้นการทำงานจะต้อง ที่จะเขียนครั้งเดียว แล้วคุณสามารถใช้พวกเขา หลาย ๆ ครั้งตามที่เป็นไปได้ ดังนั้นจึงเป็นเช่นเป็นมิตรกับสิ่งแวดล้อมในความรู้สึก ถ้าคุณมีสิ่งที่ต้องการ พิมพ์ F ที่คุณ มีการเขียนออกมายากลที่จะไป ที่อยู่เบื้องหลังการพิมพ์ F ทุกครั้งเดียว คุณต้องการที่จะพิมพ์สิ่งที่คุณ จะสวยป่วยและเหนื่อยของมัน ในตอนท้าย 

หนึ่งในสิ่งที่คุณจะ ได้เรียนรู้ในชั้นเรียนในภายหลัง CS, หรือหนึ่งในที่ดีที่สุด ชิ้นส่วนของคำแนะนำที่ฉันได้รับ คือถ้าคุณกำลังคัดลอกและวาง รหัสมันอาจจะเป็นฟังก์ชั่น หากคุณมีเดียวกันแน่นอน ทุกสายตลอดทั้งรหัสของคุณ ถ้าคุณเอาเรื่องพวกเขาออก รหัสของคุณก็คง จะเป็นเหมือนครั้งที่ห้าสั้น และจะมากขึ้นง่ายต่อการอ่าน และแทนที่จะพยายามที่จะแก้ไขปัญหา ทุกสถานที่ที่แตกต่างกันเหล่านี้สิ่งที่ อาจจะผิดไปคุณจะมีฟังก์ชั่นหนึ่ง ที่คุณจะได้รับการแก้ไขปัญหา และผมสัญญาจำนวนมากนี้ อาจจะดูชนิดของนามธรรมในขณะนี้ แต่ในฐานะที่คุณได้รับในภายหลัง และปัญหาในภายหลังกำหนด, มันจะทำให้ความรู้สึกมากขึ้น และจริงๆจะขับรถกลับบ้าน จะมีคำถามใด ๆ เกี่ยวกับฟังก์ชั่นเพื่อให้ห่างไกล? ทำไมเรากำลังใช้พวกเขา? ฉันรู้ว่าเรายังไม่ได้อากาศ เข้า nitty ทรายยัง ดังนั้นการกำหนดฟังก์ชันเช่นเดียว อาร์เรย์เราต้องเรียงลำดับเเล้นี้บาง เป็นเพียงการส่งออกทั่วไป ดังนั้นนี่คือฟังก์ชั่นที่ แค่ไปใส่ก้อนบาง และในหน้าถัดไปที่จริงเรามี ทุกสิ่งเล็ก ๆ น้อย ๆ เหล่านี้น่ากลัวที่นี่ ดังนั้นทุกคนสามารถอ่าน ที่ออกมาจากความอยากรู้อยากเห็น? ฉันรู้ว่าสีม่วงและสีดำ อาจจะเป็นเพียงเล็กน้อยยาก 

แต่สิ่งที่ใหญ่เพื่อ know-- เพื่อครั้งแรก หนึ่งที่เหมาะสมที่นี่เป็นประเภทกลับของเรา ดังนั้นนี่คือการพูดคุยเกี่ยวกับการส่งออก ฟังก์ชั่นนี้เมื่อในกรณีนี้ เราใส่ในจำนวนบางสิ่งที่เรากำลัง รับเป็นที่คีบจำนวน ดังนั้นมันควรจะเป็น int ในกรณีนี้ บางทีมันจะเป็นคู่หรือ อย่างอื่นในภายหลัง แต่ในกรณีนี้ มัน int 

ด้วย C คุณมักจะต้องพิมพ์กลับ มันจะเป็น int มันจะลอย มันจะเป็นคู่ แต่คุณต้องระบุสิ่งที่ ฟังก์ชั่นนี้จะกลับมา มิฉะนั้นจะตะโกนใส่หน้า คุณและมันจะไม่ได้รวบรวม คุณจะต้องเสียใจและฉันจะต้องเสียใจ และเป็นเพียงไม่ดี ตกลง 

แล้วเรามีชื่อฟังก์ชั่นของเรา และในขณะที่คุณสามารถดูที่นี่ด้วยค มีกระบวนทัศน์ที่สอดคล้องกันอย่างนี้ สิ่งที่ชนิดของคุณชื่ออะไร, แล้วบางสิ่งอื่น ๆ ในตอนท้าย ดังนั้นเราจึงมีชนิดกลับของเรา ชื่อฟังก์ชันของเราแล้ว เรามีส่วนหัวของเราด้วย รายการพารามิเตอร์ของเรา 

ดังนั้นรายการพารามิเตอร์เป็นสิ่งที่เป็น ฟังก์ชันนี้จะใช้มีอะไรบ้าง? รายการพารามิเตอร์เป็นเพียง คำพ้องความหมายสำหรับสิ่งที่ปัจจัยการผลิตของเรามีอะไรบ้าง และในลักษณะเดียวกับที่เรา ต้องกำหนดฟังก์ชั่นของเรา และให้มันกลับมา พิมพ์แต่ละของปัจจัยการผลิตของเรา ต้องมีชนิดที่เกี่ยวข้องกับมัน ดังนั้นเราจึงรู้ว่าสิ่งที่ฟังก์ชั่นของเรา จริงสามารถทำงานร่วมกับ 

ดังนั้นในกรณีนี้เรามีการป้อนข้อมูล int บาง ดังนั้นอีกครั้งมันจะเป็นชนิด และสิ่งที่คุณเรียกมันว่า แล้วที่คุณเห็น ที่นี่เรามีร่างกายของเรา ดังนั้นเราจึงมีการส่งออก int บางอย่างที่ เป็นเพียงครั้งการป้อนข้อมูลของเราเอง เวลาตัวเองซึ่งเพียงแค่ก้อนมัน และจากนั้นเรากลับเอาท์พุทที่ 

ดังนั้นในขณะที่คุณดูที่นี่เรามี int ครั้งครั้ง int int, เพื่อให้มันกลับ int ซึ่ง ได้รับการประกาศมี เพื่อให้ทุกอย่างเหนียว มีความสุขทุกอย่าง การทำงานของคุณจะทำงาน และนี่เป็นเพียงสิ่งที่ทั่วไป ดังนั้นมักจะมีชนิดกลับ ชื่อและรายการพารามิเตอร์ของคุณ สิ่งที่อยู่ในแต่ละคนของคุณ รายการพารามิเตอร์หรือการป้อนข้อมูล ต้องมีชนิดที่เกี่ยวข้องกับมัน แล้วคุณมีของคุณ ร่างกายที่นี่กับสิ่งที่ คุณต้องการจะทำอย่างไรกับการป้อนข้อมูลของคุณ 

แล้วเห็นได้ชัดว่าคุณ ต้องการที่จะกลับไปบางสิ่งบางอย่าง บางครั้งการทำงานก็จะกลับมา พวกเขาไม่จริงกลับ บางสิ่งบางอย่างเพื่อให้คุณใช้ แต่คุณต้องกลับมาในทางใดทางหนึ่ง และเมื่อคุณกำลังทำ ฟังก์ชั่นของคุณเอง เราสามารถรับเป็นที่ลึกลงไปเล็ก ๆ น้อย ๆ ส่วนตัวถ้าคุณต้องการมีจำนวนมาก สิ่งที่แตกต่างที่คุณสามารถทำที่นั่น ทุกคนที่ดี? แต่อะไรก็ตามที่อยู่ในรายชื่อที่คุณต้องการให้ฉันนี้ ไปกว่าที่คุณไม่เข้าใจ? ทุกคนเป็นสิ่งที่ดีที่นั่น? เย็น น่ากลัว 

ตกลงดังนั้นเราวาง ทั้งหมดเข้าด้วยกันในตอนนี้ ดังนั้นเราจึงมีบางอย่างที่ใส่ก้อน int ดังนั้น นี้เป็นโปรแกรมที่สมบูรณ์ที่นี่ จนถึงตอนนี้ฉันได้ ชนิดของการให้คุณ ตัวอย่างคนที่อาจ จะไปภายในโปรแกรม เราได้รับเพียงแค่มองไปที่ฟังก์ชั่น แต่นี่คือโปรแกรมทั้งหมด ดังนั้นวิธีที่หลายท่านจำ ต้นแบบคำจากการบรรยาย? เย็น เรามีหนึ่ง คุณชื่ออะไร? 

สเตฟานี: สเตฟานี 

ALLISON: สเตฟานี? ตกลงที่น่ากลัว ดังนั้นคุณจะจำสิ่งที่ต้นแบบคืออะไร? 

นักเรียน: คุณจะพูดว่า [ไม่ได้ยิน] ก่อนที่คุณจะจัดการกับมันจริง 

ALLISON: คุณจำได้ว่าทำไม? 

นักเรียนเลขที่ 

ALLISON: OK ดาวสีทอง ดังนั้นใช่ต้นแบบที่เรามี ก่อนเพราะมิฉะนั้น, คอมไพเลอร์ของเราเป็นไปตะโกนใส่เรา มันจะบอกว่าโอเค สิ่งที่เป็นฟังก์ชั่นก้อนนี้หรือไม่? เช่นเดียวกับคุณอย่างแท้จริงได้ บอกอะไรเกี่ยวกับเรื่องนี้ มันเหมือนกับเมื่อคุณ เดินเข้าไปในห้องเรียน, และคนที่ชอบ มีแบบทดสอบวันนี้ และคุณต้องการคุณ ไม่เคยบอกผมเกี่ยวกับเรื่องนี้ ฉันไม่ได้มีความสุขกับเรา ต้นแบบเป็นพื้นเช่น หลักสูตรคำพูดของคุณดู หัวขึ้น มีจะเป็นแบบทดสอบในวันนี้ ไม่ประหลาดออกเมื่อคุณได้รับมัน คุณกำลังจะได้รับการปรับ 

ดังนั้นสิ่งที่ต้นแบบไม่สามารถบอกได้ หลักผมจะใช้ฟังก์ชันนี้ ฉันสัญญาว่าฉันจะกำหนดในภายหลัง ไม่ประหลาดออกมาที่ฉัน เพียงแค่รวบรวมและทำในสิ่งที่ผมบอกคุณไป ดังนั้นเราจึงมีต้นแบบมี เพียงเพื่อให้คอมไพเลอร์ของเรามีความสุข และมันเป็นพื้นสัญญาว่า คุณได้กำหนดฟังก์ชั่นนี้ในภายหลัง และการที่คุณจะไม่เพียงแค่การเรียก สิ่งที่สุ่มนี้ว่า ไม่ทราบว่าสิ่งที่คุณกำลัง จะต้องทำ 

ดังนั้นในกรณีนี้เรามีหลักที่นี่ เราเริ่มต้นบางจำนวนเต็ม x นั่นเป็นสอง เรากำลังจะพิมพ์ออกมาเป็นสิ่งที่ x เรากำลังจะไป Cube x ในขณะที่คุณเห็นเรามีของเรา ประกาศฟังก์ชัน ลงที่นี่ที่เรา พูดคุยเกี่ยวกับก่อนหน้านี้ มันจะ Cube x แล้วถ้าเรา จำได้ว่าฟังก์ชั่นก้อนจริง กลับไปยังจำนวนเต็ม เราซึ่งจะถูกเก็บไว้ ใน x อีกครั้งเพื่อให้เราสามารถพิมพ์ ออกแปดหรือลูกบาศก์ x ได้ในขณะนี้ ไม่ว่าทำให้ความรู้สึกที่ทุกคนหรือไม่ เราดีหรือไม่? สิทธิ์ทั้งหมด น่ากลัว 

สิทธิ์ทั้งหมด วิธีการหลายของพวกคุณ จำนี้ดังนั้นนี้ เป็นเพียงของคุณ สแต็คและกองของคุณ เพียงแค่ภาพของ หน่วยความจำจะถูกเก็บไว้ที่นี่ ดังนั้นเราเพียงแค่ต้องการที่จะทำให้ แน่ใจว่าคุณเข้าใจ วิธีการเหล่านี้จะแสดงในหน่วยความจำ ถ้าคุณใช้เวลาเรียนเช่น CS61 และสิ่งต่อมา คุณจะได้รับการเรียนรู้นี้ไกลมากขึ้น ในเชิงลึกและก็เย็นจริงๆ ฉันขอแนะนำว่า แต่ตอนนี้ฉันจะให้ คุณภาพรวมกว้าง ดังนั้นคุณจึงไม่ต้อง รู้ nitty ทราย 

ดังนั้นด้านบนเพียงส่วนข้อความที่ มีศูนย์ที่เกิดขึ้นจริงและคนที่ ไบนารีที่ และนี้จะใช้สำหรับการจัดเก็บ ตัวแปรทั่วโลกถ้าคุณมีใด ๆ ขณะที่คุณเลื่อนลงเรา ได้ตามที่คุณเห็นที่นี่ ข้อมูลเริ่มต้นเตรียม ข้อมูลแล้วกอง 

ดังนั้นเราจึงไม่ได้คุยจริงๆ เกี่ยวกับกองในขณะนี้ เราจะได้รับในภายหลัง สำหรับตอนนี้ฉันแค่จะไป คลื่นมือของฉันและเป็นเหมือน คุณไม่จำเป็นต้องรู้เกี่ยวกับเรื่องนี้ในตอนนี้ แต่เราจะพูดคุยเล็ก ๆ น้อย ๆ บิตเกี่ยวกับสแต็ค ดังนั้นกองเป็น where-- เรามีซูมเข้า นี้เป็นจริงวิธีการที่โปรแกรม เราเพียงแค่มองที่เกิดขึ้นในหน่วยความจำ 

ดังนั้นสิ่งที่เกิดขึ้นคือทุก เวลาที่เราเรียกใช้ฟังก์ชัน, เราได้รับสิ่งที่เรียกว่าสแต็ค กรอบซึ่งเป็นหนึ่งในจำนวนนี้ ดังนั้นพารามิเตอร์หลักของ ดังนั้นผู้ที่เป็นสิ่งที่ ที่เราผ่านเข้าสู่หลัก ดังนั้นพวกเขากำลังขวาที่นี่ที่ด้านล่าง เพราะนั่นคือสิ่งแรกที่เราเรียกว่า แล้วเราจะได้รับการหลักของ ชาวบ้านและเมื่อเราบอกว่า เราหมายถึงตัวแปรท้องถิ่น ที่เก็บไว้ภายในหลัก ดังนั้นชาวบ้านที่นี่จะเป็นเหมือน x เท่ากับสองในกรณีนี้ เพราะนั่นคือภาษาหลัก ทุกคนจำได้ว่าขอบเขต จะไปว่าในการบรรยาย? ตกลง ดังนั้นเพียงแค่ตัวแปรที่ จะเริ่มต้นในหลัก นั่นคือเหตุผลที่เรามีหลัก [? นักร้อง ?] 

และจากนั้นในหลักที่เราเรียกว่าลูกบาศก์ ใช่มั้ย? ดังนั้นเราจึงได้รับกรอบอีก กับพารามิเตอร์ของก้อน ดังนั้นในกรณีนี้ก้อนของ พารามิเตอร์นี้ x ที่เราผ่านใน ทั้งสองที่เราผ่านใน แล้วชาวบ้านก้อนซึ่งเป็น ที่เกิดขึ้นจริง cubing และจากนั้นก็จะกลับ 

ดังนั้นสิ่งที่เกิดขึ้นคือเป็นก้อนไม่จริง สิ่งที่มันควรจะทำก็จะกลับ เมื่อมันกลับกรอบใบนี้, และกลับลงไปที่หลัก และแล้วในหลักของเรา จริงสามารถพิมพ์ ดังนั้นเมื่อคุณกลับมาบางสิ่งบางอย่าง เมื่อการทำงานของคุณกลับมา มันก็เหมือนการส่งผ่านค่าเหล่านั้น กรอบด้านล่างแล้วออก และสิ่งที่ต้องดำเนินการในการสั่งซื้อ 

และเมื่อคุณได้รับไปยังโปรแกรมที่ใหญ่กว่า เราสามารถทำให้เย็นและมีความซับซ้อนมากขึ้น แผนภาพ แต่ตอนนี้เป็น เพียงแค่ภาพรวมทั่วไป เพื่อให้คุณมีชนิดของ เข้าใจในสิ่งที่ ที่เกิดขึ้นเมื่อคุณเรียกใช้ฟังก์ชัน และวิธีการที่จริงดูเหมือนในความทรงจำ เย็น? ทุกคนที่ดี? น่ากลัว 

ดังนั้นนี่คือหนึ่งที่เป็น เพียงแค่พยายามที่จะเปลี่ยนสิ่งที่ ในขณะที่เราเห็นที่นี่เรามี ต้นแบบการทำงานของเรา เพื่อให้คอมไพเลอร์ของเราจะไม่ตะโกนใส่เรา เรามีหลักบางส่วนและเรา ต้องการที่จะเปลี่ยน x และ y พวกเขายังไม่ได้ดำเนินการสาธิตนี้ ในการบรรยายยังมีพวกเขา? พวกเขาไม่ได้? ตกลง ดังนั้นเรากำลังจะไป ในช่วงเวลาสั้น ๆ นี้มาก คุณจะได้รับในตัวอย่างนี้มากขึ้น ในเชิงลึกผมคิดว่าในสัปดาห์นี้ และจากนั้นในสัปดาห์หน้าเราสามารถทำได้จริงๆ ดำน้ำในเหตุผลนี้ไม่ได้ผล 

ดังนั้นเราจึงมีช่องว่างนี้ แลกเปลี่ยนการทำงานตรงนี้ ดังนั้นเป็นโมฆะก็หมายความว่า ไม่มีอะไรที่จะถูกส่งกลับ และเรามีการแลก int และ int ข และเรามีบางอย่างชั่วคราว ตัวแปรที่ ได้รับมอบหมายให้ B แล้ว ขได้รับมอบหมายให้อุณหภูมิ เพื่อให้ A และ B ของ ค่าจะเปลี่ยนตอนนี้ 

แต่บิดพล็อตนี้ไม่ได้ผล และส่วนหนึ่งของมันจริงมี จะทำอย่างไรกับความจริงที่ว่า และ b ที่นี่คนที่ได้รับการส่งผ่านไปใน ที่นี่เป็นจริงสำเนาของ x และ y ดังนั้นเมื่อการทำงานจริงกลับมา จะเปลี่ยนชุด แต่ไม่ x และ y ที่เกิดขึ้นจริงของ ดังนั้นวิธีหนึ่งที่จะคิดเกี่ยวกับมัน that-- แกล้งเหล่านี้มีการแลกเปลี่ยน OK? ดังนั้นในหลักของเรามี x และ y เริ่มต้น แต่เมื่อเราจริงขึ้นไป เฟรมเหล่านี้ด้วยการแลกเปลี่ยน เรากำลังผ่านค่ากว่า กับมันและพวกเขากำลังเริ่มต้น 

และพวกเขาเท่านั้นที่เคยอาศัยอยู่ที่นี่ ดังนั้น A และ B อยู่ที่นี่ และพวกเขาได้รับการเปลี่ยน แต่เมื่อเรากลับมาที่เราทำไม่ได้ ทำอะไรกับ A และ B และขออกจากฟังก์ชั่นของเรา และเพื่อให้ x และ y อยู่เหมือนกัน คุณจะได้รับมากยิ่งขึ้นในการแก้ไขปัญหาและ วิธีการที่เราจัดการกับความจริงในภายหลังว่า 

แต่มันเป็นเพียงสิ่งหนึ่งที่ ชนิดของเก็บไว้ในใจ ใช้งานได้ต่อไปในอนาคต ไม่ต้องกังวลว่าจะไม่ได้ทำให้ ทุกความรู้สึกในโลก พวกเขาเป็นสำเนาเป็นสิ่งที่ใหญ่ที่สุด ถ้าคุณกำลังจะเอาอะไร ออกไปจากที่คุณผ่านในสำเนา ดังนั้นต้นฉบับอยู่เหมือนกัน ทุกคนที่ดี? เย็น 

ดังนั้นอาร์กิวเมนต์บรรทัดคำสั่ง ฉันแน่ใจว่าในการเริ่มต้นที่พวกคุณทั้งหมด มีผู้ที่ดีเช่นช่องว่างหลัก int และคุณต้องการ, OK เย็น ฉันไม่สนใจจริงๆ นี่เป็นเพียงสิ่งที่ผมต้องเขียน แต่ในโปรแกรมใหม่ของคุณ โดยเฉพาะอย่างยิ่งใน pset นี้ และจะมีชอล์กบนพื้นดินทำไม? 

ด้วย pset ต่อไปของคุณคุณ จะได้รับการเห็นนี้ int หลัก, int หาเรื่อง C, สตริงอาร์วีวงเล็บ ดังนั้นจากสิ่งที่เราเพียง เรียนรู้วันนี้สิ่งที่ เราไม่คิดว่าพารามิเตอร์ที่สอง หรือว่าองค์ประกอบที่สองคือที่นี่? มันเป็นอาเรย์ สิ่งที่ประเภทของอาร์เรย์? อาร์เรย์สตริงใช่ เย็น นั่นคือวิธีการที่คุณกำลังจะ จะได้รับการประกาศเหล่านี้ตอนนี้ 

ไม่มีใครจำได้ สิ่งเหล่านี้ยืน? ไม่มี? อืม? 

นักเรียน: หาเรื่องค 

ALLISON ดังนั้นหาเรื่องคช่วยให้เคาน์เตอร์ มันเป็น int มันเป็นจำนวนมากใช่มั้ย? ดังนั้นสิ่งที่คุณคิดว่าเป็นตัวเลขที่มาจากอะไร? ใช่ ดังนั้นหาเรื่อง c คือจำนวนของสตริง ที่ทำขึ้นบรรทัดคำสั่ง ดังนั้นถ้าเราจะ do-- จริง มีตัวอย่างหลังจากนี้ ดังนั้นฉันจะไม่ได้รับข้างหน้าของตัวเอง เป็นหมายเลขของสตริงที่ เพียงแค่ให้ขึ้นบรรทัดคำสั่งของคุณ 

ดังนั้นเมื่อคุณทำเช่นจุดเฉือนมาริโอ ที่เป็นหนึ่งในสายที่ทำให้มันขึ้น ในส่วนนี้คุณจะเป็นจริง กินสิ่งที่เป็นบรรทัดคำสั่ง เป็นฉันแน่ใจว่าพวกคุณที่ ได้อ่านได้เห็นสเป็ค ดังนั้นในกรณีที่บางทีคุณอาจจะ มีสองหรือสามข้อโต้แย้ง มันจะเป็นสิ่งที่มีประโยชน์ที่จะใช้ 

แล้วหาเรื่องวีในขณะที่เรากล่าวว่า เป็นเพียงอาร์เรย์สตริง ดังนั้นที่จริงสิ่งที่เก็บ คุณใส่ลงไปในบรรทัดคำสั่ง ดังนั้นเราจึงมีเหล่านี้ คุณมีบางเฉือนจุด สำเนา OUTFILE INFILE ดังนั้นถ้าหาเรื่อง c คือจำนวนของสตริง ที่เรากำลังผ่านเข้ามาในคำสั่ง บรรทัดสิ่งที่เป็นคหาเรื่องของเราในกรณีนี้หรือไม่? สาม เผง 

ดังนั้นสิ่งที่หาเรื่องวีเป็นศูนย์? ดังนั้นสิ่งที่เป็นสิ่งแรกที่เราได้เก็บไว้? Dot เฉือนสำเนาว่า แล้วที่สองจะเป็น INFILE ที่สามจะเป็น OUTFILE ดังนั้นสิ่งที่เกี่ยวหาเรื่องวีสาม? มันจะเป็นโมฆะเพราะนั่นคือ ปลายแถวของเราใช่มั้ย? เย็น 

และแล้วสิ่งที่เกี่ยวกับหนึ่งในหก? เป็นชนิดของคำถามเคล็ดลับ ish เรารู้ว่ามันคืออะไร? มันเป็นเรื่องที่ไม่ได้กำหนด เรามีความคิดว่าที่อาจจะ มันเป็นสิ่งที่ถูกต้อง หลังจากที่อาเรย์ในหน่วยความจำ และเรามีเงื่อนงำว่ามันคืออะไร และเป็นอันตรายต่อผู้ที่สัมผัส สิ่งเพราะทุกสิ่งที่คุณรู้ มันเป็นส่วนหนึ่งของหน่วยความจำบางอย่างที่คุณ ไม่ควรที่จะเข้าถึงหรือ null และจะสามารถทำสิ่งที่บ้า มันเรียกว่ากว่าการจัดทำดัชนี คุณผูกพันกับอาเรย์ของคุณ อย่าออกไปข้างนอกขอบเขตของคุณ สิ่งอาร์เรย์หรือไม่ดีสามารถเกิดขึ้นได้ คุณกลับมาและเช่นกฎหมาย ของฟิสิกส์ได้ถูกทำลาย หรือสิ่งที่ เย็น ไม่ว่าทำให้ความรู้สึกที่ทุกคนหรือไม่ ไม่ได้เลวร้ายเกินไป 

ดังนั้นตอนนี้ทุกคน ส่วนหนึ่งที่ชื่นชอบการทบทวน pset เย้! ตกลง ดังนั้นสำหรับบรรดาของคุณที่ ยังไม่ได้อ่านข้อมูลจำเพาะ pset, คุณกำลังทำอะไรบางอย่างจริงๆ สิ่งดีๆที่มีการเข้ารหัส คุณกำลังจะสร้าง Ceasar และ Cipher Vigenere Cipher แน่นอนคุณควรอ่าน ข้อมูลจำเพาะเพื่อดูว่าผู้ที่ทำงาน และถ้าคุณกำลังมีปัญหาเกี่ยวกับการใด ๆ สิ่งที่มันควรจะจริงจะทำ โปรดมาพูดคุยกับผม ส่งอีเมลฉันหรือข้อความฉัน ฉันไปรอบ ๆ 

ดังนั้นจึงมีหลักสาม สิ่งที่เราที่นี่ ต้องการที่จะพูดคุย about-- เพียงชนิด ของการขยายของการบรรยาย สิ่งที่คุณอาจไม่ทราบ เกี่ยวกับคำแนะนำที่เป็นประโยชน์และเครื่องมือ ดังนั้นเรากำลังจะทำ ตรวจสอบอย่างรวดเร็วของ ASCII, เพราะนั่นจะเป็นซุปเปอร์ สิ่งสำคัญสำหรับ Vigenere ของ Cipher เรากำลังจะไปแปลง ปัจจัยการผลิตที่บรรทัดคำสั่งที่ จะเป็นประโยชน์มากสำหรับซีซาร์ Cipher แล้วโมดูโล เย็น 

ดังนั้น ASCII แผนที่ตัวอักษรตัวเลข นี้เป็นแผนภูมิที่ดี คุณควรจะมีนี้ บุ๊คมาร์คที่ใดที่หนึ่ง คุณจะต้องการมัน ระยะกลางครั้งแรกของคุณ ผมค่อนข้างมั่นใจว่าทุกคนมีนี้ แผนภูมิบนแผ่นระยะกลางของพวกเขา เพื่อเรียนรู้มัน รักมัน ให้มันมีประโยชน์ มันจะเป็นประโยชน์ 

และทั้งหมดก็คือการเข้ารหัส ที่แผนที่อักษรตัวเลข และตัวละครอื่น ๆ ที่จะ หมายเลขสำหรับเครื่องคอมพิวเตอร์ของเรา เพราะแน่นอนใน จบทุกอย่างที่เราเก็บ เป็นไปได้ที่แปลง ลงไปที่เลขศูนย์และคน ดังนั้นเราจึงต้องมีวิธีการบางอย่างเพื่อเป็นตัวแทนของ ข้อความและตัวละครที่พวกเราทุกคน เคยเห็นเป็นจัดเรียงของบางหมายเลข 

ดังนั้นในขณะที่เราเห็นที่นี่เรามี พิมพ์ใหญ่ซึ่งอยู่ที่นั่น มันเป็น 65 และตัวพิมพ์เล็กเป็น 97 เพื่อให้คุณสามารถคิดแทนดู ที่ผมกล่าวว่าก่อนหน้านี้ ถ้าคุณมีอาร์เรย์ของหลาย สตริงสิ่งที่แต่ละของพวกเขา มีเทอร์มิ null มันจะเป็นพื้นที่ พื้นที่มี special-- ของตัวเอง ฉันลืมที่จะอยู่ที่นี่ อา 32 เป็นพื้นที่ เพื่อให้ทุกอย่างแมปกับมัน 

ดังนั้นเราจึงมี ASCII คณิตศาสตร์ tip-- Pro ใน Vigenere ของ คุณอาจถูกล่อลวง การแปลงหมายเลขของคุณเพื่อจำนวนเต็ม แต่การปฏิบัติจริงดี เพื่อให้สามารถที่จะใช้ ตัวละครเช่นนี้ เมื่อคุณกำลังจัดการกับพวกเขาจริง ดังนั้นหากคุณต้องการที่จะใช้ตัวเลขที่คุณสามารถ แต่เป็นวิธีที่ดีกว่าหรือวิธีการที่ เรามักจะชอบพวกคุณที่จะทำมัน เป็นวิธีการที่คุณนี้ จริงลบตัวอักษร 

ดังนั้นผมจึงอยากให้คุณผู้ชายที่จะ ชนิดของตัวเลขเหล่านี้ออก ทำไมคุณไม่ลองทุกคนอื่น ๆ ? เพื่อทำคนแรก หนึ่งในสามและหนึ่งในห้า เพราะผมต้องการที่จะให้แน่ใจว่าเราพูดคุย เกี่ยวกับทุกอย่างที่เราต้องการที่จะพูดคุยเกี่ยวกับ ฉันแค่จะบอกว่าเป็นหนึ่งใน สิ่งที่สำคัญ to-- โอ้รอ พวกคุณยังไม่เคยเห็นคนนี้ ตกลงเพื่อทำครั้งแรกที่สาม ลองทำอย่างนั้น เพราะเรามีที่จะพูดคุยเกี่ยวกับโมดูโล ฉันรู้ว่า คณิตศาสตร์เป็นเรื่องยาก คุณสามารถใช้เครื่องคิดเลข ก็ OK หรือดึงขึ้นตาราง ASCII เพราะ คุณอาจจะต้องการที่ 

เย็น ดังนั้นผมจะเดินได้อย่างรวดเร็ว พวกคุณผ่านทางเหล่านี้ ดังนั้นคนที่มีตาราง ASCII ดึงขึ้น? เป็นตัวเลขของเราคืออะไร หมายเลขตัวพิมพ์เล็ก? นักเรียน: เซเว่น 

ALLISON ดังนั้นตัวพิมพ์เล็กเป็น 97 และตัวพิมพ์ใหญ่คือ 65 ดังนั้น 97 ลบ 65? 

ผู้ชม: 32? 

ALLISON: 62 ใช่ ดังนั้นในกรณีนี้สิ่งที่ มันจะพิมพ์ออกมา? ที่หนึ่งครั้งแรก? ถ้าเรามีร้อยละวัน สิ่งที่จะแสดงให้เห็น? นักเรียนจำนวน ALLISON: เรากำลังพิมพ์ จากจำนวนที่เกิดขึ้นจริง ดังนั้นเราจึงกำลังจะเป็นจริง จะพิมพ์ออกมา 32 ที่นี่ และถ้าครั้งนี้มีร้อยละ C, 32 จะให้เราพื้นที่ ดังนั้นการทำความเข้าใจว่า ตัวอักษรที่สามารถพิมพ์ได้ ทั้งสองเป็นตัวเลขและเป็น ตัวละครที่เกิดขึ้นจริง เป็นสิ่งที่สำคัญจริงๆและจ่ายเงิน ความสนใจไปที่ประเภทที่เกิดขึ้นจริง ว่าเรากำลังทำอะไรอยู่ที่นี่ เย็น ดังนั้นสำหรับทุก ๆ หนึ่งในเหล่านี้ สิ่งที่เราจะได้รับการพิมพ์? 

นักเรียน: ตัวอักษร 

ALLISON: ตัวละคร เย็น ดังนั้นหากพวกคุณต้องการที่จะรู้ว่าคุณ สามารถทำงานเหล่านี้ออกด้วยตัวคุณเอง หากคุณกำลังมีปัญหาในการส่งอีเมลถึงฉัน แต่คนที่สองจะ พิมพ์ตัวพิมพ์เล็กข หนึ่งในสามจะพิมพ์ออกมา พิมพ์ใหญ่บีสี่จะพิมพ์ ออกตัวพิมพ์ใหญ่ C และ สุดท้ายจะเป็นตัวพิมพ์เล็ก A. และ one-- สุดท้ายที่เรากำลังจะเป็นจริง ที่จะได้รับในสิ่งที่ว่าร้อยละบ้า เข้าสู่ระบบได้หมายความว่าในสองสามสไลด์ จึงพยายามเหล่านั้นด้วยตัวคุณเอง หากคุณมีปัญหา โปรดมาพูดคุยกับผม หากคุณมักจะอยู่ในอดัมส์ D ห้องโถง คุณอาจจะพบฉันไปรอบ ๆ 

ดังนั้น atoi วิธีการหลายท่านได้เห็นนี้ ฟังก์ชั่นหรือได้ยินมันทั้งหมดหรือไม่ ใคร? เย็น ดังนั้นสิ่งที่มันเป็นจริงยืน สำหรับเป็น ASCII เป็นจำนวนเต็ม ดังนั้นสิ่งที่คุณสามารถทำได้คือมีซีซาร์ สำหรับผู้ที่อ่านสเปค, คุณกำลังจะทำจุดเฉือนซีซาร์ หลังจากที่คุณเขียนโปรแกรมของคุณ แล้วคุณจะ ป้อนหมายเลขบางอย่างที่คุณ ต้องการเข้ารหัสข้อความลับของคุณด้วย 

แต่ถ้าเราจำทั้งหมดของเรา ปัจจัยการผลิตจะถูกเก็บไว้เป็นสตริง ใช่มั้ย? เรามีอาร์เรย์ V หาเรื่อง ที่เป็นสตริงทุกประเภท ดังนั้นถ้าคุณเพียงแค่พยายามที่จะ ดึงหนึ่งที่มันจะ คิดว่าที่หนึ่งหรือสิ่งที่หมายเลข คุณใช้ตัวละครที่เป็นจริง เพื่อให้คุณกำลังจะได้รับ ผลบางอย่างบ้า ดังนั้นหากคุณต้องการที่จะเป็นจริง เปิดนี้เป็นจำนวนเต็ม ที่คุณสามารถใช้เพื่อจัดการกับ คำหรือข้อความของคุณของคุณ คุณจะต้องการใช้ atoi atoi เพียงแปลง สตริงของคุณเพื่อ int 

ดังนั้นถ้าเรามีสาย 12 ถ้าเราเรียกว่า atoi เมื่อวันที่ 12 หรือสิ่งที่ใส่นั่นคือ จริง ๆ แล้วมันจะกลับมา กับคุณจำนวนเต็ม ไม่ได้ตัวอักษรหรือสตริง 12 ซึ่งเมื่อคุณเริ่มต้น เพื่อเพิ่มที่ตัวเลข จะแตกต่างกันมาก เพราะสาย 12 เป็น บางจำนวนบ้าใน ASCII แต่จำนวนเต็ม 12 เป็นจริง 12 ซึ่งเป็นสิ่งที่คุณต้องการ ดังนั้นคุณจึงต้องการที่จะให้แน่ใจว่าจะใช้ atoi 

คุณจะอยากให้เรื่องนี้ ในซีซาร์เพราะคุณ ต้อง int ที่จัดทำโดย ผู้ใช้ในบรรทัดคำสั่ง แต่เมื่อพวกเขาวางไว้ในคำสั่ง สายก็เก็บไว้เป็นสตริง จะเริ่มต้นด้วย ที่ทำให้รู้สึก? คุณไม่จำเป็นต้อง ต้องนี้สำหรับ Vigenere ด้วย Vigenere ที่ผมกล่าวว่า ก่อนที่คุณควรลองและใช้ คณิตศาสตร์ ASCII ที่มีลักษณะเหมือน ซึ่งคุณกำลังจริง โดยใช้ตัวอักษรที่เรากำลังให้กับคุณ เย็น ทุกคนที่ดีมี? น่ากลัว 

ดังนั้นโมดูโล ดังนั้นสิ่งที่ถ้าคุณได้รับ จำนวนมากนี้สำหรับซีซาร์? คุณมีความคิดนี้ว่า ถ้าคุณที่ Z และคุณ รับหมายเลขสอง นั่นหมายความว่าคุณ need-- Z กลายเป็นที่สอง จดหมายหลังจากที่ตัวเองใช่มั้ย? ดังนั้นคุณต้องอย่างใดห่อรอบ, และโมดูโลเป็นวิธีที่จะทำเช่นนั้น ดังนั้นสิ่งที่มันไม่เป็นมัน จะช่วยให้คุณที่เหลือ ของการแบ่ง หมายเลขแรกโดยที่สอง และเรามีตัวอย่างบางส่วนที่จะ ทำให้เป็นรูปธรรมมากขึ้นเล็ก ๆ น้อย ๆ แต่โดยทั่วไปคุณสามารถใช้โมดูโลเมื่อคุณ ต้องการที่จะทำอะไรบางอย่างห่อรอบ 

ดังนั้นถ้าคุณเพียงต้องการ หมายเลขหนึ่งถึงแปด คุณสามารถใช้โมดูโลที่อื่น ๆ จำนวนและมันจะเสมอ กลับตัวเลขจากศูนย์ถึงแปด ดังนั้นบาง examples-- ถ้า เรามี 55 แบบโมดูโล 10 มันก็จะช่วยให้คุณส่วนที่เหลือของ 55 หารด้วย 10 ซึ่งจะเป็น 5 และแล้วสามแบบโมดูโลห้า ทุกคนคาดเดาสิ่งที่จะเป็นอย่างไร สาม 

ดังนั้นถ้าคุณมีขนาดเล็กจำนวนมากก่อน โมดูโลก็ไม่สามารถไปอย่างเท่าเทียมกัน มันเป็นศูนย์ ดังนั้นมันก็ส่งกลับจำนวนของตัวเอง ดังนั้นโมดูโลแปดแปดจะเป็นอย่างไร 

นักเรียน: ศูนย์ 

ALLISON: ศูนย์ เพราะมันจะไปในสม่ำเสมอ 16 แบบโมดูโล 15? 

ผู้ชม: หนึ่ง 

ALLISON: โทน แล้วสุดท้ายนี้เป็นเพียงการ แสดง you-- คุณอาจจะสงสัยว่าตกลง สิ่งที่เป็นคำสั่งของการดำเนินงานที่นี่? เราแบ่งครั้งแรก? ที่เราทำแบบโมดูโลครั้งแรก? ดังนั้นโมดูโลถือระดับเดียวกัน เป็นส่วนหรือคูณ และเชื่อมโยงทางด้านซ้ายของ ดังนั้นจึงเป็นไปในทางเดียวกัน คุณจะทำอย่างไรวงเล็บ แล้วคูณหาร และโมดูโลตามลำดับจากซ้ายไปขวา กฎระเบียบมาตรฐานดังนั้น เพียงแค่ใส่มันในหมวดหมู่เดียวกัน เป็นส่วนและการคูณ 

ดังนั้นในกรณีนี้เราจะ มี 1 บวก 2 ทำให้เรามี 3 เราคูณที่ 2 ดังนั้นเราจึงได้รับ 6 เราแบบโมดูโลที่ 2 ซึ่งจะช่วยให้เรา? 

นักเรียน: 0 

ALLISON: 0 แล้วเราเพิ่ม 2 ดังนั้นเรา ได้รับ 2 ในกรณีที่ผ่านมา ดังนั้น modulo-- คุณแน่นอนจะ จะคิดเกี่ยวกับวิธีการที่จะนำมารวมกัน ว่าเมื่อคุณกำลังห่อ รอบตัวอักษร ถ้าคุณที่ Z และคุณจำเป็นต้องย้าย ส่งต่อสามช่องว่างที่จะได้รับไปยัง C มีที่แนวคิดทั้ง ห่อรอบ ดังนั้นฉันจะปล่อยให้ พวกคุณที่จะคิดออก วิธีการว่าคุณจะใช้มัน แต่แน่นอนเครื่องมือที่มีประโยชน์ สำหรับ pset ของคุณในสัปดาห์นี้ ผมชอบแบบนี้ นี้เป็นหนึ่งใน psets ที่ชื่นชอบ แล้วหลังจากที่คุณทำมัน ถ้าคุณมีเพื่อน คุณสามารถเช่นส่งแต่ละความลับอื่น ๆ ข้อความและให้แน่ใจว่าการทำงาน เพราะมันจะถอดรหัสหรืออะไรก็ตาม ความสนุกสนานมากมาย 

และนั่นคือจุดสิ้นสุดของส่วน ฉันเสร็จก่อน ฉันยังคงมี 15 นาทีด้วย พวกคุณดังนั้นถ้ามีอะไร ที่คุณต้องการจะไป ต่อไปผมจะมีความสุขที่จะทำเช่นนั้น คำถามใด ๆ อื่น ๆ ใน pset ของคุณสำหรับบรรดาของคุณ ที่ได้เริ่มต้นหรืออ่านข้อมูลจำเพาะ สิ่งที่เราได้พูดคุย เกี่ยวกับในชั่วโมงสุดท้าย และ 15 นาทีที่คุณต้องการฉัน ชนิดของรูปแบบใหม่ที่ผมยินดีที่จะ หรือเราสามารถเรียกให้หยุดและคุณสามารถ ทั้งหมดออกและนำขนมมากขึ้นกับคุณ ที่คุณไป แต่หากมีอ้อยอิ่ง ข้อสงสัยโปรดแจ้งให้เราทราบ นอกจากนี้คุณยังสามารถเกิดขึ้นและ พูดคุยกับผมหลังจากนั้น ฉันสัญญาว่าฉันไม่กัด อะไรอีกหรือไม่ ทุกคนที่ดี? ความรู้สึกของทุกคนเช่น พวกเขาสามารถจัดการ pset นี้หรือไม่? คุณกำลังจะเป็นคนดี เวลาทำงานจะมีเหตุผล เย็น ไม่เป็นไร 

ทั้งในกรณีที่ขอขอบคุณ ทุกท่านมากสำหรับการมา ผมหวังที่จะเห็นคุณในสัปดาห์หน้า จะมีขนมอื่น ๆ อีกมากมาย อาจจะมีสิ่งดีๆอื่น ๆ และฉันหวังว่าจะได้รับ ที่จะรู้ว่าพวกคุณทุกคนในปีนี้