Yatta Concursos
Início › Questões › Noções de Informática › Noções de Programação
Noções de Informática

Questões de Noções de Programação

20 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.

322 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

  1. A 960.0 e 1800.0
  2. B 80.0 e 1500.0
  3. C 92.0 e 2200.0
  4. D 68.0 e 1200.0
  5. E 80.0 e 700.0
Ver gabarito e comentário
Gabarito: Letra A

Para 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 C

O 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

  1. A correta, pois métodos protected podem ser acessados de qualquer outra classe do projeto, inclusive da classe Principal.
  2. B correta, pois o método obterSalario chamado é da classe Diarista (que é public) e não da classe Funcionário.
  3. C incorreta, pois o método obterSalario chamado é da classe Mensalista e, na realidade, deveria ser da classe Diarista.
  4. 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.
  5. E correta, pois a classe Funcionário herda o método obterSalario (que é public) da classe Diarista.
Ver gabarito e comentário
Gabarito: Letra D

Como 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 é

  1. A interface.
  2. B classe abstrata.
  3. C classe estática.
  4. D classe concreta.
  5. E bean gerenciado.
Ver gabarito e comentário
Gabarito: Letra B

A 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,

  1. A int m = Integer.parseInteger(i);, byte n = v; e String o = String.convertTO(y);
  2. B int m = Int.parseInt(i);, byte n = (byte) v; e String o = String.IndexOf(y);
  3. C int m = Integer.parseInt(i);, byte n = (byte) v; e String o = String.valueOf(y);
  4. D int m =Integer.convertTo(i);, byte n= (long) v; e String o = String.valueOf(y);
  5. E int m =Int.convertTo(i);, byte n= (byte) v; e String o = String.IndexOf(y);
Ver gabarito e comentário
Gabarito: Letra C

Em 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?

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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

Questão 7Cesgranrio

Considere que uma fila de prioridades para caracteres está armazenada em um vetor, através de um heap binário, conforme mostra a figura. Considere, também, que as posições desse vetor são indexadas a começar de um. P Q R S T U V W X Y Z Quais são, respectivamente, os caracteres armazenados no filho esquerdo, no filho direito e no pai do nó correspondente ao índice 2?

  1. A P, Q e S
  2. B P, Z e S
  3. C Q, S e U
  4. D S, T e P
  5. E U, T e Q
Ver gabarito
Gabarito: Letra D

Questão 8Cesgranrio

Considere o trecho de código que corresponde ao método principal de uma classe em linguagem Java. public static void main(String[] args) { int n = 1; int x = 0; int i; while (n < 10) { if (n % 2 != 0) { for (i = 3; i * i <= n; i += 2) { if (n % i == 0) break; } if (i < n) { x++; } } n++; } System.out.println(x); } Qual o resultado produzido por esse método quando ele é corretamente executado?

  1. A 0
  2. B 1
  3. C 2
  4. D 3
  5. E 5
Ver gabarito
Gabarito: Letra D

Questão 9Cesgranrio

Na programação orientada a objetos, há dois mecanismos possíveis para criar relacionamentos entre classes: a composição e a herança. Em um programa orientado a objetos, suponha que entre duas classes X e Y exista um relacionamento de herança no qual X é subclasse de Y. Suponha também que Y seja uma subclasse de uma classe abstrata denominada Z. Por fim, suponha que existam apenas métodos públicos ou privados, tanto em Y quanto em Z. Para alterar esse programa de tal forma que ele permaneça o mesmo, do ponto de vista funcional para os clientes da interface pública da classe X, e que o relacionamento de herança entre X e Y seja substituído pelo de composição, um passo necessário no caso geral é definir um atributo do tipo

  1. A X na classe Y
  2. B X na classe Z
  3. C Y na classe X
  4. D Y na classe Z
  5. E Z na classe X
Ver gabarito
Gabarito: Letra C

Questão 10Cesgranrio

Em uma aplicação Java EE, na substituição de uma solução que usa o Transparent Façade por outra que usa o Session Façade, os clientes devem ser refatorados para interagir com objetos Data Transfer Object eventualmente criados durante essa substituição. PORQUE Em uma aplicação Java EE, o uso do Transparent Façade em vez do Session Façade aumenta a granularidade das funções definidas na fachada resultante. Analisando-se as afirmações acima, conclui-se que

  1. A as duas afirmações são verdadeiras, e a segunda justifica a primeira.
  2. B as duas afirmações são verdadeiras, e a segunda não justifica a primeira.
  3. C a primeira afirmação é verdadeira, e a segunda é falsa.
  4. D a primeira afirmação é falsa, e a segunda é verdadeira.
  5. E as duas afirmações são falsas.
