Baixe o app para aproveitar ainda mais
Prévia do material em texto
LINGUAGEM DE PROGRAMAÇÃO 1a aula Lupa Vídeo PPT MP3 1a Questão De acordo com o texto abaixo, qual a alternativa correta? (Fonte: adaptado IBM) "é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes em código executável de máquina." garbage collector JDK JSR JVM JRE Respondido em 19/02/2019 20:02:04 Gabarito Coment. 2a Questão Uma das razões pela portabilidade da tecnologia Java é a utilização da JVM (Java Virtual Machine). É correto dizer em relação a JVM: A JVM gera um código executável para cada sistema operacional. Você precisa reescrever parte da sua aplicação toda vez que quiser mudar de sistema operacional. A JVM faz com que o código fonte e compilado seja para uma plataforma e sistema operacional específicos. Ela é usada para compilar um código Java. A JVM representa uma camada extra entre o sistema operacional e a aplicação, responsável por "traduzir" (entre outras funções) o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional no qual ela está rodando no momento, ou seja, sua aplicação roda sem nenhum envolvimento com o sistema operacional. Respondido em 19/02/2019 20:02:19 Gabarito Coment. 3a Questão Seja um programa em java com o seguinte código: public class PrimeiroPrograma { public static void main (String args[]) { System.out.println("Bem vindo ao Mundo Java"); } } Marque a única alternativa CORRETA: O arquivo pode ser salvo com qualquer nome, pois o compilador entenderá que é um programa em java. O arquivo pode ser salvo com qualquer nome desde que tenha a extensão .java, indicando que é um código fonte em java. O arquivo deve ser salvo como ProgramaPrincipal.java, pois este possui o método main (String arg []) que é o método principal do java. O arquivo pode ser salvo como primeiroprograma.java, pois o java não faz diferença entre letras maiúscula e minúscula. O arquivo deve ser salvo como PrimeiroPrograma.java, pois o java faz diferença entre letras maiúscula e minúscula. Respondido em 19/02/2019 20:03:20 Gabarito Coment. 4a Questão Analisando as características da linguagem JAVA, marque a alternativa correspondente ao fato da linguagem poder ser implantada em diversas plataformas, como, por exemplo, Windows, Unix e Macintosh, sem que seja necessário modificar ou mesmo reconstruir a aplicação: Flexibilidade Escalabilidade Portabilidade Recompilação automática Facilidade de programação Respondido em 19/02/2019 20:03:16 Gabarito Coment. 5a Questão Quando programamos em Java, devemos levar em consideração as convenções de nomenclatura para deixar nosso código o mais legível e documentável possível, pois um dos objetivos da programação orientada a objetos é o reaproveitamento do código. Com relação ao nome de classes, por convenção, marque a opção incorreta: O nome da classe deve ser exatamente o mesmo nome de seu arquivo fonte ( .java ) toda classe deve começar com uma letra maiúscula deve começar com letras minúsculas, porém não podem começar com números. caso o nome de uma classe seja composto por mais de uma palavra, a primeira letra de cada palavra deve ser em maiúscula. O nome da classe deve fazer referência total ao seu objeto Respondido em 19/02/2019 20:03:51 6a Questão Para que possamos desenvolver sistemas nas mais diversas linguagens, é muito importante conhecer suas principais características e como as mesmas funcionam. Na linguagem Java, do processo de criação do código até a execução do programa passamos por algumas etapas. Em uma delas é gerado o "bytecode". Qual das respostas apresenta o conceito correto para "bytecode"? É a interpretação de um programa escrito em qualquer linguagem, com o objetivo de ser compilado pela JVM. É a compilação de um programa escrito em Java, com o objetivo de ser interpretado pela JVM. É a compilação de um programa escrito em Java, com o objetivo de ser interpretado pelo Sistema Operacional. Código fonte desenvolvido pelo usuário, sujeito a interpretação do Sistema Operacional. É resultado da interpretação do código fonte de um programa escrito em Java. Respondido em 19/02/2019 20:05:39 7a Questão Qual sintaxe expressa a criação correta de uma classe em java? Public Exemplo {} public class Exemplo() {} public class Exemplo {} class Exemplo() {} class public Exemplo {} Respondido em 19/02/2019 20:04:46 8a Questão A tecnologia Java é, basicamente, dividida em: JSE, JEEP e JME JSE, JEE e JPE JSE, JDE e JME JSE, JDE e JPE JSE, JEE e JME LINGUAGEM DE PROGRAMAÇÃO 2a aula Lupa Vídeo PPT MP3 1a Questão DENTRE OS COMANDOS BÁSICOS DA LINGUAGEM DE PROGRAMAÇÃO JAVA, QUAL O COMANDO ABAIXO QUE PODE SER UTILIZADO PARA COMPARAR DUAS STRINGS (str1 e str2)? strcmp(str1,str2); strcpy(str1,str2); str1.equals(str2); str1.equals.str2; str1 == str2; Respondido em 19/02/2019 21:06:44 Explicação: ADAS A ASDD AS 2a Questão Em JAVA, os operadores lógicos 'E', 'OU' e 'NÃO' são representados respectivamente por: &&, ||, ! *, +, ~ .and., .or., .not &, #, $ and, or, not Respondido em 19/02/2019 21:06:25 Gabarito Coment. 3a Questão Qual o valor da variável total no final da execução do código apresentado, logo abaixo? int total = 0 for(int conta = 2; conta <=20; conta+=2) total+= conta; System.out.printf("Resultado %d\n", total); 112 100 108 110 120 Respondido em 19/02/2019 21:11:27 4a Questão Seja o código a seguir: public class DemoVetor{ public static void main(String[] args) { int[] vet={10,20,34,56,60}; int i; for(i=0; i < vet.length;i++)<vet.length;i++) { System.out.println("vet["+i+"]=" + vet[i]); } System.out.print("i="+i); } }</vet.length;i++) Marque a alternativa que apresenta o valor da variável i, ao final do programa. i=1; i=2; i=5; i=4; i=3; Respondido em 19/02/2019 21:07:47 Gabarito Coment. 5a Questão O comando "for" estendido foi criado para que seja mais fácil percorrer ________ de objetos do que com o comando "for" tradicional, onde é necessário saber o tamanho da estrutura a ser percorrida. Métodos Associações Coleções Atributos Classes Respondido em 19/02/2019 21:08:12 6a Questão Considere os seguintes fragmentos de código Java: I. int sum = 7; if ( sum > 20 ) { System.out.print("ganhou "); } else { System.out.print("perdeu "); } System.out.println("o bônus."); II. int sum = 21; if ( sum != 20 ) System.out.print("ganhou"); else System.out.print("perdeu "); System.out.println("o bônus."); O resultado da execução dos fragmentos em I e II será, respectivamente, perdeu e ganhou o bônus perdeu e perdeu perdeu o bônus e ganhou ganhou e ganhou perdeu o bônus e ganhou o bônus Respondido em 19/02/2019 21:08:14 7a Questão Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Programas Java não são traduzidos para a linguagem de máquina, como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada: Bytecode Dot Net Servlet Classe JavaServePages Respondido em 19/02/2019 21:09:08 8a Questão Analise ocódigo abaixo e marque a opção correta após a execução do mesmo: public class Prog001{ public static void main(String[] args){ String X="PEDRO"; String Y="pedro"; if(X.equalsIgnoreCase(Y)) System.out.println("Mesma pessoa"); else System.out.println("Pessoa diferente"); }} Êrro de compilação Êrro de sintaxe Pessoa diferente Mesma pessoa Êrro de sintaxe e de compilação LINGUAGEM DE PROGRAMAÇÃO 2a aula Lupa Vídeo PPT MP3 1a Questão Uma das tarefas realizadas por um compilador é a avaliação de expressões. Nesta tarefa, ocorre a verificação da sintaxe e a definição da ordem de execução dos operadores. Com base nas ordens de precedência e associatividade e nas regras de conversão de tipos primitivos, informe o valor impresso resultante da avaliação da seguinte instrução: System.out.println( 4 + (int) (5.9f) ); 10.0 9.0 9 Ocorre erro de compilação 10 Respondido em 19/02/2019 21:20:56 2a Questão Considerando o código a seguir: public static void main(String[] args) { int i = 15; while(true){ if(i%3==0){ System.out.print(i + " "); } i--; if(i==0){ break; } } } A saída da execução desse trecho de código terá como primeiro número da sequência e último respectivamente: 12 e 2 15 e 2 14 e 2 15 e 3 12 e 3 Respondido em 19/02/2019 21:22:08 Gabarito Coment. 3a Questão Marque a alternativa que define o procedimento utilizado para comparar strings: if ("Tudo Certo".verify (nome)) if (equals (nome, "Tudo Certo")) if (verify ("Tudo Certo",nome)) if ("Tudo Certo".equals (nome)) if (nome == "Tudo Certo") Respondido em 19/02/2019 21:22:33 Explicação: Na Linguagem Java o operador equal é o responsável pela comparação de strings. if ("Tudo Certo".equals (nome)) --> neste caso, ele trata o Tuto Certo como a primeira string, que deverá ser comparado com o conteúdo da variável nome. 4a Questão Ao se executar o trecho de código abaixo, escrito em Java, qual será o resultado obtido? int a = 1+3/2; System.out.println(a); 1 existe erro de execução: tipo inválido existe erro de compilação 2.5 2 Respondido em 19/02/2019 21:22:42 5a Questão Depois de declarada, uma variável na linguagem Java pode ter um valor atribuído a ela com o operador de atribuição: :: = := <= : Respondido em 19/02/2019 21:22:50 6a Questão Analise o código em Java abaixo e marque a opção correta onde representa o que será exibido após a execução do mesmo: public class Repeticao { public static void main(String arg[]){ int i; char letra = 'a'; for(i=1;i<=5;i++){ System.out.print(" "+letra); letra++; } } } a b c d e f letra letra letra letra a b c d e letra letra letra letra letra a b c d Respondido em 19/02/2019 21:24:11 7a Questão Na linguagem Java as palavras reservadas: char, boolean, int, float e double representam interfaces métodos classes objetos tipos primitivos Respondido em 19/02/2019 21:23:55 8a Questão public class qwert { public static void main(String[] args) { qwert a = new qwert(); a.asdfg(672, 117); } void asdfg(int d1, int d2) { int a3 = 1; int a1 = d1; int a2 = d2; System.out.println("Resposta"); if (a1 >= a2) { while (a3 > 0) { a3 = a1 % a2; a1 = a2; a2 = a3; System.out.println(a1 + " - " + a3); } } } } Assinale a opção que apresenta o resultado da execução do código Java precedente. Resposta 672 - 117 117 - 87 87 - 30 30 - 27 27 - 3 Resposta 672 - 117 Resposta 3 - 0 Resposta 117 - 87 87 - 30 30 - 27 27 - 33 - 0 Resposta 87 - 30 LINGUAGEM DE PROGRAMAÇÃO 3a aula Lupa Vídeo PPT MP3 1a Questão Analise as afirmativas e marque a alternativa correta: i -A interface gráfica com o usuário (GUI) fornece a um programa um conjunto consistente de componentes intuitivos. ii-A utilização de GUI diminui o tempo de aprendizado de uma nova ferramenta. iii-As GUI são construídas a partir de objetos com o qual o usuário interage através dos dispositivos de entrada. Apenas a alternativa iii está correta. Todas as alternativas estão corretas. Apenas a alternativa ii está correta. Todas as alternativas estão erradas. Apenas a alternativa i está correta. Respondido em 20/03/2019 19:17:25 2a Questão Para construirmos uma interface gráfica em JAVA, adicionamos componentes sobre a área da janela. Por essa razão, a área da janela é um container, ou seja, um elemento capaz de armazenar uma lista de componentes. Existem uma infinidade de funcionalidades disponíveis nas bibliotecas de classes Java, destinadas a prover a comunicação homem-máquina gráfica. São características de um JPanel, EXCETO: A classe JPanel não tem painel de conteúdo como JFrames, assim, os elementos devem ser diretamente adicionados ao objeto painel São áreas que comportam outros componentes, inclusive outros painéis São criados com a classe JPanel, que é derivada da classe Container São elementos que fazem a intermediação entre um container e os demais GUI anexados. O JPanel, assim como o JFrame são derivados do pacote java.util.awt Respondido em 20/03/2019 19:17:51 Gabarito Coment. Gabarito Coment. 3a Questão Analise as afirmativas e marque a alternativa correta: i-Os componentes Java puros oferecem um maior nível de portabilidade e flexibilidade e são do pacote AWT. ii-Os componentes Swing fornecem funcionalidade e aparência uniforme em todas as plataforma, sendo denominada de aparência de metal. iii-Os componentes AWT fornecem funcionalidade e aparência uniforme em todas as plataforma, sendo denominada de aparência de metal. Todas as alternativas estão erradas. Apenas a alternativa i está correta. Todas as alternativas estão corretas. Apenas a alternativa iii está correta. Apenas a alternativa ii está correta. Respondido em 20/03/2019 19:16:50 4a Questão A criação de interfaces gráficas Swing consiste basicamente em instanciar objetos. Componentes gráficos, tais como campo texto e botões, são elementos que o usuário manipula com o mouse ou com o teclado. Das afirmativas abaixo, indique aquela que NÃO REPRESENTA uma característica do componente JComboBox Um objeto da classe JComboBox é um campo texto na forma de várias linhas nas quais textos podem ser digitados pelo usuário através do teclado. É um componente visual que possibilita a manipulação de coleções de objetos permitindo ao usuário selecionar apenas um objeto da coleção Para instanciar um componente utilizamos a sintaxe JComboBox combo = new JComboBox(); Cada objeto inserido no JComboBox é representado visualmente pela String retornada pelo método toString(). Pertence ao pacote javax.swing Respondido em 20/03/2019 19:15:23 Gabarito Coment. 5a Questão Para criar janelas gráficas no Java é preciso utilizar uma das bibliotecas gráficas disponíveis. Os objetos gráficos no Java são criados como objetos normais a partir das classes definidas na biblioteca gráfica Swing.� Para criar um elemento gráfico "caixa de texto" devemos instanciar: JTextField caixa = new JTextField() JComboText combo = new "Caixa de Texto" JFrameText texto = new Text() JLabel("caixa de texto") JBox caixa = "Caixa de Texto" Respondido em 20/03/2019 19:11:03 Gabarito Coment. Gabarito Coment. 6a Questão Uma caixa de combinação permiteao usuário fazer uma seleção a partir de uma lista de itens. Assinale a alternativa que representa uma caixa de combinaçãoo. JcomboBox JRadioButton Jcheckbox JButton Jmenu Respondido em 20/03/2019 19:11:23 7a Questão Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é: JFrame botao = new JButton("sair"); JButton botao = new JButton("sair"); JFrame.botao = new.JButton("sair"); JButton botao = new JFrame("sair"); JButton.botao = new JButton("sair"); Respondido em 20/03/2019 19:11:56 8a Questão Após a execução do programa em linguagem de programação JAVA abaixo, qual será a janela correta? } public class Pessoa { public static main (String args[]) { private int codigoPessoa; private String nome; private String endereco; private int telefone; } } public Pessoa { private int codigoPessoa; private String nome; private String endereco; private int telefone; } public Pessoa { public static main (String args[]) { private codigoPessoa int; private nome String; private endereco String; private telefone int; } } public Pessoa { public static main (String args[]) { private int codigoPessoa; private String nome; private String endereco; private int telefone; } } Respondido em 24/03/2019 19:01:06 2a Questão ______________________ permite que um método com o mesmo nome, porém com diferentes argumentos, possua diferentes e retorne valores de diferentes tipos. Overflow Override Overloading Overriden TransOver Respondido em 24/03/2019 19:05:47 3a Questão Considere a classe Lampada public class Lampada { private int estadoLampada; public void acender() { estadoLampada = 1; } public void apagar() { estadoLampada = 0; } } Assinale a opção que corretamente instancia a classe dada: Lampada L.new Lampada(); Lampada L = new acender(); Lampada L.acender(); Lampada L = new Lampada(); Lampada L = new apagar(); Respondido em 24/03/2019 19:02:13 4a Questão Dado o código Java abaixo, marque a alternativa correta referente à criação de um objeto Cliente, o qual faz uso do código informado: public class Cliente{ String nome = null; int idade = 0; String endereco = null; public Cliente(String nome, int idade, String endereco){ this.nome = nome; this.idade = idade; this.endereco = endereco; } } Cliente cliente = Cliente(); Cliente cliente = new Cliente("Maria", 20, "R das Flores 322"); New Cliente = Cliente("Maria", "20","R das Flores 322"); Cliente cliente = Cliente("Maria", "20","R das Flores 322"); Cliente cliente = new Cliente(); Respondido em 24/03/2019 19:02:52 5a Questão Considere a Linguagem Java onde sejam declaradas A e B duas classes concretas, C e D duas interfaces: I-public interface E extends D{ } II-public interface E implements C{ } III-public interface E extends A { } IV-public class E implements C,D { } V-public class E implements B,C { } Estão corretas as declarações: II e V. II e III. I e IV. IV e V. I e II. Respondido em 24/03/2019 19:05:41 6a Questão Para declarar uma constante chamada SIZE do tipo inteiro e com valor 10 no Java, podemos utilizar a construção: void final int SIZE = 10 this final int SIZE :=10 this extend integer SIZE := 10 static extend integer SIZE = 10 static final int SIZE = 10 Respondido em 24/03/2019 19:03:30 Gabarito Coment. 7a Questão Agregação e composição definem relacionamentos entre _______ para os quais deve ser definida a ________ da relação. Já a relação de herança expressa uma _______ entre as classes. Escolha a opção que complementa corretamente o texto anterior: Classes; hierarquia; cardinalidade Métodos; cardinalidade; prioridade Classes; prioridade; hierarquia Objetos; cardinalidade; hierarquia Objetos; hierarquia; prioridade Respondido em 24/03/2019 19:05:06 8a Questão Como se instancia um objeto em Java? Classe objeto = new Construtor; Construtor objeto = new Classe(); Construtor objeto = new Classe; Classe objeto = Construtor(); Classe objeto = new Construtor(); LINGUAGEM DE PROGRAMAÇÃO 4a aula Lupa Vídeo PPT MP3 1a Questão Acerca de Construtores em Java, marque a alternativa correta. Quando não é declarado nenhum construtor na classe, o Java o cria. Esse construtor é o construtor opcional, ele não recebe nenhum argumento e o corpo dele é vazio. A partir do momento que o construtor é declarado, o construtor default não é mais fornecido. Os construtores permitem modificar suas saídas. O construtor também é chamado de método principal. O construtor dar a possibilidade ou obriga o usuário de uma classe a passar argumentos para o objeto durante o processo de criação do mesmo. Um construtor é um método especial, já que possui retorno. Respondido em 24/03/2019 19:10:52 Explicação: O construtor dar a possibilidade ou obriga o usuário de uma classe a passar argumentos para o objeto durante o processo de criação do mesmo. Quando não é declarado nenhum construtor na classe, o Java o cria. Esse construtor é o construtor OBRIGATÓRIO, ele não recebe nenhum argumento e o corpo dele é vazio. A partir do momento que o construtor é declarado, o construtor default não é mais fornecido. Os construtores NÃO permitem modificar suas saídas. O construtor também é chamado de método ESPECIAL. Um construtor é um método especial, já que NÃO possui retorno. 2a Questão Assinale a opção que não faz parte do conceito de orientação a objetos. procedimento método herança classe atributo Respondido em 24/03/2019 19:06:23 Gabarito Coment. 3a Questão Alguns métodos não retornam valores. Eles podem ser executados apenas para exibir um valor, por exemplo. Neste caso, usa-se uma palavra chave como se fosse um tipo de dado para valores de retorno. Quando Java encontra essa palavra chave sendo usada como um tipo de dado de valor de retorno, Java sabe que nada deverá ser retornado. public static Scanner void main Respondido em 24/03/2019 19:06:41 4a Questão O código é executado normalmente, pois c é uma instancia da mesma classe que o atributo O objeto c não pode ser instanciado, pois não há construtor na classe. Será gerado erro de compilação pois há erro de sintaxe em: c.cor="Prata"; O código é executado normalmente, pois c não é uma instancia da mesma classe que o atributo Será gerado um erro de compilação, pois o atributo é private. Respondido em 24/03/2019 19:11:57 Gabarito Coment. Gabarito Coment. 5a Questão Seja a classe: public class Navio { private String classeNavio; private int numPassageiros; public Navio(classeNavio) { this.classeNavio=classeNavio; } } Marque a alternativa que representa corretamente uma sobrecarga de construtor: public Navio(){}; public int,String Navio(){numPassageiro=classeNavio;} public int Navio(){return classeNavio;} public private Navio(){String classeNavio;} public String Navio(){return classeNavio;} Respondido em 24/03/2019 19:08:08 6a Questão Seja a classe: public class TV { public boolean estadoTV; public TV(boolean estadoTV){this.estadoTV=estadoTV;) public void ligaTV() {estadoTV=true;} public void desligaTV( ) {estadoTV=false;}} Marque a alternativa que apresenta uma forma correta de se criar uma instância para esta classe: TV m=newTV(false ); TV m.new TV(true ); TV m.new TV; TV m=new TV(); TV m.new TV(); Respondido em 24/03/2019 19:08:30 7a Questão Para realizar uma tarefa em um programa é necessário um método. Os métodos descrevem os mecanismos que realmente realizam suas tarefas. Os métodos ocultam de seus usuários as tarefas complexas que ele realiza, por exemplo o pedal acelerador de um carro oculta dos motoristas os complexos mecanismos que fazem o carro andar mais rápido. Em Java primeiro criamos uma unidade de programa chamada classe para abrigar um método, assim como os desenhos de engenharia de um carro abrigam o projeto de um pedal acelerador. Em uma classe você fornece um ou mais métodos que são projetados para realizar as tarefas da classe. Portanto marque a alternativa CORRETA referente aos métodos de uma classe. O número de argumentos na chamada de um método não precisa necessariamente corresponder ao número de parâmetros definidos no método. No momento em que um método é chamado , seus argumentos são atribuídos a seus parâmetros. Então o corpo do método utiliza as variáveis de parâmetro para acessar os valores de argumento. Nem todo parâmetro precisa especificar necessariamente o tipo ou o identificador. Em geral você pode chamar um método de uma classe, mesmo sem ter criado um objeto desta classe. Um método pode especificar múltiplos parâmetros, separando cada parâmetro do seguinte por um ponto e vírgula. Respondido em 24/03/2019 19:10:25 Gabarito Coment. 8a Questão Considere as afirmativas a seguir: I. Os construtores são métodos especiais destinados à inicialização e o preparo de novos objetos durante a sua instanciação. II. Os construtores podem receber parâmetros, permitindo definir um objeto já em sua criação. III. Os construtores só podem ser acionados através do operador new. IV. Obrigatoriamente, os construtores devem ter o mesmo nome que suas classes e devem possuir um tipo de retorno. Somente as afirmativas II, III e IV são corretas. Somente as afirmativas III e IV são corretas. Somente as afirmativas I e IV são corretas. Somente as afirmativas I, II e III são corretas. Somente as afirmativas I e II são corretas. Considerando o conceito de herança, avalie as afirmações abaixo. I. Herança é uma propriedade que facilita a implementação de reuso. II. Quando uma subclasse é criada, essa herda todas as características da superclasse, não podendo possuir propriedades e métodos próprios. III. Herança múltipla é uma propriedade na qual uma superclasse possui diversas subclasses. IV. Extensão é uma das formas de se implementar herança. É correto apenas o que se afirma em: II e IV II e III I I e IV III Respondido em 08/04/2019 21:05:31 Gabarito Coment. 3a Questão Marque a alternativa que representa a palavra reservada que indica a execução do construtor de superclasses em uma generalização: super new generation implements extends Respondido em 08/04/2019 21:05:53 4a Questão Uma classe ClasseA de determinada aplicação possuía um método calculeAlgo() em que testes (instruções de desvio condicional) eram utilizados para se determinar que algoritmo deveria ser adotado para efetuar o cálculo. Foi criada uma nova hierarquia de classes, iniciando na classe abstrata ClasseB, que declara o método abstrato calcule(). Este método é implementado por cada classe concreta da hierarquia, sendo cada uma delas correspondente a um dos algoritmos previstos no método calculeAlgo() original. ClasseA passou a ter um atributo do tipo ClasseB e métodos de acesso ao mesmo, e calculeAlgo() teve seu código substituído por uma simples chamada ao método calcule() do objeto armazenado no novo atributo. O conceito OO (Orientação a Objetos) predominante na descrição acima é a(o): sobrecarga de método acesso externo direto a atributo herança múltipla polimorfismo sobrecarga de atributo Respondido em 08/04/2019 21:07:20 5a Questão Classes abstratas tem uma função importante na orientação a objeto em Java. De forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos). Observe o fragmento de código: public abstract class Animal { public int peso; public abstract void locomover(); } Ao analisar o código, podemos afirmar, exceto: Para uma classe ser abstrata, ela precisa ter pelo menos um método abstrato. Nenhum objeto pode ser instanciado para uma classe abstrata. Todos os métodos são implicitamente públicos e abstratos. Métodos abstratos não possui corpo. O propósito de uma classe abstrata é fornecer uma superclasse apropriada da qual as outras classes (subclasses) podem herdar atributos e métodos, ou seja, ela fornece uma interface apropriada para as subclasses da sua hierarquia. Respondido em 08/04/2019 21:08:30 Gabarito Coment. 6a Questão Marque a alternativa que representa a palavra reservada em JAVA utilizada para definir a ligação entre as classes Física e Jurídica com a classe Pessoa do modelo abaixo: Generalation Extends Unify Package Import Respondido em 08/04/2019 21:08:49 7a Questão O conceito de Herança permite que uma classe herde todos atributos e métodos de uma classe pai. Neste contexto, classes abstratas se referem a: classes que não podem ser instanciadas tipos de classe que só permitem herdar atributos da classe pai classes sem métodos getters e setters tipos de classe que só permitem herdar métodos da classe pai classes que só podem ter duas instâncias Respondido em 08/04/2019 21:09:53 8a Questão Todo método construtor de uma subclasse precisa também chamar um construtor da superclasse, caso existam campos de instância nesta superclasse. Para tanto, usa-se o comando: delete erase extends super open LINGUAGEM DE PROGRAMAÇÃO 6a aula Lupa Vídeo PPT MP3 1a Questão Analise as sentenças abaixo e indique (V) para as verdadeiras e (F) para as falsas: ( ) As linhas de instrução são finalizadas com ";". ( ) Quando definimos: Pessoa p1, dizemos que p1 aponta para um objeto da classe Pessoa. ( ) O escopo da classe é representado por [ ]. ( ) Quando desejamos referenciar uma classe de outro pacote usamos o comando package. ( ) Métodos são do tipo void, quando possuem informação de retorno. ( ) A execução de um método é realizada pelo objeto. ( ) Atribuição de valores é representada pelo símbolo == Marque a alternativa que representa a sequencia de cima para baixo correta: V - F - F - V - V - V - F F - V - V - F - F - F - F V - V - V - V - V - V - V V - F - F - V - F - F - V V - V - F - V - F - V - F Respondido em 29/04/2019 16:13:06 Explicação: Analise as sentenças abaixo e indique (V) para as verdadeiras e (F) para as falsas: ( ) As linhas de instrução são finalizadas com ";". Correto, regra da linguagem java. ( ) Quando definimos: Pessoa p1, dizemos que p1 aponta para um objeto da classe Pessoa. Correto, geramos um espaço em memória apontado pelo endereço de p1 ( ) O escopo da classe é representado por [ ]. Não, sempre por {} ( ) Quando desejamos referenciar uma classe de outro pacote usamos o comando package. Correto, regra da linguagem Java. ( ) Métodos são do tipo void, quando possuem informação de retorno. Errado, o contrário, void indica que não se retorna nada. ( ) A execução de um método é realizada pelo objeto. Correto, os objetosexecutam seus métodos ao serem invocados por mensagens. ( ) Atribuição de valores é representada pelo símbolo == Errado, == é para comparação. Marque a alternativa que representa a sequencia de cima para baixo correta: 2a Questão Considere o as classes a seguir pertecentes ao mesmo pacote: Sobre o relacionamento entre as classes Turma e Aluno, respectivamente, marque a alternativa correta. Uma turma possui vários alunos, mas, um aluno pertence a uma turma Não é possível determinar Uma turma possui vários alunos, assim como, um aluno pertence a várias turmas Uma turma possui um aluno, assim como, um aluno pertence uma turma Uma turma possui um aluno, mas, um aluno pertence a várias turmas Respondido em 29/04/2019 16:06:28 3a Questão Em Java temos a possibilidade de proteger os membros de uma classe. Chamamos este processo de: sobrecarga. polimorfismo. threads. encapsulamento. herança. Respondido em 29/04/2019 16:06:43 Gabarito Coment. 4a Questão Seja a classe: public class Carro { private String cor; private boolean estadoMotor; public void ligaMotor() {estadoMotor=true;} public void desligaMotor( ) {estadoMotor=false;} public boolean motor( ){ return estadoMotor;} } Se o código abaixo for executado, pode-se dizer que: public class Teste { public static void main(String[] args) { Carro c=new Carro(); c.cor="Preto"; } } Será gerado erro de compilação pois há erro de sintaxe em: c.cor="Preto"; O objeto c não pode ser instanciado, pois não há construtor na classe. O código é executado normalmente, pois c é uma instancia da mesma classe que o atributo. Será gerado um erro de compilação, pois o atributo é private. Será gerado erro de execução pois o tipo do atributo está em desacordo com o valor atribuído. Respondido em 29/04/2019 16:07:34 Gabarito Coment. 5a Questão Como se declara um método estático em Java? public void static exemploMetodo() {} public static void exemploMetodo() {} public void exemploMetodo() {} static void public exemploMetodo() {} static exemploMetodo() {} Respondido em 29/04/2019 16:08:11 Gabarito Coment. 6a Questão (FCC ¿ 2012 ¿ TRT 11ª Região (AM) Analista Judiciário ¿ Tecnologia da Informação) Sobre Programação Orientada a Objetos, analise as afirmações: I. O encapsulamento garante que apenas as interfaces necessárias para interação com o objeto estejam visíveis, e atributos internos não sejam acessíveis. II. O polimorfismo garante que objetos herdem métodos e atributos de uma superclasse para a geração de uma nova classe. III. A herança possibilita que distintas operações na mesma classe tenham o mesmo nome, desde que alterada a assinatura. Está correto o que se afirma em: I apenas II e III apenas III apenas II apenas I, II e III Respondido em 29/04/2019 16:13:48 7a Questão Analise o código abaixo: public class Notebook { private String marca; private String modelo; public Notebook(String marca, String modelo) { this.marca=marca; this.modelo=modelo; } } Podemos afirmar sobre esta classe: o método construtor não está implementado possui o método main - principal possui 5 atributos públicos os atributos estão públicos a classe Notebook possui dois atributos encapsulados e privados e apenas o método construtor Respondido em 29/04/2019 16:09:51 8a Questão ¿Métodos de acesso são usados para obter os valores dos atributos privados e métodos modificadores são usados para alterar os valores dos atributos privados¿ é a definição de: Métodos Get e Set Nenhuma das alternativas Métodos estáticos Métodos Construtores de acesso Métodos de classe LINGUAGEM DE PROGRAMAÇÃO 7a aula Lupa Vídeo PPT MP3 1a Questão Generalização é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis(atributos), também é conhecido como: (Fonte: adaptado IBM) Herança Agregação Classe Abstrata Associação Abstração Respondido em 29/04/2019 17:07:37 Gabarito Coment. 2a Questão Qual é o método utilizado para incluir uma barra de menu em um JFrame? setJPopupMenu addJMenuBar setJMenuItem setJMenuBar addJMenuItem Respondido em 29/04/2019 17:03:15 3a Questão Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é: JFrame botao = new JButton("sair"); JButton botao = new JFrame("sair"); JButton.botao = new JButton("sair"); JButton botao = new JButton("sair"); JFrame.botao = new.JButton("sair"); Respondido em 29/04/2019 17:03:53 4a Questão As interfaces gráficas com o usuário (GUI - Graphical User Interface) são construídas a partir de componentes GUI, que são objetos com o qual o usuário interage através dos dispositivos de entrada, ou seja, o mouse, o teclado, etc. Em Java, as classes necessárias para criação de componentes gráficos, bem como para fornecer-lhes funcionalidade, estão agrupadas em dois grandes pacotes: java.awt e java.lang java.util e java.lang java.lang e javax.swing java.awt e javax.swing javax.swing e java.util Respondido em 29/04/2019 17:04:32 5a Questão Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é: JFrame botao = new JButton("sair"); JButton botao = new JButton("sair"); JButton.botao = new JButton("sair"); JButton botao = new JFrame("sair"); JFrame.botao = new.JButton("sair"); Respondido em 29/04/2019 17:04:46 Gabarito Coment. 6a Questão Considere o seguinte código-fonte em linguagem Java: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class Q4Class extends JFrame{ private JButton b; public static void main(String[] args) { JFrame f = new Q4Class (); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(300, 200); f.setVisible(true); } public Q4Class (){ this.getContentPane().add(b = (new JButton("Clique aqui"))); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ ((JButton)e.getSource()).setText("OK"); } }); } } a chamada do método getSource() retorna uma referência da classe Object para o objeto ouvinte do evento de clique de botão, e essa referência é convertida para o tipo JButton para ser possível mudar o texto exibido no botão o argumento da chamada do método addActionListener para o objeto referenciado por b é uma classe interna anônima o símbolo b não poderia ser referenciado dentro do método main porque este não faz parte da classe Q4Class o código não executará, com erro no construtor o programa não termina quando a janela é fechada porque não foi adicionado um WindowListener ao objeto referenciado por f no método main Respondido em 29/04/2019 17:05:48 7a Questão Considere uma classe ContaBancária e suas duas subclasses ContaCorrente e ContaPoupança, cada uma das três com o método AplicarJuros. A redefinição do método AplicarJuros nas duas subclasses, cada uma com detalhes de implementação diferentes com a mesma interface, caracteriza o princípiodenominado na orientação a objetos como: Herança Abstração Encapsulamento Polimorfismo Sobrecarga Respondido em 29/04/2019 17:06:12 Gabarito Coment. 8a Questão O componente do pacote javax.swing que permite ao usuário inserir dados, e também pode ser utilizado para exibir texto editável ou não editável é o: JComboBox JLabelText JTextField JTextBox JListBox LINGUAGEM DE PROGRAMAÇÃO 8a aula Lupa Vídeo PPT MP3 1a Questão Ações como fechar janela ou controlar entrada de texto necessitam de tratamento de eventos. Por este motivo as interfaces gráficas criadas em Java necessitam de tratamento para suas funcionalidades. Analise as seguintes afirmativas: I- Em uma interface gráfica as acões que podem ser realizadas pelo usuário precisam ser mapeadas como eventos. II- Os eventos, no Java, são objetos e provêm de classes, possuindo métodos e atributos. III- Cada tipo de componente gráfico suporta um determinado conjunto de eventos. IV- Os eventos são categorizados por recurso (teclado e mouse) e por componente (janela, lista, combo, campo de texto etc). Marque a alternativa CORRETA: Apenas as afirmativas I, II e III. Apenas as afirmativas II, III e IV. Todas as afirmativas são corretas. Apenas as afirmativas I e IV. Apenas a alternativa I. Respondido em 16/05/2019 21:22:59 Gabarito Coment. 2a Questão Evento é um acontecimento relevante no meio externo ao sistema . Portanto um evento pode ser considerado como o resultado da interação do usuário com algum componente. Na linguagem java, o evento gerado sempre que um botão for pressionado, este irá percorrer a sua lista interna chamando o método: ActionListener actionPerformed abstractClass ItemListener actionEvent Respondido em 16/05/2019 21:23:33 Explicação: Para adicionar listeners, a classe que representa o botão (JButton) possui um método chamado addActionListener, que recebe por parâmetro um objeto que implementa a interface ActionListener. A interface ActionListener especifica um método chamado actionPerformed que será disparado toda vez que o usuário clicar naqule botão. 3a Questão O método __________ permite o registro de um tratador de eventos para um objeto visual. O método __________ contém o código de tratamento de um evento em um objeto tratador de eventos. O método _________, da classe Event, permite obter a referência do objeto visual que gerou o evento. Escolha a opção que enumera a sequência correta de preenchimento das lacunas do texto. add; addActionListener; handler actionPerformed;add; getSource getSource; handler; actionPerformed addActionListener; actionPerformed; getSource addActionListener; handler; getSource Respondido em 16/05/2019 21:24:10 4a Questão Assinale a alternativa que completa corretamente as lacunas da afirmação a seguir: "Um diálogo de entrada capaz de receber entrada do usuário é exibido com o método __________ da classe _________ ." showMessageBox/JOptionBox showMessageDialog/JOptionPane showMessage/JOption showInputDialog/JOptionPane. showInputBox/JOptionBox Respondido em 16/05/2019 21:24:28 Gabarito Coment. 5a Questão Os componentes Swing podem gerar vários tipos de eventos diferentes. Quando um evento ocorre, o gerenciador de janelas cria um evento e passa para um tratador de eventos definido pelo programador. O fragmento de código responsável por implementar métodos dentro da interface ActionListener é: public void itemStateChanged(ActionEvent e) public void actionPerformed(ActionEvent e) public void actionStateChanged(ActionEvent e) public void actionListenet(ActionEvent e) public void itemPerformed(ActionEvent e) Respondido em 16/05/2019 21:25:00 Gabarito Coment. 6a Questão Para tratar os eventos relacionados a botões( Jbutton, JradioButton, JcheckBox, JtoogleButton) ou itens de um menu (JMenuItem), devem-se criar classes para manipulação a partir de interface java.awt.event.ActionListener. Essa interface tem apenas um método (actionPerformed(ActionEvent e)), motivo pelo qual: estes componentes gráficos são estáticos e não efetuam eventos. não existe uma classe adaptadora (adapter) para este tipo de evento. não associa-se a estes componentes diversos tipos de eventos. não se pode associar nenhuma ação a esses comonentes gráficos. existem diversos adapters (classes adaptadoras) para este tipo de evento. Respondido em 16/05/2019 21:25:54 7a Questão Recentemente contratado por uma empresa desenvolvimento que trabalha somente com a linguagem Java, um programador C++ está se adaptando a nova linguagem. Apesar de possuir vasta experiência com programação orientada a objetos, este ainda sente dificuldades em alguns comandos. Como exemplo, em um programa, é necessária uma tela de confirmação. Qual das opções reproduz corretamente à tela abaixo: JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.QUESTION_MESSAGE); JOptionPane.showMessageDialog("Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...",YES_NO_OPTION); JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); JOptionPane.showConfirmDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); Respondido em 16/05/2019 21:26:54 Gabarito Coment. 8a Questão Um estagiário de programação foi incumbido de verificar uma linha de código de um programa que apresentava uma tela de forma indesejada. JOptionPane.showInputDialog(null," "," ",JOptionPane.QUESTION_MESSAGE); Para corrigir é necessário conhecer o que se espera, respectivamente, nos campos entre aspas. Assinale a alternativa que define respectivamente. símbolo do tipo de mensagem e o tamanho a cor da caixa de texto. texto interno da caixa de leitura e o texto do campo texto. texto da barra de título e o texto interno da caixa de leitura. texto da barra de título e o texto interno do campo texto. texto interno da caixa de leitura e o texto da barra de título. LINGUAGEM DE PROGRAMAÇÃO 9a aula Lupa Vídeo PPT MP3 1a Questão O tratamento de exceção em Java é implementado com a utilização dos blocos try(), catch() e opcionalmente o bloco finally. Sabe-se que o bloco finally não executará se o aplicativo fechar antes de um bloco try chamando o método System.exit, pois este método encerra imediatamente um aplicativo. Assim marque a única afirmação CORRETA com relação a aplicação dos blocos que implementam a exceção em Java. No Java se permite capturar o mesmo tipo de exceção em dois blocos catch diferentes em uma única instrução catch. O java garante que o um bloco finally executará se um bloco try fechar utilizando uma instrução return, break ou continue. No Java é permitido colocar uma lista de parâmetros de exceção separados por vírgulas para um mesmo bloco catch. Se o programa capturar a exceção em dos blocos catch, o programa processa primeiramente o bloco finally e só então processa o tratamento da exceção. O Java permite colocar qualquer código entre um bloco try e seus blocos catch correspondentes. Respondido em 16/05/2019 22:12:19 2a Questão O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valoresretornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java: I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try. II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch. III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro. IV. O bloco do finally é sempre executado, com ou sem exceção. Marque a alternativa correta: Apenas as sentenças I, III e IV estão corretas Todas as sentenças estão corretas. Apenas as sentenças II e III estão corretas Apenas as sentenças I,II e III estão corretas. Apenas a sentença I está correta. Respondido em 16/05/2019 22:13:23 3a Questão A palavra reservada _______ indica que um método pode lançar uma exceção. A palavra reservada _________ lança uma exceção definida pelo programador. A palavra reservada _________ define o início de um trecho de código onde é feito o tratamento de uma exceção. Escolha a opção que define na ordem correta as palavras que completam o texto anterior. throw; throws; catch finally; throw; try throws; throw; catch finally; throw; catch try; finally; catch Respondido em 16/05/2019 22:13:57 4a Questão Marque a afirmativa correta sobre o tratamento de exceções em Java. O tratamento de exceção é composto apenas pelo comando try. Tratamento de exceção não é um recurso útil e facilmente substituído pelos comandos if e else. Tratamento de exceção é um recurso da linguagem de programação Java utilizado para capturar os erros de execução. O tratamento de exceção só captura erros de compilação. Tratamento de exceção não é utilizado quando os erros ocorrem. Respondido em 16/05/2019 22:14:20 5a Questão Dado o programa em Java: public class Exemplo { public static void main(String[] args) { int z=5, x=0; try{ z/=x; } System.out.println("Divisão por Zero."); catch(Exception ex){ System.out.println("Erro!"); } } } Marque a alternativa que representa o seu resultado: Não compila devido a erro. 0 Apresenta a mensagem "Divisão por Zero." Não apresenta resultado de saída. Captura a exceção e apresenta a mensagem "Erro!" Respondido em 16/05/2019 22:14:47 6a Questão Baseando-se no trecho de código abaixo, podemos afirmar que: public class Avaliacao { public static void main(String[] args) { String a = "3"; int saida = 0; try { int i = Integer.parseInt(a); saida = i; } catch (Exception e) { saida = -1; } finally { saida = 10; } System.out.println(saida); } } A saída no console será: "3" A saída no console será: "13" A saída no console será: "-1" A saída no console será: "10" Não compilará; Respondido em 16/05/2019 22:15:26 Gabarito Coment. 7a Questão Analise as seguintes afirmações em relação ao uso de Exceções no Java. I. O tratamento de exceção é o mecanismo responsável pelo tratamento da ocorrência de condições que alteram o fluxo normal da execução de programas de computadores II. Sempre que um método de alguma classe é passível de causar algum erro, então, podemos usar o método de tentativa - o try III. Finally é o trecho de código final. Tem como função básica sempre executar seu bloco de dados mesmo que uma exceção seja lançada. Em relação às sentenças supracitadas, pode-se afirmar que: Apenas a I é verdadeira Apenas a III é verdadeira I e II são verdadeiras Todas são verdadeiras II e III são verdadeiras Respondido em 16/05/2019 22:16:15 Gabarito Coment. 8a Questão Uma exceção é um objeto gerado para indicar a ocorrência de algum tipo de condição excepcional durante a execução de um método qualquer. Apenas objetos de classes pertencentes à hierarquia de classes de exceção do Java poderão ser gerados, propagados e capturados. A superclasse dessa hierarquia, que por sua vez é uma subclasse de Object, é: Exception VirtualMachineErros RunTimeException Throwable Error LINGUAGEM DE PROGRAMAÇÃO 10a aula Lupa Vídeo PPT MP3 1a Questão Pode-se dizer sobre exceções que: Marque a alternativa correta. a estrutura de uma exceção é o bloco catch, que resume-se em tentar executar o código, bloco try, que fará todo o tratamento em caso de algum erro é obrigatório utilizar o comando finally em todos tratamentos de exceção são as principais classes de exceções Java: NullPointerException, offExcecpion e onException throws é o comando responsável pela implementação de uma exceção o tratamento de exceção deve ser feito em todos os casos em que haja probabilidade de ocorrer um erro. Respondido em 20/05/2019 21:17:12 Gabarito Coment. 2a Questão Dado o trecho de código escrito em Java abaixo, podemos afirmar que: public class Avaliacao{ public void metodo() throws Exception { throw new Exception(); } public static void main(String args[]) { int x, y, z; x = y = z = 1; try { new Avaliacao().metodo(); x++; } catch (Exception e) { y++; } finally { z++; new Avaliacao().metodo(); } System.out.println(x + "," + y + "," + z); } } Imprime no console: 2,2,3. Imprime no console: 2,2,1. O programa não compila. Imprime no console: 1,1,2. Imprime no console: 1,1,3. Respondido em 20/05/2019 21:21:01 Gabarito Coment. 3a Questão Eventos representam uma ação que ocorreu num componente GUI. Dentre os mais comuns no Swing, qual das opções abaixo NÃO é um evento de ação? Cliques em botões Digitar um texto Ativar um RadioButton Clicar em menus Ativar e desativar JCheckbox Respondido em 20/05/2019 21:18:44 Gabarito Coment. Gabarito Coment. 4a Questão Por qual motivo é utilizado o bloco try...catch. Polimorfismo. Auditar código. Fazer depuração de códigos. Tratar e recuperar erros. Realizar tentativas de execução. Respondido em 20/05/2019 21:19:07 Gabarito Coment. 5a Questão De acordo com a afirmação abaixo (Fonte: adaptado IBM): "permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam, assim, um mesmo método pode apresentar várias formas, de acordo com seu contexto." polimorfismo classe abstrata interface agregação herança Respondido em 20/05/2019 21:20:26 Gabarito Coment. 6a Questão Analise o seguinte trecho de código. Qual o resultado de tentar compilá-lo e executá-lo? class Avaliacao { public static void main(String[] args) { System.out.println("Inicio do main!!"); try { System.out.println("Inicio do try!"); int[] array = new int[3]; for (int i = 0; i < 4; ++i) { array[i] = i; System.out.println(i); } System.out.println("Fim do try!"); } catch (Exception e) { System.out.println("Exceçao: " + e); } System.out.println("Fim do main!"); } } O código compila execução sem a existência de Exceções. O código não compila. O código não compila por causa de um erro no array. O código compila, mas tem sua execução interrompida devido a ocorrência de uma ArrayIndexOutOfBoundsException. O código compila ocorre uma exceção ArrayIndexOutOfBoundsException, contudo está é tratada e o programa segue ate imprimir: "Fim do main!".
Compartilhar