Buscar

Estrutura de dados Ex 1 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 18 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 18 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 18 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

Prévia do material em texto

ESTRUTURA DE DADOS
1a aula
		
	 
	Lupa
	 
	 
	
Vídeo
	
PPT
	
MP3
	 
		Exercício: CCT0753_EX_A1_201802216995_V1 
	18/02/2019 (Finaliz.)
	Aluno(a): JOAO PAULO MACHADO GUERRA
	2019.1 EAD
	Disciplina: CCT0753 - ESTRUTURA DE DADOS 
	201802216995
	
	 
	
	 1a Questão
	
	
	
	
	Para organizar as fotos de minha família com os ancestrais de várias gerações, minha filha usou uma estrutura de dados que é .....  Assinale a opção certa.
		
	 
	lista
	 
	árvore
	
	grafo
	
	pilha
	
	fila
	
Explicação:
Conforme gabarito e aula 1.
	
	
	 
	
	 2a Questão
	
	
	
	
	Estão entre algumas das possíveis formas de estruturas de dados:
		
	
	Listas, vetores, cin
	
	cout, Funções, vetores
	 
	Árvores binárias, pilhas, vetores
	
	Árvores binárias, pilhas, algoritmos
	
	Grafos, funções, fila
	
Explicação:
	
	Árvores binárias, pilhas, vetores
	Verdadeiro.  
	
	Grafos, funções, fila
	Falso.  Funções não são estruturas de dados. Funções são módulos dos programas.
	
	Árvores binárias, pilhas, algoritmos
	FAlso. Algoritmos não são estrutura de dados.
	
	Listas, vetores, cin
	Falso.  cin não é estrutura de dados.  É usado para fazer entrada de dados.
	
	cout, Funções, vetores
Falso.  Funções e cout não são estrutura de dados.
	
	
	 
	
	 3a Questão
	
	
	
	
	Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema operacional?
		
	 
	Pilha
	
	Grafo
	
	Fila
	
	Lista
	 
	Árvore
	
Explicação:
A estrutura de diretórios mostra hierarquia e um relacionamento não linear. Por isso, a resposta certa é árvore.
 
Lista, pilha e fila são estruturas de dados linear.
 
Grafo é não linear, mas não é hierárquica.
	
	
	 
	
	 4a Questão
	
	
	
	
	Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados.
 
 
A correta associação entre os elementos das duas tabelas é: 
		
	 
	a1, b1, c2, d1
	
	a1, b2, c1, d1.
	
	a2, b2, c1, d2.
	
	a2, b1, c2, d1.
	
	a1, b1, c2, d2.
	
Explicação:
Por definição : pilha, fila, lista, vetor são estruturas lineares.  Já árvore e grafos são estruturas de dados não lineares.
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão
	
	
	
	
	A forma correta para imprimir o valor do último elemento de um vetor v com n posições é:
		
	
	cout << v[n+1];
	
	cout << v[ultimo];
	
	cin >> v[-1];
	 
	cout << v[n];
	 
	cout << v[n-1];
	
	
	 
	
	 6a Questão
	
	
	
	
	Estão entre algumas das possíveis formas de se estruturar dados:
		
	
	Algoritmos, lista ordenada, vetores.
	
	Grafos, lista ordenada, algoritmos.
	
	Lista encadeada, vetores, algoritmos.
	
	Grafos, algoritmos, fila.
	 
	Grafos, lista ordenada, vetores.
	
Explicação:
	FAlso.  Algoritmos não são estrutura de dados
	Grafos, algoritmos, fila.
	.
	FAlso.  Algoritmos não são estrutura de dados.
	Grafos, lista ordenada, algoritmos.
	 
	Correto.
	Grafos, lista ordenada, vetores.
	 
	FAlso.  Algoritmos não são estrutura de dados.
	Algoritmos, lista ordenada, vetores.
	 
	
FAlso.  Algoritmos não são estrutura de dados.
	Lista encadeada, vetores, algoritmos.
	
	
	Gabarito
Coment.
	
	 
	
	 7a Questão
	
	
	
	
	Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
		
	
	É um modo de deleção de dados em um computador.
	
	São os nomes dados as variáveis na montagem de uma rotina.
	
	É um modo de utilização de dados nos programas de computador.
	 
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
	 
	É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
	
Explicação:
Analisando cada item :
	
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
	Correta.
	
	É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
	FAlso. Não há distribuição de dados ou organização de dados em uma rede via estrutura de dados.
	
	É um modo de utilização de dados nos programas de computador.
	FAlso. Não se diz como se utiliza dados.  Variáveis armazenam dados, por exemplo e em atribuições ou em expressões também utilizamos dados.
	
	São os nomes dados as variáveis na montagem de uma rotina.
	FAlso.  Nomes de variáveis são identificadores.
	
	É um modo de deleção de dados em um computador.
