

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Marcelo criou um sistema em Java, onde definiu suas classes com todos os atributos públicos, mas como utilizou NetBeans, gerou os getters e setters, através da opção refactoring, após a codificação inicial.
Ao efetuar essa operação, Marcelo buscava adotar o princípio do(a):
encapsulamento;
abstração;
polimorfismo;
herança;
coesão.
Analise o código Java apresentado a seguir.
public class Main extends Thread {
public static void main(String[] args) {
Main thread = new Main();
thread.start();
for (int k=1; k<=5; k++) {
System.out.println("A" + k);
try { Thread.sleep(1100); }
catch (InterruptedException ex) {}
}
}
public void run() {
for (int k=1; k<=5; k++) {
try { Thread.sleep(700);}
catch (InterruptedException ex) {}
System.out.println("B" + k);
} } }
Quando esse código é executado num computador com boa capacidade e sem interferência de processos externos, os valores exibidos, na ordem, são:
A1 A2 A3 A4 A5 B1 B2 B3 B4 B5
A1 B1 A2 B2 A3 B3 A4 B4 A5 B5
A1 B1 A2 B2 B3 A3 B4 A4 B5 A5
B1 A1 B2 A2 B3 A3 B4 A4 B5 A5
B1 B2 B3 B4 B5 A1 A2 A3 A4 A5
Analise o código Python a seguir.
class enigma:
def __iter__(self):
self.x = 128
return self
def __next__(self):
y = self.x
z = lambda a : a - int(a/2)
self.x = z(self.x)
return y
coisa = enigma()
xpto = iter(coisa)
for k in range(5):
print(next(xpto))
Assinale o quarto número exibido na execução desse código.
4
8
16
32
64
Considere a classe Main abaixo.
import java.util.*;
public class Main {
public static void main(String[] args) {
Stack<Integer> pp=new Stack<Integer>();
Stack<Integer> pi=new Stack<Integer>();
Stack<Integer> tc=new Stack<Integer>();
Scanner s=new Scanner(System.in);
Integer var;
var=s.nextInt();
while( var > 0 ) {
tc.push(var);
var=s.nextInt();
}
s.close();
while( !tc.empty() ) {
var=tc.pop();
if( var%2 == 0 )
pp.push(var);
else
pi.push(var);
}
while( !(pi.empty() || pp.empty()) ) {
if( !pi.empty() )
System.out.printf("%d ", pi.pop());
if( !pp.empty() )
System.out.printf("%d ", pp.pop());
}
}
}
Suponha que a seguinte sequência de números inteiros tenha sido digitada por um usuário quando da execução do método main acima:
4 16 8 12 7 14 9 15 -1
O que foi exibido no console pelo método main?
7 4 9 16 15 8 12 14
7 4 9 16 15 8
15 14 9 12 7 8
15 14 9 12 7 8 16 4
4 7 16 9 8 15
Uma analista está desenvolvendo uma aplicação em Java que possui uma variável ano, do tipo int, que recebe o número do ano digitado pelo usuário. Utilizando operador ternário, a instrução que exibe "Ano válido", se o conteúdo recebido na variável ano for menor ou igual a 2023, ou "Ano inválido", se for maior que 2023, é
System.out.print(if(ano <= 2023) >> "Ano válido" else "Ano inválido");
System.out.print((ano <= 2023) : ("Ano válido") : ("Ano inválido"));
System.out.println((ano <= 2023) ? "Ano válido" : "Ano inválido");
System.out.print(if(ano <= 2023) ? "Ano válido" : "Ano inválido");
System.out.println(if(ano <= 2023) then "Ano válido" else "Ano inválido");
Considere as seguintes classes Java, que ocupam arquivos separados:

O que será exibido no console quando o método main for executado?
ac
a***a
a***c
***Erro***
vazio
A seguir, é apresentado um fragmento de código em Python.
import numpy as np
b = np.array([[1,2,3,5]])
c = b.transpose()
print(b.dot(c),sum(b),sum(c))
O fragmento de código acima provoca a seguinte saída:
39 [11] [11]
39 [1 2 3 5] 11
[39] [1 2 3 5] 11
[[39]] [11] [11]
[[39]] [1 2 3 5] [11]

