Module: Per l'istruzione del ciclo. Compiti tipici


Problem

1/16

Somma di numeri di sequenza - Esempio 1

Theory Click to read/hide

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.

Problem

1. Eseguire il programma analizzato nella parte teorica per l'esecuzione, vedere il risultato del suo lavoro