Você está na página 1de 1

Guilherme Gonçalves da Silva.

Explicação da lógica.

Para a primeira questão, precisávamos fazer as devidas conversões de temperatura a partir da


entrada do usuário. A entrada pedia dois valores um float com o valor da temperatura e uma
string que seria a letra representando a escala da temperatura. Como o código deveria rodar
enquanto o usuário não digitasse ‘FIM’ devemos receber os valores para que depois fossem
testados. Pedi que o usuário digitasse e criei um laço com o while para que enquanto a variável
graus fosse diferente de ‘FIM’ as próximas condições fossem testadas.

A variável graus sendo verdadeira, logo precisaria transformá-la em float para fazer as
operações matemáticas, o que definiu em qual condição o valor iria ser operado foi uma
comparação da escala a variável ‘tipo’. Lembrando que não podemos aceitar temperaturas
inválidas, coloquei uma condição para que se graus fosse menor que 0 quando a entrada fosse
em Kelvin n fosse aceito e retornasse ‘Temperatura inválida’ assim como dentro de cada bloco
de condição testei se o valor a ser retornado de Kelvin fosse abaixo de 0 também retornasse
‘Temperatura inválida’.

Para a segunda questão, o usuário deveria digitar um valor e o programa deveria testar se o
numero era par ou impar e fazer as devidas operações até que chegasse ao valor 1. Como
também deveria armazenar o maior valor testado e quantos passos precisaram ser realizados,
bem parecido com uma questão que fizemos em sala a do primeiro carro. Nessa fiz um pouco
diferente, fiz um laço de repetição while True, dentro dele pedi o valor do usuário e logo em
seguida testei com uma condição que o laço rodasse até que o valor de 0 fosse fornecido, pois
foi a condição de parada pedida na questão, sendo um valor diferente entramos em outro laço
com as operações. Testando se o numero é par ou impar e a cada repetição que esse laço
fizesse somasse 1 na variável ‘passo’ para sabermos quantas foram necessárias. Usei também
uma condição que testasse ‘MC’ que é o máximo valor de C que está representado pela
variável N. Onde antes do segundo laço atribui o valor de N do usuário a MC pois foi o valor
inicial e depois ia verificar se o novo valor de N era maior que o valor armazenado em MC, se
fosse então este seria o novo valor de MC. E ao final do segundo laço era imprimido ao usuário
os valores. O programa continua pedindo valores de entrada até que seja fornecido um valor 0,
momento em que ele termina a execução. Ele calcula a sequência de Collatz para cada número
fornecido e fornece o número de passos e o maior valor alcançado para cada um deles

Você também pode gostar