Buscar

Quiz_Algoritmos e Programacao


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

· Pergunta 1
1 em 1 pontos
	
	
	
	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.
	
	
	
	
		Resposta Selecionada:
	 
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.
	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 2
0 em 1 pontos
	
	
	
	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.
	
	
	
	
		Resposta Selecionada:
	 
O pseudocódigo é uma representação formal de um código real, porém em português.
	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
1 em 1 pontos
	
	
	
	Analise com atenção o código a seguir, o qual possui duas variáveis (a e b), bem como uma estrutura condicional if na linha 4, que, caso seja verdadeira, irá executar o conteúdo interno que correspondem às instruções das linhas 5, 6 e 7.
	1
	int a, b, aux;
	2
	 
	3
	a = 41;
	4
	b = 9;
	5
	 
	6
	if(a > b){
	7
	        aux = a;
	8
	        a = b;
	9
	        b = aux;
	10
	}
	11
	Console.WriteLine(“O valor de a é “ + a);
	12
	Console.WriteLine(“O valor de b é “ + b);
 
Considerando as informações apresentadas, assinale a opção correta.
	
	
	
	
		Resposta Selecionada:
	 
O objetivo deste código é apresentar uma sequência ordenada nas linhas 11 e 12, e a linha 7 é essencial neste processo.
	Respostas:
	O código apresentará um erro quando o valor de a for igual ao valor de b, uma vez que não existe uma condição que contemple esta igualdade.
	
	O código apresentará erro na linha 6 uma vez que o sinal de chaves está na mesma linha que a estrutura if, ela deveria estar na linha seguinte.
	
	 
O objetivo deste código é apresentar uma sequência ordenada nas linhas 11 e 12, e a linha 7 é essencial neste processo.
	
	O valor de a e b, após a execução dos comandos das linhas 8 e 9, será 41, o mesmo valor da variável aux.
	
	As linhas 7 e 9 poderiam ser suprimidas, ficando apenas os comandos a = b e b = a dentro do escopo do if.
	Comentário da resposta:
	O 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 receber b e b receber 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 é feito na linha 7. A única condição de entrarmos neste if é quando a variável a for maior que a variável b, logo, estamos ordenando os valores.
	
	
	
· Pergunta 4
1 em 1 pontos
	
	
	
	Observe com atenção o fluxograma a seguir que apresenta a troca de pneu de um carro.
 
Em relação ao algoritmo representado no código, marque a alternativa correta.
	
	
	
	
		Resposta Selecionada:
	 
Para o caso em que temos a mesma instrução repetindo duas ou mais vezes, podemos utilizar o conceito de estrutura de repetição.
	Respostas:
	No código temos que, se a quantidade de parafusos for menor ou igual a 5, então devemos desaparafusar um parafuso.
	
	 
Para o caso em que temos a mesma instrução repetindo duas ou mais vezes, podemos utilizar o conceito de estrutura de repetição.
	
	Neste código, a frase agora removo a roda somente será executada se o valor da variável parafusosRemovidos for maior que 5.
	
	No código temos a representação de uma estrutura condicional e também de uma estrutura de repetição.
	
	Neste código, um parafuso apenas será removido quando a variável parafusosRemovidos for igual a 5.
	Comentário da resposta:
	O objetivo principal de uma estrutura de repetição é de iterar ou repetir um determinado trecho do código. No caso do fluxograma, enquanto parafusosRemovidos for menor que 5, ou seja, menor que a quantidade de parafusos, execute a instrução de desaparafusar um parafuso. Deste modo, enquanto parafusosRemovidos < 5 for verdadeiro, a instrução de desaparafusar será executada. Quando for falso, o algoritmo retoma o fluxo do algoritmo.
	
	
	
· Pergunta 5
1 em 1 pontos
	
	
	
	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.
	
	
	
	
		Resposta Selecionada:
	 
F-V-F-V.
	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, poiso 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 6
