Considere uma situação em que um professor que queira saber se existem alunos cursando, ao mesmo tempo, as disciplinas A e B, tenha implementado um programa que:
  1. inicializa um array a de 30 posições que contém as matrículas dos alunos da distiplina A ;
  2. inicializa outro array b de 40 posições, que contém as matrículas dos alunos da disciplina B ;
  3. imprime a matrícula dos alunos que estão cursando as disciplinas A e B ao mesmo tempo.
    Considere, ainda, que os arrays foram declarados e inicializados, não estão necessariamente ordenados, e seus índices variam entre 0 e n-1, sendo n o tamanho do array.
    for ( i = 0 to 29 ) {
  1. for ( j = 0 to 39) {
  2. }
    Com base nessas informaçães, conclui-se que o trecho a ser incluído nas linhas 3, 4 e 5 do código acima, para que o programa funcione corretamente, é
    (4) 3. if (a[i] == b[j]) {
  3. print(a[i]);
  4. }
    (B) 3. if (a[j]==b[i]) {
  5. print(a[j]);
  6. }
    © 3. if (a[i] == b[j]) {
  7. print(a[j]);
  8. }
    (D) 3. if (a[i] == b[i]) {
  9. print(a[i]);
  10. }
    (E) 3. if (a[j]==b[j]) {
  11. print(a[j]);
  12. }

Passo 1

Vamos resumir o que o exercício está pedindo. Temos dois grupos de alunos: um que está cursando a disciplina A e outro que está cursando a disciplina B. As matrículas desses alunos estão armazenadas em dois arrays, a com 30 posições e b com 40 posições, respectivamente. Nosso objetivo é encontrar e imprimir as matrículas dos alunos que estão matriculados nas duas disciplinas ao mesmo tempo. Para isso, vamos precisar comparar cada matrícula do array a com cada matrícula do array b.

Passo 2

Para resolver esse problema, vamos usar dois loops for aninhados. O primeiro loop percorre todas as matrículas no array a (de 0 a 29) e, para cada matrícula em a, o segundo loop percorre todas as matrículas no array b (de 0 a 39). Isso nos permite comparar cada elemento de a com cada elemento de b.

Passo 3

Dentro dos loops, precisamos verificar se a matrícula atual de a é igual à matrícula atual de b. Isso é feito usando uma estrutura condicional if. Se as matrículas forem iguais, significa que o aluno está matriculado em ambas as disciplinas, então devemos imprimir essa matrícula.

Passo 4

Vamos analisar as opções fornecidas para ver qual delas implementa corretamente essa lógica:
  • Opção A:
    if (a[i] == b[j]) {
        print(a[i]);
    }
    
    Aqui, estamos comparando a[i] com b[j] e, se forem iguais, imprimimos a[i]. Isso está correto porque estamos verificando se a matrícula no array a é igual à do array b e, em caso positivo, imprimimos a matrícula comum.
  • Outras Opções:
    As demais opções apresentam comparações diferentes, como a[j] == b[i], a[j] == b[j], ou a[i] == b[i], que não correspondem à lógica correta de comparação entre os dois arrays diferentes.

Resposta

A opção correta é a (A):
if (a[i] == b[j]) {
    print(a[i]);
}

Exercícios relacionados