Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAugusto Márcio Rocha Nunes Alterado mais de 6 anos atrás
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.