Buscar

Prova Online Progamação II ESAB 5

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

ESAB
Questão 1 : 
Com base na inicialização de matrizes e nos tipos de dados de C que você já estudou, assinale qual das instruções a seguir está correta como instrução válida da linguagem C.
Resposta Errada! A resposta correta é a opção A 
Justificativa: 
Gabarito: A
Comentário: De acordo com o que foi estudado na unidade 31, a alternativa A declara uma matriz de 2 linhas e 2 colunas e inicializa corretamente seus valores,. A alternativa C está errada, pois um dos valores não é inteiro; enquanto que a opção D possui quantidade diferente de elementos na declaração e na inicialização. 
	A
	
	 int matriz[2][2] = {
        {1, 4},
        {7, 9}
};
	B
	
	    int matriz[1][2] = {
        {8},
        {6, -9}
};
	C
	
	    int matriz[2][2] = {
        {9, 0.5},
        {6, 3}
};
	D
	
	    int matriz[3][3] = {
        {-2, -7},
        {-4, -3}
};
 
Questão 2 : 
Sobre os conceitos de variáveis locais e globais, assinale a alternativa correta.
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
Gabarito: C
Comentário: Como explicado na unidade 12, variáveis criadas no escopo de uma estrutura de repetição são destruídas no fim da execução do bloco, mesmo que o bloco vá ser executado novamente em seguida.
	A
	
	Em C, a palavra static, quando usada na declaração de uma variável global, indica que a variável terá escopo de programa, ou seja, existirá em todo o programa, mesmo quando este possuir vários arquivos.
	B
	
	Quando criamos novas variáveis, não podemos repetir o nome de variáveis já existentes, mesmo se a variável já existente estiver em outro escopo.
	C
	
	Se criarmos uma variável dentro de uma estrutura de repetição, estaremos destruindo e recriando essa variável a cada repetição do bloco de instruções da estrutura.
	D
	
	Quando temos em um escopo a presença de uma variável global e outra local com o mesmo nome, prevalece a variável global.
Questão 3 : 
Com base no que você estudou sobre os tipos de dados homogêneos, analise o código a seguir e responda quais variáveis do programa possuem tipo de dados composto e homogêneo.
Algoritmo – Atividade  
	1.    struct ponto{
2.            float x;
3.            float y;
4.    };
5.     
6.    int main(void)
7.    {
8.            struct ponto array_pontos[2];
9.            struct ponto ponto_a, ponto_b;
10.         ponto_a.x = 3.14;
11.         ponto_a.y = 6.87;
12.         ponto_b.x = ponto_a.x + ponto_a.y;
13.         ponto_b.y = -ponto_b.x;
14.         array_pontos[0] = ponto_b;
15.         array_pontos[1] = ponto_a;
16.         struct ponto matriz_pontos[2][2];
17.         matriz_pontos[0][0] = array_pontos[0];
18.         matriz_pontos[0][1] = array_pontos[1];
19.         return 0;
20. }
Fonte: Elaborado pelo autor (2013).
Resposta Errada! A resposta correta é a opção A 
Justificativa: 
Gabarito: A
Comentário: Como estudado na unidade 31, arrays e matrizes são tipos de dados compostos homogêneos. A variável array_pontos é um array de tamanho 2 e a variável matriz_pontos é uma matriz de 2 linhas por 2 colunas. 
	A
	
	array_pontos e matriz_pontos
	B
	
	ponto_a e ponto_b
	C
	
	array_pontos, ponto_a e ponto_b
	D
	
	x e y
Questão 4 : 
Sobre a passagem de parâmetros por referência na chamada de funções, assinale a alternativa correta.
Acertou! A resposta correta é a opção A 
Justificativa: 
Gabarito: A
Comentário: Conforme estudado na unidade 21, uma das utilidades da passagem de parâmetros por referência é permitir o compartilhamento de variáveis entre diferentes funções.
	A
	
	Uma das utilidades na passagem de parâmetros por referência é permitir que outra função trabalhe com as mesmas variáveis que a função chamadora.
	B
	
	Tanto a linguagem C quanto a linguagem C++ possuem suporte à passagem direta de parâmetros por referência.
	C
	
	O desreferenciamento, usado para acessar o valor apontado por um ponteiro, também pode ser usado para acessar o endereço de uma variável que não seja ponteiro.
	D
	
	A instrução *x = 1; está errada na linguagem C, pois não podemos usar asteriscos antes do nome de uma variável à esquerda do símbolo de igual (=).
Questão 5 : 
Considerando o caso de estudo de gerenciamento de uma padaria – no qual criamos as funções de cadastro de funcionários e busca pelo funcionário de maior salário – e levando em conta o que você estudou sobre sub-rotinas de funções na unidade 36, assinale a alternativa que representa a assinatura mais adequada para uma função que implemente a funcionalidade de editar os dados de algum funcionário. Considere também que a função deve perguntar para o usuário qual o nome do funcionário que ele deseja modificar.
Resposta Errada! A resposta correta é a opção A 
Justificativa: 
Gabarito: A
Comentário: No exemplo apresentado nos estudos, a lista de funcionários e a quantidade de funcionários já cadastrados não são variáveis globais, logo precisam ser passados às funções como parâmetros de entrada. Dados como o nome e o salário de algum funcionário específico não têm como ser recebidos pela função, pois a função main não tem conhecimento de qual funcionário o usuário deseja alterar os dados.
	A
	
	void edita_funcionario(funcionario_t lista_funcionarios[], int tamanho_lista);
	B
	
	void edita_funcionario(funcionario_t lista_funcionarios[], float salario_funcionario);
	C
	
	void edita_funcionario(funcionario_t lista_funcionarios[], char nome_funcionario[]);
	D
	
	void edita_funcionario(char nome_funcionario[]);
