Fortran+77+-+W.pdf
(
293 KB
)
Pobierz
FORTRAN77_W
FORTRAN 77
materiały pomocnicze do wykładów
Opracował:
dr Jan Budzi
ń
ski
Spis tre
ś
ci
FORTRAN 77 ( RMFORT )
C. Instrukcja czytania – sekwencyjna
24
I. Informacje wst
ę
pne
1
D. Instrukcja pisania – sekwencyjna
25
A. Wprowadzenie
1
E. Instrukcja FORMAT (dyrektywa)
25
B. Struktura programu
1
F. Instrukcje otwarcia i zamkni
ę
cia pliku
bezpo
ś
redniego dost
ę
pu
27
C. Przygotowanie i uruchomienie programu
3
D. Program graficzny
4
G. Instrukcje pisania i czytania dla pliku
bezpo
ś
redniego dost
ę
pu
28
II. Podstawowe elementy j
ę
zyka FORTRAN-u
7
A. Zbiór znaków podstawowych
7
B. Stałe
7
VIII. Funkcje i podprogramy
29
A. Wprowadzenie
29
1. Stałe całkowite (INTEGER)
7
B. Funkcje standardowe
29
2. Stałe rzeczywiste (REAL i DOUBLE
PRECISION)
7
C. Funkcje lokalne
31
D. Funkcje zewn
ę
trzne
32
3. Stałe zespolone (COMPLEX
i COMPLEX *16)
8
E. Podprogramy
33
IX. Uzupełniaj
ą
ce instrukcje specyfikacji
(dyrektywy)
35
4. Stałe logiczne (LOGICAL)
8
5. Stałe tekstowe (CHARACTER)
8
A. Instrukcja COMMON
35
C. Nazwy symboliczne
8
B. Instrukcja EQUIVALENCE
35
D. Zmienne
8
C. Instrukcja DATA
36
E. Wyra
Ŝ
enia arytmetyczne, logiczne i tekstowe
9
D. Instrukcja PROGRAM
37
F. Instrukcje
9
E. Instrukcja PARAMETER
37
III. Instrukcje specyfikacji zmiennych
(dyrektywy)
10
F. Segment BLOCK DATA
37
A. Instrukcja specyfikacji jawnego opisu typu
10
MODUŁ GRAFICZNY EGAB
(Dla RMFORT-a)
C. Instrukcja IMPLICIT
11
D. Instrukcja DIMENSION
11
I. Informacje Wst
ę
pne
39
E. Przydział pami
ę
ci dla zmiennych prostych i
tablic
12
A. Wprowadzenie
39
B. Struktura ekranu graficznego
39
IV. Wyra
Ŝ
enia arytmetyczne, logiczne i
tekstowe
13
II. Podprogramy organizacyjne ekranu
40
A. Inicjowanie trybu graficznego
40
A. Wyra
Ŝ
enia arytmetyczne
A
13
B. Ustawianie parametrów graficznych
40
B. Wyra
Ŝ
enia logiczne (boolowskie)
B
14
C. Rysowanie elementów graficznych
41
C. Wyra
Ŝ
enia tekstowe (ła
ń
cuchowe)
T
15
III. Ekranowe operacje blokowe
42
V. Instrukcje podstawiania (przypisania)
16
A. Instrukcja podstawiania arytmetyczna
16
A. Kopiowanie prostok
ą
ta w pami
ę
ci karty
42
B. Kopiowanie prostok
ą
ta w pami
ę
ci RAM
42
B. Instrukcja podstawiania logiczna
16
C. Kopiowanie prostok
ą
ta przez mask
ę
koloru
42
C. Instrukcja podstawiania tekstowa
16
D. Rysowanie prostok
ą
ta przez tablic
ę
kolorów
43
D. Instrukcja podstawiania typu ASSIGN
17
IV. Sterowanie mysz
ą
i funkcje towarzysz
ą
ce
44
VI. Instrukcje steruj
ą
ce
18
A. Sterowanie kursorem myszy
44
A. Instrukcje typu GOTO
18
B. Sterowanie ikon
ą
44
1. Bezwarunkowa instrukcja GOTO
18
V. Podprogramy komunikacji z peryferiami
45
2. Obliczana instrukcja GOTO
18
A. Podprogramy dla klawiatury
45
3. Podstawiana instrukcja GOTO
18
B. Podprogram badania stacji dyskiet
45
B. Instrukcje typu IF
19
C. Podprogram uruchomienia programu
CHILD PROCESS
45
1. Arytmetyczna instrukcja IF
19
2. Logiczna instrukcja IF
19
VI. Podprogramy obsługi plików i katalogów
47
3. Blokowa instrukcja IF
19
C. Instrukcja CONTINUE
20
MODUŁ APLIKACJI APLB
(Dla RMFORT-a)
D. Instrukcja DO
20
E. Instrukcja PAUSE
22
F. Instrukcja STOP
22
A. Wprowadzenie
48
G. Instrukcja END (dyrektywa)
22
B. Inicjowanie palety kolorów
48
VII. Instrukcje wej
ś
cia/wyj
ś
cia
23
C. Pisanie tekstów specjalnymi fontami
49
A. Wprowadzenie
23
D. Wizualizacja obrazów
49
B. Instrukcje otwarcia i zamkni
ę
cia pliku
sekwencyjnego
23
II
B. Standardowe uzgodnienia o typie
11
FORTRAN 77 ( RMFORT )
I. Informacje wst
ę
pne
A. Wprowadzenie
Niniejszy tekst jest skrótowym opisem j
ę
zyka programowania FORTRAN opartym na
standardzie FORTRAN-u 77.
Jedn
ą
z realizacyjnych wersji tego j
ę
zyka, przeznaczon
ą
do pracy na komputerach typu IBM
PC, jest pakiet RMFORT zawieraj
ą
cy kompilator (plik RMFORT.EXE), program ł
ą
cz
ą
cy (plik
PLINK86.EXE), bibliotek
ę
podprogramów i funkcji standardowych (plik RMFORT.LIB) oraz inne
programy usługowe i organizacyjne. Uzupełnieniem tego pakietu jest moduł podprogramów
graficznych (plik EGAB.OBJ) i moduł podprogramów usługowych (APLB.OBJ) opracowane w celu
realizowania funkcji graficznych na monitorach z kart
ą
graficzn
ą
typu EGA, VGA i SVGA oraz dla
usprawnienia komunikacji z dyskami, klawiatur
ą
i mysz
ą
.
W tym opracowaniu przyjmuje si
ę
,
Ŝ
e wymienione pliki s
ą
w katalogu C:\RMFORT
wymienionym w
ś
cie
Ŝ
ce dost
ę
pu pliku wsadowego AUTOEXEC.BAT.
B. Struktura programu
Podstawow
ą
jednostk
ą
programow
ą
w FORTRAN-nie jest segment składaj
ą
cy si
ę
z sekwencji
linii programowych zako
ń
czonej lini
ą
END. Segmentem w tym sensie jest:
- program główny,
- podprogram,
- funkcja niestandardowa,
- segment typu BLOCK DATA.
Program realizowalny na komputerze musi zawiera
ć
co najmniej program główny. Ponadto w
jego skład mog
ą
wchodzi
ć
pozostałe segmenty stosownie do potrzeb. Poszczególne segmenty mog
ą
by
ć
oddzielnymi plikami typu FOR. Mog
ą
te
Ŝ
zawiera
ć
si
ę
w jednym lub wi
ę
cej wspólnych plikach
typu FOR z tym zastrze
Ŝ
eniem aby program główny poprzedzał pozostałe segmenty.
Ze wzgl
ę
du na sposoby kodowania i spełniane funkcje, zawarto
ść
linii programowych mo
Ŝ
na
podzieli
ć
na trzy ni
Ŝ
ej krótko scharakteryzowane grupy.
Instrukcje
. Instrukcje s
ą
podstawowymi składnikami segmentów. Koduje si
ę
je w przedziale od 7 do
72 pozycji linii. Je
ś
li instrukcja przekracza ten zakres, mo
Ŝ
na j
ą
kontynuowa
ć
w nast
ę
pnym wierszu,
sygnalizuj
ą
c kontynuacj
ę
przez umieszczenie znaku ró
Ŝ
nego od 0 lub spacji na 6-tej pozycji. W tym
opracowaniu przyj
ę
to,
Ŝ
e jest to znak *. Instrukcja mo
Ŝ
e zawiera
ć
do 19-tu linii kontynuacji.
Etykiety
. Etykieta jest ci
ą
giem od 1 do 5-ciu cyfr zapisanym w pozycjach 1-5 linii instrukcji. Nie
mo
Ŝ
na u
Ŝ
y
ć
etykiety składaj
ą
cej si
ę
z samych zer. Warto
ś
ci liczbowe wszystkich etykiet w ramach
segmentu musz
ą
by
ć
ró
Ŝ
ne.
Komentarze
. Komentarz mo
Ŝ
e by
ć
umieszczony w dowolnym miejscu segmentu jako linia
komentarza. W linii komentarza na pozycji 1 musi wyst
ą
pi
ć
litera C. Tre
ść
komentarza w postaci
dowolnej informacji dla programisty zapisuje si
ę
w pozycjach 2-80. Komentarz mo
Ŝ
na tak
Ŝ
e umie
ś
ci
ć
w 73-80 pozycji linii instrukcji. Komentarze s
ą
ignorowane przez kompilator, a zatem nie wpływaj
ą
na przebieg programu.
Dla ilustracji, ni
Ŝ
ej podano przykład programu organizuj
ą
cego rozwi
ą
zywanie równania
kwadratowego (Program główny) i podprogramu obliczania pierwiastków tego równania
(Podprogram).
1
Program główny
C Program "RKWAD" sterujacy obliczaniem rzeczywistych
C pierwiastkow rownania kwadratowego
C
PROGRAM rowkwad
REAL a,b,c,x1,x2
302 FORMAT(/' Podaj wspolczynniki A, B, C jako trzy liczby'/
* ' oddzielone spacjami. Po ostatniej liczbie wcisnij Enter'/)
WRITE(*,302)
C Czytanie wspolczynnikow, wywolanie podprogramu i badanie rozwiazan
READ(*,*) a,b,c
CALL pierw(a,b,c,x1,x2,i)
IF (i.GT.0) GOTO 50
C Jesli brak pierwiastkow rzeczywistych
WRITE(*,304)
304 FORMAT(' Brak rozwiazania w R')
STOP '0 pierwiastkow'
50 IF (i.GT.1) GOTO 60
C Jesli jeden pierwiastek
WRITE(*,300) x1
300 FORMAT(' x=',e12.4)
STOP '1 pierwiastek'
C Jesli dwa pierwiastki
60 WRITE(*,303) x1,x2
303 FORMAT(' x1=',e12.4,' x2=',e12.4)
STOP '2 pierwiastki'
END
Podprogram
C Podprogram "PIERW" oblicza pierwiastki rownania kwadratowego
C na wejsciu: u, v, w - wspólczynniki rownania
C na wyjsciu: k=0 jesli nie istnieja pierwiaski,
C k=1 jesli 1 pierwiastek - w p1,
C k=2 jesli 2 pierwiastki - w p1 i p2
C
SUBROUTINE pierw(u,v,w,p1,p2,k)
REAL u,v,w,p1,p2,delta
delta=v*v-4.0*u*w
C Jesli delta < 0
IF (delta.LT.0.0) THEN
k=0
RETURN
ENDIF
C Jesli delta = 0
IF (delta.EQ.0.0) THEN
k=1
p1=-v/(u+u)
RETURN
ENDIF
C Jesli delta > 0
IF (delta.GT.0.0) THEN
k=2
delta=sqrt(delta)
p1=(-v-delta)/(u+u)
p2=(-v+delta)/(u+u)
RETURN
ENDIF
END
2
C. Przygotowanie i uruchomienie programu.
Zakładaj
ą
c,
Ŝ
e powy
Ŝ
szy program i podprogram b
ę
d
ą
oddzielnymi plikami nale
Ŝ
y wykona
ć
poni
Ŝ
szy zestaw czynno
ś
ci.
1. Przy pomocy edytora NE (Norton Editor) utworzy
ć
w bie
Ŝą
cym katalogu plik
ź
ródłowy
programu głównego RKWAD.FOR oraz plik
ź
ródłowy podprogramu PIERW.FOR
2. Wykona
ć
kompilacj
ę
plików
ź
ródłowych wykonuj
ą
c komendy:
RMFORT RKWAD/N
RMFORT PIERW/N
W efekcie, z plików
ź
ródłowych RKWAD.FOR, PIERW.FOR otrzymuje si
ę
pliki
skompilowane RKWAD.OBJ, PIERW.OBJ (Object module).
3. Przeprowadzi
ć
ł
ą
czenie plików skompilowanych za pomoc
ą
komendy:
PLINK86 FI RKWAD,PIERW LIB C:\RMFORT\RMFORT.LIB
W efekcie z plików skompilowanych RKWAD.OBJ i PIERW.OBJ oraz pliku bibliotecznego
RMFORT.LIB zostanie utworzony moduł ładowalny (wykonywalny) programu w postaci pliku
RKWAD.EXE dalej nazywany krótko programem.
Je
ś
li plik RMFORT.LIB jest umieszczony w katalogu głównym dysku C, powy
Ŝ
sz
ą
instrukcj
ę
ł
ą
czenia mo
Ŝ
na napisa
ć
w postaci skróconej:
PLINK86 FI RKWAD,PIERW
4. Zainicjowa
ć
wykonanie programu. W tym celu nale
Ŝ
y napisa
ć
komend
ę
:
RKWAD
W czasie kompilacji, ł
ą
czenia i wykonania programu mog
ą
pojawi
ć
si
ę
na ekranie komunikaty
o bł
ę
dach. Przyczyny bł
ę
dów musz
ą
by
ć
usuni
ę
te przez modyfikacj
ę
plików
ź
ródłowych, a tworzenie
programu nale
Ŝ
y powtórzy
ć
.
Uwaga: System operacyjny DOS jak te
Ŝ
RMFORT nie rozró
Ŝ
niaj
ą
małych i du
Ŝ
ych liter. Wyj
ą
tkiem s
ą
stałe tekstowe FORTRAN-u. St
ą
d wynika,
Ŝ
e zarówno pliki
ź
ródłowe programu jak te
Ŝ
komendy mog
ą
by
ć
pisane małymi lub du
Ŝ
ymi literami a tak
Ŝ
e w sposób mieszany. Tutaj przyj
ę
to umow
ę
,
Ŝ
e komendy
dla DOS-a i słowa kluczowe FORTRANU s
ą
pisane du
Ŝ
ymi literami. Inne elementy jak zmienne,
nazwy funkcji podprogramów itp. w zasadzie małymi literami.
Powy
Ŝ
szy ci
ą
g czynno
ś
ci mo
Ŝ
e by
ć
modyfikowany z uwzgl
ę
dnieniem zmiany nazw plików,
liczby podprogramów oraz wymaga
ń
specjalnych zawartych w komendach dla kompilatora i
programu ł
ą
cz
ą
cego.
Jednym ze sposobów usprawniaj
ą
cych prac
ę
tworzenia programu jest przygotowanie w
bie
Ŝą
cym katalogu pliku wsadowego z zestawem potrzebnych komend, np. pliku KW.BAT jak
poni
Ŝ
ej:
RMFORT RKWAD/N
PAUSE
RMFORT PIERW/N
PAUSE
PLINK86 FI RKWAD,PIERW LIB C:\RMFORT\RMFORT.LIB
PAUSE
RKWAD
3
Plik z chomika:
mikroprocesory
Inne pliki z tego folderu:
Fortran+77+-+W.pdf
(293 KB)
Fortran+77+-+ c4 86w.pdf
(152 KB)
odra-komp-05.jpg
(32 KB)
artodra.pdf
(181 KB)
console-logs.txt
(5 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
!!PROGRAMOWANIE!!
• Eagle 5.6 Full + podręcznik PL
[CodeGear.RAD.Studio.-.Delphi.2007
Zgłoś jeśli
naruszono regulamin