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 em>)
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 - i 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. /span>
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 .
|