1 00:00:00,000 --> 00:00:02,830 >> SPEAKER 1: Hãy viết một chương trình nhắc nhở người dùng cho một tích cực 2 00:00:02,830 --> 00:00:05,950 số nguyên, n, và sau đó in ra tổng của tất cả những con số 3 00:00:05,950 --> 00:00:07,980 từ 1 đến n. 4 00:00:07,980 --> 00:00:10,580 Vâng, ở đây chúng tôi có chính, mà tôi đã đã được viết trước. 5 00:00:10,580 --> 00:00:13,520 Và nhận thấy đây ở đầu chính, tôi tuyên bố một int n. 6 00:00:13,520 --> 00:00:16,079 >> Tôi sau đó, bên trong một thời gian làm vòng lặp, đầu tiên in ra 7 00:00:16,079 --> 00:00:17,530 số nguyên dương, xin vui lòng. 8 00:00:17,530 --> 00:00:21,070 Sau đó tôi tiến hành để có được một số nguyên từ cho người dùng có được các thư viện của CS50 9 00:00:21,070 --> 00:00:22,070 int chức năng. 10 00:00:22,070 --> 00:00:26,410 Và sau đó trong tình trạng trong khi tôi ở đây, tôi đảm bảo rằng n lớn hơn hoặc 11 00:00:26,410 --> 00:00:30,480 bằng 1 trước khi tôi thực sự tiến hành làm điều gì đó với giá trị đó. 12 00:00:30,480 --> 00:00:31,520 >> Tôi phải làm gì tiếp theo? 13 00:00:31,520 --> 00:00:34,690 Vâng, tôi gọi một chức năng mà tôi sẽ gọi sigma, đại diện của 14 00:00:34,690 --> 00:00:37,700 sigma vốn mà bạn có thể có thu hồi từ các lớp học toán học 15 00:00:37,700 --> 00:00:40,860 chỉ ra rằng bạn muốn một cái gì đó tổng hợp từ một giá trị khác. 16 00:00:40,860 --> 00:00:44,540 Và bất cứ điều gì mà trở về chức năng như giá trị trả về, tôi sẽ lưu trữ 17 00:00:44,540 --> 00:00:46,500 trong một biến gọi là câu trả lời. 18 00:00:46,500 --> 00:00:50,280 >> Cuối cùng, trong dòng cuối cùng của tôi trong chính, tôi sẽ in ra câu trả lời là gì. 19 00:00:50,280 --> 00:00:52,840 Tất nhiên, chúng ta chưa thực hiện chức năng sigma này. 20 00:00:52,840 --> 00:00:54,590 Vì vậy, làm thế nào để chúng tôi đi về làm điều đó? 21 00:00:54,590 --> 00:00:58,040 >> Vâng, ở dưới cùng của tập tin của tôi, tôi sẽ tiến hành khai báo một hàm 22 00:00:58,040 --> 00:00:59,450 trả về int. 23 00:00:59,450 --> 00:01:01,630 Và tôi sẽ gọi mà chức năng sigma. 24 00:01:01,630 --> 00:01:06,340 Và tôi sẽ xác định đó là đầu vào chức năng cũng chấp nhận một int. 25 00:01:06,340 --> 00:01:09,800 Và tôi sẽ gọi nó là chỉ để được riêng biệt, m thay vì n. 26 00:01:09,800 --> 00:01:12,120 Nhưng chúng ta có thể gọi nó là hầu hết bất cứ điều gì chúng tôi muốn. 27 00:01:12,120 --> 00:01:14,930 >> Bên trong cơ thể của chức năng này tôi sẽ tiến hành sử dụng một quen thuộc 28 00:01:14,930 --> 00:01:16,420 xây dựng, cụ thể là một vòng lặp. 29 00:01:16,420 --> 00:01:19,010 Nhưng tôi cũng sẽ làm một chút về sự tỉnh táo kiểm tra để đảm bảo rằng các 30 00:01:19,010 --> 00:01:22,340 người sử dụng không cung cấp cho tôi với một số rằng tôi không mong đợi. 31 00:01:22,340 --> 00:01:28,010 Đặc biệt, tôi sẽ làm gì nếu m là ít hơn 1 và có phần tùy tiện, 32 00:01:28,010 --> 00:01:31,280 Tôi chỉ đơn giản là sẽ trở về 0 nếu con số này không phải là một tích cực 33 00:01:31,280 --> 00:01:32,800 số nguyên như tôi mong đợi. 34 00:01:32,800 --> 00:01:36,920 >> Sau đó, tôi sẽ khai báo một biến gọi là tiền và khởi tạo nó là 0. 35 00:01:36,920 --> 00:01:40,810 Điều này cuối cùng sẽ lưu trữ các khoản tất cả các số từ 1 đến m. 36 00:01:40,810 --> 00:01:43,550 Và sau đó tôi sẽ sử dụng một quen thuộc về phía trước vòng lặp xây dựng. 37 00:01:43,550 --> 00:01:50,272 Cho int i được 1, tôi là ít hơn hoặc bằng m, tôi cộng với cộng. 38 00:01:50,272 --> 00:01:54,010 Và sau đó, trong cơ thể của này vòng, tôi chỉ đơn giản là sẽ làm tổng hợp 39 00:01:54,010 --> 00:01:56,350 bằng tổng cộng tôi. 40 00:01:56,350 --> 00:02:01,900 Hay đơn giản hơn, tổng cộng bằng i, mà đạt được kết quả tương tự. 41 00:02:01,900 --> 00:02:04,810 >> Và sau đó cuối cùng, tôi cần phải trả lại tổng mà tôi đã tính toán. 42 00:02:04,810 --> 00:02:07,640 Vì vậy tôi thêm lại tiền. 43 00:02:07,640 --> 00:02:08,560 >> Bây giờ tôi không thực hiện được nêu ra. 44 00:02:08,560 --> 00:02:11,360 Tôi cần phải dạy C này chức năng thực sự tồn tại. 45 00:02:11,360 --> 00:02:14,400 Và do đó trên tập tin của tôi tôi sẽ tuyên bố những gì chúng tôi gọi là một chức năng 46 00:02:14,400 --> 00:02:18,270 nguyên mẫu, giống với chữ ký mà tôi sử dụng khi xác định các chức năng 47 00:02:18,270 --> 00:02:19,250 một thời điểm trước đây. 48 00:02:19,250 --> 00:02:22,450 >> Cụ thể, ngay trên chính, Tôi sẽ gõ int 49 00:02:22,450 --> 00:02:26,080 sigma, int m, dấu chấm phẩy. 50 00:02:26,080 --> 00:02:29,240 Không thực hiện chức năng một lần nữa, chỉ đơn giản tuyên bố nó. 51 00:02:29,240 --> 00:02:32,800 Nếu bây giờ tôi tiết kiệm, biên dịch và chạy chương trình, chúng ta hãy xem những gì tôi nhận được. 52 00:02:32,800 --> 00:02:37,460 Làm cho sigma 0 dot giảm sigma 0. 53 00:02:37,460 --> 00:02:41,050 Và bây giờ chúng ta hãy cung cấp một số nguyên dương như 2, mà nên cung cấp cho tôi 54 00:02:41,050 --> 00:02:45,920 ba, vì các giá trị giữa 1 và 2 là 1 cộng 2 bằng 3. 55 00:02:45,920 --> 00:02:47,300 Và quả thật, đó là những gì tôi nhận được. 56 00:02:47,300 --> 00:02:49,940 >> Chúng ta hãy chạy nó một lần nữa, điều này thời gian, nói rằng, 3. 57 00:02:49,940 --> 00:02:53,470 Vì vậy, tôi sẽ nhận được 1 cộng với 2 cộng 3 nên cung cấp cho tôi 6. 58 00:02:53,470 --> 00:02:54,740 Và quả thực, tôi nhận được 6. 59 00:02:54,740 --> 00:02:57,380 >> Và chúng ta hãy thử một giá trị cuối cùng, nói 50. 60 00:02:57,380 --> 00:03:01,160 Và 1275 là câu trả lời của chúng tôi. 61 00:03:01,160 --> 00:03:02,253