tecniche di programmazione in chimica computazionale...emanuele coccia dipartimento di scienze...
TRANSCRIPT
![Page 1: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/1.jpg)
Tecniche di programmazione in chimicacomputazionale
Expressions, operations and variables
Emanuele Coccia
Dipartimento di Scienze Chimiche e Farmaceutiche
E. Coccia (DSCF) Tecniche di programmazione 1 / 12
![Page 2: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/2.jpg)
Constants
Integer: 2 etc.
Floating point: 2.0, 2.d0 etc.String: ”Hello, world!”Define a constant using parameter (param.f90)
E. Coccia (DSCF) Tecniche di programmazione 2 / 12
![Page 3: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/3.jpg)
Constants
Integer: 2 etc.Floating point: 2.0, 2.d0 etc.
String: ”Hello, world!”Define a constant using parameter (param.f90)
E. Coccia (DSCF) Tecniche di programmazione 2 / 12
![Page 4: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/4.jpg)
Constants
Integer: 2 etc.Floating point: 2.0, 2.d0 etc.String: ”Hello, world!”
Define a constant using parameter (param.f90)
E. Coccia (DSCF) Tecniche di programmazione 2 / 12
![Page 5: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/5.jpg)
Constants
Integer: 2 etc.Floating point: 2.0, 2.d0 etc.String: ”Hello, world!”Define a constant using parameter (param.f90)
E. Coccia (DSCF) Tecniche di programmazione 2 / 12
![Page 6: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/6.jpg)
Variables
Memory location with three attributes:
1 name (case insensitive, ABC equal to aBC)2 Data type (declared at the beginning of the program)3 Value (initializing is good practice): declaration, standard
input, assignment
Assignment statement: variable = expressionExample assign.f90
E. Coccia (DSCF) Tecniche di programmazione 3 / 12
![Page 7: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/7.jpg)
Variables
Memory location with three attributes:1 name (case insensitive, ABC equal to aBC)
2 Data type (declared at the beginning of the program)3 Value (initializing is good practice): declaration, standard
input, assignment
Assignment statement: variable = expressionExample assign.f90
E. Coccia (DSCF) Tecniche di programmazione 3 / 12
![Page 8: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/8.jpg)
Variables
Memory location with three attributes:1 name (case insensitive, ABC equal to aBC)2 Data type (declared at the beginning of the program)
3 Value (initializing is good practice): declaration, standardinput, assignment
Assignment statement: variable = expressionExample assign.f90
E. Coccia (DSCF) Tecniche di programmazione 3 / 12
![Page 9: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/9.jpg)
Variables
Memory location with three attributes:1 name (case insensitive, ABC equal to aBC)2 Data type (declared at the beginning of the program)3 Value (initializing is good practice): declaration, standard
input, assignment
Assignment statement: variable = expressionExample assign.f90
E. Coccia (DSCF) Tecniche di programmazione 3 / 12
![Page 10: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/10.jpg)
Variables
Memory location with three attributes:1 name (case insensitive, ABC equal to aBC)2 Data type (declared at the beginning of the program)3 Value (initializing is good practice): declaration, standard
input, assignment
Assignment statement: variable = expression
Example assign.f90
E. Coccia (DSCF) Tecniche di programmazione 3 / 12
![Page 11: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/11.jpg)
Variables
Memory location with three attributes:1 name (case insensitive, ABC equal to aBC)2 Data type (declared at the beginning of the program)3 Value (initializing is good practice): declaration, standard
input, assignment
Assignment statement: variable = expressionExample assign.f90
E. Coccia (DSCF) Tecniche di programmazione 3 / 12
![Page 12: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/12.jpg)
Variable declaration
Explicit declaration
Implicit declaration: integer variable if its name begins with(I-N)Also possible to customize directives for the implicitdeclarationBetter to always start a Fortran code with implicit none
E. Coccia (DSCF) Tecniche di programmazione 4 / 12
![Page 13: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/13.jpg)
Variable declaration
Explicit declarationImplicit declaration: integer variable if its name begins with(I-N)Also possible to customize directives for the implicitdeclaration
Better to always start a Fortran code with implicit none
E. Coccia (DSCF) Tecniche di programmazione 4 / 12
![Page 14: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/14.jpg)
Variable declaration
Explicit declarationImplicit declaration: integer variable if its name begins with(I-N)Also possible to customize directives for the implicitdeclarationBetter to always start a Fortran code with implicit none
E. Coccia (DSCF) Tecniche di programmazione 4 / 12
![Page 15: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/15.jpg)
Fortran intrinsic functions
cos(x): x real in radians
sin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 16: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/16.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radians
tan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 17: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/17.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radians
exp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 18: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/18.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x real
log(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 19: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/19.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0
log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 20: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/20.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0
sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 21: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/21.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0
acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 22: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/22.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)
mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 23: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/23.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer
...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 24: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/24.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...
add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 25: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/25.jpg)
Fortran intrinsic functions
cos(x): x real in radianssin(x): x real in radianstan(x): x real in radiansexp(x): x reallog(x): x real > 0log10(x): x real > 0sqrt(x): x real ≥ 0acos(x): -1 ≤ x ≤ 1(radians)mod(x,n): both x and n real or integer...add d (e.g., dcos(x)) for real*8
E. Coccia (DSCF) Tecniche di programmazione 5 / 12
![Page 26: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/26.jpg)
Arrays
Structured data type: vectors, matrices, more complicatedstructures
Array of any type (integer, single and double precision etc.)Intrinsic Fortran functions:
maxval(x)minval(x)sum(x)dot_product(a,x)matmul(A,B)
E. Coccia (DSCF) Tecniche di programmazione 6 / 12
![Page 27: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/27.jpg)
Arrays
Structured data type: vectors, matrices, more complicatedstructures
Array of any type (integer, single and double precision etc.)
Intrinsic Fortran functions:maxval(x)minval(x)sum(x)dot_product(a,x)matmul(A,B)
E. Coccia (DSCF) Tecniche di programmazione 6 / 12
![Page 28: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/28.jpg)
Arrays
Structured data type: vectors, matrices, more complicatedstructures
Array of any type (integer, single and double precision etc.)Intrinsic Fortran functions:
maxval(x)minval(x)sum(x)dot_product(a,x)matmul(A,B)
E. Coccia (DSCF) Tecniche di programmazione 6 / 12
![Page 29: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/29.jpg)
Arrays
Group of ordinary (scalar) variables
Work on array elements, on a subset of array and/or on thewhole arrayInitialize arrays as ordinary variablesExamples array.f90 and matmul.f90Dynamical arrays: example alloc.f90
E. Coccia (DSCF) Tecniche di programmazione 7 / 12
![Page 30: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/30.jpg)
Arrays
Group of ordinary (scalar) variablesWork on array elements, on a subset of array and/or on thewhole array
Initialize arrays as ordinary variablesExamples array.f90 and matmul.f90Dynamical arrays: example alloc.f90
E. Coccia (DSCF) Tecniche di programmazione 7 / 12
![Page 31: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/31.jpg)
Arrays
Group of ordinary (scalar) variablesWork on array elements, on a subset of array and/or on thewhole arrayInitialize arrays as ordinary variables
Examples array.f90 and matmul.f90Dynamical arrays: example alloc.f90
E. Coccia (DSCF) Tecniche di programmazione 7 / 12
![Page 32: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/32.jpg)
Arrays
Group of ordinary (scalar) variablesWork on array elements, on a subset of array and/or on thewhole arrayInitialize arrays as ordinary variablesExamples array.f90 and matmul.f90
Dynamical arrays: example alloc.f90
E. Coccia (DSCF) Tecniche di programmazione 7 / 12
![Page 33: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/33.jpg)
Arrays
Group of ordinary (scalar) variablesWork on array elements, on a subset of array and/or on thewhole arrayInitialize arrays as ordinary variablesExamples array.f90 and matmul.f90Dynamical arrays: example alloc.f90
E. Coccia (DSCF) Tecniche di programmazione 7 / 12
![Page 34: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/34.jpg)
Arithmetic expressions
n1 + n2
Composed of terms (n1 and n2) and operators (+)Computational form to run operations into the computerEvaluation: executing the operations specified in a givenexpression
E. Coccia (DSCF) Tecniche di programmazione 8 / 12
![Page 35: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/35.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition
- subtraction* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 36: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/36.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction
* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 37: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/37.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication
/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 38: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/38.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division
** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 39: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/39.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 40: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/40.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division** power
Binary operators:
x + 3
2 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 41: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/41.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 42: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/42.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 43: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/43.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 44: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/44.jpg)
Arithmetic operators
Simple arithmetic operators:+ addition- subtraction* multiplication/ division** power
Binary operators:
x + 32 ∗ x + 3 ∗ y
(2 ∗ x) + (3 ∗ y)
2 ∗ (x + 3) ∗ y
Power > multiplication/division > addition/subtraction
E. Coccia (DSCF) Tecniche di programmazione 9 / 12
![Page 45: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/45.jpg)
Other operators
Relational:.eq. (==).ne. (/=).lt. (<).le. (<=).gt. (>).ge. (>=)
Logical:.not..and..or.
String: // to concatenate two strings
E. Coccia (DSCF) Tecniche di programmazione 10 / 12
![Page 46: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/46.jpg)
Other operators
Relational:.eq. (==).ne. (/=).lt. (<).le. (<=).gt. (>).ge. (>=)
Logical:.not..and..or.
String: // to concatenate two strings
E. Coccia (DSCF) Tecniche di programmazione 10 / 12
![Page 47: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/47.jpg)
Other operators
Relational:.eq. (==).ne. (/=).lt. (<).le. (<=).gt. (>).ge. (>=)
Logical:.not..and..or.
String: // to concatenate two strings
E. Coccia (DSCF) Tecniche di programmazione 10 / 12
![Page 48: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/48.jpg)
Other expressions
Relational expression:n1.eq.n2
Logical expression:expr1.or.expr2
Priority: arithmetic > relational > logical
E. Coccia (DSCF) Tecniche di programmazione 11 / 12
![Page 49: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/49.jpg)
Other expressions
Relational expression:n1.eq.n2
Logical expression:expr1.or.expr2
Priority: arithmetic > relational > logical
E. Coccia (DSCF) Tecniche di programmazione 11 / 12
![Page 50: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/50.jpg)
Other expressions
Relational expression:n1.eq.n2
Logical expression:expr1.or.expr2
Priority: arithmetic > relational > logical
E. Coccia (DSCF) Tecniche di programmazione 11 / 12
![Page 51: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/51.jpg)
Type conversion
Automatic type conversion
The expression1 + 2.3
in Fortran becomes1.0 + 2.3
Assignment statement for real variable total
total = 0
“0” is converted into “0.0”
n = 1.9
integer n contains “1”Explicit conversion: int(), real(), dble()Example conv.f90
E. Coccia (DSCF) Tecniche di programmazione 12 / 12
![Page 52: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/52.jpg)
Type conversion
Automatic type conversionThe expression
1 + 2.3
in Fortran becomes1.0 + 2.3
Assignment statement for real variable total
total = 0
“0” is converted into “0.0”
n = 1.9
integer n contains “1”Explicit conversion: int(), real(), dble()Example conv.f90
E. Coccia (DSCF) Tecniche di programmazione 12 / 12
![Page 53: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/53.jpg)
Type conversion
Automatic type conversionThe expression
1 + 2.3
in Fortran becomes1.0 + 2.3
Assignment statement for real variable total
total = 0
“0” is converted into “0.0”
n = 1.9
integer n contains “1”Explicit conversion: int(), real(), dble()Example conv.f90
E. Coccia (DSCF) Tecniche di programmazione 12 / 12
![Page 54: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/54.jpg)
Type conversion
Automatic type conversionThe expression
1 + 2.3
in Fortran becomes1.0 + 2.3
Assignment statement for real variable total
total = 0
“0” is converted into “0.0”
n = 1.9
integer n contains “1”Explicit conversion: int(), real(), dble()Example conv.f90
E. Coccia (DSCF) Tecniche di programmazione 12 / 12
![Page 55: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/55.jpg)
Type conversion
Automatic type conversionThe expression
1 + 2.3
in Fortran becomes1.0 + 2.3
Assignment statement for real variable total
total = 0
“0” is converted into “0.0”
n = 1.9
integer n contains “1”
Explicit conversion: int(), real(), dble()Example conv.f90
E. Coccia (DSCF) Tecniche di programmazione 12 / 12
![Page 56: Tecniche di programmazione in chimica computazionale...Emanuele Coccia Dipartimento di Scienze Chimiche e Farmaceutiche E. Coccia (DSCF) Tecniche di programmazione 1 / 12. Constants](https://reader036.vdocuments.pub/reader036/viewer/2022071402/60ef7d2b2b38d9736511c178/html5/thumbnails/56.jpg)
Type conversion
Automatic type conversionThe expression
1 + 2.3
in Fortran becomes1.0 + 2.3
Assignment statement for real variable total
total = 0
“0” is converted into “0.0”
n = 1.9
integer n contains “1”Explicit conversion: int(), real(), dble()Example conv.f90
E. Coccia (DSCF) Tecniche di programmazione 12 / 12