>> ALTAVEU 1: Anem a escriure un programa que sol · licita a l'usuari un positiu
nombre enter, n, i després imprimeix fora la suma de tots els números
entre 1 i n.
Bé, aquí tenim principal, que he ja escrita per endavant.
I notin aquí, a la part superior de principal, declaro 1 int n.
>> Llavors, dins d'un temps do loop, primer imprimeixi
enter positiu, si us plau.
Llavors procedeixo a obtenir un nombre enter d' l'usuari amb get de la biblioteca CS50
funció int.
I després, en la meva condició mentre que aquí, assegurar-se que n és més gran que o
igual a 1 abans que realment procedeixo fer alguna cosa amb aquest valor.
>> Què faig ara?
Bé, que jo anomeno una funció que em vaig cridar sigma, representant de la
sigma majúscula que pugui tenir convocat de les classes de matemàtiques que
indica que vol sumar alguna cosa d'un valor a un altre.
I tot el que retorna la funció com el seu valor de retorn, ho vaig a guardar
en una variable anomenada resposta.
>> Finalment, en la meva última línia principal, estic va a imprimir el que la resposta és.
Per descomptat, encara no hem implementat aquesta funció de Sigma.
Llavors, com farem això?
>> Bé, en el fons del meu arxiu, estic procedirà a declarar una funció
que retorna un int.
I jo vaig a trucar que Sigma funció.
I jo vaig a especificar que com a entrada aquesta funció també accepta un int.
I el trucaré simplement, per ser diferent, m en lloc de n.
Però podríem haver cridat l' gairebé tot el que ens agradaria.
>> A l'interior del cos d'aquesta funció que sóc va a procedir a utilitzar un familiar
construir, és a dir, un bucle.
Però jo també vaig a fer una mica de seny comprovació per assegurar-se que el
usuari no em donarà un nombre que no estic esperant.
En particular, em vaig a fer si m és menys d'1 i, una mica arbitràriament,
Simplement vaig a tornar 0 si el nombre no és positiu
sencer com espero.
>> Llavors em vaig a declarar una variable anomenat suma i inicialitzar a 0.
Al final, emmagatzemar la suma de tots els nombres entre 1 i m.
I llavors vaig a utilitzar un familiar construcció de bucle cap endavant.
Per int i obté 1, i és menor que o igual a m, i plus plus.
I després, dins del cos d'aquest loop, simplement faré suma
és igual a la suma més i.
O, més simplement, la suma és igual a més i, que aconsegueix el mateix resultat.
>> I després, finalment, he de tornar la suma que he calculat.
Així que afegeixo en suma retorn.
>> Ara no he acabat encara.
He de ensenyar a C que aquesta funció realment existeix.
I així part de dalt del arxiu que vaig a declarar el que hem anomenat una funció
prototip, idèntica a la signatura que he fet servir en la definició de la funció
fa un moment.
>> Específicament, just per sobre de principal, Vaig a escriure int
sigma, int m, punt i coma.
No aplicació de la funció de nou, simplement declarar.
Si ara puc guardar, compilar i executar aquest programa, anem a veure el que em passa.
Feu sigma 0 punts slash sigma 0.
I ara anem a proporcionar un nombre enter positiu com 2, que hauria donar-me
tres, perquè els valors entre 1 i 2 són 1 més 2 és igual a 3.
I, de fet, això és el que em passa.
>> Anem a córrer de nou, aquesta temps amb, diguem, 3.
Així que hauria d'obtenir 1 més 2 més 3 m'hauria de donar 6.
I, de fet, em poso 6.
>> I intentarem un últim valor, diuen 50.
I 1275 és la nostra resposta.