Prévia do material em texto
Prova Impressa GABARITO | Avaliação Final (Discursiva) - Individual (Cod.:690399) Peso da Avaliação 4,00 Prova 39663247 Qtd. de Questões 2 Nota 10,00 Na programação orientada a objetos, é bastante comum o uso de estruturas que permitam o armazenamento de um conjunto de objetos para uso posterior. Uma das maneiras de resolver este problema é através de matrizes e vetores que, embora sejam bastante eficientes no armazenamento de objetos, apresentam dificuldades na recuperação dos mesmos. A api de collections da plataforma Java procura disponibilizar uma alternativa para utilização neste tipo de situação. Disserte sobre as estruturas disponíveis ArrayList e HashMap e suas principais diferenças. Resposta esperada ArrayList - tipo de estrutura semelhante a uma matriz. Permite a colocação de qualquer tipo de objetos, aceitando duplicatas e ordenação. Objetos podem ser referenciados através do índice e a ordem dos elementos é exatamente a mesma da inserção. HashMap - tipo de estrutura que relaciona um objeto-chave a um objeto valor, o que é benéfico para a busca de elementos. Tanto a chave quanto o valor são object, o que permite que se coloque qualquer tipo de dados para a chave e o valor. A ordem não necessariamente é a mesma da inserção, pois os objetos são inseridos em uma espécie de pool e recuperados de acordo com a sua chave. A estrutura aceita duplicatas, desde que referenciadas por índices diferentes. Em contrapartida, não podem existir índices repetidos. Minha resposta O ArrayList possui uma estrutura semelhante a uma matriz, ele permite que seja inserido qualquer tipo de objeto, aceitando duplicatas e ordenação. Os objetos podem ser referenciados por índice e a ordem dos elementos é a mesma em que foram inseridos. HashMap é um tipo de estrutura que relaciona uma chave a um valor, o que facilita para a busca de elementos. A chave e valor são objetos, isso nos permite que coloquemos qualquer tipo de dado para a chave e o valor. A ordem nem sempre é a mesma da inserção, pois os objetos são inseridos e recuperados de acordo com a sua chave. Essa estrutura aceita duplicatas, desde que referenciemos por índices diferentes e não podem existir índices repetidos. O processo de programação envolve essencialmente uma etapa de tradução, cujos códigos-fonte são traduzidos para uma linguagem de máquina, que é entendida pelo computador e resulta na execução do programa. Disserte sobre as principais diferenças entre os processos de tradução conhecidos como interpretação e compilação. Resposta esperada No programa compilado, todas as instruções são avaliadas e, se não existir erro, um binário é criado e permitirá a sua execução. No interpretado, cada linha é avaliada e executada sequencialmente, caso não houver erro. Em uma linguagem de programação compilada, há a necessidade do compilador, mecanismo responsável pela VOLTAR A+ Alterar modo de visualização 1 2 avaliação de erros e conversão para o código binário. Em uma linguagem de programação interpretada, deve existir um intermediário para fazer a leitura deste código fonte e tradução para o sistema operacional. O desempenho de execução é normalmente maior em programas compilados, mas os programas interpretados têm a vantagem de possibilitar o desenvolvimento multiplataforma mais naturalmente. Minha resposta Interpretação: neste caso o interpretador tem como função executar o código fonte, traduzindo o que o programa faz a cada linha de código escrita. Assim o computador consegue interpretar os códigos, e o programa vai sendo executado, e a cada execução do código o programa precisa ser interpretado novamente pelo computador. Conforme Costa (2010, p. 26), na técnica de interpretação, um programa é convertido em outro, dinamicamente. Toda vez que uma execução for necessária, o código- fonte será traduzido para uma linguagem que possa ser executada, direta ou indiretamente, pelo sistema operacional. Conforme Lopes (1997), um interpretador compila e executa um programa fonte, porém isso pode acontecer de forma mais lenta comparado ao compilador, pois num interpretador precisa traduzir cada código que está sendo inserido no programa. Compilação: nessa técnica precisamos de um programa especial chamado de compilador, ele recebe um código fonte e produz como saída o mesmo programa, porém escrito em outra linguagem. O resultado da compilação pode ser chamado de código objeto, intermediário ou executável, de acordo com o processo de compilação realizado e a terminologia utilizada. Conforme Lopes (1997, p. 52), “um compilador tem a função de transformar um algoritmo codificado em uma linguagem X para a linguagem da máquina equivalente”. Resumindo um Interpretador, interpreta linha a linha o código do programa conforme é escrito, já o compilador pega todo o código escrito após pronto e o transforma para uma linguagem de máquina equivalente. Imprimir