FORTRAN – krótki opis

 

Fortran, czyli "Formula Translation",
to jeden z najstarszych języków programowania, który został opracowany specjalnie
do przetwarzania naukowych  i inżynieryjnych obliczeń numerycznych.
Pierwsza wersja Fortranu została stworzona w latach 50. XX wieku przez IBM.
Od tego czasu Fortran przeszedł przez wiele ewolucji i aktualizacji,
a obecnie najnowszą wersją jest Fortran 2018.

Oto kilka cech ogólnych języka Fortran:

1.      Naukowe obliczenia numeryczne:
Fortran jest szeroko używany w dziedzinie nauki, inżynierii i obliczeń naukowych
do rozwiązywania skomplikowanych problemów matematycznych i numerycznych.

2.      Efektywne obliczenia: Fortran jest znany ze swojej efektywności obliczeniowej.
Język ten ma prostą składnię i oferuje wiele wbudowanych funkcji do obsługi macierzy, wektorów
i innych struktur danych używanych w obliczeniach naukowych.

3.      Tablice i pętle: Fortran obsługuje tablice i pętle, co ułatwia pracę z dużymi zbiorami danych.
Wspiera różne rodzaje pętli, takie jak pętle
do i do while, co jest przydatne w algorytmach iteracyjnych.

4.      Deklaracje typów danych: W Fortranie zazwyczaj należy deklarować typy danych.
To odróżnia go od niektórych nowocześniejszych języków, które wspierają dynamiczne typowanie.

5.      Obsługa równoległa: W nowszych wersjach Fortranu dodano funkcje umożliwiające programowanie równoległe,
co jest ważne w dzisiejszych systemach wielordzeniowych i klastrach komputerowych.

6.      Zastosowania w przemyśle: Pomimo pojawienia się nowszych języków programowania,
 Fortran jest nadal powszechnie używany w przemyśle, zwłaszcza tam,
gdzie wymagane są intensywne obliczenia numeryczne.

Fortran jest językiem specjalnie dostosowanym do konkretnego zakresu zastosowań,
głównie związanych z obliczeniami naukowymi.
W przypadku nowszych projektów, zwłaszcza z zakresu programowania ogólnego przeznaczenia,
mogą istnieć bardziej odpowiednie języki.
Jednak w dziedzinie nauki i inżynierii Fortran pozostaje istotnym narzędziem.

 

Oto kilka przykładowych programów w języku Fortran.
Fortran jest językiem programowania używanym głównie w dziedzinie nauki, inżynierii i obliczeń naukowych.
 Oto kilka prostych przykładów:

 

 

 

 

program HelloWorld

  ! To jest przykład programu w Fortran

  print *, 'Hello, World!'

end program HelloWorld

 

Opis kroków:

1.      program HelloWorld:
Rozpoczyna definicję programu o nazwie "HelloWorld".

2.      ! To jest przykład programu w Fortran:
Linia ta zawiera komentarz. Komentarze w Fortranie zaczynają się od znaku
!
i są ignorowane przez kompilator.
Są one używane do dostarczania informacji dla programisty.

3.      print *, 'Hello, World!': Ta linia zawiera instrukcję wydruku (print).
Wyświetla napis "Hello, World!" na standardowym wyjściu.

4.      end program HelloWorld: Kończy program o nazwie "HelloWorld".

Ten program to klasyczny przykład programu "Hello, World!" w Fortranie.
Program ten wyświetli komunikat "Hello, World!" na ekranie.

 

 

 

program SumExample

  ! Obliczanie sumy liczb od 1 do 10

  integer :: i, sum

  sum = 0

  do i = 1, 10

     sum = sum + i

  end do

  print *, 'Suma liczb od 1 do 10 wynosi: ', sum

end program SumExample

 

! !!!  Wyniki

Output:

 Suma liczb od 1 do 10 wynosi:           55

 

Krótki opis kroków:

1.      Program rozpoczyna od deklaracji dwóch zmiennych całkowitych:
i (indeks pętli) i sum (suma liczb).

2.      Zmienna sum jest inicjalizowana wartością 0, ponieważ będziemy sumować liczby.

3.      Program używa pętli do od 1 do 10, aby zsumować liczby od 1 do 10 do zmiennej sum.

4.      Po zakończeniu pętli program wyświetla wynik sumy na ekranie.

Ten program jest prosty i demonstruje podstawowe elementy języka Fortran,
takie jak deklaracje zmiennych, pętle, operacje matematyczne i wyświetlanie wyników.

 

 

program ParityCheck

  ! Sprawdzenie, czy liczba jest parzysta czy nieparzysta

  integer :: num

  print *, 'Podaj liczbę: '

  read *, num

  if (mod(num, 2) == 0) then

     print *, 'Liczba ', num, ' jest parzysta.'

  else

     print *, 'Liczba ', num, ' jest nieparzysta.'

  end if

end program ParityCheck

Wynik:

Podaj liczbę:

10

 Liczba           10  jest parzysta.

...Program finished with exit code 0

Press ENTER to exit console.

 

Krótki opis kroków:

1.      Program rozpoczyna od deklaracji zmiennej num typu całkowitego, która będzie przechowywać podaną liczbę.

2.      Wyświetla komunikat proszący użytkownika o podanie liczby.

3.      Wczytuje liczbę ze standardowego wejścia do zmiennej num.

4.      Wykorzystuje instrukcję warunkową if do sprawdzenia, czy liczba jest parzysta (warunek mod(num, 2) == 0).

5.      W zależności od wyniku warunku, wyświetla odpowiedni komunikat o parzystości lub nieparzystości liczby.

Program jest prosty, czytelny i dobrze zorganizowan

 

 

program MathExample

  ! Przykład obliczeń matematycznych w Fortran

  real :: a, b, result

  print *, 'Podaj dwie liczby rzeczywiste: '

  read *, a, b

  result = sqrt(a**2 + b**2)

  print *, 'Pierwiastek kwadratowy z (a^2 + b^2) wynosi: ', result

end program MathExample

ii Wyniki

3     4

Pierwiastek kwadratowy z (a^2 + b^2) wynosi:    5.00000000  

...Program finished with exit code 0

Press ENTER to exit console.

 

...Program finished with exit code 0

Press ENTER to exit console.

Program jest poprawny i wykonuje obliczenia matematyczne, w tym oblicza pierwiastek kwadratowy
z sumy kwadratów dwóch liczb rzeczywistych. Poniżej znajduje się krótki opis działania programu:

Krótki opis kroków:

1.      Program rozpoczyna od deklaracji zmiennych rzeczywistych a, b i result.

2.      Wyświetla komunikat proszący użytkownika o podanie dwóch liczb rzeczywistych.

3.      Wczytuje dwie liczby ze standardowego wejścia do zmiennych a i b.

4.      Oblicza pierwiastek kwadratowy z sumy kwadratów liczb a i b i przypisuje wynik do zmiennej result.

5.      Wyświetla wynik obliczeń na ekranie.

 

 

Komentarze w Fortran

W języku Fortran komentarze można dodawać przy użyciu znaku wykrzyknika (!).
Wszystko po tym znaku w danej linii traktowane jest jako komentarz i jest ignorowane podczas kompilacji.
Poniżej znajdują się przykłady komentarzy w różnych kontekstach:

 

! To jest komentarz na całej linii

program Przyklad

  ! To jest komentarz wewnątrz programu

  implicit none

  integer :: x ! To jest komentarz przy deklaracji zmiennej

  x = 5

  print *, 'Wartość x wynosi: ', x ! To jest komentarz przy instrukcji wydruku

end program Przyklad

 

I  Wynik

Wartość x wynosi:            5

...Program finished with exit code 0

Press ENTER to exit console.

 

 

C  Program dattim.for

C  Program DATTIM.FOR - Pobieranie daty i czasu:

INTERFACE TO SUBROUTINE TIME (N, STR)

  CHARACTER*10 STR [NEAR, REFERENCE]

  INTEGER*2 N [VALUE]

END INTERFACE

 

INTERFACE TO SUBROUTINE DATE (N, STR)

  CHARACTER*10 STR [NEAR, REFERENCE]

  INTEGER*2 N [VALUE]

END INTERFACE

 

PROGRAM TEST

  CHARACTER*10 TSTR, DSTR

C

C  WYWOŁANIE PODPROGRAMÓW DATE I TIME (NAPIS O DŁUGOŚCI 10 JEST PRZEKAZYWANY

C  JAKO PIERWSZY ARGUMENT)

C

  CALL DATE(10, DSTR)

  CALL TIME(10, TSTR)

  WRITE (*,*) 'CZAS=', TSTR

  WRITE (*,*) 'DATA=', DSTR

END

Program w języku Fortran o nazwie dattim.for
został stworzony do pobierania aktualnej daty
i czasu za pomocą dwóch podprogramów (
SUBROUTINE): TIME i DATE.
Krótki opis programu:

1.      Program definiuje dwie interfejsy dla podprogramów TIME i DATE za pomocą bloku INTERFACE.
Interfejsy określają typy danych i metody przekazywania argumentów dla tych podprogramów.

2.      Blok programu o nazwie TEST deklaruje dwie zmienne typu znakowego (CHARACTER) o długości 10 znaków: TSTR i DSTR.

3.      Program następnie wywołuje podprogram DATE z argumentami 10 i DSTR, aby uzyskać bieżącą datę.
Podobnie, wywołuje podprogram
TIME z argumentami 10 i TSTR, aby uzyskać bieżący czas.

4.      Na koniec program wyświetla uzyskaną datę i czas za pomocą instrukcji WRITE.

Uwaga: Komentarze w programie zaczynające się od litery C są pomijane przez kompilator Fortrana.
Blok
INTERFACE służy do deklaracji interfejsu zewnętrznych podprogramów,
co zapewnia poprawne przekazywanie argumentów.

 

 

 

Kompilatory Fortran

https://www.onlinegdb.com/online_fortran_compiler

https://www.mycompiler.io/online-fortran-compiler

https://onecompiler.com/fortran

https://onecompiler.com/fortran/3zwknrwfz

https://www.onlinegdb.com/online_fortran_compiler

https://www.tutorialspoint.com/compile_fortran_online.ph

https://www.jdoodle.com/c-online-compiler

https://onecompiler.com/fortran/3zwktgh4m

 

Fortran Online Compiler – Kompilator Fortran online

https://onecompiler.com/fortran/3zwktgh4m

Write, Run & Share Fortran code online using OneCompiler's Fortran online compiler for free.
It's one of the robust, feature-rich online compilers for Fortran language, running on the latest version 7.
Getting started with the OneCompiler's Fortran compiler is simple and pretty fast.
The editor shows sample boilerplate code when you choose language as 
Fortran and start coding.

Pisz, uruchamiaj i udostępniaj kod Fortran online, korzystając z bezpłatnego kompilatora online Fortran firmy OneCompiler.
Jest to jeden z solidnych, bogatych w funkcje kompilatorów online dla języka Fortran, działający w najnowszej wersji 7.
Rozpoczęcie pracy z kompilatorem Fortran firmy OneCompiler jest proste i dość szybkie.
Edytor pokazuje przykładowy kod standardowy po wybraniu języka jako Fortran i rozpoczęciu kodowania

 

Read inputs from stdin

OneCompiler's Fortran online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab.
Following is a sample Fortran program which takes name as
input and prints hello message with your name.

Edytor online Fortran firmy OneCompiler obsługuje stdin, a użytkownicy mogą wprowadzać
dane wejściowe do programów za pomocą pola tekstowego STDIN w zakładce I/O.

Poniżej znajduje się przykładowy program w języku Fortran, który pobiera nazwę jako dane
wejściowe i wyświetla wiadomość powitalną z Twoim imieniem
.

 

program hello

  character :: name*30

  read *, name

      print *, "Hello ", name

end program hello

 

About Fortran

Fortran language was initially developed for scientific calculations by IBM in 1957.
It has a number of in-built functions to perform mathematical calculations and is ideal for applications which has more mathematical calculations.

Język Fortran został pierwotnie opracowany do obliczeń naukowych przez IBM w 1957 roku.
Posiada szereg wbudowanych funkcji do wykonywania obliczeń matematycznych
i jest idealny do zastosowań, które wymagają większej liczby obliczeń matematycznych.

Syntax help

Data Types

Data type

Description

Usage

Integer

To store integer variables

integer :: x

Real

To store float values

real :: x

Complex

To store complex numbers

complex :: x,y

Logical

To store boolean values True or false

logical :: x=.True. , logical :: x = .FALSE.

Character

To store characters and strings

character :: x

Variables

Variable is a name given to the storage area in order to manipulate them in our programs.

data type :: variable_name

Arrays

Array is a collection of similar data which is stored in continuous memory addresses.

Syntax

data-type, dimension (x,y) :: array-name

Example

integer, dimension(3,3) :: cube

Loops

1. Do:

Do is used to execute a set of statement(s) iteratively when a given condition is true
and the loop variable must be an integer.

do i = start, stop [,step]   

   ! code

end do

2. Do-While:

Do-While is used to execute a set of statement(s) iteratively when a given condition is true.

do while (condition)

   !Code

end do

3. If:

If is used to execute a set of statements based on a condition.

if (logical-expression) then     

   !Code 

end if

4. If-Else:

If is used to execute a set of statements based on a condition and execute another set of statements present in else block,
if condition specified in If block fails.

if (logical-expression) then    

   !code when the condition is true

else

   !code when the condition fails

end if

 

 

Linki

https://www2.chemia.uj.edu.pl/~koziel/Technologia_Informacyjna/Fortran/f95_skrypt_Ro%C5%9Bciszewski_Wit.pdf

https://ruj.uj.edu.pl/xmlui/bitstream/handle/item/272351/rosciszewski_wit_nauka_fortranu_2003.pdf?sequence=1&isAllowed=y

https://www.is.umk.pl/~grochu/wiki/lib/exe/fetch.php?media=zajecia:npr_2012_1:potwardowska.edi.pdf

http://www.astro.uni.wroc.pl/ludzie/rudawy/F90lect/F90_rok2005.pdf

http://jedrzej.ulasiewicz.staff.ict.pwr.wroc.pl/ProgramowanieWspolbiezne/wyklad/Kompilacja-i-uruch-progr-5.pdf

https://staff.uz.zgora.pl/adenisie/dokumenty/Tech_inf_Bud/edi-hugo.pdf