Sunteți pe pagina 1din 0

1

PROFESSORA
MERRIS MOZER
Graduao: Tecnologia em Process. Dados
Ps-Graduao: Metodologia e Didtica de Ensino
Consultoria e Estratgia Empresarial
Formao Pedaggica na rea de Matemtica
merris@unopar.br
SEMINRIO I
Linguagem e Tcnica de Programao I
Consiste na diviso de um problema complexo em
subproblemas, sucessivamente, at torna-lo
suficientemente simples.
A metodologia de Refinamento Sucessivo parte do
princpio de que resolver um problema complexo
mais fcil se no precisarmos considerar todos os
aspectos do problema simultaneamente.
Modularizao e Refinamento
No 1 Refinamento, o problema repartido numa
seqncia de subproblemas, onde cada
subproblema descreve uma ao mais elementar
que a ao do problema.
A concatenao das aes dos subproblemas deve
produzir a ao total do problema.
Modularizao e Refinamento
Se um subproblema ainda no estiver
suficientemente simples no prximo refinamento
ele ser repartido da mesma forma que o problema
original, e assim sucessivamente, at se chegar em
um subproblema suficientemente simples.
Cada subproblema pode ser implementado e
testado separadamente facilitando o projeto, a
construo, a verificao e a manuteno do
algoritmo.
Modularizao e Refinamento
2
Para permitir o uso da tcnica de refinamento
sucessivo so usados subalgoritmos que
chamaremos:
Ora Procedimentos
Ora Funes, conforme a aplicao.
Modularizao e Refinamento
Leia um par de inteiros distintos (A, B), coloque-os
em ordem crescente e imprima o par ordenado
(A, B).
1 Refinamento refinamento do problema
original
leia os valores A e B
ordene-os
imprima os valores a e b
Modularizao e Refinamento
2 Refinamento refinamento de ORDENE-OS
Modularizao e Refinamento
se A > B ento
inicio
aux A
A B
B aux
fim
Procedimentos
Eles podem ter variveis locais, ou seja, elas
no so enxergadas pelo algoritmo fora do seu
procedimento.
Eles podem tambm ter parmetros para auxiliar
no seu funcionamento
Modularizao e Refinamento
Como definir um Procedimento
PROCEDIMENTO <nome do procedimento>
(<lista opcional de parmetros>);
<bloco de declaraes> ;
INICIO
<bloco comandos>;
FIM
Modularizao e Refinamento
ALGORITMO "ORDENAR"
VAR
AUX, A, B : INTEIRO
INICIO
ESCREVAL ("INFORME VALOR PARA A")
LEIA (A)
ESCREVAL ("INFORME VALOR PARA B")
LEIA (B)
SE A > B ENTAO
AUX := A
A := B
B := AUX
FIMSE
ESCREVAL ("OS VALORES SAO: ", A, " ", B)
FIMALGORITMO
3
Modularizao e Refinamento
ALGORITMO "ORDENAR"
VAR
AUX, A, B : INTEIRO
INICIO
LER_VALORES
ORDENAR_VALORES
FIMALGORITMO
Funes
Uma funo tem a mesma aplicao que um
procedimento, que desviar a execuo normal
do algoritmo para a realizao de uma tarefa
especfica
Sempre retorna um nico valor associado ao
nome da funo.
Modularizao e Refinamento
Como definir uma Funo
FUNCAO <nome funo> (<lista opcional de
parmetros>) : <tipo do dado retornado>;
<bloco de declaraes>
INICIO
<bloco de comandos>;
FIM
Modularizao e Refinamento
ALGORITMO "MAIOR_MENOR_FUNC"
VAR
NUMERO1, NUMERO2, MAIORPRIMEIRO, MAIORSEGUNDO: INTEIRO
INICIO
LER_VALORES
MAIORPRIMEIRO := FC_MAIOR (NUMERO1, NUMERO2)
LER_VALORES
MAIORSEGUNDO := FC_MAIOR (NUMERO1, NUMERO2)
ESCREVAL ("MAIOR NMERO LIDO: ",
FC_MAIOR (MAIORPRIMEIRO, MAIORSEGUNDO))
SE (FC_MAIOR (MAIORPRIMEIRO, MAIORSEGUNDO) MOD 2 = 0 )
ENTAO
ESCREVAL ("O MAIOR NMERO PAR!")
SENAO
ESCREVAL ("O MAIOR NMERO IMPAR!")
FIMSE
FIMALGORITMO
2009 Todos os direitos reservados. Uso exclusivo
no Sistema de Ensino Presencial Conectado.

S-ar putea să vă placă și