A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos

Apresentações semelhantes


Apresentação em tema: "Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos"— Transcrição da apresentação:

1 Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos
Prof. Esp. Douglas Mariano dos Santos

2 Problema Como resolver um problema bem “cabeludo”?
Como as pirâmides do Egito foram construídas?

3 Solução Dividir para conquistar. Modularização

4 Subalgoritmos São trechos de algoritmos que efetuam determinada tarefa. Ao invés de escrever um algoritmo grande, escrevem-se vários algoritmos menores, os quais, em conjunto, resolvem o problema proposto. É especialmente indicado usá-los quando uma determinada tarefa é efetuada em diversos lugares no mesmo algoritmo. São declarados no início do algoritmo e podem ser chamados em qualquer ponto após sua declaração. Podem ser de dois tipos: Funções - retornam algum valor. Procedimento (Subrotina) - não retorna nada.

5 Vantagens Reduzem o tamanho do algoritmo.
Melhoram a legibilidade do algoritmo. Evitam a repetição de código. Reaproveitamento no mesmo programa ou em outros Facilitam a manutenção Facilitam a divisão de trabalho Possibilitam a utilização de componentes prontos.

6 Funções Retornam um valor ou uma informação.
A chamada de uma função é feita através da citação do seu nome seguido de seus argumentos entre parênteses. As funções podem ser: predefinidas pela linguagem; criadas pelo programador de acordo com o seu interesse.

7 Funções Predefinidas do Visualg

8 Funções Predefinidas do Visualg

9 Dica!!! Pressionando CTRL+J o VisualG mostra uma lista de funções predefinidas, a sua utilização é muito simples. Basta selecionar a função desejar e dar ENTER, depois, é só passar os parâmetros desejados.

10 Exemplo 1 algoritmo "exemplo" var nome, sobrenome : caracter
qtd_caracter, local_espaço : inteiro inicio nome <- “Douglas Mariano” qtd_caracter <- compr(nome) local_espaço <- pos(“ “, nome) sobrenome <- copia(nome, local_espaço + 1, qtd_caracter) escreval(“Seu sobrenome é: “, sobrenome) fimalgoritmo

11 Exemplo 2 algoritmo "exemplo" var valorReal : real valorInteiro : inteiro inicio valorReal < valorInteiro <- int(valorReal) escreval(“O valor inteiro é: “, valorInteiro) fimalgoritmo

12 Exemplo 3 algoritmo "exemplo" var numero : real nome : caracter inicio escreva("Digite um número: ") leia(numero) escreval("Raiz quad. de ", numero, " é ", raizq(numero)) escreva("Digite um nome: ") leia(nome) escreval("Normal: ", nome) escreval("Maiúsculas: ", maiusc(nome)) escreval("Minúsculas: ", minusc(nome)) escreval("3 primeiras letras: ", copia(nome,1,3)) escreval("tamanho: ", compr(nome)) escreval(maiusc(copia(nome,compr(nome)-2,3))) fimalgoritmo

13 Criação de Funções Algoritmo "<nome do algoritmo>" var <declaração de variáveis globais> funcao <identificador> ([var]<parâmetros>) <tipo de retorno> <declaração de variáveis locais> inicio <lista de comandos> retorne <variável de retorno> fimfuncao < lista de comandos> fimalgoritmo

14 Criação de Funções As variáveis globais ficam antes das funções.
A função sempre fica dentro do escopo Algoritmo e FimAlgoritmo. Evite declarar variáveis globais com o mesmo nome das variáveis da função.

15 Exemplo algoritmo "soma" var n1, n2 : real funcao soma(a, b : real) : real retorne a + b fimfuncao inicio escreva("Digite um número: ") leia(n1) escreva("Digite outro número: ") leia(n2) escreva("Soma: ", soma(n1, n2)) fimalgoritmo

16 Exemplo algoritmo "par_impar" var numero : inteiro funcao par_ou_impar(num : inteiro) : caracter inicio se (num % 2 = 0) entao retorne "par" senao retorne "impar" fimse fimfuncao escreva("Digite um número: ") leia(numero) escreva(par_ou_impar(numero)) fimalgoritmo

17 Procedimento Algoritmo "<nome do algoritmo>" var <declaração de variáveis globais> procedimento <identificador> ([var]<parâmetros>) <declaração de variáveis locais> inicio <lista de comandos> fimprocedimento < lista de comandos> fimalgoritmo

18 Exemplo algoritmo "repeticao" var palavra : caracter procedimento repete(texto : caracter; n : inteiro) var i : inteiro inicio para i de 1 ate n faca escreval(texto) fimpara fimprocedimento escreva("Digite uma palavra: ") leia(palavra) repete(palavra, 10) fimalgoritmo

19 Passagem de Parâmetros
Por valor Por referência Vantagens do uso da passagem de parâmetros por valor: Privacidade dos dados A possibilidade de passar constantes como argumentos de funções x  raizq(25)

20 Exemplo – Passagem por Referência
algoritmo "permuta_valor" var n1, n2, aux : inteiro procedimento troca(var x, y : inteiro) var aux : inteiro inicio aux <- x x <- y y <- aux fimprocedimento Escreva("Digite n1: ") leia(n1) Escreva("Digite n2: ") leia(n2) troca(n1,n2) Escreval("n1 é: ", n1) Escreval("n2 é: ", n2) fimalgoritmo

21 Exercicios Faça um algoritmo que solicite a idade do usuário e diga se este é de maior ou menor. Escreva uma programa que lê o sexo de uma pessoa. O sexo deverá ser com o tipo de dado caractere o programa deverá aceitar apenas os valores “M” ou “F”. Em uma turma há 10 alunos. Cada aluno tem 2 notas. Um professor precisa calcular a média das duas notas de cada aluno. Crie um programa que resolva este problema.


Carregar ppt "Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos"

Apresentações semelhantes


Anúncios Google