Escolar Documentos
Profissional Documentos
Cultura Documentos
O gerenciamento das tarefas é feito pelo algoritmo principal ou módulo principal. Esse
módulo ”chama” ou aciona os outros módulos, que deverão ser escritos por meio de
procedimentos ou funções.
A uma das técnicas de refinamentos sucessivos dá-se o nome de top-down (de cima
para baixo), ou seja, parte-se do problema como um todo e vai detalhando-se até atingir o
nível desejado.
Utilização
1
Lógica de Programação e Algoritmos - LPA
Parâmetros
Os parâmetros são “variáveis” que estabelecem a troca de valores entre o algoritmo que
realiza a chamada e o procedimento/função.
Por meio dos parâmetros de entrada os valores são passados para o procedimento/
função.
Procedimentos
Pseudocódigo:
Diagrama de Bloco:
Nome do
Procedime nt o
Leitura das
variáveis
Comando s
Retornar
2
Lógica de Programação e Algoritmos - LPA
Exemplo:
Procedimento para realizar a operação de adição entre dois valores, sem a passagem de
parâmetros.
Procedimento proc_adicao
var
v1, v2, res : real
início
res v1 + v2
Escreva(“O resultado da soma é:”, res)
fim
Procedimento para realizar a operação de adição entre dois valores, com a passagem de
parâmetros.
Chamada de Procedimentos
3
Lógica de Programação e Algoritmos - LPA
1. Procedimento para realizar a operação de adição entre dois valores, sem a passagem
de parâmetros.
Programa Princ_Adicao
Procedimento Proc_Adicao
var
v1, v2 : real
início
Escreva(“Digite o primeiro numero:”)
Leia(v1)
Escreva(“Digite o segundo numero:”)
Leia(v2)
res v1 + v2
Escreva(“O resultado da soma é:”, res)
Fim
Var
Inicio
Proc_Adicao
Fim
2. Procedimento para realizar a operação de adição entre dois valores, com a passagem
de parâmetros com valores predeterminados.
Programa Princ_Adicao
Procedimento Proc_Adicao (v1, v2 : real)
var
res : real
início
res v1 + v2
Escreva(“O resultado da soma é:”, res)
Fim
Var
Inicio
Proc_Adicao(5,10)
Fim
3. Procedimento para realizar a operação de adição entre dois valores, com a passagem
de parâmetros com valores variáveis
Programa Princ_Adicao
Procedimento Proc_Adicao (v1, v2 : real)
var
res : real
início
res v1 + v2
Escreva(“O resultado da soma é:”, res)
Fim
Var
n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo numero:”)
Leia(n2)
Proc_Adicao(n1, n2)
Fim
4
Lógica de Programação e Algoritmos - LPA
Funções
A diferença entre os dois é que elas podem ser utilizadas em expressões, como se
fossem variáveis, pois as funções retornam valores que são associados ao seu nome, e
para esses valores é necessário a declaração do tipo de dado a ser retornado.
Sintaxe:
Diagrama de Bloco:
Nome da
Função
Leitura das
variáveis
Comando s
Retornar
Exemplo:
Função Func_Soma (v1, v2 : real): real
var
res : real
início
res v1 + v2
Retornar(res)
Fim
5
Lógica de Programação e Algoritmos - LPA
Chamada de Funções
Programa Principal
Função Func_Soma (v1, v2 : real): real
var
res : real
início
res v1 + v2
Retornar(res)
Fim
Var
x, y, n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo numero:”)
Leia(n2)
x Func_Soma(n1, n2)
y n2 + Func_Soma(n1,
n2) Fim
Recursividade
Esse subprograma irá tirar partido de uma definição particular da potência de um número,
na qual a expressão xn é representada por potencia( x, n):
potencia( x, y ) = x, se n = 1
potencia( x, y ) = x * potência( x, y - 1 ), se y > 1
Programa Principal_Potencia
6
Lógica de Programação e Algoritmos - LPA
Var
x, y, res : inteiro
Inicio
Escreva(“Digite o numero:”)
Leia(x)
Escreva(“Digite a potencia:”)
Leia(y)
res potencia(x,y)
Escreva(“O Resultado é:”, res)
Fim
potencia( 2, 3 )
2 * potencia( 2, 2 )
2 * 2 * potencia( 2, 1 )
A função ao ser invocada com o valor 1 para o parâmetro y, termina a série de chamadas
recursivas e retorna o valor do parâmetro x, ou seja, 2.
Fatorial
Programa Principal_Fatorial
Escopo
7
Lógica de Programação e Algoritmos - LPA
Uma variável local é apenas reconhecida no bloco em que se encontra definida não
podendo ser acedida a partir de outros blocos.
Uma variável global é reconhecida em todo o programa podendo ser acedida a partir de
qualquer parte do programa.
A passagem de argumentos a um procedimento pode ser feita por valor ou por referência.
No primeiro caso são criadas no procedimento cópias dos argumentos que são destruídas
quando o procedimento termina.
Exercícios Resolvidos:
1 – Subtraindo dois números usando função. Deverão ser passados dois números como
parâmetro e a função deverá retornar o resultado desta subtração.
Programa Principal
Var
x, y, n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo numero:”)
Leia(n2)
x Func_Sub(n1, n2);
Fim
Algoritmo função_quadrado
8
Lógica de Programação e Algoritmos - LPA
Var X, Y : real
Início
Escreva "Digite um número”
Leia X
Y := Quad(X)
Escreva X, " elevado ao quadrado é = ", Y
Fim.