(Python) Sub-rotinas: Procedimentos e Funções - 2


Função de sub-rotina

Uma função é uma sub-rotina que retorna um resultado (número, cadeia de caracteres, etc.).< /div>
Imagine que você encomendou um produto em uma loja online. Do ponto de vista da programação, você chamou alguma sub-rotina e, ao contrário de um procedimento, esta sub-rotina deve retornar um resultado - entregar o produto que você pediu. Essas sub-rotinas são chamadas de funções.
Uma função é formatada exatamente da mesma maneira que um procedimento. A única diferença do procedimento é a presença de um operador especial retorno, após o qual o valor a ser retornado ao programa principal é escrito.

Uma função que retorna a média aritmética de dois números inteiros ficaria assim: def média(a, b): média = (a + b) / 2 média de retorno Resta entender como chamar esta função no programa principal:
Você não deve chamar uma função da mesma forma que um procedimento: média(10, 5)
O valor retornado pela função será perdido. É como se a mercadoria da loja online não fosse dada a ninguém, mas jogada fora. É improvável que o cliente goste.

É mais correto salvar o resultado em uma variável (ou imprimi-lo na tela): a = média(10, 5) print(média(10, 5))
É preciso lembrar!
  1. Uma sub-rotina de função é formatada da mesma forma que um procedimento.
  2. A função é chamada no local do programa onde você colocaria o valor. Por exemplo, como parâmetro de uma instrução print() ou em uma expressão aritmética. 

Algoritmo de Euclides

Algoritmo de Euclides — BC eficiente" title="Algorithm">Algoritmo Para encontrar Maior Divisor Comum  dois Inteiros (ou geral medidas  dois Linhas). O algoritmo leva o nome de Grego Matemática Euclides (século III a.C. ), que o descreveu pela primeira vez no estilo VII e X livros «Inícios". É um dos algoritmos numéricos mais antigos em uso atualmente.

Lembre-se da matemática.

Maior divisor comum de dois números naturais (gcd) é o maior número natural pelo qual eles são divisíveis.

Por exemplo, os números 12 e 18 têm divisores comuns: 2, 3, 6. O maior divisor comum é 6. Isso é escrito como: gcd(12, 18) = 6

Na programação, existem várias implementações do algoritmo de Euclides. Aqui está uma descrição de um deles na forma de um diagrama de blocos.


Tente implementar este algoritmo.

Funções lógicas

Freqüentemente, os programadores usam funções booleanas que retornam valores booleanos "verdadeiros" ou "falso" (verdadeiroou falso)
Essas funções são úteis para   verifique algumas propriedades.
Vamos considerar dois exemplos de como escrever uma função lógica que verifica se um número é par.
 
Descrição Exemplo de sub-rotina
1) Melhor caminho: o resultado da expressão n % 2 == 0 será verdadeiro (Verdadeiro) ou falso (Falso) def isEven(n): retorno (n % 2 == 0)
2) Você pode escrever assim, mas é melhor não fazer um registro mais longo de qualquer maneira def isEven(n): se n % 2 == 0: retornar verdadeiro; outro: retorna Falso

E a última observação sobre como trabalhar com funções e procedimentos: o número de funções e procedimentos no programa não é limitado. Além disso, uma sub-rotina pode chamar outra sub-rotina e até ela mesma.