Buscar

Prova unidade 2 Paradgmas de Programação UAM

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

Curso GRA0914 PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO GR2311202 - 
202020.ead-11341.01 
Teste ATIVIDADE 2 (A2) 
Iniciado 14/09/20 16:03 
Enviado 29/09/20 10:42 
Status Completada 
Resultado da 
tentativa 
4 em 10 pontos 
Tempo decorrido 354 horas, 38 minutos 
Resultados exibidos Respostas enviadas, Respostas corretas, Comentários 
• Pergunta 1 
0 em 1 pontos 
 
O Paradigma da Programação Estruturada, como é conhecido, é muito criticado por ser 
baseado no pensamento sistêmico e não cartesiano. Os críticos desse paradigma sugerem 
diversas maneiras de minorar os efeitos negativos desse padrão de programação. 
Desse modo, assinale a alternativa que justifica essas críticas, do ponto de vista da 
arquitetura dos sistemas desenvolvidos sob esse padrão: 
 
Resposta 
Selecionada: 
 
Modulariza seus elementos de maneira encapsulada. 
Resposta Correta: 
Olha o programa como um todo e não observa soluções 
baseadas em blocos de instruções. 
Feedback 
da 
resposta: 
Sua resposta está incorreta. A alternativa está incorreta, pois a 
Programação Estruturada não se baseia em módulos particulares 
(sub-rotinas), e, além disso, não focaliza no uso de comandos de 
desvios incondicionais, como GoTo, embora algumas linguagens 
o possuam. 
 
 
• Pergunta 2 
0 em 1 pontos 
 
O programa a seguir, codificado em C, toca um trecho da famosa canção infantil conhecida 
como Um Pastor, Dois Carneirinhos e Uma Ovelhinha , mostrando o acorde principal: DÓ 
RÉ MI FÁ FÁFÁ DÓ RÉ DÓ RÉ RÉRÉ FÁ SOL LÁ SI MIMI DÓ RÉ DÓ RÉ 
Analise o programa a seguir: 
 
//TocaMusica.C 
#include <stdio.h> 
#include <windows.h> 
int main() 
{ 
 //DÓ,RÉ,MI,FÁ 
 Beep(264, 200); 
 Beep(294, 300); 
 Beep(330, 300); 
 Beep(349, 500); 
 Sleep(200); 
 //FÁFÁ 
 Beep(349, 300); 
 Beep(349, 250); 
 Sleep(50); 
 //DÓ,RÉ,DÓ,RÉ 
 Beep(264, 201); 
 Beep(294, 303; 
 
 Beep(264, 201); 
 Beep(294, 301); 
 Sleep(500); 
 //RÉ,RÉ 
 Beep(294, 299); 
 Beep(294, 301); 
 Sleep(5); 
 //FÁ,SOL, LÁ,SI 
 Beep(349, 200); 
 Beep(392, 300); 
 Beep(440, 200); 
 Beep(494, 400); 
 Sleep(200); 
 //MI,MI 
 Beep(330, 400); 
 Beep(330, 450); 
 Sleep(50); 
 //DÓ,RÉ,DÓ,RÉ 
 Beep(264, 199); 
 Beep(294, 301); 
 Beep(264, 202); 
 Beep(294, 299); 
 return 0; 
 } 
Embora sendo C uma linguagem estruturada, o código não usa estrutura de controle. Sendo 
assim, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F 
para a(s) Falsa(s). 
 
 
 
I. ( ) A função Beep() não pode ser escrita dentro de uma “estrutura de controle”. 
 
II. ( ) Não existe nenhuma instrução que possa se repetir do mesmo modo. 
III. ( ) A função Sleep() pode ser escrita dentro de uma “estrutura de controle”. 
IV. ( ) Os blocos estão comentados, então, não dá para colocar dentro de loops . 
 
Assinale a alternativa que apresenta a sequência correta: 
Resposta Selecionada: 
V, F, F, F. 
Resposta Correta: 
F, V, F, F. 
Feedback 
da 
resposta: 
Sua resposta está incorreta. A alternativa está incorreta, porque 
não existe nenhuma linha de código que se repete no programa, 
pois, para ser utilizado qualquer um dos dois tipos de estruturas 
de repetição (lógica ou numérica), é preciso que existam no 
programa instruções que se repetem em vários locais do código. 
Se a instrução aparecer apenas uma única vez, a utilização 
desse tipo de instrução torna o código ineficiente. 
 
 
• Pergunta 3 
1 em 1 pontos 
 
A sigla RAD (Rapid Application Development), como é conhecida, define um tipo de 
linguagem que trabalha sob ambientes de desenvolvimento integrado (em inglês, a sigla é 
apresentada como IDE), produzindo, em pouco tempo, sistemas de programas bem 
interativos. 
 
Sendo assim, assinale a alternativa correta, que apresenta as duas linguagens que são 
desse tipo: 
Resposta Selecionada: 
C# e Visual Basic.Net . 
Resposta Correta: 
C# e Visual Basic.Net. 
Feedback 
da 
resposta: 
Resposta está correta. A alternativa está correta, pois C# (lê-se C 
sharp) é uma linguagem baseada na Linguagem C, porém, com 
características adicionais de Orientação a Objetos e Orientação e 
a Eventos, o que a torna uma ferramenta RAD. O mesmo 
acontece com o Visual Basic.Net, oriundo da 
linguagem Basic (compilador Quick Basic), e com características 
funcionais semelhantes às do C#. 
 
 
• Pergunta 4 
0 em 1 pontos 
 
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: 
 
