Cuprins
- 0. Introducere
- 1.0 Constante si variabile
- 1.1 Operatii algebrice simple
- 2.1 Instructiunea IF
- 2.1.1 Instructiunea IF aritmetic
- 2.1.2 Instructiunea IF logic
- 2.1.3 Instructiunea BLOCK IF
- 2.1.4 Compararea sirurilor de caractere
- 2.1.5 Instructiunea select case
- 3. Instructiunea DO
- 3.1 Forma 1
- 3.2 Forma 2
- 3.3 Forma 3
- 3.4 Instructiunea DO WHILE
- 3.5 Iteratii
- 3.5.1 Calculul radicalului
- 3.5.2 Rezolvarea ecuatiilor algebrice neliniare cu metoda Newton
- 3.5.3 Rezolvarea sistemelor algebrice neliniare de două ecuatii cu metoda Newton
- 3.5.4 Rezolvarea ecuatiilor algebrice polinomiale cu coeficienti complecsi cu metoda
- Newton
- 4. Dezvoltări în serie
- 5. Tablouri
- 5.1 Vectori
- 5.2 Matrice
- 5.3 Gauss Seidel
- 5.4 Alocarea dinamică de memorie (în executie)
- 6. Functii si subprograme
- 6.1 Clauza contains. Functii interne
- 6.2 Functii externe
- 6.3 Functii în complex
- 6.4 Instructiunea external
- 6.5 Subrutine
- 6.5.1 Transmiterea tablourilor la subprograme
- 6.5.2 Rezolvarea sistemelor de ecuatii algebrice lineare
- 6.5.3 Calculul valorilor proprii
- 7. Instructiunea COMMON
- 7.1 Instructiunea COMMON blank
- 7.2 Instructiunea COMMON etichetat
- 7.3 Instructiunea BLOCK DATA
- 8. Instructiunea INTERFACE
- 9. Instructiunea MODULE
- 10. Aplicatii
- 10.1 Calculul integralelor definite, QUADPACK
- 10.2 Integrarea ecuatiilor diferentiale ordinare, problema Cauchy
- 10.3 Ecuatia Burgers omogenă
- 10.4 Ecuatia Poisson
- 10.5 Ecuatia de potential pe cerc
- 10.6 Rezolvarea sistemelor de ecuatii neliniare
Extras din curs
0. Introducere
Fortran este un limbaj de programare potrivit în special pentru calculule
numerice si calcule stiintifice. Limbajul dezvoltat plecând din 1950 a fost utilizat
extensiv în meteorologie, analiza structurilor cu metoda elementelor finite, computational
fluid dynamics (CFD), computational physics and computational chemistry.
Este limbajul de programare utilizat pe supercalculatoare.
Numele limbajului provine de la FORmula TRANslating System.
Versiunile succesive au adăugat procesarea sirurilor de caractere, block if, do
enddo, do while (FOTRAN 77), programarea modulară, array sections, object-based
programming (Fortran 90/95) si object-oriented and generic programming (Fortran 2003).
Prin evolutie limbajul a devenit deosebit de complex. În expunerea succintă care
urmează s-au avut în vedere în special aspectele legate de metodele numerice si CFD.
Pentru compatibilitate cu bibliotecile de programe existente, NETLIB.ORG, Fortran 90
Codes, etc., se prezintă toată gama de instructiuni incluzând instructiunea COMMON si
BLOCK DATA.
Programarea modulară (MODULE) permite scrierea de programe compacte si
bine structurate si de aceea este recomandată ca tehnică de programare.
Sunt prezentate o serie de exemple simple (tehnici numerice de bază) dar si
aplicatii mai complexe (ecuatii diferentiale cu derivate partiale 2D). Unele programe au
fost păstrate în forma originală deoarece sunt algoritmi omologati.
Forma fixă a limbajului *.f, *.for are 80 de coloane cu un caracter de continuare
în coloana 6 (diferit de zero) Zona 1-5 este zonă etichetă. Zona 7-72 este zonă
instructiune. Comentariile încep cu litera C din coloana 1 sau cu !.
Următorul program face parte din biblioteca pppack din NETIB.
1.0 Constante si variabile
In limbajul FORTRAN sunt definite următoarele tipuri de constante:
a) Constante de tip întreg, numere cu semn fără punct zecimal:
12, +54, -321
b) Constante de tip real simplă precizie, numere cu semn si punct zecimal si eventual
exponent:
1.1 , +5.3, 8.31451e0, 9.7654e-3
c) Constante de tip real dublă precizie, numere cu semn si punct zecimal. Exponentul se
notează cu litera d (dublă precizie):
3.14d0, 8.31451d0,7.77d+3,6.754d-9.
d) Constante complexe simplă precizie:
(parte_reală_simplă_precizie,parte_imaginară_simplă_precizie)
(1.2,-3.4)
e) Constante complexe dublă precizie:
(parte_reală_dublă_precizie,parte_imaginară_dublă_precizie)
(+3,1234d2,+0.987d0)
f) Constante de tip logic, true. pentru adevărat si false. pentru fals.
g) Constante de tip sir de caractere:
‘sir1’,’sirul_doi_de_caractere’,”Van’t Hoff”
Preview document
Conținut arhivă zip
- Fortran.pdf