

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.
Analise o programa a seguir, escrito na forma de uma pseudolinguagem (português estruturado).
Início
Inteiro: a, b, c, i, Soma;
a ← 0;
b ← 1;
c ← 2;
Para i de 1 até 5 faça
[
Se (c é par)
Então
[
a ← a+1;
b ← b+2;
c ← c+3;
]
Senão
[
a ← a-1;
b ← b-1;
c ← c-1;
]
]
Soma ← a + b + c;
Fim.
A variável Soma, na última linha do programa, terminará com o valor
12
13
14
15
16
Considerando o programa apresentado, o valor da variável X impresso ao final de sua execução é igual a:
1
3
5
6
10
Algoritmo é uma lista de instruções que conduzem ações especificadas, passo a passo, em rotinas embasadas em hardware ou software.
Certo
Errado
Considere o seguinte trecho de código extraído de Manzano & Oliveira (2016, p. 155):
tipo
BIMESTRE = conjunto[1..4] de real
CAD_ALUNO = registro
NOME : caractere
NOTA : BIMESTRE
fim_registro
var
ALUNO: conjunto[1..8] de CAD_ALUNO
Fonte: MANZANO, José Augusto & OLIVEIRA, Jayr Figueiredo de. Algoritmos: Lógica para desenvolvimento de programação de computadores. 18 ed. São Paulo: Érica, 2016.
É INCORRETO afirmar que:
Trata-se de um trecho de código em Português Estruturado, descrevendo a definição de um registro e sua posterior definição como o tipo de uma variável chamada ALUNO.
Podemos dizer que na estrutura descrita existe um campo chamado NOTA do tipo BIMESTRE, sendo BIMESTRE a especifi cação de um tipo de conjunto matricial de uma única dimensão.
A estrutura de dados homogênea descrita no TIPO é bastante versátil e nos permite trabalhar de uma forma mais adequada com diversos problemas, facilitando a construção de programas mais efi cientes.
Após a instrução var, foi indicada a variável ALUNO com 8 posições do tipo CAD_ALUNO, que, por sua vez, contém NOME do tipo caractere e NOTA do tipo BIMESTRE com quatro posições.
A leitura dos dados da estrutura descrita pode ser feita utilizando dois laços de repetição encadeados em que, no primeiro, será controlado o número de alunos da turma (oito, no exemplo) e, no segundo laço, será controlada o número de notas de cada aluno (quatro, no exemplo).
Ao final da execução do algoritmo a seguir, o valor 0 será apresentado.
constante A = 50
enquanto (A > 0)
A -= 5;
fim enquanto
escreva (A);
Certo
Errado
Caso, no programa apresentado, as atribuições iniciais às variáveis v1, v2 e v3 sejam alteradas conforme mostrado a seguir,
v1 ← 1;
v2 ← 1;
v3 ← 1;
o novo valor impresso da variável X em relação ao valor impresso de X no programa original será
igual.
acrescido de 1.
acrescido de 3.
acrescido de 6.
acrescido de 9.
A Figura 1, abaixo, apresenta um algoritmo escrito no software VisuAlg 3.0.
algoritmo "semnome" var cont, produto: inteiro inicio cont <- 0; produto <- 1; repita cont <- cont + 1; produto <- produto * cont; escreval (cont, "|", produto) ate ((produto > 100) ou (cont >= 10)) fimalgoritmo |
Figura 1 – Algoritmo escrito no software VisuAlg 3.0
Quais serão, respectivamente, os valores das variáveis "cont" e "produto" ao final da execução do algoritmo da Figura 1?
5 e 120.
3 e 6.
10 e 100.
4 e 24.
6 e 720.
Após o algoritmo a seguir ser executado, o valor da variável soma1 será maior que o da variável soma2.
vetor a[7];
real soma1, soma2;
inteiro i;
a = [1,3,9,27,81,243,729];}
soma1 = 0;
i = 0;
enquanto (i < 7) faça
soma1 = soma1 + a[i]
i = i + 1
fim enquanto
soma2 = 1 * (1-3^7)/(1-3)
escreva(soma1)
escreva(soma2)
Certo
Errado
Considere que, na lógica do algoritmo feito no VisualG, sejam inseridos sequencialmente os valores a seguir: 7 8 3 1 0 2 5
Algoritmo "Alg1"
Var
num : real
res : real
soma : real
Inicio
soma <- 0
escreva("Digite um valor: ")
leia(num)
enquanto (num <> 0)faca
res <- res + num
escreva("Digite um valor: ")
leia(num)
fimenquanto
escreva("Resultado> ", res)
Fimalgoritmo
Nessa situação, será apresentado qual resultado da execução?
16
17
18
19
Para ordenar um vetor de 10 elementos usando-se a ordenação por seleção, a quantidade de comparações necessárias é igual a
25.
65.
35.
45.
55.
Considere os trechos de códigos a seguir:
I. int fatorial (int n) {
if (n<=1)
return 1;
else
return n*fatorial
(n-1);
}
II. int codigo(int vet[]){
int qtd, i, j, tmp;
qtd=0;
for (i=0; i<tamanho -1;
i++){
for (j=i+1;
j<tamanho; j++){
if
(vet[i]> vet[j]);
troca(&vet[i], &vet[j]);
}
qtd++;
}
}
return(qtd);
}
Considerando as informações apresentadas, informe se é verdadeiro (V) ou falso (F) para o que se afirma e assinale a alternativa com a sequência correta.
( ) O primeiro código tem a finalidade de calcular o fatorial de um número, portanto é recursivo.
( ) O primeiro e segundo código utilizam o método da bolha ou Buble sort, portanto não são recursivos.
( ) O primeiro e segundo código são exemplos de algoritmos recursivos.
( ) Os dois códigos são exemplos de algoritmos de ordenação.
F – F – F – F.
V – F – V – F.
V – V – F – F.
V – F – F – F.
Assinale a alternativa correta para verificar se uma string que armazena um endereço IP com 4 bytes dispõe de um número IP válido por meio de uma expressão regular.
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\i\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\i
\b\u{1,3}\.\u{1,3}\.\u{1,3}\.\u{1,3}\b
\e\{1,3}\.\e{1,3}\.\e{1,3}\.\e{1,3}\b
Nenhuma das alternativas.
O quicksort é um dos algoritmos mais famosos de ordenação, o qual, por sua vez, é um tema bastante estudado na informática. Mas, qual a vantagem do quicksort afinal?
Assinale a alternativa que contém uma descrição correta sobre o algoritmo.
Apesar de não estável, o quicksort é um algoritmo rápido, cujas operações são realizadas sem a necessidade de vetor auxiliar, o qual ainda demanda um esforço computacional baixo, cujo caso médio é O(n log n).
Mesmo sendo estável, o quicksort é um algoritmo rápido, cujas operações são realizadas sem a necessidade de vetor auxiliar, o qual ainda demanda um esforço computacional baixo, cujo caso médio é O(log n).
Mesmo sendo estável, o quicksort é um algoritmo rápido, cujas operações são realizadas com uso de vetor auxiliar, o qual ainda demanda um esforço computacional baixo, cujo caso médio é O(n log n).
Mesmo sendo estável, o quicksort é um algoritmo rápido, cujas operações são realizadas com uso de vetor auxiliar, o qual ainda demanda um esforço computacional baixo, cujo caso médio é O(log n).
Apesar de não estável, o quicksort é um algoritmo rápido, cujas operações são realizadas com uso de vetor auxiliar, o qual ainda demanda um esforço computacional baixo, cujo caso médio é O(log n).
soma = 0
função a(x):
soma = 0
se (x <= 1) então
retorne 1
fim se
soma = soma + x + a(x - 1) + a(x - 2)
retorne soma
escreva(a(3))
Assinale a opção que apresenta o resultado correto para o pseudocódigo precedente.
17
1
4
8
13
Virgínia é analista de qualidade de software da DPE/RS e está verificando qual o melhor algoritmo de substituição de páginas para as aplicações da Defensoria. Os dados usados são:
Número da página | Bit referência | Bit modificação |
1 (início) | 1 | 0 |
2 | 1 | 1 |
3 | 0 | 0 |
4 | 0 | 1 |
5 | 0 | 0 |
6 | 1 | 0 |
Virgínia usou o Algoritmo de Segunda Chance Aperfeiçoado.
Considerando que não ocorrerá nenhuma nova execução ou modificação e que a partir desse momento só haverá a remoção das páginas, a sequência de remoção de páginas da memória principal identificada por Virgínia será:
3, 5, 1, 6, 2, 4;
3, 5, 2, 4, 6, 1;
3, 4, 5, 1, 2, 6;
3, 4, 6, 5, 1, 2;
3, 4, 5, 6, 1, 2.
No âmbito dos algoritmos, o que é diferente entre procedimentos e funções?
Funções retornam um valor, enquanto procedimentos não.
Procedimentos retornam um valor, enquanto funções não.
Procedimentos não executam nenhuma tarefa.
Funções não executam nenhuma tarefa.
Procedimentos e funções são a mesma coisa.
Observe o algoritmo abaixo.
algoritmo "UFJ"
var
M, N, K : inteiro
Inicio
M <- 25
N <- 15
para K de 0 ate 5 passo 2 faca
M <- M - 3
N <- N + 3
escreva (M:3,N:3)
fimpara
fimalgoritmo
Após a execução, esse algoritmo gera a seguinte saída:
22 18 19 21 16 24 13 27.
22 19 16 13 18 21 24 27.
22 27 19 24 16 21 13 18.
18 22 21 19 24 21 27 13.
18 21 24 27 22 19 16 13.
As variáveis X, Y, Z e Res, do tipo booleana (que podem apresentar valores do tipo Verdadeiro ou Falso), foram utilizadas dentro de um programa na seguinte lógica:
Res ← NOT ((X AND Y) OR (X AND Z))
Assinale a alternativa que apresenta uma combinação de valores para X, Y e Z que produza em Res um valor Falso.
X = Falso, Y = Falso e Z = Falso.
X = Falso, Y = Falso e Z = Verdadeiro.
X = Falso, Y = Verdadeiro e Z = Verdadeiro.
X = Verdadeiro, Y = Falso e Z = Falso.
X = Verdadeiro, Y = Verdadeiro e Z = Falso.
Em relação à geração de números aleatórios por computadores, analise as afirmativas abaixo.
I. Chama-se semente o número que inicia o algoritmo de geração de números pseudoaleatórios.
II. Os números comumente gerados por um computador como aleatórios são, na verdade, pseudoaleatórios, uma vez que há um algoritmo que gera esses números.
III. Caso o algoritmo gere em algum momento o número usado como semente, a sequência de números pseudoaleatórios deverá se repetir.
IV. Os computadores têm, internamente, um gerador de números verdadeiramente aleatórios.
Estão corretas as afirmativas:
I e II apenas
III e IV apenas
I, II, III e IV
I, II e III apenas
III apenas
Considere NUM como sendo um array (arranjo) indexado a partir de 0, cujo conteúdo numérico é formado por: 12, 25, 16, 11, 9, 31, 27, 27 e 22. O valor de NUM[ NUM[2] – NUM[4] ] – NUM[6] é
0
1
2
3
4