Prévia do material em texto
Revisar envio do teste: Clique aqui para iniciar o Quiz EPRCAS1DA_2402-2402-686268 2402-ALGORITMOS E PROGRAMAÇÃO I Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário GABRIELA PEREIRA ANDRADE DE OLIVEIRA Curso 2402-ALGORITMOS E PROGRAMAÇÃO I Teste Clique aqui para iniciar o Quiz Iniciado 16/05/24 06:17 Enviado 16/05/24 06:41 Data de vencimento 19/06/24 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 23 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 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 (||). Sala de Aula Tutoriais 1 em 1 pontos GABRIELA PEREIRA ANDRADE DE OLIVEIRA 5 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 1/11 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_242808_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_242808_1&content_id=_11020081_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 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: II e IV, 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 2 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. 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 2/11 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 da resposta: A afirmativa I é falsa, pois não podemos utilizar o sinal de traço (-) em uma 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 3 Observe com atenção o pseudocódigo a seguir: início se temperatura == “40” escreva(“ligar ar-condicionado”) escreva(“fechar as janelas”) 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 3/11 senão escreva(“ligar ventilador”) escreva(“abrir as janelas”) �m-se �m Sobre algoritmos, assinale a alternativa correta. Resposta Selecionada: O pseudocódigo é utilizado para acelerar o ciclo de desenvolvimento de um código. Respostas: 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. 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 4 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. 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 4/11 Respostas: abstração. algoritmo. depuração. decomposição. avaliação. Comentário da resposta: Dentre as habilidades que norteiam o pensamento computacional, o pensamentoalgorítmico é a capacidade de escrever instruções em etapas para resolver um determinado tipo de problema. Pergunta 5 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: 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. 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 5/11 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 6 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. 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 6/11 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 7 As estruturas de decisão, ou estruturas condicionais, são utilizadas nos códigos para dividir um fluxo de processos em dois ou fluxos. Todo algoritmo que precisa de tomada de decisão necessita utilizar uma estrutura de controle como esta. Veja um exemplo de código a seguir: 1 int a = 4; 2 int b = 5; 3 4 if(a>1) { 5 if(b>1) { 6 Console.WriteLine(“Valor de a ” + a + “ valor de b “ + b); 7 } 8 } De posse dessas informações e do conteúdo estudado sobre estruturas condicionais, analise as asserções a seguir e a relação proposta entre elas. I. No caso de usar IFs aninhados como no código, podemos substituir os dois IFs por uma única instrução com o operador lógico E (&&), ficando assim: if(a>1 && b>1): Porque II. Para mostrar na tela o conteúdo da linha 6, a instrução da linha 4 precisa ser verdadeira e a instrução da linha 5 também precisa ser verdadeira. A seguir, assinale a alternativa correta: 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 7/11 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 verdadeiras e a II é uma justificativa correta da I. A asserção I é uma proposição verdadeira e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 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 falsas. Comentário da resposta: A proposição I está correta, pois podemos utilizar o conceito de IFs aninhados como no código, ou utilizar, nesse código, uma comparação lógica com o operador E (&&). A proposição II está correta, pois a única condição para mostrar o conteúdo da linha 6 é a linha 4 e a linha 5 serem verdadeiras juntas. A proposição II é uma justificativa da I pois, se ambas as decisões, tanto da linha 4 quanto da linha 5, forem verdadeiras, será apresentado o valor da linha 6. Note que temos um se ambas as decisões, ou seja, é necessário que uma e outra sejam verdadeiras, logo, o operador E (&&) representa o IF aninhado. Pergunta 8 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; 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 8/11 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 - 13 - 12 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 Observe com atenção o fluxograma a seguir que apresenta a troca de pneu de um carro. 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_11020… 9/11 Em relação ao algoritmo representado no código, marque a alternativa correta. Resposta Selecionada: Para o caso em que temos a mesma instrução repetindo duas ou mais vezes, podemos utilizar o conceito de estrutura de repetição. Respostas: No código temos que, se a quantidade de parafusos for menor ou igual a 5, então devemos desaparafusar um parafuso. Para o caso em que temos a mesma instrução repetindo duas ou mais vezes, podemos utilizar o conceito de estrutura de repetição. Neste código, a frase agora removo a roda somente será executada se o valor da variável parafusosRemovidos for maior que 5. No código temos a representação de uma estrutura condicional e também de uma estrutura de repetição. Neste código, um parafuso apenas será removido quando a variável parafusosRemovidos for igual a 5. Comentário da resposta: O objetivo principal de uma estrutura de repetição é de iterar ou repetir um determinado trecho do código. No caso do fluxograma, enquanto parafusosRemovidos for menor que 5, ou seja, menor que a quantidade de parafusos, execute a instrução de desaparafusar um parafuso. Deste modo, enquanto parafusosRemovidos < 5 for verdadeiro, a instrução de desaparafusar será executada. Quando for falso, o algoritmo retoma o fluxo do algoritmo. Pergunta 10 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 1 em 1 pontos 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_1102… 10/11 Quinta-feira, 16 de Maio de 2024 06h41min36s BRT 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 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. ← OK 16/05/2024, 06:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_37687194_1&course_id=_242808_1&content_id=_1102… 11/11