Logo Passei Direto
Buscar

exame- linguagem de programação

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

<p>Questão 1/12 - Linguagem de Programação</p><p>A equipe de uma empresa de desenvolvimento de software recebeu a tarefa de criar um sistema de gerenciamento</p><p>de funcionários. Sabendo que as principais informações a serem armazenadas seriam nome, idade, cargo, salário e</p><p>departamento de cada funcionário, a equipe decidiu criar as seguintes estruturas para armazenar as informações de</p><p>maneira organizada e acessível.</p><p>Qual das seguintes alternativas é a forma correta de alocar memória para uma variável do tipo “funcionario” usando a</p><p>função MALLOC() em C?</p><p>Nota: 10.0</p><p>A malloc(funcionario *pessoa);</p><p>B malloc(sizeof(funcionario));</p><p>Você assinalou essa alternativa (B)</p><p>C malloc(sizeof(funcionario*));</p><p>D malloc(sizeof(struct funcionario));</p><p>E malloc(sizeof(funcionario)); funcionario *pessoa = malloc;</p><p>Questão 2/12 - Linguagem de Programação</p><p>A manipulação de múltiplos arquivos em linguagem C é aplicada no desenvolvimento de programas complexos e</p><p>extensos, onde é necessário dividir o código em partes menores e independentes para facilitar a manutenção e o</p><p>desenvolvimento. Considere as alternativas a seguir, assinalando a opção que apresenta uma das formas de criar e</p><p>compilar múltiplos arquivos em C, garantindo que o programa final seja executável:</p><p>Nota: 0.0 Você não pontuou essa questão</p><p>A Todos os arquivos de código-fonte e cabeçalhos devem ser incluídos em um único arquivo</p><p>antes de serem compilados.</p><p>B Cada arquivo de código-fonte deve ser compilado separadamente e, em seguida, os</p><p>resultados devem ser combinados em um único arquivo executável.</p><p>Você acertou!</p><p>A notação “sizeof(funcionario)” retorna o tamanho em bytes da struct “funcionario”, que pode ser</p><p>usado como argumento para a função MALLOC() para alocar memória para uma variável do tipo</p><p>“funcionario”. A função MALLOC() aloca um bloco de memória do tamanho especificado em bytes</p><p>e retorna um ponteiro para o primeiro byte do bloco alocado. Nesse caso, é necessário alocar</p><p>memória suficiente para armazenar todas as variáveis dentro da estrutura “funcionario”.</p><p>Referência: Aula 4 – Ponteiros; Tema 5 - Ponteiros com structs; Ponteiros com structs.</p><p>Gabarito: Letra B. Cada arquivo de código-fonte é compilado separadamente, gerando um</p><p>arquivo objeto correspondente. Em seguida, os arquivos objeto são combinados em um único</p><p>arquivo executável durante o processo de ligação. Essa abordagem permite que as partes</p><p>C A compilação de múltiplos arquivos em C é impossível; todos os códigos devem ser incluídos</p><p>em um único arquivo.</p><p>Você assinalou essa alternativa (C)</p><p>D Todos os arquivos de cabeçalho devem ser incluídos em um único arquivo antes de serem</p><p>compilados, enquanto os arquivos de código-fonte podem ser compilados separadamente.</p><p>E A compilação de múltiplos arquivos em C é possível, mas apenas se eles forem escritos em</p><p>diferentes linguagens de programação.</p><p>Questão 3/12 - Linguagem de Programação</p><p>A linguagem C é uma linguagem de programação de alto nível, utilizada para desenvolvimento de sistemas</p><p>operacionais, compiladores, jogos e aplicativos em geral. Um dos principais recursos da linguagem C é a sua</p><p>capacidade de manipular dados e variáveis de diferentes tipos.</p><p>No que se refere a garantir a correta manipulação de dados, qual das seguintes afirmações é verdadeira?</p><p>Nota: 0.0 Você não pontuou essa questão</p><p>A Constantes em linguagem C são declaradas usando a palavra-chave "var".</p><p>B Todas as variáveis em linguagem C são inicializadas automaticamente com valores aleatórios.</p><p>C Na declaração de uma constante em linguagem C é obrigatório declarar explicitamente o tipo</p><p>de dado.</p><p>Você assinalou essa alternativa (C)</p><p>D As variáveis em linguagem C não são inicializadas automaticamente.</p><p>E A linguagem C suporta diversos tipos de dados, entre eles, int, float, char, boolean, etc.</p><p>Questão 4/12 - Linguagem de Programação</p><p>A linguagem C não fornece suporte para o tipo de dados string. Portanto, para realizar o armazenamento de uma</p><p>cadeia de caracteres necessitamos recorrer ao recurso de criação de vetores do tipo char.</p><p>Nesse cenário, qual é o tamanho mínimo adequado para armazenarmos o texto “Linguagem C”?</p><p>Nota: 10.0</p><p>A 9</p><p>B 10</p><p>independentes do código sejam desenvolvidas e testadas separadamente, facilitando a</p><p>manutenção e o desenvolvimento de programas complexos e extensos.</p><p>Referência: Aula 6 – Bibliotecas Externas e manipulação de arquivos; Tema 2 - Trabalhando com</p><p>múltiplos arquivos; Compilação dos arquivos.</p><p>Na linguagem de programação C, ao declarar uma variável devemos sempre inicializá-la, ou</p><p>seja, atribuir um valor inicial. Isso é necessário, pois a linguagem C não garante a inicialização</p><p>automática e, sendo assim, optar por não atribuir um valor para uma variável pode gerar um valor</p><p>indeterminado.</p><p>Referência: Aula 1 – Revisão e adequação com Linguagem C; Tema 2 - Tipos de Dados;</p><p>Declaração de variáveis.</p><p>C 11</p><p>D 12</p><p>Você assinalou essa alternativa (D)</p><p>E 13</p><p>Questão 5/12 - Linguagem de Programação</p><p>Em linguagem C, strings são tratadas como vetores de caracteres, onde o deslocamento pode utilizar operações de</p><p>atribuição, cópia, concatenação de caracteres e, inclusive ponteiros. Nesse contexto, considere o código em</p><p>linguagem C apresentado a seguir e assinale a alternativa que representa corretamente sua execução.</p><p>Nota: 10.0</p><p>A Apresenta a string caractere a caractere sem o uso de ponteiros.</p><p>B Apresenta a string, caractere a caractere, na ordem inversa com o uso de ponteiros.</p><p>C Apresenta a string inteira, utilizando ponteiros.</p><p>D Apresenta a string caractere a caractere utilizando ponteiros.</p><p>Você assinalou essa alternativa (D)</p><p>E Apresenta a string inteira, na ordem inversa com o uso de ponteiros.</p><p>Questão 6/12 - Linguagem de Programação</p><p>Você acertou!</p><p>Como o texto possui 11 caracteres, é necessário prever o espaço destinado para o terminador</p><p>nulo '\0' que identifica o final da string. Isso significa que a string deverá ser declarada com um</p><p>caractere adicional para esse fim. E, por esse motivo, o vetor deverá possuir, no mínimo, 12</p><p>posições.</p><p>Referência: Aula 2 – Strings, vetores e matrizes; Tema 2 - Introdução a strings; Cuidados com a</p><p>manipulação de strings.</p><p>Você acertou!</p><p>Gabarito: Letra D. O ponteiro “ptr” é inicializado para apontar para o início da string “nome”. Em</p><p>seguida, um loop é executado, apresentando o caractere apontado por “ptr” e incrementando o</p><p>ponteiro a cada iteração, ou seja, movendo-o para a próxima posição da string. A função</p><p>STRLEN() é utilizada para obter o comprimento da string “nome”, que é utilizado como condição</p><p>de parada do loop.</p><p>Referência: Aula 4 – Ponteiros; Tema 4 - Ponteiros com vetores e matrizes; Ponteiros com</p><p>vetores e matrizes.</p><p>Uma struct com ponteiros apresenta bastante similaridade com a forma como declaramos e manipulamos uma struct</p><p>simples. Sendo apenas necessário pequenas modificações para a inclusão de ponteiros, permitindo o acesso de</p><p>forma indireta.</p><p>Relacionado a essa informação, assinale a alternativa que apresenta a forma correta de acesso a uma struct por meio</p><p>de ponteiros:</p><p>Nota: 10.0</p><p>A ponteiro.variavel;</p><p>B ponteiro = &variavel;</p><p>C ponteiro->variavel;</p><p>Você assinalou essa alternativa (C)</p><p>D (*ponteiro).&variavel;</p><p>E (*ponteiro)->variavel;</p><p>Questão 7/12 - Linguagem de Programação</p><p>As estruturas heterogêneas são muito úteis quando necessitamos agrupar os dados por finalidade ou similaridade. Na</p><p>linguagem C podemos destacar as seguintes estruturas heterogêneas são: STRUCT, ENUM e UNION. Baseado</p><p>nessa informação, considere o código em C a seguir e assinale qual a alternativa correta ao final de uma execução</p><p>bem-sucedida:</p><p>Você acertou!</p><p>Existem duas formas de acessar uma struct de forma indireta por meio de ponteiro:</p><p>Por meio do operador de conteúdo apresentado entre parênteses acompanhado da</p><p>variável que desejamos acessar. O delimitador (ponto) continua sendo necessário.</p><p>Exemplo: (*ponteiro).autor</p><p>Substituindo o delimitador (ponto) pelo operador seta (->).</p><p>Exemplo: ponteiro->autor</p><p>Referência: Aula 4 – Ponteiros; Tema 5 - Ponteiros com structs; Ponteiros com structs.</p><p>Nota: 0.0 Você não pontuou</p><p>essa questão</p><p>A Nulo.</p><p>B 2</p><p>C 0</p><p>Você assinalou essa alternativa (C)</p><p>D Erro de compilação.</p><p>E 1</p><p>Questão 8/12 - Linguagem de Programação</p><p>Considere o seguinte trecho de código em C:</p><p>Suponha que esse código seja executado em uma máquina com um compilador C padrão. Qual das seguintes</p><p>afirmações é verdadeira sobre a execução desse trecho de código?</p><p>Gabarito: Letra E. No código, é criada uma variável “var” do tipo struct tipoPersonalizado, que</p><p>tem como tipo de dado um enum chamado “tipoDado” e como valor um union chamado “dado”. A</p><p>variável é preenchida com o valor booleano 1 e a variável tipo recebe o valor BOOLEANO.</p><p>Na sequência, é verificado se var.tipo é igual a BOOLEANO, o que é verdadeiro, já que o valor</p><p>de tipo é BOOLEANO. Dessa forma, o valor armazenado em var.valor.booleano é impresso na</p><p>tela.</p><p>Referência: Aula 5 – Utilizando recursos avançados em linguagem de programação; Tema 5 -</p><p>ENUM e UNION; Union (união).</p><p>Nota: 0.0 Você não pontuou essa questão</p><p>A O código irá causar um erro de compilação devido à tentativa de copiar uma string para um</p><p>vetor que não tem espaço suficiente.</p><p>B O código irá compilar e copiar a string "Prova" para o vetor “str2” sem problemas.</p><p>C O código irá copiar a string "Prova" para o vetor “str2”, mas não irá incluir o terminador de</p><p>string nulo (\0).</p><p>D O código irá copiar a string "Prova" para o vetor “str2”, mas irá incluir caracteres adicionais</p><p>após o terminador de string nulo (\0).</p><p>Você assinalou essa alternativa (D)</p><p>E O código irá compilar, mas irá gerar uma inconsistência de dados devido à tentativa de</p><p>copiar uma string para um vetor que não possui espaço suficiente.</p><p>Questão 9/12 - Linguagem de Programação</p><p>As STRUCT e UNION são recursos fundamentais em linguagem C para criação de tipos de dados personalizados.</p><p>Ambas permitem combinar diferentes tipos de dados em uma única variável, de modo a armazenar informações</p><p>relacionadas em uma estrutura mais organizada e de fácil acesso.</p><p>Avalie as alternativas disponíveis, assinalando a opção que apresenta a diferença entre as estruturas STRUCT e</p><p>UNION em linguagem C:</p><p>Nota: 10.0</p><p>A STRUCT é usado para agrupar variáveis de tipos diferentes, enquanto UNION é usado para</p><p>agrupar variáveis de tipos iguais.</p><p>B STRUCT armazena diferentes tipos de dados em diferentes campos, enquanto UNION</p><p>permite que diferentes campos compartilhem o mesmo espaço de memória.</p><p>Você assinalou essa alternativa (B)</p><p>C STRUCT armazena diferentes tipos de dados em diferentes campos, enquanto UNION</p><p>armazena apenas um tipo de dado em um campo.</p><p>D STRUCT permite que diferentes campos compartilhem o mesmo espaço de memória,</p><p>enquanto UNION armazenam diferentes tipos de dados em diferentes campos.</p><p>O código irá compilar, mas irá gerar uma inconsistência de dados devido à tentativa de copiar</p><p>uma string para um vetor que não tem espaço suficiente.</p><p>Isso ocorre porque o vetor “str2” é declarado com tamanho de 5 elementos, mas a string "Prova"</p><p>tem um comprimento de 5 caracteres, mais o terminador de string nulo (\0). Portanto, a tentativa</p><p>de copiar a string "Prova" para “str2” usando a função STRCPY() irá causar um estouro de buffer.</p><p>Referência: Aula 2 – Strings, vetores e matrizes; Tema 3 - Funções para manipulação de strings;</p><p>STRCPY().</p><p>Você acertou!</p><p>Estruturas armazenam diferentes tipos de dados em diferentes campos, enquanto uniões</p><p>permitem que diferentes campos compartilhem o mesmo espaço de memória. Em uma união,</p><p>apenas um campo pode ser usado por vez e o tamanho da união é o tamanho do maior campo.</p><p>Em uma estrutura, cada campo tem seu próprio espaço de memória e o tamanho da estrutura é a</p><p>soma dos tamanhos dos campos individuais.</p><p>Referência: Aula 5 – Utilizando recursos avançados em linguagem de programação; Tema 5 -</p><p>ENUM e UNION; ENUM e UNION.</p><p>E STRUCT e UNION são sinônimos em C e podem ser usadas indistintamente.</p><p>Questão 10/12 - Linguagem de Programação</p><p>Ao trabalhar com alocação dinâmica de memória em C, é possível utilizar duas funções bastante populares: "malloc"</p><p>e "calloc". Ambas as funções permitem a alocação de um bloco de memória de tamanho específico durante a</p><p>execução do programa. Entretanto, existe uma diferença importante entre elas.</p><p>Assinale a alternativa que descreve corretamente a diferença entre as funções "malloc" e "calloc" em linguagem C:</p><p>Nota: 10.0</p><p>A A função "malloc" é usada para alocar memória dinamicamente e inicializar todos os seus bits</p><p>com zero, enquanto a função "calloc" é usada para alocar memória dinamicamente sem</p><p>inicializar seu conteúdo.</p><p>B Não há diferença, ambas alocam memória dinamicamente</p><p>C "malloc" só pode ser usada para alocar memória para tipos simples, enquanto "calloc" pode</p><p>alocar memória para tipos compostos</p><p>D A função "malloc" é usada para alocar memória dinamicamente para um único objeto,</p><p>enquanto a função "calloc" é usada para alocar memória para um vetor de objetos.</p><p>E A função "calloc" é usada para alocar memória dinamicamente e inicializar a memória</p><p>alocada com zeros, enquanto "malloc" apenas aloca memória dinamicamente sem</p><p>inicializar seu conteúdo.</p><p>Você assinalou essa alternativa (E)</p><p>Questão 11/12 - Linguagem de Programação (questão opcional)</p><p>A função STRCAT() é uma das funções disponíveis para a manipulação de strings, presente na bibliotecas string.h da</p><p>linguagem C.</p><p>Portanto, dentre as alternativas apresentadas, assinale aquela que descreve corretamente o comportamento da</p><p>função STRCAT().</p><p>Nota: 10.0</p><p>A Substitui todos os caracteres de uma string por outros caracteres especificados.</p><p>B Concatena duas strings, adicionando a segunda string ao final da primeira.</p><p>Você assinalou essa alternativa (B)</p><p>Você acertou!</p><p>A alternativa afirma que a função "calloc" inicializa a memória alocada com zeros, enquanto a</p><p>função "malloc" não faz nenhuma inicialização. Essa afirmação é correta.</p><p>Quando usamos a função "malloc" para alocar memória dinamicamente, não há garantia sobre o</p><p>conteúdo dessa memória. É possível que a memória alocada contenha lixo (valores</p><p>indeterminados).</p><p>Por outro lado, a função "calloc" tem como objetivo garantir que a memória alocada esteja limpa</p><p>e pronta para uso. A função "calloc" inicializa toda a memória alocada com zeros,</p><p>independentemente do tipo de dado. Isso significa que não há risco de obter valores</p><p>indeterminados em áreas de memória alocadas.</p><p>Referência: Aula 4 – Ponteiros; Tema 3 - Alocação dinâmica de memória; malloc() e calloc().</p><p>Você acertou!</p><p>A função STRCAT() é uma função usada para concatenar duas strings. Quando a função é</p><p>chamada, a segunda string é adicionada ao final da primeira string, sem inclusão de espaços. A</p><p>função não cria uma nova string, mas modifica a primeira string passada como parâmetro.</p><p>C Compara duas strings e retorna um valor inteiro indicando qual delas é maior.</p><p>D Copia uma string para outra, permitindo alterar a nova string durante a cópia.</p><p>E Extrai uma substring de uma string, baseando-se em um índice de início e um comprimento.</p><p>Questão 12/12 - Linguagem de Programação (questão opcional)</p><p>Em algumas implementações, as estruturas de dados são uma etapa importante para o desenvolvimento de diversos</p><p>tipos de programas, podendo ser compostas por diferentes tipos de dados, porém em alguns casos, é possível que</p><p>apenas um tipo de dado seja utilizado em um determinado momento. Sendo assim, avalie a seguinte definição de</p><p>uma UNION em linguagem C:</p><p>Com base nessa definição, qual a finalidade de aplicar uma UNION em uma estrutura de dados?</p><p>Nota: 0.0 Você não pontuou essa questão</p><p>A Reservar espaço de memória para os três tipos de dados, garantindo assim que não faltará</p><p>espaço para salvar os dados.</p><p>Você assinalou essa alternativa (A)</p><p>B Reservar espaço de memória para o menor tipo de dado da estrutura para economizar espaço.</p><p>C Economizar espaço de memória quando apenas um tipo de dado pode estar presente</p><p>em um determinado momento.</p><p>D Utilizar ao mesmo tempo três tipos de variáveis diferentes para gerar uma estrutura de dados.</p><p>E Reservar espaço pela média de tamanho do conjunto de variáveis e assim utilizar a memória</p><p>da melhor forma.</p><p>Referência:</p><p>Aula 2 – Strings, vetores e matrizes; Tema 3 - Funções para manipulação de strings;</p><p>STRCAT().</p><p>A estrutura de dados UNION é usada para economizar espaço de memória quando apenas um</p><p>tipo de dado pode estar presente em um determinado momento, permitindo que diferentes tipos</p><p>de dados compartilhem o mesmo espaço de memória.</p><p>Referência: Aula 5 – Utilizando recursos avançados em linguagem de programação; Tema 5 -</p><p>ENUM e UNION; Union (união).</p>

Mais conteúdos dessa disciplina