[R-br] Uso de laços e while().
Michelle Bau Graczyk
mbgraczyk em gmail.com
Quinta Maio 12 10:20:33 BRT 2016
Caros, bom dia,
Estou com um problema de lógica de programação. O que eu esperava era o
seguinte: se ts[j]>4, eu abro uma operação e ela só para quando ts[j]<4.
Enquanto uma operação está aberta, não se pode abrir mais nenhuma. Para
isso eu tentei fazer de duas formas, usando e não usando o while, mas eu
não consegui.
Alguém teria alguma idéia sobre o que eu ando pensando errado?
Muito obrigada,
Michelle
Primeira opção:
> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)
> ts<-ts(v)
>
> for(j in 1:10){
+ if(ts[j]>4){
+ #vende
+ #compra
+ #compra
+ vc<-10*ts[j]
+ while(ts[j+1]>4) j=j+1
+ for(k in j+1:10){
+ if(ts[k]<4){
+ vc2<-7*ts[k]
+
+ }
+ }
+ }
+ else print("Não houve abertura de processo")
+ j=j+k
+ vc2
+ vc
+ }
[1] "Não houve abertura de processo"
[1] "Não houve abertura de processo"
[1] "Não houve abertura de processo"
Error in if (ts[k] < 4) { : valor ausente onde TRUE/FALSE necessário
> vc2
[1] 14
>
> vc
[1] 80
Segunda opção:
> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)
> ts<-ts(v)
>
> for(j in 1:10){
+ if(ts[j]>4){
+ #vende
+ #compra
+ #compra
+ vc<-10*ts[j]
+ for(k in j+1:10){
+ if(ts[k]<4){
+ vc2<-7*ts[k]
+
+ }
+ }
+ }
+ else print("Não houve abertura de processo")
+ j=j+k
+ vc2
+ vc
+ }
[1] "Não houve abertura de processo"
[1] "Não houve abertura de processo"
[1] "Não houve abertura de processo"
Error in if (ts[k] < 4) { : valor ausente onde TRUE/FALSE necessário
> vc2
[1] 14
>
> vc
[1] 80
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160512/6dcfe06d/attachment.html>
Mais detalhes sobre a lista de discussão R-br