No student devices needed. Know more
20 questions
Pilha é uma estrutura de dados
Que pode ser implementada somente por meio de vetores.
Cujo acesso aos seus elementos ocorre de forma aleatória.
Cujo acesso aos seus elementos segue a lógica LIFO.
Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.
Que pode ser implementada somente por meio de listas.
Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que especifica o tipo de lista e o tipo de alocação de memória mais adequados para este problema.
fila encadeada e alocação dinâmica de memória
pilha dinâmica e alocação dinâmica de memória
fila dinâmica e alocação dinâmica de memória
lista sequencial e alocação dinâmica de memória
lista encadeada e alocação dinâmica de memória
Uma lista linear implementada através de encadeamento deve apresentar obrigatoriamente:
i) um ponteiro para o primeiro nó da lista;
ii) encadeamento entre os nós, através de algum campo de ligação;
iii) não deve haver uma indicação de final da lista;
iv) um ponteiro para o final da lista.
Levando em consideração as afirmações apresentadas, qual das alternativas é a correta?
as afirmações i, ii e iii estão corretas.
somente a afirmação iv esta
as afirmações i e ii estão correta
as afirmações ii e iv estão corretas.
somente a afirmação i esta correta.
Qual o valor de x no final do programa?
3
-4
Nenhuma das anteriores. O programa possui um erro de sintaxe.
11
7
Considere o algoritmo de busca:
Testar o elemento a m (a índice m) sorteado aleatoriamente e compará-lo ao argumento de busca x. Se o elemento for igual a x, a busca termina. Se menor que x todos os elementos com índices menores ou iguais a m podem ser descartados dos próximos testes e se for maior que x todos aqueles que possuem índices maiores ou iguais a m também podem ser descartados.
Tal algoritmo é denominado busca ...
Knuth-Morris-Pratt.
Boyer-Moore.
binária.
em tabelas.
linear.
As variáveis são na verdade trecho de memórias que armazenam dados de diversas naturezas, portanto sempre que declara-se uma variável, na linguagem C++, é necessário informar o tipo de dado que esta irá armazenar. Um tipo especial de variáveis são os ponteiros, isto é, variáveis que armazenam apenas os endereços de outras variáveis. Assim os ponteiros são usados para que se possa acessar de forma indireta uma outra variável. Sabendo-se disto e supondo que o endereço na memória da variável "a" é 100 e o endereço da memória da variável ponteiro é 200, analise o trecho de código abaixo e marque a alternativa que representa a saída do programa:
100 9 200
9 100 200
100 100 200
200 9 100
9 9 200
Verifique as afirmativas e marque a opção correta.
I- Na alocação estática de memória a quantidade de memória alocada é feita em tempo de compilação.
II- Na alocação dinâmica de memória a quantidade de memória alocada é feita em tempo de execução.
III- Na alocação estática de memória a quantidade de memória alocada é fixa durante a execução do programa. IV- Na alocação dinâmica de memória a quantidade de memória alocada é fixa durante a execução do programa.
Apenas a opção I está errada
Apenas a II está correta
Apenas as opções I e II são corretas
Apenas a I está correta
Apenas a IV está errada
Em C++, quando um ponteiro é declarado para uma struct, o acesso aos campos deste registro (struct) se dá pelo operador:
* (asterisco).
∙ (ponto).
& (e comercial ou eitza).
-> (seta).
, (vírgula).
Diga, para o programa abaixo, qual a opção que melhor representa a saída em tela. (Considere que o programa será compilado sem erros, e irá executar também sem problemas).
Valores: 13, 10
Valores: 13, 20
Valores: 10, 10
Valores: 20, 10
Valores: 10, 20
O conceito de ponteiros foi estudado em uma de nossas aulas. Sendo assim, leia atentamente as afirmativas
abaixo e assinale a opção correta.
I A variável ponteiro não precisa ser declarada.
II A variável ponteiro armazena endereço.
III Quanto se usa &nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável apontada
pela variável ponteiro.
IV Quando se usa nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável ponteiro.
V Quando se usa *nomeDaVariávelPonteiro com o comando cout, é exibido o conteúdo da variável apontada
pela variável ponteiro.
Somente a II está correta
I IV e V estão corretas
II e V estão corretas
IV e V estão corretas
I, II e IV estão corretas
Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga".
Inserção
Seleção
MergeSort
QuickSort
Bolha
Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos elementos armazenados aleatoriamente em uma lista do tipo LIFO?
Posições aleatórias
Primeiro que entra é o primeiro a sair
Ordem crescente
Ordem decrescente
Ordem de entrada
Considerando que a lista a seguir, encontra-se criada na memória, o que será exibido pelo trecho de programa a seguir:
F
H K M
NULL
H
H K M F
Qual o valor de x no final do programa?
5
8
2
Nenhuma das anteriores. O programa possui um erro de sintaxe.
-2
Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:
Por teste e por reforço.
Por inferência e por valor.
Por valor e por referência
Por reforço e por referência.
Por memória e por disco.
Em uma aplicação que usa apenas o processo de alocação estática de memória é correto afirmar que:
Toda a memória utilizada pela aplicação não muda durante toda a sua execução
Todas as afirmações acima são incorretas
A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução
Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da aplicação
A memória utilizada pela aplicação é inicialmente estática, mas pode mudar
Seja a seguinte seqüência de instruções em um programa C++: int *pti; int i = 10; pti = &i; Qual afirmativa é falsa?
ao se executar *pti = 20; i passará a ter o valor 20
pti armazena o endereço de i
pti é igual a 10
ao se alterar o valor de i, *pti será modificado
*pti é igual a 10
Em uma aplicação que usa processos de alocação estática e dinâmica de memória é correto afirmar que
A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução
Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da aplicação
A memória utilizada pela aplicação é inicialmente estática, mas pode mudar
Toda a memória utilizada pela aplicação não muda durante toda a sua execução
Todas as afirmações acima são incorretas
Uma estrutura de dados pode ser Estática ou Dinâmica. No primeiro caso os limites são:
Determinados pelo usuário
Determinados pelo problema em que serão utilizados
Indeterminados
Determinados pelos ponteiros
Determinados pela memória
Para simular uma lista encadeada simplesmente pode se utilizar as estruturas de ponteiros. Como pode ser definida uma estrutura do tipo ponteiro?
Uma estrutura que aponta para um objeto de arquivo.
Um objeto que armazena dado diretamente na memória.
Um objeto que contém um endereço de memória.
Um objeto que não contém endereço de memória.
Uma estrutura utilizada apontar erros de operações.
Explore all questions with a free account