Falso. Para "deletar" um dado não temos que usar estrutura de dados.
	
	
 
	
	
	Gabarito
Coment.
	
	 
	
	 8a Questão
	
	
	
	
	Assinale a alternativa correta sobre tipos abstratos de dados:
		
	
	Um tipo abstrato de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.
	
	Um tipo abstrato de dados deve sempre ser representado por meio dos recursos específicos de uma linguagem de programação.
	
	Um tipo abstrato de dados descreve, além do que se pode fazer com os dados, como as operações serão efetivamente implementadas.
	 
	Um tipo abstrato de dados é composto por um modelo de dados e um conjunto de operadores definidos sobre esses dados.
	 
	É fundamental que os tipos abstratos de dados proponham um conjunto eficiente de algoritmos para realização de suas operações.
	
Explicação:
	
	Um tipo abstrato de dados é composto por um modelo de dados e um conjunto de operadores definidos sobre esses dados.
	Verdadeiro.  Por definição de TAD (tipo abstrato de dados).
	
	Um tipo abstrato de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.
	Falso.   Quando se pensa em TAD não há vínculos com implementação.
	
	Um tipo abstrato de dados descreve, além do que se pode fazer com os dados, como as operações serão efetivamente implementadas.
	FAlso.  Não se pensa em implementação quando se trabalha com TAD.
	
	É fundamental que os tipos abstratos de dados proponham um conjunto eficiente de algoritmos para realização de suas operações.
	FAlso. Não se pensa em implementação ou eficiência quando se trabalha com TAD. Se pensa na semântica das operações.
	
	Um tipo abstrato de dados deve sempre ser representado por meio dos recursos específicos de uma linguagem de programação.
	
	
 Falso : Não se pensa em programa ou na linguagem de programação, pois o TAD não está vinculado à implementação.
	
 
		
		 
	ESTRUTURA DE DADOS
1a aula
		
	 
	Lupa
	 
	 
	
Vídeo
	
PPT
	
MP3
	 
	
	 
	
	 1a Questão
	
	
	
	
	Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?
		
	 
	árvore
	
	lista
	
	fila
	
	pilha
	
	grafo
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão
	
	
	
	
	Qual estrutura de dados não linear que é utilizada na implementação de Redesde Computadores, na Computação Gráfica, em modelagem de circuitos digitais e etc. E que se caracteriza por apresentar um conjunto de nós e conexões entre eles.
		
	
	Pilhas Encadeadas
	
	Vetores
	
	Filas Encadeadas
	
	Listas Encadeadas.
	 
	Grafos
	
	
	 
	
	 3a Questão
	
	
	
	
	As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram  armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram  armazenados.
Marque a alternativa CORRETA:
		
	 
	As alternativas III e IV estão corretas.
	
	As alternativas II e IV estão corretas.
	
	Todas as alternativas estão corretas.
	
	As alternativas I e III estão corretas.
	 
	As alternativas I e II estão corretas
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão
	
	
	
	
	Sobre estrutura de dados, identifique o que está correto afirmar.
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in first out).
		
	
	I, III e V.
	
	I, III, IV e V.
	
	II, IV e V.
	 
	I, II e III.
	
	II, III, IV e V.
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão
	
	
	
	
	É um exemplo de TAD Não Linear:
		
	
	Filas
	
	Filas de Prioridade
	 
	Grafos
	
	Listas
	
	Pilhas
	
Explicação: Um grafo é um tipo de dados abstrato não linear
	
	
	 
	
	 6a Questão
	
	
	
	
	Analise as afirmativas abaixo e selecione a alternativa correta.
 
I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade Relacionamento e Redes de computadores. 
 
II Árvore e lista duplamente encadeada são estruturas não lineares. 
III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final.  
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la.
 
V O uso de ponteiros é fundamental para construção de listas encadeadas.
		
	 
	I e V são verdadeiras 
	
	I , II e IV são verdadeiras 
	 
	III e V são verdadeiras 
	
	II E IV são verdadeiras 
	
	II e V são verdadeiras 
	
	
	Gabarito
Coment.
	
	 
	
	 7a Questão
	
	
	
	
	Podemos dizer que estrutura de dados é:
		
	
	É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema.
	
	A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema.
	 
	O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
	
	Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada.
	
	O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
	
	
	Gabarito
Coment.
	
	 
	
	 8a Questão
	
	
	
	
	A que estrutura pertence a definição: " Uma estrutura não linear que é um conjunto de nós e suas conexões entre eles e não há limitação de vértices. Muito utilizada para representação de percursos em mapas."
		
	
	filas encadeadas
	
	structs
	
	listas encadeadas
	 
	grafos
	
	pilhas encadeadas
	
	
	
Parte superior do formulário
		
		
	ESTRUTURA DE DADOS
