4.5. Comando if
¶
O pseudo-código ilustrado na figura 4.1 está em português mas adota uma “estrutura” parecida com Python. Na verdade, se traduzirmos a linha “leia a nota” para usar a função input()
, e trocarmos a palavra “se” para “if” temos um trecho de programa válido em Python, como no CodeLens abaixo. Execute esse programa passo-a-passo com valores diferentes de nota (como 4.5, 5.0 e 6.2) para ver quando a variável aprovado
muda de valor.
Como funciona esse trecho?
Após ler a nota (linha 1) e inicializar a variável de estado situacao
com um valor apropriado, o programa testa se a nota é menor que 5.0 na linha 3. Se a condição for verdadeira (booleano True
), o programa troca a situacao
do aluno. Caso a condição seja falsa, a variável situacao
fica inalterada pois nossa hipotése inicial se provou verdadeira.
Veja que nesse exemplo a situação do aluno é definida por uma string “aprovado” ou “reprovado” e isso permite que o resultado seja impresso diretamente na linha 5. Mas a variável de estado poderia armazenar qualquer coisa para indicar a situação, como um booleano True
ou False
.
O comando if
(que significa se em português) permite que uma parte do programa seja executada apenas quando uma condição for verdadeira. A sintaxe do comando ìf
é a seguinte:
.. Sintaxe do comando if
if condição_do_if:
# bloco executado se a condição for verdadeira
comando_1
comando_2
...
comando_m # último comando do bloco
comando_após_if
Apenas caso a condição_do_if
for verdadeira, o bloco contendo os comandos comando_1
a comando_m
é executado. Caso contrário, esse bloco não é executado (é pulado) e a execução do programa continua com o comando comando_após_if
(observe com muita atenção a tabulação desse comando).
Como testar o seu programa
Dado um algoritmo, escrever os programas é em geral muito simples. Quanto mais complexo o algoritmo, mais fácil é esquecer de tratar alguma classe. Uma forma de melhorar a qualidade e corretude dos seus programas é testá-los.
Para isso, para cada categoria, escolha valores representativos de cada classe. No caso do exemplo desse exercício para verificar se um aluno está aprovado ou reprovado, teste os limites de cada categoria, como 0.0, 4.9, 5.0, e 10.0.
Na verdade, testar um programa complexo é bem díficil. Para simplificar essa tarefa nesse curso e simplificar seu pensamento para que ele se foque em “dados válidos”, vamos assumir que a entrada é sempre válida (a menos que se diga o contrário), ou seja, no caso das notas, você deve assumir que são sempre números entre 0.0 e 10.0. Assim não é necessário testar o programa para notas negativas ou maiores que 10.0, ou ainda, se a nota é uma string ou um booleano.