>> 1 SPEAKER: בואו לכתוב תכנית ש מנחה את המשתמש לחיובי
מספר שלם, n, ואז מדפיס את סכום כל המספרים
בין 1 ל n.
ובכן, כאן יש לנו עיקרי, שיש לי כבר נכתב מראש.
ושים לב כאן בחלק העליון של עיקרי, אני מצהיר n int.
>> אז, בתוך זמן מה לעשות לולאה, ראשון להדפיס את
מספר חיובי, בבקשה.
ואז להמשיך לקבל מספר שלם מ המשתמש עם הגט של ספריית CS50
int פונקציה.
ולאחר מכן במצב בזמן שלי כאן, אני לוודא כי n הוא גדול או
שווה ל 1 לפני שאני באמת להמשיך לעשות משהו עם ערך זה.
>> מה עליי לעשות עכשיו?
ובכן, אני קורא לפונקציה שאני הולך לקרוא לסיגמא, נציג
סיגמא הון שאולי יש לך נזכר משיעורי מתמטיקה ש
מציין שברצונך לסכם משהו מערך אחד למשנו.
וכל מה שמחזיר פונקציה כמו ערך ההחזרה שלה, אני הולך לחנות
במשתנה שנקראה תשובה.
>> לבסוף, בשורה האחרונה שלי בראשי, אני הולך להדפיס את מה שהיא תשובה.
כמובן, יש לנו עדיין לא מיושמים סיגמא בפונקציה זו.
אז איך ללכת על עושה את זה?
>> ובכן, בחלק התחתון של התיק שלי, אני הולך להמשיך להכריז על פונקציה
שמחזיר int.
ואני הולך לקרוא כי סיגמא הפונקציה.
ואני הולך לציין שכקלט פונקציה שמקבלת גם int.
ואני אקרא לזה פשוט, להיות ברור, מ 'במקום n.
אבל אנחנו יכולנו לקרוא לזה רוב מה שאנחנו רוצים.
>> בתוך הגוף של פונקציה זו אני הולך להמשיך להשתמש מוכר
לבנות, כלומר לולאה.
אבל אני גם הולך לעשות קצת שפיות בדיקה כדי לוודא כי
משתמש לא יספק לך מספר לי שאני לא מצפה.
בפרט, אני הולך לעשות אם מ 'הוא פחות מ 1 ו, באופן שרירותי למדי,
אני פשוט הולך להחזיר 0 אם המספר אינו חיובי
שלם כמו שאני מצפה.
>> ואז אני הולך להצהיר על משתנה נקרא הסכום ולאתחל אותו ל -0.
זה סופו של דבר לאחסן את הסכום של את כל המספרים בין 1 ל מ '.
ולאחר מכן אני הולך להשתמש מוכר מבנה לולאה קדימה.
עבור int אני מקבל 1, הוא שאני פחות מ או שווה ל מ ', אני בתוספת בתוספת.
ואז, בתוך הגוף של זה לולאה, אני פשוט הולך לעשות את הסכום
שווה סכום בתוספת i.
בתוספת או, יותר פשוט, סכום שווה לי, אשר משיג את אותה התוצאה.
>> ואז לבסוף, אני צריך לחזור הסכום שאני כבר מחושב.
אז אני מוסיף בסכום תמורה.
>> עכשיו אני לא עשיתי עדיין.
אני צריך ללמד את C שזה פונקציה אכן קיימת.
וכך על גבי הקובץ שלי אני הולך להכריז מה שנקראים פונקציה
אב טיפוס, זהה לחתימה כי נהגתי בעת הגדרת הפונקציה
לפני רגע.
>> באופן ספציפי, ממש מעל עיקרי, אני הולך להקליד int
סיגמא, מ 'int, פסיק.
אינו מיישם את הפונקציה שוב, פשוט מצהיר על זה.
אם אני עכשיו להציל, לקמפל ולהריץ את זה תכנית, בואו נראה מה שאני מקבל.
הפוך 0 נקודת סיגמא סלאש סיגמא 0.
ועכשיו בואו לספק מספר חיובי כמו 2, שאמור לתת לי
שלוש, משום שהערכים שבין 1 ו -2 הם 1 ועוד 2 שווים 3.
ואכן, זה מה שאני מקבל.
>> בואו להפעיל אותו שוב, זמן עם, נניח, 3.
אז אני צריך לקבל 1 ועוד 2 ועוד 3 צריכים לתת לי 6.
ואכן, מקבל אותי 6.
>> ובואו ננסה ערך אחד שעבר, אומרים 50.
ו1,275 הוא התשובה שלנו.