Prévia do material em texto
15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 1/8 Revisar envio do teste: Clique aqui para iniciar o QuizSP_GRAD_686268_2302_01 2301-ALGORITMOS E PROGRAMAÇÃO I Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário MARCELO DE OLIVEIRA SILVA Curso 2301-ALGORITMOS E PROGRAMAÇÃO I Teste Clique aqui para iniciar o Quiz Iniciado 15/05/23 20:01 Enviado 15/05/23 20:56 Data de vencimento 07/06/23 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 55 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Respostas: Comentário da resposta: 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. No total, a linha 4 será executada 8 vezes, apresentando a sequência 12341234. 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. O for externo executará 9 vezes (de 1 a 9, exceto o 10) o bloco que se inicia 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. Pergunta 2 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(); Sala de Aula Tutoriais 1 em 1 pontos 1 em 1 pontos MARCELO DE OLIVEIRA SILVA 36 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_211761_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_211761_1&content_id=_9493060_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 2/8 Resposta Selecionada: Respostas: Comentário da resposta: 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: II e IV, apenas II e IV, apenas I e III, apenas. I e II, apenas. III e IV, apenas. II e III, apenas. 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 3 Resposta Selecionada: Respostas: 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 o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for verdadeiro. Logo, o resultado da expressão 2 será VERDADEIRO. o operador OU resultará VERDADEIRO quando qualquer um dos operandos também for verdadeiro. Logo, o resultado da expressão 1 será VERDADEIRO. 1 em 1 pontos 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 3/8 Comentário da resposta: 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. 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 4 Resposta Selecionada: Respostas: Comentário da resposta: 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”) �m-se �m Sobre algoritmos, assinale a alternativa correta. O pseudocódigo é utilizado para acelerar o ciclo de desenvolvimento de um código. 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. 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 Sobre algoritmos, podemos afirmar que: 1 em 1 pontos 1 em 1 pontos 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 4/8 Resposta Selecionada: Respostas: Comentário da resposta: 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: I e IV, apenas. III e IV, apenas. II e V, apenas. I e IV, apenas. II e III, apenas. III e V, apenas. A afirmativa I é verdadeira, pois um algoritmo possui uma sequência de 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 6 Resposta Selecionada: Respostas: Comentário da resposta: 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) algoritmo. abstração. algoritmo. depuração. decomposição. avaliação. 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 Observe com atenção o código a seguir desenvolvido no Scratch. 1 em 1 pontos 1 em 1 pontos 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 5/8 Resposta Selecionada: Respostas: Comentário da resposta: 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. F-V-F-V. F-F-V-V. F-V-F-V. V-F-V-F. V-F-F-V. V-V-F-F. 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, pois o 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 8 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(); 1 em 1 pontos 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 6/8 Resposta Selecionada: Respostas: Comentário da resposta: 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: O valor digitado pelo usuário na linha 3 será armazenado na variável txt e apresentado na linha 6 ou na linha 8. 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. 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 9 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. 1 em 1 pontos 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 7/8 Resposta Selecionada: Respostas: Comentário da resposta: 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 paratrá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: I e IV, apenas. I e IV, apenas. II e IV, apenas. II e III, apenas. III e IV, apenas. I e III, apenas. 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 10 Resposta Selecionada: Respostas: Comentário da resposta: 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. Esta estrutura de repetição apresentará todos os números pares de -14 a 14. 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. O laço for é inicializado com o valor -15 (x = -15). Observe que o laço é 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. 1 em 1 pontos 15/05/23, 20:57 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_31056193_1&course_id=_211761_1&content_id=_949309… 8/8 Segunda-feira, 15 de Maio de 2023 20h57min04s BRT ← OK