Re: Can you tell me what is wrong with this program
- To: mathgroup at smc.vnet.net
- Subject: [mg110416] Re: Can you tell me what is wrong with this program
- From: satya <ktsatyajit at gmail.com>
- Date: Thu, 17 Jun 2010 02:03:48 -0400 (EDT)
- References: <hv3nf8$ov$1@smc.vnet.net> <hv76ir$k1f$1@smc.vnet.net>
On Jun 15, 11:28 am, "Sjoerd C. de Vries" <sjoerd.c.devr... at gmail.com>
wrote:
> Satya,
>
> Before I start pointing out the many errors in your code, may I invite
> you to actually read the manual (at least the introductory parts)
> before asking questions? It's quite obvious that you haven't done so.
>
> The code you have written is far from Mathematica syntax, it's more
> like C with a few square brackets thrown in for good measures.
>
> - All built-in Mathematica functions should start with a capital
> letter. It's best, though not required, to start your own variables
> with a lowercase letter
> - the For syntax you use is a mixture of C and Mathematica. The body
> should be placed within the function, not outside. Check the doc page.
> - C is a reserved word in Mathematica
> - Abs needs square brackets
> - if and print should be capitalized
> - if you use Print this way everything will be run together
> - if [A > 0] is not the correct mathematica syntax. Should be
> If[condition , (* true branch *) , (* false branch *)]. The code that
> should be conditionally executed should be in the IF function not
> outside of it.
> - the two If's with K1 in them should be separated by a ; otherwise
> it's a multiplication
>
> Cheers -- Sjoerd
>
> On Jun 14, 12:52 am, satya <ktsatya... at gmail.com> wrote:
>
>
>
> > c = 0;
> > m = 0;
> > z = 0;
> > count = 0;
> > for [lc = 0, lc < 8, lc++]
> > {
> > lc = lc + 1;
> > for[lm = -4, lm < 8, lm++]
> > {
> > lm = lm + 1;
> > for [lz = -4, lz < 8, lz++]
> > {
> > lz = lz + 1;
> > A = (2*(lc - lm)*(lc - lm)) + 4*lz*lz;
> > B = -2*(lc + lm)*lz;
> > C = 4*lc*lm;
> > if [A > 0]
> > if[(B*B - A*C) > 0]
> > {
> > K1 = (B + sqrt (B*B - A*E))/A;
> > K2 = (B - sqrt (B*B - A*E))/A;
> > e = abs (lc);
> > m = abs (lm);
> > z = abs (lz);
> > L = c + m + z;
> > if [K1 <= 0.707 && K1 > 0 , print[n, L, lc, lm , =
=
> lz, K1]]
> > if [K2 <= 0.707 && K1 > 0 , print[n, L, lc, lm=
,=
> lz, K2]]
>
> > }
>
> > }
> > }
> > }
>
> > I get the following error
>
> > Out[5]= for[0, True, 0]
>
> > During evaluation of In[1]:= Set::wrsym: Symbol C is Protected. >>
>
> > Out[6]= {{{{for[-4, True, -4]^2 if[
> > True] if[-48 C > 0] if[-E sqrt <= 0.707 && -E sqrt > 0,
> > print[n, -4 abs, 2, -2, -2, -E sqrt]] if[
> > E sqrt <= 0.707 && -E sqrt > 0,
> > print[n, -4 abs, 2, -2, -2, E sqrt]]}}}}- Hide quoted text =
-
>
> - Show quoted text -
Thanks to all of you, sorry for the hurried post, I was desparately
trying do something and did not even seriously bother to make same
simple corrections when I imported the code which i wrote originally
for C.