Estrutura de Repetição For
Estudo sobre a estrutura de repetição for em diferentes linguagens de programação, cobrindo sintaxe e funcionamento.
Cartões · 51
- Qual é o objetivo principal da estrutura de repetição for?
- Executar um bloco de código repetidamente por um número determinado de vezes ou iterar sobre elementos de uma sequência.
- Sintaxe clássica do loop for em C/C++
- for (inicialização; condição; incremento) { bloco de código; } - Executa enquanto a condição for verdadeira.
- Papel da inicialização no for clássico (ex: int i = 0)
- Define e atribui valor inicial à variável de controle do loop; é executada apenas uma vez no início.
- Papel da condição de teste no for clássico (ex: i < 10)
- Avaliada antes de cada iteração; se for verdadeira, o bloco executa; se for falsa, o loop termina.
- Papel da etapa de incremento/passo (ex: i++)
- Atualiza a variável de controle logo após o término da execução do bloco de instruções daquela iteração.
- Sintaxe do for em Python para iterar sobre intervalo
- for i in range(inicio, fim, passo): bloco - Itera por uma sequência numérica gerada automaticamente.
- Como funciona a função range(5) no for do Python?
- Produz valores de 0 até 4 (total de 5 repetições), incrementando de 1 em 1 por padrão.
- Como funciona range(1, 10, 2) no loop for do Python?
- Gera os números ímpares 1, 3, 5, 7 e 9, parando antes de alcançar o valor final 10.
- Sintaxe do for padrão em JavaScript
- for (let i = 0; i < n; i++) { bloco; } - Utiliza let para escopo local da variável de iteração.
- Sintaxe do for...of em JavaScript
- for (const item of colecao) { bloco; } - Itera diretamente sobre os valores de um objeto iterável (array, string).
- Sintaxe do for...in em JavaScript
- for (const chave in objeto) { bloco; } - Itera sobre as propriedades enumeráveis (chaves) de um objeto.
- Sintaxe do enhanced for (for-each) em Java
- for (Tipo item : colecao) { bloco; } - Percorre todos os itens de arrays ou coleções sequencialmente.
- Sintaxe do loop for clássico em Java
- for (int i = 0; i < lista.length; i++) { bloco; } - Usa controle explícito de índice com início, fim e passo.
- O que acontece se a condição inicial do for for falsa logo no início?
- O bloco de código interno nunca é executado e o programa segue para a linha após o laço.
- Como criar um loop infinito usando o for clássico em C ou Java?
- for (;;) { bloco; } - Omitir todas as três partes cria uma condição sempre verdadeira.
- Qual a função do comando break dentro de um loop for?
- Interrompe imediatamente a execução do laço e transfere o fluxo para fora da estrutura de repetição.
- Qual a função do comando continue dentro de um loop for?
- Pula o restante da iteração atual e salta direto para a etapa de incremento e teste da próxima repetição.
- O que é um loop for aninhado?
- É uma estrutura onde um for está inserido dentro de outro, frequentemente usado para percorrer matrizes bidimensionais.
- Complexidade de tempo comum de dois loops for aninhados de tamanho N
- O(N²), pois o loop interno executa N vezes para cada uma das N iterações do loop externo.
- Sintaxe do for decrescente em C/Java
- for (int i = 10; i > 0; i--) { bloco; } - Inicializa no valor alto, reduz a cada ciclo e para no limite mínimo.
- Como fazer um for decrescente em Python com range?
- for i in range(10, 0, -1): - Especifica início maior que o fim e passo negativo.
- Sintaxe do loop for em Go (Golang)
- for i := 0; i < n; i++ { bloco } - Go usa apenas a palavra-chave for para todos os tipos de laço.
- Como iterar com índice e valor em Go?
- for indice, valor := range colecao { bloco } - range extrai a posição e o elemento correspondente.
- Como usar enumerate() no loop for do Python?
- for indice, valor in enumerate(lista): - Permite acessar simultaneamente o índice numérico e o elemento.
- Como usar zip() com for em Python?
- for a, b in zip(lista1, lista2): - Percorre paralelamente duas ou mais listas elemento por elemento.
- O que faz a cláusula else associada ao for em Python?
- Executa o bloco else apenas se o for terminar normalmente, isto é, sem ter sido interrompido por um break.
- Sintaxe do for em Rust para intervalos
- for i in 0..5 { bloco } - Percorre de 0 até 4 (intervalo semiaberto sem incluir o número final).
- Sintaxe do for inclusivo em Rust
- for i in 0..=5 { bloco } - Percorre os valores de 0 até 5 inclusive através da notação ..=
- Sintaxe do for em C# (foreach)
- foreach (var item in colecao) { bloco; } - Itera sobre coleções que implementam a interface IEnumerable.
- Sintaxe do loop for clássico em C#
- for (int i = 0; i < n; i++) { bloco; } - Funciona de modo idêntico ao C, C++ e Java.
- Sintaxe do foreach em PHP
- foreach ($array as $valor) { bloco; } ou foreach ($array as $chave => $valor) { bloco; }
- Sintaxe do for clássico em PHP
- for ($i = 0; $i < 10; $i++) { bloco; } - Utiliza variáveis prefixadas com cifrão.
- O que é o erro off-by-one em um laço for?
- Erro lógico em que o laço itera uma vez a mais ou a menos devido ao uso incorreto de operadores (< versus <=).
- Escopo da variável declarada dentro do cabeçalho for (C99, Java, C++, JS let)
- A variável de controle existe apenas dentro do bloco do laço, sendo destruída após o término deste.
- Escopo da variável declarada com var no for em JavaScript
- A variável possui escopo de função ou global, vazando para fora do bloco for após sua execução.
- Como iterar com passo maior que 1 no for clássico?
- Alterando o incremento para i += 2 ou i += passo, avançando múltiplos índices por ciclo.
- Sintaxe de for em Ruby usando intervalo
- for i in 1..5 do bloco end - Itera de 1 a 5 inclusive; métodos como 5.times são mais comuns em Ruby.
- Sintaxe do método .each com bloco em Ruby
- colecao.each do |item| bloco end - Equivalente idiomático ao for tradicional em Ruby.
- Sintaxe do for em Swift sobre intervalo
- for i in 1...5 { bloco } - Percorre a sequência fechada de números inteiros de 1 a 5.
- Como ignorar o valor do contador no for em Swift ou Python?
- Usando underscore (_): for _ in 0..<5 (Swift) ou for _ in range(5) (Python) para indicar descarte.
- Sintaxe do for em Kotlin sobre intervalo inclusivo
- for (i in 1..5) { bloco } - Executa com os valores 1, 2, 3, 4 e 5.
- Sintaxe de for com intervalo exclusivo em Kotlin
- for (i in 1 until 5) { bloco } - Executa com os valores de 1 a 4, excluindo o limite superior.
- Como definir passo diferente de 1 em Kotlin?
- for (i in 0..10 step 2) { bloco } - Incrementa a variável de controle de 2 em 2 unidades.
- Como iterar em ordem regressiva em Kotlin?
- for (i in 10 downTo 1) { bloco } - Diminui o valor de controle a cada iteração até o limite 1.
- O que causa um loop infinito acidental no for?
- Condição de parada inalcançável, esquecer de atualizar o contador ou incrementar na direção errada.
- Por que evitar modificar a coleção enquanto a percorre em um for-each?
- Pode causar erros de concorrência ou comportamento indefinido (ex: ConcurrentModificationException em Java).
- Diferença conceitual entre while e for
- For é preferido quando se conhece o número de iterações; while quando a parada depende de condição dinâmica.
- Múltiplas variáveis no cabeçalho do for em C/C++
- for (int i = 0, j = 10; i < j; i++, j--) - Permite inicializar e atualizar mais de um contador simultaneamente.
- O que é compreensão de lista (List Comprehension) em Python?
- [expr for item in colecao if cond] - Maneira concisa de gerar listas usando a sintaxe interna do for.
- Sintaxe básica do loop for em Bash
- for i in {1..5}; do echo $i; done - Itera sobre uma lista de argumentos separados por espaço.
- Sintaxe do for estilo C no Bash
- for ((i=0; i<5; i++)); do echo $i; done - Permite operações aritméticas clássicas no shell script.