

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 lógica matemática é uma área de estudo que utiliza sistemas formais para representar, analisar e inferir informações sobre o mundo real. As funções de avaliação são uma parte importante da lógica matemática, pois permitem avaliar se uma fórmula lógica resulta em um retorno verdadeiro ou falso. Considere a seguinte fórmula lógica e seu respectivo conjunto de atribuições de variáveis:
Fórmula lógica:
∀x (P(x) → Q(x))
Conjunto de atribuições de variáveis:
P(x)={a, b, c}, Q(x)={b, c, d}
Analise o pseudocódigo abaixo, que tenta retornar a verdadeiro ou falso para a fórmula lógica usando as atribuições de variáveis fornecidas:
função avaliar_fórmula(P, Q)
para cada elemento x em P
se x está em P e x não está em Q
retornar falso
retornar verdadeiro
Qual é o resultado da execução do algoritmo, considerando o contexto descrito na questão?
Não é possível avaliar a fórmula lógica usando o pseudocódigo fornecido.
Verdadeiro.
Falso.
Indeterminado.
O pseudocódigo é inválido.
Considere em um algoritmo o tempo de execução T(n) do pior caso da ordenação por intercalação para n números. Sabe-se que há a demora de um tempo constante para a ordenação por intercalação de um único elemento. Nas situações em que n > 1, o tempo de execução deve ser detalhado. Em uma das etapas, calcula-se o ponto médio do arranjo, o que demora um tempo constante, ou seja:
D(n) < Θ(1).
D(n) = Θ(1).
D(n) = Θ(0).
D(n) > Θ(0..n).
D(n) = Θ(n).
O algoritmo abaixo mostra o uso de passagem de parâmetros por referência de CRT para PCRT e por valor de NUM para PNUM e de VLG para PVLG.
algoritmo "UFU"
var
CRT : caractere
VLG : logico
NUM : inteiro
procedimento PROC23 (PNUM: inteiro;var PCRT caractere; PVLG: logico)
inicio
PVLG <- FALSO
PCRT <- "BELA VISTA"
PNUM <- 69
fimprocedimento
inicio
VLG <- VERDADEIRO
CRT <- "SANTO ANTÔNIO”
NUM <- 57
PROC23 (NUM, CRT, VLG)
se NUM MOD 2 = 1 entao
CRT <- "ESTRELA DALVA"
fimse
escreval (VLG," ",CRT," ",NUM)
fimalgoritmo
Após a execução desse algoritmo, os valores finais das variáveis VLG, CRT e NUM serão, respectivamente,
VERDADEIRO, SANTO ANTÔNIO e 69.
FALSO, ESTRELA DALVA e 69.
VERDADEIRO, ESTRELA DALVA e 57.
FALSO, BELA VISTA e 57.
VERDADEIRO, BELA VISTA e 57.
É uma definição abstrata, autônoma e lógica de objetos, operadores e outros elementos que, juntos, constituem a máquina abstrata com a qual os usuários (desenvolvedores) interagem e onde pode-se modelar a estrutura e o comportamento dos dados com os objetos e operadores. A definição apresentada refere-se ao(a):
Implementação.
Estrutura dos dados.
Modelo relacional.
Representação física.
Modelo de dados.
O pseudocódigo apresentado a seguir representa a pesquisa de um elemento em um vetor ordenado, de forma recursiva, segundo o processo conhecido como pesquisa binária.
global var
valores: vetor [1..10] de inteiro
função bin (
pos_ini, pos_fim, x: inteiro
)
var
p, v: inteiro
início
se pos_ini > pos_fim então
retorne -1
senão
p <- (pos_ini + pos_fim) / 2
v <- valores[p]
se v = x então
retorne p
senão
se v < x então
retorne bin (p+1, pos_fim, x)
senão
retorne bin (pos_ini, p-1, x)
fim se
fim se
fim se
fim função
Considere o conjunto {4, 5, 8, 9, 14, 16, 17, 20, 23, 25} no vetor global valores, índice inicial 1 e final 10, e divisão entre inteiros truncando a parte decimal.
Com a chamada bin (1, 10, 20), o retorno da posição do número 20 ocorre após a função bin ser executada, incluindo a chamada inicial:
2 vezes;
4 vezes;
6 vezes;
8 vezes;
10 vezes.
Marcos é um estudante de programação de computadores e encontrou o algoritmo apresentado a seguir em seus estudos.
algoritmo Marcos
var
i, a: inteiro
v: vetor [1..5] de inteiro
início
a <- 0
para i de 1 até 5 faça:
leia(v[i]);
fim para
para i de 1 até 5 faça:
v[i] <- v[i] + v[6-i]
a <- a + v[i]
fim para
escreva(a)
fim algoritmo
Considerando o vetor com índice inicial 1 e final 5, e utilizando os valores {2, 1, 2, 1, 2}, Marcos obterá a impressão do valor:
3
8
9
16
19
Algoritmos são o grande coadjuvante da computação. Na computação um programa codifica um algoritmo de modo a ser executado, resolvendo assim, um determinado problema. Sobre este tópico, analise as afirmativas abaixo e de valores Verdadeiro (V) ou Falso (F).
( ) A complexidade de um algoritmo não reflete o esforço computacional requerido para executá- lo. À quantidade de trabalho exercida pelo algoritmo, pode ser dada em termos do tempo de execução ou da quantidade de memória requerida.
( ) Uma das medidas de desempenho de um algoritmo muito importante é o tempo de execução, ou complexidade em tempo.
( ) Tem-se também a complexidade em espaço a qual usa como medida de desempenho a quantidade de memória necessária para a execução de algoritmo.
Assinale a alternativa que apresenta a sequência correta de cima para baixo.
F - V - F
V - F - V
F - V - V
V - V - V
A expressão A*(B+(C*(D+(E*(F+G))))) tem como equivalente, em notação polonesa, A B C D E F G + * + * + *.
Certo
Errado
Observe a imagem a seguir.
1 lista_numeros = [1, 2, 3, 4, 5] 2 nova_lista_numeros = [x * 2 for x in lista_numeros if x % 2 == 0] 3 print(nova_lista_numeros) |
A saída esperada para o código apresentado é:
[2, 4, 6, 8, 10]
[2, 4]
[1, 2, 3, 4, 5]
[4, 8]
O algoritmo da figura mostra o uso da estrutura de controle “enquanto ... fimenquanto” que gera um resultado único.
algoritmo "UFFS" var R : caracter K : inteiro inicio R <- "FRONTEIRA" K <- -2 enquanto K < 2 faca K <- K+1 escreval(R:19,K:4) fimenquanto fimalgoritmo |
O código equivalente que gera o mesmo resultado, mas que usa a estrutura de controle “repita ... fimrepita”, está indicado na opção:
K < - -2 repita K <- K+1 escreval (R : 19,K:4) ate K > 2 fimrepita |
K < - -2 repita K < - K+1 escreval (R:19,K : 4) ate K < 2 fimrepita |
K <- -2 repita K <- K+1 escreval (R : 19 , K : 4) ate K = 2 fimrepita |
K <- -2 repita K < - K+1 escreval (R : 19 , K : 4) ate K = 1 fimrepita |
K <- -1 repita K <- K + 1 escreval (R : 19 , K : 4) ate K = 2 fimrepita |
Algoritmos de ordenação são técnicas fundamentais na área da computação e são utilizados para organizar e ordenar coleções de dados, como listas ou arrays, de acordo com critérios específicos. Esses algoritmos têm uma ampla gama de aplicações em sistemas computacionais e são essenciais para a eficiência e eficácia de processos, nas mais diversas áreas do mundo do trabalho. Considere o algoritmo de ordenação ilustrado no pseudocódigo abaixo:
função sort(lista, esquerda, direita)
se esquerda < direita
pivo_index = particionar(lista, esquerda, direita)
sort(lista, esquerda, pivo _index - 1)
sort(lista, pivo_index + 1, direita)
função particionar(lista, esquerda, direita)
pivo = lista[direita] # escolhendo o pivo como último
elemento
i = esquerda - 1
para j de esquerda até direita -1
se lista[j] <= pivo
i=i+ 1
trocar(lista[i], lista[j])
trocar(lista[i + 1 ], lista[direita]) # colocando o pivo em sua
posição correta
retornar i + 1
# Inicializando o algoritmo com os índices apropriados
lista= [valores a serem ordenados]
sort(lista, 0, comprimento(lista)-1)
Qual das alternativas abaixo corresponde ao algoritmo em questão?
Heap Sort.
Bubble Sort.
Merge Sort.
Counting Sort.
Quick Sort.
function sum_elements(list) {
let total = 0;
for (let i=1; I<list.length; i++){
total+=list[i];
}
console.log(total)
No bloco de código acima, qual será o valor mostrado no console, após o término da estrutura de repetição, caso a função recebesse o parâmetro [ 1, 2, 3, 4, 5 ]?
10
14
15
9
o console mostraria um erro
let result = 1000
while (true) {
console.log(result);
result -= 1;
if (result == 0) {
console.log(result);
break;
}
}
Analisando o bloco de código acima, qual a explicação correta sobre seu funcionamento?
O bloco de código roda apenas 1x, pois a condição do bloco if é true
O bloco de código vai diminuindo o valor de result até que seu valor seja 0 e imprimindo na tela o valor atual do mesmo
O bloco de código não roda, pois há um erro estrutural
O bloco de código roda aumentando o valor da variável result enquanto seu valor for diferente de 0
O bloco de código multiplica o valor de result por ele mesmo enquanto seu valor for diferente de 0
Os parâmetros que são passados para uma função de um programa são denominados parâmetros reais, enquanto que os parâmetros recebidos por uma função são denominados parâmetros formais. Neste contexto, em uma chamada de função por valor, os valores dos parâmetros reais
são copiados para os parâmetros formais da função, e as alterações nestes efetuadas dentro da função refletem-se em alterações nos parâmetros reais.
são copiados para os parâmetros formais da função, e as alterações nestes efetuadas dentro da função não implicam em alterações nos parâmetros reais.
não são copiados para os parâmetros formais da função, e as alterações efetuadas nestes dentro da função, refletem-se em alterações nos parâmetros reais.
não são copiados para os parâmetros formais da função, e as alterações efetuadas nestes dentro da função, não implicam em alterações nos parâmetros reais.
não são copiados para os parâmetros formais da função, e esta não pode realizar alterações em seus parâmetros formais.
Analise o programa a seguir, apresentado na forma de uma pseudolinguagem (português estruturado).
Início
Inteiro: c, d, e, k, Z;
c ← 5;
d ← 5;
e ← 10;
Para k de 1 até 4 faça
[
Se ( (c+d) > e )
Então
[
c ← c-1;
d ← d-2;
]
Senão
[
e ← e-2;
]
]
Z ← c - d + e;
Fim.
O valor da variável Z impresso ao final da execução desse programa será:
6
7
8
9
10
Considere o seguinte programa, na forma de uma pseudolinguagem (português estruturado).
Início
Inteiro: p, q, S, cont;
p ← 5;
q ← 3;
Para cont de 1 até 5 faça
[
Se (p+q) > 2*p
Então
p ← p-1;
Senão
q ← q+2;
]
S ← p + q;
Fim.
Ao final da execução desse programa, o conteúdo da variável S será:
8.
9.
10.
11.
12.
Assinalar a alternativa que preenche as lacunas abaixo CORRETAMENTE:
Sobre as estruturas de repetição utilizadas em algoritmos de programação, quando o número de repetições não é fixo, pode-se utilizar a estrutura _________, nela, sempre se testa a condição no início e, sempre que ela resultar em __________, o comando ou bloco dentro da estrutura é executado.
for | verdadeiro
for | falso
while | falso
while | verdadeiro
A maior parte das pessoas não ligadas à área de informática ignoram o potencial dos computadores e imagina que eles são capazes de tratar apenas com dados numéricos. As informações tratadas em um algoritmo podem ser classificadas em dois tipos: Variáreis e Constantes. Acerca das variáveis, assinale a alterativa incorreta.
O conteúdo de uma variável deverá ser um dado do tipo usado na sua criação.
O conteúdo de uma variável é substituído por outro conteúdo que lhe venha a ser atribuído.
É possível nomear uma variável sem qualquer restrição sintática.
O uso do nome de uma variável em uma expressão significa o uso do seu conteúdo(naquele momento) dentro da expressão.
O uso de um conteúdo de variável em uma expressão não modifica o seu valor.
As variáveis de programação são fundamentais para o dia a dia do programador. Elas orientam o programa a executar operações. Uma variável em um programa é definida como
um valor fixo.
um local na memória para armazenar dados.
uma palavra-chave reservada.
um comando executável.
Considere o algoritmo a seguir:

Assinale a alternativa que corresponde à apresentação do problema.
Dados três valores numéricos distintos, colocá-los em ordem decrescente.
Dados três valores numéricos distintos, colocá-los em ordem crescente.
Dados três valores alfanuméricos distintos, colocá-los em ordem alfabética crescente.
Dados três valores numéricos distintos, colocá-los em ordem aleatória.
Dados três valores alfanuméricos distintos, colocá-los em ordem alfabética decrescente.