A recursividade na construção de algoritmos envolve a definição de uma função que pode invocar a si própria. Nesse sentido, considere o algoritmo apresentado a seguir.
função resultado(n)
}
se (n <= 1)
retorne 1;
senão
retorne n * resultado(n-1);
fim se;
{
No que se refere à recursividade e ao algoritmo apresentado, julgue os itens abaixo como
Verdadeiros (V) ou Falsos (F) e, em seguida, assinale a opção correta.
I. Se a chamada resultado(6) for executada, o retorno será 720.
II. Se o algoritmo fosse modificado para não utilizar a recursividade, bastaria adicionar mais uma cláusula de condição para que a função não tivesse seu resultado alterado.
III. A utilização de funções recursivas torna o código mais conciso. Além disso, simplifica a solução de alguns problemas.
IV. A recursividade, usada incorretamente, poderá acarretar estouro da pilha durante a execução da função.
A seqüência correta é:
a) V, V, F, V.
b) V, F, V, V.
c) F, F, V, F.
d) F, V, F, F.
e) NDA
Fonte:
Tirada e adaptada do concurso público de 2009 para assistente de informática do estado do Pára prova segue em anexo (Questão 24).
Slideshow
Mostrando postagens com marcador filipe. Mostrar todas as postagens
Mostrando postagens com marcador filipe. Mostrar todas as postagens
Questão EPO - Bubble sort
Sobre o bubble sort é correto afirmar que:
I. Algoritmo de ordenação unidirecional(esquerda pra direita ou direita para esquerda);
II. Percorra o vetor inteiro comparando elementos adjacentes (dois a dois);
III. Melhor caso do bubble sort é quando o vetor de entrada se encontra na ordem descrescente;
IV. Cada passo aproveita muito pouco do que foi “conquistado”
(método muito reduntante)
a) I,II e III
b) I e IV
c) I,II e IV
d) I e II
e) NDA
Fonte:
Usado como base a apresentação do grupo e o site http://pt.wikipedia.org/wiki/Bubble_sort
I. Algoritmo de ordenação unidirecional(esquerda pra direita ou direita para esquerda);
II. Percorra o vetor inteiro comparando elementos adjacentes (dois a dois);
III. Melhor caso do bubble sort é quando o vetor de entrada se encontra na ordem descrescente;
IV. Cada passo aproveita muito pouco do que foi “conquistado”
(método muito reduntante)
a) I,II e III
b) I e IV
c) I,II e IV
d) I e II
e) NDA
Fonte:
Usado como base a apresentação do grupo e o site http://pt.wikipedia.org/wiki/Bubble_sort
Marcadores:
bubble sort,
epo,
filipe
Questão EPO - Heap sort
Sobre o heapsort é correto afirmar que:
I. A estrutura de dados Heap é um vetor que pode ser visto como uma árvore binária;
II. Cada nó da árvore corresponde a um elemento do vetor;
III. Todo caminhamento em profundidade na árvore gera uma sequência ordenada de elementos;
IV. a cada iteração seleciona-se o maior elemento(na raiz do heap) e o adiciona no início de um segmento ordenado;
a) I, II e III
b) I,III e IV
c) I e IV
d) Todas corretas
e) NDA
Usado como base os dois sites abaixo.
http://www.lcad.icmc.usp.br/~nonato/ED/Ordenacao/node49.htm
http://www.inf.ufsc.br/~ronaldo/ine5384/17-OrdenacaoDados3.pdf
I. A estrutura de dados Heap é um vetor que pode ser visto como uma árvore binária;
II. Cada nó da árvore corresponde a um elemento do vetor;
III. Todo caminhamento em profundidade na árvore gera uma sequência ordenada de elementos;
IV. a cada iteração seleciona-se o maior elemento(na raiz do heap) e o adiciona no início de um segmento ordenado;
a) I, II e III
b) I,III e IV
c) I e IV
d) Todas corretas
e) NDA
Usado como base os dois sites abaixo.
http://www.lcad.icmc.usp.br/~nonato/ED/Ordenacao/node49.htm
http://www.inf.ufsc.br/~ronaldo/ine5384/17-OrdenacaoDados3.pdf
Questão EPO - Merge sort
Sobre o Merge sort é correto afirmar que:
I. Usa como abordagem o “Dividir e consquistar”;
II. Divide o vetor em 2(sub-vetores), somente uma vez;
III. Eficiente tanto em vetores grandes quanto em pequenos;
IV. Faz uso de um array auxiliar, gerando um gasto extra de memória;
V. Caso o vetor tenha tamanho ímpar, um elemento será dispensado;
a) I,II e IV
b) I e IV
c) I,IV e V
d) I, III e IV
e) NDA
Fonte:
Usado como base o que foi estudado para se fazer o trabalho.
I. Usa como abordagem o “Dividir e consquistar”;
II. Divide o vetor em 2(sub-vetores), somente uma vez;
III. Eficiente tanto em vetores grandes quanto em pequenos;
IV. Faz uso de um array auxiliar, gerando um gasto extra de memória;
V. Caso o vetor tenha tamanho ímpar, um elemento será dispensado;
a) I,II e IV
b) I e IV
c) I,IV e V
d) I, III e IV
e) NDA
Fonte:
Usado como base o que foi estudado para se fazer o trabalho.
Marcadores:
epo,
filipe,
merge sort
Questão EPO - Hash Table
Sobre o hash table é correto afirmar que:
I. pesquisa baseada na geração de um inteiro a partir da chave;
II. tempo médio constante para inserção, remoção e pesquisa;
III. não requer gestão de memória especial nem comparação de elementos;
IV. ocorrência do pior caso tem probabilidade muito baixa.
a) I,II e III
b) I,II e IV
c) I,III e IV
d) Todas
e) NDA
Retirado do material
http://paginas.fe.up.pt/~rcamacho/cadeiras/bioinformatica/docs/dispersao.pdf
I. pesquisa baseada na geração de um inteiro a partir da chave;
II. tempo médio constante para inserção, remoção e pesquisa;
III. não requer gestão de memória especial nem comparação de elementos;
IV. ocorrência do pior caso tem probabilidade muito baixa.
a) I,II e III
b) I,II e IV
c) I,III e IV
d) Todas
e) NDA
Retirado do material
http://paginas.fe.up.pt/~rcamacho/cadeiras/bioinformatica/docs/dispersao.pdf
Marcadores:
epo,
filipe,
hash table
Questão EPO - Linked List
Sobre o Linked list é correto afirmar que:
I. Sequência de células onde cada célula contém um objeto de algum tipo e o endereço da célula seguinte;
II. Quando o Ponteiro aponta para um endereço Nulo quer dizer que a lista encadeada chegou ao fim;
III. Ao fazer uma remoção na lista não é necesário mudar o ponteiro do elemento anterior ao retirado;
IV. Utiliza o espaço necessário diferentemente do vetor que pode utilizar mais espaço do que o necessário.
a) Todas
b) I, II e IV
c) I, II e III
d) I,III e IV
e) NDA
Tirado do material:
http://dsc.ufcg.edu.br/~adalberto/disciplinas/aulas/Lista%20Encadeada.pdf
http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html
I. Sequência de células onde cada célula contém um objeto de algum tipo e o endereço da célula seguinte;
II. Quando o Ponteiro aponta para um endereço Nulo quer dizer que a lista encadeada chegou ao fim;
III. Ao fazer uma remoção na lista não é necesário mudar o ponteiro do elemento anterior ao retirado;
IV. Utiliza o espaço necessário diferentemente do vetor que pode utilizar mais espaço do que o necessário.
a) Todas
b) I, II e IV
c) I, II e III
d) I,III e IV
e) NDA
Tirado do material:
http://dsc.ufcg.edu.br/~adalberto/disciplinas/aulas/Lista%20Encadeada.pdf
http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html
Marcadores:
epo,
filipe,
linked list
Questão EPO - Quicksort
Sobre o Quick Sort é correto afirmar que:
I. Usa do mesmo método do Merge sort “Dividir e conquistar”, o que o difere que usa um elemento da lista que é denomidado Pivô;
II. Os elementos menores do que o Pivô vão para a direita do mesmo e o maiores a esquerda;
III. Como o Merge sort o Quick Sort é muito mais eficiente em vetores de tamanhos pequenos;
IV. A cada iteração, localiza a posição final de um elemento aleatório (pivô) e subdivide o vetor em duas partes para prosseguir a ordenação.
a) I,II e IV
b) I,III e IV
c) II e IV
d) I e IV
e) NDA
Retirado do material:
http://www.deinf.ufma.br/~csalles/ed2/aula06_07.pdf
http://pt.wikipedia.org/wiki/Quicksort
I. Usa do mesmo método do Merge sort “Dividir e conquistar”, o que o difere que usa um elemento da lista que é denomidado Pivô;
II. Os elementos menores do que o Pivô vão para a direita do mesmo e o maiores a esquerda;
III. Como o Merge sort o Quick Sort é muito mais eficiente em vetores de tamanhos pequenos;
IV. A cada iteração, localiza a posição final de um elemento aleatório (pivô) e subdivide o vetor em duas partes para prosseguir a ordenação.
a) I,II e IV
b) I,III e IV
c) II e IV
d) I e IV
e) NDA
Retirado do material:
http://www.deinf.ufma.br/~csalles/ed2/aula06_07.pdf
http://pt.wikipedia.org/wiki/Quicksort
Questão EPO - Árvore Binária
Sobre pesquisa em árvore binária é correto afirmar que:
a) Pré-Ordem: direita -> Nó-> esquedar.
b) Simétrica: nó -> esquedar-> direita.
c) Pós-Ordem: esquerda-> direita -> Nó.
d) Pré-Ordem: Nó-> direita-> Esquerda.
e) N.D.A
Tirado dos slides dados em aula.
a) Pré-Ordem: direita -> Nó-> esquedar.
b) Simétrica: nó -> esquedar-> direita.
c) Pós-Ordem: esquerda-> direita -> Nó.
d) Pré-Ordem: Nó-> direita-> Esquerda.
e) N.D.A
Tirado dos slides dados em aula.
Marcadores:
árvore binária,
epo,
filipe
Questão EPO - Árvore Binária
Dada a árvore abaixo. Qual é a expressão aritmética que representa essa árvore?
a) (4 * 7) + ((a / 2) – 3)
b) (4 * 7) + ((a - 2) / 3)
c) (4 * 7) + ((3 / 2) – a)
d) (4 + 7) * ((a / 2) – 3)
e) N.D.A
Tirado e adaptado do arquivo Ch5-Arvores.pdf (Página 16) que segue juntamente com esse exercício.
a) (4 * 7) + ((a / 2) – 3)
b) (4 * 7) + ((a - 2) / 3)
c) (4 * 7) + ((3 / 2) – a)
d) (4 + 7) * ((a / 2) – 3)
e) N.D.A
Tirado e adaptado do arquivo Ch5-Arvores.pdf (Página 16) que segue juntamente com esse exercício.
Marcadores:
árvore binária,
epo,
filipe
Questão EPO - Pilha
Uma pilha e um conjunto ordenado de itens na qual todas as inserções e retiradas são feitas em uma das extremidades denominada Topo. Pilhas mantém a ordem (Last Input First Output). As operações sobre pilhas incluem exceto:
a) Push(x,s): insere o item x no topo da pilha s.
b) Pop(x,s): remove o item do topo da pilha s.
c) Inicialize(s): cria uma pilha s vazia.
d) Full(s), Empty(s): testa a pilha para saber se ela esta cheia ou vazia.
e) N.D.A
Tirado e adaptado da Apostila ED2 página 36 que segue juntamente com esse arquivo
a) Push(x,s): insere o item x no topo da pilha s.
b) Pop(x,s): remove o item do topo da pilha s.
c) Inicialize(s): cria uma pilha s vazia.
d) Full(s), Empty(s): testa a pilha para saber se ela esta cheia ou vazia.
e) N.D.A
Tirado e adaptado da Apostila ED2 página 36 que segue juntamente com esse arquivo
Questão EPO - Fila
Descreva a saída da seguinte sequência de operações sobre uma fila de inteiros:
enqueue(5), enqueue(3), dequeue(), enqueue(2), enqueue(8), dequeue(), dequeue(), enqueue(9), enqueue(1), dequeue(), enqueue(7), enqueue(6), dequeue(), dequeue(), enqueue(4), dequeue(), dequeue()
a) 5
b) 4
c) 6
d) 3
e) N.D.A
Tirado e adaptado do arquivo abaixo exercício numero 2 , arquivo segue na pasta juntamente com o exercício.
enqueue(5), enqueue(3), dequeue(), enqueue(2), enqueue(8), dequeue(), dequeue(), enqueue(9), enqueue(1), dequeue(), enqueue(7), enqueue(6), dequeue(), dequeue(), enqueue(4), dequeue(), dequeue()
a) 5
b) 4
c) 6
d) 3
e) N.D.A
Tirado e adaptado do arquivo abaixo exercício numero 2 , arquivo segue na pasta juntamente com o exercício.
Questão EPO - Estrutura de Dados
O estudo das estruturas de dados envolve objetivos. Quais são eles?
a) Facilitar a programação em diferentes linguagens.
b) criar representações concretas de objetos e desenvolver rotinas capazes de atuar sobre estas representações, de acordo com o modelo considerado.
c) identificar e desenvolver modelos matemáticos, determinando que classes de problemas podem ser resolvidos com o uso deles.
d) A e C estão corretas.
e) N.D.A
Tirado e adaptado do arquivo powerpoint Página 5 que segue juntamente com o exercício
Aula 1 - ED_Introducao.ppt
a) Facilitar a programação em diferentes linguagens.
b) criar representações concretas de objetos e desenvolver rotinas capazes de atuar sobre estas representações, de acordo com o modelo considerado.
c) identificar e desenvolver modelos matemáticos, determinando que classes de problemas podem ser resolvidos com o uso deles.
d) A e C estão corretas.
e) N.D.A
Tirado e adaptado do arquivo powerpoint Página 5 que segue juntamente com o exercício
Aula 1 - ED_Introducao.ppt
Marcadores:
epo,
estrutura de dados,
filipe
Questão EPO - Alocação Dinâmica
Quando devemos utilizar a alocação dinâmica?
a) Quando conhecemos o espaço de memória necessário para armazenar algum ou alguns valores.
b) Deve ser utilizada quando não se sabe quanto espaço de memória será necessário pra o armazenamento de algum ou alguns valores.
c) Ela é utilizada para que um programa utilize mais memória pra sua execução, melhorando assim seu desempenho.
d) Só é utilizada quando há muita memória.
e) N.D.A
Retirado do site: http://www3.di.ufpb.br/liliane/aulas/alocacao.html
a) Quando conhecemos o espaço de memória necessário para armazenar algum ou alguns valores.
b) Deve ser utilizada quando não se sabe quanto espaço de memória será necessário pra o armazenamento de algum ou alguns valores.
c) Ela é utilizada para que um programa utilize mais memória pra sua execução, melhorando assim seu desempenho.
d) Só é utilizada quando há muita memória.
e) N.D.A
Retirado do site: http://www3.di.ufpb.br/liliane/aulas/alocacao.html
Marcadores:
alocação dinâmica,
epo,
filipe
Questão EPO - Struct
Complete adequadamente o programa baixo:
struct data {
int dia;
int mes;
int ano;
};
int main (void){
data hoje;
hoje.dia = 23;
hoje.mes = 9;
hoje.ano = 2008;
cout <<"Hoje e "<<(dia) <<"/"<<(mês) <<"/"<<(ano) <<endl;
system ("pause");
return EXIT_SUCCESS;
}
a) dia(hoje.&dia); mês(hoje.&mes); ano(hoje.&ano)
b) dia(hoje.*dia); mês(hoje.*mes); ano(hoje.*ano)
c) dia(data.dia); mês(data.mes); ano(data.ano)
d) dia(hoje.dia); mês(hoje.mes); ano(hoje.ano)
e) N.D.A
Tirado e adaptado do site http://www.tiexpert.net/programacao/c/struct.php
struct data {
int dia;
int mes;
int ano;
};
int main (void){
data hoje;
hoje.dia = 23;
hoje.mes = 9;
hoje.ano = 2008;
cout <<"Hoje e "<<(dia) <<"/"<<(mês) <<"/"<<(ano) <<endl;
system ("pause");
return EXIT_SUCCESS;
}
a) dia(hoje.&dia); mês(hoje.&mes); ano(hoje.&ano)
b) dia(hoje.*dia); mês(hoje.*mes); ano(hoje.*ano)
c) dia(data.dia); mês(data.mes); ano(data.ano)
d) dia(hoje.dia); mês(hoje.mes); ano(hoje.ano)
e) N.D.A
Tirado e adaptado do site http://www.tiexpert.net/programacao/c/struct.php
Questão EPO - Ponteiro
Dado o abaixo, completar as Tabelas 1 e 2:
Tabela 1
Tabela 2
a) Tabela 2 - 4;5;1007;1053;5;4
b) Tabela 1 - 4;5;1000;1007;1030;1079
c) Tabela 2- 4;5;1000;1053;1079;5;4
d) Tabela 1- 4;5;1000;1007;1079;1007
e) N.D.A
Adaptado do exercício da UNESP
main() {
int i, j, *p_1, *p_2, **p_p_1, **p_p_2;
i = 4;
j = 5;
p_1 = &i;
p_2 = &j;
p_p_1 = &p_2;
p_p_2 = &p_1;
}
Tabela 1
Nome Variável | i | j | p_1 | p_2 | p_p_1 | p_p_2 |
Conteúdo | 4 | 5 | ||||
Endereço | 1000 | 1007 | 1030 | 1053 | 1071 | 1079 |
Tabela 2
Expressão | i | *p_2 | &i | &p_2 | *p_p_2 | j | *p_1 |
Resultado |
a) Tabela 2 - 4;5;1007;1053;5;4
b) Tabela 1 - 4;5;1000;1007;1030;1079
c) Tabela 2- 4;5;1000;1053;1079;5;4
d) Tabela 1- 4;5;1000;1007;1079;1007
e) N.D.A
Adaptado do exercício da UNESP
Assinar:
Postagens (Atom)
