Buscar

Quiz de algoritmos

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

Quiz de algoritmos
· Pergunta 1
	
	
	
	Observe com atenção o código a seguir desenvolvido no Scratch.
A respeito do Scratch e de seus diversos tipos de blocos, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s).
I. ( ) Ao pressionar a tecla espaço, o personagem solicitará dez vezes que você responda qual o seu nome, apresentando o resultado na tela.
II. ( ) O bloco laranja, também chamado de bloco de controle de fluxo, é responsável por modificar o fluxo do algoritmo.
III. ( ) Se o usuário digitar um nome como João, o personagem repetirá por dez vezes a frase Olá, João! na tela.
IV. ( ) Se o usuário digitar um nome como João, o personagem repetirá na tela dez vezes o nome digitado, sem aparecer a mensagem Olá!
Assinale a alternativa que apresenta a sequência correta.
	
	
	
	
		Respostas:
	F-F-V-V.
	
	 
F-V-F-V.
	
	V-F-V-F.
	
	V-F-F-V.
	
	V-V-F-F.
	Comentário da resposta:
	A afirmativa I é falsa, o personagem não solicitará dez vezes o nome, mas sim, executará dez vezes apenas o conteúdo contido dentro do loop chamado repete.
A afirmativa II é verdadeira, pois o bloco selecionado é o repete, também chamado de loop. Ele é responsável por modificar o fluxo do código, repetindo este trecho em um número estipulado de vezes.
A afirmativa III é falsa, pois como temos duas mensagens de texto em seguida (dois blocos chamados diz), então somente um deles será apresentado na tela, neste caso, o segundo bloco, que apresenta o nome digitado.
A afirmativa IV é verdadeira, pois no caso deste algoritmo, o trecho do código contido dentro do loop repete será repetido dez vezes.
	
	
	
Pergunta 2
	
	
	
	Observe com atenção o pseudocódigo a seguir:
 
	início
	          se temperatura == “40”
	                   escreva(“ligar ar-condicionado”)
	                   escreva(“fechar as janelas”)
	          senão
	                   escreva(“ligar ventilador”)
	                   escreva(“abrir as janelas”)
	          fim-se
	fim      
 
Sobre algoritmos, assinale a alternativa correta.
	
	
	
	
		Respostas:
	O pseudocódigo é uma representação formal de um código real, porém em português.
	
	O pseudocódigo possui uma estrutura pré-definida, ou seja, específica, e é um intermediário entre o português e uma linguagem de programação.
	
	O pseudocódigo é usado em automação residencial, como no caso do código apresentado para ligar o ventilador ou o ar-condicionado.
	
	 
O pseudocódigo é utilizado para acelerar o ciclo de desenvolvimento de um código.
	
	O pseudocódigo é usado para comunicar ideias, assim como as linguagens de programação, porém em português.
	Comentário da resposta:
	O pseudocódigo é uma escrita intermediária entre a linguagem falada ou o algoritmo narrativo e o código de computador. Logo, é uma boa opção escrevê-lo a fim de ganhar tempo e diminuir erros relacionados ao desenvolvimento.
	
	
	
· Pergunta 3
	
	
	
	A linguagem C#, assim como outras, permite que criemos funções para organizar o nosso código. Dentro destas funções, podemos adicionar estruturas de repetição, estruturas condicionais e também invocar outras funções nativas da linguagem. Observe com atenção o código a seguir escrito em C#, o qual utiliza funções.
	1
	public string print(string str){
	2
	         Console.WriteLine(str);
	3
	}
	4
	 
	5
	public static void Main (string[] args) {
	6
	        Program x = new Program();
	7
	       
	8
	        string cont = “0”;
	9
	       
	10
	        while(cont < 10){
	11
	                x.print(cont);
	12
	                cont = Console.ReadLine();
	13
	         }
	14
	}       
 
Considerando as informações apresentadas, assinale a alternativa correta.
	
	
	
	
		Respostas:
	 
