FOR Flashcards

(15 cards)

1
Q

Qual a principal vantagem de usar a estrutura FOR em vez de LOOP quando sabemos o número de repetições?

A

Simplifica o código, pois não precisamos controlar manualmente a variável de iteração nem a condição de saída.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Na estrutura FOR, é necessário declarar a variável de iteração (ex: v_ID) explicitamente?

A

Não, a variável de iteração é implicitamente declarada dentro do FOR e só é visível dentro do loop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual a função da linha IN 1..v_NUMCLI dentro da estrutura FOR?

A

Define o intervalo de valores que a variável de iteração (v_ID) irá assumir, começando em 1 e indo até o valor contido em v_NUMCLI (que, no exemplo, é o número total de clientes).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Se o valor de v_NUMCLI for 0, o que acontece com o loop FOR?

Comando:

DECLARE
v_SEGMERCADO CLIENTE.SEGMERCADO_ID%type := 3;
v_NUMCLI INTEGER;
BEGIN
SELECT COUNT(*) INTO v_NUMCLI FROM CLIENTE;
FOR v_ID IN 1..v_NUMCLI LOOP
ATUALIZAR_SEGMERCADO (v_ID,v_SEGMERCADO)
END LOOP;
END;

A

O loop FOR não será executado nenhuma vez, pois o intervalo 1..0 é inválido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Após a execução do loop FOR, qual o valor da variável v_ID (a variável de iteração)?

Comando: DECLARE
v_SEGMERCADO CLIENTE.SEGMERCADO_ID%type := 3;
v_NUMCLI INTEGER;
BEGIN
SELECT COUNT(*) INTO v_NUMCLI FROM CLIENTE;
FOR v_ID IN 1..v_NUMCLI LOOP
ATUALIZAR_SEGMERCADO (v_ID,v_SEGMERCADO)
END LOOP;
END;

A

A variável v_ID não estará mais acessível fora do loop FOR, pois ela é declarada implicitamente e tem escopo local ao loop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Como você escreveria um loop FOR para iterar sobre os números de 5 a 10 (inclusive) e imprimir cada número?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Como você adaptaria o exemplo da aula para atualizar o SEGMERCADO_ID dos 3 primeiros clientes para o valor 5?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Imagine que você tem uma variável v_LIMITE com o valor 7. Como você usaria um loop FOR para calcular a soma dos números de 1 até v_LIMITE?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como você modificaria o loop FOR para percorrer os números de 10 a 1 (em ordem decrescente)?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Suponha que você queira percorrer apenas os números pares de 2 a 10 usando um loop FOR. Como você faria isso? (Dica: use um incremento diferente de 1)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que acontece com o indexador do FOR após a execução do LOOP?

A

O indexador não pode ser acessado ou referenciado fora do LOOP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual é o incremento padrão do indexador em um FOR loop?

A

O incremento do indexador é sempre unitário (1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

É possível modificar o valor do indexador dentro do LOOP?

A

Não, o valor do indexador só pode ser lido, não modificado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Onde o indexador do FOR deve ser declarado?

A

O indexador do FOR não precisa ser declarado explicitamente na seção DECLARE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que acontece se tentarmos acessar o indexador fora do LOOP?

A

O indexador não está definido fora do LOOP, resultando em um erro se tentarmos acessá-lo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly