Questão nº 40

Questão de Tecnologia da Informação · FCC TRT-12 2023 (nº 40)

FCC2023Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Bver comentário ↓

Considere a função em PHP abaixo que gera uma string aleatória formada por caracteres restritos a letras maiúsculas e números. O tamanho da string é passado como parâmetro e a string resultante tem essa quantidade de caracteres.

function geraStringAleatoria($tamanho) {
    $caracteres = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $stringAleatoria = '';

    for ($i = 0; $i < $tamanho; $i++) {
        I
        ......
    }

    return $stringAleatoria;
}

Para que esta função, posteriormente, seja incluída em um código e testada em condições ideais, a lacuna I deve ser corretamente preenchida com:

Resposta comentada

Gabarito Alternativa B

Para gerar um caractere aleatório de uma lista e adicioná-lo repetidamente a uma string, precisamos de uma função que gere um número aleatório (índice), usar esse índice para pegar um caractere da lista e, em seguida, anexar esse caractere à string final.

  • (A) Incorreta: A função random() não existe no PHP para gerar números aleatórios; o operador += é para adição numérica, não concatenação de strings; e o intervalo de índices 1 a strlen($caracteres) está incorreto, pois índices de string começam em 0.
  • (B) Correta: A função rand(0, strlen($caracteres) - 1) gera um número aleatório dentro do intervalo correto de índices da string $caracteres (de 0 até o comprimento menos 1). O operador .= é o correto para concatenar (adicionar) um caractere à string $stringAleatoria.
  • (C) Incorreta: A função random() não existe no PHP; o operador = atribui um valor, sobrescrevendo a string em cada iteração, em vez de adicionar caracteres; e o índice strlen($caracteres) estaria fora dos limites da string.
  • (D) Incorreta: A função srand() é para inicializar o gerador de números aleatórios, não para gerar um número; strlength() é um erro de digitação (o correto é strlen()); e $caracteres-1 é uma operação inválida para strings.
  • (E) Incorreta: O operador =. é sintaticamente incorreto no PHP; o correto para concatenação e atribuição é .=. Esta é uma armadilha da banca que testa a atenção ao operador de concatenação.

Fonte: FCC TRT-12 2023 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 003). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho