Buscar

Atividade Objetiva 2 Paradigmas de Linguagens de Programação FAM

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 8 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 8 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

Prévia do material em texto

22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 1/8
Atividade Objetiva 2
Entrega 18 jun em 23:59 Pontos 1 Perguntas 5
Disponível até 18 jun em 23:59 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Este teste não está mais disponível, pois o curso foi concluído.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 54 minutos 1 de 1
Pontuação desta tentativa: 1 de 1
Enviado 16 jun em 12:05
Esta tentativa levou 54 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você
clique em "FAZER O QUESTIONÁRIO", no final da página.
0,2 / 0,2 ptsPergunta 1
Leia o texto a seguir:
“Os componentes primários de Prolog são um método para a
especificação de proposições de cálculo de predicados e uma
implementação de uma forma restrita de resolução (...). O nome Prolog
vem de programming logic (programação lógica).”
SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto
Alegre: Bookman, 2018.
Analise as afirmações sobre a linguagem de programação mencionada
no texto.
I. O Prolog é considerado uma linguagem declarativa.
II. Programação lógica é uma forma de programação funcional.
A+
A
A-
https://famonline.instructure.com/courses/27495/quizzes/139321/history?version=1
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 2/8
III. Programas escritos em Prolog são formados por predicados lógicos. 
IV. Predicados possuem atributos e métodos.
É correto o que se afirma em:
 I, II e IV, apenas. 
 II e III, apenas. 
 I e II, apenas. 
 I, II e III, apenas. Correto!Correto!
 II, III e IV, apenas. 
Alternativa está correta.
A afirmativa I é verdadeira, pois o Prolog é o principal
representante da chamada programação lógica, que é considerado
um paradigma declarativo
A afirmativa II é verdadeira, pois a programação funcional é outro
paradigma declarativo distinto da programação lógica
A afirmativa III é verdadeira, pois os programas escritos em Prolog
são formados por diversos predicados lógicos, os quais podem ser
consultados e interpretados.
A afirmativa IV é falsa, pois atributos e métodos são conceitos
relacionados a classes e objetos, estruturas utilizadas por
linguagens orientadas a objeto e ausentes no Prolog.
0,2 / 0,2 ptsPergunta 2
Leia o texto a seguir:
“Mecanismos para sincronização devem ser capazes de atrasar a
execução de uma tarefa. A sincronização impõe uma ordem de execução
das tarefas garantida com esses atrasos. Para entender o que acontece
com as tarefas ao longo de seus tempos de vida, precisamos considerar
como a execução de tarefas é controlada. Independentemente de uma
máquina ter um ou mais processadores, sempre existe a possibilidade de
haver mais tarefas que processadores. Um programa de sistema de
tempo de execução, chamado escalonador, gerencia o compartilhamento
A+
A
A-
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 3/8
de processadores entre as tarefas. Se nunca existissem interrupções e
todas as tarefas tivessem a mesma prioridade, o escalonador poderia
simplesmente dar a cada tarefa uma fatia de tempo, como 0,1 segundo, e
quando o turno de uma tarefa chegasse, o escalonador poderia deixá-la
ser executada por essa quantidade de tempo em um processador. É
claro, existem diversos eventos complicadores, atrasos de tarefa para
sincronização e para operações de entrada e saída. Como operações de
entrada e saída são muito lentas em relação à velocidade do
processador, uma tarefa não pode manter um processador enquanto
espera pela conclusão de uma delas.”
SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto
Alegre: Bookman, 2018.
Considerando os conceitos apresentados, assinale a alternativa correta:
 
Operações de entrada e saída fazem com que a tarefa ocupe um
processador.
 
Tarefas não possuem prioridade, executando sempre a mesma quantidade
de tempo.
 O escalonador distribui operações de entrada e saída entre as tarefas. 
 
O escalonador leva em consideração a prioridade da tarefa e eventos
como operações de entrada e saída.
Correto!Correto!
 
Tarefas são ordenadas em função de sua prioridade, e aquelas com
operações de entrada e saída executarão por mais tempo.
A+
A
A-
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 4/8
Alternativa correta.
O escalonador é responsável por ceder processador(es) para uma
tarefa e removê-lo quando julgar conveniente ou necessário. O
escalonador leva em consideração tanto a prioridade das tarefas
quanto a ocorrência de certos eventos, operações de entrada e
saída, que por serem proporcionalmente lentas não justificam a
ocupação de processadores pela tarefa. Nestes casos, o
escalonador temporariamente remove os processadores daquela
tarefa e os distribui para outras tarefas.
0,2 / 0,2 ptsPergunta 3
Leia o texto a seguir:
“O primeiro passo de C em direção a C++ foi dado por Bjarne Stroustrup,
no Bell Labs, em 1980. As modificações iniciais em C incluíam a adição
de verificação de tipos e a conversão de parâmetros de funções e
classes, as quais estavam relacionadas às de SIMULA 67 e de Smalltalk.
Também estavam incluídas classes derivadas, controle de acesso
público/privado de componentes herdados, métodos construtores e
destrutores e classes amigas (friend classes). Durante 1981, foram
adicionadas funções internalizadas (inline functions), parâmetros padrão
e a sobrecarga do operador de atribuição. A linguagem resultante foi
chamada de C com Classes e é descrita em Stroustrup (1983).”
SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto
Alegre: Bookman, 2018.
A linguagem C++ originou-se como uma adaptação da linguagem C para
o paradigma
 lógico. 
 procedural. 
 concorrente. 
 orientado a objeto. Correto!Correto!
 funcional. 
