Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.164 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.
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?
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:
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 é
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
Coluna 1
1. Executar (F9).
2. Intervalo do timer.
3. Gerar valores aleatórios.
Coluna 2
( ) Inicia (ou continua) a execução automática do pseudocódigo.
( ) Atraso em cada linha, para quando se deseja executar o pseudocódigo mais lentamente.
( ) Ativa a geração de valores arbitrários que substituem a digitação de dados.
( ) Pode efetuar a geração de dados do tipo caractere sem faixa pré-estabelecida, gerando strings de 5 letras maiúsculas.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
I. É correto afirmar que algoritmo é todo conjunto de regras e conceitos necessários para criar códigos que serão interpretados e executados por um computador.
II. É correto afirmar que lógica de programação é uma sequência lógica de ações cujo objetivo é resolver um problema.
Marque a alternativa CORRETA:
( ) Os algoritmos de agrupamento hierárquicos são divididos em dois grupos principais: aglomerativos e divisíveis.
( ) O algoritmo de agrupamento aglomerativo é uma abordagem bottom-up que começa com todos os dados em um único cluster; os clusters são divididos progressivamente até que cada dado esteja em seu próprio cluster individual.
( ) Os algoritmos de agrupamento divisíveis são uma abordagem top-down, na qual um único cluster é dividido em vários clusters à medida que avançamos na hierarquia.
As afirmativas são, respectivamente,
( ) Em linguagens de programação, não é possível aninhar estruturas de repetição, ou seja, ter uma dentro da outra.
( ) A estrutura de repetição foreach é utilizada somente para iterações em que a ordem dos elementos não é importante.
( ) A utilização excessiva de instruções break e continue em estruturas de repetição é geralmente considerada uma boa prática de programação.
Assinale a alternativa que apresenta a sequência correta de cima para baixo.
Julgue o item a seguir.
Os fluxogramas são ferramentas gráficas utilizadas no
desenvolvimento de algoritmos para representar
visualmente o processo de execução de um código. Eles
são amplamente adotados devido à sua capacidade de
oferecer uma visualização clara dos passos de um
processo, sendo assim mais facilmente compreendidos
por diferentes profissionais, inclusive aqueles fora da área
de programação.
Julgue o item a seguir.
Um pseudocódigo é uma representação textual de um
algoritmo, utilizada para planejar e estruturar soluções
algorítmicas antes de sua implementação em uma
linguagem de programação específica. Sua elaboração
inclui a compreensão do problema, divisão em etapas,
identificação de variáveis, definição da lógica usando
estruturas de controle, e adição de comentários
explicativos para melhor clareza.
Julgue o item a seguir.
Fluxogramas são ferramentas obsoletas no processo de
desenvolvimento de algoritmos, sendo raramente usados
na prática atual de programação. Eles são considerados
ineficazes para representar algoritmos complexos e não
são adotados por profissionais da área de tecnologia da
informação, como analistas de sistemas e cientistas da
computação.