Baixe o app para aproveitar ainda mais
Prévia do material em texto
Usuário JONEMAR SAYD SAYD PINTO Curso GRA0914 PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO GR2311-212- 9 - 202120.ead-17683.01 Teste ATIVIDADE 4 (A4) Iniciado 03/12/21 17:49 Enviado 04/12/21 17:04 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 23 horas, 15 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: Distribuído. Distribuído. A resposta está correta. A alternativa está correta, pois WWW, sigla que é, muitas vezes, simplesmente conhecida por web, faz , justamente, a distribuição de vários serviços ao longo de uma rede que abrange o mundo todo: e-mails (correio eletrônico), voz sobre IP (VoIP), colaboração, serviços de arquivos, transmissão de mídia etc. Assim, WWW é o exemplo mais representativo de “sistema distribuído”. Pergunta 2 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 " 1 em 1 pontos 1 em 1 pontos //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 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: 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 3 Resposta Selecionada: 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: 1 em 1 pontos Resposta Correta: Comentário da resposta: O primeiro, porque trata o cálculo como a execução de uma função matemática. O primeiro, porque trata o cálculo como a execução de uma função matemática. 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 4 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: 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 5 Em Informática, as iniciais OOP (Object-Oriented Programming) definem o paradigma de linguagens orientadas a objetos. Esse paradigma é alicerçado em quatro pilares: abstração, herança, polimorfismo e encapsulamento, que dão suporte básico a esse padrão de programação. Considerando o enunciado, analise as afirmativas a seguir: I. A Linguagem C# é uma linguagem Funcional. II. Orientação a Objetos não é um paradigma de programação. 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: Resposta Correta: Comentário da resposta: 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 afirma 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. Pergunta 6 Resposta Selecionada: Resposta Correta: Comentário da resposta: O Paradigma de Orientação a Objetos e o Paradigma de Orientação a Eventosdefinem 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: 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 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 Na linguagem Java Script, como é conhecida, é possível codificar programas em que vários blocos de código podem ser executados independentemente e, também, simultaneamente. Esse fato a coloca na classificação de um paradigma de 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: Resposta Correta: Comentário da resposta: programação. Assim sendo, assinale a alternativa que define o paradigma ao qual pertence essa linguagem. Concorrente. Concorrente. A resposta está correta. A alternativa está correta, porque, quando dois (ou mais) subprogramas ( sub-rotinas ou módulos operacionais) podem ser executados, independentemente e simultaneamente, eles concorrem para a solução de problemas paralelos em um mesmo programa. Um exemplo são as threads, que são executadas ao mesmo tempo que outras partes dos programas. Pergunta 8 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: Uma subclasse pode ter uma propriedade que não exista na sua superclasse. Uma subclasse pode ter uma propriedade que não exista na sua superclasse. A resposta está correta. A alternativa está correta, porque, de acordo com o princípio da herança, essa característica é, obrigatoriamente, vertical; porém, também pode ser horizontal em cada classe derivada. Isso quer dizer que uma classe derivada, além de herdar TODAS as características de sua classe primitiva, também pode adquirir outras características personalizadas para se adaptar às circunstâncias. Pergunta 9 O Visual Basic .Net e o Delphi são exemplos de ferramentas de desenvolvimento do tipo RAD (Rapid Application Development, Desenvolvimento Rápido de Aplicações), ambas hospedando linguagens de alto nível: Basic, na primeira ferramenta citada, e Object Pascal na segunda. De acordo com o conteúdo do enunciado, assinale a alternativa correta: 1 em 1 pontos 1 em 1 pontos Sábado, 4 de Dezembro de 2021 17h05min25s BRT Resposta Selecionada: Resposta Correta: Comentário da resposta: Ambas criam aplicações que interagem com o usuário por intermédio de interfaces grá�cas. Ambas criam aplicações que interagem com o usuário por intermédio de interfaces gráficas. A resposta está correta. A alternativa está correta, pois as linguagens que possuem as características RAD podem criar aplicações que interagem diretamente com o usuário por meio de uma interface grá�ca criada sobre um formulário. Visual Basic .Net e Delphi foram as primeiras a oferecerem esse tipo de serviço no paradigma de Orientação a Eventos. Pergunta 10 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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 : 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. 1 em 1 pontos
Compartilhar