Buscar

SIMULADO2

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

1a Questão (Ref.: 201409931145)
Desenvolva uma função em C++ para construir uma fila Q com valores inteiros positivos, inseridos a partir do
teclado.
Sua Resposta: ­
Compare com a sua resposta:
PNodo ConstruirFila () {
 int X;
PNodo Q;
Q = Criar();
cout<<"Inserir um inteiro positivo (negativo para terminar): \n";
cin>>X;
while (X > 0) {
Q = Juntar(X, Q);
cout<<"Inserir um inteiro positivo (negativo para terminar): \n";
cin>>X;
}
return Q;
}
  2a Questão (Ref.: 201409931092)
Suponha que o nó tenha como membro um número inteiro fora o ponteiro. Defina uma estrutura (struct) em
C++ struct para uma lista com um nó.
Sua Resposta: ­
Compare com a sua resposta:
struct nodo
{
  int num;
  struct nodo* prox;
};
  3a Questão (Ref.: 201409496365) Pontos: 0,0  / 1,0
Sabemos que podemos representar uma expressão de três formas, sendo que uma
delas é chamada de notação polonesa reversa ( pós­fixa).
Suponha  que  um  professor  de  Estrutura  de  Dados  desejasse  compor  a  nota  do
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as
notas. Sendo assim, usaria a média ponderada como a expressão abaixo.
                                       
A única calculadora que encontrou disponível foi uma com representação pós fixa.
Assinale  a  alternativa  que  apresenta  a  sequência  que  deveria  ser  digitada  pelo
professor para conseguir calcular a média de um aluno.
 
  / + * nota1 peso1 * nota2 peso2 + peso1 peso2
/ * nota1 peso1 + * nota2 peso2 + peso1 peso2
nota1 peso1 * nota2 peso2 * peso1 peso2 + + /
nota1 peso1 nota2 peso2 peso1 peso2 * * + + /
  nota1 peso1 * nota2 peso2 * + peso1 peso2 + /
 Gabarito Comentado.
  4a Questão (Ref.: 201409490420) Pontos: 0,0  / 1,0
As pilhas sequenciais são estruturas que guardam a ordem reversa dos dados nelas armazenados, e isto
em muitas ocasiões é muito vantajoso. A operação usada para inserir um elemento X numa pilha é
conhecida na literatura como PUSH (X). Para remover um elemento de uma pilha a operação é o POP( ).
Assim estas duas funções devem implentar o algoritmo LIFO (Last In ­ First Out ) ou o último a entrar é o
primeiro a sair. Sendo assim se aplicarmos as seguintes operações em uma PILHA vazia:
PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ).
Quais valores restarão na pilha?
  10 e 2
Apenas o 10
Apenas o 2
  Nenhum, a pilha estará vazia.
7 e 2
 Gabarito Comentado.
  5a Questão (Ref.: 201409528017) Pontos: 0,0  / 1,0
As  structs  (estruturas)  são  utilizadas  para  modelar  os  nodos  de  estruturas
dinâmicas como, por exemplo, as listas encadeadas, seja o seguinte exemplo
de nodo de uma lista de produtos:
 
struct nodo{
                     float valor;
                     string produto;
                     nodo * proximo;
           };
 
Suponha que um determinado ponteiro pt   esteja apontando para um nodo
desta  lista, e que se queira alterar o conteúdo do campo valor deste nodo,
que  está  sendo  apontado  por  pt,  para  5.60.  Marque  a  alternativa  que
corretamente possibilita esta operação:
  pt­>próximo.valor=5.60;
pt­>próximo­>valor=5.60;
  pt­>valor=5.60;
pt­>5.60;
pt.valor­>5.60;
  6a Questão (Ref.: 201409492924) Pontos: 0,0  / 1,0
   Considere uma pilha sequencial P com capacidade para n elementos.
   Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente
implementa a operação de empilhamento, considerando que o topo da pilha recebeu ­1 na
inicialização.
 
struct Pilha {
                   int v[n], topo;
                 };
 
  void empilhar(Pilha &P, int valor) {
       if (topo == n ­ 1)
          cout  <<  "Pilha cheia.";
      else       {
           topo++;
           v[topo] = valor;
       }
}
void empilhar(Pilha P, int valor) {
       if (P.topo == n)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
void empilhar(Pilha P, int valor) {
       if (P.topo == n ­ 1)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
void empilhar(Pilha &P, int valor) {
       if (P.topo == n ­ 1)
          cout << "Pilha cheia.";
      else
             P.v[P.topo] = valor;
}
 
  void empilhar(Pilha &P, int valor) {
       if (P.topo == n ­ 1)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
 Gabarito Comentado.
  7a Questão (Ref.: 201409288134) Pontos: 0,0  / 1,0
Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá­las para as
posições iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor ­1
(menos um):
  Após a inserção deve­se fazer o decremento da variável final
Após a inserção deve­se fazer o incremento da variável inicio
Antes da inserção deve­se fazer o decremento da variável final
Após a inserção deve­se fazer o incremento da variável final
  Antes da inserção deve­se fazer o incremento da variável final
 Gabarito Comentado.
  8a Questão (Ref.: 201409527151) Pontos: 0,0  / 1,0
   Tenho uma lista não ordenada de clientes em que registro apenas a matrícula, o nome,  o endereço e o telefone de cada cliente. Como não
tenho limites para o crescimento da minha lista, como posso implementar a inserção de um novo cliente na lista, sabendo que cada cliente é do
tipo Cliente e a lista é do tipo Lista assim definidos :
struct Cliente {
     long int matricula;
      string nome, endereco, tel;
};
struct Lista {
                           Cliente c;
                           struct Lista *link;
                  };
   Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo = new Lista;
      novo.c = cl;
      novo.link = p;
     return novo;
}
Lista  insereCliente(Lista *p, Cliente cl)
{
      Lista  novo[];
      novo[0].c = cl;
      novo[0].link = p;
     return novo;
}
                    
Lista * insereCliente(Lista *p)  {
      Lista *novo = new Lista;
     Cliente cl;
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo ;
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
  Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo = new Lista;
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
 Gabarito Comentado.
  9a Questão (Ref.: 201409288119) Pontos: 1,0  / 1,0
Qual das alternativas a seguir pode definir uma estrutura de fila?
  Entrada de dados pelo final e saída pelo início.
Entrada e saída de dados em qualquer local.
Entrada e saída de dados pelo final.
Entrada de dados pelo início e saída pelo final.
Entrada e saída de dados pelo início.
 Gabarito Comentado.
  10a Questão (Ref.: 201409287650) Pontos: 0,0  / 1,0
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:
ENQUEUE(1)
ENQUEUE(2)
DEQUEUE()
ENQUEUE(3)
ENQUEUE(4)
DEQUEUE()
DEQUEUE()
ENQUEUE(5)
Ao final da sequencia, a soma dos elementos de que (Q) será?
  5
6
  9
0
15

Outros materiais