Buscar

AV1_2011_1EAD_ESTRUTURA DE DADOS

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 3 páginas

Prévia do material em texto

Avaliação On-Line
Avaliação: AV1-2011.1EAD - ESTRUTURA DE DADOS - CCT0174
Disciplina: CCT0174 - ESTRUTURA DE DADOS
Tipo de Avaliação: AV1
Aluno:
Nota da Prova: Nota do Trabalho: Nota da Participação: Total: 
Prova On-Line
Questão: AV12011CCT0174106 (129441)
1 - No desenvolvimento de sistemas devemos utilizar a modularização como forma de melhorar nossos sistemas, inserindo agilidade, facilidade de manutenção e etc.
Quando em um programa um determinado pedaço do código ocorre várias vezes vezes fazendo as seguintes atividades:
- Lendo alguns valores informados pelo usuário;
- fazendo alguns cálculos;
- e armazenando o resultado.
A melhor solução proposta seria:
 Pontos da Questão: 1
 Criar uma função que receba os dados lidos como parâmetro execute os cálculos e retorne o resultado. 
 Criar uma função fazer os cálculos e exibir o resultado.
 Criar uma função apenas para leitura dos dados;
 Escrever o código apenas uma vez e apagar onde ele está sendo repetido.
 Escrever o código tantas vezes quanto necessário.
Questão: AV12011CCT0174102 (129183)
2 - Baseado na declaração do seguinte registro:
struct teste{
char coisa[50];
int numero;
};
Qual das opções cria respectivamente uma variável e um vetor de 30 posições para o registro declarado de forma correta:
 Pontos da Questão: 1
 Teste variavel, vetor[30];
 int teste numero, coisa[50];
 struct teste variavel, vetor[30]; 
 struct testes vetor[30], variavel;
 variavel, vetor[30]: teste; 
Questão: AV120111CCT01740018 (127098)
3 - O programa a seguir é uma implementação do método de ordenação por seleção. Entretanto, foi cometido um erro na chamada da função “selecao(vet,5)”. Note que o argumento da função que foi passado no lugar do parâmetro
“tam” está igual a 5. Para que a ordenação do vetor ocorresse de forma correta o argumento da função deveria ser igual a 10.
Analise o código e marque a opção que contém a saída apresentada pelo programa.
#include<iostream>
using namespace std;
void selecao(int vet[], int tam);
void main()
{
int tamanhoDoVetor=10;
int vet[]={10,2,5,1,3,8,4,7,9,6};
selecao(vet,5);
cout<<"vet[]={";
for(int i=0;i<tamanhoDoVetor;i++)
cout<<vet[i];
cout<<"}";
}
void selecao(int vet[], int tam)
{
int j,i, aux,a, temp;
for (i=0; i<tam -1; i++)
{
aux = i;
for(j=i+1; j<tam; j++)
if(vet[aux] > vet[j] )
aux=j;
temp=vet[aux];
vet[aux]= vet[i];
vet[i]=temp;
}
}
 Pontos da Questão: 1
 vet[ ]={1 2 3 5 4 8 10 7 9 6 }
 vet[ ]={1 2 3 5 7 8 4 10 9 6 }
 vet[ ]={1 2 3 5 8 4 7 9 6 10}
 vet[ ]={1 2 3 5 9 8 4 7 10 6 }
 vet[ ]={1 2 3 5 10 8 4 7 9 6 }
Questão: AV120111CCT0174093 (127841)
4 - Considerando um vetor de elementos do tipo
struct professor {
 char nome[40];
 char titulacao[30];
};
Assinale a opção correta que mostra o trecho que determina que Maricota Silva é Mestre em Computação.
 Pontos da Questão: 1
 struct professor p;
strcpy("Maricota Silva",p.nome);
strcpy("Mestre em Computação.",p.titulacao);
 professor p;
p.nome = "Maricota Silva";
p.titulacao = "Mestre em Computação.";
 struct professor p;
p.nome = "Maricota Silva";
p.titulacao = "Mestre em Computação.";
 professor p;
strcpy(p.nome, "Maricota Silva");
strcpy(p.titulacao, "Mestre em Computação.");
 professor p;
strcmp(p.nome, "Maricota Silva");
strcmp(p.titulacao, "Mestre em Computação.");
Questão: AV120111CCT0174084 (127832)
5 - Considere o trecho com a chamada da função muda feita na main :
int x = 1000;
muda(x);
e a definição da função :
void muda(int &valor)
{
 valor++;
}
Assinale a opção correta:
 Pontos da Questão: 1
 A chamada possui erro. A chamada correta é : muda(&x);
 A função não funcionará, pois o parâmetro da função deveria ser x e não valor.
 ocorre erro, pois não foi declarada a variável valor na main.
 ocorrerá mudança na variável x, que passará a valer 1001, após a execução da função muda. 
 não ocorrerá mudança no conteúdo da variável x, que permanecerá com 1000. 
