Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESTRUTURA DE DADOS 2a aula Lupa PPT MP3 Exercício: CCT0826_EX_A2_201907046445_V1 27/04/2020 Aluno(a): FERNANDO TADEU LOTTERMANN JUNIOR 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907046445 1a Questão Considere os trechos abaixo: int valor = 100; void eureka (int &z) { int temp = 25; z--; temp = temp - 10; valor = valor - temp; cout << "Auxiliar = " << temp << endl; } int main() { int R = 1000; eureka(R); cout << "Result = " << R << " Valor = " << valor << endl; } Assinale a opção correta. Será impresso Auxiliar = 15 Result = 1000 Valor = 85 sendo que z é um parâmetro passado por valor Será impresso Auxiliar = 15 Result = 1000 Valor = 100 sendo que z é um parâmetro passado por referência Será impresso Auxiliar = 15 http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','2','','',''); javascript:abre_frame('3','2','','',''); Result = 1000 Valor = 85 sendo que z é um parâmetro passado por referência Será impresso Auxiliar = 15 Result = 999 Valor = 85 sendo que z é um parâmetro passado por valor Será impresso Auxiliar = 15 Result = 999 Valor = 85 sendo que z é um parâmetro passado por referência Respondido em 27/04/2020 22:31:38 Explicação: Questão objetiva. Só é possível ser marcada a opção indicada no gabarito. Vejamos a análise passo a passo do trecho de código.... int valor = 100; void eureka (int &z) { int temp = 25; z--; temp = temp - 10; valor = valor - temp; cout << "Auxiliar = " << temp << endl; } int main() { int R = 1000; eureka(R); cout << "Result = " << R << " Valor = " << valor << endl; } Passo a passo .... Temos que valor recebeu 100 e valor é uma variável global. Começando a execução pela main, temos que eureka é chamada e o valor 1000 é passado. Iniciando a execução de eureka temos que : temp (local à eureka) recebe o valor 25, depois o valor 1000 passado é decrementado para 999, temp recebe 15, valor recebe 100- 15, que dá 85. Daí, o valor de temp é impresso, sendo mostrado na tela : Auxiliar = 15. DAí, a função termina e volta-se para a main. Lá na main, após a chamada da eureka, temos a seguinte impressão : Result = 999 Valor = 85 Note que para R valer 999 só foi possível porque z é um parâmetro passado por referência. 2a Questão Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal elemento: As funções As Estruturas de Dados Os Grafos As Filas Os Vetores Respondido em 27/04/2020 22:32:38 3a Questão O programa executa perfeitamente independente da ordem das funções já que existem os seus protótipos. O programa não executa corretamente pois as funções devem ser descritas antes da função main(), para que o compilador consiga reconhecê-las. O programa não executa corretamente, pois o protótipo da função media( ) não apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos. O programa não executa corretamente, pois os protótipos estão fora da ordem em que as funções são descritas. O programa executa perfeitamente, mas não mostra o valor da media já que esta função não foi chamada na função main( ). Respondido em 27/04/2020 22:33:32 Gabarito Coment. 4a Questão Qual será a saída para o seguinte trecho de código? void FUNC1() { int B = -100; cout << "Valor de B dentro da função FUNC1: " << B; } void FUNC2() { int B = -200; cout << "Valor de B dentro da função FUNC2: " << B; } int main() { int B = 10; cout << "Valor de B: " << B; B = 20; FUNC1(); cout << "Valor de B: " << B; B = 30; FUNC2(); cout << "Valor de B: " << B; } Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 10 Valor de B dentro da função FUNC2: -200 Valor de B: 30 Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 20 Valor de B dentro da função FUNC2: -200 Valor de B: 30 Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 20 Valor de B dentro da função FUNC2: -200 Valor de B: 20 Valor de B: 10 Valor de B dentro da função FUNC1: -200 Valor de B: 20 Valor de B dentro da função FUNC2: -200 Valor de B: 30 Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 20 Valor de B dentro da função FUNC2: -400 Valor de B: 30 Respondido em 27/04/2020 22:35:30 Explicação: A execução começa pela main. Na main, B recebe 10. E daí é impresso : Valor de B : 10 DEpois, B muda e recebe 20. Em seguida, é chamada a função FUNC1. Dentro desta função, existe um outro B que recebe -100. Então, é impresso : Valor de B dentro da função FUNC1: -100 A função termina e voltamos para a main, onde existe um outro cout que imprime o valor de B, que na main vale 20. Então, será impresso na tela : Valor de B : 20 Em seguida, ainda na main, B recebe 30 e logo depois, FUNC2 é chamada. Executando FUNC2 temos que um B, local à função, recebe -200 e logo em seguida é impresso : Valor de B dentro da função FUNC2 : -200 Terminando a execução de FUNC2, voltamos para a main onde é impresso o valor do B (local à main) : Valor de B : 30 Logo, a opção correta é a que diz : Valor de B : 10 Valor de B dentro da função FUNC1: -100 Valor de B : 20 Valor de B dentro da função FUNC2 : -200 Valor de B : 30 5a Questão Diga, para o trecho do programa abaixo, qual a opção que representa a saída em tela. Considere que o programa será compilado sem erros e irá executar também sem problemas . void troca (int x, int y){ int tmp; tmp = y; y = x; x = tmp; } int main( ) { int a = 13, b = 10; troca( a, b ); cout<<"Valores: "<< a<<"\t"<< b<<< endl; system("pause"); } Valores: 13 10 Valores: 10 13 Valores: 31 01 Valores: 13 13 Valores: 10 10 Respondido em 27/04/2020 22:38:20 Explicação: Acompanhando passo a passo a execução do trecho dado temos : void troca (int x, int y){ int tmp; tmp = y; y = x; x = tmp; } int main( ) { int a = 13, b = 10; troca( a, b ); cout<<"Valores: "<< a<<"\t"<< b<<< endl; system("pause"); } A execução começa pela main e os valores 13 e 10 são passados para a função na chamada em troca(a,b); Ao iniciar a execução em troca, temos que x recebe 13 e y recebe 10. Mas x e y são parâmetros passados por valor então, nada ocorrerá com a e b na main. ASsim, após a função terminar sua execução e voltarmos para a main temos a seguinte impressão na tela : Valores : 13 10 6a Questão #include < iostream > using namespace std; void SOMA(float a, int b) { float result = a+b; cout << "A soma de " << a << " com " << b << " é: " << result; } int main() { int a; float b; a = 10; b = 12.3; SOMA(b,a); } A função SOMA acima possui as seguintes características : Retorna valor e não possui parâmetros. Retorna valor. Não retorna valor e não possui parâmetros. Retorna valor e possui parâmetros. Não retorna valor e possui parâmetros. Respondido em 27/04/2020 22:39:34 Explicação: A função void SOMA(float a, int b) { float result = a+b; cout << "A soma de " << a << " com " << b << " é: " << result; } tem o tipo de retorno void, o que significa que nenhum valor é retornado. Além disso, a função possui 2 parâmetros, que são a e b. Logo, a resposta certa é Não retorna valor e possui parâmetros. 7a Questão Considere a função: void dobro(int x) { x = 10 * x; } Qual será o valor impresso na tela quando o programa principal for executado? int main() { int n; n = 5; dobro(n); cout << n; return 0; } 10 5 0 50 Haverá um erro de compilação Respondido em 27/04/2020 22:42:08 Gabarito Coment. 8aQuestão A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo assim, qual das situações abaixo representa melhor o conceito das variáveis globais. Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em qualquer outra função do programa. Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função "mostra". Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação. Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o mesmo valor. Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar chamar esta variável em outra função é mencionado um warning. Respondido em 27/04/2020 22:43:20 Explicação: Uma variável é classificada com Global quando for declarada fora de todas as funções, significando que poderá ser alterada em qualquer uma delas. A resposta correta é : Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em qualquer outra função do programa. Gabarito Coment. javascript:abre_colabore('38403','188787698','3764775969');
Compartilhar