Olá e bem-vindo.
Nós praticamente conversamos sobre os conceitos mais básicos
de funções, os fundamentos deles.
Existem alguns conceitos mais avançados relacionadas
a funções, como ponteiros de função e estática e automática variáveis estáticas, recursão.
Mas essas coisas vão ser discutido em uma classe avançada.
Agora que sabemos o básico de funções, quero fornecer
a vocês o desafio para que se familiarizem com a criação e uso de funções.
Então você vai realmente escrever uma série de funções diferentes.
Precisamos começar a ter alguma prática escrever essas funções diferentes.
E por que queremos escrever funções? Porque torna nosso código mais
organizado, mais modular e você pode evitar a duplicação. Vimos todas as
vantagens.
Portanto, o objetivo desta tarefa é para se familiarizar com as
funções, entenda essas vantagens.
Então você vai escrever três funções, e você pode ter todas essas
funções definidas em um único programa.
Eu quero que você escreva uma função que
encontra o maior divisor comum de dois inteiros não negativos valores e retorna o resultado.
Então você pode criar um nome da função denominado GDC.
A função deve levar dois inteiros como parâmetros.
O algoritmo para encontrar o melhor divisor comum muito simples.
Você pode procurar online ou encontre qualquer livro de matemática.
O que você deve observar em esses desafios é que estão ficando cada
vez mais difíceis.
Eu não vou fornecer você com cada dica.
Você tem que subir com o algoritmo GDC.
É muito fácil e muito comum.
É uma função comum.
Faça com que esta função assuma, dados e fazer com que retornem dados.
Dois inteiros não negativos valores que aceita.
Você pode verificar se há negativo inteiros se você quiser ou
não, depende de você.
Eu também quero que você escreva um função para calcular o
valor absoluto de um número.
O valor absoluto de um número é um valor positivo, positivo.
Então, se você tiver um número cinco negativos, o valor
absoluto disso é cinco.
Se você tem um número positivo cinco, o valor absoluto é cinco,
é uma função muito simples.
Na verdade, a implementação desta função, tudo o que você precisa
fazer é realmente verifique se é menor que 0.
E se for apenas fazer com certeza é positivo.
Se for uma variável, você apenas diga que x é igual a x negativo.
Você vai querer testar esta função com ints e flutua para se certificar de que funciona.
Para tornar o valor absoluto função mais utilizável, eu faria com que ele pegasse um parâmetro
como um flutuador e volte a flutuar.
Dessa forma, você pode realmente use-o com um int e você
não perderá a precisão.
Se você passar um int lá ele irá automaticamente
convertê-lo em um flutuador.
E se você tivesse um int, tenha os parâmetros int e retornou um int se você tentar
usar um float, você perderá dados.
Portanto, faça com que ele pegue flutuadores.
Terceira função que você vai escrever vai calcular a
raiz quadrada de um número.
Não use nenhum ajudante ou qualquer funções de biblioteca padrão.
Faça a raiz quadrada com um algoritmo que você cria.
Eu também quero que você verifique o parâmetros passados para este método.
Se você tiver algum valor passado para o função e os valores são negativos, eu quero que você
exiba uma mensagem e Eu quero que você devolva um negativo.
O que isso significa é que você pode realmente use a outra função que você
criou, valor absoluto, como uma função auxiliar.
É isso que você usa.
Quando uma função usa outra função, às vezes é chamada
de função auxiliar.
Então, a função de raiz quadrada eu quero que você para invocar a função de valor absoluto.
Você pode usar isso para testar se ou não os argumentos são negativos.
Você também pode realmente usá-lo quando você faz seu cálculo da
raiz quadrada.
Mesmo que você esteja voltando um número negativo,
você ainda deseja chamar o valor absoluto função quando você está executando
a própria raiz quadrada.
Então, essas são as três funções Eu quero que você escreva.
Você vai ser exposto para criar - declarar suas funções.
Eu quero que você tenha protótipos de função na parte superior do arquivo porque lembre-se
de que é uma boa convenção.
Eu quero que você retorne os dados corretos.
Eu quero que você passe dados para estes
funções, então você vai ter que entender o todo assinatura de função inteira.
E então você vai invocar essas funções.
Quando você realmente vai e comece a testar o programa, certifique-se de ter
vários casos de teste.
Chame a função GDC com vários valores.
Chame-o com números negativos.
Chame a função de valor absoluto com muitos valores diferentes.
Você pode testar tudo isso apenas invocando as funções na função principal.
E então você também pode tem saída normal com isso.
Eu vou te mostrar minha solução no próxima aula, mas
pense sobre isso, planeje um pouco do caminho, tente
descobrir quais funções irão retornar.
Mesmo que eu tenha te dado muito
dicas aqui, o que eles vão devolver e como estão indo para obter os dados,
compreender as declarações de funções e assim por diante.
Boa sorte.