Prévia do material em texto
Prova Impressa GABARITO | Avaliação I - Individual (Cod.:1523256) Peso da Avaliação 2,00 Prova 104323162 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 Na programação orientada a objetos, os conceitos estruturais de abstratos, atributo, método e mensagem desempenham papéis fundamentais na modelagem e interação entre objetos. Abstração: Referem-se a ideias ou conceitos sem uma representação física direta, descrevendo características ou comportamentos comuns a um grupo de objetos. Atributo: Característica de um objeto que descreve seu estado ou propriedade. Método: Ação que um objeto pode realizar. Mensagem: Interação entre objetos através de pedidos para que um objeto execute um de seus métodos. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nos conceitos apresentados nos temas de abstratos, atributo, método e mensagem na programação orientada a objetos, assinale a alternativa correta que corresponde à definição de cada conceito: A Abstração: Implementação específica e detalhada de cada função de um objeto. B Método: Representação física direta de um conceito ou ideia. C Mensagem: Pedido para que um objeto execute um outro objeto. D Abstração: Descrição de uma ação que um objeto pode realizar. E Atributo: Característica de um objeto que descreve seu estado ou propriedade. A programação estruturada, que se baseia em sequência, decisão e iteração, foi o paradigma dominante antes da orientação a objetos. Embora seja capaz de lidar com problemas simples, pode se tornar complexa em situações mais elaboradas, como sistemas de controle de bibliotecas, devido à sua limitação na representação de relações complexas entre os dados. Por outro lado, a orientação a objetos organiza a complexidade ao modelar entidades do mundo real como objetos com comportamentos e propriedades definidas, facilitando a manutenção e compreensão do código. Fonte: Adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Identifique uma das principais limitações da programação estruturada que é superada com a implementação da programação orientada a objetos: A Dificuldade em lidar com estruturas básicas de programação. B Complexidade na manutenção de um código organizado. C VOLTAR A+ Alterar modo de visualização 1 2 Propensão a erros devido à redundância de código. D Limitações na representação de relações complexas entre os dados. E Falta de abstrações de dados. Em um sistema de gerenciamento de uma loja de veículos, temos a classe "Veiculo" que possui atributos como "marca", "modelo" e "ano". Além disso, a classe possui o método "ligar()". Porém, cada tipo de veículo tem uma implementação específica do método "ligar()". Por exemplo, carros ligam de forma diferente de motos ou caminhões. Fonte: adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016 Identifique o conceito de programação orientada a objetos que é corretamente ilustrado por esta situação: A Associação. B Visibilidade. C Interface. D Herança. E Polimorfismo. Nas boas práticas de uso da orientação a objetos descritas por Carvalho (2016), enfatiza-se a importância de cuidar dos métodos em uma classe, destacando a redução do tamanho, a eliminação da repetição de código e a gestão adequada dos parâmetros. De acordo com as orientações de Carvalho (2016), métodos menores e mais concisos são preferíveis, facilitando a compreensão e a manutenção do código. Evitar a passagem de muitos parâmetros de forma isolada também é recomendado, pois pode aumentar o acoplamento e dificultar futuras alterações. A organização adequada dos métodos é crucial para desenvolver sistemas mais claros e sustentáveis. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base nas boas práticas de orientação a objetos descritas por Carvalho (2016), analise as afirmativas a seguir: I. Reduzir o tamanho dos métodos pode contribuir para uma melhor compreensão do código e facilitar sua manutenção ao longo do tempo. II. Evitar a repetição de código nos métodos é uma prática recomendada, pois reduz a redundância e promove uma melhor organização do código. III. Passar uma grande quantidade de parâmetros de forma isolada simultaneamente para os métodos é uma abordagem apropriada no contexto orientado a objetos. É correto o que se afirma em: A I, II e III. B I e II, apenas. C III, apenas. 3 4 D I, apenas. E II e III, apenas. A orientação a objetos (OO) é um paradigma de programação amplamente adotado na indústria de software devido aos benefícios que oferece no desenvolvimento de sistemas complexos. A OO promove a modularidade, reutilização e extensibilidade do código, facilitando a manutenção e evolução dos sistemas ao longo do tempo. Além disso, a OO permite uma representação mais fiel de entidades do mundo real, o que torna a modelagem de sistemas mais intuitiva e próxima do domínio do problema. Os conceitos de herança, polimorfismo e encapsulamento fornecem mecanismos poderosos para a construção de hierarquias de classes flexíveis e extensíveis, promovendo uma melhor organização e estruturação do código. Fonte: Adaptado de: LEITE, T.; CARVALHO, T. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Identifique o motivo para a adesão da orientação a objetos na indústria de software: A Limitação na extensibilidade e evolução dos sistemas ao longo do tempo. B Maior ênfase na sequência de operações e controle explícito do fluxo de execução. C Redução da modularidade e reutilização do código. D Facilitação da manutenção e organização do código-fonte. E Possibilidade de representar entidades do mundo real de forma mais fiel e intuitiva. Na programação orientada a objetos, os princípios de coesão e acoplamento são fundamentais. A coesão refere-se à interdependência dos elementos de um módulo, indicando o quão bem suas responsabilidades estão definidas e agrupadas de maneira lógica. Por outro lado, o acoplamento descreve a dependência entre os módulos de um sistema, onde um baixo acoplamento implica em uma interdependência mínima entre os elementos. Fonte: Adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Identifique como a coesão e o acoplamento, como princípios da programação orientada a objetos, contribuem para a qualidade do software: A A coesão refere-se à dependência entre os módulos de um sistema, enquanto o acoplamento descreve o grau em que os elementos de um módulo estão inter-relacionados. Uma alta coesão e um alto acoplamento são desejáveis para promover a modularidade do código. B A coesão refere-se à interação entre os atributos e métodos de uma classe, enquanto o acoplamento descreve a dependência entre os módulos de um sistema. Uma alta coesão e um alto acoplamento são desejáveis para promover a flexibilidade do código. C A coesão refere-se à interdependência entre os módulos de um sistema, enquanto o acoplamento descreve o grau em que os elementos de um módulo estão inter-relacionados. Uma alta coesão e um baixo acoplamento são desejáveis para promover a modularidade, reutilização e manutenção do código. 5 6 D A coesão refere-se à interação entre os objetos de um sistema, enquanto o acoplamento descreve a dependência entre os atributos e métodos de uma classe. Uma baixa coesão e um alto acoplamento são desejáveis para promover a flexibilidade do código. E A coesão refere-se à interdependência entre os módulos de um sistema, enquanto o acoplamento descreve o grau em que os elementos deum módulo estão inter-relacionados. Uma alta coesão e um médio acoplamento são desejáveis para promover a modularidade, reutilização e manutenção do código. A Programação Orientada a Objetos (POO) é uma abordagem de desenvolvimento de software que modela objetos do mundo real. Ela utiliza conceitos como abstração, que simplifica a complexidade por meio de modelos essenciais; encapsulamento, que oculta detalhes internos; e herança, que permite criar novas classes com base em classes existentes. Além disso, a associação une objetos com interesses comuns. Fonte: adaptado de: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva. 1. ed. São Paulo: Casa do Código, 2016. Suponha que na estrutura de uma empresa foram definidas três classes: Gerente, Funcionário e Vendedor. Dentro dessa hierarquia, os Gerentes têm a responsabilidade de coordenar os Vendedores e ambos são considerados Funcionários da empresa. Com base no exposto, analise as opções a seguir: I. Gerente é abstração de Vendedor. II. Gerente e Vendedor são associações. III. Gerente e Vendedor herdam de Funcionário. IV. Gerente e Vendedor especializam Funcionário.É correto o que se afirma em: A I e IV, apenas. B II, III e IV, apenas. C III e IV, apenas. D II e III, apenas. E I, II e III, apenas. Em um sistema de gestão de uma escola, temos as classes "Professor" e "Disciplina". Cada professor ministra uma ou mais disciplinas, e cada disciplina é ministrada por apenas um professor. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Identifique o tipo de associação existente entre as classes "Professor" e "Disciplina": A Composição. B Agregação. C Herança. D Sobrescrita. E Polimorfismo. 7 8 Ao desenvolver em Java, é essencial evitar práticas inadequadas da programação estruturada, buscando aproveitar os recursos oferecidos pela linguagem para garantir código mais legível, eficiente e livre de erros. Utilizar a classe StringBuilder para manipulação de strings, a classe BigDecimal para valores monetários e o foreach para simplificar loops for são algumas das boas práticas recomendadas. Esses recursos ajudam a minimizar instâncias desnecessárias de objetos, evitar imprecisões em cálculos e simplificar a manipulação de coleções. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Com base no texto fornecido sobre as práticas recomendadas na programação orientada a objetos em Java, analise as afirmativas a seguir: I. Buscar por classes auxiliares e recursos oferecidos pela linguagem pode tornar o desenvolvimento em Java mais difícil e ineficaz. II. O foreach é uma alternativa ao loop for tradicional e simplifica a manipulação de coleções, percorrendo automaticamente os elementos. III. O uso indiscriminado de concatenação de strings pode prejudicar a legibilidade do código e criar instâncias desnecessárias de objetos. IV. A classe BigDecimal é recomendada para lidar com valores monetários devido à sua precisão e eficiência na manipulação de números decimais. É correto o que se afirma em: A II e III, apenas. B II, III e IV, apenas. C I, II e III, apenas. D I e IV, apenas. E III e IV, apenas. No contexto de programação orientada a objetos, onde uma classe é um modelo para criar objetos que define atributos e comportamentos comuns a esses objetos, um atributo são características de uma classe que descrevem seu estado, um método são ações que um objeto pode executar, um objeto é uma instância de uma classe, e uma mensagem é a forma como objetos interagem entre si. Fonte: CARVALHO, Tiago Leite. Orientação a Objetos: Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva. 1. ed. São Paulo: Casa do Código, 2016. Considere o contexto de uma loja de eletrodomésticos e analise as afirmativas a seguir: I. Liquidificador pode ser definido como uma classe e produto como um objeto. II. O Produto pode ser definido como uma classe e o liquidificador como um objeto. III. Data_venda pode ser definido como um atributo e calcular_preço como um método. IV. Nome_produto pode ser definido como um método e calcular_desconto como um atributo. É correto o que se afirma em: A III e IV, apenas. B I, II e III, apenas. C II e III, apenas. 9 10 D I e IV, apenas. E II, III e IV, apenas. Imprimir