ΑΣΤΡΙΝΆΚΗ ΜΑΡΊΑ Δυσδιάστατοι πίνακες. Γιατί πολυδιάστατους πίνακες; Αναλόγως με τις ανάγκες του προγράμματος, μπορεί να είναι πιο εύχρηστοι Προβλήματα.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Advertisements

7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
ΕΝΤΟΛΕΣ.
Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη
Πίνακες.
Το υλικο του Υπολογιστη
Εισαγωγή στους Η/Υ Πίνακες.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Παράδειγμα 2: Κινηματογράφοι Να γραφεί πρόγραμμα το οποίο:
ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Η Αρχιτεκτονική των Επεξεργαστών Ψ.Ε.Σ Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 4: Δείκτες, συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ.
Εισαγωγή στο MATLAB.
Δομές Διακλάδωσης.
Παράδειγμα 5: Θερμοκρασίες
Παράδειγμα 1: Κόστος Υπολογιστών Το πρόγραμμα υπολογίζει το συνολικό κόστος παραγγελιών υπολογιστών.Το πρόγραμμα διαβάζει από το πληκτρολόγιο την ποσότητα.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 5: Επαναληπτικές και εξωτερικές συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 3: Δείκτες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ι. Σαρρής, τηλ.
Γενική μορφή προγράμματος Pascal
Αρχές Προγραμματισμού (C). ...γράφοντας σωστά προγράμματα! (IIΙ)
Τελεστές ανάθεσης (assignment)
Συστήματα Αρίθμησης  Δυαδικό  Δεκαδικό  Δεκαεξαδικό.
1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Ι. Σαρρής, τηλ. Διάλεξη 2: Αντικείμενα.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
National Technical University of Athens (NTUA), GreeceInstitute of Structural Analysis & Seismic Research (ISASR) Προχωρημένες υπολογιστικές τεχνικές και.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΓΛΩΣΣΑΣ PASCAL ΠΑΡΟΥΣΙΑΣΗ ΠΑΡΑΔΕΙΓΜΑΤΟΣ: ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕ ΤΙΣ ΤΡΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ.
ΛΟΓΙΣΜΙΚΟ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ MERLIN / MCL 3.0 ΠΕΡΙΒΑΛΛΟΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Μετατροπή Εκφράσεων σε C
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #2
Εντολές Επιλογής και Αποφάσεων
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Κατηγορίες δεδομένων Σταθερές. Αυτά που έχουν σταθερή τιμή κατά τη διάρκεια εκτέλεσης του προγράμματος. Οι σταθερές χωρίζονται σε δύο κατηγορίες : α) στις.
Οι εντολές επανάληψης Σε πολλά προβλήματα απαιτείται η επανάληψη ενός συνόλου ενεργειών προκειμένου να λυθεί το πρόβλημα. Θα αναφέρουμε δύο χαρακτηριστικά.
2η άσκηση Να γραφεί πρόγραμμα που θα ζητάει τους a,b συντελεστές και τους δύο πρώτους όρους x 1, x 2 της αναγωγικής ακολουθίας x n = ax n-1 +bx n-2 και.
Πολυδιάστατοι πίνακες α) Στατικοί πίνακες Πως δηλώνονται: π.χ. INTEGER A(3,5) REAL B(1991:2000,1:12) REAL C(4,8,12:20) ή INTEGER, DIMENSION(3,5)::A REAL,
Ο τελεστής ανάθεσης Ο τελεστής ανάθεσης (=) χρησιμοποιείται για να τοποθετήσουμε το αποτέλεσμα μιας έκφρασης (σταθερά, μεταβλητή ή παράσταση) σε μια μεταβλητή.
Συναρτήσεις - Διαδικασίες Ν. Π. Καραμπετάκης Τμήμα Μαθηματικών, Α.Π.Θ.
Υποπίνακες 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.
2) Aν δανειστούμε ένα ποσό Α με επιτόκιο Τ=Ε% και υποχρεωθούμε να το ξεχρεώσουμε σε Ν χρόνια, τότε το ποσό της μηνιαίας δόσης Μ θα δίνεται από τον τύπο.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Αναδρομικές Συναρτήσεις Σύνταξη: RECURSIVE type FUNCTION name1 (variables) RESULT (name2) IMPLICIT NONE Τμήμα δηλώσεων Εκτελέσιμες εντολές END FUNCTION.
Προγραμματισμός ΗΥ Ενότητα 6: Δισδιάστατοι πίνακες.
Προγραμματισμός & Εφαρμογές Η/Υ (Θ) Ενότητα 4: Εισαγωγή στο Προγραμματισμό με τη FORTRAN 2003 (μέρος 4 ο ) Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα.
Γλώσσες προγραμματισμού Ένας αλγόριθμος όταν περιγραφεί με μια μορφή που τη δέχεται ένας υπολογιστής, λέγεται πρόγραμμα (prοgram, prοgramme)
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.
Ε ΙΣΑΓΩΓΉ Σ ΤΟΥΣ Μ ΟΝΟΔΙΑΣΤΑΤΟΥΣ Π ΊΝΑΚΕΣ Αστρινάκη Μαρία.
Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.
Τύποι μεταβλητών & σταθερών (1 από 2)
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Ασκήσεις στην Java-XML
Η Γλώσσα Pascal Εντολή If
Εφαρμογές Υπολογιστών
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ΤΕΛΟΣ_ΑΝ
Ενισχυτική διδασκαλία
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
ΓΕΜΙΣΜΑ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ (Άσκηση 1)
Η Γλώσσα Pascal Υποπρογράμματα
Μεταγλωττιστές Μεταγλωττιστής είναι το λογισμικό το οποίο πραγματοποιεί την μετάφραση ενός προγράμματος από μία γλώσσα σε μία άλλη. Γιατί ασχολούμαστε.
Μεταγράφημα παρουσίασης:

ΑΣΤΡΙΝΆΚΗ ΜΑΡΊΑ Δυσδιάστατοι πίνακες

Γιατί πολυδιάστατους πίνακες; Αναλόγως με τις ανάγκες του προγράμματος, μπορεί να είναι πιο εύχρηστοι Προβλήματα γραμμικής άλγεβρας Παράδειγμα: δηλώστε σε πρόγραμμα έναν πίνακα για 100 σημεία με δύο συνιστώσες το καθένα PROGRAM POINTS IMPLICIT NONE DOUBLE PRECISION P(2,100) εντολές… END

Δήλωση πολυδιάστατων πινάκων Οι επιπλέον διαστάσεις χωρίζονται με κόμμα Στη Fortran μπορούμε να έχουμε μέχρι και 7 διαστάσεις PROGRAM test IMPLICIT NONE DOUBLE PRECISION P(2,100) INTEGER I(2,3), K(6,3), M(2,2,4) DOUBLE PRECISION R(100,100,100) Integer, Dimension(3, 2) :: Α, Β εντολές… END PROGRAM test IMPLICIT NONE DOUBLE PRECISION P(2,100) INTEGER I(2,3), K(6,3), M(2,2,4) DOUBLE PRECISION R(100,100,100) Integer, Dimension(3, 2) :: Α, Β εντολές… END

Δυσδιάστατοι πίνακες/εισαγωγή δεδομένων Έστω ότι έχουμε έναν πίνακα Β(3, 2) όπου H fortran τοποθετεί τα στοιχεία κατά στήλες στην μνήμη ΔΗΛΑΔΗ Β(1,1) Β(2,1), Β(3,1) και στη συνέχεια Β(1,2), Β(2,2), Β(3,2), ΓραμμέςΣτήλες

Εισαγωγή τιμών σε δυσδιάστατο πίνακα Με Εντολές Εισόδου απευθείας ανάγνωση του πίνακα Α Με εντολή ανάθεσης Με την εντολή Data

Εντολές εισόδου(Read) (1/3) Αν θέλουμε να δώσουμε δυναμικά τιμές σε έναν πίνακα κατά την διάρκεια εκτέλεσης προγράμματος χρησιμοποιούμε την εντολή Do…End do Διάβασμα τιμών ενός δυσδιάστατου πίνακα κατά γραμμές: Integer A Dimension A(3, 2) Do i =1, 3 Do j =1, 2 Read(*, *) A(i, j) End Do Διάβασμα τιμών ενός δυσδιάστατου πίνακα κατά στήλες: Integer A Dimension A(3, 2) Do j =1, 2 Do i =1, 3 Read(*, *) A(i, j) End Do

Εντολές εισόδου Read(2/3) Να έχουμε απευθείας ανάγνωση του πίνακα Α Integer A Dimension A(3, 2) Read(*, *) Α Προσοχή: Επειδή η Fortran αποθηκεύει τις τιμές ενός δυσδιάστατου πίνακα κατά στήλες θα πρέπει να δίνουμε τις τιμές του πίνακα Α κατά στήλες.

