Jump to content
Fórum Script Brasil
  • 0

[Problema] Comissão sobre valor Líquido


Question

Olá a todos.

Estava fazendo um trabalho para o curso referente a corretora de seguros onde trabalho.

Porém após o término percebi um grave erro e não estou conseguindo ideias para resolver.

SEGUINTE:

* O preço de um seguro vem de: Valor Líquido + 7.38% de IOF

* Porém, Este valor líquido é o valor já adicionado a comissão.

Exemplo:

Valor Líquido(15% de comissão)= 1254.80

IOF(7.38%)= 92.60

Valor Total= 1347.41

* Gostaria de fazer que o valor líquido variasse ao modo que altero a comissao.

Tentei de toda forma e não consigo.

Segue

_____________________________________________________

Program precodeseguro;
uses
SysUtils, Crt;
var
vf, vp, tj, t, p, p1, i, c, co : Real;
Const
iof=(7.38/100);
Begin
ClrScr;
p1 := 0;
WriteLn ('Calculo de IOF e parcelas com Juros ');
WriteLn;
Write ('Valor Liquido.: '); ReadLn (vp);
Write ('Taxa de Juros.: '); ReadLn (tj);
WriteLn ('IOF...........: 7.38 ');
Write ('Parcelas......: '); ReadLn (p);
Write ('Comissao......: '); ReadLn ©;
t := tj/100; // Taxa em porcento
co := vp*(c/100);
if p = 1 then // 1 parcela não tem juros
vf := vp*(1+iof*1);
p1 := vf / p;
if p = 2 then // 2 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 3 then // 3 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 4 then // 4 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 5 then // 5 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 6 then // 6 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 7 then // 7 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 8 then // 8 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
if p = 9 then // 9 parcelas
begin
vf := vp*(1+iof*1);
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
vf := vf +(vf*tj)/100;
p1 := vf / p;
end;
WriteLn;
WriteLn ('Valor com juros:',vf:8:2);
WriteLn ('Valor das parcelas:',p:2:0,'X',p1:8:2);
WriteLn ('Comissao:',co:4:2);
ReadLn;
End.
Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

* Gostaria de fazer que o valor líquido variasse ao modo que altero a comissao.

não entendi a sua duvida

Valor Líquido(15% de comissão) = 1254.80

1254.80 / (15/100) = 188.22 // para saber o valor da comissão ( 15% ) embutido no valor total

1254.80 - 188.22 = 1066.58 // valor liquido sem a comissão

IOF(7.38%) = 92.60

Valor Total = 1347.41

OBS: se voce altera o percentual da comissão sobre o valor liquido, somente o valor da comissão é que altera

o valor total vai permancer sendo o mesmo

exemplo

Valor Líquido(20% de comissão ) = 1254.80

1254.80 / (20/100) = 250.96 // para saber o valor da comissão ( 20% ) embutido no valor total

1254.80 - 250.96 = 1003.84 // valor liquido sem a comissão

IOF(7.38%) = 92.60

Valor Total = 1347.41

* Porém, Este valor líquido é o valor já adicionado a comissão.

se o valor liquido é o valor já adicionado a comissão, como voce quer alterar o valor liquido ?

o certo então seria, colocar o valor liquido sem a comissão e depois embutir o percentual da comissão ao

valor liquido

abraço

Link to post
Share on other sites
  • 0

É que as companhias mostram os preços assim:

25znibo.jpg

Eu gostaria que eu colocando o valor liquido e a comissão desejada,

Informe o valor líquido Real ( sem a comissão),

E como neste caso se eu aumentar a comissão, aumente o valor líquido.

Usando esta imagem como Exemplo:

Informe o Valor Líquido: 1264.62

Informe a comissão:15

Ai aparecer o valor Líquido REAL= 1074.27

Ai após isto

Valor LIQUIDO REAL= (já vai aparecer) 1074.27

Informe Nova % de Comissão:20

Novo Valor líquido= 1289.91

Depois

Informe Taxa de Juros Composto Boleto: 1.72

Informe qtde parcelas: 3

Mostrar:

Valor Total do Seguro(+7.38% IOF): (1289.91 + 7.38/100) = 1385.10

Valor Total em 3 parcelas no Boleto: 1432.59

valor de cada parcela: 3 x 477.53

comissão recebida: 215.64

---------------

Acho que vou desistir deste trabalho, estou me enrolando cada vez mais

Link to post
Share on other sites
  • 0

veja se é isso que esta querendo

Program precodeseguro;

{$APPTYPE CONSOLE}

uses
  SysUtils;//, Crt;
var
  vf, vp, tj, t, p, p1, i, c, co : Real;
Const
  iof=(7.38/100);
Begin
  //ClrScr;
  p1 := 0;
  WriteLn ('Calculo de IOF e parcelas com Juros ');
  WriteLn;
  Write ('Valor Liquido.: '); ReadLn (vp);
  Write ('Taxa de Juros.: '); ReadLn (tj);
  WriteLn ('IOF...........: 7.38 ');
  Write ('Parcelas......: '); ReadLn (p);
  Write ('Comissao......: '); ReadLn (co);
  t := tj/100; // Taxa em porcento
  co := vp*(co/100); // calcula o valor da comissão
 
  if p = 1 then   // 1 parcela não tem juros
     vf := vp*(1+iof*1);
     p1 := vf / p;

  if p = 2 then  // 2 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;

  if p = 3 then  // 3 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;

  if p = 4 then   // 4 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;
     
  if p = 5 then   // 5 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;
     
  if p = 6 then   // 6 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;

  if p = 7 then   // 7 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;
     
  if p = 8 then   // 8 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;

  if p = 9 then   // 9 parcelas
     begin
       vf := vp*(1+iof*1);
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       vf := vf +(vf*tj)/100;
       p1 := vf / p;
     end;

  WriteLn;
  WriteLn ('Valor com juros:',vf:8:2);
  WriteLn ('Valor das parcelas:',p:2:0,'X',p1:8:2);
  WriteLn ('Comissao:',co:4:2);  /// mostra o valor da comissão
  WriteLn ('Valor Total:',vf+co:4:2);  ///  mostra o valor total com a comissão
  ReadLn;
End.

abraço

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148894
    • Total Posts
      644915
×
×
  • Create New...