Analise o código abaixo, escrito em PHP:Um programador chamo...
Analise o código abaixo, escrito em PHP:

Um programador chamou a função printX apresentada no código acima e obteve a resposta abaixo:

Qual foi a chamada utilizada para obter a resposta acima?
Comentários
Veja os comentários dos nossos alunos
A chamada da função irá imprimir "X" seis vezes!
if ($i % $m == 0) // Ele quer uma divisão que sobre nada!
A única alternativa onde a divisão $n por $m dará seis número é: printX(20,3).
3 / 3 = resto 0
6 / 3 = resto 0
9 / 3 = resto 0
12 / 3 = resto 0
15 / 3 = resto 0
18 / 3 = resto 0
Como no echo não está a varável, mas sim o "X", o "X" irá exibir seis vezes na tela:
XXXXXX
A resposta é letra D printX(20,3).
Vamos tirar a prova.
Interpretando a execução do algoritmo em Portugol:
para i de 1 ate n faca
se i % m = 0 entao
escreva("X")
fimse
fimpara
Considerando que:
n <- 20
m <- 3
para i de 1 ate 20 faca
se i % 3 = 0 entao
1º loop <- 1/3 = ""; // 1 dividido por 3 não dá resto 0
2º loop <- 2/3 = ""; // 2 dividido por 3 não dá resto 0
3º loop <- 3/3 = "X"; // 3 dividido por 3 dá resto 0
4º loop <- 4/3 = ""; // 4 dividido por 3 não dá resto 0
5º loop <- 5/3 = ""; // 5 dividido por 3 não dá resto 0
6º loop <- 6/3 = "X"; // 6 dividido por 3 dá resto 0
7º loop <- 7/3 = ""; // 7 dividido por 3 não dá resto 0
8º loop <- 8/3 = ""; // 8 dividido por 3 não dá resto 0
9º loop <- 9/3 = "X"; // 9 dividido por 3 dá resto 0
10º loop <- 10/3 = ""; // 10 dividido por 3 não dá resto 0
11º loop <- 11/3 = ""; // 11 dividido por 3 não dá resto 0
12º loop <- 12/3 = "X"; // 12 dividido por 3 dá resto 0
13º loop <- 13/3 = ""; // 13 dividido por 3 não dá resto 0
14º loop <- 14/3 = ""; // 14 dividido por 3 não dá resto 0
15º loop <- 15/3 = "X"; // 15 dividido por 3 dá resto 0
16º loop <- 16/3 = ""; // 16 dividido por 3 não dá resto 0
17º loop <- 17/3 = ""; // 17 dividido por 3 não dá resto 0
18º loop <- 18/3 = "X"; // 18 dividido por 3 dá resto 0
19º loop <- 18/3 = ""; // 19 dividido por 3 não dá resto 0
20º loop <- 18/3 = ""; // 20 dividido por 3 não dá resto 0
fimse
fimpara
Repare nas linhas em negrito.
O "X" aparece seis vezes. Portanto, será impresso seis vezes.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo