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
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.
●
Pergunta 2
● 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
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.
●
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.Ne
.
Resposta Correta: C# e Visual Basic.Net.
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#.
●
Pergunta 4
● 1 em 1 pontos
●
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 :
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.
●
Pergunta 5
● 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
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.
●
Pergunta 6
● 1 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
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.
●
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
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çãodeve 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
● 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
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.
●
Pergunta 9
● 1 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 validar as
entradas.
Resposta Correta: Para validar as entradas.
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.
●
Pergunta 10
● 1 em 1 pontos
●
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