O documento apresenta um resumo sobre algoritmos e o uso de procedimentos e funções em programação. É explicado que procedimentos e funções permitem executar o mesmo código várias vezes de forma concisa, evitando duplicação. Problemas de exemplo são propostos e resolvidos para exemplificar a criação de procedimentos e funções.
5. • Algoritmos
• Introdução
• Suponha que seja necessário utilizar a fórmula
abaixo em diversas partes de um dado programa.
𝑓 𝑥 =
5𝑥 + 3
𝑥² − 16
• Agora, imagine que você a utilizou em 50 partes do
seu código e precisa altera-la?
• COMO RESOLVERIA ESSE PROBLEMA?
5
7. • Algoritmos
• Introdução
• Para contornar tal problema, utilizamos as funções
ou procedimentos.
• A principal vantagem é não precisar escrever o
mesmo código diversas vezes para um mesmo tipo
de operação.
• Os procedimentos diferem das funções apenas por
não retornarem valor nenhum.
• Ao longo da disciplina já usamos diversas funções.
7
8. • Algoritmos
• Introdução
• Parâmetros
• Funções (e procedimentos) podem ou não
receber parâmetros.
• No caso da função abaixo, é necessário passar
como parâmetro um valor para ser atribuído a
variável x.
𝑓 𝑥 =
5𝒙 + 3
𝒙² − 16
8
9. • Algoritmos
• Introdução
• Parâmetros
• São canais por onde os dados são transferidos
pelo algoritmo chamador a um subalgoritmo.
• Parâmetros Formais:
São os nomes simbólicos usados na definição dos
parâmetros de um subalgoritmo.
• Parâmetros Reais:
São aqueles que substituem os parâmetros formais
quando da chamada de um subalgoritmo.
9
11. • Algoritmos
• Procedimento
• A sintaxe para criação de procedimentos é:
11
procedimento <nome do procedimento> (<parâmetros>)
var
<declaração das variáveis locais>
inicio
<bloco de instruções>
fimprocedimento
12. Faça um procedimento que receba um
valor como parâmetro e escreva o
dobro desse valor.
12
Problema I
13. • Algoritmos
• Procedimento
13
algoritmo "Problema 01"
var
procedimento dobro(valor: inteiro)
var
total: inteiro
inicio
total ← valor * 2
escreval("O dobro é: ", total)
fimprocedimento
inicio
dobro(8)
fimalgoritmo
SoluçãodoProblemaI...
14. Problema I
Faça um procedimento que receba um
valor como parâmetro e escreva a
tabuada de 0 a 10 desse valor.
14
Problema II
15. • Algoritmos
• Procedimento
15
algoritmo "Problema 02"
var
numero: inteiro
procedimento tabuada(valor: inteiro)
var
i: inteiro
inicio
para i de 1 ate 10 faca
escreval(valor * i)
fimpara
fimprocedimento
inicio
escreval("Digite um valor: ")
leia(numero)
tabuada(numero)
fimalgoritmo
SoluçãodoProblemaII...
16. • Algoritmos
• Procedimento
• Variáveis
• A variável numero do código anterior é uma
variável cujo escopo é global.
• Uma variável pertence ao escopo global quando
ela é visível em qualquer trecho do código.
• Uma variável possui o escopo local quando ela é
visível apenas no trecho onde foi
declarada/criada.
16
18. • Algoritmos
• Funções
• Introdução
• As funções sempre irão retornar algum valor.
• A sintaxe para criação de funções é:
18
funcao <nome da funcao> (<parâmetros>): tipo
var
<declaração das variáveis locais>
inicio
<bloco de instruções>
retorne <valor>
fimfuncao
19. Problema I
Crie uma função que receba dois
valores por parâmetro e retorne a
soma desses valores.
19
Problema III
23. 23
Problema V
Faça uma função chamada compara que receba
dois números por parâmetros. A função deve
retornar os seguintes resultados:
→ 0, se os dois números forem iguais;
→ 1, se o primeiro número for maior que o segundo;
→ -1 , se o segundo número for maior que o primeiro.
25. • Algoritmos
• Conclusão
• Funções e procedimentos são utilizados com
muita frequência em desenvolvimento de
software.
• São vários benefícios:
Evita duplicação de código quando precisamos
executar a mesma operação várias vezes;
Deixa o entendimento do algoritmo mais intuitivo,
pois tiramos a parte complexa do código do fluxo
principal do algoritmo.
25
26. • Algoritmos
• Conclusão
• São vários benefícios:
Dividir e estruturar um algoritmo em partes
logicamente coerentes.
Proporcionar ao programador a reutilização de
código, através da criação de bibliotecas de
funções personalizadas.
Maior legibilidade do algoritmo.
Evitar a repetição de código, substituindo códigos
semelhantes por chamadas a uma única função.
26