>> 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.