Buscar

ATIVIDADE 2 - 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 13 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 13 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 13 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 
● 1 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 
 
● 
Pergunta 2 
● 1 em 1 pontos 
● 
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: ​F, V, F, 
F. 
Resposta Correta: ​F, V, F, F
Feedback
da 
respo
sta: 
Resposta está correta. A alternativa está 
correta, pois o emprego de “estrutura de 
repetição” só deve ser feito quando há 
necessidade de repetir uma linha de 
código, ou um bloco delas; caso contrário
não tem sentido sua utilização e, no 
programa apresentado, não há 
necessidade de uso dessa estrutura. 
 
 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: 
 
● 
Pergunta 3 
● 1 em 1 pontos 
● 
 
 
 
 
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 
respo
sta: 
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. 
 
 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​. 
● 
Pergunta 4 
● 1 em 1 pontos 
● 
 
Feedback
da 
respo
sta: 
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#. 
 
 O programa a seguir, em pseudocódigo (onde o símbolo <- representa o
operador de atribuição), foi criado para mostrar a soma dos dez 
primeiros números pares. 
 
Programa "SomaDezPares" 
//Soma os dez primeiros números pares 
//------------------------------------------------------------------ 
 Declare j, Soma, Par: inteiro 
 Início 
 j <- 10 
 Par <- 2 
 Soma <- 0 
 Repita 
 Soma <- Soma + Par 
 Par <- Par + 2 //gera o próximo número par 
 j <- j + 1 
 AtéQue(j>10) 
 EscrevaLn("Soma dos dez primeiros números pares: ", 
Soma) 
FimPrograma 
 
Sendo assim, assinale a alternativa que mostra o valor da variável 
Soma, ao final do ​loop​ ​, na execução do comando ​EscrevaLn​ ​: 
 
● 
Pergunta 5 
● 0 em 1 pontos 
● 
 
 
 
 
Resposta Selecionada: ​2. 
Resposta Correta: ​2. 
Feedback
da 
respo
sta: 
Resposta está correta. A alternativa está 
correta, pois a estrutura de repetição 
Repita...AtéQue é onde acontece o 
somatório dos números pares. Entretanto,
o teste diz que o ​loop​ será executado “ 
até que j seja maior do que 10​”, mas, 
como na inicialização dessa estrutura a 
variável j (que controla o ​loop​) já é 
inicializada com o valor 10, então, a 
repetição das instruções será executada 
uma única vez, o que implica somar 
apenas um número par; no caso o 2. 
Desse modo, a variável Soma terá esse 
valor no final do programa. 
 
 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: 
 
● 
Pergunta 6 
● 1 em 1 pontos 
● 
 
 
 
 
Resposta 
Seleciona
da: 
 ​Não, porque a OOP não admite duas 
instâncias com o mesmo identificador. 
Resposta 
Correta: 
 ​Sim, desde que sejam de classes 
diferentes. 
Feedback
da 
respo
sta: 
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. 
 
 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:
 
● 
Pergunta 7 
● 1 em 1 pontos 
● 
 
 
 
 
Resposta 
Selecion
ada: 
 ​Olha o programa como um todo e não 
observa soluções baseadas em blocos 
de instruções.f 
Resposta 
Correta: 
 ​Olha o programa como um todo e não 
observa soluções baseadas em blocos de 
instruções. 
Feedback
da 
respo
sta: 
Resposta está correta. A alternativa está 
correta, pois Programação Estruturada é 
um paradigma no qual os programas são 
desenvolvidos a partir de uma abordagem
top-down 
(de cima para baixo), a fim de dar ênfase ao 
programa como um todo, não se 
importando com os detalhes de blocos 
particulares. 
 
 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 
Seleciona
da: 
 ​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 
respo
sta: 
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
● 
Pergunta 8 
● 1 em 1 pontos 
● 
● 
Pergunta 9 
● 1 em 1 pontos 
 
e o usuário não terá chance de corrigir o 
erro. 
 
 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 
respo
sta: 
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.
● 
 
 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 validar as 
entradas. 
Resposta Correta: ​Para validar as entradas. 
● 
Pergunta 10 
● 1 em 1 pontos 
● 
 
Feedback
da 
respo
sta: 
Resposta está correta. A alternativa está 
correta, pois todas as entradas digitadas 
devem ser verificadas por intermédio de 
alguma estrutura de controle, a fim de 
permitir que o usuário possa refazer sua 
digitação, caso erre, antes de o fluxo do 
programa seguir o seu caminho natural. 
Portanto, são as “estruturas de repetição 
lógica” que devem ser utilizadas nessas 
situações. Nesse caso, a estrutura 
“Enquanto..FimEnquanto” faz exatamente
isso: verifica se os valores de N e de p, 
digitados, são compatíveis com os 
cálculos. 
 
 A Linguagem C#, como é chamada,​ ​é uma linguagem orientada para 
objetos e eventos. Sendo assim, essa linguagem possui 
características que a diferem de algumas outras linguagens, tanto 
em outros paradigmas quanto no próprio paradigma que a define. 
Desse modo, assinale a alternativa correta que a coloca nesse 
contexto: 
 
 
 
 
Resposta Selecionada: ​C# pode criar classes de 
objetos. 
Resposta Correta: ​C# pode criar classes de objetos.
Feedback
da 
respo
sta: 
Resposta está correta. A alternativa está 
correta, pois a Linguagem C# (lê-se C 
sharp) é uma das linguagens com 
paradigma de Orientação a Objetos e 
Orientação a Eventos, simultaneamente.
Portanto, além de criar classes, 
implementa os recursos oferecidos por 
esses paradigmas, incluindo a 
 
 
codificação de eventos sofridos por 
controles na interface de uma aplicação,
a fim de estabelecer uma interação 
direta com o usuário final do programa.

Outros materiais