QUESTÃO 1
Ao utilizar vetores e matrizes, implica em manipular uma grande quantidade de dados por meio de um acesso indexado. No entanto, até então, tínhamos a limitação de que todos os elementos deveriam ser do mesmo tipo. Em muitas situações, surge a necessidade de armazenar informações relacionadas entre si, porém de tipos distintos (ROCHA, 2006). Nesse contexto, as structs, também conhecidas como registros ou estruturas, surgem como uma solução. Elas permitem agrupar diversas informações, podendo ser de tipos diferentes, e possibilitam a criação de novos tipos de dados, além dos que são definidos pelas linguagens de programação (ASCENCIO; CAMPOS, 2010). Assim, analise o trecho de código, em linguagem C, a seguir:
Fonte: LEAL, G. C. L.; OLIVEIRA, P. M. de. Algoritmos e Lógica de Programação II. Maringá: UniCesumar, 2020.
Sobre o exposto, analise as afirmativas a seguir:
I. Da forma como foi escrito o programa, caso quiséssemos acessar o dado "ficha[20].matricula", teríamos um comportamento indefinido.
II. Se na função main() houvesse uma instrução como "printf("%s", ficha[0].nome);", não teríamos erro de compilação.
III. Podemos dizer que a "struct func" possui exatamente quatro campos definidos.
É correto o que se afirma em:
Alternativa 1: I, apenas.
Alternativa 2: I e II, apenas.
Alternativa 3: I e III, apenas.
Alternativa 4: II e III, apenas.
Alternativa 5: I, II e III.
Lista de comentários
Sobre os códigos criados através da linguagem C, sendo todas as afirmações corretas.
Linguagem C
I. Da forma como o programa foi escrito, caso quiséssemos acessar o dado "ficha[20].matricula", teríamos um comportamento indefinido. Isso ocorre porque o índice máximo do vetor "ficha" é Tamanho-1, ou seja, 19 no caso apresentado. Tentar acessar um elemento fora dos limites do vetor pode resultar em comportamento imprevisível ou em erro de execução.
II. Se na função main() houvesse uma instrução como "printf("%s", ficha[0].nome);", não teríamos erro de compilação. Isso acontece porque a variável "ficha" é uma matriz de structs do tipo "struct func", e ao acessar "ficha[0].nome", estamos acessando o campo "nome" da primeira struct do vetor "ficha". O formato de impressão "%s" é utilizado para strings, e o campo "nome" é um vetor de caracteres (string).
III. Podemos dizer que a "struct func" possui exatamente quatro campos definidos. De acordo com a definição apresentada no código, a struct "func" possui os campos "matricula" (do tipo inteiro), "nome" (vetor de caracteres), "setor" (vetor de caracteres) e "salario" (do tipo float). Portanto, são quatro campos definidos na struct.
Em resumo, todas as afirmativas estão corretas:
Aprenda mais sobre linguagem C aqui:
https://brainly.com.br/tarefa/19010361
#SPJ1