Baixe o app para aproveitar ainda mais
Prévia do material em texto
GRA0914 PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO GR2311-212-9 - 202120.ead-17683.01 Teste ATIVIDADE 2 (A2) Iniciado 05/12/21 16:52 Enviado 05/12/21 17:02 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 9 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários ● Pergunta 1 ● 1 em 1 pontos ● Observe o programa a seguir, que foi codificado em Pascal, com a finalidade de exibir uma frase na tela, exatamente, cinco vezes. Após verificar a codificação, atente-se para a modificação que deveria ser feita, no caso de o número de vezes ser diferente de cinco; por exemplo, cinco mil vezes. Analise o código a seguir: # Programa “AvisoFesta” # Exibe uma dada frase na tela cinco vezes. # -------------------------------------------- print ('Hoje vai ter festa na casa do Léo') print ('Hoje vai ter festa na casa do Léo') print ('Hoje vai ter festa na casa do Léo') print ('Hoje vai ter festa na casa do Léo') print ('Hoje vai ter festa na casa do Léo') # ------------------------------------------ Após analisar o código, assinale a alternativa correta: Resposta Selecio nada: Inserir uma “estrutura de repetição” para contar o número de frases já exibidas. Resposta Correta : Inserir uma “estrutura de repetição” para contar o número de frases já exibidas. Coment ário da resp osta : Resposta está correta. A alternativa está correta, pois, quando uma mesma linha de código tem que ser repetida muitas vezes, é aconselhável que seja empregada uma “estrutura de repetição” ( loop), para que o programa fique mais eficiente; portanto, faltou inserir uma estrutura desse tipo. No caso, foi pedido para exibir a frase “ Hoje vai ter festa na casa do Léo” apenas cinco vezes, mas, se fosse cinco mil vezes, o código apresentado ficaria inviável. ● Pergunta 2 ● 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 Selecionad a: C# pode criar classes de objetos. Resposta Correta: C# pode criar classes de objetos. Coment ário da resp osta : 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. ● Pergunta 3 ● 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. Coment ário da resp osta: 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 4 ● 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 Selecio nada: 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. Coment ário da resp osta : 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 5 ● 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 Selecio nada: Olha o programa como um todo e não observa soluções baseadas em blocos de instruções. Resposta Correta : Olha o programa como um todo e não observa soluções baseadas em blocos de instruções. Coment ário da resp osta: 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 6 ● 1 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: Sim, desde que sejam de classes diferentes. Resposta Correta: Sim, desde que sejam de classes diferentes. Comen tário da resp osta : Resposta está correta. A alternativa está correta, pois, do ponto de vista da OOP, as instâncias são definidas pelas classes e com nomes (identificadores) bem particulares. Assim, mesmo tendo o mesmo nome, duas ou mais instâncias (objetos) podem coexistir, desde que em classes diferentes. Então, é possível encontrar vários gatos que são chamados de Luke, desde que pertençam a classes diferentes,por exemplo: Luke da classe “gatos sem pelagem”; Luke da classe “gatos pretos”; Luke da classe “gatos angorás”; Luke da classe “gatos de olhos verdes” etc., além do Luke da classe “gatos de olhos azuis”. ● Pergunta 7 ● 1 em 1 pontos ● Considerando o “paradigma de orientação a objetos”, observe a figura a seguir, que representa a superclasse TFiguraPlana, com suas subclasses. Figura - Desmistificando a Programação Orientada a Objetos Fonte: Elaborada pelo autor. Sendo TQuadrado uma subclasse da classe primitiva TFiguraPlana, por que a propriedade QuadroLados não aparece em TFiguraPlana? Assinale a alternativa correta, que justifica o enunciado apresentado: Resposta Selecio nada: Porque uma subclasse pode criar outras características além das da superclasse. Resposta Correta : Porque uma subclasse pode criar outras características além das da superclasse. Coment ário da resp osta : Resposta está correta. A alternativa está correta, pois, na OOP, uma classe herda TODAS as características de sua classe primitiva (classe genitora ou superclasse), mas a classe derivada (subclasse) também pode definir propriedades e métodos próprios, além daqueles herdados de sua classe primitiva. Assim, a classe TQuadrado herdou todas as propriedades e todos os métodos da classe TFiguraPlana, mas pode acrescentar a propriedade QuatroLados; uma característica própria. ● Pergunta 8 ● 1 em 1 pontos ● Considerando o paradigma de Programação Orientada a Objetos e qualquer linguagem ou ambiente de desenvolvimento que seguem as mesmas regras desse padrão, observe as alternativas apresentadas a seguir e verifique qual é a opção verdadeira que está de acordo com o padrão de desenvolvimento. Assinale a alternativa correta: Resposta Selecio nada: Programação Orientada a Objetos define um paradigma de programação. Resposta Correta : Programação Orientada a Objetos define um paradigma de programação. Coment ário da resp osta : Resposta está correta. A alternativa está correta, pois a Programação Orientada a Objetos é uma das formas de desenvolver programas (um paradigma de programação), mas não é uma linguagem de programação propriamente dita. Portanto, nenhum elemento de linguagem de programação, nem ela mesma, pode ser comparado, diretamente, com o termo Programação Orientada a Objetos. ● 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. Comen tári o da res post a: 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 ● 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: Não estruturada. Resposta Correta: Não estruturada. Comen tário da resp osta : Resposta está correta. A alternativa está correta, pois, embora o algoritmo apresentado funcione, ele não segue os padrões da Programação Estruturada, porque utiliza a expressão “Vá para”, que é um comando de desvio incondicional em algumas linguagens de programação, conhecido como GoTo. E a Programação Estruturada veio, justamente, para eliminar a necessidade de utilização desse comando.
Compartilhar