Construcao de Algoritmos - Aula 12

60 visualizações

Publicada em

Procedimentos e Funções
Estruturas de dados homogêneas - vetores e matrizes
Registros

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
60
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Construcao de Algoritmos - Aula 12

  1. 1. Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  2. 2. Link Drive bit.ly/ads-algoritmos 2
  3. 3. 3 Algoritmos
  4. 4. 4 Procedimentos ou Funções
  5. 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
  6. 6. 6 Fazer tantas alterações é inviável. Seria mais fácil se fizéssemos uma ÚNICA alteração.
  7. 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. 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. 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
  10. 10. • Algoritmos • Introdução • Parâmetros  Exemplo: • Parâmetros Formais • Parâmetros Reais 10 procedimento soma (a, b: inteiro) var soma: inteiro inicio x ← 10 y ← 20 soma(x, y) fimalgoritmo
  11. 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. 12. Faça um procedimento que receba um valor como parâmetro e escreva o dobro desse valor. 12 Problema I
  13. 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. 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. 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. 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
  17. 17. 17 Funções
  18. 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. 19. Problema I Crie uma função que receba dois valores por parâmetro e retorne a soma desses valores. 19 Problema III
  20. 20. • Algoritmos • Função 20 algoritmo "Problema 03" var res: inteiro funcao soma(n1, n2: inteiro) : inteiro var inicio retorne n1 + n2 fimfuncao inicio res ← soma(8, 7) escreval("Resultado: ", res) fimalgoritmo SoluçãodoProblemaIII...
  21. 21. 21 Problema IV Faça uma função chamada maior que receba dois números (inteiros) por parâmetros e retorne o maior deles.
  22. 22. • Algoritmos • Função 22 algoritmo "Problema 04" var funcao maior(v1, v2: inteiro) : inteiro var inicio se (v1 > v2) entao retorne v1 senao retorne v2 fimse fimfuncao inicio escreval("Maior: ", maior(8, 7)) fimalgoritmo SoluçãodoProblemaIV...
  23. 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.
  24. 24. • Algoritmos • Função 24 SoluçãodoProblemaV... algoritmo "Problema 05" var funcao compara(v1, v2: inteiro) : inteiro var inicio se (v1 = v2) entao retorne 0 senao se (v1 > v2) entao retorne 1 senao retorne -1 fimse fimse fimfuncao inicio escreval("Resultado: ", compara(8, 7)) fimalgoritmo
  25. 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. 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

×