>> SPEAKER 1: Lad os skrive et program, beder brugeren om en positiv
heltal, n, og udskriver derefter ud summen af ​​alle de numre
mellem 1 og n.
Nå, her har vi main, som jeg har allerede skrevet på forhånd.
Og bemærker her på toppen af main, jeg erklærer en int n.
>> Jeg så, inde i en gør samtidig loop, først udskrive
positivt heltal, tak.
Så jeg går til at få et heltal fra brugeren med CS50 bibliotekets get
int funktion.
Og så i min mens tilstand her, jeg sørg for, at n er større end eller
lig med 1, før jeg rent faktisk fortsætte at gøre noget med denne værdi.
>> Hvad gør jeg nu?
Nå, jeg kalder en funktion, som jeg har tænkt mig at kalde sigma, repræsentant for
kapital sigma som du måtte have tilbagekaldes fra matematiske klasser,
angiver, at du ønsker at opsummere noget fra en værdi til en anden.
Og hvad det så returnerer funktionen som dens returværdi, jeg har tænkt mig at gemme
i en variabel kaldet svar.
>> Endelig i min sidste linie i hoved, jeg er kommer til at printe ud, hvad svaret er.
Selvfølgelig har vi endnu ikke implementeret denne funktion sigma.
Så hvordan kan vi gå om at gøre det?
>> Nå, i bunden af ​​min fil, jeg er kommer til at fortsætte med at erklære en funktion
der returnerer en int.
Og jeg har tænkt mig at ringe til denne funktion sigma.
Og jeg har tænkt mig at præcisere, at som input denne funktion accepterer også en int.
Og jeg vil kalde det bare at være tydelig, m i stedet for n.
Men vi kunne have kaldt det de fleste noget, vi gerne vil.
>> Inde i kroppen af ​​denne funktion er jeg kommer til at fortsætte at bruge en velkendt
konstruere, nemlig en løkke.
Men jeg vil også gøre en smule fornuft kontrol for at sikre, at den
brugeren ikke give mig med et nummer at jeg ikke forventer.
I særdeleshed vil jeg gøre, hvis m er mindre end 1, og noget vilkårligt,
Jeg simpelthen kommer til at returnere 0, hvis nummeret ikke er positiv
heltal, som jeg forventer.
>> Så jeg har tænkt mig at erklære en variabel kaldet sum og initialisere den til 0.
Dette vil i sidste ende at gemme summen af alle tal mellem 1 og m.
Og så har jeg tænkt mig at bruge et velkendt fremad loop konstruktion.
For int i får 1, i er mindre end eller lig med m, jeg plus plus.
Og så, i kroppen af ​​denne loop, jeg simpelthen vil gøre sum
lig sum plus jeg.
Eller mere enkelt, sum plus lig i, som opnår samme resultat.
>> Og så til sidst, jeg har brug for at vende tilbage det beløb, som jeg har beregnet.
Så jeg tilføje gengæld sum.
>> Nu er jeg ikke færdig endnu.
Jeg har brug for at lære C, at denne funktionen rent faktisk eksisterer.
Og så oven min fil jeg har tænkt mig at erklære hvad vi har kaldt en funktion
prototype identisk med signaturen som jeg brugte når man skal definere funktionen
for et øjeblik siden.
>> Specifikt lige over hoved, Jeg har tænkt mig at skrive int
sigma, int m, semikolon.
Ikke gennemfører funktion igen, blot at erklære den.
Hvis jeg nu gemme, kompilere og køre dette program, lad os se, hvad jeg får.
Gør sigma 0 prik skråstreg sigma 0.
Og lad os nu give et positivt heltal som 2, der skal give mig
tre, fordi værdierne mellem 1 og 2 er 1 plus 2 er lig med 3.
Og ja, det er hvad jeg får.
>> Lad os køre det igen, denne tid med, siger, 3..
Så jeg skulle få 1 plus 2 plus 3, skal give mig 6.
Og ja, jeg får 6.
>> Og lad os prøve en sidste værdi, siger 50 år.
Og 1.275 er vores svar.