>> LUIDSPREKER 1: Laten we een programma schrijven dat vraagt ‚Äã‚Äãde gebruiker om een ‚Äã‚Äãpositieve
integer, n, en dan drukt de som van alle getallen
tussen 1 en n.
Nou, hier hebben we hoofdgerecht, die ik heb al op voorhand geschreven.
En let hier op de top van belangrijkste, verklaar ik een int n.
>> Vervolgens heb ik, de binnenkant van een doe terwijl lus, eerst uit te printen
positief geheel getal, alstublieft.
Dan ga ik naar een geheel getal te krijgen van de gebruiker met Get The CS50 bibliotheek
int functie.
En dan in mijn terwijl toestand hier, ik Zorg ervoor dat n groter dan of
gelijk aan 1 voordat ik eigenlijk verder om iets te doen met die waarde.
>> Wat moet ik nu doen?
Nou, ik noem een ‚Äã‚Äãfunctie die ik ga naar sigma, vertegenwoordiger van de bel
kapitaal sigma die u zou kunnen hebben teruggeroepen uit wiskunde klassen die
geeft aan dat u iets wilt samenvatten ve waarde naar de andere.
En wat die functie terugkeert als de return waarde, ik ga slaan
in een variabele genaamd antwoord.
>> Tot slot, in mijn laatste regel in de belangrijkste, ik ben gaat om uit te drukken wat er antwoord is.
Natuurlijk hebben we nog niet ge√Ømplementeerd deze functie sigma.
Dus hoe kunnen we dat het beste aan?
>> Nou ja, op de bodem van mijn dossier, ik ben zal gaan naar een functie verklaren
dat geeft een int.
En ik ga bellen die functie sigma.
En ik ga om aan te geven dat als input die functie aanvaardt ook een int.
En ik zal het gewoon noemen, te zijn onderscheiden, m plaats van n.
Maar we konden het hebben genoemd de meeste alles wat we zouden willen.
>> Binnenkant van het lichaam van deze functie ben ik zal gaan naar een bekende gebruiken
construeren, namelijk een lus.
Maar ik ga ook een beetje gezond verstand doen controleren om ervoor te zorgen dat de
gebruiker hoeft me niet te voorzien van een aantal dat ik niet verwacht.
In het bijzonder, ga ik doen als m minder dan 1 en enigszins arbitrair
Ik ga gewoon naar 0 terug als het nummer is niet een positief
integer als ik verwacht.
>> Dan ga ik naar een variabele declareren genoemd bedrag en initialiseren op 0.
Dit zal uiteindelijk de som van slaan alle getallen tussen 1 en m.
En dan ga ik naar een vertrouwde gebruiken vooruit lusconstructie.
Voor int i krijgt 1, i minder dan of gelijk aan m, i plus plus.
En dan, in het lichaam van deze loop, ga ik gewoon naar som doen
is gelijk aan som plus i.
Of, eenvoudiger, som plus evenaart i, die bereikt hetzelfde resultaat.
>> En dan tot slot, ik moet terugkeren de som die ik heb berekend.
Dus voeg ik in ruil som.
>> Nu ben ik nog niet klaar.
Ik moet leren C dat deze functie daadwerkelijk bestaat.
En dus boven op mijn dossier ga ik verklaren wat we een functie hebben genoemd
prototype, identiek aan de ondertekening die ik gebruikt bij het defini√´ren van de functie
een moment geleden.
>> Specifiek, net boven de belangrijkste, Ik ga int typen
sigma, int m, puntkomma.
Niet de uitvoering van de functie nogmaals, gewoon aangifte te doen.
Als ik nu op te slaan, te compileren, en uitvoeren van deze programma, laten we eens kijken wat ik krijg.
Maak sigma 0 dot slash sigma 0.
En laten we nu zorgen voor een positief geheel getal zoals 2, dat moet me
drie, omdat de waarden tussen 1 en 2 1 plus 2 is gelijk aan 3.
En inderdaad, dat is wat ik krijg.
>> Laten we lopen het weer, dit tijd met, zeg, 3.
Dus ik zou moeten krijgen 1 plus 2 plus 3 moet me 6.
En inderdaad, ik krijg 6.
>> En laten we proberen een laatste waarde, zeg 50.
En 1275 is ons antwoord.