Εντολή εισόδου Read(3/3) Έμμεση εντολή Do Integer A Dimension A(3, 2) Read(*, *) ((A(i,j), j = 1, 2), i = 1, 3) Κατά γραμμές γέμισμα Integer A Dimension A(3, 2) Read(*, *) ((A(i,j), i = 1, 3), j = 1, 2) Κατά στήλες γέμισμα

Με εντολές ανάθεσης Αν έχουμε τον πίνακα Α(3, 2) και θέλουμε να δώσουμε τις τιμές Integer A Dimension A(3, 2) Α(1, 1) = 1 Α(1, 2) = 2 Α(2, 1) = 2 Α(2, 2) = 4 Α(3, 1) = 3 Α(3, 2) = 6 Integer A Dimension A(3, 2) Do i = 1, 3 Do j = 1, 2 Α(i,j) = i*j End Do

Με την εντολή Data Αν έχουμε τον πίνακα Α(3, 2) και θέλουμε να δώσουμε τις τιμές Data A / 1, 2, 3, 2, 4, 6 / Επειδή η Fortran αποθηκεύει τις τιμές ενός δυσδιάστατου πίνακα κατά στήλες θα πρέπει να δίνουμε τις τιμές του πίνακα Α κατά στήλες

Πως εκτυπώνουμε τις τιμές σε δυσδιάστατο πίνακα ?(1/3) Με χρήση της εντολής Do – End Do Εκτύπωση κατά γραμμές Integer A Dimension A(3, 2) Do i =1, 3 Do j = 1, 2 Write(*, *) A(i, j) End Do Εκτύπωση κατά γραμμές

Πως εκτυπώνουμε τις τιμές σε δυσδιάστατο πίνακα ?(2/3) Με χρήση της υπονοούμενης εντολής Do Integer A Dimension A(3, 2) Do i =1, 3 Write*, *) (A(i, j), j = 1, 2) End Do

Πως εκτυπώνουμε τις τιμές σε δυσδιάστατο πίνακα ?(3/3) Με απευθείας εκτύπωση Integer A Dimension A(3, 2) Write(*, *) Α Εκτυπώνονται οι τιμές του πίνακα η μία κάτω από την άλλη κατά στήλες.

Παράδειγμα #1 Ανάθεση τιμών Γράψτε πρόγραμμα που δημιουργεί το παρακάτω 2×2 πίνακα PROGRAM EXAMPLE IMPLICIT NONE INTEGER Α(2,2) Α(1,1) = 10 Α(2,1) = 30 Α(1,2) = 20 Α(2,2) = 40 END

Παράδειγμα #2 Ανάθεση τιμών με εντολή READ: Γράψτε πρόγραμμα που δημιουργεί και διαβάζει έναν πίνακα 2×3, μια-μια τις στήλες PROGRAM EXAMPLE IMPLICIT NONE INTEGER Α(2,3) WRITE(*,*) ‘ΔΩΣΕ ΤΑ ΣΤΟΙΧΕΙΑ ΤΟΥ ΠΙΝΑΚΑ’ WRITE(*,*) ‘ΔΩΣΕ ΜΙΑ-ΜΙΑ ΤΙΣ ΣΤΗΛΕΣ’ READ(*,*) A(1,1),A(2,1),A(1,2),A(2,2),A(1,3),A(2,3) END PROGRAM EXAMPLE IMPLICIT NONE INTEGER Α(2,3), I, J WRITE(*,*) ‘ΔΩΣΕ ΤΑ ΣΤΟΙΧΕΙΑ ΤΟΥ ΠΙΝΑΚΑ’ WRITE(*,*) ‘ΔΩΣΕ ΜΙΑ-ΜΙΑ ΤΙΣ ΣΤΗΛΕΣ’ READ(*,*) ((A(I,J), I = 1, 2), J = 1, 3) END ή

Παράδειγμα #3 Ανάθεση τιμών με εντολή READ Γράψτε πρόγραμμα που δημιουργεί και διαβάζει έναν πίνακα 2×3, μια-μια τις γραμμές PROGRAM EXAMPLE_Β IMPLICIT NONE INTEGER Α(2,3) WRITE(*,*) ‘ΔΩΣΕ ΤΑ ΣΤΟΙΧΕΙΑ ΤΟΥ ΠΙΝΑΚΑ’ WRITE(*,*) ‘ΔΩΣΕ ΜΙΑ-ΜΙΑ ΤΙΣ ΓΡΑΜΜΕΣ’ READ(*,*) A(1,1),A(1,2),A(1,3),A(2,1),A(2,2),A(2,3) END PROGRAM EXAMPLE_Β IMPLICIT NONE INTEGER Α(2,3), I, J WRITE(*,*) ‘ΔΩΣΕ ΤΑ ΣΤΟΙΧΕΙΑ ΤΟΥ ΠΙΝΑΚΑ’ WRITE(*,*) ‘ΔΩΣΕ ΜΙΑ-ΜΙΑ ΤΙΣ ΓΡΑΜΜΕΣ’ READ(*,*) ((A(I,J), J = 1, 3), I = 1, 2) END ή

