Modulo 7 - Refatorando Com Funções
Modulo 7 - Refatorando Com Funções
Capítulo
Vamos fazer um programa que lê duas variáveis int e mostra o valor da maior delas
(maior ou igual). Se forem iguais mostre uma delas.
Para dificultar mais, agora vamos fazer o mesmo com 3 valores. Ler os 3 valores e dizer
quem é o menor.
def mini(a,b):
if a<b: return a
else : return b
Para usar esta função apresentamos abaixo um programa que lê dois valores e chama a
função mini() para escolher o menor. Def define a função que é chamada neste caso dentro
de um comando de atribuição.
Utilizamos 2 linhas, uma para cada chamada, para definir quem é o valor mínimo, mas
poderíamos ter usado uma versão do print mais complexa, com menos linhas:
m=mini(mini(x,y),z). Aqui a função mini() está sendo reusada duas vezes, uma dentro da
outra; os parâmetros nas chamadas de função são ditos efetivos (substituem os formais).
Uma das grandes vitórias do pensamento computacional é o reuso de fragmentos de
código, pois com isso os códigos ficam mais compactos, mais coesos e mais simples.
E7.1 Faça a função maxi() que retorna o máximo de dois valores. Similar a função mini().
E7.3 Usando maxi() leia a,b,c e escreva do maior para o menor. Por exemplo,
a=7,b=15,c=2 a saída deve ser 15 7 2.
Sugestão de pseudo-código:
ler a,b,c
max=maxi(a,maxi(b,c))
se a=max então: se b>c imprima (a, b, c)
senão imprima (a, c, b)
senão b=max...
senão c=max...
E7.4 Faça a função inter(médio) de três valores. Por exemplo, a=7,b=15,c=2 o intermédio
é 7. De a=15,b=15, c=7. O intermédio é 15. Etc.
Sugestão de pseudo-código:
Def inter(a,b,c):
if a<=b<=c or c<=b<=a return b
elif ...
E7.5 Usando maxi(), inter() e mini() leia a,b,c e escreva do maior para o menor. Por
exemplo, a=7,b=15,c=2 a saída deve ser 15 7 2.