• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

d10g0l1r1

Ajuda!!! - Simulação da Oscilação de um título na Bolsa de Valores

4 mensagens neste tópico

Este programa deve ler o valor inicial de um título numa bolsa de volores e depois fazer de forma aleatória 30 vezes um amuento ou diminuição de 0.01. É necessário usar funções e procedimentos.

Bem, estou a precisar de ajuda. Se alguém me pudesse corrigir o seguinte código ficaria muito agradecido:

program bolsa (input,output);
var
r:integer;
valorinicial:integer;
valorbolsa:real;
c:integer;

function naleatorio:integer;
begin
  randomize;
  r:=random(100)+1;
  naleatorio:=r;
end;

function repet(r:integer):real;
begin
  if (r>0) and (r<51) then
   repet:=0.01
  else
   if (r>51) and (r<101) then
    repet:=-0.01;
end;

procedure final;
begin
  for c:=1 to 30 do
   begin
    valorbolsa:=valorinicial+repet(naleatorio);
    writeln (valorbolsa:0:2);
   end;
end;

begin
naleatorio;
writeln ('Qual o valor inicial?');
readln (valorinicial);
final;
writeln (valorbolsa:0:2);
readln;
end.

Muito obrigado!!! Hasta :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para te ajudar, tens de dizer qual é o teu problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Epa o problema éque eu não consigo fazer aleatoriamente (30 vezes) osimulação do aumento ou diminuiçãodo tíyulo (em 0.01). Se copiarem o programa para pascal verão o problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Epa o problema éque eu não consigo fazer aleatoriamente (30 vezes) osimulação do aumento ou diminuiçãodo tíyulo (em 0.01). Se copiarem o programa para pascal verão o problema.

Não tenho Pascal instalado para testar, mas posso tentar ajudar.

Uma das primeiras coisas que vejo que devem ser eliminadas são as variáveis globais, isso é só corda para um tipo se enforcar, além de não permitir certos tipos de optimização por parte dos compiladores.

Depois, o teu problema é que não faz as 30 vezes ou não faz a oscilação?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora