Professional Documents
Culture Documents
11 Aula
Programador de Sistemas
Slide: 1
Programador de Sistemas
LGICA DE PROGRAMAO
SUB-ROTINAS
Slide: 2
SUB-ROTINAS
As sub-rotinas que tambm so conhecidas como mdulos, subprogramas, ou
subalgoritmos;
uma fragmentao do programa principal;
Resolve parte pequena do problema tratado pelo algoritmo;
Quando o programa (sistema) muito grande, complexo, o seu desenvolvimento
deve ser feito em partes menores que se relacionam;
Cada sub-rotina funciona como um programa;
A resoluo e entendimento fica mais simples;
Deve haver coerncia entre as partes;
Mtodo mais adequado para desenvolvimento o de sub-rotinas TOP-DOWN (de
cima para baixo);
Estrutura muito semelhante a um organograma;
Existe um programa no topo para controlar todas as tarefas divididas em sub-rotinas;
Cada rotina pode ser dividida novamente para melhor entendimento e manipulao;
Essa tcnica de diviso de sub-rotinas em unidades mais simples, chamamos de
REFINAMENTO SUCESSIVO.
Slide: 3
SUB-ROTINAS
(MTODO TOP-DOWN):
Programa
Principal
Rotina 2
Rotina 1
Rotina 2.1
Rotina 2.2
Rotina 2.2.1
Slide: 4
Rotina 4
Rotina 3
Rotina 2.2.2
Rotina 4.1
Rotina 4.2
Rotina 2.2.3
Rotina
2.2.2.2
SUB-ROTINAS
SUB-ROTINAS E FUNES:
Vamos analisar duas formas de utilizar as sub-rotinas: Os Procedimentos e as Funes.
PROCEDIMENTOS:
um tipo de sub-rotina que possui incio, fim e um nome pelo qual referenciado em
qualquer lugar do programa principal;
Quando um procedimento chamado, so executadas as instrues que esto no seu
interior;
Ao seu trmino o fluxo de execuo retorna automaticamente para a primeira linha de
instruo aps a linha que o chamou.
Os PROCEDIMENTOS possuem a seguinte estrutura de declarao:
PROCEDIMENTO <nome de procedimento>
VARIVEIS
<variveis>
INCIO
<instrues>
FIM
Slide: 5
SUB-ROTINAS
SUB-ROTINAS E FUNES:
PROCEDIMENTOS:
de
utilizao
de
Slide: 6
Pseudocdigo
PROGRAMA Exemplo_procedimento
VARIVEIS
escolha: CARACTER
/*procedimentos*/
PROCEDIMENTO rotina_correta
INCIO
ESCREVA Resposta correta
FIM
PROCEDIMENTO rotina_errada
INCIO
ESCREVA Resposta errada
FIM
/*Programa Principal*/
INCIO
ESCREVA Escolha a alternativa correta:
ESCREVA Quem inventou a lmpada:
A) Thomas Edison
B) Isaac Newton
C) Albert Einstein
D) Benjamim Franklim
LEIA escolha
SELECIONE escolha
CASO A:
rotina_correta
CASO B:
rotina_errada
CASO C:
rotina_errada
CASO D:
rotina_errada
FIM SELECIONE
FIM
SUB-ROTINAS
Pseudocdigo
Slide: 7
PROGRAMA exemplo
VARIVEIS
num: INTEIRO
PROCEDIMENTO calculo
VARIVEIS
resultado: INTEIRO
INCIO
resultado <- num**
num <- resultado
FIM
INCIO
ESCREVA(Digite um num)
LEIA num
calculo
ESCREVA num
FIM
SUB-ROTINAS
Slide: 8
SUB-ROTINAS
Slide: 9
SUB-ROTINAS
Slide: 10
SUB-ROTINAS
Slide: 11
SUB-ROTINAS
Slide: 12
SUB-ROTINAS
Slide: 13
SUB-ROTINAS
Slide: 14
SUB-ROTINAS
ESCOPO DE VARIVEIS:
O
escopo
ou
a
abrangncia
de
uma
varivel est relacionado
com a sua visibilidade em
relao s sub-rotinas de
um programa;
A visibilidade de uma
varivel depende da sua
hierarquia;
Ou seja, uma varivel
Global todos os mdulos
hierarquicamente
inferiores;
E Local quando visvel
somente na rotina em que
foi criada;
Variveis Globais.
Programa Principal
I, J
Sub-rotina 1
L, M
Variveis da sub-rotina 1,.
visvel somente a esta subrotina e a sub-rotina 1.1.
Varivel da sub-rotina 1. 1,
visvel somente a esta subrotina.
Sub-rotina 1.1
Sub-rotina 2
O
Varivel da sub-rotina 2,
visvel somente a esta
sub-rotina.
Slide: 15
SUB-ROTINAS
PARMETROS:
Os parmetros so utilizados como forma de comunicao entre uma sub-rotina e um programa
principal ou uma sub-rotina hierarquicamente superior;
Desta forma, possvel passar valores de um programa principal ou sub-rotina chamadora, para
outra sub-rotina e vice-versa;
H dois tipos de parmetros: FORMAIS e os REAIS;
FORMAIS:
So aqueles declarados como variveis junto com a
identificao do nome da sub-rotina;
REAIS:
So aqueles que substituem os parmetros formais, quando
a sub-rotina utilizada pelo programa principal ou por uma
sub-rotina chamadora;
INCIO
LEIA num1
LEIA num2
multiplicao (num1, num2)
FIM
Slide: 16
SUB-ROTINAS
Slide: 17
SUB-ROTINAS
Slide: 18
SUB-ROTINAS
Slide: 19
SUB-ROTINAS
Slide: 20
SUB-ROTINAS
Slide: 21
SUB-ROTINAS
Slide: 22
SUB-ROTINAS
Slide: 23
SUB-ROTINAS
Slide: 24
SUB-ROTINAS
Slide: 25
SUB-ROTINAS
Slide: 26
SUB-ROTINAS
Slide: 27
SUB-ROTINAS
Slide: 28
SUB-ROTINAS
Slide: 29
SUB-ROTINAS
FUNES:
As funes so um bloco de instrues identificadas por um nome pelo qual
referenciada pelo programa principal ou por uma sub-rotina.
Desta forma, as funes so muito parecidas com os procedimentos.
Slide: 30
SUB-ROTINAS
FUNES:
Para exemplificar a
criao e utilizao
das nossas prprias
funes
e
procedimentos,
vamos criar um
algoritmo
para
resolver equaes
de segundo grau,
onde criaremos um
funo
chamada
calcula_delta.
Slide: 31
SUB-ROTINAS
FUNES:
Slide: 32
SUB-ROTINAS
EXERCCIOS/AVALIAO:
1 - Crie um procedimento que receba dois valores por referncia e ordene-os em ordem
crescente. Crie um algoritmo principal para chamar o procedimento e exibir os valores aps
a ordenao.
2 - Crie um procedimento para resolver uma equao de segundo grau. O procedimento
deve receber 5 parmetros: os coeficientes a, b e c da equao (por valor), e raiz1 e raiz2
(por referncia). Crie um algoritmo principal que leia os coeficientes da equao e chame o
procedimento. Em seguida, mostre o resultado das razes.
3 - Crie um procedimento que receba uma frase por parmetro e remova todos os
caracteres de espaos da frase. Ex: a frase O livro est em cima da mesa dever ficar
como: Olivroestemcimadamesa.
Slide: 33