Subalgoritmos, funções e passagem deSubalgoritmos, funções e passagem de
parâmetrosparâmetros
Prof. Alex Camargo
alexcamargoweb@gmail.com.br
UNIVERSIDADE FEDERAL DO PAMPA
CAMPUS 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 = 1
n2 = 3
Soma: 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,5
Peso Normal | Entre 18,5 e 25
Acima do Peso | Entre 25,1 e 30
Obeso | 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 = unipampa
c = 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

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

  • 1.
    Subalgoritmos, funções epassagem deSubalgoritmos, funções e passagem de parâmetrosparâmetros Prof. Alex Camargo alexcamargoweb@gmail.com.br UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO
  • 2.
    Modularização Facilita a construçãode 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
  • 3.
    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
  • 4.
    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
  • 5.
    Funções (declaração) Sintaxe dadeclaraçã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
  • 6.
    Funções (definição) Sintaxe dadefiniçã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
  • 7.
    Funções (ativação) Formas deativação de funções: – Exemplos: Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 8.
    Funções (ativação) A ativaçãofaz 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
  • 9.
    Variáveis e funções Umafunçã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
  • 10.
    Variáveis e funções Algoritmose Programação - Subalgoritmos, funções e passagem de parâmetros
  • 11.
    Formas de utilização Exemplode função sem retorno de valor (procedimento): Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 12.
    Formas de utilização Exemplode função com retorno de valor: Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 13.
    Funções Exemplo de funçãocom retorno de valor: Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 14.
    Exercícios 1. Estude oseguinte 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 = ?
  • 15.
    Exercícios 2. Escreva umprograma 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
  • 16.
    Exercícios 4. Faça umprocedimento 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 = 1 n2 = 3 Soma: 6 Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
  • 17.
    Exercícios 7. Faça umafunçã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,5 Peso Normal | Entre 18,5 e 25 Acima do Peso | Entre 25,1 e 30 Obeso | 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
  • 18.
    Exercícios 9. Faça umprograma 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
  • 19.
    Exercícios 10. Escreva umafunçã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 = unipampa c = 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