Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.899 questões
Os exemplos de pseudocódigo a seguir resolvem Xn para X en inteiros maiores que 0:
ALGORITMO EXEMPLO 1
VAR A, N, X, CONT: INTEIRO
INÍCIO
LEIA (X, N)
CONT ← 1
A ← 1
ENQUANTO (CONT <=N) FAÇA
A ← A * X
CONT ← CONT + 1
FIM_ENQUANTO
IMPRIMA(A)
FIM
ALGORITMO EXEMPLO 2
VAR A, N, X, CONT: INTEIRO
INÍCIO
LEIA (X, N)
A ←1
PARA CONT ← 1 ATÉ N PASSO 1
A ← A * X
FIM_PARA
IMPRIMA(A)
FIM
Sobre os exemplos apresentados, é correto afirmar que:
Algoritmo "Fatorial";
variável:
RESULTADO,VAR1,VAR2: inteiro;
inicio
Escreva("Digite um numero");
Leia(VAR1);
RESULTADO ← 1;
Para VAR2 de 1 ate VAR1 faca
RESULTADO ← RESULTADO + VAR2;
Fimpara;
Escreva (“O fatorial de “, VAR1, “ e: “, RESULTADO);
fim.
O objetivo desse algoritmo é calcular o fatorial de um número informado pelo usuário. Embora o algoritmo esteja bem formatado (seguindo as regras de codificação), existe um erro lógico que impede o algoritmo de apresentar o resultado correto, que é:
1. for ( int i=0; i < n; i ++) {
2. for (int j=1; j < (n-i) ; j ++) {
3. if (intArray[ j-1] > intArray[ j ] ) {
4. temp = intArray[ j-1] ;
5. intArray[ j-1] = intArray[ j ] ;
6. intArray[ j ] = temp ;
7. }
8. }
9. }
Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:
• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]
Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
Nesse contexto, considere a execução das instruções a seguir
push(pY, pop(pX));
push(pZ, pop(pX));
push(pY, pop(pX));
push(pZ, pop(pX));
push(pX, pop(pY));
push(pZ, pop(pY));
push(pZ, pop(pX));
Após a execução das instruções acima, quais os somatórios dos elementos em cada uma das pilhas pX e pZ, respectivamente?
I - Nas árvores B todas as folhas sempre estarão no mesmo nível.
II - Nas listas duplamente encadeadas, todos os nós apontam para os nós sucessores e antecessores.
III - Nas árvores binárias cada nó pode ter no máximo duas subárvores.
I. Uma organização de arquivo hash (também chamada de acesso direto) fornece um acesso muito rápido aos registros, quando a condição de pesquisa é de igualdade em um único campo; neste caso, o campo é chamado campo de hash. A ideia do hashing é forncecer uma função h, chamada função hash, que, aplicada ao valor do campo hash de um registro, gere o endereço do bloco do disco no qual o registro será armazenado.
II. Em uma organização de arquivo heap, os registros são armazenados fisicamente em ordem sequencial a partir dos valores de um de seus campos, chamado campo de classificação. Na organização de arquivo heap, a inclusão e a exclusão de registros são operações dispendiosas porque os registros deverão permanecer ordenados fisicamente.
III. Em uma organização de arquivo sequencial, os registros estão posicionados no arquivo segundo a ordem pela qual foram incluídos, de forma que os novos registros são acrescentados ao final do arquivo ou onde haja espaço disponível. Na organização sequencial, para ler todos os registros pela ordem dos valores de algum campo, é preciso criar uma cópia do arquivo e ordená-la através de técnicas especiais de classificação externa.
IV. As operações em arquivos são geralmente divididas em operações de recuperação e operações de atualização. As operações de recuperação não alteram nenhum valor no arquivo, apenas localizam certos registros, de forma que seus valores de campo possam ser examinados e processados. As operações de atualização mudam o arquivo por meio da inclusão ou da exclusão de registros ou pela modificação de valores dos campos.
Assinale a alternativa CORRETA.

Caso um contador, previamente inicializado com o valor zero, seja inserido no início do comando de repetição externo, qual será o seu valor imediatamente após o encerramento desse comando de repetição?
Cada uma das listas originais possui ponteiros para o primeiro e para o último elementos. Qual é a complexidade do algoritmo mais eficiente que esse programador pode produzir?
Então, o método apropriado para calcular G(z) é
Os atendentes podem cadastrar, atualizar e excluir pedidos. Todos os pedidos são cadastrados com o status “aberto”. O status de um pedido é único e corresponde à situação em que ele se encontra a cada momento. Após ter suas informações completamente fornecidas, um pedido é passado para o departamento de ativação, que muda seu status para “ativando” e muda, posteriormente, para “atendido” quando o atendimento se encerra. Uma vez que um pedido não está mais em aberto, ele não pode ser modificado para atender a solicitações externas. Sobre um mesmo pedido, considere as seguintes proposições e seu significado pretendido:
P: o pedido está em aberto.
Q: o pedido está ativando.
R: o pedido está atendido.
M: o pedido pode ser modificado.
Para os requisitos descritos, vale a seguinte fórmula da lógica proposicional:
Com base nessas propriedades, qual estrutura de dados está sendo representada na figura acima?
Assumindo que a altura de uma folha é zero, qual será a altura resultante dessa árvore?
Uma estrutura de dados do tipo ________ é uma coleção de objetos que são inseridos e retirados de acordo com o princípio de que o ________ que entra é o ________ que sai; enquanto a estrutura de dados do tipo ________ é uma coleção de objetos que são inseridos e removidos de acordo com o princípio de que o ________ que entra é o ________ que sai.