Lista 1 1
E. 2.1 Dado n, quanto vale k após a execução dos trechos de código baixo?
a) int k = 0; for (int i = 1; i <= 4; i++) k = k + 1;
I
K
1
1
2
2
3
3
4
4
b) int k = 0; for (int i = 0; i <= 4; i++) k = k + 1;
I
K
0
1
1
2
2
3
3
4
4
5
c) int k = 0; for (int i = 1; i < 4; i++) k = k + 1;
I
K
1
1
2
2
3
3
d) int k = 0; for (int i = 0; i < 4; i++) k = k + 1;
I
K
0
1
1
2
2
3
3
4
e) int k = 0; for (int i = 1; i <= n; i++) k = k + 1;
I
K
1
1
2
2
f) int k = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) k = k + 1;
Resposta: Depende do Valor de N
g) int k = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) for (int p = 1; p <= n; p++) k = k + 1;
Resposta: Depende do Valor de N
E. 2.2 [null] Para os códigos abaixo, quantas vezes a instrução x = x + 1 é executada?
a) for (iPos = 0; iPos < 4; iPos++) x = x + 1; iPos x
O
1
1
2
2
3
b) for (i = 0; i < n; i++) { for (j = 1; j < n; j++) { for (k = 0; k < n; k++) { x = x + 1;
}
}
}
Resposta: Depende do Valor de N
E. 2.3 [null] Não convencido que você tenha entendido, suponha o pseudocódigo abaixo e faça as seguintes tarefas: int k = 0, i = n; while (i > 0) { k = k + 1; i = i / 2;
}
a) Suponha n=1. Quanto vale k ao final do loop? (apresente o teste de mesa)
N
K
I
1
1
0
b) Suponha n=2. Quanto vale k ao final do loop? (apresente o teste de mesa)
N
K
I
2
1
1
2
2
0
c) Suponha n=4. Quanto vale k ao final do loop? (apresente o teste de mesa)
N
K
I
4
1
2
4
2
1
4
3
0
d) Suponha n=8. Quanto vale k ao final do loop? (apresente o teste de mesa)
N
K
I
8
1
4
8
2
2
8
3
1
8
4
0
e) Suponha n=2t. Quanto vale k ao final do loop? f) Compare os resultados com log2(n) e apresente uma conclusão.
E. 2.4 [null] Não convencido que você tenha