Questão 6 : 
Dado o programa apresentado a seguir e com base no que você estudou sobre variáveis locais, assinale a alternativa correta.
Algoritmo – Exemplo do uso de variáveis
	1. 1.#include <stdio.h>
2. 2.#include <stdlib.h>
3. 3.
4. 4.int main(void)
5. 5.{
6. 6.        int a;
7. 7.        int b;
8. 8.        scanf("%d", &b);
9. 9.        a = 5;
10. 10.        if (a > b){
11. 11.                int c = 10;
12. 12.        }
13. 13.        system("pause");
14. 14.        return 0;
15. 15.}
Fonte: Elaborado pelo autor (2013).
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
Gabarito: D
Comentário: De acordo com o que foi estudado na unidade 11, o escopo da variável c existe apenas na linha 11. Se essa linha não for executada, então a variável nunca existirá e, consequentemente, não será armazenada na memória.
	A
	
	Sempre que o programa é executado, são declaradas 3 variáveis locais.
	B
	
	A variável a é declarada na linha 9.
	C
	
	A variável b é inicializada na linha 7.
	D
	
	Se a condição da linha 10 não for verdadeira, a variável c jamais será armazenada na memória principal.
Questão 7 : 
Sobre as constantes e funções matemáticas, vistas na unidade 15, assinale a alternativa correta.
Resposta Errada! A resposta correta é a opção B 
Justificativa: 
Gabarito: B
Comentário: M_E e M_PI são realmente constantes, e como tais, seus valores não podem ser alterados. Essas constantes estão definidas no arquivo math.h da biblioteca de C. A letra A está errada pois é possível realizar a mudança de bases mostrada no conteúdo.
	A
	
	A biblioteca de C fornece apenas as funções log() e log10() para cálculo respectivamente do logaritmo na base e e do logaritmo na base 10. É impossível então calcular um logaritmo na base 2 usando essas funções
	B
	
	M_E e M_PI são constantes matemáticas definidas no arquivo math.h, e como tais, seus valores não podem ser alterados durante a execução de nenhum programa.
	C
	
	O tipo de dados double usado nas funções matemáticas vistas é igual ao tipo de dados float.
	D
	
	Embora sejam números reais com diversas casas após a vírgula, as constantes M_E e M_PI de C armazenam exatamente o valor das constantes e e Pi, respectivamente.
Questão 8 : 
Dado o programa a seguir, responsável por implementar um somatório de uma série convergente, responda qual alternativa descreve a série que está sendo calculada.
 
Algoritmo 
	1. 1.#include <math.h>
2. 2.#include <stdio.h>
3. 3.#include <stdlib.h>
4. 4.
5. 5.int main(void)
6. 6.{
7. 7.int n = 1;
8. 8.float soma = 0;
9. 9.int i;
10. 10.for (i = 1; i<= 100; i++){
11. 11.soma = soma + (1/ pow(2, i-1));
12. 12.}
13. 13.printf("%f \n", soma);
14. 14.        system("pause");
15. 15.        return 0;
16. 16.}
Fonte: Elaborado pelo autor (2013).
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
Gabarito: C
Comentário: O exemplo é bem parecido com um visto na unidade 5. A expressão 1 / pow(2, i-1) calcula exatamente o termo da série para n = i.
	A
	
	
	B
	
	
	C
	
	
	D
	
	
Questão 9 : 
Com base no que você estudou na unidade 3 sobre o comando de repetição, assinale a alternativa correta.
Acertou! A resposta correta é a opção C 
Justificativa: 
Gabarito: C
Comentário: O comando só é executado se a condição for verdadeira. Logo, na primeira vez em que for falsa, o comando será interrompido.
	A
	
	O bloco de instruções dentro de um comando de repetição pode ter qualquer número finito de instruções, porém não pode ser vazio.
	B
	
	No comando de repetição com teste no início não é possível que o bloco de instruções não seja executado nenhuma vez.
	C
	
	Nos comandos de repetição, a condição definida só é avaliada com valor falso uma única vez na execução do comando.
	D
	
	O comando i++ utilizado em comandos de repetição com controle, é usado geralmente na etapa de inicialização do comando.
Questão 10 : 
Na unidade 13, você estudou sobre comandos em programação, principalmente o comando de atribuição. Analise as alternativas, a seguir, a respeito do comando de atribuição e assinale a correta:
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
Gabarito: C
Comentário: Qualquer valor número é verdadeiro, com exceção do 0. Na opção A, a instrução b &= 1 compara o valor lógico de b (que é verdadeiro) com o valor lógico de 1 (também verdadeiro), resultando em um valor tambpem verdadeiro, ou seja, diferente de 0. Opção B está errada pois a ordem do incremento pode influenciar a execução dos programas. Na opção D, strings vazias são na verdade strings que só possuem um caractere, o caractere nulo. Esse caractere, porém, é diferente de 0, e portanto, é verdadeiro.
	A
	
	Se b possui valor 2 e executamos a instrução b &= 1;, a variável b passará a ter valor 0.
	B
	
	Escrever ++x ou x++ em um programa não faz nenhuma diferença durante a execução do programa.
	C
	
	Em uma comparação de variáveis, em que, por exemplo, uma variável numérica é tratada como valor lógico, se a variável possuir valor negativo, seu valor lógico será verdadeiro.
	D
	
	Em uma comparação de variáveis, em que, por exemplo, uma string literal vazia é tratada como valor lógico, seu valor lógico será falso.
Tempo Gasto
 
00:00:15

Continue navegando

Outros materiais