Logo Passei Direto
Buscar

Quiz Algoritmos e Programação I

User badge image
Estudante

em

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

• 
Pergunta 1 
1 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 
 
Resposta 
Selecionada: 
e. 
o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for 
verdadeiro. Logo, o resultado da expressão 2 será VERDADEIRO. 
Respostas: a. 
o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for 
verdadeiro. Logo, o resultado da expressão 1 será VERDADEIRO. 
 
b. 
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. 
 
c. 
o operador E resultará VERDADEIRO quando qualquer um dos operandos também for 
verdadeiro. Logo, o resultado da expressão 2 será VERDADEIRO. 
 
d. 
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. 
 
e. 
o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for 
verdadeiro. Logo, o resultado da 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 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: 
d. 
a: float; b: string; c: int; d: float. 
Respostas: a. 
a: int; b: string; c: float; d: int. 
 
b. 
a: float; b: int; c: float; d: float. 
 
c. 
a: int; b: string; c: int; d: int. 
 
d. 
a: float; b: string; c: int; d: float. 
 
e. 
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 
 
Observe com atenção o código a seguir desenvolvido no Scratch. 
 
 
Considerando esse código, o significado dos blocos e suas saídas, analise as afirmativas a seguir: 
I. O componente laranja é um nó encontrado no grupo de nós chamado Eventos e será ativado 
quando uma tecla for pressionada. 
II. Ao clicar na seta para a esquerda do teclado, no segundo bloco o gato inverterá o trajeto e, ao invés 
de ir para frente, irá para trás. 
III. O algoritmo desenvolvido é responsável por fazer o gato virar para trás e dar 100 passos nesta 
direção. 
IV. Ao clicar na seta para esquerda do teclado, o gato por 4 vezes, o gato fará um trajeto na tela 
semelhante a um quadrado no sentido horário. 
Está correto o que se afirma em: 
 
Resposta 
Selecionada: 
a. 
I e IV, apenas. 
Respostas: a. 
I e IV, apenas. 
 
b. 
II e IV, apenas. 
 
c. 
II e III, apenas. 
 
d. 
III e IV, apenas. 
 
e. 
I e III, apenas. 
Comentário da 
resposta: 
A afirmativa I está correta, pois o bloco laranja é um componente encontrado no 
grupo de nós laranja chamado Eventos. Neste bloco podemos selecionar qual tecla 
que, ao ser clicada, executará um evento (ação) no personagem. 
 
A afirmativa II está incorreta, pois apesar da tecla indicada ser a da esquerda, o gato 
vai virar 90° e deslocar 100 passos para baixo. Sendo assim, ele não virá para trás, ele 
ficará de cara para baixo e dará os 100 passos em sentido horário. 
A afirmativa III está incorreta, pois o gato não irá para trás, ele ficará de cara para baixo 
e, em seguida, se deslocará neste sentido. 
A afirmativa IV está correta, pois apesar da tecla indicada no bloco ser a da esquerda, 
ao clicar uma vez nessa tecla, o gato rotacionará 90°, ficando de cara para baixo, e 
andará 100 passos para baixo. Ao pressionar uma segunda vez, o gato rotacionará 
mais 90° e, ficando de ponta cabeça, deslocará 100 passos para a esquerda. Se 
pressionar o botão mais duas vezes, o gato completará o trajeto em sentido horário, 
formando um quadrado. 
 
• Pergunta 4 
1 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: 
d. 
O pseudocódigo é utilizado para acelerar o ciclo de desenvolvimento de um código. 
Respostas: a. 
O pseudocódigo é uma representação formal de um código real, porém em português. 
 
b. 
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. 
 
 
c. 
O pseudocódigo é usado em automação residencial, como no caso do código 
apresentado para ligar o ventilador ou o ar-condicionado. 
 
d. 
O pseudocódigo é utilizado para acelerar o ciclo de desenvolvimento de um código. 
 
e. 
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 5 
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: 
c. 
O objetivo deste código é apresentar uma sequência ordenada nas linhas 11 e 12, e a 
linha 7 é essencial neste processo. 
 
Respostas: a. 
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. 
 
b. 
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. 
 
c. 
O objetivo deste código é apresentar uma sequência ordenada nas linhas 11 e 12, e a 
linha 7 é essencial neste processo.d. 
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. 
 
e. 
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 6 
1 em 1 pontos 
 
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. 
 
Resposta 
Selecionada: 
a. 
Desenvolver e usar abstrações. 
Respostas: a. 
 
Desenvolver e usar abstrações. 
 
b. 
Testar algoritmos computacionais. 
 
c. 
Distinguir entre o pensamento humano e o computacional. 
 
d. 
Praticar os conceitos de ciência da computação como programação. 
 
e. 
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 
1 em 1 pontos 
 
Analise com atenção o código a seguir, que possui algumas variáveis e realiza algumas operações 
sobre elas: 
1 string var1; 
2 int var2; 
3 double var3; 
4 
5 Console.WriteLine(“Digite seu nome”); 
6 var1 = Console.ReadLine(); 
7 
8 Console.WriteLine(“Digite sua idade”); 
9 var1 = Console.ReadLine(); 
10 
11 var2 = int.Parse(var1); 
12 
13 var3 = Math.Pow(var2, 2); 
 
14 
15 Console.WriteLine(var3); 
 
Considerando essas informações, analise as afirmativas a seguir: 
I. Neste código será solicitada uma entrada de dados que, ao digitar valores numéricos, um outro 
valor numérico é apresentado na tela. 
II. Neste código, ao digitar palavras e expressões alfanuméricas, elas serão armazenadas em var1 e 
mostradas na tela na linha 15. 
III. Este código não apresentará mensagem de erro na linha 11 se receber um texto, pois a variável 
var2 é do tipo Inteiro. 
IV. Este código apresenta uma saída de texto na linha 15 com o conteúdo da variável var3, sempre 
que var1 for um número. 
Estão corretas apenas as afirmativas: 
Resposta 
Selecionada: 
b. 
I e IV. 
Respostas: a. 
II e III. 
 
b. 
I e IV. 
 
c. 
II e IV. 
 
d. 
I e III. 
 
e. 
III e IV. 
Comentário da 
resposta: 
A afirmativa I é verdadeira, pois o tipo da variável var1 no início do código (linha 1) é 
string. Na linha 9 é solicitada a idade, que será um número, porém, a variável continua 
sendo string. Na linha 11 essa string é convertida para inteiro. Logo, se houver um 
valor numérico na variável var1, ele será convertido para número do tipo inteiro na 
linha 11. Deste modo, na linha 13 estamos elevando esse número ao quadrado, se for 
10, por exemplo, na linha 15 será mostrado o valor 100. 
A afirmativa II é falsa, pois ao digitar qualquer letra ou palavra, contendo ou não 
número, o código apresentará erro, uma vez que existe uma operação aritmética na 
linha 13, logo o programa espera que você informe números e não letras. 
 
A afirmativa III é falsa, porque ocorre um erro na linha 11 na tentativa de converter um 
caractere (letra) em inteiro. 
A afirmativa IV é verdadeira, pois sempre que for digitado um número na linha 6 ele 
será convertido de string para tipo inteiro e, em seguida, realizada a operação 
aritmética de exponenciação e, por fim, apresentado na tela na linha 15. 
 
• Pergunta 8 
1 em 1 pontos 
 
No código a seguir, temos duas estruturas de repetição for. A externa, na linha 1, será executada 10 
vezes. Ou seja, o for irá de 1 até 10. No escopo desse for, temos uma estrutura condicional if, a qual 
também possui internamente uma estrutura de repetição for, que é executada de 1 até 5. 
1 for(int x = 1; x 0) || (ano % 400 == 0)){ 
6 Console.WriteLine(“Ano bissexto”); 
7 } else { 
8 Console.WriteLine(“Ano não é bissexto”); 
9 } 
 
Considerando as informações apresentadas, avalie as afirmações a seguir: 
I. Na linha 3, quando o usuário inserir um valor de ano, resultará em um erro na linha 5, 
pois a entrada é do tipo string e há uma operação aritmética de módulo. 
II. Se um valor é divisível por 4 e divisível por 100, logo, é divisível por 400 também, o que 
torna dispensável a expressão ano%400==0. 
III. Na linha 5, o valor da expressão será true para qualquer ano maior que 1500, uma vez 
que temos um operador || (ou), tornando a linha 6 inalcançável. 
IV. A variável ano é declarada como double, o que pode ser desnecessário, pois anos são 
tradicionalmente representados por números inteiros. Utilizar o tipo int para a variável 
ano seria mais apropriado. 
É correto o que se afirma em: 
 
Resposta 
Selecionada: 
b. 
I e IV, apenas. 
Respostas: a. 
I e III, apenas. 
 
b. 
I e IV, apenas. 
 c. 
 
II e III, apenas. 
 
d. 
I e II, apenas. 
 
e. 
II e IV, apenas. 
Comentário 
da resposta: 
A afirmação 1 está correta, pois o comando da linha 3 realmente vai nos trazer um 
erro, pois Console.ReadLine() nos retorna uma String (texto), mas a variável foi criada 
para guardar valoresnuméricos do tipo double. 
A afirmação 2 está incorreta, pois o ano deve ser divisível por 100 e por 400 ao mesmo 
tempo. p.e. Os anos 1700, 1800, 1900, 2100, 2200, 2300, 2500, 2600 são divisíveis por 
100, mas não por 400 e, portanto, não são bissextos. 
Afirmação 3 está incorreta, pois a expressão na linha 5 não será sempre verdade para 
qualquer ano maior do que 1500. p.e. ano 1505 -> não é divisível por 4, nem por 100 e 
nem por 400, portanto, todos os elementos de comparação serão false. Mas quando 
colocamos 1600, é divisível por 4, por 100 e por 400, portanto, o resultado da 
comparação será true e chegaremos na linha 6. 
 
A afirmação 4 está correta, pois para representar anos, números inteiros são 
suficientes e mais apropriados, pois anos não têm casas decimais. 
 
• Pergunta 10 
1 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: 
a. 
I-A; II-C; III-B. 
Respostas: a. 
 
I-A; II-C; III-B. 
 
b. 
I-B; II-C; III-A. 
 
c. 
I-C; II-A; III-B. 
 
d. 
I-C; II-B; III-A. 
 
e. 
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. 
 
Sábado, 25 de Outubro de 2025 20h45min34s BRT

Mais conteúdos dessa disciplina