Matemática Múltipla Escolha

Uma das etapas iniciais da implementação de suas interfaces, ou seja, definição dos tipos de retorno e de suas listas de parâmetros. Para essa questão, suponha que a quantidade máxima de vendas seja 30 e os nomes têm 40 caracteres. Assinale a opção que contenha as definições apropriadas ao enunciado:

Uma das etapas iniciais da implementação de suas interfaces, ou seja, definição dos tipos de retorno e de suas listas de parâmetros. Para essa questão, suponha que a quantidade máxima de vendas seja 30 e os nomes têm 40 caracteres. Assinale a opção que contenha as definições apropriadas ao enunciado:

  1. float NomeVendedorValorVendas(float vendas[][30], char nomes[][40]); char nomeSenior[]
  2. int NomeVendedorValorVendas(float vendas[][30], char nomes[][40]); char nomeSenior[]
  3. float NomeVendedorValorVendas(float vendas[][30], char nomes[][40]); char nomeSenior[]
  4. int NomeVendedorValorVendas(float vendas[][30], char nomes[][40]); char nomeSenior[]
  5. float NomeVendedorValorVendas(float vendas[][30], char nomes[][40]); char nomeSenior[]

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A

A questão solicita a definição correta das interfaces (assinaturas) de duas funções em linguagem C, considerando restrições de memória e tipos de dados descritos no enunciado.

Para determinar a resposta correta, é necessário analisar a sintaxe de passagem de arrays e matrizes em C, bem como o mapeamento entre os tipos de dados lógicos (quantidade, valor monetário) e os tipos primitivos da linguagem.

Análise

1. Definição da Matriz de Vendas

O enunciado informa que as vendas estão em uma matriz onde cada linha representa um vendedor e as colunas representam as vendas. É especificado que a quantidade máxima de vendas é 30.

Em C, ao declarar uma matriz multidimensional que será passada para uma função, é obrigatório informar o tamanho da dimensão subsequente à primeira (no caso, o número de colunas).

  • Correto: float vendas[][30]
  • Incorreto: float vendas[][] (Erro de compilação, pois o compilador não sabe calcular o offset de memória).

Isso elimina imediatamente as Alternativas C e E, pois utilizam float vendas[][].

2. Definição do Vetor de Nomes

Os nomes dos vendedores estão em um vetor de strings (vetor de vetores de caracteres), com tamanho máximo de 40 caracteres.

  • Correto: char nomes[][40] (Um array de strings, onde cada string tem 40 posições).
  • Incorreto: char nomes[40] (Isso seria apenas um único array de 40 caracteres, capaz de armazenar apenas um nome, não uma lista de vendedores).

Isso elimina a Alternativa D, que declara char nomes[40] em vez de char nomes[][40].

3. Tipos de Retorno das Funções

Restam as Alternativas A e B. A diferença reside no tipo de retorno de cada função. Embora o nome do vendedor seja retornado via parâmetro de saída (char nomemaior[]), o tipo de retorno da função geralmente reflete a natureza do cálculo realizado internamente ou o status da operação.

  • Função MaiorQtdVendas: Envolve contagem de itens (número de vendas). O tipo lógico para contagem é inteiro (int).
  • Função MaiorValorVendas: Envolve soma de valores monetários. O tipo lógico para valores monetários é ponto flutuante (float ou double).

Comparando as opções:

  • Alternativa A: int para Qtd (correto) / float para Valor (correto).
  • Alternativa B: float para Qtd (estranho) / int para Valor (estranho).

Resumo da Comparação

CaracterísticaEnunciadoAlternativa AAlternativa BAlternativa C/D/E
Matriz VendasMax 30 colunasvendas[][30]vendas[][30]vendas[][]
Vetor NomesMax 40 charsnomes[][40]nomes[][40]nomes[40]
Retorno QtdContagemintfloat-
Retorno ValorMonetáriofloatint-

Conclusão

A Alternativa A é a única que apresenta a sintaxe correta para matrizes e vetores de strings em C (vendas[][30] e nomes[][40]) e associa os tipos de retorno lógicos adequados às operações de contagem (int) e valores monetários (float).

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.