Pplware

Vamos Programar? – Introdução à Programação #13

Funções e Procedimentos

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.

A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

Visualize este vídeo no YouTube

Pedimos desculpa pela gafe no vídeo onde é referido que 6 + 4 é igual a 11.

Funções

Uma função é um bloco de código que, tal como o próprio nome indica, tem uma função própria, ou seja, que serve para aquela finalidade. As funções permitem-nos, por exemplo, reutilizar código.

Ao invés de colocarmos um determinado trecho de código diversas vezes, basta criarmos uma função com esse código e, de cada vez que for necessário, precisamos apenas de invocar a função.

Durante os seus anos de programador, irá criar milhares de funções para as mais diversas funções. Então, recomendamos que vá guardando as funções que utiliza porque, futuramente, poderá necessitar delas.

Existe uma função que tem vindo a ser sempre utilizada: a função main. É a função principal do programa, aquela que é executada automaticamente quando um programa é executado. A sintaxe das funções é a seguinte:

tipo_dado_retorno nome_da_funcao(parametros) {
    //Codigo da Funcao
}

Vejamos então o exemplo de uma função simples que nos permite mostrar a mensagem “Olá Mundo!”:

#include 

int main() {
    sayHello();
    return 0;
}

void sayHello() {
    printf("Olá Mundo!\n");
}

A função chama-se “sayHello” e não retorna nenhuns dados (“void”). O que está dentro das chavetas (“{}”) é o código que é executado quando a função é chamada.

Argumentos e Parâmetros

No exemplo acima é possível visualizar que tanto na invocação da função, como na sua escrita foi colocado um par de parênteses sem nada. Isto acontece porque não existem parâmetros.

Vamos criar uma função que efetua uma soma: como enviamos os valores para a função? Definindo o nome e o tipo de parâmetros a serem recebidos. Veja o seguinte exemplo.

void soma(int n1, int n2) {
    int soma = n1 + n2;
}

A função acima, denominada “soma”, tem dois parâmetros, o “n1” e o “n2”, ambos do tipo inteiro. Os valores que a eles irão ser atribuídos chamam-se argumentos.

Para utilizar a função, basta então proceder do seguinte modo:

soma(4, 6);

Substituindo os números 4 e 6 por quaisquer números que desejar e a função irá armazenar, na variável “soma” que apenas está disponível dentro da função, o valor da soma entre os dois números.

Retorno

Na função anterior somámos dois números mas nada mais aconteceu. E se quisermos, por exemplo, que a função retorne o valor da soma?

Para isso teremos que substituir o “void” pelo tipo de dados que, neste caso é “int” e utilizar o comando “return”. Ficaria algo semelhante ao seguinte:

int soma(int n1, int n2) {
    int soma = n1 + n2;
    return soma;
}

Ou seja, enviamos dois números para a função; esta cria a variável “soma” com a soma dos dois números e de seguida retorna esta variável que é do tipo “int”. Podemos simplificar esta função ficando apenas com o seguinte:

int soma(int n1, int n2) {
    return n1 + n2;
}

Podemos, por exemplo, utilizar esta função no seguinte contexto:

#include 

int main() {
    int a, b;
    
    printf("Insira o primeiro número: ");
    scanf("%d", &a);
    
    printf("Insira o segundo número: ");
    scanf("%d", &b);
    
    printf("A soma é %d", soma(a,b));
    return 0;
}

int soma(int n1, int n2) {
    return n1 + n2;
}

Procedimentos

Procedimentos são também blocos de código que contêm uma função específica. A diferença entre funções e procedimentos é que os segundos não retornam quaisquer valores.

Exercícios

Nesta semana trazemos uma dose maior de exercícios em relação às semanas anteriores. Os exercícios das semanas anteriores podem ser reaproveitados!

1 – Crie uma função denominada “receberNumero” que recolha um número do tipo “float” e o retorne e outra chamada “receberInt” para receber um número inteiro.

2 – Crie funções que peçam, calculem e mostrem os valores das seguintes fórmulas/operações:

Perímetro

Área

Volume

E também para resolver equações de segundo grau completas e imprimindo os seus resultados, relembrando que a fórmula é a seguinte e que, quando o resultado do que está dentro da raiz é negativo não se deve prosseguir (números imaginários não).

3 – Crie três funções para dizer os valores das áreas, perímetros e volumes finais. Deve ser chamada no final de cada uma das funções anteriores (excepto a da fórmula resolvente/equação de segundo grau).

4 – Articule tudo o que fez anteriormente através de menus.

Deixamos aqui a resolução deste exercício mas, primeiro tente, só depois de muitas tentativas é que deve ver a resolução.


Mais uma vez, gostávamos de saber a sua opinião. Caso tenha alguma dúvida, pode sempre utilizar os comentários para colocar a questão. Caso o faça,  pedimos que utilize a keyword [DUVIDA] no início do seu comentários.

Resoluções de exercícios.

Esta saga

Henrique Dias

Mais episódios:  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13][12] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23][24]

Exit mobile version