Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, pessoal.
Quem puder me apoiar, será de enorme valia.
possuo um execício para executar sobre algoritmo, porém, devido a minha inexperiência, gostaria de auxilio aos mais safos.
Preciso desenvolver o seguinte algoritmo:
- Se o preço de uma ação sobe três ou mais dias seguidos e desce no próximo dia, então este é um dia bom para vender a ação;
- Se o preço de uma ação desce três ou mais dias seguidos e sobe no próximo dia, então este é um dia bom para comprar a ação;
- O algoritmo deve imprimir na saída as palavras **Comprar **ou **Vender**, caso seja dia de compra ou venda;
- Considere que, no início do algoritmo, o investidor já possui uma quantidade qualquer de ações e, portanto, é possível vender ações antes de ter feito qualquer compra;
Abaixo, segue as entradas e saídas de dados desse algoritmo que preciso criar. Em negrito estão os valores fornecidos pelo usuário do algoritmo.
Quantidade de dias? 15
Dia 1? 26.375
Dia 2? 25.5
Dia 3? 25.125
Dia 4? 25
Dia 5? 25.25
Comprar
Dia 6? 27.125
Dia 7? 28.25
Dia 8? 26
Vender
Dia 9? 25.5
Dia 10? 25
Dia 11? 25.125
Comprar
Dia 12? 25.25 a
Dia 13? 26.375
Dia 14? 25.5
Vender
Dia 15? 25.5
A ajuda que preciso é apenas com o início desse algoritmo, ou seja, quem puder criar o início dessa execução até o dia o primeiro "comprar" irá me ajudar de mais, assim, eu continuo a executar.
Eu já fiz algumas buscas em sites para entender mais, mas a dificuldade está extrema.
Desde já, agradeço!
Certo. Muito Obrigado.
Mas hoje conseguimos uma "luz".
Vamos criar uma variável chamada "valorAnterior" para armazenar o valor anterior ao digitado pelo usuário. Também criaremos uma variável chamada "sequencia" do tipo inteiro para armazenar a sequência de subida ou decida.
Aí dentro do PARA eu faria mais ou menos assim:
valorAnterior <- valor
escreva("Valor: ")
leia(valor)
SE valor > valorAnterior ENTAO
SE sequencia <= -3 ENTAO
escrevas("Comprar")
sequencia <- 1
SENAO
sequencia <- sequencia + 1
FIMSE
SENAO SE valor < valorAnterior ENTAO
SE sequencia >= 3 ENTAO
escrevas("Vender")
sequencia <- -1
SENAO
sequencia <- sequencia - 1
FIMSE
FIMSE
Estamos vendo e testando, mas parece que vai sair.
À todos, meu muito obrigado!
Opa , eu também preciso fazer esse exercício , mas n estou conseguindo estruturar o meu algoritmo corretamente.
Se puderem me esclarecer certos pontos , ou me informarem o que preciso saber mais , agradeceria.
var
D: inteiro //total de dias
preco: real //valor das ações
precoAnterior: real //valor da ação anterior da indicada
sequencia: inteiro //valor da proxima ação indicada
precoAcao: real//valor da ação indica
inicio
escreva("digite a quantidade de dias")
leia(D)
para D <- 1 ate 15 faca
//tenho que enumerar os dias de 1 ate 5
precoAnterior <- precoAcao
//tenho que indicar os peços
para preco <- de 1 ate D faca
escreva("Digite o preço ")
leia(preco)
se preco > precoAnterior
escreva("Comprar", preco)
senao
escreva("vender", preco)
fimse
fimpara
Cara, primeiro você vai ter que montar um contexto, eu aconselho você definir limites para cada ação e flutuar aleatoriamente um numero delas para gerar uma espécie de "histórico local", ou seja, você define um numero aleatório de ações para um acionista e para cada ação você dá um histórico de preço também aleatório. Você pode fazer isso com classes de geração random dependendo da linguagem que você vai usar.
Depois você analisa os dados, o problema vai ser você flutuar em um intervalo pequeno para gerar uma coisa meio 'real' se entendi bem o problema.