Buscar

ATIVIDADE 2 _ DISCIPLINA PROGRAMAÇÃO E INTEGRAÇÃO DE JOGOS - CURSO JOGOS DIGITAIS

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

QUESTÃO 1
Leia o excerto a seguir:
 
“Na alocação encadeada, os elementos de um conjunto não são armazenados necessariamente em posições adjacentes de memória. É até possível que o primeiro elemento do conjunto esteja armazenado bem ao lado do segundo elemento, mas também é possível que eles estejam armazenados em posições de memória bem distantes uma da outra”.
 
FERRARI, R. et al. Estrutura de dados com jogos. 1. ed. Rio de Janeiro: Elsevier, 2014. n.p.
 
A respeito das características de pilha e fila, considerando apenas as implementações de alocação encadeada, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F
para a(s) Falsa(s).
 
I. ( ) Independentemente se estamos implementando uma pilha ou fila, um elemento do conjunto sempre deverá ter a referência para o próximo elemento.
II. ( ) Em uma pilha com três itens, se quisermos remover o segundo item do conjunto, devemos alterar a referência de próximo do primeiro, ligando-o com o terceiro elemento.
III. ( ) Em uma pilha com três itens, se quisermos remover o segundo item do conjunto, devemos desempilhar o primeiro e segundo elemento, para, assim, empilhar o primeiro novamente.
IV. ( ) Em uma pilha com três itens, se quisermos remover o segundo item do conjunto, devemos desempilhar o segundo elemento e, após isso, empilhá-lo novamente.
 
Assinale a alternativa que apresenta a sequência correta.
 V, V, F, V.
 V, V, F, F.
 RESPOSTA CORRETA: V, F, V, F.
Resposta correta. A alternativa está correta, pois o problema visa à implementação de pilhas ou filas com listas encadeadas. Isso significa que é necessária a referência do atributo próximo em todos os itens. Como a pilha segue a estratégia LIFO, podemos desempilhar os dois primeiros elementos e adicionar apenas o primeiro à solução, atingindo a proposta do problema.
 V, V, V, V.
 F, F, F, V
QUESTÃO 2
Game Design é o ato de decidir o que um game deve ter. Assim, quando criamos um jogo, devemos pensar nas mecânicas que deverão ser implementadas para se chegar ao objetivo. Quando começam nessa área, muitas pessoas acreditam que a confecção de um game envolve poucas decisões e muito trabalho, mas a verdade é que envolve diversas decisões e, muitas delas, dependem do perfil do profissional: experiências vivenciadas, motivações e crenças.
 
SCHELL, J. The Art of Game Design: A book of lenses. 1. ed. Tradução Livre. CRC Press, 2008.
 
Com base nos conhecimentos adquiridos sobre pilhas e filas, assinale a alternativa que apresenta corretamente a relação da mecânica de um jogo com a estrutura de dados aplicada.
 RESPOSTA CORRETA: Contexto: mudança da fisionomia de um personagem (sem volta). Estrutura de dados: fila.
 RESPOSTA INCORRETA: Contexto: funcionalidade desfazer (editores de texto). Estrutura de dados: fila.
Sua resposta está incorreta. A alternativa está incorreta, pois as estruturas de dados mais indicadas são: pilha para deck de cartas, funcionalidades desfazer e menu de jogo, além de fila para a movimentação do jogador e mudança de fisionomia de um personagem. Assim, a única alternativa correta seria a relação entre a mudança de fisionomia e a estrutura de dados fila. Todas as estruturas citadas que utilizam fila precisam que os eventos ocorram de forma sucessiva.
 Contexto: menu de um jogo (qualquer gênero de jogo). Estrutura de dados: fila. 
 Contexto: deck de cartas (em um jogo de cartas). Estrutura de dados: fila. 
 Contexto: movimentação de um jogador (em um jogo RTS). Estrutura de dados: pilha. 
