FLUXOGRAMA PARA CONSULTORES - humanus.dyndns...

20
FLUXOGRAMA PARA CONSULTORES USO NA PROGRAMAÇÃO LDR(r) CR SISTEMAS LTDA. AGOSTO/2011

Transcript of FLUXOGRAMA PARA CONSULTORES - humanus.dyndns...

Page 1: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

FLUXOGRAMA PARA CONSULTORES

USO NA PROGRAMAÇÃO LDR(r)

CR SISTEMAS LTDA.

AGOSTO/2011

Page 2: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

2

ÍNDICE

Introdução............................................................................................ 03

O fluxograma........................................................................................ 04

Símbolo Terminal................................................................................... 07

Símbolo Conector................................................................................... 10

Símbolo Conector de Página.................................................................... 11

Símbolo de Ação (comando).................................................................... 12

Símbolo de Procedimento....................................................................... 12

Símbolo de Decisão................................................................................ 14

Símbolo de Seleção Múltipla.................................................................... 15

Símbolo de Seleção em Lista................................................................... 17

Page 3: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

3

INTRODUÇÃO

O fluxograma é uma ferramenta muito útil para representar graficamente uma sequência de

passos (ou comandos, ou instruções) para resolver um problema. Portanto, através de um

fluxograma pode-se desenhar um algoritmo, especialmente um que represente um programa

de computador.

A linguagem LDR(r) do HUMANUS(r), apesar de simples e orientada ao consultor, é uma

linguagem de programação. Uma regra correta pode ser representada por um fluxograma e

um fluxograma deve poder ser implementado numa Regra. Há, portanto, uma relação direta

bidirecional entre Regra e fluxograma.

Ema face disso, resolvemos escrever este Manual de Fluxograma para Consultores, a fim

de facilitar a representação de soluções de cálculos da folha de pagamento que devem ser

implementados como Regras escritas em LDR(r) associadas às Rubricas.

Adicionalmente, o fluxograma é útil para o consultor ainda não familiarizado com a LDR(r) para

analisar e compreender o que faz uma regra escrita por outra pessoa (ou as regras-padrão do

sistema).

Nas páginas seguintes descreveremos os diversos símbolos gráficos dos fluxogramas e sua

relação com os comandos e funções da LDR(r), bem como daremos exemplos de técnicas de

fluxogramação.

Este manual é adicional à Introdução a Programação em LDR(r).

Page 4: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

4

O FLUXOGRAMA

O fluxograma é uma representação gráfica das ações e decisões que devem ser executadas

para resolver um problema. Este problema pode ser de qualquer natureza, variando a

complexidade do fluxograma na razão direta da complexidade do problema. É óbvio que para

representar soluções para certas classes de problemas existem, atualmente, ferramentas

gráficas mais especializadas do que o fluxograma.

Para programas de computador, em especial pequenos programas como são as Regras escritas

em LDR(r), o fluxograma é muito indicado.

Como o nome diz, o fluxograma descreve um fluxo que deve ser escrito (e lido) na ordem da

seta que aponta a linha de execução. Pode haver (e normalmente há) diversos caminhos

(fluxos) num fluxograma, mas apenas um e tão somente um é executado em cada

momento. O caminho lógico (fluxo) é determinado pelo conteúdo dos dados que são

testados nas condições que decidem os desvios que são realizados. Isto é muito importante.

Há um conjunto finito de símbolos (consagrados) para representar as ações e decisões num

fluxograma. No presente manual, além dos símbolos-padrão, acrescentamos símbolos que

representam os comandos e funções da LDR(r).

Terminal. Símbolo de início e de término do fluxo. Deve haver

apenas um início e pode haver mais de um ponto de término. No

caso de finalizar o fluxo, representa o comando PARE.

Conector. Representa um rótulo para desvio incondicional, um

ponto a partir do qual segue o fluxo.

Página. Representa um conectar para outra página. É usado para

indicar que o fluxo continua na página seguinte ou na página de

