Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 1/5 Considere a função abaixo: void func (int a, int &b) { a++; b = a*2; } e o seguinte trecho de código na função main : int x=2, y=3; func (x,y); func (y,x); cout << x << " ; " << y; Após a execução do cout o que será impresso ? 1. 2; 6 2; 12 6; 14 14; 6 4; 12 Explicação: Fazendo um teste de mesa, chegaremos na opção correta. Iniciando a execução pela main, temos que x recebe 2 e y recebe 3. Em seguida, na 1ª. chamada de func, os valores de x e de y, respectivamente, 2 e 3, são passados para a função. Executando a função func, que possui o parâmetro a passado por valor e o parâmetro b passado por referência (usa &) ... void func (int a, int &b) { a++; b = a*2; } Temos que a recebeu 2 e b recebeu 3. Daí, a ficará 3 e b receberá 6. Assim, ao terminar a função func e retornarmos para a main teremos x sem alteração igual a 2 e y com alteração igual a 6. Após voltarmos para a main, temos uma nova chamada de func que recebe os valores de y e de x, respectivamente, que são 6 e 2. Na 2ª. chamada de func para esses valores, javascript:duvidas('1025891','7118','1','3520946','1'); http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 2/5 Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica tem como principal elemento: Considere o trecho de um programa escrito em C++ : int func1 (int n1, int n2) { int soma=0; for ( ; n1 < n2 ; n1 += 2) { soma += n1; } return soma; } main() { cout << func1(1.20); } Marque a opção correta que mostra o que é impresso na tela. teremos que a recebe 6 e y recebe 2. Dentro da função, temos que a é incrementado para 7 e que b recebe 7 * 2 que dá 14. Ao terminarmos a execução da função, temos que y não sofreu mudança, ficando com o valor 6 e que x mudou para 14. Logo, será impresso 14;6 Logo, as demais opções são incorretas. 2. Os Grafos Os Vetores As funções As Estruturas de Dados As Filas 3. 100 102 104 90 80 Explicação: int func1 (int n1, int n2) { int soma=0; for ( ; n1 < n2 ; n1 += 2) { javascript:duvidas('641668','7118','2','3520946','2'); javascript:duvidas('1184204','7118','3','3520946','3'); http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 3/5 Caso uma estrutura homogênea (vetor) seja passada como parâmetro para uma função, então: Considere o trecho de um programa escrito em C++. void func1 (bool x, int ini, int fim) { for ( int y=ini; y != fim ; y++) { x = !x; if (x) soma += n1; } return soma; } main() { cout << func1(1,20); } Fazendo passo a passo : n1 n2 soma 1 20 0 3 1 5 4 7 9 9 16 11 25 13 36 15 49 17 64 19 81 21 ... Teste dará falso 100 Retorna o valor 100 que é impresso na main. 4. Essa passagem pode ser "por valor" ou "por referência" Haverá um erro de compilação, pois vetores não podem ser parâmetros de funções Essa passagem é "por valor" Todos os valores contidos no vetor são copiados para a função Essa passagem é "por referência" Explicação: Quando o vetor é um parâmetro de uma função ele é sempre passado por referência, não havendo outra possibilidade. Não ocorrerá erro, se o vetor for devidamente passado para a função. 5. javascript:duvidas('1164914','7118','4','3520946','4'); javascript:duvidas('1184202','7118','5','3520946','5'); http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 4/5 cout << y << endl; else cout << -y << endl; } } int main() { func1(false, 1, 7); } Marque a opção correta que mostra o que é impresso na tela. Sobre funções, é correto afirmar: 1, -2, -3, -4, -5, -6 -1, 2, -3, 4, -5, 6 1, -2, 3, -4, 5, -6 -1, -2, -3, -4, -5, -6 1, 2, 3, 4, 5, 6 Explicação: Fazendo um teste de mesa temos que será impresso a seguinte sequência : 1 -2 3 -4 5 -6, um embaixo do outro. Parte de um teste de mesa : x ini fim y false 1 7 1 true 2 false E continua x, ini, fim e y recebendo valores Tela : 1 -2 3 -4 5 -6 6. Obrigatoriamente devem possuir parâmetros. Não podem ser chamadas dentro de outras funções. Obrigatoriamente devem retornam algum valor. São blocos de instruções que são executados quando são chamadas em alguma parte do programa. Não devem conter variáveis locais em seu código. javascript:duvidas('902261','7118','6','3520946','6'); http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 5/5 Considere a seguinte função: void dobro(int x) { x = 2 * x; } Qual valor será impresso na tela quando o seguinte programa principal for executado? int main() { int n; n = 5; dobro(n); cout << n; return 0; } No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, respectivamente. #include using namespace std; int x, y; float media( float a, float b ) { float tmp; tmp = (a + b ) / 2.0; return ( tmp ); } int main() { float r; cout<<"Informe 2 valores: "; cin>>x>> y; r = media( x, y ); cout<<"\nMedia = "<< r<<"\n"; system ("pause"); } Explicação: Uma função é um bloco de instruções que pode ser chamada a partir de outra função, que pode ter ou não parâmetros, que pode ou não retornar valor, que pode ter ou não variáveis locais. 7. 5 Haverá um erro de compilação 20 10 0 8. ( ) área de dados globais / área de pilha ( ) área de dados globais / área de registro ( ) área de pilha / área de registro ( ) área de registro / área de pilha ( ) área de registro / área de dados globais Explicação: Como y e r são variáveis, ficarão armazenadas em na área de dados globais / área de pilha javascript:duvidas('258875','7118','7','3520946','7'); javascript:duvidas('30948','7118','8','3520946','8'); http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp#
Compartilhar