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.