I'm posting here because between the time I started writing and the time I wanted to post my answer, the question is no longer available (may be a network problem, a withdrawn question, don't know)


The first problem is that you write ASAP in the title of your question, very uncool.

Another problem is that you use "else if" instead of elif, with "else if" you need one "end if" for each if but with elif you only need one "end if" to close the whole clause. Another problem, if I'm seeing correctly, is the value of the ranges of the picks, you have 0.01 < 0.85 but 0.85 > 0.07, so maybe something like the values below will work better, yet another problem is that the word point is reserved, you can't use it, so you may want to use mypoint instead, there may be other issues but I stopped here:


for n from 0 to N do
  pick := r();
  if pick < 0.01 then x[n+1] := 0;
    y[n+1] := 0.16*y[n];
  elif pick < 0.05 then x[n+1] := 0.85*x[n] + 0.04*y[n] + 0;
    y[n+1] := -0.04*x[n] + 0.85*y[n] + 1.6;
  elif pick < 0.07 then x[n+1] := 0.2*x[n] - 0.26*y[n] + 0;
   y[n+1] := 0.23*x[n] + 0.22*y[n] + 1.6;
  else x[n+1] := -0.15*x[n] + 0.28*y[n] + 0;
  y[n+1] := 0.26*x[n] + 0.24*y[n] + 0.44;
  end if;
end do:

Please Wait...