Ir ao conteúdo
  • Cadastre-se

Problema com algoritmo


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • Membro VIP

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...