A+
A
A-
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 5/8
A alternativa está correta, pois a linguagem C já é uma linguagem
procedural. A linguagem C++ trouxe construções típicas da
programação orientada a objeto, como classes e objetos –
inclusive, como o texto aponta, seu primeiro nome foi “C com
Classes”.
0,2 / 0,2 ptsPergunta 4
Leia o texto a seguir:
“C++ e Objective-C suportam programação procedural e orientada a
dados, além da programação orientada a objetos. CLOS, uma versão
orientada a objetos de LISP (Paepeke, 1993), também suporta
programação funcional. Algumas das linguagens mais novas projetadas
para a programação orientada a objetos não suportam outros
paradigmas, mas ainda assim empregam algumas das estruturas
imperativas básicas e têm a aparência das linguagens imperativas mais
antigas. Entre essas estão Java e C#. É desafiador classificar Ruby: é
uma linguagem orientada a objetos no sentido de que todos os dados são
objetos, mas é uma linguagem híbrida, porque é possível usá-la para
programação procedural. Por fim, existe a linguagem orientada a objetos
pura, mas um tanto anticonvencional: Smalltalk. Ela foi a primeira
linguagem a oferecer suporte para programação orientada a objetos.”
SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto
Alegre: Bookman, 2018.
Considerando o contexto, analise as afirmações abaixo:
I. Uma linguagem pode suportar vários paradigmas diferentes.
II. Smalltalk é a única linguagem de programação orientada a objetos. 
III. Programação imperativa é incompatível com programação orientada a
objetos.
IV. Ruby é somente uma linguagem de programação orientada a objetos.
É correto oque se afirma em:
 II e IV, apenas. 
 I e III, apenas. 
A+
A
A-
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 6/8
 II, apenas. 
 II, III e IV, apenas. 
 I, apenas. Correto!Correto!
Alternativa está correta.
A afirmativa I é verdadeira, pois uma linguagem pode suportar
múltiplos paradigmas, e isso é comum. O próprio texto cita, como
exemplo, o CLOS, que suporta tanto programação orientada a
objetos quanto programação funcional.
A afirmativa II é falsa, pois Smalltalk é considerada a única
linguagem puramente orientada a objetos, ou seja, que não
incorpora conceitos de qualquer outro paradigma, mas são citados
diversos exemplos de linguagens orientadas a objeto que
suportam diferentes formas de programação. A orientação a objeto
é considerada uma forma de programação imperativa.
A afirmativa III é falsa, pois outra forma de programação imperativa
é a programação procedural, e foram citados exemplos de
linguagens que suportam simultaneamente a programação
orientada a objeto e a procedural.
A afirmativa IV é falsa, pois ao contrário do que se diz o Ruby é
uma linguagem de programação híbrida e suporta ambos os
paradigmas orientado a objetos e procedural.
0,2 / 0,2 ptsPergunta 5
Leia o texto a seguir:
“Uma das características fundamentais dos programas escritos em
linguagens imperativas é o fato de terem estado, o qual muda ao longo do
processo de execução. Esse estado é representado pelas variáveis do
programa. O autor e todos os leitores do programa devem entender os
usos de suas variáveis e compreender como o estado do programa muda
durante a execução. Para um programa grande, é uma tarefa intimidante.
Esse é um problema dos programas escritos em uma linguagem
imperativa que não está presente nos programas escritos em uma
linguagem funcional pura, pois estes não têm variáveis nem estados.”
A+
A
A-
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 7/8
SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto
Alegre: Bookman, 2018.
Considerando o texto, avalie as afirmações a seguir: 
I. A programação funcional permite um grau maior de determinismo, isto
é, previsibilidade dos programas.
II. O estado de um programa influencia no resultado de sua execução. 
III. Todas as linguagens de programação são classificadas como
funcionais ou como imperativas.
É correto o que se afirma em:
 II, apenas. 
 I, apenas. 
 II e III, apenas. 
 I e II, apenas. Correto!Correto!
 III, apenas. 
A+
A
A-
22/09/2023, 12:04 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139321?module_item_id=710810 8/8
Alternativa está correta, pois apenas as afirmativas I e II estão
corretas.
A afirmativa I está correta, pois a programação funcional foi
concebida precisamente para providenciar um maior
determinismo, dado que a falta de determinismo em programas
desenvolvidos nas linguagens imperativas torna mais difícil a
análise de seus códigos e aumenta a probabilidade de erros. Ela
atinge um maior grau de determinismo prezando por definições
matematicamente rigorosas de funções e abolindo o estado,
representado pelas variáveis de um programa.
A afirmativa II está correta, pois o estado do programa é dado
pelos valores de todas as suas variáveis ao longo de sua
execução. Esses valores frequentemente são utilizados para
realizar cálculos, tomar decisões sobre a ramificação do código em
estruturas condicionais, controlar a quantidade de repetições de
um loop, entre outras coisas. Portanto, o estado influencia
diretamente tanto no fluxo de execução quanto no resultado final
do programa.
A afirmativa III está incorreta, pois existe uma grande quantidade
de paradigmas diferentes. Alguns paradigmas são considerados
ramificações de outros – por exemplo, os paradigmas procedural e
orientado a objeto são paradigmas considerados imperativos. Há
outros paradigmas que não são imperativos além do funcional,
como o paradigma lógico.
Pontuação do teste: 1 de 1
A+
A
A-

Continue navegando