Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.112 questões
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?
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?
A técnica de memória virtual por paginação é organizada em blocos. Esses blocos podem ser alocados em páginas da memória física, mas eventualmente um bloco pode precisar ser substituído para liberar espaço. Assinale a opção que apresenta um algoritmo de substituição de páginas que utiliza um bit adicional, conhecido como bit de referência.
Segundo Farrer (1999), em relação às variáveis compostas, é correto afirmar que:
De acordo com Farrer (1999), um módulo é um grupo de . comandos que constitui um trecho de algoritmo, com uma função bem definida e o mais independente possível em relação ao resto do algoritmo. Assinale a opção que apresenta uma informação INCORRETA sobre os benefícios da divisão do algoritmo em módulos.
Suponha que o seguinte algoritmo seja executado:
Algoritmo
---declare D, K, NUMERO, SOMA numérico
---leia NUMERO
---SOMA ← NUMERO +1
---K ← QUOCIENTE (NUMERO, 2)
---D ← 2
---repita
----------se D> K
--------------então interrompa
----------fim se
----------se RESTO (NUMERO, D) = 0
--------------então SOMA ← SOMA + D
----------fim se
----------D ← D + 1
---fim repita
---escreva SOMA
fim algoritmo
Qual valor será escrito se for lido o valor 10?
Considere que em uma tabela de dispersão (ou tabela hash) de módulo 9, inicialmente vazia, que usa endereçamento aberto, técnica de tentativa linear para resolver colisões e função de dispersão h(k) = k mod m, onde k é a chave a ser inserida, foram inseridas as seguintes chaves: 3, 14, 15, 81, 65, 19, 35, 40 e 50 (nesta ordem). O número de colisões para a inserção desses dados é:
As Estruturas de Dados definem a forma como os dados serão armazenados na memória do computador. Duas das estruturas de dados mais utilizadas na computação são a Pilha e a Fila. Considere as afirmativas abaixo que comparam as estruturas de Pilha e Fila:
I - A estrutura chamada Pilha é descrita como uma estratégia LIFO - last in, first out (o último que entra é o primeiro que sai), isto é, os elementos da pilha só podem ser retirados na ordem inversa à ordem que foram introduzidos.
II - A estrutura chamada Fila é descrita como uma estratégia FIFO - first in, first out (o primeiro que entra é o primeiro que sai), isto é, os elementos da pilha só podem ser retirados na mesma ordem em que foram inseridos.
III - Uma estrutura que recebe dos dados 10, 20, 30, 40 e 50 nessa ordem e só permite a sua retirada na ordem 50, 40, 30, 20 e 10 é um exemplo de uma Pilha.
IV - Uma estrutura que recebe dos dados 10, 20, 30, 40 e 50 nessa ordem e só permite a sua retirada na ordem 50, 40, 30, 20 e 10 é um exemplo de uma Fila.
V - Um programa que usa apenas estruturas de Pilha recebe os dados 1, 2, 3, 4 e 5 nessa ordem e imprime os dados na ordem 1, 2, 3, 4 e 5 pode ter sido implementado com duas estruturas de Pilha consecutivas.
As afirmativas CORRETAS são:
Utilize a figura a seguir (Fig3), que representa uma sequência de comandos em SQL, para resolver as questões de número 54 e 55.
Fig3
create table cliente
{
seq VARCHAR2(6) not null,
nome VARCHAR2(50) not null,
cpf VARÇHAR2(11) not null,
data nasc date,
dependentes numeric(2),
estcivil VARCHAR2(1)
);
arter table cliente
ADD CONSTRAINT cliente pk PRIMARY KEY (cpf)
ADD CONSTRAINT seq un unique (seq) enable
ADD CONSTRAIKT est ck check (estcivil in ('C','S','D','V')) enable
ADD CONSTRAINT cpf ch check (REGEXP LIKE(cpf, '^[[digit: ]]{11}$')) enable;
Quando uma loja de e-commerce sugere um produto para o cliente com base em suas compras e/ou pesquisas recentes ou uma plataforma de streaming sugere um filme ou série com base no que o cliente comumente assiste, os algoritmos destes ambientes estão usando o conceito de aprendizado de máquina. Tipicamente, estes algoritmos são classificados como:
Sobre estrutura de dados, analise as afirmativas a seguir e marque a alternativa correta:
I-Tanto filas como pilhas são listas lineares.
II- Uma pilha possui regime de LIFO (last in first out) enquanto uma fila possui o regime FIFO (first in first out).
Em teoria dos grafos, um grafo conexo e acíclico é definido como:
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:
O algoritmo usa o recurso passagem de parâmetros, de M G para PX por valor, e de RESP para PW por referência.
algoritmo "AN_TI" var MG: inteiro RESP : caractere procedimento PRC(PX:inteiro;var PW:caractere) inicio PX <- 55 PW <- "BRASIL" fimprocedimento inicio MG <- 99 RESP <- "ARGENTINA" PRC (MG, RESP) escreval(RESP:-13,MG) fimalqoritmo |
Após a execução, os valores finais para as variáveis RESP e MG são, respectivamente:
Qual algoritmo divide a sequência original em pares de dados, agrupa estes pares na ordem desejada; depois agrupa as sequências de pares já ordenados, formando uma nova sequência ordenada de quatro elementos, e assim por diante, até tertoda a sequência ordenada?
Associe os algoritmos de substituição de páginas da memória com as suas respectivas descrições.
Algoritmo
1. NRU
2. LRU
3. Segunda Chance
4. Ótimo
5. FIFO
Descrição
( ) Página mais antigamente carregada na memória é descartada.
( ) Página no início da fila é a mais antiga e terá seu bit R inspecionado. Se ele for 0, ela é trocada. Se for 1, ela é colocada no final da fila.
( ) Parte do princípio que as páginas usadas com mais frequência nas últimas execuções provavelmente serão utilizadas novamente.
( ) Usa dois bits de status, o bit R (referenciado) e bit M (modificado).
( ) Retira da memória a página que tem menos chance de ser referenciada.
A sequência correta é
Nesse contexto, para criar esse modelo, João deverá aplicar a técnica de classificação binária:
Analise o algoritmo abaixo, que foi escrito no software VisuAlg 3.0:
algoritmo "cálculo_média"
var
qtd, cont, soma, media: inteiro
inicio
soma <- 0
leia(qtd)
para cont de 1 ate qtd faca
soma <- soma + cont
fimpara
media <- soma / cont
escreva(media)
fimalgoritmo