Buscar

quiz algor e logic

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

Usuário WALTER ANTONIO RODRIGUES JUNIOR 
Curso 2203-ALGORITMOS E PROGRAMAÇÃO I 
Teste Clique aqui para iniciar o Quiz 
Iniciado 27/10/22 16:45 
Enviado 27/10/22 16:59 
Data de vencimento 07/12/22 23:59 
Status Completada 
Resultado da tentativa 5 em 10 pontos 
Tempo decorrido 13 minutos 
Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários 
• Pergunta 1 
1 em 1 pontos 
 
Leia com atenção o texto a seguir: 
Muitos problemas quantitativos e centrados em dados podem ser resolvidos usando o 
pensamento computacional e uma compreensão do pensamento computacional lhe 
dará uma base para resolver diversos tipos de problemas. 
Dentre as habilidades do pensamento computacional, o componente principal que 
permite um programador criar um conjunto de etapas para desenvolver um programa de 
computador responsável por resolver problemas que têm impacto social no mundo real 
é a(o) 
 
Resposta Selecionada: 
algoritmo. 
Respostas: abstração. 
 
algoritmo. 
 
depuração. 
 
decomposição. 
 avaliação. 
Comentário da 
resposta: 
Dentre as habilidades que norteiam o pensamento computacional, o 
pensamento algorítmico é a capacidade de escrever instruções em 
etapas para resolver um determinado tipo de problema. 
 
 
• Pergunta 2 
1 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: string; c: int; 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 3 
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 4 
1 em 1 pontos 
 
Observe com atenção os blocos da figura a seguir: 
 
 
 
Analisando os blocos, é correto afirmar que: 
 
Resposta 
Selecionada: 
 
a operação aritmética realizada nos blocos laranja (altera) e azul claro 
(anda) terá o mesmo resultado, porém com comportamentos 
diferentes. 
Respostas: ao clicar na bandeira verde, o usuário informa dois números, os quais 
serão somados e armazenados na variável soma. 
 se o valor das variáveis numA e numB receberem os valores 8 e 10, o 
resultado será apresentado na tela pelo gato e ele andará 18 passos. 
 
 
existe uma operação de soma que será executada assim que alguém 
pressionar a bandeira verde, mostrando o resultado da operação na 
tela. 
 
 
a operação aritmética realizada nos blocos laranja (altera) e azul claro 
(anda) terá o mesmo resultado, porém com comportamentos 
diferentes. 
 a instrução realizada no bloco azul (anda) resultará em erro, uma vez 
que operações aritméticas devem ser atribuídas a uma variável. 
Comentário 
da resposta: 
Nos blocos laranja e azul temos a mesma operação de soma, com a 
diferença de que, enquanto o bloco laranja atribui o valor da operação de 
soma para uma variável, o bloco azul atribui para o bloco anda uma 
quantidade de passos para o gato caminhar. Logo, se o valor da variável 
numA for 8 e a variável numB for 10, então a variável soma recebe 18 e o 
gato caminha 18 passos. 
 
• Pergunta 5 
0 em 1 pontos 
 
Leia e associe as duas colunas com relação aos pilares do pensamento computacional. 
I. Decomposição A. Resolve problemas menores e mais 
fáceis de serem gerenciados obtidos a 
partir de um problema complexo. 
II. Abstração B. Divide um problema em passo a passo 
para que ele seja resolvido por meio de 
instruções ou regras. 
III. Algoritmo C. Separa do problema apenas as partes 
importantes, ignorando as partes menos 
importantes. 
 
Assinale a alternativa que traz a associação correta entre as duas colunas: 
 
Resposta Selecionada: 
I-C; II-A; III-B. 
Respostas: 
I-A; II-C; III-B. 
 
I-B; II-C; III-A. 
 
I-C; II-A; III-B. 
 
 I-C; II-B; III-A. 
 
I-B; II-A; III-C. 
Comentário 
da 
resposta: 
A alternativa correta é a) I-A; II-C; III-B. 
I. Decomposição A. Resolve problemas menores e mais fáceis de serem 
gerenciados obtidos a partir de um problema complexo. 
II. Abstração C. Separa do problema apenas as partes importantes, 
ignorando as partes menos importantes. 
III. Algoritmo B. Divide um problema em passo a passo para que ele 
seja resolvido por meio de instruções ou regras. 
 
 
• Pergunta 6 
1 em 1 pontos 
 
Leia o texto a seguir: 
Uma variável possui papel fundamental em um código: guardar dados. Elas podem 
armazenar apenas um dado por vez, logo, se uma variável chamada nome possui o 
conteúdo “João”, ao receber o valor “Maria”, a palavra “João” é perdida. Por outro lado, 
temos as estruturas condicionais, cuja principal característica é modificar o fluxo de um 
código de acordo com uma condição e, consequentemente, modificar o conteúdo de 
uma variável. Veja um exemplo de código fonte em C# que manipula uma única variável 
chamada txt e possui uma condicional.1 string txt; 
2 Console.WriteLine(“Digite seu nome”); 
3 txt = Console.ReadLine(); 
4 
5 if(txt != “Maria”){ 
6 Console.WriteLine(txt + “seu acesso não está autorizado”); 
 
7 } else { 
8 Console.WriteLine(txt + “seu acesso foi autorizado”); 
9 Console.WriteLine(“bem vindo!”); 
10 } 
 
Marque a alternativa que explica corretamente a execução deste código: 
Resposta 
Selecionada: 
 
O valor digitado pelo usuário na linha 3 será armazenado na variável 
txt e apresentado na linha 6 ou na linha 8. 
Respostas: Se a variável txt receber o valor “Maria”, será apresentado na tela que 
o acesso não está autorizado (linha 6) e três pontos (linha 9). 
 
 
O valor digitado pelo usuário na linha 3 será armazenado na variável 
txt e apresentado na linha 6 ou na linha 8. 
 A linha 6 deste código apresentará a mensagem “Digite seu nome”, 
pois este é o valor da variável txt. 
 Uma característica do C# pode ser observada na linha 9, o uso de três 
pontos para encerrar um fluxo de código. 
 Independente do conteúdo de txt, o conteúdo da linha 9 será 
apresentado pois ele está fora da estrutura if/else. 
Comentário da 
resposta: 
Na linha 3 o usuário entrará com um valor que, conforme solicitado, 
deve ser um nome. Se o nome for diferente de Maria, então será 
apresentado o valor da linha 6, caso contrário, será apresentado o valor 
da linha 8. 
 
 
• 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: 
F-V-V-F. 
Respostas: F-V-F-V. 
 V-V-F-F. 
 
F-V-V-F. 
 
V-V-F-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 
 
Analise com atenção o código a seguir que utiliza função com passagem de parâmetros, 
com três argumentos. 
1 public int calcular(int x, ref int y, ref int z){ 
2 x = x + 10; 
3 y = y + 10; 
4 z = z + 10; 
5 Console.WriteLine(x + " "+ y+ " "+ z); 
6 return y; 
7 } 
8 
9 public static void Main (string[] args) { 
10 int a = 4; 
11 int b = 3; 
12 int c = 2; 
13 
14 Program p = new Program(); 
15 p.calcular(a, ref b, ref c); 
16 
17 Console.WriteLine(a + " - "+ b + " - " + c); 
18 } 
 
 
Os valores impressos na instrução da linha 17 serão: 
Resposta Selecionada: 
4 - 3 - 2 
Respostas: 
4 - 13 - 12 
 
4 - 3 - 2 
 
14 - 13 - 12 
 14 - 3 - 2 
 4 - 12 - 13 
Comentário 
da resposta: 
Na função main há a invocação da função calcular passando três argumentos 
por parâmetro, sendo que o primeiro (variável a) é passado por valor, por outro 
lado, as variáveis b e c são passadas como referência. Logo, qualquer 
alteração nas variáveis y e z na função calcular, impactará no valor das 
variáveis b e c que estão na função main. Deste modo, os valores finais das 
variáveis a, b e c serão, respectivamente, 4, 13 e 12. 
 
 
• Pergunta 9 
0 em 1 pontos 
 
Analise com atenção o código a seguir: 
1 public static void Main (string[] args) { 
2 Console.WriteLine("Digite um numero"); 
3 string op = Console.ReadLine(); 
4 
5 while(op > 0 || op < 50){ 
6 Console.WriteLine("Digite um número: "); 
7 op = Console.ReadLine(); 
8 } 
9 } 
 
 
Considerando as informações apresentadas, avalie as afirmações a seguir: 
I. O laço de repetição while da linha 5 será executado indiferentemente do valor digitado 
pelo usuário, uma vez que temos o operador OU (||). 
II. O laço de repetição while apresentará um erro, pois a variável op é do tipo string e o 
valor zero é um número inteiro. 
III. O laço de repetição while será interrompido assim que o usuário digitar um número 
fora do intervalo entre zero e cinquenta. 
IV. O laço de repetição while está com sua sintaxe escrita corretamente, porém, ele 
apresentará um erro de execução. 
É correto o que se afirma em: 
Resposta Selecionada: 
I e II, apenas. 
Respostas: 
II e IV, apenas 
 
I e III, apenas. 
 
I e II, apenas. 
 III e IV, apenas. 
 II e III, apenas. 
Comentário 
da resposta: 
A afirmativa I está incorreta, pois o laço de repetição não será executado 
pois há uma tentativa de comparar uma string com um valor inteiro, o 
que irá gerar um erro. Para resolver isso, é possível converter o tipo da 
variável op de string para inteiro. 
A afirmativa II está correta, pois haverá um erro devido ao tipo da variável 
op que é string. 
A afirmativa III está incorreta, pois mesmo que a variável op fosse do tipo 
inteiro isso não ocorreria, afinal, existe uma condição ou, logo, 
independentemente do valor digitado pelo usuário, sempre este laço 
seria executado (considerando op como inteiro). 
A afirmativa IV está correta, pois sintaxe se refere a forma de escrita e, 
neste caso, o while está com sua sintaxe correta. Existe uma expressão 
interna entre os parênteses com um operador lógico conectando duas 
operações de comparação. Entretanto, o erro é semântico, uma vez que o 
tipo não é condizente com o esperado, que seria o inteiro. 
 
 
• Pergunta 10 
0 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: 
 
As linhas 7 e 9 poderiam ser suprimidas, ficando apenas os comandos 
a = b e b = a dentro do escopo do if. 
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 chavesestá 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. 
 
Quinta-feira, 27 de Outubro de 2022 17h00min40s BRT

Outros materiais