Buscar

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

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 9 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 9 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 9 páginas

Prévia do material em texto

21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 1/9
Atividade Objetiva 2
Entrega 15 dez em 23:59 Pontos 1 Perguntas 5
Disponível 2 dez em 0:00 - 15 dez em 23:59 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Este teste foi travado 15 dez em 23:59.
Histórico de tentativas
Tentativa Tempo Pontuação
MANTIDO Tentativa 2 22 minutos 0,6 de 1
MAIS RECENTE Tentativa 2 22 minutos 0,6 de 1
Tentativa 1 26 minutos 0,6 de 1
Pontuação desta tentativa: 0,6 de 1
Enviado 5 dez em 13:06
Esta tentativa levou 22 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 / 0,2 ptsPergunta 1
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
A+
A
A-
https://famonline.instructure.com/courses/23993/quizzes/111084/history?version=2
https://famonline.instructure.com/courses/23993/quizzes/111084/history?version=2
https://famonline.instructure.com/courses/23993/quizzes/111084/history?version=1
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 2/9
em uma linguagem funcional pura, pois estes não têm variáveis nem
estados.”
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:
 I, apenas. ocê respondeuocê respondeu
 III, apenas. 
 I e II, apenas. esposta corretaesposta correta
 II, apenas. 
 II e III, apenas. 
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 3/9
Alternativa está incorreta, 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.
0,2 / 0,2 ptsPergunta 2
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
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 4/9
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 o que se afirma em:
 I, apenas. Correto!Correto!
 II e IV, apenas. 
 II, apenas. 
 II, III e IV, apenas. 
 I e III, apenas. 
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 5/9
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 / 0,2 ptsPergunta 3
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 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,
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 6/9
existem diversos eventos complicadores, atrasos de tarefa parasincronizaçã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:
 
O escalonador leva em consideração a prioridade da tarefa e eventos
como operações de entrada e saída.
esposta corretaesposta correta
 
Tarefas não possuem prioridade, executando sempre a mesma
quantidade de tempo.
 
Operações de entrada e saída fazem com que a tarefa ocupe um
processador.
 
O escalonador distribui operações de entrada e saída entre as tarefas. 
 
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.
ocê respondeuocê respondeu
Alternativa está incorreta, pois operações de entrada e saída 
costumam ser operações lentas. Para otimizar o uso dos 
recursos computacionais, uma tarefa aguardando o resultado de 
uma operação e entrada e saída tende a ter sua execução 
suspensa pelo escalonador para que outras tarefas possam 
utilizar o processador. Tarefas com mais operações de entrada e 
saída tendem a ficar suspensas por mais tempo. A alternativa 
correta é aquela que diz que o escalonador leva em 
consideração a prioridade da tarefa e eventos como operações 
de entrada e saída.
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 7/9
0,2 / 0,2 ptsPergunta 4
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.
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. 
 I, II e III, apenas. Correto!Correto!
 I e II, apenas. 
 II, III e IV, apenas. 
 II e III, apenas. 
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 8/9
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 5
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
 concorrente. 
 funcional. 
A+
A
A-
21/12/2022 19:16 Atividade Objetiva 2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/23993/quizzes/111084?module_item_id=584488 9/9
 lógico. 
 orientado a objeto. Correto!Correto!
 procedural. 
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”.
Pontuação do teste: 0,6 de 1
A+
A
A-

Continue navegando