|
Just prove what you say and I'll look for a maths course...
|
|
|
|
|
>(1 - (K11 - L11)/K11) * 100
> = (1 - (K11 / K11) + (L11 / K11)) * 100
Where did the + came from ?
(K11 - L11)/K11 is the same as (K11 / K11 ) - (L11 / K11)
Besides, the parentheses signifies that it should be evaluated first.
the formula is evaluated to;
K11 - L11 then divided by K11, subtract the answer from 1 then multiplied by 100 to represent as a percentage.
This is a valid income formula.
if L11 = 100, K11 = 200, this will result into a 50% answer.
|
|
|
|
|
Two minuses make a plus. So yes, as you got, (k-l)/k is k/k-l/k. But the expression is 1-(k-l)/k = 1-(k/k-l/k) = 1-k/k+l/k. The post you were replying to brings the fraction inside and resolves the brackets in one step. (As described earlier, it then further simplifies 1-1+l/k = l/k.)
|
|
|
|
|
(1 - (K11 - L11)/K11) * 100
= (1 - ((K11/K11) - (L11/K11))) * 100
= (1 - (1 - (L11 / K11))) * 100
= (1 - 1 + (L11 / K11)) * 100
= (L11 / K11) * 100
Did you got it ?
|
|
|
|
|
Whoever set up the spreadsheet originally simply plugged in standard accounting formulas without performing any simplification.
Gross Profit Margin is defined as the difference between revenue and cost of goods sold, divided by the revenue:
GPM = (Revenue - CoGS)/Revenue
The equation in the spreadsheet you were looking at was looking at (effectively):
(1 - GPM)*100
True, it could have been simplified, but there are (at times) reasons for not performing every possible simplification. In this case, to someone who "thinks" in terms of CoGS, Revenue, Margins, etc. the equation given makes a lot of sense. To a programmer (or a mathmatician) it is not very efficient, but to the accountant it provides self-documenting code. This is especially important in Excel, where you can't add comments to the code (cell equation).
It appears that they were trying to calculate the proportion of each dollar of revenue that the company spent as expenses.
|
|
|
|
|
|
Great. Pushing that button has apparently affected my hearing. Well, they've always said the internet was a dangerous place.
|
|
|
|
|
FTFY.
Driven to the ARMs by x86.
|
|
|
|
|
AspDotNetDev wrote: FTFY.
Did you mean:
1.fixed that for you.
2.f*ck this f*ck you
3.For the F*ck, YES!
Whatever it was,
(no pun intended)
Greetings - Jacek
modified on Tuesday, July 5, 2011 5:26 PM
|
|
|
|
|
Number 1. Do you realize yet the typo I was correcting? It's the daily "WTF", not the daily "WPF".
Driven to the ARMs by x86.
|
|
|
|
|
Ah. I am not really into all these shorthands. Thanks. By the way, these two acronyms are equivalent for me (WPF and WTF).
Greetings - Jacek
|
|
|
|
|
Jacek Gajek wrote: these two acronyms are equivalent for me
To me they are Windows Presentation Foundation and What The F***. So I guess they are the same to me too.
Driven to the ARMs by x86.
|
|
|
|
|
AspDotNetDev wrote: Windows Presentation Foundation and What The F***
This is what I meant... C'mon, WTF = Worse Than Failure, don't be oh, rude, oh.
Greetings - Jacek
|
|
|
|
|
Ah yes, like "Read The Free Manual".
Driven to the ARMs by x86.
|
|
|
|
|
Hehe, not heard that one before. RTFM has gone out of fashion though with the elimination of actual manuals to refer to.
|
|
|
|
|
It's funny that you used the wrong term ("shorthands"), followed by the correct term ("acronym"). You are consistent in your inconsistencies.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
John Simmons / outlaw programmer wrote: you used the wrong term ("shorthands"),
How should it go then? shortcuts? shortlegs?
Greetings - Jacek
|
|
|
|
|
|
I was about to delete this, but might as well post it here first.
I'm making pac-man.
The Enemy is the "ghost", Hero is "pacman".
When the value of the map[x,y] = 1 it means there's a wall.
Worst thing is that the ghost is still going through walls.
Lesson for today: don't be lazy and design a decent recursive algorithm
if (Math.Abs(Enemy.X - Hero.X) > Math.Abs(Enemy.Y - Hero.Y))
{
if ((Enemy.X - Hero.X) > 0)
{
if ((map[Enemy.X - 1,Enemy.Y]) != 1)
{
Enemy.X -= 1;
}
else
{
if ((Enemy.Y - Hero.Y) > 0)
{
Enemy.Y -= 1;
}
else Enemy.Y += 1;
}
}
else
{
if ((map[Enemy.X + 1,Enemy.Y] != 1))
{
Enemy.X += 1;
}
else
{
if ((Enemy.Y - Hero.Y) > 0)
{
Enemy.Y -= 1;
}
else Enemy.Y += 1;
}
}
}
else
{
if ((Enemy.Y - Hero.Y) > 0)
{
if ((Enemy.Y - 1) != 1)
{
Enemy.Y -= 1;
}
else
{
if ((Enemy.X - Hero.X) > 0)
{
Enemy.X -= 1;
}
else Enemy.X += 1;
}
}
else
{
if ((Enemy.Y + 1 != 1))
{
Enemy.Y += 1;
}
else
{
if ((Enemy.X - Hero.X) > 0)
{
Enemy.X -= 1;
}
else Enemy.X += 1;
}
}
Giraffes are not real.
|
|
|
|
|
Probility of making a typo in this kind of code is equal to 1. Looking forward to see an updated algorithm in a "Clever Code" forum
I'd try making a 3x3 stochastic matrix which probabilities would depend on 1) player's location (let's say 0.9 xor 0.1), 2) validness of a move through wall (0 xor not-0)
Greetings - Jacek
modified on Monday, July 4, 2011 8:56 AM
|
|
|
|
|
Thanks, for the advice... it almost makes too much sense. Why didn't I think of that?
I'm never going to put my own code in 'clever code', seriously if I ever write something clever it'll be because I stole the idea.
Right now I got what it supposed to be doing, it's exactly the same idea but it has a better structure. I use one "if block" to gather information where the walls are, put the result in a byte and run it through a "select" block where every "case" evaluates the direction of the player. It's more readable and a lot easier (as in, not impossible) to comment on.
I'm getting more ambitious now and I'd like to try some ideas for more complex behavior, based on your suggestion. It also needs to be able to run through any given maze, right now I'm 'cheating' because the navigation is tailored to the only maze in the game.
The project started as a break from the boring database stuff at the job training center, so I didn't have much time to work on it. The rest of the game is only about 200 lines of code and it didn't took long to write, but to get decent enemies working proves to be quite a challenge.
Giraffes are not real.
|
|
|
|
|
Found myself coding something like the following just last week...
Dim bool as Boolean = False
If someExpression Then
bool = True
Else
bool = False
End If
If bool Then
Return True
Else
Return False
End If
Luckily I noticed just in time and simply Returned someExpression
Some days its better to just stay in bed...
It's an OO world.
|
|
|
|
|
Hey... it's ok to learn
(yes|no|maybe)*
|
|
|
|
|
Not at this level
It's an OO world.
|
|
|
|
|
At every level
(yes|no|maybe)*
|
|
|
|