CCT0753_A2_201802216995_V1 
	
		Lupa
	 
	Calc.
	
	
	 
	 
	 
	
Vídeo
	
PPT
	
MP3
	 
	
		Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
	
	 
		
	
		1.
		 
	
	
	
	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 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 executa perfeitamente independente da ordem das funções já que existem os seus protótipos.
	
	
	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( ).
	
	Gabarito
Coment.
	
	
	
	 
		
	
		2.
		Nas linguagens C e C++, ao se declarar qualquer função, a especificação de tipo de dados que antecede o nome desta função define
	
	
	
	o tipo das variáveis que serão utilizadas dentro da função.
	
	
	o protótipo da função.
	
	
	o tipo do dado do valor retornado da função para quem a chamou.
	
	
	o escopo das variáveis do programa.
	
	
	o tipo dos dados dos parâmetros que são passados à função quando da sua chamada.
	
Explicação:
Por definição, antes do nome da função colocamos o tipo de dados retornado. Por exemplo, int, double, char ... Quando a função nada retorna colocamos void.
	
	
	
	 
		
	
		3.
		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: -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: -200 Valor de B: 20
	
	
	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: 30Explicaçã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
	
	
	
	
	4 e 9
	
	
	4 e 12
	
	
	2 e 13
	
	
	9 e 16
	
	
	2 e 9
	
Explicação:
Executando o programa, passo a passo, temos :
Na main, a recebe 2 e b recebe 3.  Note que a e b são variáveis globais.
Daí, ainda na main, a função dobro é chamada. Ao executar dobro, temos que o valor 2 é passado e x (local à dobro) recebe 2 * 2, que dá 4.
Ao terminar a função dobro, volta-se para a main, mas o valor de a passado não mudou, continuando 2.
Após a execução de dobro, a função triplo é chamada na main e é passado o valor de b,  que é  3.  Iniciando a execução da função triplo, temos que y recebe 3 e a função retorna 3 * 3, que é 9. Voltando para a main, temos que b recebe o valor retornado pela função, que é 9.
Até este ponto, temos que a vale 2 e b mudou para 9.
Em seguida, a função altera é chamada e são passados 2 e 9, respectivamente, para x e y.  Executando a função altera, temos que x recebe 2+2, que dá 4 e y recebe 4+9, que dá 13.  Como x é passado por valor e y por referência, temos que a mudará e b mudará (ambas na main).
Então, voltando para main temos que a vale 2 e que b vale 13. Assim, será impresso na tela
           2  e   13
	
	
	
	 
		
	
		5.
		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)
            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.
	
	
	
	-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.
		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:
	
	
	
	As funções
	
	
	Os Vetores
	
	
	As Estruturas de Dados
	
	
	Os Grafos
	
	
	As Filas
	
	
	
	 
		
	
		7.
		Sobre funções, é correto afirmar:
	
	
	
	Não podem ser chamadas dentro de outras funções.
	
	
	Não devem conter variáveis locais em seu código.
	
	
	Obrigatoriamente devem retornam algum valor.
	
	
	Obrigatoriamente devem possuir parâmetros.
	
	
	São blocos de instruções que são executados quando são chamadas em alguma parte do programa.
	
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.
	
	
	
	 
		
	
		8.
		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: 31 01
	
	
	Valores: 10 10
	
	
	Valores: 13 13
	
	
	Valores: 10 13
	
Explicação:
 
A execução começa pela main. São passados o valor de a, que é 13 e o endereço de b, que vale 10.  Em seguida, é chamada a função troca e são passados o valor de a e o endereço de b.  
Executando a função troca, x recebe 13 e *y recebe 10. Mas ocorre a troca, usando tmp como auxiliar. Então x recebe 10 e *y recebe 13. Ao terminar a execução da função, voltamos para a main e temos a sem mudanças e b com a mudança ocorrida na função.  Note que x é um parâmetro passado por valor  e  y é um parÂmetro passado por referência.
Portanto,  a ficou 13 e b ficou 13.
Logo, será impresso : Valores:  13 13
	
	
	
	
	Legenda:   
	 
	 Questão não respondida
	 
	 
	 Questão não gravada
	 
	 
	 Questão gravada
	
Exercício inciado em 18/02/2019 21:20:03. 
	
	 
		
	
		4.
		O que será mostrado na tela pelo programa abaixo ? 
#include < iostream >
using namespace std;
int a,b;
void dobro(int x){ //x passado por valor
 x=2*x;
}
int triplo(int y){ //y passado por valor
 return 3*y;
}
void altera(int x, int &y) { //x passado por valor e y passado por referencia
 x=x+a;
 y=x+b;
} 
 
int main (){
 a=2;
 b=3;
 dobro(a);
 b=triplo(b);
 altera(a,b);
 cout<< a << " e " << b << endl;
}
 
	
Parte inferior do formulário