

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.
Observe o algoritmo a seguir:
-
1. escreva("Digite um numero....: ")
2. leia(n)
3. para i de 1 ate 18 faca
4. se vet[i] = n entao
5. p := i
6. fimse
7. fimpara
-
Na linha 5, qual a função da variável p?
Recebe o número digitado pelo usuário.
Recebe a posição no vetor vet do número encontrado.
Recebe o valor do número encontrado na posição i do vetor vet.
Recebe a soma dos números do vetor vet.
O seguinte trecho de programa foi elaborado na forma de uma pseudolinguagem (português estruturado).
Início
Tipo M = matriz [1..5,1..5] de inteiros;
Inteiro: i, j;
M: Mat;
...
Para i de 1 até 5 faça
[
Para j de 1 até 5 faça
[
Se (i = (j+1))
Então
Mat[i,j] ← 1;
Senão
Mat[i,j] ← 0;
]
]
...
Fim.
Considerando a execução do trecho de programa apresentado, a quantidade de posições da matriz Mat que recebeu o valor 1 é igual a:
1
2
3
4
5
Assinale a complexidade do algoritmo empregado.
O(2n).
O(log n).
O(n log n).
O(n).
O(n2).
Dada as variáveis a, b, c e d, com seus respectivos valores 5, 3, 6, e 4, um programador precisa interpretar a seguinte expressão:
(!(a > b) != !((c == d) && (a > b) || (c == c)))
Analisando a expressão acima, assinale a opção que apresenta o resultado CORRETO, realizado pelo programador:
3;
4;
5;
Falso;
Verdadeiro.
Analise os dois algoritmos abaixo, escritos em Portugol, no ambiente VisuAlg 3.0, chamados de Z1 e Z2, representados pelas Figuras 3 e 4.

Figura 3 – Algoritmo Z1 ______________ Figura 4 – Algoritmo Z2
Em relação ao diagrama de Chapin da Figura 2, é correto afirmar que:
Somente Z1 possui o mesmo comportamento prescrito pelo diagrama de Chapin.
Somente Z2 possui o mesmo comportamento prescrito pelo diagrama de Chapin.
Z1 e Z2 apresentam o mesmo comportamento entre si e em relação ao diagrama de Chapin.
Z1 e Z2 apresentam o mesmo comportamento entre si, contudo ele é diferente do prescrito pelo diagrama de Chapin.
Z1 e Z2 não podem ser considerados equivalentes, no aspecto lógico e comportamental, ao diagrama de Chapin.
Na ordenação por seleção, é necessário permutar o vetor. Para esse caso, o significado de ‘permutar’ é
substituir o vetor por chaves de ordenação.
rearranjar os elementos do vetor.
alterar os valores de um vetor A depois de ordenado em um vetor B.
alternar os valores de um vetor A com um vetor B.
ordenar os elementos do vetor A em função de um vetor B de ordenação.
import datetime
d = datetime.datetime(2022,1,2,3,4,5)
print(type(d))
print(d.strftime(“%j”))
Com base no algoritmo, considere as afirmativas:
I –Aprimeira linha realiza a importação do módulo ‘datetime’
II – A segunda linha cria um objeto
III – A terceira linha retorna <class ‘datetime. datetime’>
IV – A última linha imprime o valor 002
Assinale a alternativa correta:
Todas as afirmações estão corretas.
Somente III e IV estão corretas.
Somente I, II e III estão corretas.
Somente I e II estão corretas.
Marque a alternativa correta que apresenta o resultado do algoritmo detalhado a seguir.

180
90
120
720
Dado um array unidimensional X, contendo milhares de números inteiros não ordenados, a complexidade de um algoritmo que faz a contagem de números iguais a zero presentes em X é:
1
N
N2
N log N
2N
Assinale, das alternativas abaixo, a única que identifica respectivamente uma Estrutura de Dados do tipo FIFO (First In, First Out) e uma outra com a Estrutura de dados do tipo LIFO (Last In, First Out):
lista - vetor
pilha - fila
vetor - lista
fila - pilha
Fluxograma convencional é uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas. Tal propriedade facilita o entendimento das ideias contidas nos algoritmos e justifica sua popularidade. Sendo assim, analise a imagem abaixo e responda corretamente.

A forma geométrica representada acima, é utilizada para:
operação de entrada de dados.
operação de atribuição.
início e final do fluxograma.
decisão.
operação de saída de dados.
Observe a figura abaixo e considere que:
-
(a) o processo 1 solicita ao coordenador permissão para acessar um recurso compartilhado. A permissão é concedida.
(b) o processo 2 solicita permissão para acessar o mesmo recurso. O coordenador não responde.
(c) quando o processo 1 libera o recurso, informa ao coordenador, que não responde a 2.
-

