Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
-
Upload
alex-camargo -
Category
Education
-
view
24 -
download
0
Transcript of 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
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
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
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
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
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
Funções (ativação)
Formas de ativação de funções:
– Exemplos:
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
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
Variáveis e funções
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
Formas de utilização
Exemplo de função com retorno de valor:
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
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 = ?
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
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
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
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
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