Fundamentos de Programação
Luiz Paulo Maia
[email protected]
Subprogramação
•
•
•
•
•
•
2
Motivações
Funcionamento
Tipos de subprogramas
Escopo de variáveis
Tipos de parâmetros
Passagem de parâmetros
Motivações
• Torna mais fácil a compreensão dos programas,
especialmente os grandes e complexos
• Reaproveitamento de código
• Facilidade de testar e encontrar erros no programa
• Facilidade de fazer a manutenção do programa
• Facilidade em dividir o trabalho de desenvolvimento
entre grupos
• Implementar a metodologia top-down e programação
modular (dividir para conquistar)
• Permitir a implementação da recursividade
3
Funcionamento
4
Tipos de subprogramas
– Procedimentos: permitem receber uma mais
informações e retornar uma ou mais informações
– Funções: permitem receber uma ou mais
informações e retornar apenas uma informação, no
nome da função
5
Procedimento
procedimento nome(parâmetros)
var
....
inicio
........
fimprocedimento
6
Procedimento - Exemplo
• O programa “Subprog1” le do teclado uma sequência
de no máximo 10 números inteiros terminada em
zero. Depois le um número do teclado e verifica se o
mesmo está ou não na lista anteriormente digitada.
Podemos perceber que o programa tem três partes
distintas: carga do vetor, pesquisa e se o número foi
encontrado ou não. O programa “Subprog2”
apresenta o mesmo algoritmo com procedimentos.
7
Escopo de variáveis
• Define onde as variáveis são visíveis
(visibilidade) dentro do programa, ou seja,
onde podem ser acessadas
• Escopo local: a variável só pode ser acessada
dentro do subprograma
• Escopo global: a variável pode ser acessada
em qualquer parte do programa
• O uso de variáveis globais deve ser evitado
sempre que possível
8
Parâmetros
• Define a comunicação entre a chamada do
subprograma e o subprograma propriamente
dito
• Argumento ou parâmetro real: define as
variáveis que serão passadas para o
subprograma na sua chamada
• Parâmetro formal: define as variáveis no
subprograma que receberão os argumentos
• Deve existir uma correspondência possional
entre parâmetros e argumentos
9
Passagem de parâmetros
• Define a forma de comunicação entre
argumentos e parâmetros de um subprograma
• Passagem por valor: apenas o valor do
argumento é passado para o parâmetro formal,
não permitindo a mudança de valor do
argumento
• Passagem por referência: é passado o endereço
do argumento para o parâmetro formal,
permitindo a mudança de valor do argumento
10
Passagem de parâmetros
• Argumentos apenas de entrada
– Passagem por valor
• Argumentos de saída
– Passagem por referência
• Argumentos de entrada e saída
– Passagem por referência
11
Funções pré-definidas
asc (s : caracter) : inteiro - Retorna o código ASCII
int (valor : real) : inteiro - Converte o valor em inteiro
log (valor : real) : real - Logaritmo de base 10
raizq (valor : real) : real Raiz quadrada
rand : real - Gerador de números aleatórios entre 0 e 1
randi (limite : inteiro) : inteiro - Gerador de números
inteiros aleatórios com um limite determinado
12
Função
funcao nome(parâmetros): tipo
var
....
inicio
........
retorno valor
fimfuncao
13
Download

Slides 7