You are on page 1of 9

NDICE

1.

INTRODUO .................................................................................................................... 1 2.1. FUNES.......................................................................................................................... 3 Exemplo: ................................................................................................................................ 4 2.2. PROCEDIMENTOS .......................................................................................................... 5 Exemplo: ................................................................................................................................ 5

2. FUNES E PROCEDIMENTOS ........................................................................................... 2

3. VANTAGENS E DESVANTAGENS NO USO DE MDULOS ........................................... 6 3.1. Vantagens ........................................................................................................................... 6 3.2. Desvantagens...................................................................................................................... 6 4. CONCLUSO .......................................................................................................................... 7 5. BIBLIOGRAFIA ....................................................................................................................... 8

1. INTRODUO
No presente trabalho de investigao em grupo da disciplina de Informtica II , sobre funes (sub-rotinas) , retrataremos os tipos de sub-rotinas, funes e procedimentos, a sua utilizao e caractersticas. Comecemos por uma breve noo de Programao Modular, que permite criar diferentes camadas de abstraco do programa codicado e que por sua vez facilitar a resoluo de problemas complexos, leitura e manuteno do cdigo mais simples; Reduzir os custos ao desenvolvimento de software e correco de erros; Reduzir o nmero de erros emergentes durante a codicao; Re-utilizao de cdigo de forma mais simples; A utilizao de sub-rotinas permite modularizar os programas e encapsular processamento o que resulta em programas mais simples de desenvolver e ler. Quanto mais independentes os mdulos (sub-rotinas) mais atentamente o programador se pode concentrar sobre cada uma ignorando os restantes. Com a chamada de uma subrotina num qualquer ponto de um programa transferido o controlo para essa subrotina. isto , passam a ser executadas do incio ao m as instrues presentes nessa sub-rotina, retornado-se depois ao programa principal, exactamente instruo seguinte da chamada da sub-rotina.

2. FUNES E PROCEDIMENTOS
Funes/procedimentos so sub-rotinas que executam uma tarefa particular. Todas as linguagens de programao atuais possuem formas de se criar sub-rotinas incluindo C++, JAVA, C# e Object Pascal (Delphi). Alm do programador poder criar suas prprias sub-rotinas, a prpria linguagem de programao tem sub-rotinas que facilitam o trabalho do programador. Como exemplo podemos citar funes matemticas para calculo de seno, coseno e tangente, funes de texto que podem pegar partes de um texto(substring), contar a quantidade de caracteres, transformar tudo em maisculo, etc.

Elas so muito utilizadas para organizar a programao, criando sub-rotinas que podero ser reutilizadas em vrias partes do programa, evitando assim que um mesmo cdigo de programao tenha que ser reescrito vrias vezes. Quando criamos uma funo ou procedimento, caso ela possua algum erro mais fcil de corrigir pois teremos que mudar apenas a sub-rotina e dessa forma, todos os locais onde so chamados essas sub-rotinas j estaro corrigidos. Isso facilita a manuteno do programa.

A diferena entre funes e procedimentos consiste no facto de as primeiras retornarem um valor, e as segundas no.

2.1. FUNES
No contexto da programao uma funo tem um funcionamento similar a funo matemtica, isto , funciona como uma caixa preta que recebe valores (designada por parmetros) e devolve um resultado.

As variveis denidas no mbito das sub-rotinas so criadas no momento em que se inicia a execuo da sub-rotina e destrudas no momento em que a sub-rotina termina a sua execuo, isto , so variveis locais (dentro do contexto da sub-rotina) por oposio s variveis do programa que se designam por variveis globais.

Este conceito muito importante e implica que: a forma correcta de se passar valores para dentro de uma sub-rotina atravs dos parmetros (e no recorrendo a uma varivel com o mesmo nome fora e dentro da sub-rotina); a forma correcta de se obter valores de uma sub-rotina recorrer a uma funo (e no a um procedimento) que tem a possibilidade de devolver valores.

FUNCO

nome [(lista_parmetros)] [bloco_instrues] nome = expresso [bloco_instrues]

FIMFUNO

