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 10 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 10 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 10 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

09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 1/10
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 3 minutos 1 de 1
Pontuação desta tentativa: 1 de 1
Enviado 9 mar em 19:48
Esta tentativa levou 3 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:
 
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:
https://famonline.instructure.com/courses/15461/quizzes/56051/history?version=1
https://famonline.instructure.com/courses/15461/quizzes/56051/take?user_id=69980
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 2/10
 ....
 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.
 
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!Correto!
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 3/10
Alternativa A
Alternativa está correta, 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. Esta é uma solução
alternativa e elegante ao conjunto de comandos ifs do problema
proposto.
 
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.
 
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.
 
O programador deverá alterar o programa por um único comando if,
compondo as 4 relações com os operadores lógicos && e ||.
 
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.
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
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 4/10
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:
 III, apenas. 
 I e II, apenas. 
 I, apenas. 
 II e III, apenas. 
 I, II e III. Correto!Correto!
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 5/10
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.
0,2 / 0,2 ptsPergunta 3
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
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 6/10
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, apenas. 
 I, II e III. 
 II e III, apenas. 
 I e II, apenas. Correto!Correto!
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 7/10
Alternativa AAlternativa 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.
 III, apenas. 
0,2 / 0,2 ptsPergunta 4
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
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 8/10
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?
 
 Exit (). Correto!Correto!
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).
 Goto. 
 Continue. 
 Return. 
 Break. 
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
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 9/10
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 respeito dessas asserções, assinale a opção correta:
 
As asserções I e II são proposições verdadeiras, e a asserção II é uma
justificativa da I.
 As asserções I e II são ambas proposições falsas. 
 
A asserção I é uma proposição falsa, e a asserção II é uma proposição
verdadeira.
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
Correto!Correto!
09/03/2021 Atividade Objetiva 3: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56051 10/10
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 um teste lógico. Ele é chamado de ternário porque
requer 3 operandos: exp1; exp2 e exp3.
 
As asserções I e II são proposições verdadeiras, mas a asserção II não
é uma justificativa da I.
Pontuação do teste: 1 de 1

Continue navegando