0 em 1 pontos
	
	
	
	Em C# e em outras linguagens de programação, para que seja possível manipular dados, uma das necessidades é criar variáveis que armazenem temporariamente valores os quais podem ser numéricos (int ou float), texto (string) ou booleano (bool). Observe o código a seguir escrito em C#:
	1
	a = 5.95681545;
	2
	b = Console.ReadLine();
	3
	c = 7 % 2;
	4
	d = 3.5 * c;
 
Marque a alternativa que apresenta corretamente os tipos das variáveis a, b, c e d, respectivamente.
	
	
	
	
		Resposta Selecionada:
	 
a: float; b: int; c: float; d: float.
	Respostas:
	a: int; b: string; c: float; d: int.
	
	a: float; b: int; c: float; d: float.
	
	a: int; b: string; c: int; d: int.
	
	 
a: float; b: string; c: int; d: float.
	
	a: int; b: int; c: float; d: int.
	Comentário da resposta:
	Em a) temos um número que é ponto flutuante, isso pode ser observado pelo uso de casas decimais; em b) a variável recebe um conteúdo da linha de comando via o método input, logo, independentemente de o valor digitado ser um número ou letra, o tipo sempre será string; em c) estamos encontrando o resto de uma divisão, logo, o valor é inteiro; em d) estamos multiplicando um ponto flutuante por um inteiro, o que resulta em um ponto flutuante ou float.
	
	
	
· Pergunta 7
0 em 1 pontos
	
	
	
	Leia com atenção o texto a seguir.
Um algoritmo é um procedimento computacional bem definido que pega algum valor como entrada e gera algum valor como saída. Em palavras simples, é uma sequência de etapas computacionais que converte a entrada em saída.
A respeito dos algoritmos e seus tipos de representações, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s).
I. (  ) O algoritmo fornece ao designer uma descrição consistente dos requisitos e objetivos dos problemas.
II. (  ) O pseudocódigo, um método para representar algoritmos, resume o fluxo de um programa, apresentando os detalhes subjacentes.
III. (   ) A detecção de erros ou o fluxo de programa incorreto no estágio de pseudocódigo é benéfica para o desenvolvimento.
IV. (   ) Os fluxogramas melhoram a condição e a eficiência do trabalho, possuindo quatro símbolos básicos que são o início, o fim, o processo e a decisão.
Assinale a alternativa que possui a sequência correta.
	
	
	
	
		Resposta Selecionada:
	 
V-V-F-F.
	Respostas:
	F-V-F-V.
	
	V-V-F-F.
	
	F-V-V-F.
	
	 
V-F-V-V.
	
	F-F-V-V.
	Comentário da resposta:
	A afirmativa I é verdadeira, pois a escrita de um algoritmo facilita o entendimento, de toda equipe, dos requisitos de um projeto de software.
A afirmativa II é falsa, pois o pseudocódigo é um método de representação textual de um algoritmo, usado principalmente para destacar as principais funcionalidades, excluindo os detalhes subjacentes.
A afirmativa III é verdadeira, pois por ser um processo realizado no início do desenvolvimento de software, encontrar um erro ou qualquer tipo de problema durante a elaboração do fluxograma é mais barato e menos prejudicial para a empresa. Logo, o fluxograma auxilia a encontrar erros que podem causar prejuízos para a empresa.
A afirmativa IV é verdadeira, pois um fluxograma possui essencialmente quatro símbolos básicos que contêm código escrito para programação. Eles fornecem comandos como início, processo, decisão e fim, e esses símbolos são a parte crucial dos fluxogramas de programação.
	
	
	
· Pergunta 8
0 em 1 pontos
	
	
	
	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.
	
	
	
	
		Resposta Selecionada:
	 
As asserções I e II são proposições falsas.
	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 9
0 em 1 pontos
	
	
	
	Leia o trecho a seguir:
