Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>PRIMEIRA PROVA (TEÓRICA)</p><p>Superior de Tecnologia em Análise e Desenvolvimento de Sistemas</p><p>Bacharelado em Sistemas de Informação</p><p>Bacharelado em Ciência da Computação</p><p>Disciplina: Algoritmos e Estruturas de Dados Professor(a): Virgilio Borges de Oliveira</p><p>Aluno(a): RA:</p><p>Data: 02/10/2023 Duração: 1h40 Valor: 20 pontos Nota:</p><p>INSTRUÇÕES</p><p> Desligue e guarde os aparelhos celulares;</p><p> Preencha o cabeçalho da prova;</p><p> A prova deve ser feita à caneta; questões respondidas a lápis não</p><p>terão direito a revisão;</p><p> Nas questões de múltipla escolha é obrigatória a marcação com</p><p>caneta;</p><p> Fique atento ao tempo de duração da prova;</p><p> A consulta a colegas ou a utilização de materiais não autorizados</p><p>pelo professor, será considerada fraude, cabendo a aplicação de</p><p>nota zero aos alunos envolvidos.</p><p>Questão 1 – valor: 5 pontos</p><p>Dado o diagrama abaixo, escreva a codificação completa da classe Atleta na linguagem C#:</p><p>Atleta</p><p>- nome: string</p><p>- altura: double</p><p>- peso: double</p><p>+ Atleta(string nom, double alt, double pes)</p><p>+ GetNome(): string</p><p>+ GetIMC(): double</p><p>+ GetMensagem(): string</p><p> GetIMC() deverá calcular e retornar o valor do IMC (Índice de Massa Corporal), cuja fórmula é:</p><p>IMC = peso / quadrado da altura</p><p> GetMensagem() deverá retornar um string contendo o nome e a classificação do atleta, de acordo</p><p>com a seguinte tabela:</p><p>IMC CLASSIFICAÇÃO</p><p>Abaixo de 18,6 Abaixo do peso</p><p>Entre 18,6 e 24,9 Peso normal</p><p>Acima de 24,9 Acima do peso</p><p>Questão 2 (Listas Encadeadas) – valor: 5 pontos</p><p>Considere as classes Lista e NoLista desenvolvidas durante as aulas para a resolução da questão.</p><p>(continua)</p><p>Lista</p><p>- prim: NoLista</p><p>- ult: NoLista</p><p>+ Inserir(NoLista item): void</p><p>+ Pesquisar(int chave): NoLista</p><p>+ Remover(int chave): bool</p><p>+ Interseccao(Lista b): Lista</p><p>NoLista</p><p>+ chave: int</p><p>+ prox: NoLista</p><p>+ NoLista(int c)</p><p>A intersecção entre os conjuntos A e B é o conjunto constituído de todos os elementos que pertencem</p><p>simultaneamente a A e B. Exemplo: {32,46,92,12} ∩ {12,62,46} = {12,46}. Escreva um método</p><p>na classe Lista que retorne uma nova lista contendo a intersecção dos elementos da lista interna com os</p><p>elementos da lista recebida como parâmetro. Sua resposta deverá conter apenas o código do método</p><p>Interseccao.</p><p>public Lista Interseccao(Lista b) {</p><p>}</p><p>Questão 3 (Classes e Objetos) – valor: 5 pontos</p><p>Analise as classes abaixo e escreva o que será impresso no console durante a execução do método Main</p><p>(use o retângulo abaixo).</p><p>class Questao {</p><p>private int[] vet;</p><p>public Questao(int tam) {</p><p>vet = new int[tam];</p><p>for(int i = 0; i < vet.Length; i++)</p><p>vet[i] = (i % 2 != 1) ? i : i * 2;</p><p>}</p><p>public int Faz() {</p><p>int i;</p><p>for(i = 0; i < vet.Length / 2; i++)</p><p>vet[vet.Length - i - 1] = vet[i];</p><p>return (i);</p><p>}</p><p>public void Imprimir() {</p><p>for(int i = 0; i < vet.Length; i++)</p><p>Console.Write(vet[i]);</p><p>}</p><p>}</p><p>class Program {</p><p>static void Main(string[] args) {</p><p>Questao obj = new Questao(6);</p><p>obj.Imprimir();</p><p>Console.Write(obj.Faz());</p><p>obj.Imprimir();</p><p>}</p><p>}</p><p>Console:</p><p>Questão 4 (Pilhas e Filas) – valor: 5 pontos</p><p>O objeto p é uma pilha estática e o objeto f é uma fila estática circular. O desenho abaixo representa o</p><p>estado de f e p após várias operações. Responda, considerando as implementações apresentadas</p><p>durante as aulas:</p><p>a) Quantos elementos estão empilhados em p? [1 ponto]</p><p>b) Quantos elementos ainda podem ser enfileirados em f? [1 ponto]</p><p>c) Para cada linha de comando abaixo, faça um novo desenho representando o estado da pilha p, da fila</p><p>f e de seus atributos topo, inicio e fim (considerando os itens que já estão nas estruturas). [3 pontos]</p><p>(1) f.Enfileirar( 35 );</p><p>(2) f.Enfileirar( 10 + p.Desempilhar() );</p><p>(3) p.Empilhar( ! p.Vazia() ? 2 : 4 );</p><p>(4) p.Empilhar( f.Desenfileirar() + f.Desenfileirar() );</p><p>(5) f.Enfileirar( p.Desenpilhar() * 2 );</p><p>(6) p.Empilhar ( f.Desenfileirar() < 70 ? 20 : 40);</p><p>4 1</p><p>3 6</p><p>2 9</p><p>1 4</p><p>0 7</p><p>23</p><p>47</p><p>20</p><p>inicio = 3</p><p>[7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6] fim = 7</p><p>40 15</p><p>25</p><p>70</p><p>66</p><p>[7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6] [7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6] [7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6] [7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6] [7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6]</p><p>4</p><p>3</p><p>2</p><p>1</p><p>0</p><p>4</p><p>3</p><p>2</p><p>1</p><p>0</p><p>4</p><p>3</p><p>2</p><p>1</p><p>0</p><p>4</p><p>3</p><p>2</p><p>1</p><p>0</p><p>4</p><p>3</p><p>2</p><p>1</p><p>0</p><p>topo = 1</p><p>4</p><p>3</p><p>2</p><p>1</p><p>0</p><p>[7]</p><p>[0]</p><p>[1]</p><p>[2] [3]</p><p>[4]</p><p>[5]</p><p>[6]</p>

Mais conteúdos dessa disciplina