Este código executará uma vez e apresentará uma mensagem informando que cont não é uma variável do tipo numérica, dando erro na linha 10.
	
	Neste código, enquanto o usuário digitar um número menor do que 10, todo o conteúdo interno (linhas 6 a 12) será repetido ou iterado. Ao digitar um número maior ou igual a 10, o loop encerra.
	
	Haverá um erro na linha 11, pois a função print está enviando um contador que é inteiro, porém na linha 1 recebe uma string como parâmetro.
	
	O while da linha 10, bem como todo o seu conteúdo, entrará em loop infinito, pois o valor de cont é zero e não existe um incremento para esta variável.
	
	O erro que ocorrerá em tempo de execução na linha 11 pode ser resolvido se substituirmos a função print pela função nativa do C#, WriteLine.
	Comentário da resposta:
	Na primeira execução, quando chega na linha 8, a variável cont é declarada do tipo string, logo, mesmo que receba um número, o tipo da variável é texto (string). Logo, quando encontra o loop do while na linha 10, estamos comparando um tipo texto (cont) com um numérico (10). Deste modo, ocorrerá um erro, pois não é possível realizar este tipo de comparação.
	
	
	
· Pergunta 4
	
	
	
	Leia o texto a seguir:
As funções são um recurso comum entre todas as linguagens de programação. Elas permitem que os desenvolvedores escrevam blocos de código que realizam tarefas específicas. Uma função pode ser executada quantas vezes o desenvolvedor quiser em todo o código.
Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas.
I. As funções fornecem melhor modularidade para seu aplicativo e um alto grau de reutilização de código.
PORQUE
II. C# oferece muitas funções integradas, permitindo que o programador possa criar as suas próprias, criando blocos de códigos organizados e reutilizáveis.
A respeito dessas asserções, assinale a alternativa correta.
	
	
	
	
		Respostas:
	 
As asserções I e II são proposições verdadeiras e a II é uma justificativa da I.
	
	As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
	
	A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
	
	A asserção I é uma proposição falsa e a II é uma proposição verdadeira.
	
	As asserções I e II são proposições falsas.
	Comentário da resposta:
	A asserção I é uma proposição verdadeira, pois uma função é denotada pelo modificador de acesso, seguido pelo tipo de retorno, pelo nome da função e um conjunto de parênteses. Esses blocos de código permitem que você organize seu código com mais eficiência.
A asserção II é uma proposição verdadeira, pois em C# temos as funções integradas como Math.pow() para potenciação, Math.round() para arredondar um número, entre outras. Também é possível criarmos nossas próprias funções, deixando o código mais organizado.
A asserção II é uma justificativa da I, pois além de poder organizar o código, as funções também permitem que as manutenções sejam mais simples.
	
	
	
· Pergunta 5
0 em 1 pontos
	
	
	
	Durante o desenvolvimento de programas, os operadores lógicos E e OU são usados para relacionar expressões. O resultado de uma operação lógica será VERDADEIRO ou FALSO. Ao utilizar o operador E, por exemplo, o resultado será VERDADEIRO somente se estiver entre dois operandos também VERDADEIROS.
Analise, então, as seguintes expressões:
Expressão 1: FALSO OU VERDADEIRO E FALSO E VERDADEIRO.
Expressão 2: FALSO E VERDADEIRO E FALSO OU VERDADEIRO.
Sobre as expressões 1 e 2, é corretor dizer que
	
	
	
	
		Respostas:
	o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for verdadeiro. Logo, o resultado da expressão 1 será VERDADEIRO.
	
	tanto a expressão 1 quanto a expressão 2 terão como saída o valor VERDADEIRO, afinal, em ambas as expressões temos o operador OU, que é chamado de operador permissivo.
	
	o operador E resultará VERDADEIRO quando qualquer um dos operandos também for verdadeiro. Logo, o resultado da expressão 2 será VERDADEIRO.
	
	o operador E é menos permissivo e restritivo que o operador OU, deste modo, em uma expressão, basta que apenas um operando seja VERDADEIRO para que toda a expressão se torne verdadeira.
	
	 
