Ir ao conteúdo
  • Cadastre-se
baranored

Problema com algoritmo

Recommended Posts

Galera , preciso de ajuda para completar esse algoritmo , ou refaze-lo se necessario.
Se puderem ajudar eu agradeço...


esse é o exercício que preciso fazer:

Você foi contratado para escrever um algoritmo para um investidor da bolsa de valores. Este investidor 
acredita que 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. Da mesma forma, se o preço da ação desce três ou mais dias seguidos e no dia 
seguinte sobe, então ele acredita que este é um bom dia para comprar a ação. 

Os dados que o seu algoritmo deve ler são os seguintes: 
- Primeiro, um valor inteiro N com a quantidade de preços de ações a serem lidos; 
- Em seguida, N valores contendo os preços das ações em cada um dos dias. 

O algoritmo deve imprimir na saída as palavras Comprar ou Vender, caso seja dia de compra ou venda. 
Caso não seja dia de venda ou compra o programa não imprime nada. 

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. 

A seguir mostramos um exemplo de como deve ser feita a entrada e saída de dados. 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


 

var   Dia: vetor [1..15] de inteiro   ValorAnterior: real   PrecoAcao: real   i, j: inteiro      inicio      para i de 1 ate 5 faca           escreval("informe o dia: ")           leia(Dia[i])      escreval("Digite o preço:")           leia(PrecoAcao)      fimpara            leia(ValorAnterior)            ValorAnterior <- ValorAnterior - PrecoAcao                 se PrecoAcao > ValorAnterior então              escreva ("Compre")           senao              escreva("Vender")           fimse
Editado por baranored

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

Sei já passou alguns dias, mas talvez seja útil.


O enunciado é claro:
 

Os dados que o seu algoritmo deve ler são os seguintes: 
- Primeiro, um valor inteiro N com a quantidade de preços de ações a serem lidos; 
- Em seguida, N valores contendo os preços das ações em cada um dos dias.

 
Ou seja, tem que ler primeiro N (uma variável que vai receber a quantidade de preços, ou seja, de dias) e após ler esses preços. Esse preços NÃO PRECISAM ser armazenados...!!!
 
A única coisa que importa é saber de SUBIU ou DESCEU em relação ao dia anterior... daí, conta quantas vezes seguidas ocorreu o mesmo tipo de evento (se subiu anteriormente e tá subindo agora, ou se desceu anteriormente e tá descendo novamente)... se subir 3 vezes seguidas, ou descer 3 vezes seguidas, ao inverter, faz o que tem que fazer para cada caso. (vende ou comprar).


Ex: (aproveitando o já postado)
 

Quantidade de dias: 15Dia 1: 26.375   //primeiro dia, não tem dia anterior, logo não tem com quem compararDia 2: 25.5     //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda  = 1Dia 3: 25.125   //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda  = 2Dia 4: 25       //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda  = 3, a partir daqui, quando subir, COMPRA!!!Dia 5: 25.25    //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 1, COMPRA!ComprarDia 6: 27.125   //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 2Dia 7: 28.25    //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 3, a partir daqui, quando descer, VENDE!!!Dia 8: 26       //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda  = 1, VENDE!VenderDia 9: 25.5     //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda  = 2Dia 10: 25      //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda  = 3, a partir daqui, quando subir, COMPRA!!!Dia 11: 25.125  //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 1, COMPRA!ComprarDia 12: 25.25   //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 2Dia 13: 26.375  //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 3, a partir daqui, quando descer, VENDE!!! Dia 14: 25.5    //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 1, VENDE!VenderDia 15: 25.5    //em relação ao DiaAnterior, está IGUAL, logo, temos DiasDeQueda = 1

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×