Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Σχετικά έγγραφα
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΣΥΝΑΡΤΗΣΕΙΣ FORTRAN 90/95

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

8 FORTRAN 77/90/95/2003

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Δείκτες & Πίνακες Δείκτες, Πίνακες

ΑΝΑΛΥΤΙΚΗ ΠΕΡΙΓΡΑΦΗ ΣΥΝΑΡΤΗΣΕΩΝ ΒΙΒΛΙΟΘΗΚΗΣ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

Υπολογιστές Ι. Άδειες Χρήσης. Πολυδιάστατοι πίνακες. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Δομή προγράμματος στη Fortran

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension.

Μονοδιάστατοι πίνακες (συνέχεια)

Fortran και Αντικειμενοστραφής προγραμματισμός.

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

πινάκων Σύγχρονα Προγραματιστικά Περιβάλλοντα ΠΕΡΙΕΧΟΜΕΝΑ

Άσκηση 1. O υπολογισμός να γίνει: α) με την τεχνική αθροίσματος σε μεταβλητή

Προγραμματισμός I (Θ)

Δομή προγράμματος στη Fortran

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Διαδικασιακός Προγραμματισμός

Εισαγωγή στον Προγραμματισμό

Oι εντολές COMMON και PARAMETER

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Ενδεικτικές Ερωτήσεις Θεωρίας

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Fortran και Αντικειμενοστραφής προγραμματισμός.

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

Επιµέλεια Θοδωρής Πιερράτος

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Μορφοποίηση της εξόδου

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΕΤΑΡΤΗ 20 ΙΟΥΝΙΟΥ 2018

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Προγραμματισμός Ι (ΗΥ120)

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Γιατί πολυδιάστατους πίνακες; ΠΟΛΥΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ. Δήλωση πολυδιάστατων πινάκων. Δήλωση πολυδιάστατων πινάκων

9.1. Προσδοκώμενα αποτελέσματα

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Μονοδιάστατοι πίνακες


FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Κεφάλαιο 5ο: Εντολές Επανάληψης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2. Μέϱος A. Πολλαπλές επιλογές (20%) Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Μονοδιάστατοι πίνακες

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

Πρόβλημα 37 / σελίδα 207

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

ΚΕΦΑΛΑΙΑ 3 & 9 (ΠΙΝΑΚΕΣ)

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

Γλώσσα Προγραμματισμού C

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Διαδικασιακός Προγραμματισμός

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

1 Πίνακες 1.1 Συνοπτική θεωρία

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

ΔΙΑΦΟΡΑ ΘΕΜΑΤΑ. Ως «γειτονικά» ορίζονται τα κελιά που συγγενεύουν οριζόντια, κάθετα και διαγώνια. Για παράδειγμα γειτονικά του Α[3,3] είναι τα:

Transcript:

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΕΙΣΑΓΩΓΗ Οι πίνακες είναι συλλογές δεδομένων που μοιράζονται τα ίδια χαρακτηριστικά. Τα στοιχεία ενός πίνακα βρίσκονται σε προκαθορισμένες αριθμημένες θέσεις (indexed) και ανήκουν όλα στον ίδιο τύπο δεδομένων Ο Η/Υ αντιλαμβάνεται τους πίνακες σαν απλές μορφές διαδοχικής καταχώρησης δεδομένων στη μνήμη του Είδη Στατικοί πίνακες: το μέγεθος δηλώνεται ρητά πριν το compilation στην περιοχή των δηλώσεων και δεν αλλάζει στην έκταση του προγράμματος Δυναμικοί πίνακες: στην περιοχή των δηλώσεων δηλώνονται ρητά οι διαστάσεις, ενώ το μέγεθος μπορεί να αλλάζει στην έκταση του προγράμματος και κατά την εκτέλεσή του. Οι πίνακες δηλώνονται ΥΠΟΧΡΕΩΤΙΚΑ

ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΠΙΝΑΚΩΝ ΣΤΗΝ FORTRAN 1. Τύπος δεδομένων: (data type) integer, real, character, logical, complex Όλα τα στοιχεία ενός πίνακα έχουν τον ίδιο τύπο και τις ίδιες παραμέτρους 2. Τάξη (rank): αριθμός διαστάσεων Μέχρι 7 διαστάσεις Συνήθως χρησιμοποιούμε τους όρους τάξη 1 Διάνυσμα (vector) 3. Όρια (bounds): τάξη 2 Μητρώο (matrix) Το κάτω και το πάνω όριο των δεικτών σε κάθε διάσταση Η έκταση (extent) σε κάθε διάσταση είναι: (πάνω όριο - κάτω όριο +1) 4. Μέγεθος (size): το συνολικό πλήθος των στοιχείων του πίνακα (το γινόμενο των εκτάσεων των διαστάσεων) 5. Μορφή (shape): Ο τρόπος διάταξης των στοιχείων του πίνακα π.χ. 3 γραμμές και 2 στήλες Δύο πίνακες με ίδια τάξη και έκταση δεικτών λέγονται σύμμορφοι (conformable)

