Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

19
Subalgoritmos, funções e passagem de Subalgoritmos, funções e passagem de parâmetros parâmetros Prof. Alex Camargo [email protected] UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO

Transcript of Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Page 1: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Subalgoritmos, funções e passagem de Subalgoritmos, funções e passagem de parâmetrosparâmetros

Prof. Alex [email protected]

UNIVERSIDADE FEDERAL DO PAMPACAMPUS BAGÉ

ALGORITMOS E PROGRAMAÇÃO

Page 2: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Modularização

Facilita a construção de grandes programas através da divisão em pequenas etapas: módulos (subrotinas ou subprogramas).

Programas simples: sequência de instruções para resolver um problema, dirigidas por estruturas de controle. Ex.: Estruturas de condição e repetição.

Programas complexos: Variedade de situações a serem resolvidas ou uma série de pequenos problemas cujas soluções integram o conjunto definitivo de instruções.

Ex.: Um programa de computador com vários módulos.

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 3: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Modularização

Vantagens da modularização:

Permite que trechos do programa possam ser reutilizados em diferentes partes do programa ou em novos programas.

As partes do programa podem ser escritas e testadas separadamente.

Pode suprimir do bloco principal detalhes e particularidades da implementação.Ex.: printf, scanf

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 4: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Funções

Na Linguagem C, basicamente, a modularização é tratada como função.

Trecho de código de um programa projetado para cumprir uma tarefa específica, que pode ou não retornar um valor.

Pode estar no mesmo arquivo ou em arquivos separados.

O seu uso envolve três passos:

Declaração (protótipo): antes do main()Definição (código da função): antes ou depois do main()Ativação (chamada): dentro do main() ou de uma outra função

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 5: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Funções (declaração)

Sintaxe da declaração:

tipo nome_da_função (parâmetros);

Tipo: é o tipo da informação retornada da função; se a função não retornar nada, seu tipo deve ser void. Neste caso chamamos de procedimento ao invés de função.

Parâmetros: lista de tipos (e variáveis) que serão passados como argumentos para a função; pode ser vazio (void).

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 6: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Funções (definição)

Sintaxe da definição:

tipo nome_da_função (parâmetros){declaração de variáveis;comandos;return (expressão); //opcional}

A primeira linha é idêntica à declaração.

O return serve para indicar o valor a ser retornado, se for o caso, e pode aparecer em qualquer ponto da função (não apenas no final) e em mais de um ponto.

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 7: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Funções (ativação)

Formas de ativação de funções:

– Exemplos:

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 8: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Funções (ativação)

A ativação faz com que o controle seja transferido para o trecho chamado (primeira instrução) e executa até o fim do trecho (última instrução). Ao final da função, o controle volta para instrução seguinte à chamada.

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 9: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Variáveis e funções

Uma função pode fazer referência a variáveis:

Declaradas localmente: variáveis locais da unidade.

Declaradas globalmente: variáveis globais do programa.

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 10: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Variáveis e funções

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 11: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Formas de utilização

Exemplo de função sem retorno de valor (procedimento):

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 12: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Formas de utilização

Exemplo de função com retorno de valor:

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 13: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Funções

Exemplo de função com retorno de valor:

Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros

Page 14: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Exercícios

1. Estude o seguinte programa e aponte o valor de cada variável sempre que solicitado:

Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros

6. a = ? e b = ?

8. return = ?

15. resultado = ?

Page 15: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Exercícios

2. Escreva um programa que exiba uma mensagem de boas-vindas através de um procedimento (função que não retorna um valor).

gets(nome); //Fulano

- Ex. de saída:Bem-vindo, Fulano!

3. Escreva uma programa que peça um número e mostre o seu antecessor através de uma função:

scanf("%d", &num); //10

- Ex. de saída:Antecessor = 9.

Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros

Page 16: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Exercícios

4. Faça um procedimento que receba um número inteiro por parâmetro e informe se ele é par, ímpar ou zero.

5. Escreva um programa para ler as notas das três avaliações de um aluno no semestre. Também faça uma função que receba as notas por parâmetro e calcule a média semestral. Por fim, no programa principal, escreva e a mensagem “PARABÉNS! Você foi aprovado!” se o aluno obteve a média maior ou igual a 6, senão, exiba “ Você foi reprovado!”.

6. Escreva uma função que receba 2 números inteiros n1 e n2 como entrada e retorna a soma de todos os números inteiros contidos no intervalo [n1,n2]. Use esta função em um programa que lê n1 e n2 do usuário e imprime a soma.

Ex. de saída:n1 = 1n2 = 3Soma: 6

Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros

Page 17: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Exercícios

7. Faça uma função que calcule o IMC (peso/altura²) de uma pessoa e conforme o seu retorno classifique, no programa principal, conforme a tabela abaixo:

Condição | IMC em adultos------------------------------------------------Abaixo do Peso | Menor que 18,5Peso Normal | Entre 18,5 e 25Acima do Peso | Entre 25,1 e 30Obeso | Maior que 30

8. Escreva uma função (e programa) que converta radianos para graus e retorne o valor para o usuário.

Fórmula: graus = radianos * 180 pi

Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros

Page 18: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Exercícios

9. Faça um programa de calculadora com as operações básicas: adição, subtração, multiplicação e divisão. O programa inicia apresentando um menu de opções como mostrado abaixo. Posteriormente, o usuário deve digitar 2 valores:

Calculadora v1.0 1. Adição 2. Subtração 3. Multiplicação 4. Divisão 5. Sair do programa Digite a opção desejada:***********************************************************************Dica: a) O programa principal chama a função conforme a opção do usuário, deve-se criar uma função para cada operação.b) Uma outra maneira é fazer uma única função que receba 2 valores a serem calculados juntamente com um valor referente a operação desejada.

Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros

Page 19: Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

Exercícios

10. Escreva uma função (e programa) que receba como argumentos uma cadeia de caracteres (s) e um caracter (c). A função deve retornar como resultado o número de vezes que (c) aparece em (s).

- Ex. de saída:

s = unipampac = p

O número de vezes que p aparece em unipampa é 2.

*Dica: Para comparar os valores da palavra (string) com o caracter (char), podemos fazer de duas maneiras diferentes:

a) através de um while enquanto não chegar no final da string (\0)b) através de um for que inicia em zero e vai até tamanho da string (strlen) menos um.

Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros