Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Atividade Objetiva 3 Resultados para ANA 
CAROLINE PIRES FERNANDES AGUIAR 
 As respostas corretas estarão disponíveis em 23 mar em 0:00. 
Pontuação desta tentativa: 1 de 1 
Enviado 14 mar em 0:02 
Esta tentativa levou 15 minutos. 
 
Pergunta 1 
0,2 / 0,2 pts 
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; 
 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. 
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. 
 
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. 
 
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. 
 
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. 
 
Pergunta 2 
0,2 / 0,2 pts 
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? 
 
 
Goto. 
 
 
Continue. 
 
 
Exit (). 
 
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). 
 
Break. 
 
 
Return. 
 
 
Pergunta 3 
0,2 / 0,2 pts 
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 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. 
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, e a asserção II é uma justificativa 
da I. 
 
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. 
 
 
Pergunta 4 
0,2 / 0,2 pts 
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: 
 
III, apenas. 
 
 
I, apenas. 
 
 
I e II, apenas.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, II e III. 
 
 
II e III, apenas. 
 
 
Pergunta 5 
0,2 / 0,2 pts 
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, II e III. 
 
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. 
 
III, apenas. 
 
 
I e II, apenas. 
 
 
II e III, apenas. 
 
 
I, apenas. 
 
Pontuação do teste: 1 de 1

Mais conteúdos dessa disciplina