Você está na página 1de 13

07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Usuário
Curso 2303-ALGORITMOS E PROGRAMAÇÃO I
Teste Clique aqui para iniciar o Quiz
Iniciado 06/11/23 17:43
Enviado 07/11/23 23:00
Data de vencimento 06/12/23 23:59
Status Completada
Resultado da tentativa 10 em 10 pontos
Tempo decorrido 29 horas, 16 minutos
Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários

Pergunta 1 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<10; x++)

2 if(x % 4 != 0 && x % 2 == 0)

3 for(int y = 1; y<5; y++)

4 Console.WriteLine(y);

Considerando as informações apresentadas, assinale a opção correta.

Resposta
Selecionada: No total, a linha 4 será executada 8 vezes, apresentando a sequência
12341234.
Respostas:
No total, a linha 4 será executada 8 vezes, apresentando a sequência
12341234.

A expressão da linha 2 só será verdadeira quando o número for par e


divisível por 4.

A linha 4 será executada 10 vezes, apresentando a sequência


1234512345.

A linha 2 será executada quando o valor de x for par e divisível por 4.

A linha 4 apresentará o valor de y na tela quando o resto da divisão de x


por 4 for diferente de zero ou quando o resto for igual 2.
Comentário da O for externo executará 9 vezes (de 1 a 9, exceto o 10) o bloco que se inicia
resposta:
na linha 2. Como a única condição para entrar no bloco if da linha 2 é que o
valor de x não seja divisível por 4 E o valor de x seja par (ou divisível por 2),
então a linha 4 será executada 8 vezes apresentando os valores 12341234.

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 1/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Pergunta 2 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: o operador OU resultará VERDADEIRO quando qualquer um dos operandos
também for verdadeiro. Logo, o resultado da expressão 2 será
VERDADEIRO.
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 resultado da expressão 2 será
VERDADEIRO.
Comentário Analisando a tabela lógica ou tabela verdade, o operador OU resultará
da resposta:
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 3 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 2/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

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:

Resposta Selecionada: I e IV, apenas.

Respostas: III e IV, apenas.

II e V, apenas.

I e IV, apenas.

II e III, apenas.

III e V, apenas.
Comentário da A afirmativa I é verdadeira, pois um algoritmo possui uma sequência de
resposta:
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 4 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 3/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

O código a seguir realiza a validação se um dado ano é bissexto ou não. Para calcularmos se
um ano é bissexto ou não, temos, necessariamente, que considerar os seguintes fatores: o
ano deve ser divisível por quatro, o resto da divisão do ano por 100 tem que ser maior que
zero ou a divisão do ano por 400 precisa ser igual a zero. Analise o código com atenção.

1 double ano;

3 ano = Console.ReadLine();

5 if(((ano % 4) == 0 || (ano % 100) > 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. Na linha 5, é necessário substituir o primeiro operador maior (>) pelo operador de
igualdade, caso contrário, o algoritmo pode não reconhecer anos bissextos.

É correto o que se afirma em:

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 4/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Resposta Selecionada: I e III, apenas.

Respostas: I e III, apenas.

I e IV, apenas.

II e III, apenas.

I e II, apenas.

II e IV, apenas.
Comentário da A afirmativa I é verdadeira, pois o valor de entrada é sempre do tipo string.
resposta:
Logo, é necessário converter o valor de entrada do input para o tipo double,
de modo a evitar o erro.

A afirmativa II está incorreta, pois para um ano ser bissexto, entre outros
critérios, o resto da divisão deste ano por 100 deve ser maior que 0. A
afirmativa diz que deve ser igual a zero, ou seja, deve ser divisível por 100, o
que está errado. Em outras palavras, um número não pode ser divisível por
100.

A afirmativa III é verdadeira, pois como o código está com três expressões
ligadas por um operador || (ou), basta que uma delas seja verdadeira para
que toda a expressão seja verdadeira também. Logo, sempre será executada
a linha 4, tornando a linha 6 inacessível

A afirmativa IV está incorreta, pois para um ano ser bissexto, ele não pode ser
divisível por 100 e deve ser divisível por 4. Ou então, deve ser divisível por
400.

Pergunta 5 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 5/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

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 }

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:

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 6/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Resposta Selecionada: 4 - 13 - 12

Respostas: 4 - 13 - 12

4-3-2

14 - 13 - 12

14 - 3 - 2

4 - 12 - 13
Comentário Na função main há a invocação da função calcular passando três argumentos
da resposta:
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 6 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 7/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Observe com atenção o código a seguir:

1 double x, valor, y;

2 bool compara;

4 valor = 100;

5 x = valor % 5;

6 Console.WriteLine(x);

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:

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 8/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Resposta Selecionada: II e III, apenas.

Respostas: II e III, apenas.

I e II, apenas.

I, apenas.

II, apenas.

III, apenas.
Comentário da A afirmativa I está incorreta, pois o operador % (módulo) retorna o resto da
resposta:
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.

Pergunta 7 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_10210… 9/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Sobre variáveis em programação, podemos afirmar que:

I. Uma variável pode iniciar-se com letras, com underscore ( _ ) ou com traço (-) e deve ser
evitado o uso de caracteres especiais.

II. Se criarmos uma variável chamada aluno1 e outra chamada aluno2, teremos dois espaços
na memória para guardar valores.

III. Uma variável chamada nota pode armazenar, ao mesmo tempo, o nome de um aluno e sua
respectiva nota em uma avaliação.

IV. Uma variável não pode ter caracteres especiais ou traços, afinal, o computador pode não
compreender estes sinais.

As alternativas verdadeiras são:

Resposta Selecionada: II e IV, apenas.

Respostas: I e III, apenas.

I e IV, apenas.

II e III, apenas.

I e II, apenas.

II e IV, apenas.

Comentário A afirmativa I é falsa, pois não podemos utilizar o sinal de traço (-) em uma
da resposta:
variável, afinal, o computador pode ficar em dúvida se esse traço representa
um caractere separador ou um sinal de subtração, então por isso não é
possível utilizá-lo.

A afirmativa II é verdadeira, pois uma variável tem o exato propósito de


armazenar um valor na memória. Logo, ao criarmos duas variáveis, teremos
dois espaços na memória reservados para o nosso programa.

A afirmativa III é falsa, pois uma variável pode armazenar apenas um único
valor, logo, ou se armazena o nome do aluno ou se armazena a nota do aluno,
não sendo possível armazenar ambos os valores no mesmo espaço de
memória.

A afirmativa IV é verdadeira, pois caracteres especiais como @#$- ou qualquer


outro que o valha, não podem ser utilizados no código como parte do nome da
variável. Se usado, o compilador não o reconhecerá como presente na
linguagem e, consequentemente, irá gerar um erro. Somente uma observação:
alguns caracteres especiais como # e $ são usados na programação, mas não
na declaração de uma variável.

Pergunta 8 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_1021… 10/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

Analise com atenção o código a seguir escrito em C#.

1 for(int x=-15; x<14; x++)

2 {

3 x++;

4 Console.WriteLine(x);

5 }

Assinale a alternativa que apresenta a análise correta sobre esse código.

Resposta
Selecionada: Esta estrutura de repetição apresentará todos os números pares de -14 a
14.
Respostas: O código apresentará os números inteiros de -15 (valor inicial de x) até
13, que é o último valor menor que 14.

Este laço de repetição possui dois incrementos, o que gerará erro de


duplicidade na linha 3.

Este código apresentará todos os números de -15 a 14, inclusive o


número zero.

Este código apresentará um erro na linha 1, pois a inicialização da


variável x é negativa.

Esta estrutura de repetição apresentará todos os números pares de -14 a


14.
Comentário O laço for é inicializado com o valor -15 (x = -15). Observe que o laço é
da resposta:
incrementado uma vez na definição do for, bem como tem o incremento
internamente, dentro do escopo do for. Então, na primeira iteração, a variável
-15 é incrementada para -14 e o valor é apresentado na tela. Em seguida, a
variável x é incrementada com o x++ do laço for e também pelo x++ da linha 3.
Logo, são apresentados todos os números pares, afinal, há dois incrementos.

Pergunta 9 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_1021… 11/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

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: A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
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 A proposição I é verdadeira, pois quando somamos duas strings, na realidade
da resposta:
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 1 em 1 pontos

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_1021… 12/13
07/11/2023 22:01 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...

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-F-V-V.

Respostas: F-V-F-V.

V-V-F-F.

F-V-V-F.

V-F-V-V.

F-F-V-V.
Comentário A afirmativa I é verdadeira, pois a escrita de um algoritmo facilita o
da resposta:
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.

Terça-feira, 7 de Novembro de 2023 23h00min40s BRT

https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_34461548_1&course_id=_226489_1&content_id=_1021… 13/13

Você também pode gostar