-
Qual é o algoritmo de exclusão mútua ilustrado na figura?
Centralizado
Distribuído
Token Ring
Descentralizado
Clock Lógico
O código abaixo, dado por Szwarcfiter & Markenzon (SZWARCFITER, Jayme Luiz & MARKENZON, Lilian. Estruturas de dados e seus algoritmos. 3.ed. Rio de Janeiro: LTC, 2015),
procedimento hanoi(n, 4, B, €C)
sen > 0 então
hanoi(n — 1, 4, C, B)
mover o disco do topo de A para B
hanoi(n — 1, C, B, 4)
Exemplifica um procedimento:
de repetição.
de armazenamento de registro.
de alteração de tipo de dado.
recursivo.
relacional.
A seguir, é apresentado um bom exemplo de código, de acordo com clean code.
int a = l;
if ( O == l )
a = O1;
else
l = 01;
Certo
Errado
O algoritmo ordena 13 números em ordem crescente, com o auxílio de uma variável auxiliar AUX.
procedimento ORDENAR Inicio repita troca<- VERDADEIRO para K de 1 ate 12 faca se TAB[K) > TAB[K+ 1] entao AUX <- TAB[K) TAB[K] <-TAB[K+1] TAB[K+1] <- AUX TROCA<- FALSO fimse fimpara ate TROCA= VERDADEIRO fimrepita fimprocedimento |
Uma solução com o mesmo resultado, mas sem o uso dessa variável auxiliar AUX, é possível por meio da substituição das linhas de código da figura
AOX <- TAB[K] TAB[K] <- TAB[K+1] TAB[K<+1] <- AUX |
por:
TAB[K] <- TAB[K] + TAB[K+] TAB[K] <- TAB[K+1] - TAB[K] TAB[K+1] <- TAB[K] - TAB[K+1] |
TAB[K] <- TAB[K] + TAB[K+l) TAB[K] <- TAB[K] - TAB[K+1] TAB[K+l] <- TAB[K] - TAB[K+l] |
TAB[K] <-TAB[K]+ TAB[K+1] TAB[K+l] <-TAB[K]- TAB[K+l] TAB[K] <- TAB[K] - TAB[K+1] |
TAB[K+1] <- TAB[K] + TAB[K+1] TAB[K] <- TAB[K] - TAB[K+1] TAB[K+1] <- TAB[K] - TAB[K+1] |
Usando o algoritmo Bubble Sort um técnico deseja ordenar o conteúdo de um array utilizando o código JavaScript abaixo, presente no corpo de uma página HTML.
-
<body>
<script>
var arr = [220, 63, 25, 8, 5, 7, 295, 589];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < (arr.length - i - 1); j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j]
I
arr[j + 1] = temp
}
}
}
document.write(arr);
</
</
-
Para que o array seja ordenado corretamente a lacuna I deve ser corretamente preenchida com
arr[j] = arr[j + 1]
arr[j] = arr[j + i]
arr[i] = arr[j + 1]
arr[j] = arr[j - 1]
arr[j + 1] = arr[j + 1]
Observe três símbolos, identificados por letras, que são utilizados para a construção de algoritmos.
-

-
A associação está correta em
A. Entrada de dados B. Início do código C. Cálculos e atribuições
A. Cálculos e atribuições B. Saída de dados C. Estrutura de decisão
A. Estrutura de decisão B. Fim do código C. Cálculos e atribuições
A. Estrutura de decisão B. Início e fim do código C. Cálculos e atribuições
Considere o trecho de uma lógica de programação em pseudolinguagem abaixo, sabendo-se que B1 e B2 são variáveis lógicas, que podem ter valor verdadeiro ou falso.
se (B1)
_então Comando1
_senão se (B2)
_________então Comando2
_________senão Comando3
_______________Comando4
______fimse
fimse
Comando5
É correto afirmar:
Se B1 for verdadeiro, “Comando1” e “Comando2” serão executados.
Se B2 for verdadeiro, ou “Comando2” ou “Comando3” e “Comando 4” poderão ser executados.
Se B1 for falso, o “Comando2” nunca será executado.
O “Comando5” poderá ser o único comando a ser executado.
O “Comando5” sempre será executado.
Os algoritmos de escalonamento de processos podem ser preemptivos ou não preemptivos. Considere as políticas de escalonamento de processos:
I. realiza o escalonamento por alternância circular, em que cada processo ganha um intervalo de tempo para uso contínuo da CPU (quantum); se ao final do quantum o processo ainda está processando, outro processo será escolhido; se houver interrupção ou o processo terminar antes do fim do quantum, outro processo será escolhido.
II. diversas filas de processos no estado pronto são criadas e cada processo é associado exclusivamente a uma delas; cada fila possui um mecanismo próprio de escalonamento, em função das características dos processos; cada fila possui uma prioridade associada; o sistema só pode escalonar processos de uma fila, se todas as outras de prioridade maior estiverem vazias.
I se refere ao algoritmo de escalonamento
Round Robin e II, ao escalonamento por múltiplas filas, ambos são preemptivos.
Round Robin, que é preemptivo, e II, ao escalonamento por múltiplas filas, que não é preemptivo.
FIFO (First In First Out), que não é preemptivo, e II, ao escalonamento por prioridades, que é preemptivo.
FIFO (First In First Out), que é preemptivo, e II, ao escalonamento por prioridades, que não é preemptivo.
circular e II, ao escalonamento cooperativo, ambos são não preemptivos.
O resultado da execução do algoritmo abaixo é:
sistema{
funcao iniciar(){
inteiro contador = 1, valor = 1, total = 6
enquanto (contador < total){
valor = valor * contador
contador = contador + 1
}
escreva (valor)
}
}
2
6
24
120
720