ΔΗΛΩΣΗ ΣΤΑΤΙΚΩΝ ΠΙΝΑΚΩΝ ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ[::] ΟΝΟΜΑ (έκταση) Παραδείγματα δηλώσεων integer:: A(3) real B(10,4) real,dimension(10,4)::b,c character(10)::s(20) integer:: A(3,6,8) Ο σωστός τρόπος δήλωσης στατικού πίνακα: integer,parameter:: N=5,M=7 real:: A(N,M) Δήλωση ορίων σε κάθε διάσταση integer:: A(-5:4) real:: B(0:3, -2:2) real,dimension(1:3, 1:2)::C,D

Στοιχεία πίνακα (array elements) ΟΝΟΜΑ ΠΙΝΑΚΑ (έκφραση ακέραιου τύπου) Στοιχεία ενός πίνακα είναι τα δεδομένα που απαρτίζουν τον πίνακα Για να αναφερθούμε σε ένα στοιχείο ενός πίνακα χρειάζεται να δηλώσουμε Το όνομα του πίνακα Τη θέση του στοιχείου π.χ. Α(3) B(-3, 2) Κάθε στοιχείο του πίνακα χρησιμοποιείται όπου μπορεί να χρησιμοποιηθεί και μία απλή μεταβλητή

Αποθήκευση στη μνήμη Οι τιμές των στοιχείων του πίνακα καταχωρούνται στη μνήμη σε συνεχόμενες θέσεις αλλάζοντας πρώτα τον 1 ο δείκτη, μετά τον 2 ο κ.ο.κ. Δηλαδή η αποθήκευση ενός δισδιάστατου πίνακα γίνεται με προτεραιότητα στηλών.

Πρόσβαση στα στοιχεία του πίνακα Απαιτείται το όνομα του πίνακα και η θέση του στοιχείου στον πίνακα Η θέση (δείκτες) καθορίζεται Με ρητή δήλωση Με αριθμητικές εκφράσεις Με συναρτήσεις Με στοιχεία ενός άλλου πίνακα Συνδυασμό των παραπάνω π.χ. real:: A(3,3) real:: B(3,3), C(89), R B(2,2) = 4.5 R = 7.0 C(INT(R)*2+1) = 2.0 A(1,2) = B(INT(C(15)), INT(SQRT(R)))! C(15)=2.0! A(1,2)=B(2,2)=4.5

Τριάδες Α(3:4,3:4) Έστω ο πίνακας A 6x6 Α(3, : ) Α(3,1:6) (το βήμα υπονοείται) Α( : : 2, : : 3) Α(1:6:2,1:6:3) (το πάνω και κάτω όριο υπονοείται) Α( :, 2: : 2)

Ανάθεση τιμών στα στοιχεία του πίνακα Με εκxώρηση Integer:: Β(10,4), A(4,9) B=5! Όλα τα στοιχεία του πίνακα B παίρνουν την τιμή 5 A(2,4)=8! To στοιχείο στην 2 η γραμμή και 4 η στήλη του Α παίρνει την τιμή 8 Με επανάληψη DO Με Read real:: A(10) do i=1,10 A(i) = i end do print*, A real:: A(10) read*, A print*, A Με χρήση της random_number integer::a(3,4); real::x(3,4) call random_number(x) A=nint(X*10)+20 Τα στοιχεία σε κάθε γραμμή του πίνακα Α λαμβάνουν την τιμή της θέσης τους Καταχωρούνται από το πληκτρολόγιο τόσες τιμές όσες και το μέγεθος του πίνακα Α. Εκτυπώνονται όλα τα στοιχεία του πίνακα Α.

Ανάθεση τιμών στα στοιχεία του πίνακα (συνέχεια) Με κατασκευαστή πίνακα Μονοδιάστατοι Integer:: A(3), B(10) A=(/7,-3,2/) B=(/(i,i=1,5),(7,i=6,10)/) Με διανυσματικούς δείκτες Δισδιάστατοι Τα στοιχεία του πίνακα C λαμβάνουν την τιμή 999. Στις θέσεις των στοιχείων του C που προκύπτουν από όλους τους συνδυασμούς των τιμών των στοιχείων των Α, Β (3x3=9) εκχωρείται η τιμή 2. Με τριάδες [όνομα_πίνακα(όριο1:όριο2:βήμα)]

Παραδείγματα εξόδου Δισδιάστατου Πίνακα Έστω ο πίνακας integer::a(5,3) Τότε οι παρακάτω τρόποι έχουν το ίδιο ακριβώς αποτέλεσμα: Α. Με do do i=1,5 print '(3i4)',A(I,:) end do Β. Με διπλή υπονοούμενη επανάληψη print '(3i4)', ((A(i,j),j=1,3),i=1,5) Γ. Με απλή υπονοούμενη επανάληψη print '(3i4)', (A(i,:),i=1,5)

Υπονοούμενη επανάληψη Η υπονοούμενη επανάληψη χρησιμοποιείται Για τον καθορισμό επανάληψης σε ένα μέρος μιας λίστας εισόδου/εξόδου Για την μεταφορά μέρους ενός πίνακα Για την μεταφορά αντικειμένων ενός πίνακα με διαφορετική σειρά από αυτή που καταχωρούνται στη μνήμη. π.χ. print*, (B(1,j), j=1,10)) print*, (A(i),(B(i,j), j=1,10),i=1,5) print*, ((B(i,j), j=1,10),i=1,5,2)

Πράξεις με πίνακες Οι πράξεις με πίνακες ακολουθούν ό,τι ισχύει και για τους διάφορους τύπους δεδομένων Οι πράξεις με πίνακες γίνονται με τρεις τρόπους Πράξεις με στοιχεία του πίνακα Κάθε στοιχείο του πίνακα χρησιμοποιείται σαν μεταβλητή Πράξεις με ολόκληρους πίνακες Χρησιμοποιούνται όλα τα στοιχεία του πίνακα Πράξεις με εγγενείς συναρτήσεις Ανάλογα με το πως ορίζεται η συνάρτηση

Βασικές Εγγενείς Συναρτήσεις για Πίνακες LBOUND UBOUND SIZE SHAPE MINVAL MAXVAL MINLOC MAXLOC SUM PRODUCT COUNT CSHIFT EOSHIFT TRANSPOSE ANY ALL MATMUL DOT_PRODUCT MERGE RESHAPE

Δυναμικοί Πίνακες Στους Δυναμικούς Πίνακες δεν γνωρίζουμε το μέγεθός τους εκ των προτέρων, αλλά αυτό καθορίζεται κατά την εκτέλεση του προγράμματος. Κατ τον τρόπο αυτό επιτυγχάνουμε βέλτιστη χρήση της διαθέσιμης μνήμης, επειδή εκμηδενίζονται τα κενά στοιχεία. Παράδειγμα: integer,allocatable::a(:,:),b(:) integer::n,m,st read*,n M=2*N allocate(a(n,m),b(n),stat=st) If (st/=0) then print*, Sfalma stop end if deallocate(a,b)! Παρουσιάστηκε σφάλμα π.χ. μη επαρκής μνήμη! Εντολές επεξεργασίας των πινάκων Δήλωση δυναμικών πινάκων. Πρέπει να δηλώσουμε την τάξη τους, αλλά όχι το μέγεθος τους Δημιουργία δυναμικών πινάκων Αποδέσμευση δυναμικών πινάκων. (Γίνεται αυτόματα με το τέλος του προγράμματος)

Επεξεργασία Στοιχείων Δισδιάστατου Πίνακα Έστω ο πίνακας A ΝxM Κατά γραμμές do i=1,n do j=1,m <Επεξεργασία του στοιχείου A(i,j)> end do end do Κατά στήλες do j=1,m do i=1,n <Επεξεργασία του στοιχείου A(i,j)> end do end do

Τμήματα Τετραγωνικού Πίνακα NxN i==j i+j==n+1 i<j i+j<n+1 i>j i+j>n+1 Κύρια Διαγώνιος Δευτερεύουσα Διαγώνιος

ΔΟΜΗ WHERE Επηρεάζει τα στοιχεία στις θέσεις των δεικτών των πινάκων, για τις οποίες ισχύει η αντίστοιχη συνθήκη where (συνθήκη) εκχώρηση where (συνθήκη) εκχωρήσεις 1 elsewhere (συνθήκη) εκχωρήσεις 2 elsewhere εκχωρήσεις 3 end where

Βασικές Λειτουργίες Πινάκων Αναζήτηση Σειριακή Δυαδική Ταξινόμηση Ευθείας Ανταλλαγής ή Bubble Sort Με επιλογή ή Selection Sort Με εισαγωγή ή Insertion Sort Quick Sort (Είναι αναδρομική διαδικασία) Συγχώνευση Πινάκων

Εφαρμογή: Αριθμητική Ολοκλήρωση (Κανόνας Τραπεζίου)