Os operadores aritméticos de soma, subtração, divisão e multiplicação podem ser utilizados nas operações com números inteiros e números reais. Se um número inteiro for dividido por um número real, teremos um número do tipo real como resultado. Estes operadores podem ser utilizados em uma cadeia de instruções, respeitando sempre a ordem de precedência matemática: primeiro a multiplicação, em seguida a divisão, a soma e, por fim, a subtração.
Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas.
I. Supondo os seguintes valores de variáveis do tipo string: A ="Bom" e B =" Dia", podemos somar A + B, obtendo C = A + B que é igual a “Bom Dia”.
Porque:
II. Quando realizamos a soma de strings, o resultado final é a concatenação das duas strings, com comportamento semelhante ao símbolo de &.
A respeito dessas asserções, assinale a opção correta.
	
	
	
	
		Resposta Selecionada:
	 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
	Respostas:
	As asserções I e II são proposições falsas.
	
	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 verdadeiras, mas a II não é uma justificativa correta da I.
	
	As asserções I e II são proposições verdadeiras e a II é uma justificativa correta da I.
	
	 
A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
	Comentário da resposta:
	A proposição I é verdadeira, pois quando somamos duas strings, na realidade estamos realizando uma junção. Deste modo, estamos juntando a palavra “Bom” com a palavra “Dia” e o resultado é a frase “Bom Dia”. A proposição II é falsa, pois em C#, o símbolo responsável por realizar a concatenação de strings é o sinal de adição +. O e-comercial “&” não realiza concatenação. Por ser falsa, a asserção II não justifica a asserção I.
	
	
	
· Pergunta 10
0 em 1 pontos
	
	
	
	Observe com atenção o código a seguir:
 
	1
	double x, valor, y;
	2
	bool compara;
	3
	 
	4
	valor = 100;
	5
	x = valor % 5;
	6
	Console.WriteLine(x);
	7
	 
	8
	valor = 100;
	9
	y = valor * 0.05;
	10
	Console.WriteLine(y);11
	 
	12
	compara = x == y;
	13
	Console.WriteLine(compara);
 
Em programação, podemos utilizar os operadores aritméticos como soma, multiplicação, divisão e módulo para manipular os valores das variáveis. Além desse tipo de operador, outro muito utilizado é o operador de comparação, que é responsável por relacionar duas expressões, validando sua igualdade ou diferença, por exemplo.
Considerando as informações apresentadas, avalie as afirmações a seguir.
I. Nas linhas 4 a 6 estamos calculando a porcentagem de um determinado valor. Logo, na linha 5 estamos calculando 5% em cima do valor 100. O resultado apresentado na linha 6 será 5.
II. Nas linhas 8 a 10, estamos calculando a porcentagem de um determinado valor. Logo, na linha 9 estamos calculando 5% em cima do valor 100. O resultado apresentado na linha 10 será 5.
III. Na linha 12, estamos comparando o valor da variável x (obtido na linha 5) e o valor da variável y (obtido na linha 9). O resultado dessa comparação será False.
É correto o que se afirma em:
	
	
	
	
		Resposta Selecionada:
	 
I e II, apenas.
	Respostas:
	 
II e III, apenas.
	
	I e II, apenas.
	
	I, apenas.
	
	II, apenas.
	
	III, apenas.
	Comentário da resposta:
	A afirmativa I está incorreta, pois o operador % (módulo) retorna o resto da divisão de um número por outro, não sendo responsável por calcular a porcentagem. Logo, a saída é o resto da divisão, ou seja, 0 (zero) e não 5 ou 5%.
A afirmativa II está correta, pois estamos calculando a porcentagem, afinal, estamos multiplicando por 0,05 o conteúdo da variável valor, que é 100. Como resultado, teremos o número 5 ou 5%.
A afirmativa III está correta, pois o valor da variável x é 0 (resto da divisão de 100 por 5) e o valor da variável y é 5. Como são valores diferentes, o resultado da comparação será False.
	
	
	
image1.gif
image2.gif

Mais conteúdos dessa disciplina