Ver gabarito
Gabarito: Letra C

Questão 11Cesgranrio

Analise o código em C a seguir. #include <stdio.h> int x(int n) { int i; for (i=2000;i<2010;i++) n+=1; if (n%2==0) return 10; else return 20; } int y(int n) { int j; for (j=2010;j>2000;j—) n+=2; if (n>10) return 2; else if (n>20) return 8; else if (n>2010) return 9; else return 1; } int main() { printf(“%d”,x(2010)+y(2010)*2); return 0; } Qual a saída impressa desse código?

  1. A 12
  2. B 14
  3. C 24
  4. D 26
  5. E 28
Ver gabarito
Gabarito: Letra D

Questão 12Cesgranrio

Os dados contidos num vetor V unidimensional com n2 posições, n > 2, são números inteiros e positivos tais que V[k] = k. Esses dados são transferidos, a partir de V[1], sequencialmente, para uma matriz M (nxn). A matriz é preenchida, linha por linha, de cima para baixo (de 1 a n). Cada linha é preenchida coluna por coluna, da esquerda para a direita (de 1 a n). Qual é o valor do conteúdo da célula M(p,q), conteúdo da p-ésima linha e da q-ésima coluna?

  1. A (p-1) . n + q
  2. B (p-1) . n - q
  3. C (p+1) . n + q
  4. D p . (n-1) + q
  5. E p . (n+1) - q
Ver gabarito
Gabarito: Letra A

Questão 13Cesgranrio

Considere uma estrutura do tipo árvore binária que começa vazia. Nela são introduzidos os números 2, 10, 5, 7, 1, 0 e 8, exatamente nessa ordem. Se essa árvore for lida em pré-ordem, que sequência de números será impressa?

  1. A 2, 1, 0, 8, 7, 5, 10
  2. B 2, 1, 0, 10, 5, 7, 8
  3. C 0, 1, 8, 7, 5, 10, 2
  4. D 0, 1, 2, 8, 7, 5, 10
  5. E 0, 1, 2, 10, 5, 7, 8
Ver gabarito
Gabarito: Letra B

Questão 14Cesgranrio

Em linguagens orientadas a objetos, existem dois conceitos fundamentais: I – a definição de uma estrutura, a partir da qual é possível especificar todas as características da implementação, operações e armazenamento de informações para instâncias que serão criadas posteriormente. II – instâncias específicas criadas a partir da definição das estruturas referentes ao conceito I. Esses conceitos correspondem, respectivamente, ao que se conhece pelos nomes de I II

  1. A Tipo Classe
  2. B Tipo Construtor
  3. C Classe Tipo
  4. D Classe Objeto
  5. E Classe Metaclasse
Ver gabarito
Gabarito: Letra D

Questão 15Cesgranrio

Considere o seguinte algoritmo de ordenação de elementos em uma lista: 1. Escolha um elemento que será chamado o pivot da lista. 2. Reordene a lista de tal forma que os elementos menores que o pivot venham antes dele e os elementos maiores ou iguais ao pivot venham depois dele. Essa operação é chamada de partição, e cria duas sublistas: a. a de menores que o pivot e b. a de maiores ou iguais ao pivot. 3. Aplique recursivamente os passos 1 e 2 às sublistas de menores e maiores que o pivot. O algoritmo acima corresponde ao

  1. A Quicksort, e faz, em média, O(n log n) comparações para ordenar n itens.
  2. B Quicksort, e faz, em média, O(n2) comparações para ordenar n itens.
  3. C Insertionsort, e faz, em média, O(n) comparações para ordenar n itens.
  4. D Insertionsort, e faz, em média, O(n log n) comparações para ordenar n itens.
  5. E Bublesort, e faz, em média, O(n2) comparações para ordenar n itens.
Ver gabarito
Gabarito: Letra A

Questão 16Cesgranrio

Considere o seguinte trecho de código em Java: public class Dummy { public static int a = 1; public int b = 2; } Dummy x = new Dummy(); Dummy y = new Dummy(); x.a = 1 + y.a; x.b = x.a + y.b; System.out.println(“x.b = “ + x.b); A saída na tela após a execução desse trecho será:

  1. A 4
  2. B 2
  3. C x.b = 2
  4. D x.b = + 2
  5. E x.b = 4