número “n”, onde o número é escrito no interior no símbolo.

Ação. Representa uma ação ou comando, como atribuição numa

variável ou registrador, na ordem de execução apontada pela

seta.

Page 5: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

5

Procedimento. Representa uma sub-rotina ou função, cuja

estrutura interna não é conhecida. Na LDR(r) representa uma

Regra chamada pelo comando EXECUTE ou por uma Função da

linguagem.

Decisão. Símbolo para decisão, também chamado desvio

condicional. Na LDR(r), representa o comando SE...SENAO.

Seleção Múltipla. Símbolo para o comando CASO...SEJA específico

da LDR(r). No losango se indica o dado cujo conteúdo deve ser

testado; em cada triângulo se indica um valor (conteúdo)

possível para o dado sendo testado. O fluxo continua após o

conector.

Seleção em Lista. Símbolo para o comando EXEC...SE específico

da LDR(r). No símbolo trapezoidal vai o dado cujo conteúdo deve

ser igual a lista de constantes, no formato dado=[constantes]. O

retângulo representa o conjunto de comandos a serem

executados. O fluxo segue após o conector.

Símbolos do fluxograma.

A seguir examinaremos cada símbolo em particular, com exemplos de comandos da LDR(r),

usando como modelo inicial a regra R108 do HUMANUS(r), que efetua o cálculo do valor das

horas noturnas, na composição das horas a serem pagas para um colaborador. A regra R108

em LDR(r) está reproduzida abaixo. Vamos escrever o fluxograma correspondente a cada

estrutura da linguagem, passo a passo.

REGRA: R108 [Calc. Horas Noturnas]

/ cálculo das horas noturnas

se RI0057 = 0 / não há movimento

Pare

senao

se RI0055 <> 0

#108R=#108R

#108V=#108V

Pare / o valor foi informado

fim

fim

se RI0057 = 1 / gerado pelo sistema (horário)

#108R = mult(#108R ; RI0051)

Page 6: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

6

senao

#108R=#108R

fim

V1=mult(#611V ; 0,20)

#108V = mult( #108R ; V1)

Page 7: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

7

SÍMBOLO TERMINAL

Usado como símbolo de INÍCIO.

Deve ser usado para marcar o início do fluxograma e os pontos de término. Todo fluxo deve ter

apenas um ponto de início, caso em que o símbolo contém a palavra início em seu interior.

Todo fluxo deve ter um nome significativo (no caso, o título da regra), colocado como

comentário em um dos lados do símbolo de início.

Veja o exemplo para a regra R108 (original), abaixo:

Usado como símbolo de TÉRMINO (FIM).

Nos pontos de término, contém a palavra fim ou pare. Um fluxograma pode ter um ou mais

pontos de encerramento, podendo ser indicado diretamente pelo símbolo de término na linha

de execução, como no exemplo da figura abaixo, que mostra a regra R108 modificada:

Page 8: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

8

No caso, o símbolo de término contém o comando “pare” da LDR(r), indicando que a

execução para naquele ponto.

Uma boa técnica consiste em utilizar símbolos conector numerador para indicar desvio para o

fim do fluxo de execução, como no exemplo abaixo:

Page 9: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

9

Vamos analisar o que o fluxograma nos diz:

Explicação extra:

os registradores internos (RI) 54 e 55 representam os campos de Referência e Valor da

rubrica à qual a regra em execução está associada e contém os valores eventualmente

lançados via movimento da folha. O RI0057 indica apenas se a rubrica recebeu lançamento via

movimento ou via sistema em algum desses campos: se contiver zero, nada foi lançado, caso

contrário houve informação. Para mais detalhes consulte a ajuda da LDR(r).

<início>

<testa se a rubrica 108 está vazia (sem lançamento)>

se VERDADEIRO: (RI57=0) <desvia o fluxo para o conector 1 (um)>.

se FALSO: <houve lançamento: onde?>

<testa se o campo Valor (RI0055) da rubrica 108 recebeu lançamento>

se VERDADEIRO: (RI55<>0)<atribui os campos de Referência e Valor da rubrica

nela mesma para forçar a acumulação nas bases>

<desvia o fluxo para o conector 1 (um)>

se FALSO: <segue o fluxo até o final>.

<conector 1 (um): encerra>

<fim>

Page 10: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

10

Esta técnica é útil quando o fluxo contém um conjunto de instruções de encerramento comuns

a todos os passos, que devem ser executadas antes do final da regra. Veja o comando

Conector a seguir.

SÍMBOLO CONECTOR.

Uma possível utilização do símbolo conector foi vista nos exemplos acima, para definir pontos

de encerramento do fluxo.

O símbolo conector é usado para indicar pontos do fluxograma para onde o fluxo deve ser

desviado. No ponto destino do desvio deve ser colocado o conector contendo em seu interior o

nome do “rótulo”, que é a identificação do ponto.

Na LDR(r), este desvio é comandado pela instrução de desvio incondicional “desvie para”.

Veja a ajuda da LDR(r) para mais detalhes.

Vamos analisar o exemplo da regra R108 modificada para salvar na Referência de uma rubrica

auxiliar um valor que indique qual foi a operação realizada pela regra. Vamos dizer que a

variável TPOP indica o tipo de operação:

TPOP=0 - sem lançamento

TPOP=1 - lançado apenas a referência, cálculo pela regra

TPOP=2 - lançado o valor, que é assumido pela regra.

Assim, para qualquer caso, a regra tem que passar por um ponto onde atribuir o valor da

variável TPOP a rubrica auxiliar escolhida. Digamos que seja a rubrica 700. Então, por

qualquer dos remos do fluxo executados, todos passarão pelo rótulo :SAIDA, onde o conteúdo

da variável TPOP(numérica) será atribuído à referência da Rubrica 700. Veja a regra e o fluxo

abaixo.

REGRA: R108 [Calc. Horas Noturnas]

/ cálculo das horas noturnas

/ modificada para exemplificar uso do desvio incondicional

/ agosto/2011 | Carravetta

se RI0057 = 0 / não há movimento

TPOP = 0

Desvie para :SAIDA: / desvia para a saída

senao

se RI0055 <> 0

#108R=#108R

#108V=#108V

TPOP = 2 / assume valor informado

Desvie para :SAIDA: / desvia para a saída

fim

fim

se RI0057 = 1 / gerado pelo sistema (horário)

#108R = mult(#108R ; RI0051)

senao

Page 11: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

11

#108R=#108R

fim

V1=mult(#611V ; 0,20)

#108V = mult( #108R ; V1)

:SAIDA:

#700R = TPOP / salva o tipo de processamento realizado

Fluxograma modificado para mostrar o uso do comando Desvio e Conector rótulo.

CONECTOR DE PÁGINA

O conector de página é usado para indicar a continuação do fluxograma em outra página. Só

faz sentido em fluxos muito extensos, que podem ocupar várias folhas de papel. Está sendo

Page 12: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

12

mostrado aqui apenas para efeito de apresentação e conhecimento por parte do consultor. Na

prática, se um fluxograma de uma regra ocupar várias páginas desconfie: alguma coisa não

está bem definida ou o problema não está bem entendido. As regras devem ser pequenas e

não ultrapassam o equivalente a duas folhas de ofício.

SÍMBOLO DE AÇÃO

É o símbolo mais usado em fluxograma, juntamente com o de decisão. Cada retângulo

representa uma ou mais ações (comandos) que devem ser executados. Tipicamente, os

comandos colocados num retângulo são a atribuição de valores em variáveis, registradores

ou rubricas.

Quando se quiser representar um bloco de comandos, usa-se apenas um retângulo grande e

se coloca todos os comandos em seu interior.

Este símbolo aparece bem nos exemplos da regra R108 mostrados nas explanações dos

símbolos precedentes.

SÍMBOLO DE PROCEDIMENTO

Este símbolo representa a chamada de uma função ou de uma regra. No caso da LDR®, este

símbolo pode ser usado para representar no fluxograma a chamada de qualquer das funções

integrantes da linguagem (chama-se de funções built-in).

Um caso particular de representação por este símbolo é o comando EXECUTE que invoca a

execução de uma regra independente. Consulte a ajuda para maiores detalhes deste comando.

REGRA: R117 [Calcula Ad. Déc. Terceiro Sal.]

/calcula adiant. 13 Salário

se RI0032 = 0 / se não houverem avos 13o.

Pare

fim

/ apuração da méd. de comissão

D0=CalcData ( RI0029 ; -1 ; "m" ) / competência anterior

/ calcula média dos últimos 6 meses da rubrica 137 (valor) sem correção

/ considerando data de admissão e gerando memória das médias

V0=CalcMedia ( 137; 1 ; " " ; 0 ; D0 ; 6 ; 6 ; 1 ; 1 )

Page 13: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

13

V1=soma(V0; #640V)

V2=mult(V1 ; 0,5)

V3=divide( V2 ; 12)

V4=mult(V3 ; RI0032)

/ busca adtos. já concedidos

V5=ParteData(RI0029 ; "a")

D1=MontaData ( 01 ; 01 ; V5 ) / monta início do ano corrente

V6=CalcMedia (211; 1; " " ; 1; D1; 11; 1; 0; 0) / busca adtos.

V7=CalcMedia (212; 1; " " ; 1; D1; 11; 1; 0; 0)

V8=CalcMedia (117; 1; " " ; 1; D1; 11; 1; 0; 0)

V6=soma(V6; V7)

V6=soma(V6; V8)

/==========

#696V=V6 / demonstr. adtos. concedidos

/==========

se V4 > V6

V9=subtrai(V4 ; V6)

senao

V9=0

fim

#117R=RI0032

#117V=V9

Abaixo está a representação da parte inicial da regra em fluxograma

Page 14: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

14

SÍMBOLO DE DECISÃO

Este o mais importante e mais usado símbolo de um fluxograma e corresponde, na mesma

proporção, ao comando mais usado nas regras, pois representa a tomada de decisão. Este

símbolo é chamado também de desvio condicional (pois representa um desvio no fluxo

baseado na avaliação de uma condição).

A maior parte do trabalho das regras é testar o conteúdo de um dado e tomar uma decisão

sobre que tipo de cálculo ou operação deve ser realizado.

Uma condição é uma expressão que, ao ser avaliada (resolvida), retorna sempre um valor

VERDADEIRO ou FALSO. Em face deste retorno, o fluxo de execução segue um caminho ou

outro (por isso, se diz condicional).

A regra R108 mostra várias vezes esta estrutura. Vamos examinar em detalhes e de forma

comparativa o fluxo e o comando correspondente.

se RI0057 = 0 / “S” não há movimento

Pare

Senão / “N”

se RI0055 <> 0

#108R=#108R / “S” bloco

#108V=#108V

Pare / o valor foi informado

Fim / “N” senão implícito

fim

A condição RI57=0? é avaliada. Se for verdadeira o fluxo segue o ramo “S” (VERDADEIRO) e

encontra o comando pare e encerra. Se a condição for falsa, o fluxo sai pelo ramo “N” (FALSO)

e executa o próximo comando SE...SENAO. Neste comando, a condição é RI55<>0? Se for

verdade, o fluxo segue pelo ramo “S” e executa o bloco de comandos de atribuição e o

comando pare e encerra aí o fluxo. Se for falso, segue pelo ramo “N”, que no caso é vazio (ou

seja, não tem comandos) e representa o fluxo principal. Na regra, em LDR® à direita, o fluxo

segue no próximo comando após a segunda palavra fim, que fecha o primeiro comando se. Na

LDR, cada comando se deve ter o seu encerramento marcado pela palavra fim.

Page 15: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

15

/ gerado pelo sistema (horário)

se RI0057 = 1

#108R = mult(#108R ; RI0051)

senao

#108R=#108R

fim

V1=mult(#611V ; 0,20)

#108V = mult( #108R ; V1)

No exemplo acima, a condição a ser avaliada é RI57=1? Se for verdade, o fluxo segue o ramo

“S” e é feita a atribuição na referência da rubrica 108 e depois desvia para o comando no

ponto A (esse ponto está indicado apenas para fins didáticos, não é um rótulo). Se a condição

resultar falso, sai pelo ramo “N” e executa a atribuição da referência da rubrica 108 nela

mesma (apenas para acumular nas bases) e segue o fluxo. Veja que depois desse comando, o

fluxo segue nos comandos seguintes, a partir do ponto A.

Comparando com a LDR®, à direita, o ponto A é representado pela palavra fim do comando

se, pois a execução da regra segue na atribuição V1 = mult(...).

Podem ser colocadas várias decisões aninhadas umas dentro das outras. É óbvio que isto

aumenta a complexidade do fluxo, diminui a clareza, dificultando a sua compreensão.

SÍMBOLO SELEÇÃO MULTIPLA

Este símbolo é uma construção particular para a LDR® e representa o comando de seleção

múltipla CASO...SEJA. Sua função é simplificar os testes de uma condição quando uma

estrutura de dados pode apresentar vários diferentes conteúdos. Este comando evita o uso de

dezenas de comandos de decisão, que tornaria o código muito confuso.

A condição de base (CASO) é colocada no losango. Para cada possível condição é inserido o

símbolo triângulo (SEJA): se resultar verdadeiro, os comandos são executados até encontrar a

próxima condição ou o fim. O conector implícito indica o ponto onde segue o fluxo principal.

Note que apenas uma condição pode ser verdade ou nenhuma. Se nenhuma condição for

satisfeita o fluxo segue a partir do conector implícito.

Page 16: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

16

A regra R103 do HUMANUS® exibe o uso desta construção.

REGRA: R103 [Calc. Horas com S.H. Composto]

/ Horas com base no salário-hora composto

se RI0057 = 0 / não há movimento

Pare

senao

se RI0055 <> 0

Caso RI0056

Seja = 103 :

#103R=#103R

#103V=#103V

Seja = 104 :

#104R=#104R

#104V=#104V

Seja = 105 :

#105R=#105R

#105V=#105V

Seja = 445 :

#445R=#445R

#445V=#445V

Seja = 446 :

#446R=#446R

#446V=#446V

Fim

Pare / o valor foi informado

fim

fim

Caso RI0056

Seja = 103 : / 50 %

V1 = mult( #103R ; 1,50)

#103V = mult( V1 ; #610V)

#103R=#103R

Seja = 104 : / 80 %

V1 = mult( #104R ; 1,80)

#104V = mult(V1 ; #610V)

#104R=#104R

Seja = 105 : / 100 %

V1 = mult( #105R ; 2,00)

#105V = mult(V1 ; #610V)

#105R=#105R

Seja = 445 : / faltas

#445V = mult(#445R ; #610V)

#445R=#445R

Seja = 446 : / faltas abonadas

#446V = mult(#446R ; #610V)

#446R=#446R

Fim

O fluxograma parcial da regra R103 ilustra o uso do símbolo.

Page 17: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

17

SÍMBOLO DE SELEÇÃO EM LISTA

A exemplo do comando CASO...SEJA, este símbolo é uma construção particular para a LDR® e

não é encontrado no conjunto de símbolos de fluxogramas tradicionais. A seleção em lista

(EXEC SE) também visa a facilitar a execução de um bloco de comandos usando apenas uma

condição, no caso testando se o conteúdo de um dado está contido numa lista de constantes:

se estiver, os comandos do bloco são executados, caso contrário o fluxo desvia para o primeiro

Page 18: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

18

comando após o bloco ou encerra.

A regra R118 usa este comando para selecionar a condição de parada da regra.

REGRA: R118 [Calc. Décimo Terceiro]

/Calcula 13 salário

se RI0032 = 0 / se não houverem avos 13o.

Pare

fim

se RI0039 = 3 / rescisão

Exec Se RI0045 Em ["01"; "13"] / causas sem 13o. salário

Pare

fim

fim

/ apuração da méd. de comissão

D0=CalcData ( RI0029 ; -1 ; "m" ) / competência anterior

/ calcula média dos últimos 6 meses da rubrica 137 (valor) sem correção

/ considerando data de admissão e gerando memória das médias

V0=CalcMedia ( 137; 1 ; " " ; 0 ; D0 ; 6 ; 6 ; 1 ; 1 )

VA=ParteData(RI0029 ; "a")

D1=MontaData ( 01 ; 01 ; VA )

/ apuração méd. rem. var.para férias baseada em horas

V1=CalcMedia ( 103; 0 ; " " ; 1 ; D1 ; 12 ; 12 ; 1 ; 1 )

V1=mult(V1; 1,5)

V2=CalcMedia ( 104; 0 ; " " ; 1 ; D1 ; 12 ; 12 ; 1 ; 1 )

V2=mult(V2; 1,8)

V3=CalcMedia ( 105; 0 ; " " ; 1 ; D1 ; 12 ; 12 ; 1 ; 1 )

V3=mult(V3; 2,0)

V1=soma(V1 ; V2)

V1=soma(V1 ; V3)

SH=divide(V0 ; RI0002)

SH=Soma(SH ; #609V)

V4=Mult(V1 ; SH) / méd. em horas, transf. em valor

V5=soma(V0; V4) / rem. variável

V6=soma(V5; #640V)

V6=divide( V6 ; 12) / valor de um avo

/ tratamento 13 sobre av. prévio

se RI0039 <> 3 / não é rescisão

#118R=RI0032

#118V=mult(V6 ; RI0032)

senao

se RI0044 = 0 / aviso não é indenizado

#118R=RI0032

#118V=mult(V6 ; RI0032)

senao

V1 = V6

V2 = {RI0043 \ 30} / calcula nro. de avos indenizados

V3 = Arredonda(2 ; V2) / trunca parte fracionária

V2={V2 - V3} / preserva fração

se V2 >= 0,50 / se fração maior ou igual a 0,5 soma mais 1 avo

V3 = {V3 + 1}

fim

#140R=V3

#140V={V1 * V3} / cálculo 13. indenizado

se RI0032 = 1

#118R=0

Page 19: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

19

#118V=0

senao

#118R=subtrai(RI0032 ; V3)

#118V={V1 * #118R}

fim

fim

fim

O fluxograma parcial da regra R118 abaixo exibe a construção do símbolo para o comando

EXEC SE.

O conteúdo do registrador 45 é comparado com cada constante da lista: se for igual a um

deles, o comando no bloco é executado (no caso, o comando pare encerra a regra).

Em todos os comandos (CASO...SEJA e EXEC SE) o tipo do dado sendo testado deve ser

compatível com a expressão da condição. Se não for, um erro de compilação será lançado pelo

tradutor da LDR®.

Page 20: FLUXOGRAMA PARA CONSULTORES - humanus.dyndns …humanus.dyndns-home.com/wiki/wp-content/uploads/2016/12/manual... · Nas páginas seguintes descreveremos os diversos símbolos gráficos

HUMANUS® - MANUAL DE FLUXOGRAMA

20

© 2011 by CR Sistemas Ltda.

1ª. Edição, agosto de 2011.

Material elaborado por Carlos Alberto Carravetta

Todos os direitos reservados. Este material não pode ser copiado, reproduzido ou distribuído,

por quaisquer meios, sem prévia autorização escrita de CR Sistemas Ltda.