Escolar Documentos
Profissional Documentos
Cultura Documentos
1.
(IF-RS/2016 - Adaptada) Estrutura de dados é um conceito fundamental na ciência da computação e na programação. Ela se refere a
maneira como os dados Assão organizados
funções malloceearmazenados em um
free e o operador programa
sizeof, ou sistema,
são essenciais paraa fim de que dinâmica
a alocação possam ser
deacessados,
memória.
manipulados e utilizados de forma eficiente. Referente a alocação dinâmica de memória em C, é correto afirmar:
A função free é geralmente usada com o operador sizeof.
A função malloc usa o número de blocos de memória que serão alocados na memória.
Explicação:
A alocação dinâmica de memória em C é uma técnica importante que permite que o programador aloque
memória em tempo de execução. As funções malloc e free são usadas para alocar e liberar a memória,
respectivamente. Já o operador sizeof é usado para determinar o tamanho em bytes de um tipo de dado ou de
uma variável.
2.
(COSEAC/2009 - Adaptada) Uma escolha adequada de estrutura de dados pode proporcionar diversas vantagens, tais como a
otimização de processos de busca, inserção e remoção de dados, redução do consumo de recursos computacionais e aumento da
bidimensionais.
escalabilidade e desempenho de sistemas. Quando a Estrutura de dados é composta por variáveis do mesmo tipo primitivo, têm-se
por definição, estruturas compostas:
isonômicas.
homogêneas.
polivalentes.
heterogêneas.
Explicação:
Estruturas de dados compostas homogêneas são aquelas em que as variáveis que as compõem têm o mesmo
tipo primitivo, ou seja, são do mesmo tipo de dado. Por exemplo, um vetor de inteiros ou uma matriz de ponto
flutuante. Essas estruturas de dados são importantes para armazenar e manipular grandes quantidades de
informações em uma forma estruturada e organizada, facilitando o acesso e a manipulação dos dados.
MODULARIZAÇÃO
3.
Há duas maneiras de se passar argumentos ou parâmetros para funções: por valor e por referência. Sobre passagem de parâmetros,
analise as seguintes afirmativas:
II e IV, apenas
I. Na passagem
I, por
III ereferência,
V, apenas o que é passado como argumento no parâmetro formal é o endereço da variável.
II. Na passagem por valor, o valor é copiado do argumento para o parâmetro formal da função.
V, apenas
III. Por exemplo, quando duas variáveis inteiras i1 e i2 são passadas por valor à função troca() chamada pelo programa
I e III
principal, elas também são alteradas no programa principal.
I, II, IV e V, apenas
IV. Na passagem por referência, dentro da função, o argumento real utilizado na chamada é acessado através do seu
endereço, sendo assim alterado. Data Resp.: 29/06/2023 19:00:53
V. Na passagem por valor, quaisquer alterações feitas nestes parâmetros dentro da função não irão afetar as variáveis usadas
Explicação:
como argumentos para chamá-la.
4.
A modularização de algoritmos é importante para organizar melhor o código, facilitar a manutenção, entre outras coisas. Sobre
funções e procedimentos, assinale a alternativa
O procedimento CORRETA
sempre retorna sobreaoa programa.
um valor modularização:
Explicação:
5.
Explicação:
6.
Sobre listas duplamente encadeadas, afirma-se:
III.
I) Cada nó usa o dobro do número de campos ponteiro de uma lista simplesmente encadeada.
I e III.
II) A complexidade de remoção é metade da complexidade de remoção em lista simplesmente encadeada.
I.
III) Não permitem a inserção de nó no meio da lista.
II.
É correto apenas:
II e III.
Explicação:
A resposta correta é: I.
ORDENAÇÃO
7.
Todos os algoritmos de ordenação interna devem ter complexidade de espaço de:
O(n2)
O(n3)
O(1)
O(n)
Explicação:
8.
Ambos têm complexidade comparável, assim, existem não é possível afirmar qual irá
executar em melhor tempo.
O merge sort sempre executará mais rápido que o buble sort uma vez que sua complexidade
é O(n log n) e a do buble sort O(n2).
Data Resp.: 29/06/2023 19:28:22
Explicação:
9.
Ano: 2015 Banca: MP-RS Órgão: MP-RS Prova: Técnico em informática - Sistemas
40 - 15 - 45 - 30 - 50.
Imagine que temos números de 1 a 100 em uma árvore de pesquisa binária (ABP). Agora queremos procurar o número 50. Assinale a
alternativa que apresenta
40 -a 60
possível
- 45 - sequência
48 - 50. de elementos da árvore consultada.
42 - 60 - 20 - 30 - 50.
Explicação:
10.
Seja o seguinte código em Python cujo principal objetivo é implementar uma árvore binária. Marque a alternativa correta quanto a
execução do código: A árvore criada no código acima é uma árvore binária de busca com todas as folhas no último nível.
A árvore criada no código é binária de busca com altura 6, isto é, com 6 níveis distintos.
A classe NotArvore implementa regras que garantem que os nós inseridos respeitam a ordem de inserção dos
nós (maiores a direita e menores a esquerda).
Explicação:
Apesar de que a função NoArvore não tem regras quanto à inserção dos nós, a forma (e a ordem) de como os
nós foram inseridos (55-35-75-65-85-25-45) formam uma árvore binária de busca.
Resultado: