Baixe o app para aproveitar ainda mais
Prévia do material em texto
SUBPROGRAMAÇÃO – PROGRAMAÇÃO MODULARIZADA Prof. Cipriano Carneiro CONTEÚDO Subprogramas (Sub-rotina) Conceitos Características Vantagens Tipos Procedimento Função CONCEITOS Desvio provisório no fluxo de execução do programa principal; Unidade não autônoma de programação; VANTAGENS Dividir e estruturar um algoritmo em partes logicamente coerentes; Maior legibilidade; Facilidade em testar os trechos separadamente; O programador poderá criar sua própria biblioteca de funções; Programação mais eficiente; Diminuição do código fonte. TIPOS Procedimentos (não retorna valor) Funções (retorna valor) PROCEDIMENTOS NO VISUAL ALG EXEMPLO 1 Receba dois números inteiros e gere (imprima na tela) os números inteiros que estão no intervalo compreendido por eles. ALGORITMO SEQUENCIAL 1. algoritmo "NumerosnoIntervalo" 2. var 3. i,num_inicial, num_final: inteiro 4. inicio 5. Escreval ("Informe o primeiro numero inteiro do intervalo") 6. leia(num_inicial) 7. Escreval ("Informe o último numero inteiro do intervalo") 8. leia(num_final) 9. se (num_final-num_inicial<=1) entao 10. escreval ("Não há números inteiros compreendidos no intervalo entre",num_inicial," e ",num_final) 11. senao 12. Escreval("O(s) inteiro(s) compreendido(s) entre", num_inicial, " e", num_final, " (é)são: ") 13. para i<-num_inicial+1 ate num_final-1 faca 14. Escreva(i) 15. fimpara 16. fimse 17. fimalgoritmo ALGORITMO FATORADO 1. algoritmo "NumerosnoIntervaloProgPrinc" 2. var 3. num_inicial, num_final: inteiro 4. procedimento Intervalo(primeiro:inteiro; segundo:inteiro) 5. var 6. i: inteiro 7. inicio 8. se (num_final-num_inicial<=1) entao 9. escreval ("Não há números inteiros compreendidos no intervalo entre",num_inicial," e ",num_final) 10. senao 11. Escreval("O(s) inteiro(s) compreendido(s) entre", num_inicial, " e", num_final, " (é)são: ") 12. para i<-num_inicial+1 ate num_final-1 faca 13. Escreva(i) 14. fimpara 15. fimse 16. fimprocedimento 17. inicio 18. Escreval ("Informe o primeiro numero inteiro do intervalo") 19. leia(num_inicial) 20. Escreval ("Informe o último numero inteiro do intervalo") 21. leia(num_final) 22. Intervalo(num_inicial;num_final) 23. fimalgoritmo FUNÇÕES NO VISUAL ALG EXEMPLO 2 Faça um algoritmo que imprima na tela a seguinte sequência de números até o n-ésio número informado : 0, 1, 1, 2, 3, 5, 8, 13, ..., n. Observe que, do terceiro elemento em diante este é uma soma dos dois outros elementos anteriores. Esta é a famosa sequencia de fibonacci. ALGORITMO SEQUENCIAL 1. algoritmo "fibonacci" 2. var 3. ant,prox,k,soma,limite:inteiro 4. inicio 5. ant<-0 6. prox<-1 7. escreval("Informe o limite da série: ") 8. leia(limite) 9. escreva(ant) 10. escreva(prox) 11. Para k<-3 ate limite faca 12. soma<- ant + prox 13. escreva(soma) 14. ant <-prox 15. prox <-soma 16. fimpara 17. fimalgoritmo ALGORTIMO FATORADO 1. algoritmo "fibonacci_2" 2. var 3. limite:inteiro 4. funcao serie_fibonacci (n:inteiro):caracter 5. var 6. ant,prox,k,soma:inteiro 7. serie: caracter 8. inicio 9. ant<-0 10. prox<-1 11. serie<-Numpcarac(ant)+", "+Numpcarac(prox) 12. Para k<-3 ate n faca 13. soma<- ant + prox 14. serie<-serie+", "+Numpcarac(soma) 15. ant <-prox 16. prox <-soma 17. fimpara 18. retorne serie 19. fimfuncao 20. inicio 21. escreval("Informe o limite da série: ") 22. leia(limite) 23. escreval(serie_fibonacci(limite)) 24. fimalgoritmo FAZER LISTA DE ATIVIDADES 6 PARA APRESENTAÇÃO CONFORME SORTEIO
Compartilhar