Baixe o app para aproveitar ainda mais
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.
Compartilhar