Perl | Loops (for, foreach, while, do ... while, until, loops aninhados)
O loop em linguagens de programação é um recurso que facilita a execução de um conjunto de instruções ou funções repetidamente enquanto alguma condição é avaliada como verdadeira. Os loops tornam a tarefa do programador mais simples. Perl fornece os diferentes tipos de loop para lidar com a situação baseada em condições no programa. Os loops em Perl são:
for Loop
O loop “for” fornece uma maneira concisa de escrever a estrutura do loop. Ao contrário de um loop while, uma instrução for consome a inicialização, condição e incremento / decremento em uma linha, fornecendo assim uma estrutura de loop mais curta e fácil de depurar.
Sintaxe:
for (init statement; condition; increment/decrement ) { # Code to be Executed }
Fluxograma:
Um loop for funciona em um fluxo de controle predefinido. O fluxo de controle pode ser determinado pelo seguinte:
- Instrução init: Esta é a primeira instrução executada. Nesta etapa, inicializamos uma variável que controla o loop.
- condição: nesta etapa, a condição fornecida é avaliada e o loop for é executado se for True. É também um loop de controle de entrada, pois a condição é verificada antes da execução das instruções de loop.
- Execução da instrução: uma vez que a condição é avaliada como verdadeira, as instruções no corpo do loop são executadas.
- incremento / decremento: A variável de controle do loop é alterada aqui (incrementada ou decrementada) para atualizar a variável para a próxima iteração.
- Término do loop: Quando a condição se torna falsa, o loop termina marcando o fim de seu ciclo de vida.
Exemplo :
# Perl program to illustrate
# the for loop
# for loop
for ($count = 1 ; $count <= 3 ; $count++)
{
print "GeeksForGeeks\n"
}
Saída:
GeeksForGeeks GeeksForGeeks GeeksForGeeks
Loop foreach
Um loop foreach é usado para iterar sobre uma lista e a variável contém o valor dos elementos da lista, um de cada vez. Ele é usado principalmente quando temos um conjunto de dados em uma lista e queremos iterar sobre os elementos da lista em vez de iterar sobre seu intervalo. O processo de iteração de cada elemento é feito automaticamente pelo loop.
Sintaxe:
foreach variable { # Code to be Executed }
Fluxograma:
Exemplo:
# Perl program to illustrate
# the foreach loop
# Array
@data = ('GEEKS', 'FOR', 'GEEKS');
# foreach loop
foreach $word (@data)
{
print $word
}
Saída:
GEEKSFORGEEKS
while Loop
Um loop while geralmente leva uma expressão entre parênteses. Se a expressão for True, o código dentro do corpo do loop while é executado. Um loop while é usado quando não sabemos o número de vezes que queremos que o loop seja executado, embora conheçamos a condição de término do loop. Também é conhecido como loop controlado por entrada, pois a condição é verificada antes de executar o loop. O loop while pode ser considerado uma instrução if de repetição.
Sintaxe:
while (condition) { # Code to be executed }
Fluxograma:
Exemplo :
# Perl program to illustrate
# the while loop
# while loop
$count = 3;
while ($count >= 0)
{
$count = $count - 1;
print "GeeksForGeeks\n";
}
Saída:
GeeksForGeeks GeeksForGeeks GeeksForGeeks GeeksForGeeks
Loop While Infinito: O loop While pode ser executado infinitas vezes, o que significa que não há condição de término para este loop. Em outras palavras, podemos dizer que existem algumas condições que sempre permanecem verdadeiras, o que faz com que o loop while seja executado infinitas vezes ou podemos dizer que ele nunca termina.
- Exemplo: o programa abaixo imprimirá a instrução especificada por tempo infinito e também fornecerá o erro de tempo de execução como Limite de saída excedido no IDE online
# Perl program to illustrate
# the infinite while loop
# infinite while loop
# containing condition 1
# which is always true
while(1)
{
print "Infinite While Loop\n";
}
- Saída:
Infinite While Loop Infinite While Loop Infinite While Loop Infinite While Loop . . . .
Faz…. loop while
Um loop do..while é quase igual a um loop while. A única diferença é que o loop do..while é executado pelo menos uma vez. A condição é verificada após a primeira execução. Um loop do..while é usado quando queremos que o loop execute pelo menos uma vez. Também é conhecido como loop de saída controlada, pois a condição é verificada após a execução do loop.
Sintaxe:
do { # statements to be Executed } while(condition);
Fluxograma:
Exemplo :
# Perl program to illustrate
# do..while Loop
$a = 10;
# do..While loop
do {
print "$a ";
$a = $a - 1;
} while ($a > 0);
Saída:
10 9 8 7 6 5 4 3 2 1
até o laço
O loop until é o oposto do loop while. Leva uma condição entre parênteses e só funciona até que a condição seja falsa. Basicamente, ele repete uma instrução ou conjunto de instruções até que a condição seja FALSE. É também um loop de controlador de entrada, ou seja, primeiro a condição é verificada e, em seguida, um conjunto de instruções dentro de um bloco é executado.
Sintaxe:
until (condition) { # Statements to be executed }
Fluxograma:
Exemplo :
# Perl program to illustrate until Loop
$a = 10;
# until loop
until ($a < 1)
{
print "$a ";
$a = $a - 1;
}
Saída:
10 9 8 7 6 5 4 3 2 1
Loops aninhados
Um loop aninhado é um loop dentro de um loop. Os loops aninhados também são suportados pela Programação Perl. E todos os loops discutidos acima podem ser aninhados.
Sintaxe para diferentes loops aninhados em Perl:
- Aninhado por loop
for (init statement; condition; increment/decrement ) { for (init statement; condition; increment/decrement ) { # Code to be Executed } }
- Loop foreach aninhado
foreach variable_1 (@array_1) { foreach variable_2 (@array_2) { # Code to be Executed } }
- Loop while aninhado
while (condition) { while (condition) { # Code to be Executed } }
- Loop do..while aninhado
do{ do{ # Code to be Executed }while(condition); }while(condition);
- Aninhado até loop
until (condition) { until (condition) { # Code to be Executed } }
Exemplo :
# Perl program to illustrate
# nested while Loop
$a = 5;
$b = 0;
# outer while loop
while ($a < 7)
{
$b = 0;
# inner while loop
while ( $b <7 )
{
print "value of a = $a, b = $b\n";
$b = $b + 1;
}
$a = $a + 1;
print "Value of a = $a\n\n";
}
Saída:
value of a = 5, b = 0 value of a = 5, b = 1 value of a = 5, b = 2 value of a = 5, b = 3 value of a = 5, b = 4 value of a = 5, b = 5 value of a = 5, b = 6 Value of a = 6 value of a = 6, b = 0 value of a = 6, b = 1 value of a = 6, b = 2 value of a = 6, b = 3 value of a = 6, b = 4 value of a = 6, b = 5 value of a = 6, b = 6 Value of a = 7
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva