Prévia do material em texto
· Pergunta 1
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 e a II é 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 2
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 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 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 5
1 em 1 pontosLeia 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-A; II-C; 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 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 7
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 || opop 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.
image1.gif
image2.gif