

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.
A recursividade é uma importante sub-rotina que pode auxiliar o analista de sistemas a resolver problemas mais complexos. Sabendo disso, assinale a alternativa em que esteja implementado corretamente um algoritmo recursivo.
função fat(x: inteiro): inteiro
var i, aux: inteiro
inicio
aux <- 1
para i de 1 até x faça
aux <- aux * i
fim_para
fat <- aux
fim
fat(x: inteiro): inteiro
var i, fat_aux: inteiro
inicio
fat_aux <- 1
para i de 1 até x faça
fat_aux <- fat_aux * i
fim_para
fat <- fat_aux
fim
função fat(x: inteiro): inteiro
inicio
se x = 0 então
fat <- 1
senão
fat <- x * fat(x - 1)
fim_se
fim
procedimento fat(x: inteiro): inteiro
inicio
se x = 0 então
fat <- 1
senão
fat <- x * fat(x - 1)
fim_se
fim
função fat(x: inteiro): inteiro
var fat_aux: inteiro
inicio
fat_aux <- 1
senão
fat_aux <- x * fat_aux
fim_se
fim
Dado o seguinte vetor de números inteiros
NUM 
e o ALGORITMO Troca mostrado a seguir:
ALGORITMO Troca
PARA i de 10 ATÉ 6 PASSO -1 FAÇA
temp ← NUM[i];
NUM[i] ← NUM[10-i+1];
NUM[10-i+1] ← temp;
FIM_PARA
NUM[1] ←NUM[NUM[1]];
NUM[NUM[10]]←NUM[10];
NUM[NUM[5]]←NUM[NUM[2]];
NUM[temp]←NUM[NUM[temp]];
FIM_ALGORITMO
Qual o conteúdo do vetor NUM após a execução do ALGORITMO Troca.
NUM 
NUM 
NUM 
NUM 
NUM 
Os algoritmos de otimização utilizados para consultas dos bancos de dados fazem uma grande diferença no desempenho de um sistema.
Um dos fatores mais importantes na escolha dos planos de execução de consultas SQL baseia-se
na quantidade de memória RAM disponível na instalação.
na velocidade dos dispositivos de armazenagem.
nas estatísticas sobre as instâncias das tabelas.
na habilidade do programador para construir consultas SQL.
no número de sessões concorrentes abertas.
Dadas as afirmativas sobre tipos de dados e paradigmas de programação,
I. Os tipos de dados estruturados podem ser classificados em duas categorias: linear e não linear.
II. A estrutura linear em que a inserção e a remoção são realizadas na mesma extremidade é denominada lista encadeada.
III. São considerados tipos de dados elementares aqueles que armazenam valores exatos e utilizados com frequência como: inteiro, real e cadeia de caracteres (String).
verifica-se que está(ão) correta(s)
I, apenas.
III, apenas.
I e II, apenas.
II e III, apenas.
I, II e III.
Em uma estrada recém asfaltada é necessário pintar as faixas de sinalização: faixa seccionada ou contínua significando, respectivamente, que se pode ultrapassar ou não. Para armazenar essas informações, foram elaboradas estruturas de dados em Linguagem C que contenham o tipo de faixa e quais quilômetros devem ser pintados de acordo com o tipo de faixa. De acordo com as figuras a seguir, assinale a alternativa que apresenta maior fidelidade de estrutura de dados correspondente aos modelos descritos.


typedef struct km{
int kmIni, kmTer;
km *prox;
} TKm;
typedef struct faixa{
char tipoFaixa[20];
km *prox1;
faixa *prox2;
}TFaixa;
typedef struct km{
int kmIni, kmTer;
km &prox;
} TKm;
typedef struct faixa{
char tipoFaixa[20];
km &prox1;
faixa &prox2;
}TFaixa;
typedef struct km{
int kmIni, kmTer;
km &prox;
char tipoFaixa[20];
km &prox1;
faixa &prox2;
}TFaixa;
typedef struct km{
int kmIni, kmTer;
km *prox;
char tipoFaixa[20];
km *prox1;
faixa *prox2;
}TFaixa;
typedef struct km{
int kmIni, kmTer;
km *prox;
} TKm;
typedef struct faixa{
char tipoFaixa[20];
km &prox1;
faixa *prox2;
}TFaixa;
Considere o algoritmo em pseudocódigo abaixo, que computa, dados dois inteiros, uma sequência de inteiros.
Leia(n,a) enquanto n!=1 faça: imprima n se (n mod 2)=0 então: n:=n div 2 senão: n:=a*n+1 imprima n |
Sobre a sequência impressa, dados os valores de n e de a especificados, analise as proposições a seguir.
Sobre a sequência impressa, dados os valores de n e de a especificados, analise as proposições a seguir.
1) Para n=6 e a=3, a sequência gerada é: 6 3 10 5 16 8 4 2 1.
2) Para n uma potência de 2, n=2k para algum k inteiro; para qualquer valor de a, a sequência gerada são as potências de 2 de 2k até 1.
3) Para n=9 e a=3, a sequência gerada é: 14 7 22 11 33 17 52 26 13 40 20 10 5 16 8 4 2 1.
4) Se n não for uma potência de 2, com a=2 o algoritmo não para, gerando uma sequência infinita.
5) Com a=5, se n=17 o programa fica em laço infinito na sequência 17 86 43 216 108 54 27 136 68 34.
Estão corretas, apenas:
1, 2, 3 e 4.
1, 2, 3 e 5.
1, 3, 4 e 5.
1, 2, 4 e 5
2, 3, 4 e 5.
Analise o algoritmo abaixo e assinale a alternativa que apresenta o resultado da variável numero.
…
int numero = 0;
if (numero >= 0) {
for (int x = 0; x <= 10; x ++ ) {
numero = numero + x;
}
}
…
65.
10.
25.
55.
Analise a função ff definida pelo trecho de pseudocódigo exibido a seguir.
function ff (N as integer) as integer
{
if N = 5 then
{___return N;
}
else
{___return N + ff(N-1);
};
}
Assinale a opção que indica o valor correto da expressão ff(12).
12
17
68
72
78
A figura a seguir representa o diagrama de classes do sistema SISVENDAS. Nesse sistema, os cálculos do salário das subclasses Gerente e Vendedor são diferentes, mas ambos utilizam um valor de salário-base. Esse salário-base deve ser alterado a qualquer momento, independente das instâncias das classes.

Para implementar a solução do salário-base deve-se definir
uma classe abstrata.
um atributo classe.
um método abstrato.
um atributo protegido.
um método polimórfico.
Sobre erros em programação, assinale a alternativa correta:
Divisão por zero é um exemplo típico de erro de lógica.
Erros lógicos são erros do algoritmo ou da lógica do programa.
Erros lógicos são fáceis de detectar, porque o compilador produz mensagens sobre o respectivo erro.
Erros de sintaxe são difíceis de encontrar, porque o compilador não produz nenhuma mensagem sobre o erro.