Questão: AV120111CCT0174100 (128268)
6 - Considere a função que deve implementar a busca binária. Note que ela está incompleta e que você deve completá-la.
int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v
{
 int inicio = 0,
 fim = n – 1,
 meio;
 while (inicio <= fim)
 {
 meio = ____________
 if (valor == __________
 return __________ 
 if (valor < ____________)
 _______________
 else
 ________________
 }
 return -1;
}
Assinale a opção que mostra a função completa e correta.
 Pontos da Questão: 1
 int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v
{
 int inicio = 0, fim = n - 1, meio;
while (inicio <= fim)
{
 meio = (inicio+fim) % 2;
 if (valor == v[meio])
 return meio;
 if (valor < v[meio])
 fim = meio -1; 
 else
 inicio = meio + 1;
}
return -1;
}
 int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v
{
 int inicio = 0, fim = n - 1;
 while (inicio <= fim)
 {
 if (valor < v[inicio])
 fim = inicio -1;
 else
 inicio = fim + 1;
 }
 return -1;
}
 int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v
{
 int inicio = 0, fim = n - 1, meio;
 while (inicio <= fim)
 {
 meio = (inicio+fim);
 if (valor == v[meio])
 return meio;
 if (valor != v[meio])
 fim = meio -1;
 else
 inicio = meio + 1;
}
return -1;
}
 int buscaBinaria(int v[ ], int valor, int n) //n é o número de elementos existentes em v
{
 int inicio = 0, fim = n - 1, meio;
while (inicio <= fim)
{
 meio = (inicio+fim);
 if (valor <= v[meio])
 return meio;
 else
 inicio = meio + 1;
}
return -1;
}
int buscaBinaria(int v[ ], int valor, int n) // n é o número de elementos existentes em v
{
 int inicio = 0, fim = n - 1, meio;
while (inicio <= fim)
{
 meio = (inicio+fim)/2;
 if (valor == v[meio])
 return meio;
 if (valor < v[meio]) 
 fim = meio -1;
 else
 inicio = meio + 1;
}
return -1;
}
Questão: AV120111CCT01740017 (127096)
7 - Dentre os algoritmos de pesquisa ou busca em vetores, os mais difundidos são: a busca sequencial e a busca binária. Leia as sentenças abaixo e marque a assinale a resposta correta:
I. Para um vetor que armazena de forma ordenada uma quantidade bastante considerável de dados, se considerarmos que o dado a ser procurado não encontra-se no vetor, o algoritmo da busca sequencial será mais rápido em
chegar a esta conclusão, que o algoritmo da busca binária.
II. O algoritmo da busca binária baseia-se no princípio da “divisão e conquista”, isto é, o espaço de busca é dividido em espaços menores de modo a simplificar a tarefa a ser realizada.
III. Para um vetor que armazena de forma ordenada uma quantidade bastante considerável de dados, se considerarmos que o dado a ser procurado encontra-se entre as primeiras posições do vetor, o algoritmo da busca sequencial
será mais rápido em encontrar o dado que o algoritmo da busca binária.
IV. Quando é realizada uma busca em um vetor, normalmente não se tem ideia em que posição o dado a ser buscado se encontra no vetor, ou mesmo se o dado buscado não está no vetor. E sendo assim, no caso de vetores
ordenados o algoritmo de busca binária é muito mais eficiente que o algoritmo de busca sequencial, na maioria dos casos.
 Pontos da Questão: 1
 Apenas a III está errada. 
 I e IV estão corretas.
 I, II e III estão corretas.
 III e IV estão erradas.
 Apenas a I está errada.
Questão: AV120111CCT0174086 (127834)
8 - Assinale a opção correta.
Considere o seguinte trecho na main :
 int v[ ] ={10,20,30,40};
 Eureka(v);
sendo a função
 
void Eureka(int v[ ]) {
 for (int i = 0; i < 4; i++)
 v[i] = 2 * i;
}
Após a execução da função Eureka, v armazenará os seguintes valores :
 Pontos da Questão: 1
 0 20 40 60
 20 40 6080
 1 2 4 6
 0 2 4 6 8
 0 2 4 6 
Questão: AV120111CCT0174006 (127056)
9 - Sabe-se que um protótipo de uma função é o cabeçalho da função com ;(ponto-e-vírgula) ao final. E que nas funções a passagem de parâmetros se dá por valor ou por referência.
Para o protótipo: void troca(float&,float&); pode-se dizer que:
 Pontos da Questão: 1
 É um protótipo de função que recebe dois argumentos que são endereços que armazenam números reais, por passagem por referência. E a função não retorna nada para a função chamadora.
 É um protótipo de função que recebe dois argumentos por passagem de valor. Os dois do tipo real e retorna, para a função chamadora, um valor inteiro.
 É um protótipo de função que recebe dois argumentos reais por passagem de valor e não retorna nada para função chamadora.
 É um protótipo de função que recebe dois argumentos por passagem de valor. Um do tipo char e outro do tipo int, mas não retorna nada para função chamadora.
 É um protótipo de função que recebe dois argumentos reais e retorna, para a função chamadora, um valor real.
Questão: AV120111CCT01740013 (127087)
10 - A definição de uma estrutura não cria nenhuma variável, para criar uma variável do tipo estrutura, deve-se incluir uma instrução de declaração de variável. E como outras variáveis na linguagem C++, as variáveis do tipo
estrutura podem ser inicializadas logo após a sua criação.
Marque a alternativa CORRETA para inicialização de uma variável do tipo Aluno, cuja a estrutura é apresentada a seguir:
struct Aluno {
int mat;
float nota[3];
char nome[50];
};
 Pontos da Questão: 1
 Aluno Jose={"Jose Gomes dos Santos",5.0,5.8,5.7,201001};
 Aluno Jose={201001,5.0,5.8,5.7,"Jose Gomes dos Santos"};
 Aluno Jose={5.0;5.8;5.7;"Jose Gomes dos Santos",201001};
 Aluno Jose={201001;5.0;5.8;5.7;"Jose Gomes dos Santos"};
 Aluno Jose={5.0,5.8,5.7,"Jose Gomes dos Santos",201001};

Continue navegando

Outros materiais