Baixe o app para aproveitar ainda mais
Prévia do material em texto
Atividade Objetiva 3 Entrega 21 mar em 23:59 Pontos 1 Perguntas 5 Disponível 3 mar em 0:00 - 21 mar em 23:59 19 dias Limite de tempo Nenhum Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 30 minutos 1 de 1 Pontuação desta tentativa: 1 de 1 Enviado 19 mar em 14:18 Esta tentativa levou 30 minutos. Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. Fazer o teste novamente 0,2 / 0,2 ptsPergunta 1 Leia o texto a seguir: A solução de um problema computacional pode ter várias soluções lógicas. As linguagens de programação atuais disponibilizam recursos suficientes para suportar os vários paradigmas da lógica de programação. Portanto, é natural que os programadores se preocupem muito mais com os aspectos da solução correta e às vezes em detrimento da performance e das boas práticas de programação. Os programas devem ser corretos, ter soluções simples e com comandos adequados aos paradigmas de lógicas Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 1 of 10 19/03/2021 14:18 utilizados na solução do problema. Considerando as informações apresentadas, avalie as afirmações a seguir: I. O switch é um comando que suporta a estrutura de decisão if-else-if quando temos a possiblidade de criar formas de soluções mais claras de codificação. II. Para soluções de problemas que necessitam dos paradigmas de condições encadeadas (ninhos de if), a linguagem C possibilita a utilização de um conjunto de comandos ifs encadeados. Para facilitar o entendimento do encadeamento codificado, o programador dever codificar de modo que os níveis de encadeamento sejam endentados, ou seja, os comandos ifs mais externos ficam posicionados mais à esquerda, e conforme desce um nível, desloca-se o if da camada inferior em posições mais à direita do código. III. Existe um paradigma em lógica de programação que é uma variação da decisão simples if, a escalada de if-else-if; porém, é uma estrutura de decisão que não pode ser implementada na linguagem C, porque não proporciona estrutura de comando para essa finalidade. É correto o que se afirma em: I e II, apenas.Correto! Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 2 of 10 19/03/2021 14:18 0,2 / 0,2 ptsPergunta 2 Leia o texto a seguir: O laço de repetição é um recurso da lógica de programação imprescindível para o controle de fluxo de um programa. Em linguagem C, podemos utilizar três comandos que atendem perfeitamente a esse recurso, que são os for, while e do-while. A Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 3 of 10 19/03/2021 14:18 estrutura de repetição for tem por objetivo executar um bloco de comando, por um certo número de vezes, controlado por uma variável específica para esse fim. Sugerido quando o número de repetições é controlado por uma variável controladora ou quando houver a necessidade de inicialização e atualização. Considerando as informações apresentadas, avalie as afirmações a seguir: I. Para determinada situação que necessita de um laço de repetição, podemos utilizar qualquer um dos os três comados em C (for, while ou do-while), porém, do ponto de vista lógico, e até de performance, são recomendados comandos específicos para determinados tipos de problema. II. O comando do-while é bastante recomendável quando se fizer necessário executar um bloco pelo menos uma vez e após a primeira vez. III. No comando while, se a condição for falsa na entrada do laço de repetição, o bloco não é executado nenhuma vez, o que faz com que o laço não seja executado. É correto o que se afirma em: I, II e III.Correto! Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 4 of 10 19/03/2021 14:18 0,2 / 0,2 ptsPergunta 3 Leia o texto a seguir: Um programador de computador, produtor de soluções de sistemas para um órgão governamental, necessita dar uma solução para um problema proposto. O programa deverá fazer uma série de ações relativas à pessoa física, tendo como base o Cadastro de Pessoa Física (CPF) do cidadão. O programa recebe o CPF, digitado pelo teclado. A função main() chama várias outras funções para completar o processamento deste programa hipotético. O programador codifica todas as funções do programa, inclusive a Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 5 of 10 19/03/2021 14:18 função que faz a verificação da validade do CPF. O analista que especificou o programa pediu que o programador codificasse as instruções que encerram o programa, caso o CPF seja inválido, ou seja, faça uma parada brusca, com um código de cancelamento 999; caso o CPF seja válido, o programa deve continuar normalmente o processamento do programa. Qual comando o programador deverá utilizar, dentro da função de validação de CPF, para que o programa termine de forma anormal com o código de erro solicitado pela especificação do analista? Exit ().Correto! 0,2 / 0,2 ptsPergunta 4 Leia o texto a seguir: Um programador experiente recebe o seguinte desafio de seu coordenador: realizar a manutenção em um programa desenvolvido Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 6 of 10 19/03/2021 14:18 na linguagem de programação C. Em um determinado trecho do programa, existe uma função com um conjunto de if-else-if aninhados, o qual verifica se o conteúdo de uma determinada variável numérica é igual a um determinado valor. Esse ponto específico do código está muito confuso. O programador verificou também que, para a mesma variável, foi colocada uma sequência de if, conforme demonstrado no trecho de código abaixo: .... 1 if (a == 5) { 2 x = x * 1.1; 3 } 4 if (a == 10.0) { 5 x = x * 1.2; 6 } 7 if (a == 20.0) { 8 x = x * 1.3; 9 } 10 if (a == 30.0) { 11 x = x * 1.4; 12 } 13 x = x + k; O que motiva a manutenção nesse ponto do código é a estrutura de if analisada, que é um ponto onde a performance do programa é prejudicada, pois a mesma variável é testada 4 vezes, mesmo que o resultado do primeiro if já tenha sido verdadeiro. Considerando as informações apresentadas, assinale a opção correta. Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 7 of 10 19/03/2021 14:18 O programador pode alterar toda a sequência de if por uma estrutura SWITCH. Nesse sentido, as anomalias de performance e clareza de código seriam resolvidas com o comando SWITCH. Correto! 0,2 / 0,2 ptsPergunta 5 Leia o texto a seguir: A linguagem de programa C possui um conjunto de testes condicionais que determinam o curso da ação. Uma expressão condicional chega a um valor verdadeiro ou falso. Isso permite que uma ampla gama de rotinas seja codificada de forma extremamente eficiente. O C suporta dois tipos de comando de seleção: os Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 8 of 10 19/03/2021 14:18 comandos if e switch. Além disso, o operador ? (símbolo para o operador ternário) é uma alternativa ao if em certas circunstâncias. (Fonte: SCHILDT, H. C Completo e Total. São Paulo: Makron Books, 2006. p.66). Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas. I. Podemos utilizar o operador ? para substituir os comandos if-then- else na forma geral: if (condição) expressão;else expressão. PORQUE II. O operador ? possibilita o teste lógico de três condições em linha. A respeito dessas asserções, assinale a opção correta: A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. Correto! Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 9 of 10 19/03/2021 14:18 Pontuação do teste: 1 de 1 Atividade Objetiva 3: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56051 10 of 10 19/03/2021 14:18
Compartilhar