QUESTÃO 3 
Um palíndromo consiste em “palavras, números ou frases que se podem ler indiferentemente da esquerda para direita e vice-versa, sempre com o mesmo sentido”. É possível citar como exemplos de palavras que são palíndromos: osso, rir, sopapos, reger. Quando tratamos a respeito de frases, precisamos, muitas vezes, ignorar os espaços, como “Roma é amor” ou “Saíram o tio e oito Marias”.
 
PALÍNDROMO. Dicionário Online de Português. Disponível em:          https://www.dicio.com.br/palindromo/. Acesso em: 13 dez. 2019.
 
Suponha que um programador esteja criando um aplicativo para descobrir se determinada palavra é um palíndromo. Após pensar um pouco, a solução encontrada foi utilizar um tipo abstrato de dados que, ao inserir letra por letra do vocábulo, é possível descobrir se a ordem dos elementos resultantes é a mesma da palavra original. Nesse sentido, assinale a alternativa que apresenta a estrutura de dados utilizada pelo programador.
 Programação dinâmica.
 Variável inteira.
 Fila.
 Recursividade.
 RESPOSTA CORRETA: Pilha
Resposta correta. A alternativa está correta, pois, para descobrirmos se uma palavra é um palíndromo, precisamos descobrir se, ao transcrevê-la ao contrário, o resultado é igual à palavra original. O processo de inversão da palavra pode ser feito por meio de uma pilha, uma vez que os elementos a serem retirados da palavra original serão os últimos inseridos. No final desse processo, temos a inversão da palavra e, quando tivermos o resultado desse processo, basta compará-lo com a palavra original.
QUESTÃO 4
As pilhas podem ser utilizadas para a solução de muitos problemas, por exemplo, a elaboração de menus para o usuário. O entendimento da aplicação da estrutura é simples: o menu que está no topo sempre será aquele apresentado ao usuário. Quando o usuário inserir um comando para acessar outro menu, o menu que foi requisitado é inserido na pilha, tornando-se o topo dessa estrutura. Quando o usuário solicitar a volta, ou seja, para retornar ao menu antigo, basta apenas remover o conteúdo que está no topo, de forma que será exibido ao usuário o menu em que ele estava. Diante do exposto, assinale a alternativa correta sobre a implementação de uma pilha para esse problema.
 O problema exige que sejam implementadas duas pilhas: menus visitados e não visitados.
 O problema permite que, em algum momento, a pilha esteja vazia durante a execução.
 O problema em pauta deve ser representado por uma fila e não por uma pilha.
 
 O problema exige que ao menos 2 itens estejam sempre presentes na pilha.
RESPOSTA CORRETA: O problema exige que pelo menos 1 item esteja presente na pilha.
Resposta correta. A alternativa está correta, pois o contexto do problema é a aplicação de menus. Assim, um dos menus sempre deverá aparecer ao usuário, tornando obrigatória a presença de 1 item na pilha, no mínimo. Não é necessário implementar para essa funcionalidade outras estruturas além da citada.
QUESTÃO 5
Leia o excerto a seguir:
 
“Uma fila é uma estrutura de dados dinâmica que admite remoção de elementos e inserção de novos objetos. Mais especificamente, uma fila (= queue) é uma estrutura sujeita à seguinte regra de operação: sempre que houver uma remoção, o elemento removido é o que está na estrutura há mais tempo”.
 
FEOFILOFF, P. Filas. Projeto de Algoritmos em Linguagem C. Disponível em:             https://www.ime.usp.br/~pf/algoritmos/aulas/fila.html. Acesso em: 13 dez. 2019.
 
A respeito das características de pilha e fila, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s).
 
