New Reply

Simple fortran help

 
Share Thread Thread Tools
Sep17-12, 06:37 PM   #1
 

Simple fortran help


I am ust beginning a fortran assignment, where I need to get a users input, to get numbers and a true/false statement. These I'm hoping will be able to translate to parameters for a bigger program. So far my code looks like:

integer N,l,Tsteps
logical PBC
print*,"Input Number"
read (*,*) N
print*,"Number=", N
print*,"Input Square Grid Size (one number; LXL)"
read (*,*) l
print*,"Grid length and width is ", l !Want this to say l x l; is there a way to do it? Again, I'm new at this.
print*,"Input time"
read (*,*) T
print*,"Time =", T
print *, "True or False?"
read (*,*) PBC ! How do I get this so that it recognize .true. or .false. from this statement?

Integer,parameter :: n=N ! Will this work?
integer, parameter :: L = l
integer, parameter :: t=T
logical, parameter :: pbc = .PBC.

So in summar the 3 questions are:
1) how do i output something to say " * and * "
2) How do I get a user input statement to be recognized into a logical term?
3) how do I get integers to transform into parameters (or can I just have the input already be in parameter form?)

Thank you for your help
 
PhysOrg.com
PhysOrg
science news on PhysOrg.com

>> Front-row seats to climate change
>> Attacking MRSA with metals from antibacterial clays
>> New formula invented for microscope viewing, substitutes for federally controlled drug
Sep17-12, 08:37 PM   #2
 
Mentor
Quote by Dgrosser View Post
I am ust beginning a fortran assignment, where I need to get a users input, to get numbers and a true/false statement. These I'm hoping will be able to translate to parameters for a bigger program. So far my code looks like:

integer N,l,Tsteps
logical PBC
print*,"Input Number"
read (*,*) N
print*,"Number=", N
print*,"Input Square Grid Size (one number; LXL)"
read (*,*) l
print*,"Grid length and width is ", l !Want this to say l x l; is there a way to do it? Again, I'm new at this.
print*,"Input time"
read (*,*) T
print*,"Time =", T
print *, "True or False?"
read (*,*) PBC ! How do I get this so that it recognize .true. or .false. from this statement?

Integer,parameter :: n=N ! Will this work?
integer, parameter :: L = l
integer, parameter :: t=T
logical, parameter :: pbc = .PBC.
No, these won't work. A parameter is a constant. N, l, and T are variables. I don't know what .PBC. is.
Quote by Dgrosser View Post

So in summar the 3 questions are:
1) how do i output something to say " * and * "
print *, " * and * "
Quote by Dgrosser View Post
2) How do I get a user input statement to be recognized into a logical term?
Pretty much, you can't. Anything a user types on the keyboard is a string of one or more characters. You can ask the user to press the 'T' character to signify true and the 'F' character to signify false, and then use logic in your program (if ... then block) to compare what the user typed to the characters 'T' or 'F'. If you want to get a little more robust, you can also compare to lower case characters 't' and 'f'.
Quote by Dgrosser View Post
3) how do I get integers to transform into parameters (or can I just have the input already be in parameter form?)
Not sure I understand what you're asking, although you can pass values as parameters of functions or subroutines.
 
New Reply

Tags
basic, fortan
Thread Tools


Similar Threads for: Simple fortran help
Thread Forum Replies
Help with a very simple fortran program. Programming & Comp Sci 1
Simple do-loop in Fortran. Please help ! Programming & Comp Sci 2
Simple Fortran 90 questions Programming & Comp Sci 2
simple FORTRAN question Programming & Comp Sci 2
FORTRAN:Simple question Programming & Comp Sci 0