# Tag Info

## Hot answers tagged procedural-programming

### How to pass variables by reference and by value

You asked for a general explanation instead of just focusing on specific application examples, so here it goes ... The concepts of "pass by reference" and "pass by value" that you ...
• 235k
Accepted

### An efficient way to translate a triple for-loop from Matlab to Mathematica

Okay, let's focus on this snippet: ...

### C++' "do ... while" loop equivalent in Mathematica

Version 13.1 introduced the function Until Until[test,body] evaluates body and then test, repetitively, until test first gives True.
• 68.7k

### All solutions that satisfy $x_{1}^{5}+x_{2}^{5}+x_{3}^{5}+x_{4}^{5}-x_{5}^{5}=0$

I am a bit surprised that not a Mathematica solution with a statement "I don't think Mathematica is suited for this kind of problem." is accepted. I do believe that Mathematica is well ...
• 18.7k

### How do I achive the function of Continue using Catch and Throw?

If you wrap the body of the loop with Catch, then any Throw will act as Continue: ...
• 70.7k
Accepted

### Improve speed with a double for loop

Even in MATLAB, this would not be good programming style because successive concatenation is awfully slow. (And for is slow, too.) Better use ...
Accepted

### Implementing "do this, then return that" in function definitions

If you want, you could write some thing like this f[x_] := Module[{k = x}, Do[k = k^2 + 1, {i, 0, x - 1}]; k] A more natural form would be ...
• 16.8k

### What is the most efficient way to define a Loop until function?

Here's a simpler version: SetAttributes[Until,HoldAll] Until[body_, test_] := While[body; !test]
• 131k
Accepted

### All solutions that satisfy $x_{1}^{5}+x_{2}^{5}+x_{3}^{5}+x_{4}^{5}-x_{5}^{5}=0$

I don't think Mathematica is suited for this kind of problem. Here's a C code that can solve it in 10 seconds on my laptop: ...
• 48k
Accepted

### An efficient way to evaluate this expression with deeply nested Do loops

UPDATE: After reposting the below function after modifications from the deleted post to make it work after OP question was changed, I determined a way to utilize ideas from the original deleted post's ...
• 25.8k

### How to terminate a loop when the length of a list reaches a certain length?

If you introduce a length bound already, there is absolutely no reason for Append/AppendTo. Such a loop with ...
Accepted

### Replace elements of a list based on a function

To answer your question directly, a loop could be written like this: f = Table[3*k*k, {k, 1, 16}]; Do[ f[[4 i + j]] = 1; , {i, {1, 3}}, {j, 1, 4} ]; f {...
• 70.7k
Accepted

### What is the most efficient way to define a Loop until function?

I tend to use While[True, body; If[condition, Break[]] ] but what you show is equally good. This is just an alternative. Try to avoid procedural loops in ...
• 235k

### How to pass variables by reference and by value

You need: SetAttributes[myfunc, HoldAll] You then have: ...
• 39.9k
Accepted

### Problem with Excel operation in NETLink way

In the Excel object model, the worksheet symbol Cells represents a property, not a method. In Visual Basic and other languages, many properties have a default ...
• 69k
Accepted

### While loop in a function

In addition to the very good suggestions by Fraccalo, the issue here is that Mathematica refuses to overwrite arguments of functions (in general). So you have to introduce a local variable like this: ...

### Improve speed with a double for loop

(Subtract @@@ Subsets[Most@x, {2}])^2 + (Subtract @@@Subsets[Most@y, {2}])^2 will produce precisely the output of your OP with appropriate performance. Since your ...
• 25.8k
Accepted

### How can I replace a set of Nested For Loops with a Functional Code Alternative?

Update: A faster alternative: ...
• 396k

### Implementing Newton's Method?

The main reason is that x1 is not assigned a value before entering the for loop: ...

### Implementing Newton's Method?

Worth putting it out there that the For loop is not your friend. This does the same ...
• 46.9k
Accepted

### how can i get the following figure using the for loop

Welcome to MMA SE! What the code above does is simply repeatedly overwrite the value of A. In each iteration of the loop, it evaluates ...
• 9,020
Accepted

### How to put Break command within a Do loop over 2 variables

First of all, the correct commands are Break[] and Continue[], you are missing the square brackets. Secondly, you do not need <...
• 26.3k
Accepted

### How to put a FOR loop in a WHILE loop

My answer is, "Don't". Create CAC. ...
• 42.3k

### Monitoring Table or Do with Print

Monitor[Table[Pause[0.1], {i, 0, 100}], i]
• 48k
Accepted

...
• 66.8k
Accepted

### A loop in which three indices are changed

Table ClearAll[a] Table[a[i, j] = Partition[LL, 3][[i, j]], {i, 1, 2}, {j, 1, 3}]; {a[1, 3], a[2, 2], a[2, 3]} {3, 5, 4} <...
• 396k
Accepted

### Creating a multiline function with localized variables

You should write your function like so: myFunction[x_] := Module[{y}, y = x; y = y + 3; (y + 3)^3] Note the underscore in ...
• 108k
Accepted

### Populating function inputs from lists

f@@(list1 ~Join~ list2) Or, more generally, use @@ to "open" the structure of List: <...
• 1,772
Accepted

### Evaluating number of iteration with a certain map with While

The problem with your code is that for some values of c, Abs[z] will never become larger than 2. You need to cap the number of ...
• 235k