Fortran+77+-+ c4 86w.pdf

(152 KB) Pobierz
FORTRAN77_CW
FORTRAN 77
materiały pomocnicze do ć wicze ń
Opracowanie:
dr J. Budzi ń ski
dr S. Prajsnar
dr J. Styszy ń ski
 
FORTRAN 77
MATERIAŁY POMOCNICZE DO Ć WICZE Ń
2
FORTRAN 77
MATERIAŁY POMOCNICZE DO Ć WICZE Ń
1. Wpisz do pliku rkwad.for (lub rkwad.f )nast ę puj ą cy program:
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
2. Wpisz do pliku pierw.for (lub rkwad.f ) nast ę puj ą cy 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
3
FORTRAN 77
MATERIAŁY POMOCNICZE DO Ć WICZE Ń
3. Wykonaj kompilacj ę plików ź ródłowych:
RMFORT RKWAD/N
RMFORT PIERW/N
4. Przeprowad ź ł ą czenie plików skompilowanych za pomoc ą komendy:
PLINK86 FI RKWAD,PIERW LIB C:\RMFORT\RMFORT.LIB
5. Zainicjuj wykonanie programu:
RKWAD
6. Utwórz plik kw.bat jak poni Ŝ ej:
RMFORT RKWAD/N
PAUSE
RMFORT PIERW/N
PAUSE
PLINK86 FI RKWAD,PIERW LIB C:\RMFORT\RMFORT.LIB
PAUSE
RKWAD
W efekcie czynno ś ci wymienione w p. 3-5 b ę d ą kolejno wykonane po napisaniu komendy:
KW
Dla u Ŝ ytkowników systemu LINUX:
3. Wykonaj kompilacj ę i ł ą czenie plików ź ródłowych:
g77 rkwad.f pierw.f –o rkwad.x
4. Zainicjuj wykonanie programu:
./rkwad.x
4
 
FORTRAN 77
MATERIAŁY POMOCNICZE DO Ć WICZE Ń
7. Podaj typ i długo ść stałej; zaznacz stałe niezgodne z F77
-1
-5.55D-03
'Ala'
2
0.0D0
7Hma kota
+0
0.0
-222.D+01
(0.0,0.0)
0.0E0
.true.
(3.3E0, 4.4D1)
137
false
-1.0000
137.
+137.0D1
8. Które z podanych nazw symbolicznych s ą niezgodne z F77 ?
ala
yy
1ala
3zz
x23
zmienna
x(23)
ola10
zorro
U2
9. Zadeklaruj nast ę puj ą c ą tablic ę :
a)
(0.0, 1.1)
(2.0,-3.5)
(1.0,3.0)
(2.0,10.9)
(-1.0,0.0)
(0.0,5.5)
b)
1.5
2.0
-3.3
18.0
0.0
-1.1
222.0
-0.5
-1.1
0.0
0.0
1.1
c)
a
ijkl
, gdzie
i
=
0
2
,...,
10
;
j
=
-
3
-
2
-
1
;
k
=
-
5
,...,
5
;
10
£
l
£
50
oraz
a
ijkl
- przyjmuje warto ś ci typu DOUBLE PRECISION
5
Zgłoś jeśli naruszono regulamin