pro ex2 ; This program demonstrates some of the syntax of IDL ; Example of using strings: name = '' ;initiallize the variable name read,'Type your name: ',name help,name ;get info on that variable nickname = strmid(name,0,3) ; get first 3 letter of name print,'Can I call you ',nickname,' for short?' wait,3 & print ;pause ; Define some arrays: x = [0,1,2,4,5] ; generate an array of integers x = indgen(10) ; A simpler way to do this. y = findgen(10) ; an array of FLOAT ing point numbers help,x,y ; FOR LOOPS N = n_elements(x) ; number of elements ; A simple for loop: define y to be the square of x for j = 0,N-1 do y(j) = x(j)^2 ;(However in IDL for loops are often unnecessary. You can operate on ;the whole array at once eg, y = x ^ 2 ; for loops can included many statements: for i = 0, N-1 do begin print,'Index: ',i print,'Square: ',i^2 print,'Root: ',sqrt(i) endfor ; WHILE LOOPS / IF THEN STATEMENTS number = fix(randomu(seed)*10) + 1 ; random between 1 and 10 print, "I'm thinking of a number between 1 and 10" ; note the ' "" guess = 0 ; default while guess ne number do begin read,'Guess: ',guess if number gt guess then print,'Higher' else print,'Lower' endwhile print, 'You got it!' ; REPEAT/UNTIL & CASE STATEMENT --you can skip this to start. ; (an less used alternative to IF/THEN is the CASE statement ) print,"Let's try another: " number = fix(randomu(seed)*10) + 1 repeat begin read,'Guess: ',guess case 1 of guess gt number: print,'Lower' guess lt number: print,'Higher' guess eq number: print,'GOT IT!' endcase endrep until guess eq number end ;all good things must.