o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for verdadeiro. Logo, o resultadoda expressão 2 será VERDADEIRO.
	Comentário da resposta:
	Analisando a tabela lógica ou tabela verdade, o operador OU resultará VERDADEIRO sempre que estiver relacionando qualquer valor booleano com um valor VERDADEIRO. Em outras palavras, basta que um dos operandos seja VERDADEIRO para que o resultado seja VERDADEIRO. O operador E é mais restritivo, logo, para que o resultado de uma expressão lógica seja verdadeiro, necessariamente todos os operandos precisam também ser verdadeiros.
	
	
	
· Pergunta 6
	
	
	
	Leia com atenção o texto a seguir:
O pensamento computacional requer a compreensão das capacidades dos computadores, a formulação de problemas a serem tratados por um computador e o projeto de algoritmos que um computador pode executar. O contexto e a abordagem mais eficazes para desenvolver o pensamento computacional é aprender ciência da computação; eles estão intrinsecamente conectados.
Fonte: K12 COMPUTER SCIENCE. K12 Computer Science Framework. Disponível em: https://k12cs.org/wp-content/uploads/2016/09/K%E2%80%9312-Computer-Science-Framework.pdf. Acesso em: 30 out. 2021.
 Sobre o pensamento computacional, assinale a alternativa que apresenta uma de suas práticas.
	
	
	
	
		Respostas:
	 
Desenvolver e usar abstrações.
	
	Testar algoritmos computacionais.
	
	Distinguir entre o pensamento humano e o computacional.
	
	Praticar os conceitos de ciência da computação como programação.
	
	Resolver problemas computacionais através de programas.
	Comentário da resposta:
	Um dos pilares do pensamento computacional é a abstração. Praticar a abstração é preocupar-se com os elementos mais importantes de um problema, deixando de lado detalhes muito específicos. Ao fazer um bolo, por exemplo, a preocupação deve ser com a receita e se você possui ou não os ingredientes. Devemos então abstrair de detalhes como: se a batedeira é profissional ou doméstica, se o forno é elétrico ou a gás, entre outros.
	
	
	
· Pergunta 7
	
	
	
	Sobre algoritmos, podemos afirmar que:
I. Cada instrução de um algoritmo deve ser executada em uma ordem específica para resolver um problema computacional ou não.
II. O algoritmo é uma sequência com quantidade indeterminada de instruções com o objetivo de resolver um problema. 
III. Fluxograma ou diagramas de sequência são exemplos de representações de um algoritmo.
IV. Nas embalagens de produtos diversos, o item modo de usar é um exemplo de algoritmo com descrição narrativa.
V. Fluxograma e diagramas de sequência são exemplos de representações gráficas visuais de um algoritmo.
As afirmativas verdadeiras são:
	
	
	
	
		Respostas:
	III e IV, apenas.
	
	II e V, apenas.
	
	 
I e IV, apenas.
	
	II e III, apenas.
	
	III e V, apenas.
	Comentário da resposta:
	A afirmativa I é verdadeira, pois um algoritmo possui uma sequência de instruções. Ao executá-lo, é necessário respeitar a ordem de cada uma dessas instruções, caso contrário, o resultado será diferente do esperado.
A afirmativa II é falsa, pois o algoritmo é uma sequência finita de instruções. Logo, a quantidade de instruções é conhecida, bem como o seu fim.
A afirmativa III é falsa, pois entre os dois modelos apresentados, o único que representa um algoritmo é o fluxograma.
A afirmativa IV é verdadeira, pois produtos como xampu, creme dental e outros possuem uma descrição narrativa de como usar o produto, geralmente em um espaço chamado modo de usar.
A afirmativa V é falsa, pois somente o fluxograma é uma representação gráfica de algoritmos.
	
	
	
· Pergunta 8
	
	
	
	Observe com atenção o código a seguir:
Considerando o código apresentado, assinale a opção correta.
	
	
	
	
		Respostas:
	 
O objetivo deste código é apresentar uma sequência ordenada dos valores, e o bloco representado em 1 é essencial neste processo.
	
	O valor das variáveis a e b após a execução dos comandos presentes nos blocos representados por 2 e 3 é 41, o mesmo valor da variável aux.
	
	O bloco representado por 1 pode ser suprimido, ficando apenas os comandos dos blocos 1 e 2 dentro do escopo do bloco SE.
	
	O código apresentará um erro quando o valor da variável a for igual ao valor da variável b, uma vez que não existe uma condição que contemple esta igualdade.
	
	O valor das variáveis a e b após a execução dos comandos presentes nos blocos representados por 2 e 3 é 9, o mesmo valor da variável aux.
	Comentário da resposta:
	A alternativa a está correta, pois um algoritmo realiza a troca dos valores entre as variáveis a e b sempre que a variável a for maior que a variável b. Entretanto, se fizer uma troca direta, ou seja, a variável a receber o valor da variável b e b receber o valor de a, perderemos o valor da variável a. Deste modo, precisamos de um auxiliar que guarde para nós o valor de a, então isso acontece no bloco indicado em 1. A única condição de entrarmos no bloco SE é quando a variável a for maior que a variável b, logo, estamos ordenando os valores.
	
	
	
· Pergunta 9
	
	
	
	Leia o texto a seguir com atenção:
O pensamento computacional é o processo de abordar um problema de uma maneira sistemática e criar e expressar uma solução que pode ser realizada por um computador.
A partir desta informação, é possível afirmar que o pensamento computacional
	
	
	
	
		Respostas:
	apresenta técnicas computacionais para a compreensão e escrita de algoritmos.
	
	 
ensina o uso de abstração e decomposição na solução de problemas complexos.
	
	é uma aprendizagem relacionada à ciência da computação que foca em técnicas funcionais de programação.
	
	habilita os alunos a desenvolverem seu raciocínio lógico por meio da escrita de algoritmos e códigos de programas.
	
	incentiva o aluno a utilizar-se do poder da computação através da tela e do teclado de um computador (ou de um dispositivo móvel).
	Comentário da resposta:
	A alternativa b está correta, pois dentre os pilares do pensamento computacional, destaca-se a decomposição, que é o processo de decompor um problema complexo em partes menores; e também a abstração, que visa identificar características comuns e reconhecer padrões em um problema.
	
	
	
· Pergunta 10
	
	
	
	Observe com atenção o fluxograma a seguir.
 
A respeito dos componentes que fazem parte de um fluxograma, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s).
 
I. ( ) No fluxograma da imagem, observa-se a presença de uma estrutura condicional.
II. ( ) No fluxograma da imagem, se o pneu estiver furado, então será necessário trocá-lo.
III. ( ) No fluxograma da imagem, independentemente se o pneu estiver furado ou não, o fim será alcançado.
IV. ( ) No fluxograma da imagem, será escrito na tela as mensagens Não Trocar e também Trocar.
 
Assinale a alternativa que possui a sequência correta.
	
	
	
	
		Respostas:
	V-F-F-V.
	
	 
V-V-V-F.
	
	V-V-F-F.
	
	F-F-V-V.
	
	F-V-F-V.
	Comentário da resposta:
	A afirmativa I é verdadeira, pois o nó ou bloco em forma de losango é a representação de uma condição em um fluxograma.
A afirmativa II é verdadeira, pois como o losango é uma condicional, se a condição for verdadeira (caminho da direita), então será apresentado na tela que se deve trocar o pneu.
A afirmativa III é verdadeira, pois por se tratar de um algoritmo, ele possui um início e fim muito bem definidos, logo, independentemente se o pneu está ou não furado, o fim será alcançado, pois todo algoritmo é finito.
A afirmativa IV é falsa, pois somente será apresentado na tela uma mensagem ou outra, dependendo da condição se for verdadeira ou falsa.

Outros materiais