Module: For declaração de loop. Tarefas típicas


Problem

1/16

Soma de Números de Sequência - Exemplo 1

Theory Click to read/hide

Vamos tentar escrever um programa para resolver o seguinte problema:
Encontre a soma de todos os números inteiros entre 100 e 500. 

Ao resolver este problema, torna-se difícil encontrar a soma. Se simplesmente escrevermos o resultado da adição à variável s, por exemplo, como


s=100+101+102+103+...+500

vai demorar muito para o registro propriamente dito, pois o computador não vai entender como usar as reticências na expressão aritmética e teremos que escrever todos os números de 100 a 500 nessa soma. E o valor de tal programa seria insignificante. Especialmente se quisermos mudar nossos números e escolher um intervalo diferente.

O que devemos fazer?

Se prestarmos atenção à entrada acima, usaremos constantemente a adição "+".
Você pode tentar adicionar números à variável s gradualmente. Por exemplo, usando esta notação
s := s + i;
o que fizemos aqui:
1) à direita colocamos a expressão s+i, , ou seja, pegamos o valor da variável s, que agora temos na memória e somamos o valor da variável i< para ele /strong>
2) à esquerda definimos o nome da variável s, ou seja, todo o resultado do cálculo da direita será armazenado nesta variável, portanto, alteraremos o valor da variável s. 

Onde podemos obter números de nosso intervalo?

Os números de 100 a 500 que pertencem ao nosso intervalo devem cair na variável i um a um. E isso pode ser feito usando o conhecido loop for
Por exemplo, desta forma s := 0; //no início é necessário zerar a variável s, para que na primeira etapa o número 100 seja adicionado a zero, e não ao que está na memória! for i := 100 to 500 do //cabeçalho do loop, no qual a variável i muda seu valor de 100 para 500 em incrementos de 1 s := s + i; //o corpo do loop, no qual gradualmente adicionamos o valor da variável variável i à variável s // e o resultado é armazenado de volta na variável s Esta solução é muito semelhante ao cálculo da soma por ações
 s = 0 + 100 = 100
 s = 100 + 101 = 201
 s = 201 + 102  = 303
etc.

Problem

1. Execute o programa analisado na parte teórica para execução, veja o resultado do seu trabalho