Loops/Downward for: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
(added Fortran)
Line 17: Line 17:
Unlike the incrementing 10 0 DO-LOOP, this will print eleven numbers. The LOOP words detect crossing the floor of the end limit.
Unlike the incrementing 10 0 DO-LOOP, this will print eleven numbers. The LOOP words detect crossing the floor of the end limit.
: loop-down 0 10 do i . -1 +loop ;
: loop-down 0 10 do i . -1 +loop ;

=={{header|Fortran}}==
{{Works with|Fortran|90 and later}}
DO i = 10, 0, -1
WRITE(*, *) i
END DO


=={{header|Java}}==
=={{header|Java}}==

Revision as of 19:09, 5 June 2008

Task
Loops/Downward for
You are encouraged to solve this task according to the task description, using any language you may know.

Write a for loop which writes a countdown from 10 to 0.

Ada

<ada> for I in reverse 0..10 loop

  Put_Line(Integer'Image(I));

end loop; </ada>

C++

<cpp> for(int i = 10; i >= 0; --i)

 std::cout << i << "\n";

</cpp>

Forth

Unlike the incrementing 10 0 DO-LOOP, this will print eleven numbers. The LOOP words detect crossing the floor of the end limit.

: loop-down  0 10 do  i .  -1 +loop ;

Fortran

Works with: Fortran version 90 and later
DO i = 10, 0, -1
  WRITE(*, *) i
END DO

Java

<java>for(i = 10; i >= 0; --i){

  System.out.println(i);

}</java>

JavaScript

<javascript>for (var i=10; i>=0; --i) print(i);</javascript>

If the limit is less than the start, then FOR decrements the control variable. Otherwise, a fourth parameter could be given as a custom increment.

for [i 10 0] [print :i]

MAXScript

for i in 10 to 0 by -1 do print i

OCaml

<ocaml>for i = 10 downto 0 do

 Printf.printf "%d\n" i

done</ocaml>

Pascal

<pascal> for i := 10 downto 0 do

 writeln(i);

</pascal>

Perl

<perl>foreach (reverse 0..10) {

 print "$_\n";

}</perl>

Pop11

lvars i;
for i from 10 by -1 to 0 do
   printf(i, '%p\n');
endfor;

Python

<python> for i in xrange(10, -1, -1):

   print i

</python>

UnixPipes

yes \ |cat -n |head -n 10 | tac