1 00:00:00,000 --> 00:00:02,830 >> ลำโพง 1: ลองเขียนโปรแกรมที่ แจ้งให้ผู้ใช้ที่เป็นบวก 2 00:00:02,830 --> 00:00:05,950 จำนวนเต็ม n แล้​​วพิมพ์ออก ผลรวมของตัวเลขทั้งหมด 3 00:00:05,950 --> 00:00:07,980 ระหว่าง 1 และ n 4 00:00:07,980 --> 00:00:10,580 ดีที่นี่เรามีหลักซึ่งฉันได้ เขียนแล้วล่วงหน้า 5 00:00:10,580 --> 00:00:13,520 และแจ้งให้ทราบที่นี่ที่ด้านบนของ หลักผมประกาศ n int 6 00:00:13,520 --> 00:00:16,079 >> จากนั้นผมก็ภายในของในขณะที่ทำ ห่วงพิมพ์แรกที่ออก 7 00:00:16,079 --> 00:00:17,530 จำนวนเต็มบวกโปรด 8 00:00:17,530 --> 00:00:21,070 แล้วฉันจะดำเนินการต่อไปที่จะได้รับจำนวนเต็มตั้งแต่ ผู้ใช้ที่มีได้รับห้องสมุด CS50 9 00:00:21,070 --> 00:00:22,070 ฟังก์ชั่น int 10 00:00:22,070 --> 00:00:26,410 แล้วในขณะที่อยู่ในสภาพของฉันที่นี่ฉัน ให้แน่ใจว่า n คือมากกว่าหรือ 11 00:00:26,410 --> 00:00:30,480 เท่ากับ 1 ก่อนที่จะดำเนินการจริง ที่จะทำสิ่งที่มีค่าที่ 12 00:00:30,480 --> 00:00:31,520 >> ฉันจะทำอะไรต่อไป 13 00:00:31,520 --> 00:00:34,690 ดีฉันเรียกใช้ฟังก์ชันที่ฉันจะ ที่จะเรียกซิกตัวแทนของ 14 00:00:34,690 --> 00:00:37,700 ซิกทุนที่คุณอาจมี จำได้จากชั้นเรียนคณิตศาสตร์ที่ 15 00:00:37,700 --> 00:00:40,860 แสดงว่าคุณต้องการที่จะสรุปอะไรบางอย่าง จากค่าหนึ่งไปยังอีก 16 00:00:40,860 --> 00:00:44,540 และผลตอบแทนการทำงานเป็นสิ่งที่ ค่าตอบแทนของฉันจะเก็บ 17 00:00:44,540 --> 00:00:46,500 ในตัวแปรที่เรียกว่าคำตอบ 18 00:00:46,500 --> 00:00:50,280 >> สุดท้ายในบรรทัดสุดท้ายของฉันในหลักฉัน จะพิมพ์สิ่งที่เป็นคำตอบ 19 00:00:50,280 --> 00:00:52,840 แน่นอนเรายังไม่ได้ดำเนินการยัง ซิกฟังก์ชั่นนี้ 20 00:00:52,840 --> 00:00:54,590 ดังนั้นเราจะไปเกี่ยวกับการทำเช่นนั้นได้อย่างไร 21 00:00:54,590 --> 00:00:58,040 >> ดีที่ด้านล่างของไฟล์ของฉันฉัน จะดำเนินการประกาศฟังก์ชัน 22 00:00:58,040 --> 00:00:59,450 ที่ส่งกลับ int 23 00:00:59,450 --> 00:01:01,630 และฉันจะเรียก ซิกฟังก์ชั่นที่ 24 00:01:01,630 --> 00:01:06,340 และฉันจะระบุว่าเป็นอินพุท ฟังก์ชั่นที่ยังยอมรับ int 25 00:01:06,340 --> 00:01:09,800 และฉันจะเรียกว่าเพียงแค่เป็น ที่แตกต่างเมตรแทน n 26 00:01:09,800 --> 00:01:12,120 แต่เราอาจจะเรียกมันว่า อะไรที่สุดที่เราต้องการ 27 00:01:12,120 --> 00:01:14,930 >> ภายในของร่างกายของฟังก์ชั่นนี้ผม จะดำเนินการต่อไปใช้คุ้นเคย 28 00:01:14,930 --> 00:01:16,420 สร้างคือวง 29 00:01:16,420 --> 00:01:19,010 แต่ฉันยังจะทำบิตของการมีสุขภาพจิตดี การตรวจสอบเพื่อให้แน่ใจว่า 30 00:01:19,010 --> 00:01:22,340 ผู้ใช้ไม่ได้ให้ฉันกับจำนวน ที่ผมไม่ได้คาดหวัง 31 00:01:22,340 --> 00:01:28,010 โดยเฉพาะอย่างยิ่งที่ฉันจะทำอย่างไรถ้า m คือ น้อยกว่า 1 และค่อนข้างพล 32 00:01:28,010 --> 00:01:31,280 ฉันก็จะกลับ 0 ถ้า จำนวนไม่ได้เป็นเชิงบวก 33 00:01:31,280 --> 00:01:32,800 เลขที่ผมคาดหวัง 34 00:01:32,800 --> 00:01:36,920 >> แล้วฉันจะประกาศตัวแปร เรียกว่าผลรวมและเริ่มต้นมันถึง 0 35 00:01:36,920 --> 00:01:40,810 ในท้ายที่สุดนี้จะเก็บผลรวมของ ทั้งหมดของตัวเลขระหว่าง 1 และ ม. 36 00:01:40,810 --> 00:01:43,550 แล้วฉันจะใช้คุ้นเคย สร้างห่วงไปข้างหน้า 37 00:01:43,550 --> 00:01:50,272 สำหรับ int i ได้รับ 1, i น้อยกว่า หรือเท่ากับเมตรฉันบวกบวก 38 00:01:50,272 --> 00:01:54,010 แล้วภายในร่างกายนี้ ห่วงฉันก็จะทำผลรวม 39 00:01:54,010 --> 00:01:56,350 เท่ากับผลรวมบวกฉัน 40 00:01:56,350 --> 00:02:01,900 หรือมากกว่าเพียงผลรวมบวกเท่ากับฉัน ซึ่งประสบความสำเร็จในผลเดียวกัน 41 00:02:01,900 --> 00:02:04,810 >> และแล้วในที่สุดก็ต้องกลับมา ผลรวมที่ผมเคยคำนวณ 42 00:02:04,810 --> 00:02:07,640 ดังนั้นฉันจะเพิ่มผลตอบแทนในผลรวม 43 00:02:07,640 --> 00:02:08,560 >> ตอนนี้ฉันยังไม่ได้ทำ 44 00:02:08,560 --> 00:02:11,360 ฉันต้องการที่จะสอน C ที่นี้ ฟังก์ชั่นจริงแล้ว 45 00:02:11,360 --> 00:02:14,400 และอื่น ๆ บนแฟ้มของฉันที่ฉันจะประกาศ สิ่งที่เราได้เรียกว่าฟังก์ชั่น 46 00:02:14,400 --> 00:02:18,270 ต้นแบบเหมือนกันกับลายเซ็น ที่ฉันใช้เมื่อกำหนดฟังก์ชั่น 47 00:02:18,270 --> 00:02:19,250 เมื่อกี้ 48 00:02:19,250 --> 00:02:22,450 >> โดยเฉพาะเหนือหลัก ฉันจะพิมพ์ int 49 00:02:22,450 --> 00:02:26,080 ซิก, int เมตรอัฒภาค 50 00:02:26,080 --> 00:02:29,240 ไม่ดำเนินการฟังก์ชั่น อีกครั้งเพียงการประกาศว่า 51 00:02:29,240 --> 00:02:32,800 ถ้าตอนนี้ฉันบันทึกรวบรวมและใช้นี้ โปรแกรมเรามาดูสิ่งที่ผมได้รับ 52 00:02:32,800 --> 00:02:37,460 ทำให้ซิก 0 จุดเฉือนซิก 0 53 00:02:37,460 --> 00:02:41,050 และตอนนี้ขอให้เป็นจำนวนเต็มบวก เช่น 2 ซึ่งควรให้ฉัน 54 00:02:41,050 --> 00:02:45,920 สามเนื่องจากค่าระหว่าง 1 และ 2 เป็น 1 บวก 2 เท่ากับ 3 55 00:02:45,920 --> 00:02:47,300 และแน่นอนว่าเป็นสิ่งที่ฉันได้รับ 56 00:02:47,300 --> 00:02:49,940 >> ลองใช้มันอีกครั้งนี้ เวลาที่มีการพูด, 3 57 00:02:49,940 --> 00:02:53,470 ดังนั้นผมควรจะได้รับ 1 บวก 2 บวก 3 ควรให้ฉัน 6 58 00:02:53,470 --> 00:02:54,740 และแน่นอนฉันจะได้รับ 6 59 00:02:54,740 --> 00:02:57,380 >> และให้ลองค่าสุดท้ายพูด 50 60 00:02:57,380 --> 00:03:01,160 และ 1,275 เป็นคำตอบของเรา 61 00:03:01,160 --> 00:03:02,253