Buscar

Av1 1 2017 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 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

Universidade Estácio de Sá **
Estrutura de Dados Professora : Jane
Aluno(a) : 1/2017
INSTRUÇÕES IMPORTANTES: 
Faça tudo, sem exceção, na folha pautada, especificando o número da questão e do item.
Faça, obrigatoriamente, as questões objetivas com caneta. Questões de código : lápis ou caneta, sendo que a escrita deve ser legível e nítida. Não use lápis fraco.
Ponha nome nas folhas pautadas e na folha de questão, devolvendo todas as folhas e numerando as pautadas, sendo número da folha/total de folhas pautadas.
AV1
1) Considere os trechos abaixo:
int v = 200;
void xpto (int &k) {
 int aux = 100;
 k = k * 2;
 aux = aux – 25;
 v = v + aux; 
 cout << "Auxiliar = " << aux << endl;
 
}
int main() {
 int x = 250;
 xpto(x); 
 cout << "Número = " << x << " Valor = " << v << endl;
}
Solução – item a) :
Desenvolvimento
	Variável global)
	 Função xpto
	 Função main
	 v
	 aux
	 k
	 x
	 200
	 100
	 250
	 250
	 275
	 75
	 500
	 500
REPOSTA - TELA 
Auxiliar = 75
Número = 500 Valor = 275
Item b) Por referência
Item c) 
Global – v
Local à main : x
Locais à xpto : aux, k
(1.0) 2) Considere a função XYZ , n = 9 e que O é formado pela sequência “estrutura”. Mostre o vetor D ao fim da execução da função XYZ, considerando que D possui espaço suficiente para a operação realizada.
void XYZ (char O[ ], char D [ ], int n) {
 int i, j;
 j = 0; 
 for ( i = 0; i < n; i = i + 2)
 {
 D[j] = O[i];
 j++;
 }
 D[j] = '\0';
}
Solução :
>> Desenvolvimento .... Seja n = 9
 Vetor O
i 0 1 2 3 4 5 6 7 8 9
	 e
	s
	t
	r
	u
	t
	u
	r
	a
	\0
 Vetor D
j 0 1 2 3 4 5 6 7 8 
	 e
	 t
	 u 
	u
	 a
	\0
	
	
	
	
>> Resposta :etuua
 (1.0) 4) Analise a função abaixo, considerando o tipo Espiao e marque a opção correta.
int Spy (Espiao x[ ], int c, int n) {
for (int i = 0; i < n; i++)
 if (x[i].codigo == c)
 return i;
 return -1;
}
( (A) Retorna a posição do valor c em x , se o valor c for encontrado em x.
(B) Retorna o valor de c se o valor n foi encontrado.
(C) Ocorre erro na função Spy se o valor de c não estiver sido encontrado em x.
(D) Retorna -1 se o valor de c estiver em x.	
(E) Retorna -1 se o valor de n foi encontrado.
(1.5) 5) Considere o tipo
struct Modelo {
			 int matricula;
 char nome[30], agencia[30];
 float cache;
	 	 };
 e faça o que se pede :
Declare uma variável model do tipo definido acima.
Use model e defina o cachê sendo R$ 15.000,00 e o nome sendo Luiza Brum.
Solução :
Modelo model;
model.cache = 15000;
strcpy(model.nome, “Luiza Brum”);
(1.0) 5) Em uma feira de computação, o stand de Bill Góis mostrava como trabalhar com as estrutura de dados lista, pilha e fila. Dada como entrada a sequência de números inteiros 1, 2, 3, 4, 5, 6 e 7, Bill empilhava os pares na pilha P e enfileirava os ímpares na fila F (implementação simples). Depois inseria em uma lista L os valores 100, 30, 50, de forma ordenada crescentemente Ao final, exibiu primeiro os valores desenfileirados, em seguida os valores desempilhados e por fim, os valores retirados da lista, sem perder a ordem seguida na inserção. Qual é a sequência final, considerando, respectivamente, as retiradas na fila, pilha e lista ? Mostre seu raciocínio e destaque a sequência final solicitada.
Solução :
>> Desenvolvimento
P ... insere 2, 4, 6 (no topo). Ao retirar : 6, 4, 2
F ... insere 1, 3, 5, 7. Ao retirar : 1, 3, 5, 7
L ... 30, 50, 100 Ao retirar : 30, 50, 100, pois mantém a ordem crescente da inserção
REPOSTA : 1 3 5 7 6 4 2 30 50 100
(2.0) 6) Um técnico de futebol de salão está selecionando atletas com altura de 1,70 até 1,90 e idade abaixo dos 18 anos.  Faça um programa em C++ para ler a altura e a idade de um atleta e imprimir uma das mensagens "Aceito no time" ou "Não aceito no time". Para isso ...
faça a entrada de dados na main;
implemente uma função de nome obterAtleta que receba a altura e a idade do atleta 
e imprima uma das mensagens indicadas, como especificado;
chame a função obterAtleta na main.
Use, obrigatoriamente, o protótipo void obterAtleta (float, int); na sua solução.
Solução : Aqui e no .cpp
#include <iostream>
#include <cstdlib>
using namespace std;
//protótipo
void obterAtleta(float, int);
//programa principal
int main(void) {
 int idade;
 float altura;
 cout << "Selecionando atletas" << endl;
 cout << "Digite a altura : ";
 cin >> altura;
 cout << "Digite sua idade : ";
 cin >> idade;
 obterAtleta(altura,idade); //chama a função
 system("pause");
}
//Definição da função
void obterAtleta(float altura, int idade) {
 if (altura >= 1.70 && altura <= 1.90 && idade < 18)
 cout << "Aceito no time." << endl;
 else
 cout << "Nao aceito no time." << endl;
}
Pede-se :
(1.5) a) Mostre o que é impresso na tela.
(0.4) b) Qual é o tipo de passagem de parâmetro usado na função xpto ?
(1.6) c) Diga que variáveis são locais e quais são globais, identificando o escopo das locais.
struct Espiao {
 int codigo;
 char agencia[30];
 };

Outros materiais