Baixe o app para aproveitar ainda mais
Prévia do material em texto
N2 – Paradigmas de Linguagem de Programação Avaliado Nota 8 PERGUNTA 1 1. Observe o pseudocódigo a seguir, que tem a finalidade de calcular a soma dos termos de uma Progressão Aritmética (PA) de maneira recursiva. Esse pseudocódigo representa uma função que pode ser convertida em código C, encaixada dentro de um programa mais geral, que pode conter outras rotinas para realizar diferentes tipos de cálculos, e essa rotina seria uma delas. Função FunSomaPA(a1,n,r:inteiro): inteiro //Retorna a soma dos n primeiros termos de uma PA. //r é a razão e n o número de termos da PA. //------------------------------------------------- Declare Ret: inteiro Início Se((n=0) ou (r=0)) Então Ret <- 0 Senão Se(n=1) Então Ret <- a1 Senão Ret <- FunSomaPA((a1+r),(n-1),r) FimSe FimSe Retorne Ret FimFunção Considerando o enunciado apresentado, analise as afirmativas a seguir: I. C é uma linguagem Funcional porque pode abrigar funções. II. Não é pelo fato de abrigar uma função que C pode ser considerada Funcional. III. C é uma linguagem Declarativa, porque essa função pode ser declarada. IV. Essa função poderia ser integrada a um programa em C, mas não recursiva. Está correto o que se afirma em: I, II, III e IV. I e III, apenas. I, II e III, apenas. II, apenas. II e III, apenas. 1 pontos PERGUNTA 2 1. Considerando o “paradigma de orientação a objetos”, observe a figura a seguir, que representa a superclasse TFiguraPlana, com suas subclasses. Figura - Desmistificando a Programação Orientada a Objetos Fonte: Elaborada pelo autor. Sendo TQuadrado uma subclasse da classe primitiva TFiguraPlana, por que a propriedade QuadroLados não aparece em TFiguraPlana? Assinale a alternativa correta, que justifica o enunciado apresentado: Deveria aparecer, sim; a figura está incorreta. Porque houve um polimorfismo na classe TQuadrado. Porque uma instância de TFiguraPlana não tem quatro lados. Porque QuatroLados é um método, não uma propriedade. Porque uma subclasse pode criar outras características além das da superclasse. 1 pontos PERGUNTA 3 1. 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: Sendo método uma função, então, na OOP, todas as linguagens são funcionais. Uma subclasse pode ter uma propriedade que não exista na sua superclasse. A instanciação de um objeto implica na criação de uma nova classe. Uma subclasse não pode criar outras classes. Uma subclasse não pode ter um método que não exista na sua superclasse. 1 pontos PERGUNTA 4 1. A Linguagem C# é uma representante típica das linguagens OOL (Object Oriented Language, Linguagem Orientada a Objetos), além de ser, também, orientada a eventos. Desse modo, um de seus recursos é o poder de criar novas classes a partir de uma já existente. Class TAluno : TPessoa; Desse modo, podemos afirmar que: A TPessoa vai herdar tudo da classe TAluno. Não pode existir método da classe TAluno que não exista na classe TPessoa. A classe TAluno pode criar novos métodos que não estejam na classe TPessoa. Todos os objetos da classe TPessoa estarão na classe TAluno. A classe TPessoa terá todas as propriedades e métodos da classe TAluno. 1 pontos PERGUNTA 5 1. Existem várias maneiras de classificar as linguagens de programação, entre elas está o que se chama Paradigma de Programação. Há vários tipos de paradigmas, entre os quais podemos citar: Estruturado, Imperativo, Descritivo, Funcional e Orientado a Objetos. Considerando o enunciado, analise as afirmativas a seguir: 1. A Linguagem Pascal é uma linguagem Funcional e Imperativa. 2. A Linguagem Pascal é uma linguagem Imperativa. 3. Uma linguagem Funcional obriga o computador a trabalhar como uma calculadora. 4. Uma linguagem Funcional dá ênfase às estruturas de controle. 5. Uma linguagem Funcional se baseia nos dados de fora da função. Está correto o que se afirma em: III e IV, apenas. V, apenas. II e III, apenas. I e II, apenas. II e V, apenas. 1 pontos PERGUNTA 6 1. Dentre os vários números interessantes na Matemática, 6174 é realmente um mistério, tornando-se alvo de intensas pesquisas dos matemáticos a partir dos trabalhos do indiano Dattathreya Ramachandra Kaprekar (1905-1986). O algoritmo a seguir é uma solução para gerar esse número. //Algoritmo: Gera o número 6174. --------------------------------------------------------------------------- ---------------------------------------- Início 1- Pegue um número N de quatro dígitos. 2- Se( não tiver pelo menos dois dígitos diferentes tamanho 4 ) Então, vá para o Passo 1. FimSe 3- Crie um número X como resultado da classificação de N em ordem decrescente. 4- Crie outro número Y com os dígitos do número X em ordem crescente. 5- Se( Y tiver menos que quatro dígitos ) Então, acrescente zeros à direita de Y. FimSe 6- Subtraia X de Y. 7- Se( o resultado da subtração for diferente de 6174 ). Então, faça N igual ao resultado da subtração (com quatro dígitos). Vá para o Passo 3 FimSe 8- Mostre o resultado da subtração. Fim Assinale a alternativa correta, que mostra de que maneira é dada essa solução no algoritmo: Não estruturada. Apenas modular. Bem estruturada. Modular e não estruturada. Modular e estruturada. 1 pontos PERGUNTA 7 1. Pelo princípio da Máquina de Von Neumann, os dados são a origem das entradas, que são processados; e o resultado é a saída. Esse é um princípio observado até hoje, mesmo em linguagens mais modernas, pois estabelece que, sem dados introduzidos no sistema computacional, não existe como obter qualquer tipo de informação. Desse modo, tal princípio define uma linguagem: Declarativa. Estritamente orientada a objetos. Estritamente orientada a eventos. Funcional. Imperativa. 1 pontos PERGUNTA 8 1. 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: V, F, F, F, V. V, F, V, F, V. F, F, F, F, F. V, V, V, V, F. V, V, V, F, V. 1 pontos PERGUNTA 9 1. 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. Concorrente. Declarativo. Imperativo. Orientado a objetos. Funcional. 1 pontos PERGUNTA 10 1. A seguir, considere a expressão de uma equação do segundo grau do tipo: f(x) =x^2 + x + 6, onde x é variável independente e f(x) uma função linear, cujos valores só dependem dos valores assumidos por x. Desse modo, ao levarmos em conta a faixa dos números reais, permitida para uma determinada linguagem de programação, o que podemos afirmar? Analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s). 1. ( ) O Paradigma Funcional se baseia nesse princípio. 2. ( ) O Paradigma Funcional não se baseia nesse princípio. 3. ( ) O Paradigma Imperativo se baseia nesse princípio. 4. ( ) Nenhum paradigma se baseia nesse tipo de expressão. Assinale a alternativa que apresenta a sequência correta: F, V, V, F. V, F, F, F. V, V, F, F. F, F, V, F. F, V, F, V. 1 pontos
Compartilhar