Resposta Selecionada: 
Modular e estruturada. 
Resposta Correta: 
Não estruturada. 
 
Feedback 
da 
resposta: 
Sua resposta está incorreta. A alternativa está incorreta, pois, na 
Programação Estruturada, os desvios do fluxo do programa 
devem ser feitos por meio das estruturas de controle sob alguma 
condição, e não incondicionalmente, como é mostrado no 
algoritmo com ”Vá para”, e não existe nenhuma modularidade na 
solução. 
 
• Pergunta 5 
1 em 1 pontos 
 
São definidos vários padrões de programação para futuras codificações em linguagens de 
alto nível, classificando-as. Uma classificação muito empregada é quanto ao tipo de 
tradução: compilação e interpretação. 
Desse modo, analise as afirmativas a seguir: 
I. A Linguagem C é uma linguagem orientada a objetos. 
II. A Linguagem C é uma linguagem de alto nível e estruturada. 
III. A Linguagem C é compilada e de baixo nível. 
IV. A Linguagem C é interpretada e gera código executável. 
V. A Linguagem C é interpretada e não gera código executável. 
Está correto o que se afirma em: 
 
Resposta Selecionada: 
II, apenas. 
Resposta Correta: 
II, apenas. 
Feedback 
da 
resposta: 
Resposta está correta. A alternativa está correta, pois Linguagem 
C segue o “paradigma imperativo”, e é, também, estruturada 
(baseada em estruturas de controle). Assim, a única afirmativa 
correta é a afirmativa II, pois é a única que atende, perfeitamente, 
aos requisitos desses dois paradigmas de programação. 
 
 
• Pergunta 6 
1 em 1 pontos 
 
Considere a instrução X = X + 1; escrita na Linguagem C. Ela não pode ser interpretada 
como uma equação matemática. Desse modo, assinale a alternativa que explica por que 
essa expressão, embora com dois membros, separados por uma igualdade (assim como 
uma equação), não pode ser assim considerada em um ambiente da codificação de um 
programa. 
Assinale a alternativa correta: 
 
Resposta 
Selecionada: 
 
O símbolo = representa uma atribuição e não uma 
igualdade. 
Resposta Correta: 
O símbolo = representa uma atribuição e não uma 
igualdade. 
Feedback 
da resposta: 
Resposta está correta. A alternativa está correta, pois o símbolo 
= na instrução representa o operador “ atribuição” em C, e que, 
em outras linguagens, pode ser diferente, como := no xHarbour, 
[1] <- no R e no Visualg, to no Apple Script, << 
em Magik etc. Assim, a semântica correta dessa instruçãoé: “ X 
recebe X mais 1”, o que significa atualizar o valor da variável X 
acrescentando 1. 
 
 
• Pergunta 7 
1 em 1 pontos 
 
O pseudocódigo apresentado a seguir foi escrito para calcular e exibir a raiz quadrada de 
um número real. Esse número não é negativo, mas, embora funcione em determinadas 
circunstâncias, esse pseudocódigo não oferece resultados corretos em outras 
circunstâncias. 
 
 
Programa "CalculaRaiz" 
//Extrai e exibe a raiz quadrada de um número real, não negativo. 
//--------------------------------------------------------------- 
 Declare Num, Raiz: real 
Início 
 Escreva("Digite um número positivo:") 
 Leia(Num) 
 Se(Num<0) Então 
 Escreva("Valor inválido") 
 FimSe 
 EscrevaLn("") 
 EscrevaLn("") 
 {Tenta extrair a raiz quadrada do número lido} 
 Raiz ¬ Num^(1/2) 
 EscrevaLn("Raiz quadrada de", Num,": ",Raiz) 
FimPrograma 
 
Após analisar o código, assinale a alternativa correta: 
 
Resposta 
Selecionada: 
 
No lugar da “estrutura de decisão”, deveria ser 
um loop lógico para validar Num. 
 
Resposta Correta: 
No lugar da “estrutura de decisão”, deveria ser 
um loop lógico para validar Num. 
 