I. ( ) Na operação de remoção da pilha, também conhecida como desempilhar, é necessário mover um dos ponteiros de início para o próximo item.
II. ( ) Na operação para retornar o primeiro elemento, as características de implementação de filas e pilhas são iguais, já que inserem e retiram os elementos da mesma extremidade.
III. ( ) Um exemplo de pilha, no mundo real, é o processo de leitura de um livro, uma vez que os capítulos devem ser lidos da ordem do mais recente para o mais antigo.
IV. ( ) Um exemplo de fila, no mundo real, é o processo de solicitação de crédito bancário, pois é necessária a aprovação de diversas etapas, uma por vez, para a liberação.
 
Assinale a alternativa que apresenta a sequência correta.
 V, V, V, V.
 F, V, F, V.
 V, V, F, V.
 RESPOSTA CORRETA: F, F, F, V.
Resposta correta. A alternativa está correta, pois a solicitação de crédito bancário é um processo que envolve algumasetapas e, por sua vez, elas podem ser representadas por uma fila. As demais alternativas rompem com os princípios das estruturas de dados estudadas: FILO para as pilhas e FIFO para as filas.
 V, V, F, F
QUESTÃO 6
Uma pessoa bastante ocupada, ao chegar em sua própria casa, lembrou que precisava realizar algumas ligações telefônicas. Ela criou uma lista das pessoas que precisava contatar por ordem de prioridades, em que o critério era o tempo que aquelas pessoas aguardavam o retorno. Dessa forma, iniciou a tarefa, começando pelas ligações mais urgentes, ou seja, aquelas que iniciaram um primeiro contato antes até as mais recentes. De acordo com o exposto, qual foi a abstração de Estrutura de dados que a pessoa utilizou?
implementada pelas Filas. Dentre as alternativas disponíveis, a estrutura fila é a única que implementa essa estratégia.
· RESPOSTA CORRETA: Fila.
Resposta correta. A alternativa está correta, pois a estrutura de dados em questão é utilizada em casos que a prioridade dos itens seja “o mais antigo primeiro”. Assim, temos a estratégia FIFO ( First In, First Out) implementada pelas Filas. Dentre as alternativas disponíveis, a estrutura fila é a única que implementa essa estratégia.
· Árvore.
· Pilha.
· Matriz
QUESTÃO 7
Tetris é um jogo muito popular, com milhares de fãs em todo o mundo. Ele foi criado em 1984 e o seu objetivo é organizar peças que caem em uma velocidade constante umas sobre as outras. Para conquistar a vitória, o jogador deve completar, com as peças, as linhas horizontais da tela, pois, dessa forma, as partes que compõem essa linha serão removidas.
 
Considerando os aspectos do jogo, analise as afirmativas a seguir:
 
I. O mecanismo responsável por armazenar as peças que irão aparecer para o jogador pode ser implementado por uma fila.
II. Os atributos das peças são: forma, cor e velocidade.
III. As interações do usuário devem ser implementadas em uma estrutura de dados pilha.
IV. Podemos considerar enquanto pontuação a quantidade de linhas completas que foram alcançadas pelo usuário e o tempo de jogo.
 
Está correto o que se afirma em:
 RESPOSTA CORRETA: I e IV, apenas.
Resposta correta. A alternativa está correta, pois as peças são geradas de forma contínua. Esse cenário define que a implementação seja feita com filas ou listas, uma vez que, se forem aplicadas pilhas, existirão estados que nunca serão utilizados. O objetivo do jogo é contabilizar a quantidade de linhas removidas pela alocação dos elementos. Assim, a quantidade que o jogador alcançou e o tempo (se o jogador foi rápido ou não) são excelentes pontuadores para medir a eficiência do jogador.
 I e II, apenas.
 I, II e IV, apenas. 
 I, II e III, apenas.
 II, III e IV apenas.
QUESTÃO 8
Leia o excerto a seguir:
 
“Uma fila é um conjunto ordenado de itens a partir do qual se podem eliminar itens em uma extremidade [...] e no qual se podem inserir itens na outra extremidade [...]. Existem muitos exemplos de fila no mundo real. Uma fila de banco ou no ponto de ônibus e um grupo de carros aguardando sua vez no pedágio são exemplos conhecidos de filas”.
 
