Classes float e str e execuções condicionais em cadeia

Tópicos

Exercício 4.1

Dados o número n > 0 de alunos de MAC2166 e n notas de uma prova, onde uma nota é um número real entre 0 e 10, calcule a média das notas dos alunos.

Tente escrever a sua solução abaixo primeiro e, depois, clique aqui para ver uma solução.

(aula04_ex41_tentativa)



Exercício 4.2

Dados um número inteiro n, n > 0, e uma sequência com n notas finais de MAC2166, determinar quantos alunos:

  • estão de recuperação: nota final maior ou igual a 3 e menor do que 5;
  • foram reprovados: nota final menor do que 3;
  • foram aprovados: nota final maior ou igual a 5;
  • tiveram um desempenho muito bom: nota maior que 8; e

Por exemplo, para a sequência

6   2.3   3   5.0  6.5  8.7  4.9

o resultado deve ser

------------------------------------------
Total de alunos= 6
Numero de alunos reprovados = 1
Numero de alunos de recuperacao = 2
Numero de alunos aprovados = 3
Numero de alunos com desempenho muito bom = 1

Tente escrever a sua solução abaixo primeiro e, depois, clique aqui para ver uma solução.

Procure desenvolver sua solução incrementalmente, testando-a com frequência. Comece considerando apenas os alunos reprovados, depois inclua os de recuperação, depois aprovados, e assim por diante, passo a passo.

(aula04_ex42_tentativa)



Resumo de execuções condicionais

A seguir estão exemplos de estruturas diferentes de execuções condicionais vistas até agora.

Execução condicional if

if condiçao:
    |
    | bloco de comandos
    |

Executa o bloco de comandos (= sequência com 1 ou mais comandos) tabulados se a condição é verdadeira.

Faça experimentos com o trecho de código a seguir.

(execucao_condicional)



Execução alternativa if-else

if condição:
    |
    | bloco de comandos 0
    |
else:
    |
    | bloco de comandos 1
    |

Se a condição for verdadeira executa apenas o bloco de comandos 0. Se a condição for falsa executa apenas o bloco de comandos 1.

Faça experimentos com o trecho de código a seguir.

(execucao_alternativa)



Execução condicional em cadeia if-elif-else

if condição_0:
    |
    | bloco de comandos 0
    |
elif condiçao_1:
    |
    | bloco de comandos 1
    |
elif condicão_2:
    |
    | bloco de comandos 2
    |

elif ...

elif condição_k:
    |
    | bloco de comandos k
    |
else:
    |
    | bloco de comandos k+1
    |

As condições são testadas em ordem, uma após outra. Apenas o bloco de comandos correspondente a primeira condição que for verdadeira será executada. O bloco de comandos associados ao else serão executados apenas se todas as condições forem falsas. Não é necessário que haja um else ao final.

Faça experimentos com o trecho de código a seguir.

(condicao_em_cadeia)