Baixe o app para aproveitar ainda mais
Prévia do material em texto
● Pergunta 1 ● 0 em 1 pontos ● ● Pergunta 2 ● 0 em 1 pontos ● 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 programação. Assim sendo, assinale a alternativa que define o paradigma ao qual pertence essa linguagem. Resposta Selecionada: Funcional. Resposta Correta: Concorrent e. Feedback da respo sta: Sua resposta está incorreta. A alternativa está incorreta, porque trata de linguagens com poder de possuir módulos operacionais que podem ser executados paralelamente, concorrendo para a solução de problemas diferentes em um mesmo programa. Tanto linguagens orientadas a objetos quanto imperativas, funcionais ou declarativas, não possuem o poder de executar rotinas independentes, de maneira concorrente. ● Pergunta 3 ● 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 Seleciona da: Permitir que uma classe possa ser derivada de outra. Resposta Correta: Impedir que uma propriedade possa ser manipulada por métodos externos. Feedback da respo sta: 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. 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 : ● Pergunta 4 ● 0 em 1 pontos ● Resposta Selecionada: C é um método sobrecarregado de A que exige parâmetros. Resposta Correta: B é uma instância de A. Feedback da respo sta: 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. 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: ● Pergunta 5 ● 1 em 1 pontos ● Resposta Seleciona da: 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 respo sta: 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. 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: ● Pergunta 6 ● 1 em 1 pontos ● 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 respo sta: 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. 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: ● Pergunta 7 ● 1 em 1 pontos ● Resposta Selecion ada: Ambas criam aplicações que interagem com o usuário por intermédio de interfaces gráficas. Resposta Correta: Ambas criam aplicações que interagem com o usuário por intermédio de interfaces gráficas. Feedback da respo sta: 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áfica 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. 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: ● Pergunta 8 ● 1 em 1 pontos ● Resposta Selecionada: Distribuí do. Resposta Correta: Distribuíd o. Feedback da respo sta: 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”. 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: ● Pergunta 9 ● 1 em 1 pontos ● Resposta Seleciona da: O primeiro, porque trata ocá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 respo sta: 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. O Paradigma de Orientação a Objetos, ao contrário de outros paradigmas, define 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 afirmativas 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: ● Pergunta 10 ● 1 em 1 pontos ● Resposta Selecionada: V, F, V, V, V. Resposta Correta: V, F, V, V, V. Feedback da respo sta: 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. 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: F, F, F, F, F. Resposta Correta: F, F, F, F F. Feedback da respo sta: 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.
Compartilhar