É possível, em um algoritmo, utilizar tanto laços de repetições quanto estruturas condicionais. Ainda, podemos aplicar essas condições dentro dos laços de repetições, a fim de verificar condições e executar comandos diversas vezes. Analise o trecho de código a seguir:inicio...escreva ("Entre com um número a ser testado");leia (numero);divisível <- f;se (numero resto 2 = 0) e (numero > 2)entãodivisivel <- v;senãodivisivel <-3;fimse;enquanto (não(divisivel) e divisor <= numero raiz 2) façase (numero resto divisor = 0)entaodivisivel <- v;senãodivisivel <- divisor + 2;fimenquanto;…fimalgoritmo.Fonte: Elaborada pelo autor.Tanto laços de repetição quanto estruturas condicionais devem ter sua análise feita de forma correta, para que possam executar suas funcionalidades com exatidão. Considerando a introdução apresentada, analise as asserções a seguir e a relação proposta entre elas.I. Na utilização do operador lógico "e", para a execução do trecho de comando é necessário que o valor lógico dos dois seja verdadeiro.Porque:II. O operador "não", que compõe a condição do laço de repetição "enquanto", indica que o valor não é divisível por nenhum outro número.A seguir, assinale a alternativa correta:
Soluções para a tarefa
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 está correta porque o operador lógico "e" somente tem a saída verdadeira caso as duas condições sejam verdadeiras. Por exemplo, o trecho abaixo será executado apenas se as condições entre os parenteses forem verdadeiras. Se o conector utilizado fosse o ou bastaria uma das condições ser verdadeiras.
Se (numero resto 2 = 0) e (numero > 2) então
Já a asserção II é verdadeira e diz respeito ao trecho de código abaixo:
Enquanto (não(divisivel) e divisor <= numero raiz 2) faça
Se (numero resto divisor = 0) entao
divisivel <- v;
Senão
divisivel <- divisor +2;
fimenquanto;
O nao funcionaria como um inversor, mudando o estado da variável atribuída a ele, ou seja, caso a variável divisível seja verdadeira ela se tornará falsa e vice versa. Assim, a única maneira de que esse trecho será executado é caso o valor não seja divisível.
Logo, as duas asserções são verdadeiras porém uma não justifica a outra.
Espero ter ajudado, bons estudos :)
Resposta:
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Explicação:
A asserção I é verdadeira, pois o operador lógico “e” possui, como característica principal, a análise de duas condições, e que estas sejam verdadeiras. Dessa forma, para a execução de um trecho de código que está dentro dessa condicional, é necessário que o valor lógico de tais análises seja verdadeiro. A asserção II é falsa, pois o operador “não”, tem a função de inverter o valor lógico de uma operação, e não indicar que não é divisível por um determinado número. No caso do laço de repetição, ele inverterá o valor lógico de divisível.