Feedback 
da 
resposta: 
Resposta está correta. A alternativa está correta, pois, para 
verificar se determinada entrada de dados está correta, a 
validação deve ser SEMPRE com alguma estrutura de repetição 
lógica ( loop lógico). Por isso, a estrutura de decisão simples em 
cima da variável Num não garante a validação de seu valor, pois, 
mesmo que Num seja digitado com um valor negativo, e a frase 
“ Valor Inválido” seja exibida para alertar o usuário, o fluxo do 
programa vai continuar e o usuário não terá chance de corrigir o 
erro. 
 
 
• Pergunta 8 
0 em 1 pontos 
 
Do ponto de vista da Object-Oriented Programming, a Programação Orientada a Objetos, 
(OOP), Luke é o nome de um gato que tem olhos azuis. Pode existir outro felino com o 
mesmo nome, e também com olhos azuis, ou esse nome deve ser único para todas as 
classes de gatos? 
Assinale a alternativa correta que responde a essa questão: 
 
Resposta Selecionada: 
Sim, desde que tenha outras características diferentes. 
Resposta Correta: 
Sim, desde que sejam de classes diferentes. 
 
Feedback 
da 
resposta: 
Sua resposta está incorreta. A alternativa está incorreta, porque o 
que define uma instância (objeto) é a sua classe; assim, classes 
diferentes podem ter instâncias com um mesmo nome 
(identificador), independentemente de suas características. 
Portanto, o nome (identificador) da instância sugerida na questão 
pode, sim, aparecer em várias classes. 
 
• Pergunta 9 
0 em 1 pontos 
 
O esquema mostrado a seguir é um programa em pseudocódigo (que alguns autores 
chamam de algoritmo). E, como indicado no comentário, seu objetivo é calcular e exibir a 
potência p de um número lido, N. Por exemplo: se o número lido for 8, sua potência 3 
exibida será 192. 
Analise o esquema a seguir: 
Programa "CalculaPotencia" 
//Calcula a potência p de um número N lido. 
//--------------------------------------------------------------- 
 Declare N, p, Pote, j: inteiro 
Início 
 Escreva("Digite o número a ser potenciado:") 
 Leia(N) 
 Escreva("Digite a potência desejada") 
 Leia(p) 
 Enquanto ((p<0) OU (N<=1)) Faça 
 EscrevaLn("Tente novamente") //escreve e salta linha 
 EscrevaLn("") 
 Escreva("Digite o número a ser potenciado:") 
 Leia(N) 
 Escreva("Digite a potência desejada:") 
 Leia(P) 
 FimEnquanto 
 Pote <- 1 
 Se(p>0) Então 
 Para j De 1 Até p Faça 
 Pote <- Pote*N 
 FimPara 
 FimSe 
 EscrevaLn("") //apenas salta linha 
 EscrevaLn(N, " elevado a", p , ":", Pote) 
FimPrograma 
 
Então, para que serve a estrutura de repetição “Enquanto...FimEnquanto”? Assinale a 
alternativa correta: 
 
Resposta Selecionada: 
Para verificar se a potência de N é maior do que p. 
Resposta Correta: 
Para validar as entradas. 
Feedback 
da 
resposta: 
Sua resposta está incorreta. A alternativa está incorreta, porque a 
estrutura Enquanto..FimEnquanto está sendo utilizada para 
validar N e p (juntos), a fim de garantir que ambos sem válidos, 
simultaneamente, e não para uma das duas variáveis lidas 
separadamente. A variável Pote (valor calculado da potência p de 
N) não está sujeita a nenhuma validação. 
 
 
• Pergunta 10 
0 em 1 pontos 
 
Observe a figura a seguir, que pode representar a planta-baixa de uma residência, com 
alguns cômodos. Assim, comparando essa figura com um projeto lógico de programação, 
observe as alternativas a seguir e verifique a que mais se assemelha ao conteúdo 
apresentado na figura do ponto de vista de um sistema ligado a algum paradigma de 
programação. 
 
 
Figura - Planta-baixa de uma residência 
Fonte: Leite (2017, p. 201). 
 
LEITE, M. Curso básico de programação : teoria e prática. Rio de Janeiro: Ciência 
Moderna, 2017. 
 
Assinale a alternativa correta: 
 
Resposta Selecionada: 
Um sistema com paradigma descritivo. 
Resposta Correta: 
Um sistema modular, com várias sub-rotinas. 
Feedback 
da 
resposta: 
Sua resposta está incorreta. A alternativa está incorreta, porque o 
esquema da figura se encaixa em um tipo de sistema em que 
cada módulo representa uma rotina, e não um sistema definido 
por nenhum dos paradigmas tradicionais citados na questão. 
Assim, o sistema modular, mesmo não sendo um tipo de 
paradigma, do ponto de vista tradicional, é o que responde à 
questão. 
 
 
Terça-feira, 29 de Setembro de 2020 10h42min52s BRT 
 OK 
 
javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_14296100_1&course_id=_612374_1&nolaunch_after_review=true');

Outros materiais