สวัสดีและยินดีต้อนรับ.
พวกคุณพร้อมสำหรับความท้าทายอื่นหรือไม่?
ฉันรู้ว่าฉันเป็นใคร.
พอคุยกันเสร็จ เกี่ยวกับลูป มาปรับใช้กัน
มาลองคิดกันดู วิธีแก้ปัญหา
ดังนั้นในการท้าทายนี้ คุณจะต้อง สร้างเดาโปรแกรมหมายเลข c
มันก็จะสวยหน่อยๆ
มันจะเป็นเกมเล็ก ๆ
อะไรจะเกิดขึ้นคือคุณ โปรแกรมจะสร้างตัวเลขสุ่มตั้งแต่
0 ถึง 20
หลังจากที่คุณได้สร้างสิ่งนั้นแล้ว สุ่มเลข
คุณจะต้องให้ผู้ใช้ทายว่ามันคืออะไร
ดังนั้นผู้ใช้ควรจะทำได้เท่านั้น เพื่อป้อนตัวเลขตั้งแต่ 0 ถึง 20
หากพวกเขาพยายามเดาเช่น หมายเลข 50 คุณกำลังจะแสดงข้อผิดพลาดและพูดว่า
เฮ้ คุณทำได้ ป้อนเฉพาะตัวเลขตั้งแต่ 0 ถึง 20
นั่นเป็นข้อกำหนดหนึ่ง
แต่เมื่อผู้ใช้ได้รับ a . จริงๆ เดาและเป็นการเดาที่ถูกต้อง
คุณจะบอกผู้ใช้ว่า หรือไม่สูงหรือต่ำเกินไป
หรือถ้าถูกต้อง คุณจะ แสดงว่าถูกต้องและพวกเขาจะชนะเกม
ตอนนี้มีแต่ของบางอย่าง จำนวนครั้งที่สามารถเดาจำนวนที่ถูกต้องได้
พวกเขาเดาได้เท่านั้น จำนวน 5 ครั้ง
หลังจากห้าครั้งพวกเขาแพ้เกม
เกมนี้เกี่ยวกับ เดาหมายเลขที่ถูกต้อง
ตัวเลขใด ๆ จาก 0 ถึง 20 คุณต้องการ ตรวจสอบอินพุตจากผู้ใช้เพื่อให้แน่ใจว่าป้อน
0 จาก 20
และถ้าพวกเขาเข้ามาและพวกเขาก็ มีน้อยกว่า 5 ครั้ง คุณจะบอกพวกเขา
เฮ้ นี่มันสูงเกินไป หรือ นี่ ต่ำเกินไปกว่าตัวเลขที่พวกเขาควรจะเดา
และนั่นคือพื้นฐาน ความต้องการของโปรแกรม พื้นฐานเดาเกมประเภทตัวเลขของคุณ
ตอนนี้ผลลัพธ์เป็นอย่างไร
เพื่อให้คุณได้ทราบว่าฉัน ออกแบบไว้คุณอาจต้องการปฏิบัติตาม
นี้. เมื่อฉันเริ่ม .ครั้งแรก โปรแกรมฉันแสดงข้อความเล็กน้อย
ฉันบอกว่านี่เป็นเกมเดา เพียงเพื่อให้พวกเขารู้ว่าเกิดอะไรขึ้น
แล้วฉันก็บอกพวกเขาว่าฉันมี เลือกตัวเลขระหว่าง
0 ถึง 20 ซึ่งคุณต้องเดา
คุณมีเวลาอีกห้าครั้งในการเดา
ฉันก็บอกว่าป้อนเดา
พวกเขาควรจะ เพื่อเข้าสู่การคาดเดาของพวกเขา
พวกเขาป้อน 12 และฉันพิมพ์ ออก ขอโทษ 12 ผิด หมายเลขของฉันน้อยกว่านั้น
แล้วฉันก็แสดงให้คุณเห็น เหลืออีกสี่ครั้ง
จากนั้นพวกเขาก็เดาได้ว่า 8 แล้วฉันก็บอกว่า 8 ก็ผิดเหมือนกัน
เลขของฉันน้อยกว่านั้น
แล้วเข้า ม.3 เราว่า เหลืออีก 3 ครั้ง พวกเขาเข้า 4
ผมว่า 4 ผิด
แล้วพวกเขาก็ลอง 2 ครั้ง จากไปและในที่สุดพวกเขาก็เดาได้ว่าหมายเลขของฉันคือ
2
เมื่อพวกเขาเดาตัวเลขที่ถูกต้องแล้ว ฉันบอกพวกเขาว่ายินดีด้วย
คุณเดาได้ ดังนั้นพวกเขาจึงชนะเกม เพราะพวกเขายังเหลืออีก 2 ครั้ง
มันเป็นเกมธรรมดาประเภทพื้นฐาน ที่คุณจะต้องใช้
if งบ คุณจะไป จำเป็นต้องใช้ while ลูป
ดังนั้นคุณจะต้องใช้ a วนซ้ำในนี้เพราะคุณต้องขอข้อมูลจนกว่า
ผู้ใช้เดาถูกหรือจนกว่าจำนวนครั้งจะเกิน 5 ครั้ง
ดังนั้นหนึ่งในวิธีที่ดีที่สุดในการ เริ่มโปรแกรมแบบนี้เพื่อเขียนว่าคุณจะเป็นยังไง
เพื่อสร้างโปรแกรมบนกระดาษ
และผมขอแนะนำให้คุณทำอย่างนั้น เพราะถ้าคุณเขียนว่าคุณจะโจมตีปัญหาอย่างไรบนกระดาษ
มันจะแก้ได้ง่ายขึ้น
และคุณสามารถเขียนมันออกมาใน pseudocode มันเป็นแค่ภาษาอังกฤษ
แต่คุณต้องการระบุ คุณจะมีลูปที่ไหนและคุณจะมี if . ที่ไหน
คำสั่งเพื่อตรวจสอบเงื่อนไข
เพราะถ้าคุณดูสิ่งนี้ ผลลัพธ์ มีเงื่อนไขมากมายที่คุณต้องตรวจสอบ
วง while กำลังจะตรวจสอบ สำหรับเงื่อนไขหรือ for loop
มันจะตรวจสอบเพื่อให้แน่ใจว่ามัน ออกจากลูปถ้าคุณเดาถูกหรือถ้าคุณสูงกว่า
5 สำหรับการลอง
คุณจะต้องมีเงื่อนไขในการ ตรวจสอบสิ่งที่พวกเขาป้อนด้วย
ดังนั้นคุณจะมี ถ้าคำสั่งบอกว่า เฮ้
คุณเพิ่งป้อนตัวเลข
และถ้าไม่อยู่ระหว่าง 0 ถึง 20 และนั่นอาจเป็นเพราะคุณอาจต้องการให้มีการวนซ้ำซ้อนสำหรับกรณีนั้นด้วย
เพราะอยากถามต่อ ให้ป้อนหมายเลขอื่นจนกว่าจะป้อนหมายเลขที่ถูกต้อง
ไม่ใช่ตัวเลขที่ถูกต้องที่คุณเดา แต่เป็นตัวเลขที่ถูกต้อง
ฉันก็เลยมองเห็นสิ่งนี้ โปรแกรมวนรอบนอก
วงนอกจะเป็นวงที่ ขอให้ผู้ใช้ป้อนตัวเลขจนกว่าพวกเขาจะเดาได้สำเร็จ
จำนวนที่ถูกต้องหรือจนกว่าพวกเขาจะสำเร็จตามจำนวนครั้งของการลอง
ฉันเห็นวงในที่ มันถามว่าตัวเลขไม่ถูกต้องระหว่าง 0 ถึง 20
พวกเขาถามต่อไป ผู้ใช้ป้อนหมายเลขที่ถูกต้อง
แล้วฉันจะดูได้ว่าคำสั่งของ โดยทั่วไปตรวจสอบว่าจำนวนต่ำเกินไปสูงเกินไปหรือเท่ากันหรือไม่
เพราะคุณมีทางออกหลายทาง เงื่อนไขสำหรับวงรอบนอกของคุณไม่ว่าคุณจะเดาหรือไม่
ถูกต้องหรือไม่เท่ากับจำนวนที่อาจจะดี กรณีใช้คำสั่งแบ่ง
เพราะจำไว้ว่าคุณใช้ คำสั่งแบ่งเมื่อคุณมีหลายทางออก
แล้วคุณจะมีบางอย่าง ในวงนอกของคุณที่บอกว่าถ้าเดาถูก
ให้กระโดดออกมา
แล้วสภาพภายนอก วนซ้ำใน while loop หรือ for loop เอง condition
x จะเป็นจำนวนครั้งในการพยายามมากกว่า 5
ครั้งหรือไม่
นั่นคือแนวทางการออกแบบวิธีหนึ่ง
ฉันได้กล่าวถึงหลายสิ่งหลายอย่าง
เหลืออย่างเดียวคือเธอ ทุกสิ่งที่คุณต้องการ
ถ้าคุณเรียนรู้ทุกอย่างที่ฉันพูดถึง ยกเว้นเครื่องกำเนิดตัวเลขสุ่มนี้
นี่เป็นสิ่งใหม่
คุณรู้วิธีการทำถ้างบ คุณรู้วิธีทำลูป คุณรู้วิธีประกาศตัวแปร
คุณรู้สิ่งดี ๆ เหล่านี้ทั้งหมด
คุณรู้วิธีพิมพ์ผลลัพธ์ไปที่ หน้าจอแสดงผล แต่คุณไม่รู้วิธีสร้างตัวสร้างตัวเลขสุ่ม
ดังนั้นฉันจะให้ คุณรหัสสำหรับสิ่งนั้น
คุณต้องสร้างตัวเลขสุ่ม
เพราะทุกครั้งที่คุณเรียกใช้ โปรแกรมคุณต้องการมีหมายเลขใหม่ที่พวกเขาสามารถเดาได้
เพื่อสร้างตัวเลขสุ่ม จาก 0 ถึง 20 นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม
ก่อนอื่นคุณต้องเพิ่ม 2 เพิ่มเติม ไลบรารี stdlib ช. เวลา ชม.
ดังนั้นคุณต้องการเพิ่มสิ่งเหล่านี้รวมถึง คำสั่งที่ด้านบนสุดของไฟล์ของคุณ
Sdtlib h จะช่วยให้คุณใช้ ฟังก์ชัน srand ซึ่งช่วยให้คุณสร้างตัวเลขสุ่มได้
เวลา. h อนุญาตให้คุณให้ เมล็ดสำหรับหมายเลขสุ่มโดยใช้เวลา
รับเวลาปัจจุบัน
ดังนั้นเมื่อเรารวมเพิ่มเติม ไลบรารี่นอกโปรแกรมของเรา มันหมายความว่าเราต้องการดำเนินการ
ฟังก์ชั่นเพิ่มเติมบางอย่าง
เราไม่ได้พูดถึงทั้งหมด ไลบรารีมาตรฐานที่มาพร้อมกับ
c แต่มาพร้อมกับ 2 nice เพื่อรับเวลาปัจจุบันและเพื่อสร้างการสุ่ม
เบอร์ที่เราจะใช้
ดังนั้นเราจึงรวมสิ่งเหล่านั้นก่อน 2 คำสั่งที่ด้านบน
จากนั้นเราจะสร้าง ตัวแปรภายในฟังก์ชันหลักของเราที่เรียกว่า
time_t และ you สามารถตั้งชื่อมันได้ t คุณเพิ่มว่า
เมื่อคุณเพิ่มตัวแปรเวลาแล้ว คุณ สามารถเริ่มต้นตัวสร้างตัวเลขสุ่มของคุณโดยใช้ฟังก์ชัน
srand
ดังนั้นสิ่งที่คุณทำคือคุณพูดว่า srand
นี้ให้เมล็ดแก่ ตัวสร้างแบบสุ่ม มันใช้เพื่อเริ่มต้น
และที่นี่คุณเพียงแค่คัดลอกบรรทัดนี้ของ รหัส srand ((unsigned) จากนั้นเวลา และจากนั้น คุณส่งเครื่องหมายและ
t.
ไม่ต้องเข้าใจหรอก รหัสนี้ทำอะไร เพียงแค่คัดลอกและวาง
แต่มันกำลังสร้าง สุ่ม มันคือการเริ่มต้นตัวสร้างตัวเลขสุ่ม
หลังจากที่คุณได้เริ่มต้น a เครื่องกำเนิดตัวเลขสุ่ม
คุณต้องสร้างตัวเลข
และสิ่งที่คุณทำเพื่อสร้าง หมายเลขคือคุณพูดว่า
rand คุณเรียกใช้ฟังก์ชันชื่อ rand และ you บอกว่า %21 เป็นโมดูลเพราะคุณต้องการให้อยู่ระหว่าง
0 และ 21 คุณใช้ 21 ฮาร์ดโค้ด
คุณสามารถจัดเก็บหมายเลขสุ่มนั้นได้ เป็นจำนวนเต็ม และนั่นคือตัวเลขที่คุณจะเปรียบเทียบ
ต่อต้านเพื่อออกจากลูปไม่ว่าจะเดาถูกต้องหรือไม่
ก็จะเป็นเลข ที่คุณเปรียบเทียบกับเอ่อเพื่อตัดสินว่า
คุณพิมพ์ต่ำหรือสูงเกินไป
ดังนั้นเรื่องนี้ควรจะสนุกมาก
อีกครั้ง แนวคิดมากมายที่คุณกำลังจะทำ ที่จะเปิดเผย
ถ้าคำสั่ง วนโครงสร้าง ตัวแบ่ง คำสั่ง, ลูปภายในและภายนอก, ลูปที่ซ้อนกัน,
สิ่งดีๆมากมาย
ขอให้โชคดีมีความสุข และผมจะนำเสนอแนวทางแก้ไขในการบรรยายครั้งต่อไป
ขอขอบคุณ.