Proviamo a scrivere un programma per risolvere il seguente problema:
Trova la somma di tutti i numeri interi compresi tra 100 e 500.
Quando si risolve questo problema, diventa difficile trovare la somma. Se scriviamo semplicemente il risultato dell'addizione alla variabile s, ad esempio, as
s=100+101+102+103+...+500
ci vorrà molto tempo per la registrazione stessa, perché il computer non capirà come usare i puntini di sospensione nell'espressione aritmetica e dovremo scrivere tutti i numeri da 100 a 500 in questa somma. E il valore di un tale programma sarebbe trascurabile. Soprattutto se vogliamo cambiare i nostri numeri e prendere una gamma diversa.
Cosa dovremmo fare?
Se prestiamo attenzione alla voce sopra, utilizziamo costantemente l'aggiunta "+".
Puoi provare ad aggiungere numeri alla variabile s gradualmente. Ad esempio, utilizzando questa notazione
s := s + i;
cosa abbiamo fatto qui:
1) a destra mettiamo l'espressione s+i, , cioè prendiamo il valore della variabile s, che ora abbiamo in memoria e sommiamo il valore della variabile i< ad essa /strong>
2) a sinistra impostiamo il nome della variabile s, ovvero l'intero risultato del calcolo a destra verrà memorizzato in questa variabile, quindi cambieremo il valore della variabile s.
Dove possiamo trovare i numeri della nostra gamma?
I numeri da 100 a 500 che appartengono al nostro intervallo dovrebbero rientrare nella variabile i uno per uno. E questo può essere fatto usando il noto ciclo for
Ad esempio, in questo modo
s := 0; //all'inizio è necessario azzerare la variabile s, in modo che al primo passo il numero 100 venga sommato a zero, e non a quello che c'è in memoria!
for i := da 100 a 500 do //intestazione del ciclo, in cui la variabile i cambia il suo valore da 100 a 500 con incrementi di 1
s := s + io; //il corpo del ciclo, in cui aggiungiamo gradualmente il valore della variabile variabile i alla variabile s
// e il risultato viene memorizzato nella variabile s
Questa soluzione è molto simile al calcolo della somma per azioni
s = 0 + 100 = 100
s = 100 + 101 = 201
s = 201 + 102 = 303
eccetera.