Παράδειγμα #4 Γράψτε πρόγραμμα που δημιουργεί τον παρακάτω 4×3 πίνακα, και κατόπιν τον εξάγει στην οθόνη PROGRAM EXAMPLE IMPLICIT NONE INTEGER Α(3,4), I, J READ(*,*) ((A(I,J), I = 1, 4), J = 1, 3) DO I = 1, 4 WRITE(*,*) (A(I,J), J = 1, 3) END DO end PROGRAM EXAMPLE IMPLICIT NONE INTEGER Α(3,4), I, J READ(*,*) ((A(I,J), I = 1, 4), J = 1, 3) DO I = 1, 4 WRITE(*,*) (A(I,J), J = 1, 3) END DO end

Τελικά με ποιο τρόπο αναθέτουμε στοιχεία στις θέσεις πινάκων? Τελικά, τι να κάνουμε, γραμμή-γραμμή ή στήλη- στήλη? Εάν ακολουθούμε την διάταξη της μνήμης, οι πράξεις εκτελούνται πιο γρήγορα δηλαδή γέμισμα με στήλη-στήλη

Παράδειγμα #4 Πολλαπλασιασμός πινάκων (1/3) Έστω δύο πίνακες Α(Ν,Ν) και Β(Ν,Ν). Το γινόμενό τους Α·Β είναι ένας πίνακας C(Ν,Ν), όπου το κάθε στοιχείο Cij είναι το εσωτερικό γινόμενο της i γραμμής του Α επί την j στήλη του Β

Παράδειγμα #4 Πολλαπλασιασμός πινάκων (2/3) Γράψτε πρόγραμμα που διαβάζει δύο πίνακες Ν×Ν να υπολογίζει και να τυπώνει το γινόμενό τους PROGRAM MULTIPLY IMPLICIT NONE INTEGER NMAX, N, I, J, K PARAMETER (NMAX = 1000) DOUBLE PRECISION Α(NMAX,NMAX), B(NMAX,NMAX), & C(NMAX,NMAX), WRITE(*,*) ‘ΠΟΙΑ Η ΔΙΑΣΤΑΣΗ ΤΩΝ ΠΙΝΑΚΩΝ;’ READ(*,*) Ν IF (N.GT. NMAX.OR. N.LE. 0) THEN WRITE(*,*) ‘ΛΑΘΟΣ: ΜΕΧΡΙ’, ΝΜΑΧ STOP END IF WRITE(*,*) ‘ΔΩΣΕ ΤΟΥΣ ΠΙΝΑΚΕΣ ΣΤΗΛΗ-ΣΤΗΛΗ;’ READ(*,*) ((A(I,J), I = 1, N), J = 1, N) READ(*,*) ((B(I,J), I = 1, N), J = 1, N)

Παράδειγμα #4 Πολλαπλασιασμός πινάκων (3/3) DO J = 1, N DO I = 1, N C(I,J) = 0 DO K = 1, N C(I,J) = C(I,J) + A(I,K) * B(K,J) END DO WRITE(*,*) ‘ΤΟ ΓΙΝΟΜΕΝΟ Α ΕΠΙ Β ΕΙΝΑΙ Ο ΠΙΝΑΚΑΣ:’ DO I = 1, N WRITE(*,*) (C(I,J), J = 1, N) END DΟ END

Παράδειγμα#6 Να γραφεί πρόγραμμα που θα δημιουργεί τον παρακάτω πίνακα Α(3x3) και να τον τυπώνει σε τυποποιημένη μορφή(δυναμικός πίνακασ) program main IMPLICIT NONE integer, parameter :: N=3 integer, allocatable, dimension(:,:) :: A allocate(A(N,N)) A(1,1)=1;A(1,2)=0;A(1,3)=0 A(2,1)=0;A(2,2)=1;A(2,3)=0 A(3,1)=0;A(3,2)=0;A(3,3)=1 print *, A(1,1), A(1,2), A(1,3) print *, A(2,1), A(2,2), A(2,3) print *, A(3,1), A(3,2), A(3,3) deallocate(A) end