Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/07/2021 Avaliação - Unidade IV: Revisão da tentativa https://ambienteonline.uninga.br/mod/quiz/review.php?attempt=534371&cmid=113350 1/6 Iniciado em quinta, 8 jul 2021, 15:29 Estado Finalizada Concluída em quinta, 8 jul 2021, 16:14 Tempo empregado 44 minutos 49 segundos Avaliar 10,00 de um máximo de 10,00(100%) Questão 1 Completo Atingiu 1,00 de 1,00 Questão 2 Completo Atingiu 1,00 de 1,00 Um procedimento consiste em um trecho de código com início e fim e identificado por um nome, o qual é usado para chamar a rotina de qualquer parte do programa principal ou em uma sub-rotina qualquer. Em C, quando uma função é chamada isoladamente em uma linha de instrução, ela é executada e ao seu término o processamento retorna para _________________________________. Assinale a alternativa que preenche corretamente a lacuna: a. A instrução seguinte à chamada da função executada. b. A próxima chamada de função em main(). c. O final da função main(). d. O início da função chamada, para executá-la novamente. e. O início da função main(). A resposta correta é: A instrução seguinte à chamada da função executada. A linguagem C oferece o recurso da prototipagem, permitindo escrever funções depois da função main(). Assinale a alternativa correta referente ao que acontece quando definimos um protótipo de função: a. O compilador é informado de que as funções prototipadas estão localizadas após a função main(). b. O protótipo da função é executado no lugar da função main(). c. É criada uma cópia reduzida da função, antes da chamada da função main(). d. A linguagem trata a função prototipada como desconhecida. e. O compilador trata a função prototipada como externa. A resposta correta é: O compilador é informado de que as funções prototipadas estão localizadas após a função main(). 08/07/2021 Avaliação - Unidade IV: Revisão da tentativa https://ambienteonline.uninga.br/mod/quiz/review.php?attempt=534371&cmid=113350 2/6 Questão 3 Completo Atingiu 1,00 de 1,00 Questão 4 Completo Atingiu 1,00 de 1,00 O processo de passagem de parâmetros permite estabelecer uma linha de comunicação entre os conteúdos dos trechos de sub-rotinas e dos trechos de programa que chamam essas sub-rotinas. Dado o seguinte trecho de código em C, assinale a alternativa correta: void imprimeCabecalho(void) { ... } void calcula(void) { int soma; ... imprimeCabecalho(); } a. O escopo da variável soma é contido pela função imprimeCabecalho(). b. O escopo da variável soma se estende da função calcula() para a função imprimeCabecalho(). c. O escopo e o tempo de vida da variável soma são iguais e contidos pela função imprimeCabecalho(). d. O tempo de vida da variável soma estende-se durante o tempo em que a função imprimeCabecalho() é executada. e. O escopo da variável soma é dinâmico e se estende durante toda execução do programa. A resposta correta é: O tempo de vida da variável soma estende-se durante o tempo em que a função imprimeCabecalho() é executada. Ponteiros são variáveis que armazenam um endereço de memória, geralmente a posição de outra variável da memória; por isso o ponteiro “aponta” para outra variável (SCHILDT, 1996). Assinale a alternativa correta referente à declaração de um ponteiro para caractere: a. *char ptc; b. &c; c. char_ptc ptc; d. char *ptc; e. *ptc; A resposta correta é: char *ptc; 08/07/2021 Avaliação - Unidade IV: Revisão da tentativa https://ambienteonline.uninga.br/mod/quiz/review.php?attempt=534371&cmid=113350 3/6 Questão 5 Completo Atingiu 1,00 de 1,00 Questão 6 Completo Atingiu 1,00 de 1,00 A linguagem C permite que seus programas sejam modularizados, por meio do uso de funções, ou seja, a divisão do processamento em blocos de tarefas específicas. As funções geralmente retornam um valor, de acordo com o tipo com que ela foi declarada. Seguem algumas afirmações sobre funções em C: I. As funções podem conter variáveis particulares a ela e pode também chamar outras funções. II. Uma função pode não precisar retornar valor, bastando, para isso, declará-la com void. III. Parâmetros, se existirem, devem ser passados e recebidos entre os parênteses da função. IV. O comando return é utilizado para retornar um valor diferente do que foi declarado para a função. Estão corretas: a. I apenas. b. I, II e III apenas. c. III apenas. d. I e II apenas. e. III e IV apenas. A resposta correta é: I, II e III apenas. Uma sub-rotina consiste em trechos pequenos de instruções que realizam tarefas específicas, a fim de resolver um subproblema dentro de um problema maior, por meio de operações de entrada, processamento e saída (ASCENCIO; CAMPOS, 2010; MANZANO; OLIVEIRA, 1997). Seguem algumas afirmações sobre as vantagens do uso de sub-rotinas em algoritmos: I. Dividem o problema maior em subproblemas, que podem ser resolvidos com as sub-rotinas. II. Tornam o teste mais complexo. III. Tornam o código reaproveitável, evitando trechos duplicados. IV. Deixam o algoritmo mais legível. Estão corretas: a. I e II apenas. b. I, III e IV apenas. c. II e IV apenas. d. I, II e IV apenas. e. I, II, e III apenas. A resposta correta é: I, III e IV apenas. 08/07/2021 Avaliação - Unidade IV: Revisão da tentativa https://ambienteonline.uninga.br/mod/quiz/review.php?attempt=534371&cmid=113350 4/6 Questão 7 Completo Atingiu 1,00 de 1,00 Questão 8 Completo Atingiu 1,00 de 1,00 A programação estruturada consiste na utilização de técnicas que decompõem a solução de um problema em “blocos” que interagem com um bloco principal. Assinale a alternativa referente ao motivo correto da linguagem C não ser tecnicamente estruturada em blocos: a. Não suporta passagem de parâmetros usando ponteiros de tipos de dados definidos pelo usuário. b. Não permite que a função main() seja a primeira escrita no programa. c. Não permite recursividade. d. Não permite definir uma função dentro de outra função. e. Não suporta passagem de parâmetros usando ponteiros de estruturas e uniões. A resposta correta é: Não permite definir uma função dentro de outra função. Funções são sub-rotinas que têm como objetivo desviar a execução do programa principal para realizar uma tarefa específica. Dada a seguinte declaração de função em C: char* diaSemana(int numero), assinale a alternativa correta referente ao significado de char* nesta declaração: a. Indica o nome da função. b. Indica o nome do parâmetro sendo passado para a função. c. Indica o tipo de parâmetro sendo passado para a função. d. Indica o tipo de dado a ser retornado pela função. e. Indica o nome da sub-rotina chamadora. A resposta correta é: Indica o tipo de dado a ser retornado pela função. 08/07/2021 Avaliação - Unidade IV: Revisão da tentativa https://ambienteonline.uninga.br/mod/quiz/review.php?attempt=534371&cmid=113350 5/6 Questão 9 Completo Atingiu 1,00 de 1,00 Ponteiros são variáveis que armazenam um endereço de memória, geralmente a posição de outra variável da memória; por isso o ponteiro “aponta” para outra variável (SCHILDT, 1996). Dado o seguinte trecho de código em C, assinale a alternativa correta: #include <stdio.h> int main(void) { int c, *x1, *x2; x1 = &c; x2 = x1; printf("%p %p\n", x1, x2); return 0; } a. A sua execução não apresentará mensagens ou resultados. b. Sua execução apresentará uma mensagem de erro. c. A sua execução apresentará na tela o resultado: “%p %p\n x1 x2”. d. O código possui erros léxicos e sintáticos. e. A sua execução apresentará dois valores iguais. A resposta correta é: A sua execução apresentará dois valores iguais. 08/07/2021 Avaliação - Unidade IV: Revisão da tentativa https://ambienteonline.uninga.br/mod/quiz/review.php?attempt=534371&cmid=113350 6/6 Questão 10 Completo Atingiu 1,00 de 1,00 O operador unário sizeof obtém o tamanho em bytes de uma variável ou especificador de tipo de dado. Dado o seguinte programa em C, assinale a alternativa correta: #include <stdio.h> #include <stdlib.h>#include <time.h> int somaAleatorios(int tamanho) { int numeros[tamanho], i, soma = 0; for (i = 0; i < tamanho; i++) { numeros[i] = rand() % 99; printf("numeros[%d] = %d\n", i, numeros[i]); soma += numeros[i]; } return soma; } int main(void) { int valor, tamanho = sizeof(int); srand(time(NULL)); // Geração aleatória de números valor = somaAleatorios(tamanho); printf("Valor da soma aleatoria: %d\n", valor); return 0; } a. A condição de parada do for deixará de processar um elemento do vetor numeros. A comparação correta seria i <= tamanho. b. A variável tamanho está sendo passada por referência para a função somaAleatorios(). c. O programa resultará em um erro de execução por causa do NULL passado por parâmetro para a função time(). d. O vetor numeros poderá ter tamanho variado de acordo com a máquina e o sistema operacional onde o programa está sendo executado. e. A variável soma poderia ser declarada sem atribuição de valor: neste caso o compilador assumiria o valor 0 automaticamente para ela por ser do tipo int. A resposta correta é: O vetor numeros poderá ter tamanho variado de acordo com a máquina e o sistema operacional onde o programa está sendo executado.
Compartilhar