Buscar

Atividade Objetiva 3_ Algoritmos e Lógica de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 1/11
Atividade Objetiva 3
Entrega 22 de mar de 2022 em 23:59 Pontos 1 Perguntas 5
Disponível 3 de mar de 2022 em 0:00 - 22 de mar de 2022 em 23:59 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Este teste não está mais disponível, pois o curso foi concluído.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 10 minutos 0,8 de 1
Pontuação desta tentativa: 0,8 de 1
Enviado 18 de mar de 2022 em 17:12
Esta tentativa levou 10 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.
0,2 / 0,2 ptsPergunta 1
A+
A
A-
https://famonline.instructure.com/courses/22779/quizzes/99512/history?version=1
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 2/11
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 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?
 
 Return. 
 Break. 
 Exit (). Correto!Correto!
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 3/11
Alternativa A
Alternativa está correta, pois o comando exit() encerra a execução do programa imediatamente. Esse
comando retorna um código de retorno ao sistema, e esse código é atribuído pelo programador, que neste
caso o analista solicitou que fosse 999. Portanto, o comando a ser codificado é exit(999).
 Continue. 
 Goto. 
0 / 0,2 ptsPergunta 2
Leia o texto a seguir:
 
Um programador experiente recebe o seguinte desafio de seu coordenador: realizar a manutenção em um
programa desenvolvido 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;
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 4/11
 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.
 
Para resolver o problema de 4 testes obrigatórios, deve-se colocar o comando goto onde deverá estar localizado
ao final do último teste if.
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 5/11
 
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.
Resposta corretaResposta correta
 
O programador deverá alterar o programa por um único comando if, compondo as 4 relações com os operadores
lógicos && e ||.
 
Para resolver o problema de 4 testes obrigatórios, deve-se colocar o comando return no bloco de comando
verdadeiro de cada if, com isso, o programa atenderá à condição e não fará a verificação do próximo if.
 
O programador deverá alterar o programa somente por outra estrutura if-else-if, pois a linguagem C não
disponibiliza outro recurso para esse fim.
Você respondeuVocê respondeu
Alternativa C
Alternativa está incorreta, pois o programador poderia alterar o programa também por outra estrutura if-
else-if. A linguagem C possui ainda outra estrutura que caberia nesta solução, o comando SWITCH. Não é
correto afirmar que a linguagem C não disponibiliza de outro recurso para este fim. A alternativa correta é
“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”, pois o
comando SWITCH permite ao programador fazer o teste sucessivo do valor de uma variável, a partir de
uma lista. O conteúdo da variável é comparado e, caso seja verdadeiro, o comando é executado; a
utilização do comando break leva o programa para o fim da estrutura, não sendo necessário testar todos
os quatros valores.
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 6/11
0,2 / 0,2 ptsPergunta 3
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
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+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 7/11
A respeito dessas asserções, assinale a opção correta:
 As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa da I. 
 A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. Correto!Correto!
Alternativa A
Alternativa está correta. A asserção I é verdadeira porque o operador ? substitui plenamente o comando if-
then-else, por possuir uma estrutura compatível com a estrutura if-then-else. Sua forma é:
 
 Exp1 ? exp2 : exp3
 
Em que exp1, exp2 e epx3 são expressões: exp1 é avaliada, se for verdadeira, então exp2 retorna o valor
da expressão, caso contrário, exp3 retorna o valor da expressão. A asserção II é falsa porque a estrutura
do operador é em linha, proporcionando somente umteste lógico. Ele é chamado de ternário porque
requer 3 operandos: exp1; exp2 e exp3.
 A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. 
 As asserções I e II são ambas proposições falsas. 
 As asserções I e II são proposições verdadeiras, e a asserção II é uma justificativa da I. 
0,2 / 0,2 ptsPergunta 4
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 8/11
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 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:
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 9/11
 I e II, apenas. Correto!Correto!
Alternativa A
Alternativa está correta. A afirmativa I está correta porque o switch é um comando interno de solução
múltipla e que permite testar sucessivamente o valor de uma expressão, a partir de uma lista, o que está
plenamente de acordo com a estrutura de decisão if-else-if. Além disso, traz o benefício da clareza na
codificação da resolução de problemas. A afirmativa II está correta, pois a linguagem C proporciona uma
estrutura para soluções de problemas que necessitam dos paradigmas de condições encadeadas. Para
isso, utilizamos estrutura de ninhos de ifs que proporcionam 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. A afirmativa III está incorreta, por afirmar que a linguagem C
não proporciona a implementação de estrutura if-else-if. Para isto pode ser utilizada a seguinte estrutura: “if
(expressão) bloco de comando; else if (expressão) bloco de comando; ...else(bloco de comando)”.
Portanto, a alternativa correta é I e II, apenas.
 I, apenas. 
 I, II e III. 
 III, apenas. 
 II e III, apenas. 
0,2 / 0,2 ptsPergunta 5
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 10/11
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 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, apenas. 
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99512?module_item_id=518343 11/11
 II e III, apenas. 
 I e II, apenas. 
 III, apenas. 
 I, II e III. Correto!Correto!
Alternativa A
Alternativa está correta. A afirmativa I está correta, pois a escolha da estrutura cabe ao programador. Não
há nenhuma limitação técnica nos comandos for, while e do-while. O comando for é sugerido quando o
número de repetições é controlado por uma variável. O comando while é sugerido quando não há
necessidade de inicializar ou atualizar variáveis contadoras. O comando do-while é sugerido quando for
necessário executar um bloco pelo menos uma vez. A afirmativa II está correta porque a estrutura do
comando do-while força uma primeira execução do bloco de comandos. A afirmativa III está correta, já que
a estrutura do comando while faz primeiramente a verificação da condição e entra no bloco somente se for
verdadeira. Portanto, a alternativa correta é I, II e III.
Pontuação do teste: 0,8 de 1
A+
A
A-

Outros materiais