ciclos. Loop com parâmetro (for)


Vamos imaginar uma situação em que precisamos exibir a mesma palavra na tela, digamos a palavra "OLÁ" ;, 10 vezes. O que devemos fazer?
Você pode pegar e escrever o comando 10 vezes Console.WriteLine("HELLO");

Mas e se você precisar não 10 vezes, mas 20, 30, 40 vezes? E se 200 vezes? Nesse caso, a cópia levará muito tempo. E se for necessário que o usuário escolha quantas vezes deseja exibir as informações na tela? 

Para lidar com essa tarefa, podemos usar uma construção especial chamada loop.

Um loop é uma construção algorítmica na qual uma determinada sequência de comandos é repetida várias vezes.

Na linguagem de programação C#, existem dois tipos de loops: um loop variável (for) e um loop condicional (while e do...while)

Vamos começar nosso conhecimento dos ciclos do primeiro tipo.

Um loop com uma variável ou com um número conhecido de passos (for).

Muitas vezes, sabemos o número de repetições de alguma ação ou podemos serif">calcular
número de repetições usando os dados que conhecemos. Algumas linguagens de programação possuem um comando que em russo soa como repetir (número de vezes) - ou seja, podemos especificar o número exato de repetições. 

É interessante ver como esse ciclo funciona no nível da máquina:
1. Uma determinada célula de memória é alocada na memória e o número de repetições é gravado nela.
2. Quando o programa executa o corpo do loop uma vez, o conteúdo desta célula (contador) é decrementado em um.
3. O loop termina quando esta célula é zero.

Na linguagem de programação C#, não existe essa construção, mas sim a construção for.  

A forma geral do operador de loop for é a seguinte:
for (/*expressão1*/; /*expressão2*/; /*expressão3 */) { /*uma instrução ou bloco de instruções - corpo do loop*/; } Esta construção exige que:
1. Aloque explicitamente uma célula de memória que será um contador e defina seu valor inicial.
2. Escrevemos uma condição sob a qual o corpo do loop será executado.
3. Especifique como o valor nesta célula será alterado.

Na parte prática, tentaremos exibir a palavra "Olá" 10 vezes e, em tarefas posteriores, analisaremos essa construção com mais detalhes.

loop
for
O loop for é um meio de percorrer ações repetidas. Vamos dar uma olhada em como isso funciona.

Normalmente, partes do loop for  seguem as seguintes etapas: 
1. Configurando o valor inicial. 
2. Executando um teste de condição para continuar o loop. 
3. Execute ações de loop. 
4. Atualize o(s) valor(es) usado(s) no teste. 
e então as etapas 2-4 são repetidas até que a condição seja satisfeita. Assim que a condição se tornar falsa, o loop termina e a instrução seguinte à instrução do loop for é executada.
 
Forma geral do loop  for (/* expressão 1*/; /* expressão 2*/; /* expressão 3*/ ) {       /* uma instrução ou bloco de instruções - corpo do loop */; }

Expressão 1 responsável por definir o valor inicial da variável do loop (contador), termina com ponto e vírgula.
Por exemplo :
  • i=0; // variável de loop i definir valor inicial igual a zero - deve ser declarado antes o laço
  • int i=0; // a variável i pode ser declarada imediatamente no cabeçalho do loop, mas neste caso, ela será apagada da memória após o execuções de loop
  • ;  // não há nenhuma inicialização e declaração da variável do ciclo, neste caso, ela pode ser declarada antes do ciclo
Expressão 2 - esta é a condição para continuar o loop for, é testada para veracidade. Por exemplo,

i <= 10  // o loop será executado enquanto a variável i for menor ou igual a 10.
A condição pode ser qualquer coisa.

Expressão 3 altera o valor da variável do contador. Sem esse valor, o loop será considerado infinito. Por exemplo,

i++;  // cada vez que o corpo do loop é concluído, i é incrementado em 1.

 

Pode haver vários operadores em cada parte do cabeçalho, separados por vírgulas.
Exemplos de títulos:

for ( int i = 0; i < 10; i + + ) { ... } - título padrão

for ( int i = 0, x = 1; i < 10; i += 2, x *= 2 ){ ... }  
         // neste caso, utilizamos duas variáveis ​​que irão mudar após a execução do corpo do loop - são as variáveis ​​ i e x
         // variável i muda em incrementos de 2 - i+=2 - abreviação de i=i+2
         // variável x aumenta 0,1 vezes a cada passo x=x*2 - abreviado х*=2
< /span>

Repetir N vezes

Todos os programas com um loop for que escrevemos até agora não podem ser chamados de universais. Porque nós mesmos definimos o número de repetições do corpo do loop. Mas e se o número de repetições depender de algum outro valor? Por exemplo, o próprio usuário deseja definir o número de repetições do ciclo.
O que fazer neste caso? Tudo é muito simples. Em vez de valores iniciais e finais numéricos, podemos usar quaisquer variáveis ​​que possam ser calculadas ou definidas pelo usuário.

Por exemplo, precisamos exibir os quadrados dos números de 1 a N, onde o valor da variável N é inserido no teclado por o usuário.
O programa ficará assim:
  #include <iostream> usando namespace std; principal() { int i,N; // em colisão; variável de loop, N - o número máximo para o qual calculamos o quadrado cin>> N; for ( i = 1; i <= N; i ++) // loop: para todo i de 1 a N. A variável i assumirá sequencialmente os valores de 1 a N { cout << "Número quadrado "<<i<<" é" <<i*i<<"\n"; // Emitindo o quadrado de um número em um formato específico e movendo para uma nova linha } } Ao entrar no loop, a instrução i = 1 é executada e, em seguida, a variável i é incrementada em um a cada etapa (i ++ ). O loop é executado enquanto a condição i <= N for verdadeira. No corpo do loop, a única instrução de saída imprime o próprio número e seu quadrado na tela de acordo com o formato especificado.
Para elevar ao quadrado ou outros expoentes baixos, é melhor usar a multiplicação.

Execute o programa e veja o resultado de seu trabalho com diferentes valores da variável N.