<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>Dear Tim,</p>
<p>thanks for your answer. I have already the trouble of handling the code from last autum. In the moment I have written my exam, my boss has the trouble all to himself.</p>
<p>I will still use your advice. Unfortuanlly I had to learn in a few weeks coding on myself. It's surely easy to see by reading the code.</p>
<p>Best regards<br />Frieder </p>
<p> </p>
<p>Am 2017-05-12 18:50, schrieb Tim Wescott:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<pre>Jumps are generally bad style; I don't know if Scilab even supports
them. If it does I advise you not to use them for something this
trivial (error handling is the only place I've seen them seriously
recommended, and even there they can be very problematical -- it's why
people invented exceptions).
For something that small the cost in making your code into spaghetti is
larger than the cost of just doing it.
The two ways that software professionals would deal with this are to
either get rid of 100 as a "magic number" and assign its value to a
variable (i.e., before the "for" statement assign PowerIncrement =
100), or rearrange the conditional so that the P = P + PowerIncrement
line is only encountered once.
Or do both.
Certainly if you use the existing structure and if the two lines that
increment P are supposed to do the same thing always, then using a
named variable is a Good Thing -- that means that at some later date,
when some poor ignorant fool reads your code they don't have to wonder
if the "P+100" in one spot means the same thing as the "P+100" in
another, AND they don't run the risk of changing the (hopefully proper)
increment in one place but not another.
And note, based on my experience writing software for the last 40
years, that often the poor ignorant fool who has to maintain your
software is you, months or years down the road -- so it pays to make
your code readable. Nothing makes you feel dumber than not being able
to understand your own code, because no matter which way the blame
flies, it always lands squarely on you.
On Fri, 2017-05-12 at 11:15 +0200, Frieder Nikolaisen wrote:</pre>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%">Hello, another question to solve the locomotive stuff, giving you a example with the not implented code. I don't want to code the same stuff twice. Thats why I want to jump between lines of code. Is this possible and how? P = 200; DM = 1; for n = 1:10 if DM == 1 then if P > 100 then DM = 1 P = P - 60 disp('P bigger 100. DM = ' + string(DM)) else DM = 0 P = P + 100 //instead of writing P = P + 100, I would like ... disp('P smaller 100. DM = ' + string(DM)) end else // D == 0 if P > 100 then DM = 1 disp('P bigger 100. DM = ' + string(DM)) P = P - 30 else DM = 0 // ... to continue here disp('P smaller 100. DM = ' + string(DM)) P = P + 100 // to use this P = P + 100 end end disp(string(n) + ' ' + string(P)) end _______________________________________________ users mailing list <a href="mailto:users@lists.scilab.org">users@lists.scilab.org</a> <a href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a></blockquote>
</blockquote>
<p> </p>
<div> </div>
</body></html>