Baixe o app para aproveitar ainda mais
Prévia do material em texto
Usuário RONIE CAMILO Curso GRA0914 PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO GR2311202 - 202020.ead-11341.01 Teste ATIVIDADE 4 (A4) Iniciado 18/09/20 17:16 Enviado 30/09/20 14:17 Status Completada Resultado da tentativa 4 em 10 pontos Tempo decorrido 285 horas, 0 minuto Resultados exibidos Respostas enviadas, Respostas corretas, Comentários • Pergunta 1 0 em 1 pontos Um dos quatro pilares do Paradigma de Orientação a Objetos é o Encapsulamento, juntamente com Herança, Polimorfismo e Abstração. Por intermédio da observação desses pilares, o programador pode criar aplicativos simples e até grandes sistemas de alta complexidade. Considere o enunciado e assinale a alternativa correta, na qual estabelece a funcionalidade desse mecanismo que existe em todas as linguagens de programação que segue esse paradigma: Resposta Selecionada: Permitir que uma instância possa ser acessada em qualquer parte de uma aplicação. Resposta Correta: Impedir que uma propriedade possa ser manipulada por métodos externos. Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, porque o Encapsulamento funciona como uma “capa” protetora dos dados ( propriedades) de um programa, para não sofrer acessos de métodos externos, tal como variáveis definidas como locais a uma rotina, em que essas variáveis só podem ser acessadas dentro dela ou, no máximo, passadas como parâmetros a outras rotinas que a chamam. • Pergunta 2 1 em 1 pontos Observe o código a seguir em Visual Basic .Net (versão console ); seu objetivo é exibir a famosa frase “ Hello world ” na tela do monitor de vídeo, sem precisar tela gráfica com algum formulário que sustente controles instanciados de alguma classe. Module Module1 Sub Main() Console .WriteLine("Hello World") Console .Read() 'aguarda até pressionar [Enter] End Sub End Module De acordo com o código, podemos afirmar que: Resposta Selecionada: Console é uma classe que possui o método WriteLine . Resposta Correta: Console é uma classe que possui o método WriteLine. Feedback da resposta: A resposta está correta. A alternativa está correta, pois, em qualquer instrução na linguagem Visual Basic .Net (orientada a objetos), o termo, antes de parênteses, será um método que pode, ou não, retornar algum valor. No caso, os métodos WriteLine e Read e o termo Console são a classe que possui esses métodos. O primeiro tem a tarefa de exibir um valor na tela do monitor de vídeo e, em seguida, posicionar o cursor na próxima linha; o segundo lê o valor digitado. • Pergunta 3 0 em 1 pontos As iniciais WWW, de World Wide Web, sigla que, em português, significa rede mundial de computadores, define um sistema em que permite vários tipos de serviços, e o correio eletrônico ( e-mail ) é um deles. Sendo assim, assinale a alternativa correta, que estabelece sua classificação como um sistema. Isto posto, esse ambiente consegue definir qual é o tipo de sistema? Assinale a alternativa correta: Resposta Selecionada: Orientado a Objetos. Resposta Correta: Distribuído. Feedback da resposta: Sua resposta está incorreta. Sua resposta está incorreta. A alternativa está incorreta, porque, entre as alternativas apresentadas, apenas “ distribuído” se encaixa na rede mundial de computadores (WWW); as outras alternativas são, apenas, paradigmas de programação, e não um sistema propriamente dito. • Pergunta 4 1 em 1 pontos Para calcular o fatorial de um número inteiro e não negativo, podem ser criadas várias rotinas, nos mais diversos paradigmas de programação. Os dois códigos a seguir foram, ambos, escritos para calcular o fatorial (N!) de um número N. fat 0 = 1 fat = 1; fat N | N > 0 = N*fat(N-1) for j:=1 to N fat := Fat*j; Qual dos dois tem a possibilidade de ser de uma linguagem Funcional? Assinale a alternativa correta: Resposta Selecionada: O primeiro, porque trata o cálculo como a execução de uma função matemática. Resposta Correta: O primeiro, porque trata o cálculo como a execução de uma função matemática. Feedback da resposta: A resposta está correta. A alternativa está correta, pois é a implementação em uma linguagem Funcional (no caso, Haskell), tratando, justamente, a solução como a execução de uma função matemática, e de modo recursivo. Sua implementação se baseia, explicitamente, no formato de uma função matemática, o que caracteriza o Paradigma Funcional. • Pergunta 5 0 em 1 pontos Sob o paradigma de orientação a objetos, a programação torna-se uma atividade de planejamento de “coisas” do real, concreto e palpável. Por exemplo, equipamentos eletrodomésticos que podemos usar no dia a dia, de maneira bem fácil, a fim de desfrutar de seus recursos para entretenimento; o aparelho de DVD é um deles. Considerando o enunciado, analise as afirmativas a seguir. I. “GirarMotor” é uma operação interna de um aparelho de DVD, que pode ser comparada a um método privado da classe “AparelhoDVD”. II. “Adiantar” é uma operação externa de um aparelho (instância) de DVD, que pode ser comparada a um método público da classe “AparelhoDVD”. III. Se dois aparelhos (instâncias) de DVD possuem a mesma operação interna de “GirarMotor”, não quer dizer que sejam da mesma classe “AparelhoDVD”. IV. Se dois aparelhos (instâncias) de DVD pertencem à mesma classe “AparelhoDVD”, então possuem as mesmas propriedades . V. Se dois aparelhos(instâncias) de DVD pertencem à mesma classe “AparelhoDVD”, então possuem os mesmos métodos públicos . Está correto o que se afirma em: Resposta Selecionada: I, III e IV, apenas. Resposta Correta: I, II, III, IV e V. Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, porque não existe nenhuma afirmativa falsa; todas são verdadeiras quando inseridas no contexto do Paradigma de Orientação a Objetos, observando que DVD é um aparelho individual e “AparelhoDVD” representa uma classe geradora de vários aparelhos, que podem ser de marcas e ou formatos diferentes, mas de uma mesma classe. • Pergunta 6 0 em 1 pontos A sigla OOP (em português, Programação Orientada a Objetos) estabelece um padrão para programação e codificação nas linguagens que seguem esse paradigma; C#, Visual Basic .Net, Java, C++, são exemplos. Objeto, Método e Propriedade são elementos básicos desse paradigma. Assim, considerando que A seja uma classe, assinale a alternativa correta na análise da instrução A.B.C = D : Resposta Selecionada: C é um método polimórfico não sobrecarregado de A. Resposta Correta: B é uma instância de A. Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, porque, em OOP, nas instruções que envolvam classe (com exceção de derivações), ela tem que vir em primeiro lugar e, em seguida, uma instância dessa classe; não importa se a instrução seja de atribuição (como no caso apresentado) ou simplesmente na chamada de um método. • Pergunta 7 1 em 1 pontos A figura a seguir representa a interface de uma aplicação em C#, para calcular a idade (em anos) de um usuário, cuja data de nascimento deve ser digitada na primeira textBox ; e observe, também, que a segunda textBox está inacessível ao usuário. Figura - Interface de uma aplicação em C# Fonte: Elaborada pelo autor. Sendo assim, analise as alternativas a seguir e assinale a resposta correta: Resposta Selecionada: A idade será mostrada na terceira textBox após a confirmação no botão [Calcular] e, se houver alguma validação da data de nascimento no evento, clique neste botão. Resposta Correta: A idade será mostrada na terceira textBox após a confirmaçãono botão [Calcular] e, se houver alguma validação da data de nascimento no evento, clique neste botão. Feedback da resposta: A resposta está correta. A alternativa está correta, pois, em uma aplicação com interface gráfica e orientada a eventos, o usuário tem toda a liberdade para disparar qualquer evento sobre algum elemento da interface (inclusive no próprio formulário); por isso, todas as consequências das possibilidades de interação com a interface têm de ser previstas e avaliadas. No caso, ao rodar o programa, se o usuário clicar diretamente no botão [Calcular] sem digitar uma data válida na primeira TextBox, ocorrerá um erro de run time (como calcular a idade sem uma data de nascimento?). Então, a rotina do evento “ clique neste botão” tem que ter algum tipo de validação. • Pergunta 8 0 em 1 pontos O Paradigma de Orientação a Objetos, como é conhecido, define uma maneira de classificar as linguagens de programação, de acordo com certos protocolos, que são baseados em quatro pilares: abstração, herança, polimorfismo e encapsulamento. Desse modo, assinale a alternativa correta aplicável a esse padrão de programação: Resposta Selecionada: Sendo método uma função, então, na OOP, todas as linguagens são funcionais. Resposta Correta: Uma subclasse pode ter uma propriedade que não exista na sua superclasse. Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, porque, na OOP, embora uma classe tenha que ter, obrigatoriamente, todas as características de sua classe primitiva, também pode adquirir novas características para estender suas funcionalidades. Uma classe canina, por exemplo, dos labradores, tem que ter TODAS as características dos cães, mas apresenta comportamento diferente da classe dos dobermanns, embora sejam, ambos, derivados de uma mesma classe primitiva. • Pergunta 9 0 em 1 pontos O programa a seguir está codificado em Visualg, uma ferramenta de auxílio ao aprendizado de programação que usa uma pseudolinguagem em portugol . O objetivo do programa é calcular o MDC de vários números (não apenas de dois, como, de costume, é apresentado nas literaturas sobre programação). Analise o programa a seguir: Algoritmo " CalculaMDCVariosNumeros " //Calcula o MDC de vários números. //-------------------------------------------------------------------------- Var VetNum: vetor [ 1..10] de inteiro //limita vetor em dez elementos j, n, Aux, MDC, MDCx, Num1, Num2: inteiro Inicio Repita Escreva ("De quantos números será calculado o MDC? ") Leia (n) Ate ((n>=2) E (n<=10)) Escreval ("") //salta linha Para j De 1 Ate n Faca Escreva ("Digite o número #",j, ": ") Leia (VetNum[j]) FimPara Escreval ("") Para j De 1 Ate (n-1) Faca Se (j=1) Entao {Usa o "Algoritmo de Euclides" simples para um par de números} Num1 <- VetNum[1] Num2 <- VetNum[2] Senao {Considera o segundo número incrementado de duas unidades} Num2 <- VetNum[j+2] FimSe Enquanto (Num2<>0) Faca Aux <- Num1 Num1 <- Num2 Num2 <- (Aux Mod Num2) FimEnquanto MDCx <- Num1 //MDCx é o VetNum[j,(j+1)] FimPara MDC <- MDCx Escreval ("") Escreval ("") Escreva ("MDC(") Para j De 1 Ate n Faca Se (j<n) Entao Escreva (VetNum[j], ",") Senao Escreva (VetNum[j], ") =", MDC) FimSe FimPara Escreval ("") FimAlgoritmo Considerando o enunciado, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s): I. ( ) Visualg não é uma linguagem Funcional , porque não pode receber um vetor com vários números; então, não pode calcular o MDC de vários números. II. ( ) Como o programa também consegue ser implementado em C e, podendo essa linguagem receber um vetor de números, então, C é uma linguagem Funcional . III. ( ) Como o programa também consegue ser implementado em Pascal e, podendo essa linguagem receber um vetor de números, então, Pascal , assim como o C , também é uma linguagem Funcional . IV. ( ) O código anterior, implementado em Visualg , mostra que qualquer linguagem que consiga calcular o MDC de vários números pode ser classificada no paradigma Concorrente . V. ( ) O Visualg é uma linguagem Declarativa , pois exige a declaração estática de variáveis, como está evidente no código. Assinale a alternativa que apresenta a sequência correta: Resposta Selecionada: V, V, V, V, F. Resposta Correta: F, F, F, F, F. Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, porque não existe nenhuma alternativa com afirmação verdadeira; todas são falsas, quando são analisadas as linguagens de programação apresentadas: Pascal e Visualg. Na verdade, esta última é um ambiente de programação em que pode ser criado um pseudocódigo, baseado em um algoritmo, que pode ser testado/executado/depurado, antes de ser convertido para linguagem real. • Pergunta 10 1 em 1 pontos O Paradigma de Orientação a Objetos e o Paradigma de Orientação a Eventos definem novas formas de desenvolver programas de computador: o primeiro modulariza os programas por meio de Objetos (instâncias de classes) e o segundo o controle do fluxo dos programas em função de ações disparadas sobre controles em uma interface gráfica da aplicação. Assim, é correto afirmar que: Resposta Selecionada: Os controles da interface precisam ser objetos de alguma classe. Resposta Correta: Os controles da interface precisam ser objetos de alguma classe. Feedback da resposta: A resposta está correta. A alternativa está correta, pois, de acordo com o Paradigma de Orientação a Eventos, os controles dispostos na interface de uma aplicação ( botões, caixas de texto, rótulos, figuras etc.), TODOS precisam ser instâncias ( objetos) de alguma classe. E, além de possuírem propriedades e métodos, também devem responder a eventos, que são disparados sobre eles pelo usuário da aplicação; e esses eventos não precisam ser, necessariamente, evento click. Quarta-feira, 30 de Setembro de 2020 14h17min15s BRT
Compartilhar