>> SPEAKER 1: La oss skrive et program som ber brukeren for en positiv
heltall, n, og deretter skrives ut summen av alle tallene
mellom 1 og n..
Vel, her har vi hoved, som jeg har allerede skrevet på forhånd.
Og legg merke til her på toppen av Hoved, erklærer jeg en int n.
>> Jeg da, innsiden av en gjør mens loop, først skrive ut
positive heltall, takk.
Da videre for å få et helt tall fra brukeren med CS50 bibliotekets get
int funksjon.
Og så i min mens tilstanden her, jeg sørge for at n er større enn eller
lik en før jeg faktisk fortsette for å gjøre noe med denne verdien.
>> Hva gjør jeg nå?
Vel, jeg kaller en funksjon som jeg kommer å ringe sigma, representant for
kapital sigma at du kan ha tilbakekalt fra matematikk klasser som
angir at du vil summere noe fra en verdi til en annen.
Og uansett hva som fungerer avkastning som returverdien, kommer jeg til å lagre
i en variabel kalt svar.
>> Til slutt, i min siste linje i hoved, jeg er kommer til å skrive ut hva svaret er.
Selvfølgelig har vi ikke ennå implementert denne funksjonen sigma.
Så hvordan skal vi gå om du gjør det?
>> Vel, på bunnen av filen min, jeg er kommer til å fortsette å erklære en funksjon
som returnerer en int.
Og jeg kommer til å ringe at funksjon sigma.
Og jeg kommer til å spesifisere at som innspill at funksjonen aksepterer også en int.
Og jeg skal kalle det bare, å være tydelig, m i stedet for n.
Men vi kunne ha kalt det de fleste noe vi ønsker.
>> Innsiden av kroppen av denne funksjonen jeg er kommer til å fortsette å bruke et kjent
konstruere, nemlig en løkke.
Men jeg også kommer til å gjøre litt av tilregnelighet sjekke for å være sikker på at den
Brukeren trenger ikke gi meg med et nummer at jeg ikke er ventet.
Spesielt kommer jeg til å gjøre hvis m er mindre enn 1 og, noe vilkårlig,
Jeg rett og slett kommer til å returnere 0 hvis antallet er ikke en positiv
heltall som jeg forventer.
>> Så jeg kommer til å erklære en variabel kalt sum og initialisere den til 0.
Dette vil til slutt lagrer summen av alle tall mellom 1 og m.
Og så kommer jeg til å bruke et kjent frem sløyfe konstruere.
For int i får en, er jeg mindre enn eller lik m, jeg pluss pluss.
Og så, i hoveddelen av denne loop, er jeg rett og slett kommer til å gjøre summen
tilsvarer summen pluss jeg.
Eller, mer rett og slett, sum pluss lik i, som oppnår det samme resultat.
>> Og så til slutt, jeg trenger å gå tilbake summen som jeg har beregnet.
Så jeg legger i retur sum.
>> Nå er jeg ikke ferdig ennå.
Jeg trenger å lære C at dette funksjon faktisk eksisterer.
Og så på toppen av filen min jeg kommer til å erklære det vi har kalt en funksjon
prototype, identisk med signaturen som jeg brukte da funksjons
et øyeblikk siden.
>> Nærmere bestemt, like over hoved, Jeg kommer til å skrive int
sigma, int m, semikolon.
Ikke implementere funksjonen igjen, er det bare å erklære det.
Hvis jeg nå lagre, kompilere og kjøre denne programmet, la oss se hva jeg får.
Gjør sigma 0 dot slash sigma 0.
Og nå skal vi gi et positivt heltall som to, noe som bør gi meg
tre, fordi verdiene mellom 1 og 2 er 1 pluss 2 lik 3.
Og ja, det er hva jeg får.
>> La oss kjøre det igjen, denne tid med, si, tre.
Så jeg bør få en pluss to pluss 3 bør gi meg seks.
Og ja, jeg får seks.
>> Og la oss prøve en siste verdi, sier 50.
Og 1275 er vårt svar.