Buscar

Atividade Avaliativa Especial - Prova 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1/4
CENTRO UNIVERSITÁRIO DA GRANDE DOURADOS
Curso: Engenharia de Software
Semestre: 3º 
Disciplina: Estruturas de Dados I
ATIVIDADE AVALIATIVA ESPECIAL (AAE) 1 - referente às aulas 1 a 4
Professor: Marcos Alves Mariano
Observação:
Cada Atividade respondida de forma correta terá até 1 ponto por anotação correta
1º) Analise o programa abaixo, verifique se está correto ou incorreto. Caso esteja incorreto, aponte o
erro.
main ( )
{
int x, *p;
x = 10;
p = x; faltou operador “&”.
cout<<*p;
}
2º) Qual a principal vantagem oferecida pela alocação dinâmica de memória em relação a alocação
estática?
Resp.: A principal vantagem oferecida pela alocação dinâmica de memória em relação a alocação
estática é de permitir a criação de ponteiros, a alocação de espaço de memória e a atribuição de um
endereço de memória de uma vez só, pois o espaço de memória é definido enquanto o programa está
em execução, poupando memória. 
- Tamanho variável;
- Tempo de execução;e
- alocados em memória de forma dinâmica.
Já na alocação estática o espaço de memória, que as variáveis irão utilizar durante a execução do
programa, é definido no processo de compilação. Não sendo possível alterar o tamanho desse espaço
durante a execução do programa. 
3º) Seja a seguinte sequência de instruções em um programa C/C++:
int *pti;
int i = 10;
pti = &i;
 Código corrigido
 
 main ( )
{
 int x, *p;
 x = 10;
 p = &x; 
 cout << *p;
 2/4
Qual afirmativa é falsa?
a) pti armazena o endereço de i.
b) *pti é igual a 10.
c) ao se executar *pti = 20, i passará a ter o valor 20.
d) ao se alterar o valor de i, *pti será modificado.
e) pti é igual a 10.
4º) Qual das instruções abaixo é correta para declarar um ponteiro para inteiro?
a) *int pti;
b) *pti;
c) &i;
d) int_pti pti;
e) int *pti;
5º) Dado o conjunto de instruções de um programa C/C++:
int *pti;
int veti[ ] = {8,7,2,6,3};
pti = veti;
Qual afirmativa é verdadeira?
a) *(pti+2) é igual a 2.
b) pti é igual a 8.
c) pti[0] é igual a 7.
d) pti[5] é igual a 3.
e) *(veti+3) é igual a 2.
6º) Seja um vetor declarado por:
int vet[10];
Qual elemento deste vetor é acessado quando se escreve (*vet+2)?
a) Primeiro elemento.
b) Segundo elemento.
c) Terceiro elemento.
d) Quarto elemento.
e) Nenhuma das opções anteriores.
 3/4
7º) Seja n o tamanho da entrada de um algoritmo para um problema P. Cada alternativa, que
corresponde a um algoritmo distinto, apresenta o número de operações necessárias para resolver P.
Considerando-se a análise assintótica (O notation), qual algoritmo possui maior complexidade?
a) 2 + logn.
b) n + 3n^2.
c) 1000 + 2n^3.
d) 5n + 128.
e) 4^n.
8º) Dois vetores ordenados, contendo, cada um deles, n números inteiros, precisam ser unidos em
outro vetor maior, que conterá os 2n números, que também serão armazenados de forma ordenada. A
complexidade de tempo de melhor caso desse processo será então:
a) O(1), pois se precisa fazer apenas uma cópia simples de cada um dos elementos originais.
b) O(log n), pois se usa a busca binária para determinar qual será o próximo elemento copiado para o
vetor de destino.
c) O(nlog n), pois se precisa fazer uma busca de cada elemento para depois inseri-lo no vetor de
destino.
d) O(n), pois se precisa fazer uma cópia de cada um dos elementos originais, o que implica uma
varredura completa de cada vetor de origem.
e) O(n^2), pois, como há dois vetores, precisa-se fazer dois laços de forma aninhada (um dentro do
outro), gerando uma multiplicação das quantidades de elementos.
9º) No desenvolvimento de um sistema de análise financeira, um programador utilizou um algoritmo
cuja complexidade de tempo, no pior caso, é igual a O(n^2). Outro programador aponta um algoritmo
de melhor complexidade igual a:
a) O(n^4).
b) O(n log n).
c) O(n^3).
d) O(2^n).
e) O(n!).
10º) A busca binária é conhecida também como busca logarítmica. Sobre a busca binária, assinale a
alternativa INCORRETA.
a) Para um conjunto de 15 elementos, ocorreria, no mínimo, 1 comparação e, no máximo, 4
comparações.
b) Quando comparada com a busca sequencial, a busca binária, há uma redução logarítmica dos
elementos a serem pesquisados.
 4/4
c) Em uma sequência ordenada de forma crescente, caso o elemento procurado seja menor que o
elemento do meio, continua-se a busca com o subconjunto da direita. Em caso contrário, com o
subconjunto da esquerda.
d) Considerando uma sequência qualquer, deve-se dividir o conjunto ao meio e verificar se o elemento
procurado é igual ao elemento central.
e) Se o elemento procurado estiver entre os últimos ou não estiver no conjunto, a busca linear poderá
ser mais lenta do que a busca binária.

Continue navegando

Outros materiais