Admita que um método Java, chamado exibePilha, receba essas três pilhas como parâmetros e execute os seguintes passos:
1. Cria duas pilhas auxiliares, A1 e A2, inicialmente vazias;
2. Remove um elemento de P1 e o insere em A1. Em seguida, remove um elemento de P2 e o insere em A1. Repete esses dois procedimentos até que P1 e P2 fiquem, ambas, vazias;
3. Remove um elemento de P3 e o insere em A1. Repete esse procedimento até que P3 fique vazia;
4. Remove um elemento de A1 e o insere em A2. Repete esse procedimento até que A1 fique vazia;
5. Remove um elemento de A2 e o exibe no console. Repete esse procedimento 4 vezes.
O que será exibido no console, quando o método exibePilha for executado, tendo P1, P2 e P3 sido passadas como parâmetros?
10 15 25 28
10 25 30 40
15 10 28 25
20 35 34 40
40 34 30 60
Sejam as seguintes classes Java, que ocupam arquivos separados:
public class L1 {
int a=1, b=1, c=1;
public L1() {
a *= 2;
b *= 2;
c *= 2;
}
public int opA(int x, int y) {
return a + b + c - opA(x) + opA(y);
}
public int opA(int x) {
return x + 5;
}
{
a++;
b--;
}
}
public class L2 extends L1 {
public L2() {
c+=2;
}
public int opA(int x, double y) {
return a + b + c + opA(x)+ opA((int)y);
}
public static void main(String[] args) {
L2 o=new L2();
System.out.println(o.opA(2,3));
}
}
O que será exibido no console quando o método main for executado?
6
7
9
19
21
Considere o código abaixo escrito em linguagem C:
#include <stdio.h> int main() { int A = 1, B = 0, C = 1; int resultado = (A && B) || C; printf("%d\n", resultado); return 0; } |
Que valor será impresso na tela após a execução do programa?
Nulo.
0.
1.
2.
3.
O comando a seguir foi utilizado em um shell (como o bash) de um sistema operacional Linux.
echo "Ola mundo" | wc -l
É correto afirmar que o valor retornado por esse comando será:
0
1
3
8
9
Considerando as linguagens de programação que têm suporte para trabalhar o Paradigma de Programação Orientado a Objetos (POO), analise as assertivas e julgue V, para as verdadeiras, ou F, para as falsas.
( ) Pela linguagem de programação Python ser compilada, esta não tem suporte para trabalhar o paradigma POO.
( ) Pela linguagem de programação HTML ser extremamente utilizada com o Java, esta pode trabalhar com o paradigma POO.
( ) As linguagens de programação Python, C, C++ e Java têm suporte para trabalhar com herança múltipla
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
F - F - V.
V - V - F.
V - V - V.
F - F - F.
V - F - V.
Apesar de ser extremamente não recomendada, e até proibida em determinadas situações, o comando GOTO permite o redirecionamento do fluxo de execução de um programa sem a necessidade de uma condição.
Certo
Errado
Considere o trecho de código Java exibido a seguir.
public class Main {
static int m1(int x, int y) {
return x + y;
}
static double m1(double x, double y) {
return x * y;
}
public static void main(String[] args) {
int a = m1(20, 3);
double b = m1(3.56, 1.01);
System.out.println("int: " + a);
System.out.println("double: " + b);
}
}
A execução desse código produz
um erro de sintaxe, pois há dois métodos com o mesmo nome.
um erro de execução, pois há incompatibilidade de tipos.
a exibição das linhas
double: 23.0
double: 3.5956
a exibição das linhas
int: 23
int: 4
a exibição das linhas
int: 23
double: 3.5956
Analise o código a seguir, escrito em linguagem Java e com anotações do Hibernate 6.1. Considere que os métodos de acesso get e set foram omitidos da especificação das classes abaixo para efeitos de brevidade.
1 | @MappedSuperclass |
2 | public static class Pessoa |
3 | |
4 | @Id |
5 | private Long id; |
6 | |
7 | private String nome; |
8 | |
9 | @Column(length = 11) |
10 | private String cpf; |
11 | } |
12 | |
13 | @Entity(name = "Porfessor") |
14 | public static class Professor extends Pessoa { |
15 | |
16 | private BigDecimal salario; |
17 | } |
18 | |
19 | @Entity(name = "Aluno") |
20 | public satatic class Aluno extends Pessoa |
21 | |
22 | private boolean diurno; |
23 | } |
Sobre o modelo de banco de dados decorrente deste mapeamento objeto-relacional, é correto afirmar que
o atributo nome da tabela Pessoa será do tipo VARCHAR.
o atributo salario da tabela Professor não poderá ser nulo.
o atributo id da tabela Aluno será uma chave primária.
o atributo diurno da tabela Pessoa poderá ter só 2 valores.
o atributo cpf da tabela Pessoa poderá ter 11 caracteres.
O resultado da execução do código R a seguir será 2.
x <- 10
y = 12
z = x+y
print(z)
Certo
Errado
Observe o seguinte código:
1 | #include <iostream> |
2 | using namespace std; |
3 | int main() |
4 | { |
5 | int estM[]={20,15,10,4,15}; |
6 | int estA[]={12,20,0,6,10}; |
7 | int preco[]={1,3,15,5,4}; |
8 | int k, d; |
9 | int cont; |
10 | |
11 | for (k=0;k<5; k++){ |
12 | cont=0; |
13 | for(d=estA[k];d<estM[k];d++){ |
14 | cont++; |
15 | } |
16 | cout<<cont<< " "; |
17 | } |
18 | |
19 | return 0; |
20 | } |
A execução deste código C++ imprimirá na tela
0 0 0 0 0
8 0 10 0 5
8 -5 10 -2 5
-8 5 -10 2 -5
32 35 10 10 25
Considere o código Python a seguir.
L=[0, 1, 1, 2, 3, 5, 8, 13, 21] print (L[2:4][-1]) |
O resultado exibido na execução desse script é:
0
1
2
3
21
Considere o seguinte trecho de código escrito na Linguagem Java, considerando a openJDK 17.0.3.
1▼ 2▼ 3 4 5 6 7 8 | public class Main { --public static void main(String[] args) { ----int x, y; ----y = 1; ----x = 1 + ++y; ----System.out.print(x--); --} } |
Ao executar este trecho de código qual o resultado mostrado na tela?
0
1
2
3
error in line 5: invalid operation