SPEAKER 1: Írjunk egy programot, amely felszólítja a felhasználót, a pozitív egész szám, n, majd kiírja összege az összes számot 1 és n közötti. Nos, itt van fő, amit már már írt előre. És észre, itt a tetején fő, kijelentem egy int n. Aztán, belsejében egy do, míg loop, először nyomtassa ki pozitív egész szám, kérem. Aztán folytassa, hogy kap egy egész szám A felhasználó a CS50 könyvtár get int funkciót. És akkor én, míg állapotban van, azt megbizonyosodjon arról, hogy az n-nél nagyobb vagy egyenlő 1-gyel, mielőtt ténylegesen folytatja tenni valamit ezzel az értékkel. Mit tegyek most? Nos, hívja a függvényt, hogy fogok hívni sigma, képviselője tőke szigma hogy lehet, hogy emlékeztetett a matematikai osztályok azt jelzi, hogy szeretne összegezni valamit az egyik értéket a másikra. És bármit is függvény, mint visszatérési értéke, fogom tárolni A változó nevű választ. Végül, az utolsó sorban a fő vagyok a nyomdába, hogy mi válasz. Persze, még nem hajtotta végre ezt a funkciót szigma. Szóval hogyan lehet járni csinálja? Nos, az alján a fájl, én vagyok fog eljárni, hogy állapítsa meg a funkciót hogy ad vissza int. És én fogom hívni ezt a funkciót szigma. És én fogom megadni, hogy az input ez a funkció is elfogadja az int. És én hívom csak, hogy megkülönböztethető, m helyett n. De volna nevezte a a legtöbb semmit szeretnénk. Belül a szervezet ezt a funkciót vagyok majd folytassa egy ismerős építeni, azaz a hurok. De én is csinálni egy kis józanság Ellenőrizzük, hogy a felhasználó nem adja meg nekem egy számot hogy én nem számítottam. Különösen azt fogom csinálni, ha m kevesebb, mint 1, és némileg önkényesen, Én egyszerűen megy vissza 0, ha a szám nem pozitív egész, ahogy várnánk. Akkor én megyek, hogy állapítsa meg a változó hívott összeg és inicializálni 0-ra. Ez végső soron tárolja az összege összes számot 1 és m közötti. És akkor fogok egy ismerős forward loop konstrukció. Az int i lesz 1, i kevesebb, mint vagy egyenlő, m, i plusz plusz. És akkor, a testen belül a jelen loop, én csak csinálni összeg egyenlő összeget plusz. Vagy még egyszerűbben, összege és egyenlő i, amely megvalósítja ugyanazt az eredményt. És akkor végül, azt vissza kell Az összeg, amit kiszámítani. Szóval hozzá cserébe összeget. Most még nincs kész. Meg kell tanítani a C, hogy ez a funkció valóban létezik. És így a tetején a fájl fogom bejelenteni mi már nevezett funkció prototípus, azonos az aláírás hogy használtam meghatározásakor a funkció egy pillanattal ezelőtt. Pontosabban, csak a fenti fő, Megyek típus int Sigma, int m, pontosvessző. Nem hajtják végre a funkciót újra, egyszerűen kijelentette azt. Ha most menteni, fordítsd, és futtassa ezt programot, lássuk, mit kapok. Legyen sigma 0 pont perjel szigma 0-ra. És most nézzük, hogy egy pozitív egész mint a 2, ami nekem három, mert az értékek közötti 1 és 2 1 3 plusz 2 egyenlő. És valóban, ez az, amit kapok. Fussunk újra, ez a időt, mondjuk, 3. Szóval kéne 1 plusz 2 plusz 3. adj 6. És valóban, én kap 6. És próbáljuk meg egy utolsó érték, mondjuk 50. És a 1275 is a választ.