• Nenhum resultado encontrado

Modularização de Algoritmos Rotinas Procedimentos Funções

N/A
N/A
Protected

Academic year: 2022

Share "Modularização de Algoritmos Rotinas Procedimentos Funções"

Copied!
10
0
0

Texto

(1)

Modularização de Algoritmos

Rotinas – Procedimentos – Funções

(2)

Decomposição de problemas:

• A decomposição de um problema em problemas menores é fator determinante para redução da complexidade

• Quando se decompõe um problema em problemas menores divide-se a complexidade, e por conseqüência, simplifica-se a resolução

• Uma vantagem da decomposição é que permite focar a

atenção em um problema pequeno de cada vez, o que ao final produzirá uma melhor compreensão do todo

(3)

Critérios para decomposição:

• Dividir o problema em suas partes principais

• Analisar a divisão obtida para garantir coerência

• Se alguma parte ainda permanecer complexa, decompor novamente

• Analisar o resultado para garantir entendimento e coerência

• Técnica chamada Refinamentos Sucessivos – Top Down

(4)

Modularização dos algoritmos:

• Para resolver os problemas menores são definidas sub-

rotinas que implementam problemas menores independentes do problema maior

• Sub-rotinas são blocos de instruções que realizam tarefas específicas

• Para processar o problema completo é preciso unir todas as sub-rotinas em um programa que as relacionam de maneira a resolver o problema complexo – programa principal

(5)

Sub-rotinas:

• Conceitualmente as sub-rotinas podem ser procedimentos ou funções – algumas linguagens não diferenciam os dois

processos

• Vantagens no código:

• Maior legibilidade

• Desenvolvimento e teste independente

• Reuso – uma operação que é repetida muitas vezes pode ser definida uma única vez

(6)

Procedimentos:

• Um grupo de instruções (código) ao qual é atribuído um nome e vem no início do algoritmo

• A ativação ocorre através da referência ao nome dado ao procedimento (sob chamada), e ocorre em qualquer ponto do programa

• A execução é realizada como se o grupo de sentenças fosse copiado para o ponto onde foi ativado

• Ao final da execução do procedimento o processamento do programa volta ao ponto em que estava no momento da

chamado do procedimento

(7)

Sintaxe algorítmica de procedimento:

procedimento nome (lista de parâmetros)

<declaração de variáveis locais>

início

<comandos>

fim;

fim procedimento;

(8)

Exemplo procedimento:

• Algoritmo para somar dois números inteiros (sem passagem de parâmetros):

início

inteiro: n1, n2, resultado;

procedimento soma() inicio

leia (n1);

leia (n2);

resultado n1 + n2;

escreva (resultado);

fim;

fim procedimento;

soma(); // chama o procedimento soma

(9)

Exemplo procedimento com parâmetros:

• Algoritmo para somar dois números inteiros (com passagem de parâmetros):

início

inteiro: valor1, valor2;

procedimento soma(n1, n2) inteiro: resultado;

início

resultado n1 + n2;

escreva (resultado);

fim;

fim procedimento;

leia(valor1);

leia(valor2);

soma(valor1, valor2); // n1=valor1 e n2=valor2 fim.

(10)

Funções:

• Muito semelhante aos procedimentos, sendo também um grupo de instruções (código) ao qual é atribuído um nome

• A principal diferença está no fato da função poder ser utilizada nas expressões, como se fossem variáveis pois

retornam valores que são associados ao seu nome – é preciso declarar o tipo

• É preciso atribuir o resultado de uma função à uma variável ou comando que espera um parâmetro – sempre retorna um

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Com certeza, a Grande Cruzeiro e o Bairro do Cerco, como local de residência de algumas das camadas mais pobres da população são lugares onde o Estado não se instalou de fato e em

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

Os níveis atingidos por cada sujeito na compreensão do oral, na leitura, na expressão oral, na expressão escrita e no conhecimento explícito determinam o seu nível de mestria

One of the main strengths in this library is that the system designer has a great flexibility to specify the controller architecture that best fits the design goals, ranging from

Áreas com indícios de degradação ambiental solo exposto no Assentamento Fazenda Cajueiro A e no Assentamento Nossa Senhora do Carmo B, localizados, respectivamente, no Município de

A curva em azul é referente ao ajuste fornecido pelo modelo de von Bertalany, a curva em vermelho refere-se ao ajuste fornecido pelos valores calculados Lt, dados pela equação

Os estudos sobre diferenciais de salários são explicados por alguns fatores que revelam a existência da relação entre as características pessoais produtivas educação,