TENENBAUM, A. M.; LANGSAM, Y.; AUGENSTEIN, M. J. Estruturas de Dados Usando C. 1. ed. São Paulo: Pearson Universidades, 1995. p. 207-208.
 
A estrutura de dados fila é muito conhecida e usada em diversos contextos. Nesse sentido, qual é o mecanismo que essa estrutura utiliza para inserção e retirada de dados?
 RESPOSTA CORRETA: LIFO. 
 FILA.
 LLFO.
 PILO.
 RESPOSTA INCORRETA: FIFO
Sua resposta está incorreta. A alternativa está incorreta, pois, dentre as alternativas apresentadas, os dois únicos padrões realmente existentes são LIFO e FIFO. O FIFO é o acrônimo para First In, First Out, ou seja, o primeiro que entra é o primeiro que sai. Isso significa que, quanto mais antigo é o elemento no conjunto, mais rápido ele sairá do conjunto. Para o problema tratado, a resposta correta seria LIFO (Last In, First Out).
QUESTÃO 9
Alguns tipos de jogos utilizam a mecânica de lançamentos de projéteis. Nesse contexto, imagine um jogo em que o usuário pode pegar um número infinito de armas no cenário e ele sempre é obrigado a empregar a última arma que encontrou. Para trocar de arma, o usuário deve, obrigatoriamente, utilizar toda a munição disponível para ela. Com base no exposto, assinale a alternativa correta.
 RESPOSTA CORRETA: O problema exige que seja implementada a estrutura pilha, com alocação dinâmica.
Resposta correta. A alternativa está correta, pois o enunciado explica, de forma clara, que a troca de arma ocorre toda vez que o usuário a encontra no cenário. Assim, o usuário sempre estará em mãos com o último armamento que encontrou, justificando a utilização da estrutura de dados pilha ( Last In, First Out). A alocação dinâmica é necessária, pois não é possível descobrir a quantidade de armas que o usuário irá encontrar. Se utilizássemos uma alocação estática, seria necessário limitar uma quantidade máxima de itens, uma vez que não é possível alocar mais elementos além do que foi definido na etapa de compilação.
 O problema exige que sejam implementadas duas filas.
 Para solucionar o problema, é necessária a implementação de uma fila encadeada.
 Para solucionar o problema, é necessário utilizar uma estrutura de alocação estática.
 O problema não pode ser resolvido por nenhuma estrutura de dados conhecida.
QUESTÃO 10
Um aluno deseja criar uma aplicação que simule um buffer para transmissão de dados. Para isso, foi estabelecido que seria necessário criar dois pontos de transmissão: um para envio da mensagem e outro que faria o papel do receptor. Além disso, a mensagem precisaria ser particionada em blocos, denominados itens, e inseridos em uma estrutura de dados. A ideia consiste no fato de que, para cada ponto de transmissão, fosse implementada a mesma estrutura de dados, em que, no transmissor, seria lida a parte da mensagem e, ao mesmo tempo, seria retirada da primeira estrutura de dados. Após a retirada, cada parte deverá ser enviada para o receptor, que irá inserir cada uma dessas partes na segunda estrutura de dados. Com base no exposto e visando que a mensagem recebida deva permanecer na mesma da original, exatamente na mesma sequência, qual é a melhor estrutura de dados para a construção desse buffer?
 Lista circular.
 Pilha.
RESPOSTA CORRETA: Fila.
Resposta correta. A alternativa está correta, pois a estrutura de dados Fila implementa a estratégia FIFO, ou seja, prioriza a retirada dos elementos mais recentes. Como as partes da mensagem serão retiradas e inseridas em sequência, a implementação de uma Fila nos dois pontos da transmissão estabelece que a mensagem não irá ser alterada por causa das regras de inclusão e exclusão que essa estrutura possui.
 Javascript.
 Árvore

Continue navegando