Baixe o app para aproveitar ainda mais
Prévia do material em texto
30/09/2020 Revisar envio do teste: ATIVIDADE 4 (A4) – GRA0914 ... https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 1/6 Usuário MARINA GOLAO VALE Curso GRA0914 PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO GR2311202 - 202020.ead- 11341.01 Teste ATIVIDADE 4 (A4) Iniciado 30/09/20 16:14 Enviado 30/09/20 17:01 Status Completada Resultado da tentativa 8 em 10 pontos Tempo decorrido 47 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Resposta Correta: Feedback da resposta: Um dos quatro pilares do Paradigma de Orientação a Objetos é o Encapsulamento, juntamente com Herança, Polimor�smo 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: Impedir que uma propriedade possa ser manipulada por métodos externos. Impedir que uma propriedade possa ser manipulada por métodos externos. A resposta está correta. A alternativa está correta, pois o Encapsulamento, um dos pilares do Paradigma de Orientação a Objetos, foi criado para evitar con�itos na programação no tocante à proteção de elementos de�nidos nas linguagens que seguem esse paradigma. O Encapsulamento protege os dados (propriedades) de acessos externos indevidos. Pergunta 2 Resposta Selecionada: Resposta Correta: Feedback da resposta: O Paradigma de Orientação a Objetos, ao contrário de outros paradigmas, de�ne regras para modularização de sistemas, baseadas em um único elemento: o Objeto; daí seu nome. Esses elementos (objetos) são criados por meio de elementos mais abrangentes, chamados Classes. Analise as a�rmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s). I. ( ) Se C# é orientada a objetos, então podemos criar classes nessa linguagem. II. ( ) Qualquer tipo de classe pode instanciar objetos. III. ( ) Se uma classe A é superclasse de B; então, B possui todos os métodos de A . IV. ( ) Um método em comum de duas instâncias não implica serem de uma mesma classe. V. ( ) Um método sobrecarregado pode executar tarefas diferentes. Assinale a alternativa que apresenta a sequência correta: V, F, V, V, V. V, F, V, V, V. A resposta está correta. A alternativa está correta, porque existem situações em que uma classe não pode criar instâncias (objetos). É o caso das classes Abstratas. Nesse contexto, embora uma classe (primitiva) desse tipo possa ser derivada, ela não tem a capacidade de criar instâncias. É o que ocorre, por exemplo, na Linguagem C# com a palavra-chave abstract. Pergunta 3 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; 1 em 1 pontos 1 em 1 pontos 0 em 1 pontos 30/09/2020 Revisar envio do teste: ATIVIDADE 4 (A4) – GRA0914 ... https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 2/6 Resposta Selecionada: Resposta Correta: Feedback da resposta: 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: Nenhum dos dois, pois não declaram, explicitamente, as variáveis envolvidas. O primeiro, porque trata o cálculo como a execução de uma função matemática. Sua resposta está incorreta. A alternativa está incorreta, porque apenas a primeira tem características de linguagem Funcional. A segunda é um código em Pascal; está, claramente, caracterizado como uma implementação nessa linguagem; e Pascal é uma linguagem do Paradigma Imperativo, não suportando instruções objetivamente funcionais. Pergunta 4 Resposta Selecionada: Resposta Correta: Feedback da resposta: O Paradigma de Orientação a Objetos, como é conhecido, de�ne uma maneira de classi�car as linguagens de programação, de acordo com certos protocolos, que são baseados em quatro pilares: abstração, herança, polimor�smo e encapsulamento. Desse modo, assinale a alternativa correta aplicável a esse padrão de programação: A instanciação de um objeto implica na criação de uma nova classe. Uma subclasse pode ter uma propriedade que não exista na sua superclasse. 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 5 O programa a seguir está codi�cado 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] 0 em 1 pontos 1 em 1 pontos 30/09/2020 Revisar envio do teste: ATIVIDADE 4 (A4) – GRA0914 ... https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 3/6 Resposta Selecionada: Resposta Correta: Feedback da resposta: 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 a�rmativas 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 classi�cada 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ênciacorreta: F, F, F, F, F. F, F, F, F, F. A resposta está correta. A alternativa está correta, pois, ao analisarmos as linguagens de programação mostradas e as diretrizes e protocolos dos paradigmas de programação, nenhuma das alternativas disponíveis se apresenta como verdadeira. No caso do Visualg, esta nem é uma linguagem real: é apenas um ambiente de auxílio ao aprendizado de programação, para testes de algoritmos escritos em pseudocódigo. Pergunta 6 Resposta Selecionada: Resposta Correta: Feedback O Paradigma de Orientação a Objetos e o Paradigma de Orientação a Eventos de�nem 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 �uxo dos programas em função de ações disparadas sobre controles em uma interface grá�ca da aplicação. Assim, é correto a�rmar que: Os controles da interface precisam ser objetos de alguma classe. Os controles da interface precisam ser objetos de alguma classe. A resposta está correta. A alternativa está correta, pois, de acordo com o Paradigma de 1 em 1 pontos 30/09/2020 Revisar envio do teste: ATIVIDADE 4 (A4) – GRA0914 ... https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 4/6 da resposta: Orientação a Eventos, os controles dispostos na interface de uma aplicação ( botões, caixas de texto, rótulos, �guras 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. Pergunta 7 Resposta Selecionada: Resposta Correta: Feedback da resposta: A sigla OOP (em português, Programação Orientada a Objetos) estabelece um padrão para programação e codi�caçã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 : B é uma instância de A. B é uma instância de A. A resposta está correta. A alternativa está correta, pois a instrução apresentada é típica de uma atribuição em uma linguagem orientada a objetos. O valor à direita ( D) do operador = é atribuído à propriedade da instância de uma classe do seguinte modo: Classe.instância.Propriedade = valor. Assim, a instrução citada, B, é, certamente, um objeto instanciado da classe A. Pergunta 8 Resposta Selecionada: Resposta Correta: A �gura 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: A idade será mostrada na terceira textBox após a con�rmação no botão [Calcular] e, se houver alguma validação da data de nascimento no evento, clique neste botão. 1 em 1 pontos 1 em 1 pontos 30/09/2020 Revisar envio do teste: ATIVIDADE 4 (A4) – GRA0914 ... https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 5/6 Quarta-feira, 30 de Setembro de 2020 17h01min54s BRT Feedback da resposta: A idade será mostrada na terceira textBox após a con�rmação no botão [Calcular] e, se houver alguma validação da data de nascimento no evento, clique neste botão. A resposta está correta. A alternativa está correta, pois, em uma aplicação com interface grá�ca 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 9 Resposta Selecionada: Resposta Correta: Feedback da resposta: 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á�ca 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 a�rmar que: Console é uma classe que possui o método WriteLine . Console é uma classe que possui o método WriteLine. 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 10 Resposta Selecionada: Resposta Correta: Feedback da resposta: Em Informática, as iniciais OOP (Object-Oriented Programming) de�nem o paradigma de linguagens orientadas a objetos. Esse paradigma é alicerçado em quatro pilares: abstração, herança, polimor�smo e encapsulamento, que dão suporte básico a esse padrão de programação. Considerando o enunciado, analise as a�rmativas a seguir: I. A Linguagem C# é uma linguagem Funcional. II. Orientação a Objetos não é um paradigma de programação. III. Em OOP, classe é um molde para criar instâncias de um dado tipo de objeto. IV. Uma linguagem Imperativa é, necessariamente, orientada a objetos. V. Se duas instâncias têm um mesmo método em comum, pertencem à mesma classe. Está correto o que se a�rma em: III, apenas. III, apenas. A resposta está correta. A alternativa está correta, porque um dos pilares do paradigma de Orientação a Objetos é, justamente, a criação de instâncias (objetos) baseadas em um modelo (classe). Esse mecanismo de instanciação permite a modularização de sistemas baseados nesse paradigma, por meio de objetos, cujas características são herdadas desse molde. 1 em 1 pontos 1 em 1 pontos 30/09/2020 Revisar envio do teste: ATIVIDADE 4 (A4) – GRA0914 ... https://anhembi.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 6/6 ← OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_14296107_1&course_id=_612374_1&nolaunch_after_review=true');
Compartilhar