Nome: O nome da funco. Lista_parmetros: Uma ou mais variveis que especificam os parmetros a ser passados funo quandoesta chamada Expresso:O valor a retornar pela funo.

Quando uma funo termina, deixa ficar no programa que a chamou o ltimo valor atribudo ao nome da funo.

Exemplo:
Desenvolva uma funo que permita calcular o cubo de um nmero dado como argumento. Em seguida escreva um programa que use essa funo. Resoluo: O parmetro da funo ser o nmero e a funo retornar ao programa que a invoque o cubo desse nmero.

FUNO cubo( num ) cubo=num*num*num FIMFUNO

Agora o programa que a usa: INCIO Escrever(Introduza um nmero:) Ler(n) Escrever( O cubo de , n, = , cubo(num) ) FIM

Executemos o programa por exemplo para o valor 3: Entrada/Sada: Introduza um nmero: 3 O cubo de 3 = 27
4

2.2. PROCEDIMENTOS
Os procedimentos diferem das funes apenas por no retornarem resultado. Por exemplo, para ler o valor digitado por um usurio ns j utilizamos o procedimento leia e procedimento escreva. para mostrar um texto na tela ns utilizamos o

PROCEDIMENTO nome[(lista_parmetros)] [bloco_instrues] FIMPROC

Nome: O nome da procedimento. Lista_parmetros: Uma ou mais variveis que especificam os parmetros a ser passados ao procedimento quando este chamado.

Exemplo:
Escreva um procedimento que imprima um nmero inteiro pela ordem inversa. Resoluo: PROCEDIMENTO impinvnum( num ) Repetir Enquanto num>0 Escrever( num MOD 10) num=num/10 [diviso de inteiros] FEnq FIMPROC

3. VANTAGENS E DESVANTAGENS NO USO DE MDULOS


3.1. Vantagens

Programas feitos com sub-rotinas ou funes so programados e testados uma s vez, embora possam ser usados em vrias partes do programa em quantas vezes so necessrios.

Pode-se criar uma biblioteca com as funes e sub-rotinas que podem ser usados em outros programas ou por outros programadores.

Com a modularizao conseguimos preservar os refinamentos conseguidos em uma parte especifica do cdigo e estender a toda parte do sistema que ira usar a funo ou sub-rotina

Economia de memria do computador, uma vez que o modulo utilizado armazenado uma nica vez, mesmo que utilizado em diferentes partes do programa. Permite tambm, que, em determinado instante da execuo do programa, estejam na memria principal apenas o mdulo ou os mdulos necessrios para execuo desse trecho de programa.

Ocultamento de cdigo, uma vez que apenas as rotinas e sub-rotinas ficam disponveis para outros programadores.

3.2. Desvantagens

Aumento no tempo de execuo do programa, devido ao tratamento adicional de activao do mdulo.

4. CONCLUSO
As sub-rotinas so um conjunto de comandos que so agrupados e recebem assim um nome especfico que ir identific-las. Desta forma, podemos usar as sub-rotinas para realizar tarefas que se repetem vrias vezes na execuo de um mesmo programa. O uso de sub-rotinas permite que possamos criar programas modulares, deixando estes mais bem estruturados. Funes e procedimentos so utilizados com muita frequncia em desenvolvimento de softwares. Os benefcios so de evitar duplicao de cdigo quando precisamos executar a mesma operao vrias vezes, deixar o entendimento do algoritmo mais intuitivo, pois tiramos a parte complexa do cdigo do fluxo principal do algoritmo, entre outros.

5. BIBLIOGRAFIA

http://dicaspro.blogspot.com/2008/06/funo-e-procedimento.html http://www.dei.isep.ipp.pt/~jsantos/docs/Sebenta-ALG-EST.pdf http://www.miniweb.com.br/atualidade/Tecnologia/sebalgprog.pdf http://pt.wikipedia.org/wiki/Modularidade http://www.dicasdeprogramacao.com.br/o-que-sao-funcoes-e-procedimentos/ http://osorio.wait4.org/oldsite/prog1/prog1-a08.pdf

You might also like