Ver gabarito
Gabarito: Letra E

Questão 17Cesgranrio

using System; public class Prova { public static void Main() { int[] a=new int[10]; int i=0; while (i<10) { a[i] = i + (i>0 ? a[i-1] : 0); i++; } Console.WriteLine(a[9]); } }

O que ocorre com o programa C#, apresentado acima, quando é compilado e posteriormente executado?

  1. A Compila corretamente, executa e imprime o número 45.
  2. B Compila corretamente, executa e imprime o número 9.
  3. C Compila corretamente e executa, mas nunca termina.
  4. D Compila corretamente, mas apresenta erro de execução.
  5. E Apresenta erro na compilação.
Ver gabarito
Gabarito: Letra A

Questão 18Cesgranrio

Os percursos em profundidade de uma árvore binária, conhecidos como pré-ordem e pós-ordem, são, respectivamente

  1. A Pré-ordem visitar a raiz, percorrer a subárvore esquerda em pré-ordem e depois percorrer a subárvore direita em pré-ordem. Pós-ordem percorrer a subárvore direita em pós-ordem, percorrer a subárvore esquerda em pós-ordem e, por último, visitar a raiz.
  2. B Pré-ordem visitar a raiz, percorrer a subárvore esquerda em pré-ordem e depois percorrer a subárvore direita em pré-ordem. Pós-ordem percorrer a subárvore esquerda em pós-ordem, percorrer a subárvore direita em pós-ordem e, por último, visitar a raiz.
  3. C Pré-ordem visitar a raiz, percorrer a subárvore direita em pré-ordem e depois percorrer a subárvore esquerda em pré-ordem. Pós-ordem percorrer a subárvore esquerda em pós-ordem, percorrer a subárvore direita em pós-ordem e, por último, visitar a raiz.
  4. D Pré-ordem visitar a raiz, percorrer a subárvore direita em pré-ordem e depois percorrer a subárvore esquerda em pré-ordem. Pós-ordem percorrer a subárvore direita em pós-ordem, percorrer a subárvore esquerda em pós-ordem e, por último, visitar a raiz.
  5. E Pré-ordem visitar a raiz, percorrer a subárvore esquerda em pré-ordem e depois percorrer a subárvore direita em pré-ordem. Pós-ordem visitar a raiz, percorrer a subárvore direita em pós-ordem, percorrer a subárvore esquerda em pós-ordem.
Ver gabarito
Gabarito: Letra B

Questão 19Cesgranrio

A função a seguir implementa um algoritmo de busca binária sobre um vetor de inteiros ordenado de modo ascendente. int busca(int vet[], int elem, int ini, int fim) { int m; if(fim < ini) return -1; m=(ini + fim) / 2; System.out.println(vet[m]); if(vet[m] == elem) return m; if(vet[m] > elem) return busca(vet, elem, ini, m-1); return busca(vet, elem, m+1, fim); } Essa função recebe como parâmetros um vetor (vet), o elemento que se deseja procurar no vetor (elem), o índice do pri-meiro elemento do vetor (ini) e o índice do último elemento do vetor (fim). O comando System.out.println(vet[m]) exibe no console o valor do elemento de índice m do vetor vet. Seja o seguinte vetor (vt) de inteiros: Suponha que a função busca seja chamada por meio do seguinte comando: busca(vt, 39, 0, 14); Qual será o 3o valor exibido no console?

Qual será o 3o valor exibido no console?

  1. A 65
  2. B 51
  3. C 57
  4. D 38
  5. E 27
Ver gabarito
Gabarito: Letra C

Questão 20Cesgranrio

Dentro dos conceitos de algoritmos estruturados, uma estrutura de repetição, onde o conjunto de comandos em seu interior é executado até satisfazer uma determinada condição, é conhecida como

  1. A Laço Contado
  2. B Laço Condicional
  3. C Estrutura de Decisão Simples
  4. D Estrutura de Decisão Composta
  5. E Estrutura de Junção
Ver gabarito
Gabarito: Letra B

Outros assuntos de Noções de Informática

Segurança da Informação 2.347Redes de Computadores 2.265Banco de Dados 2.237Inteligência Artificial e Novas Tecnologias 1.774Sistemas Operacionais Windows 1.705Planilhas Eletrônicas (Excel/Calc) 1.302Editores de Texto (Word/Writer) 1.180Hardware e Componentes 1.137Todos os assuntos

Concursos abertos que cobram Noções de Informática

Ver todos os concursos abertos

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 322 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.