Logo Passei Direto
Buscar
Uma das vantagens de um arquivo como parâmetro de uma função, é um valor definido como primitivo, consiste no fato de que a função pode ler qualquer tamanho de parâmetro. Para essa questão, suponha a implementação que retornará a média dos vetores de alunos armazenados em um vetor. A finalização do vetor ocorre com a presença do valor "-1" (primeira posição vazia). Analise o código a seguir e preencha as lacunas corretamente. C typedef int Aluno_Notas; float media ( Aluno_Notas ) { float soma = 0; int i=0; while( *... != -1) { soma = soma + *...; ... } if(i==0) return 0; return soma / i; } void main() { Aluno_Notas vmm = {1.0, 5.0, 4.0, 1.0, -1, 4.0}; Aluno_Notas vmm2 = {7.0, 4.0, 2.0, 2.0, 2.0, 7.0, 1.0, -1, 4.0}; printf("media = %.1f\n", media(vmm)); printf("media = %.1f\n", media(vmm2)); return 0; } Assinale a alternativa que apresenta a sequência correta relativa ao preenchimento das lacunas. A *vetor++ ; i++ B *a++ ; i++ C *a++
User badge image
Guilherme Henrique Rocha Silva

há 3 semanas

Respostas

User badge image

Ed Verified user icon

há 3 semanas

Vamos analisar o código e as lacunas que precisam ser preenchidas. O objetivo é calcular a média das notas dos alunos até que o valor "-1" seja encontrado, que indica o final do vetor. 1. A função `media` deve receber um parâmetro que é um vetor de notas (do tipo `Aluno_Notas`). 2. O loop `while` deve continuar enquanto o valor atual do vetor não for "-1". 3. Dentro do loop, precisamos somar as notas e contar quantas notas foram somadas (variável `i`). Agora, vamos analisar as alternativas: A) `*vetor++ ; i++` - Esta opção sugere que estamos incrementando um ponteiro para o vetor e também incrementando `i`. No entanto, não está claro se `vetor` é o nome do parâmetro. B) `*a++ ; i++` - Esta opção sugere que estamos usando um ponteiro `a` que aponta para o vetor. O uso de `*a++` permite acessar o valor atual e, em seguida, mover o ponteiro para o próximo elemento. Isso parece correto para a lógica do loop. C) `*a++` - Esta opção apenas acessa o valor atual, mas não incrementa `i`, o que é necessário para contar quantas notas foram somadas. Diante disso, a alternativa que melhor se encaixa na lógica do código e preenche corretamente as lacunas é a B) *a++ ; i++. Essa opção permite que a função leia o valor atual do vetor e, ao mesmo tempo, incremente o contador `i`.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina