Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7."— Μεταγράφημα παρουσίασης:

1 Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7 A(:)=7 τότε θα έχουμε A(1)=…=A(10)=7

2 Όμοια για πίνακες περισσότερων διαστάσεων π.χ. REAL B(15,100) B(2:13:3,3:70:2)=9 B(4:8,50:70:3)=6

3 3η άσκηση Να γραφεί πρόγραμμα που θα διαβάζει ένα τετράγωνο πίνακα Α τάξης 2 και έκτασης ΝxΝ και στη συνέχεια θα υπολογίζει και θα εκτυπώνει τον σύμμορφο πίνακα Β του οποίου τα στοιχεία δίνονται από την σχέση : όπου A ij είναι το στοιχείο της i γραμμής και j στήλης του πίνακα Α.

4 Συναρτήσεις και διαδικασίες

5 Υποπρογράμματα ΣυναρτήσειςΔιαδικασίες Συναρτήσεις Βιβλιοθήκης (Intrinsic Functions) π.χ. COS, SIN Συναρτήσεις Εντολής (Statement Functions) Συναρτήσεις Υποπρογράμματος (Function Subprograms) Εσωτερικές Συναρτήσεις (Internal Functions) Εξωτερικές Συναρτήσεις (External Functions)

6 Συναρτήσεις Εντολής όνομα συνάρτησης(λίστα μεταβλητών)=έκφραση Ο τύπος τους τοποθετείται στο τμήμα δηλώσεων του προγράμματος Παράδειγμα PROGRAM FUNCTIONS1 REAL X,Y,A,B F1(X,Y)=X**9+SIN(Y**3) READ*, A,B PRINT*, F1(A,B) END PROGRAM FUNCTIONS1

7 PROGRAM FUNCTIONS1 REAL X,Y F1(X,Y)=X**9+SIN(Y**3) READ*, X,Y PRINT*, F1(X,Y) END PROGRAM FUNCTIONS1

8 Συναρτήσεις Υποπρογράμματος Σύνταξη: type FUNCTION name (variables) IMPLICIT NONE Τμήμα δηλώσεων Εκτελέσιμες εντολές END FUNCTION name ΠΡΟΣΟΧΗ! Το όνομα της συνάρτησης δεν εμφανίζεται ποτέ δεξιά σε μια παράσταση που βρίσκεται στις εκτελέσιμες εντολές της συνάρτησης.

9 Θέση μέσα στο πρόγραμμα PROGRAM name IMPLICIT NONE Τμήμα δηλώσεων Εκτελέσιμες εντολές CONTAINS Εδώ τοποθετούνται οι συναρτήσεις END PROGRAM name

10 Παράδειγμα Να γραφεί συνάρτηση που υπολογίζει το παραγοντικό ενός φυσικού αριθμού Ν.

11 PROGRAM FUNCTIONS1 IMPLICIT NONE INTEGER N 10 READ*, N IF (N<0) GOTO 10 PRINT*, FACTORIAL(N) CONTAINS INTEGER FUNCTION FACTORIAL(M) IMPLICIT NONE INTEGER M,I,F F=1 IF (M>0) THEN DO I=1,M F=F*I END DO FACTORIAL=F END FUCTION FACTORIAL END PROGRAM FUNCTIONS1 Ν: καθολική μεταβλητή Μ,Ι,F: τοπικές μεταβλητές

12 PROGRAM FUNCTIONS1 IMPLICIT NONE INTEGER N 10 READ*, N IF (N<0) GOTO 10 PRINT*, FACTORIAL(N) CONTAINS INTEGER FUNCTION FACTORIAL(N) IMPLICIT NONE INTEGER, INTENT(IN):: N INTEGER I,F F=1 IF (N>0) THEN DO I=1,N F=F*I END DO END IF FACTORIAL=F END FUCTION FACTORIAL END PROGRAM FUNCTIONS1 Η μεταβλητή Ν δεν μπορεί να αλλάξει τιμή μέσα στην συνάρτηση

13 Παράδειγμα Να γραφεί συνάρτηση η οποία υπολογίζει την Μοστή δύναμη ενός τετραγωνικού πίνακα διάστασης ΝxN.

14 PROGRAM MATRIX_FUNCTIONS IMPLICIT NONE REAL, ALLOCATABLE :: A(:,:),C(:,:) INTEGER I,J,N,M PRINT*,’DIMENSION OF THE MATRIX=’ READ*,N ALLOCATE ( A(N,N) ) READ*, ((A(I,J),J=1,N),I=1,N) PRINT*,’POWER INDEX =’ READ*,M C=MATRIXPOWER(A,N,M) DO I=1,N DO J=1,N WRITE(*,10) C(I,J) 10 FORMAT(F7.2\) END DO PRINT* END DO

15 CONTAINS FUNCTION MATRIXPOWER(A,N,M) IMPLICIT NONE INTEGER, INTENT(IN):: N,M REAL, INTENT(IN):: A REAL P(N,N), MATRIXPOWER(N,N) INTEGERI DO I=1,N P(I,I)=1 END DO DO I=1,M P=MATMUL(A,P) END DO MATRIXPOWER=P END FUNCTION MATRIXPOWER END PROGRAM MATRIX_FUNCTIONS

16 Παράδειγμα Να γράψετε πρόγραμμα που να υπολογίζει με τη βοήθεια συναρτήσεων το:

17 PROGRAM FUNCTIONS2 IMPLICIT NONE INTEGER N,M PRINT*, ‘GIVE N, M’ 10 READ*, N,M IF (N

18 IF (N>0) THEN DO I=1,N F=F*I END DO END IF FACTORIAL=F END FUNCTION FACTORIAL INTEGER FUNCTION BIFACTORIAL(N,M) IMPLICIT NONE INTEGER, INTENT(IN):: N,M BIFACTORIAL=FACTORIAL(N)/ & (FACTORIAL(M)*FACTORIAL(N-M)) END FUNCTION BIFACTORIAL END PROGRAM FUNCTIONS2


Κατέβασμα ppt "Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google