Noções de Informática
Questões de Noções de Programação
6 questões de provas reais da FCC, Cesgranrio sobre Noções de Programação, com gabarito e comentário. Responda antes de abrir o gabarito.
150 questões desse assunto no acervo do Yatta. Esta página mostra uma amostra fixa.
Questão 1FCCDefensoria Pública do Estado do Rio Grande do SulAnalista - Informática2013
Classe Funcionario:
public class Funcionario {
private int id;
private String nome;
private double valorRef;
public Funcionario(int id, String nome, double valorRef) {...}
public double obterSalario(){ return valorRef; }
}
Classe Mensalista extends Funcionario:
private double horasExtras;
private double descontos;
@Override
public double obterSalario(){ return super.getValorRef() + horasExtras - descontos; }
Classe Diarista extends Funcionario:
public int diasTrabalhados;
@Override
public double obterSalario(){ return super.getValorRef() * diasTrabalhados; }
Classe Principal:
public static void main(String[] args) {
double sal01, sal02;
Funcionario fun01 = new Diarista(12, 1, "Maria Joaquina", 80.00);
Funcionario fun02 = new Mensalista(500.00, 200.00, 2, "Pedro Henrique", 1500.00);
sal01 = fun01.obterSalario();
sal02 = fun02.obterSalario();
}
Considere a existência de um projeto chamado Prova criado com a IDE NetBeans, contendo as classes Principal, Funcionário, Mensalista e Diarista, conforme código apresentado. Ao compilar e executar o projeto, as variáveis sal01 e sal02 receberão, respectivamente, os valores
- A 960.0 e 1800.0
- B 80.0 e 1500.0
- C 92.0 e 2200.0
- D 68.0 e 1200.0
- E 80.0 e 700.0
Ver gabarito e comentário
Gabarito: Letra APara Diarista, o salário é valorRef * diasTrabalhados = 80,00 * 12 = 960,0; para Mensalista, é valorRef + horasExtras - descontos = 1500,00 + 500,00 - 200,00 = 1800,0.
Questão 2FCCDefensoria Pública do Estado do Rio Grande do SulAnalista - Informática2013
Sobre as classes Principal, Funcionário, Mensalista e Diarista apresentadas anteriormente, é correto afirmar:
- A Quando o construtor de uma das superclasses recebem parâmetros, aqueles que são das subclasses são passados para os construtores das subclasses por meio da instrução super.
- B Na classe Principal, as instruções import classes.Diarista; e import classes.Mensalista; podem ser excluídas sem ocasionar erros, pois os objetos fun01 e fun02 são do tipo Funcionário e, por isso, apenas a classe Funcionário precisa ser importada.
- C Os objetos fun01 e fun02 são do mesmo tipo, porém, quando chamam o método obterSalario, recebem valores diferentes, logo, se comportam de maneiras diferentes. Essa constatação mostra o uso de um conceito da orientação a objetos chamado de polimorfismo.
- D As subclasses Mensalista e Diarista não podem possuir um construtor padrão sem argumentos, pois todos os objetos dessas classes precisam passar parâmetros para a superclasse Funcionário.
- E O fato das classes Diarista e Mensalista herdarem atributos e métodos da classe Funcionário demostra o uso de herança múltipla.
Ver gabarito e comentário
Gabarito: Letra CO fato de fun01 e fun02, declarados como Funcionário, produzirem resultados diferentes ao chamar obterSalario() demonstra o conceito de polimorfismo da orientação a objetos.
Questão 3FCCDefensoria Pública do Estado do Rio Grande do SulAnalista - Informática2013
Considerando as classes do projeto Prova apresentadas na questão anterior (Funcionário no pacote classes e Principal no pacote principal), se o método obterSalario fosse protected na classe Funcionário, a linha sal01 = fun01.obterSalario(); na classe Principal estaria
- A correta, pois métodos protected podem ser acessados de qualquer outra classe do projeto, inclusive da classe Principal.
- B correta, pois o método obterSalario chamado é da classe Diarista (que é public) e não da classe Funcionário.
- C incorreta, pois o método obterSalario chamado é da classe Mensalista e, na realidade, deveria ser da classe Diarista.
- D incorreta, pois como as classes Principal e Funcionário estão em pacotes diferentes, não é possível chamar o método obterSalario a partir da classe Principal.
- E correta, pois a classe Funcionário herda o método obterSalario (que é public) da classe Diarista.
Ver gabarito e comentário
Gabarito: Letra DComo as classes Principal e Funcionário estão em pacotes distintos e não há relação de herança entre elas, um método protected não poderia ser acessado diretamente pela classe Principal.
Questão 4FCCDefensoria Pública do Estado de São PauloAgente de Defensoria Pública - Analista de Sistemas2015
Em uma aplicação Java orientada a objetos um Analista precisa criar um tipo de classe que não pode ser instanciada diretamente e que deve possuir um conjunto de atributos privados, um construtor, métodos getter e setter, métodos implementados que deseja que várias subclasses compartilhem, e assinatura de métodos que deseja obrigar as subclasses a implementar de maneiras diferentes. O tipo de classe que o Analista deverá criar é
- A interface.
- B classe abstrata.
- C classe estática.
- D classe concreta.
- E bean gerenciado.
Ver gabarito e comentário
Gabarito: Letra BA classe abstrata em Java não pode ser instanciada diretamente, pode ter atributos, construtores e métodos concretos compartilhados pelas subclasses, além de métodos abstratos cuja implementação é obrigatória nas subclasses.
Questão 5FCCCompanhia de Saneamento Básico do Estado de São Paulo (Sabesp)Analista de Gestão I (Sistemas)2012
Considere as seguintes instruções, escritas utilizando na linguagem Java:
String i="20";
long v=120;
short y=30;
Para converter o conteúdo da variável i para int, da variável v para byte e da variável y para String pode-se utilizar, respectivamente,
- A int m = Integer.parseInteger(i);, byte n = v; e String o = String.convertTO(y);
- B int m = Int.parseInt(i);, byte n = (byte) v; e String o = String.IndexOf(y);
- C int m = Integer.parseInt(i);, byte n = (byte) v; e String o = String.valueOf(y);
- D int m =Integer.convertTo(i);, byte n= (long) v; e String o = String.valueOf(y);
- E int m =Int.convertTo(i);, byte n= (byte) v; e String o = String.IndexOf(y);
Ver gabarito e comentário
Gabarito: Letra CEm Java, Integer.parseInt(String) converte texto em int; um cast explícito (byte) é necessário para estreitar um long em byte; e String.valueOf(short) converte um valor numérico em String, sendo esse o único conjunto de instruções sintaticamente válido.
Questão 6Cesgranrio
Beto, estudante de programação, ao resolver um problema, testou diversos algoritmos e, com um deles, achou a seguinte impressão com o resultado correto: soma = 39. Esse resultado foi entregue ao professor. Indagado sobre com qual algoritmo tinha encontrado o resultado correto, Beto percebeu que não mais lembrava. E teve que repetir as experiências. Qual foi o algoritmo utilizado pelo estudante?
- A inicio
variável inteiro chave, soma
soma <- 0
chave <- 10
enquanto chave < 18 faz
soma <- soma + chave
chave <- chave + 3
fim enquanto
escrever "soma =", soma
fim
- B inicio
variável inteiro chave, soma
soma <- 0
chave <- 10
enquanto chave < 18 faz
escrever "soma =", soma
soma <- soma + chave
chave <- chave + 3
fim enquanto
fim
- C inicio
variável inteiro chave, soma
soma <- 0
chave <- 10
escrever "soma =", soma
enquanto chave < 18 faz
soma <- soma + chave
chave <- chave + 3
fim enquanto
fim
- D inicio
variável inteiro chave, soma
soma <- 0
chave <- 10
se chave < 18 então
soma <- soma + chave
chave <- chave + 3
fim se
escrever "soma =", soma
fim
- E inicio
variável inteiro chave, soma
soma <- 0
chave <- 10
se chave < 18 então
chave <- chave + 3
soma <- soma + chave
fim se
escrever "soma =", soma
fim
Ver gabarito
Gabarito: Letra A
Outros assuntos de Noções de Informática
Como treinar Noções de Programação
Resolva primeiro, confira depois, e anote o motivo de cada erro: a banca repete o mesmo tipo de pegadinha. No Yatta, as 150 questões desse assunto entram na sua sessão de estudo quando ele está no edital do seu concurso, e o Professor Yatta explica cada erro na hora.
Treine Noções de Programação com todas as questões da sua banca
Escolha o seu concurso e o Yatta monta a sessão com as questões que a sua banca já cobrou sobre Noções de Programação, com explicação de cada erro.
Começar 14 dias grátis
Sem cartão de crédito. Cancele com dois cliques.