Buscar

ATIVIDADE 4 - PARADIGMAS DE LINGUAGEM DE PROGRAMACAO docx

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Continue navegando