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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Πίνακες οµηµένη µεταβλητή: αποθηκεύει µια συλλογή από τιµές δεδοµένων Πίνακας (array): δοµηµένη µεταβλητή που αποθηκεύει πολλές τιµές του ίδιου τύπου Ηδέσµευσηµνήµηςγιαένανπίνακαµπορείναγίνειείτε κατά τη διάρκεια µεταγλώτισης (compile time arrays) είτε δυναµικά κατά την εκτέλεση (run time arrays) Παραδείγµαταδήλωσης compile time arrays INTEGER:: pinakas(100) ή INTEGER, DIMENSION(100) :: pinakas ορίζει έναν πίνακα 100 ακεραίων, τα στοιχεία του οποίου είναι: pinakas(1), pinakas(2), pinakas(3)... pinakas(100) και έχουν τύπο integer (i) 1

2 Πίνακες (ii) ήλωση πίνακα µε στατική δέσµευση µνήµης τύπος, DIMENSION (κ:α) :: λίσταµεταονόµαταπινάκων ή τύπος, λίστα προσδιοριστών πινάκων οιπροσδιοριστέςπινάκωνέχουντηµορφή : όνοµαπίνακα (κ:α) κ: κάτωόριο α: άνωόριο Παραδείγµατα REAL, DIMENSION(50) :: pinakas INTEGER, PARAMETER :: katw=-6, anw=3, down=0, up=8 INTEGER, DIMENSION (katw:anw) :: first_array REAL, DIMENSION (down:up) :: second_array ανητιµήτουκείναι 1 µπορείναπαραλειφθείκαιηδήλωσηγίνεται: τύπος, DIMENSION (α) :: λίσταµεταονόµαταπινάκων ανκαιοιτιµέςτωνκκαιαείναισυνήθωςθετικοίακέραιοιηfortran επιτρέπει ακέραιες τιµές µεγαλύτερες, µικρότερες ή ίσες του µηδενός 2

3 Πίνακες ήλωση πίνακα µε δυναµική δέσµευση µνήµης τύπος, DIMENSION (:), ALLOCATABLE :: λίστα ή τύπος, DIMENSION (:) :: λίστα ALLOCATABLE :: λίστα όπου λίστα είναι τα ονόµατα των πινάκων Παράδειγµα REAL, DIMENSION (:), ALLOCATABLE :: A,B ηλώνουµε δύο allocatable πίνακες Α και Β (iii) Γιαναδεσµεύσουµετοχώροστηµνήµηπουαπαιτείταιγιατην αποθήκευση του πίνακα χρησιµοποιούµε την εντολή ALLOCATE 3

4 Πίνακες (iv) Εντολή Allocate ALLOCATE (λίστα) ή ALLOCATE(λίστα, stat=status_variable) όπου λίστα είναι δηλώσεις πινάκων της µορφής όνοµα_πίνακα (κ:α) κκαιαείναιοιθέσειςτουπρώτουκαιτελευταίουστοιχείουτου πίνακα και status_variable είναι µία ακέραια µεταβλητή Παράδειγµα WRITE (*, *) " ώσε το µέγεθος των πινάκων Α και Β" READ (*,*) n ALLOCATE (A(n), B(0:n+1), STAT=allocate_status) IF (allocate_status /= 0) STOP! ενυπάρχειαρκετήµνήµη Αν υπάρχει αρκετή µνήµη θα δεσµευτούν n θέσεις για τον πίνακα Α και n+2 θέσεις για τον πίνακα Β. Αν όχι η µεταβλητή allocate_status έχειτιµήδιάφορητουµηδενόςκαιίσηµετονκωδικόλάθους 4

5 Πίνακες Εντολή DEALLOCATE Κάθε φορά που η δεσµευµένη µνήµη δεν µας χρειάζεται πρέπει να την αποδεσµεύουµε για εξοικονόµηση µνήµης DEALLOCATE (λίστα) ή DEALLOCATE(λίστα, stat=status_variable) όπου λίστα είναι τα ονόµατα των πινάκων και status_variable είναι µία ακέραια µεταβλητή (v) Η τιµή της status_variable είναι 0 όταν γίνεται σωστά η αποδέσµευση µνήµης και έχει διαφορετική τιµή όταν δεν έγινε σωστά. Στη δεύτερη περίπτωση η τιµή της µεταβλητής είναι ο κωδικός λάθους 5

6 Πίνακες Παραδείγµατα INTEGER:: A(12), Y(5) REAL:: B(5) (vi) CHARACTER(LEN=10):: NAMES(12) Εντολές εκχώρησης A(1) = 4; A(2)=5; A(12)=8!δίνονταςσεκάθεστοιχείοτηντιµήτου B=(/2.3, 4.6, 5.8, 9.1, 10.0/) Y=(/(i, i=1,22,2)/) ή συνδυασµός των µεθόδων που χρησιµοποιήθηκαν στον Β και Υ C=(/2, 4, (i, i=5, 100, 5), 153/) DO I=1,10!µε χρησιµοποίηση βρόχου A(I)=2*I A=0!όλαταστοιχείατουπίνακαέχουντηντιµή 0 READ(*.*) (NAMES(k), k=2,12,2) αρχή, τέλος, βήµα 6

7 Πίνακες (vii) ιάβασµα ενός πίνακα REAL:: a(12) READ(*,*) (a(k), k=1,12) ή DO i=1,12 READ (*,*) a(i) Εκτύπωση ενός πίνακα WRITE (*,*) a(:)ή DO i=1,12 WRITE (*,*) a(i) 7

8 Πράξεις µε πίνακες (i) Απλέςπράξεις, π.χ. a(k) = a(k)+1; a(k) = a(1)+a(n); DO i=1,10 WRITE(*,*) a(i) IF (a(k) > a(k+1)) THEN... Αρχικοποίηση (µε µηδενικά) DO i=1,10; a(i)=0; Εύρεση ελάχιστου στοιχείου x = a(1) DO i=2,10 IF (a(i) < x) THEN x = a(i) END IF 8

9 Πράξεις µε πίνακες Εφαρµογή τελεστών και συναρτήσεων σε πίνακα Integer, Dimension (4) :: A,B Integer, Dimension (0:3) :: C Integer, Dimension (6:9) :: D Logical, Dimension (4) :: P A=(/1,2,3,4/) A=(/5,6,7,8/) A=A+B ΑντυπώσωτονπίνακαΑθαπάρωτιςτιµές 6,8,10,12 Προσοχή οι πίνακες να έχουν το ίδιο µέγεθος C=(/-1,3,-5,7/) D=2*ABS(C)+1 Αν τυπώσω τον πίνακα D θα πάρω τις τιµές 3,7,11,15 P=(C>0).AND. (MOD(B,3)==0) Τα στοιχεία του P θα πάρουν τις τιµές.false.,.true.,.false.,.false. (ii) 9

10 Υποπίνακες Υποπίνακες είναι νέοι πίνακες που αποτελούν τµήµα κάποιου πίνακα. Παραδείγµατα: Integer, Dimension (10) :: A Integer, Dimension (5) :: B,C Αν A=(/10,20,30,40,50,60,70,80,90,100/) τότεβ=a(2:10:2)είναιτοτµήµατουαπουέχειτα στοιχεία µε τιµές 20,40,60,80,100 όνοµα_αρχικού πίνακα (αρχή:τέλος:βήµα) αρχή: το πρώτο στοιχείο του αρχικού πίνακα τέλος:τοτελευταίο Υπάρχει η δυνατότητα να επιλέξω συγκεκριµένα στοιχεία του αρχικού πίνακα ως εξής: π.χ. Αν C=(/6,5,3,9,1/)τότε B=A(C)=(/60,50,30,90,10/) 10

11 οµή where Χρησιµοποιείται για να δώσουµε τιµές σε πίνακες που εξαρτώνται από την τιµή µιας λογικής έκφρασης πίνακα where (λογική έκφραση σε πίνακα) πίνακα τιµή στοιχείων πίνακα ή ανά στοιχείο where (λογικήέκφρασησεπίνακα) στοιχείο_πίνακα_1=τιµή_στοιχείου1... στοιχείο_πίνακα_n=τιµή_στοιχείου n elsewhere στοιχείο_πίνακα_1=τιµή_στοιχείου1... στοιχείο_πίνακα_n=τιµή_στοιχείου n end where Το τµήµα elsewhere είναι προαιρετικό 11

12 Γραµµική αναζήτηση (i) Πρόβληµα (αναζήτησης): δίνεται ένας πίνακας ακεραίων a και ζητείται να βρεθεί αν υπάρχει ο ακέραιος x στα στοιχεία του IMPLICIT NONE INTEGER:: x,a(10) άλλες δηλώσεις; διάβασµα του πίνακα a; διάβασµα του ακεραίου x; ψάξιµοστονπίνακαγιατον x; παρουσίαση αποτελεσµάτων END 12

13 Γραµµική αναζήτηση Μια δυνατή συγκεκριµενοποίηση READ(*,*) (a(i) i=1,10) j=1 DO WHILE ((j<10).and. (a(j)/=x)) j=j+1 IF (a(j)==x) THEN WRITE(*,*) 'To βρήκαστηθέση ', j ELSE WRITE(*,*) ' εντοβρήκα' END IF Στη χειρότερη περίπτωση θα ελεγχθούν όλα τα στοιχεία του πίνακα Απαιτούνται a n + b βήµατα γραµµικό κόστος (a, bσταθερές, nτοµέγεθοςτουπίνακα) (ii) 13

14 Γραµµική αναζήτηση Εναλλακτική συγκεκριµενοποίηση #1 i=1; found=.false. DO WHILE ((i<=10).and. (.NOT. found)) IF (a(i)==x) THEN found=.true. ELSE found =.FALSE. END IF i=i+1 IF (found) THEN WRITE(*,*) 'To βρήκαστηθέση ', (i-1) ELSE WRITE (*,*) ' εντοβρήκα' END IF (iii) 14

15 Γραµµική αναζήτηση (iv) Εναλλακτική συγκεκριµενοποίηση #2 i=1; found=.false. DO WHILE ((i<=10).and. (.NOT. found)) IF a(i)==x THEN found=.true. END IF i=i+1 IF (found) THEN WRITE(*,*) 'To βρήκαστηθέση ', (i-1) ELSE WRITE (*,*) ' εντοβρήκα' END IF 15

16 Γραµµική αναζήτηση (v) Εναλλακτική συγκεκριµενοποίηση #3 i=1; found=.false. DO WHILE ((i<=10).and. (.NOT. found)) found=(a(i)==x) i=i+1 IF (found) THEN WRITE(*,*) 'To βρήκαστηθέση ', (i-1) ELSE WRITE(*,*) ' εντοβρήκα' END IF 16

17 υαδική αναζήτηση Προϋπόθεση: ο πίνακας να είναι ταξινοµηµένος, π.χ. Σε αύξουσα διάταξη Είναι πολύ πιο αποδοτική από τη γραµµική αναζήτηση Στη χειρότερη περίπτωση απαιτούνται a log 2 n + bβήµατα λογαριθµική (a, bσταθερές, nτοµέγεθοςτουπίνακα) (i) 17

18 υαδική αναζήτηση Το πρόγραµµα PROGRAM binsearch INTEGER, PARAMETER:: n=100; INTEGER:: i,howmany,mid,first,last INTEGER:: a(n), x LOGICAL:: found Μήνυµα επικεφαλίδα και οδηγίες χρήσης read(howmany) (* κατά αύξουσα σειρά *) DO i=1,howmany READ(*,*) (a(i)) READ(*,*) x Αναζήτηση και εµφάνιση αποτελέσµατος END (ii) 18

19 υαδική αναζήτηση Αναζήτηση και εµφάνιση αποτελέσµατος first=1; last=howmany found = false DO WHILE ((.NOT.found).AND.(first<=last)) mid = (first+last) / 2 found = (x==a(mid)) IF (x<a(mid)) THEN last=mid-1 ELSE first=mid+1 END IF IF (found) THEN WRITE(*,*) mid ELSE WRITE(*,*) 'not found' END IF (iii) 19

20 Ταξινόµηση (i) Πρόβληµα: να αναδιαταχθούν τα στοιχεία ενός πίνακα ακεραίων σε αύξουσα σειρά Μια από τις σηµαντικότερες εφαρµογές των ηλεκτρονικών υπολογιστών Βασική διαδικασία: εναλλαγή τιµών (swap) SUBROUTINE SWAP (x,y) IMPLICIT NONE INTEGER:: x,y,save save=x x=y y=save END 20

21 Ταξινόµηση Μέθοδος της φυσαλίδας (ii) DO i=1,(n-1) DO j=(n-1),i,-1 IF (a(j)>a(j+1)) THEN CALL swap (a(j),a(j+1)) END IF Πλήθος συγκρίσεων (n 1) + (n 2) = n (n 1) / 2 τηςτάξηςτου n 2 O(n 2 ), τετραγωνικό 21

22 Ταξινόµηση (iii) Παράδειγµα εκτέλεσης 22

23 Πολυδιάστατοι πίνακες (i) Παράδειγµα INTEGER:: a(77,99)ή INTEGER, DIMENSION (77,99):: a DO i=1,10 DO j=1,5 READ(*,*) a(i,j) Πίνακες περισσοτέρων ιαστάσεων Η Fortran επιτρέπει µέχρι επτά διαστάσεις µε οποιοδήποτε αριθµό στοιχείων ανά διάσταση. 23

24 24 Αποθήκευσηπίνακαστηµνήµη Πίνακας D(-1:2,0:1) Πίνακας C(2,2,2) Πίνακας Β(2,4) ΠίνακαςΑµε µία διάσταση Θέσεις Μνήµης D(2,1) C(2,2,2) B(2,4) A(8) 8 D(1,1) C(1,2,2) B(1,4) A(7) 7 D(0,1) C(2,1,2) B(2,3) A(6) 6 D(-1,1) C(1,1,2) B(1,3) A(5) 5 D(2,0) C(2,2,1) B(2,2) A(4) 4 D(1,0) C(1,2,1) B(1,2) A(3) 3 D(0,0) C(2,1,1) B(2,1) A(2) 2 D(-1,0) C(1,1,1) B(1,1) A(1) 1

25 Πολλαπλασιασµόςπινάκων (i) ίνονταιοιπίνακες: a (m n), b (n q) Ζητείταιοπίνακας: c = a b (m q) όπου: c i, j = n k= 1 a i, k b k, j 25

26 Πολλαπλασιασµός πινάκων (ii) To πρόγραµµα INTEGER:: a(m,n), b(n,q), c(m,q) DO i=1,m DO j=1,q c(i,j)=0 DO k=1,n c(i,j)=c(i,j)+a(i,k)*b(k,j) 26

27 Μαγικάτετράγωνα (i) ισδιάστατοι πίνακες (n n) που περιέχουν όλουςτουςφυσικούςµεταξύ 0 και n 2 1 τοάθροισµατωνστοιχείωνκάθεστήλης, γραµµής και διαγωνίου είναι σταθερό Πρόβληµα: κατασκευή µαγικού τετραγώνου (n n) για περιττό n

28 Μαγικά τετράγωνα (ii) 28

29 Μαγικά τετράγωνα (iii) PROGRAM MAGIC_SQUARES IMPLICIT NONE INTEGER, PARAMETER:: n=5 INTEGER:: h,i,j,k,m,a(n,n) i=(n+1)/2 j=n+1 k=0 DO i=1,n DO j=1,n WRITE(*,10) a(i,j) 10 FORMAT (I4,1X\) WRITE(*,*) END PROGRAM ηλώσεις, Αρχικοποιήσεις Εκτύπωση των στοιχείων Υπολογισµός των στοιχείων DO h=1,n j=j-1 a(i,j)=k k=k+1 DO m=2,n i=mod(i,n)+1 j=mod(j,n)+1 a(i,j)=k k=k+1 29

30 Μαγικά τετράγωνα (iv) PROGRAM MAGIC_SQUARES IMPLICIT NONE INTEGER:: h,i,j,k,m,n INTEGER, ALLOCATABLE:: a(:,:) WRITE (*,*) " ώσεδιάστασηπίνακα" READ (*,*) n ALLOCATE(a(n,n)) i=(n+1)/2 j=n+1 πίνακα k=0 DO i=1,n DO j=1,n WRITE(*,10) a(i,j) 10 FORMAT (I4,1X\) WRITE(*,*) END PROGRAM υναµική δέσµευση DO h=1,n j=j-1 a(i,j)=k k=k+1 DO m=2,n i=mod(i,n)+1 j=mod(j,n)+1 a(i,j)=k k=k+1 30

31 Ανάστροφοςπίνακας PROGRAM YPOLOGOISMOS_ANASTROFOU IMPLICIT NONE INTEGER, PARAMETER:: N=4, M=3 INTEGER:: i, j, A(N,M), B(M,N) WRITE(*,*) " ώσε τιµές για τα στοιχεία του πίνακα" READ(*,*) ((A(i,j), j=1,m), i=1,n) DO i=1,n DO j=1,m B(j,i)=A(i,j) WRITE(*,10) ((A(i,j), j=1,m), i=1,n) WRITE(*,20) ((B(i,j), j=1,n), i=1,m) 10 FORMAT (' A='/4(' ',3(I3),' '/)) 20 FORMAT (' B='/3(' ',4(I3),' '/)) END 31

32 ΚατηγορίεςΠινάκων (i) Οι διαστάσεις και το πλήθος του πίνακα είναι γνωστές από τη δήλωση του πίνακα INTEGER:: p1(3,5,8) INTEGER:: p2(4:7, 5:9, -3:2) O p1 έχει τις θέσεις 1,2,3 στην πρώτη διάσταση, τις 1,2,3,4,5 στη δεύτερη και τα τις 1,2,3,4,5,6,7,8 στην τρίτη. (Μέγεθος του πίνακα 3*5*8=120) Ο p2 έχει τις θέσεις 4,5,6,7 στην πρώτη διάσταση, τις 5,6,7,8,9 στηδεύτερηκαιτις -3 έως 2 στηντρίτηπ.χ. p2(5,7,-1)=6. (Μέγεθος του πίνακα 4*5*6=120) Οι δείκτες ενός πίνακα µπορεί να είναι οποιαδήποτε ορθή έκφρασηακεραίωνπ.χ. X(10,2), X(2*i), X(INT(ABS(a))) 32

33 ΚατηγορίεςΠινάκων (ii) Οι διαστάσεις είναι γνωστές αλλά όχι και το µέγεθος. Το πλήθος των στοιχείων ανά διάσταση καθορίζεται τη στιγµή της χρήσης τουκαιείναιίδιεςµεαυτέςκάποιουάλλου πίνακα. INTEGER:: p1(5,8) CALL R(p1) SUBROUTINE R(p2) INTEGER p2(:,:) Τη στιγµή που καλείται η υπορουτίνα καθορίζεται ο αριθµόςτωνστοιχείωνανάδιάσταση. 33

34 ΚατηγορίεςΠινάκων (iii) PROGRAM pinakes IMPLICIT NONE INTEGER I,J,X(3,2) DO I=1,3; DO J=1,2 X(I,J)=I+J ; WRITE(*,*), SHAPE(X) WRITE(*,*), X(1,:) CALL SUB1(X) CALL SUB2(X) END SUBROUTINE SUB1(V) INTEGER V(2,*) WRITE(*,*) SIZE(V,1) WRITE(*,*) V(:,1) WRITE(*,*), V(:,2) END SUBROUTINE SUBROUTINE SUB2(V) INTEGER V(*) WRITE(*,*) V(6) END SUBROUTINE αποτέλεσµα

35 ΚατηγορίεςΠινάκων (iv) Οι διαστάσεις είναι γνωστές αλλά όχι και το µέγεθος. Το µέγεθος καθορίζεται κατά τη διάρκειαεκτέλεσηςτουπρογράµµατος. ηλώνονται µε τη χρήση της εντολής ALLOCATE. INTEGER, ALLOCATABLE, DIMENSION(:,:,:):: pin1 ALLOCATE (pin1(10,10,10)) DEALLOCATE(pin1) ALLOCATE (pin1(15,15,15)) 35

36 ΚατηγορίεςΠινάκων (v) INTEGER, ALLOCATABLE, DIMENSION(:,:,:):: pin1 ALLOCATE (pin1(10,10,10)) DEALLOCATE(pin1) ALLOCATE (pin1(15,15,15)) PROGRAM allocatable_array IMPLICIT NONE INTEGER:: i,j INTEGER, ALLOCATABLE, DIMENSION(:,:,:):: pin1 ALLOCATE (pin1(5,5,5)) pin1=5 WRITE(*,*) pin1; WRITE(*,*)!τυπώνειτοναριθµό 5 125=5*5*5 φορές DEALLOCATE(pin1) ALLOCATE (pin1(10,10,10)) pin1=8 WRITE(*,*) pin1; WRITE(*,*)!τυπώνειτοναριθµό =10*10*10φορές DEALLOCATE(pin1) END 36

37 είκτες στοιχείων πίνακα τα στοιχεία άλλου πίνακα Ταστοιχείαενόςπίνακαµπορούννα χρησιµοποιηθούν ως δείκτες στοιχείων άλλου αρκεί οι δείκτες να είναι ακέραιοι INTEGER:: pin(5) INTEGER:: pin1(8) INTEGER:: pin2(5) pin=(/2,3,4,5,8/) pin1=(/2,3,4,5,8,3,4,5/) pin2=pin1(pin) Οι τιµές των στοιχείων του πίνακα pin2 είναι 3,4,5,8,5 37

38 Τµήµαταπινάκων (υποπίνακες) (i) Κάποιο τµήµα ενός πίνακα (ένας υποπίνακας) µπορεί να πάρειτιµέςαπόκάποιοάλλοτµήµατουπίνακαµε ορισµένεςπροϋποθέσεις. Εστω για παράδειγµα ο πίνακας INTEGER, DIMENSION(1:6,1:8) :: P Επιτρεπτές εκχωρήσεις τιµών είναι οι παρακάτω: P(1:3,1:4)=P(1:6:2,1:8:2). Υποπίνακας παίρνει τιµές από άλλον ίδιων διαστάσεων P(1:3,1:4)=2. Υποπίνακας παίρνει την σταθερή τιµή 2 P(2:6:2,1:7:3)=P(1:3,1:4)Υποπίνακαςδιαστάσεων 3x3 παίρνει τις τιµές υποπίνακα διαστάσεων 3x4 (δεν είναι επιτρεπτή σε όλους τους compilers) Μη επιτρεπτές εκχωρήσεις τιµών Οταν υποπίνακας παίρνει τιµές από υποπίνακα µικρότερων διαστάσεων π.χ. P(2:6:2,1:7:3)=P(2:5,7) 38

39 Τµήµαταπινάκων (υποπίνακες) (ii) INTEGER, DIMENSION(1:6,1:8):: P INTEGER:: I,J DO I=1,6 DO J=1,8 P(I,J)=I+J DO I=1,6 WRITE(*,*) P(I,:); WRITE(*,*) WRITE(*,*) P(1:3,1:4)=P(1:6:2,1:8:2) DO I=1,6 WRITE(*,*) P(I,:); WRITE(*,*) WRITE(*,*) WRITE(*,*) P(1:3,1:4)=2 DO I=1,6 WRITE(*,*) P(I,:) WRITE(*,*) END P(2:6:2,1:7:3)=P(1:3,1:4) DO I=1,6 WRITE(*,*) P(I,:) WRITE(*,*) P(2:6:2,1:7:3)=P(2:5,7) DO I=1,6 WRITE(*,*) P(I,:) WRITE(*,*) 39

40 Χειρισµόςπινάκωνχωρίςτηνεντολή DO Εκχώρηση τιµών DO i=1,5 A(i)=A(i+1) Απλουστευµένος Τρόπος γραφής A(1:5)=A(2:6) Τοαντίστροφοδενµπορείναγίνει DO i=1,5 A(i+1)=A(i) Απλουστευµένος Τρόπος γραφής A(2:6)=A(1:5) 40

41 Χειρισµόςπινάκωνχωρίςτηνεντολή DO DO i=1,5 A(i)=A(i+1) Τυπώνει: DO i=1,10 A(i)=i A(1:5)=A(2:6) Τυπώνει: Προσοχή! Το αντίστροφο δεν δίνει το ίδιο αποτέλεσµα DO i=1,5 A(i+1)=A(i) Τυπώνει: ίνει διαφορετικό αποτέλεσµα A(2:6)=A(1:5) Τυπώνει:

42 Υποπίνακεςµεµησυνεχήστοιχεία Ηχρήσηβήµατοςδίνειτηδυνατότηταπρόσβασηςσεµη συνεχή στοιχεία πίνακα. π.χ. Β = Α(10:20:2). ΟυποπίνακαςΑ(10:20:2) περιλαµβάνειτα στοιχείαα(10), Α(12), Α(14), Α(16), Α(18) καια(20). ΤαστοιχείατουπίνακαΒπαίρνουντιςτιµέςτουυποπίνακαΑ όπωςαυτόςορίστηκεπαραπάνω. ηλ. ταβ(1), Β(2),..., Β(10) θα πάρουν τις τιµές των στοιχείων Α(10), Α(12),...,Α(20) αντίστοιχα Στο βήµα µπορεί να έχουµε και αρνητικές τιµές. Για παράδειγµα Β(10:1:-1). Και αν ορίσω µονοδιάστατο πίνακα Γ(10) και δώσω την εντολή Γ= Β(10:1:-1) παίρνω τον αντίστροφο πίνακα του Β. Ταάνωκαικάτωόριαενόςπίνακαµπορείναπαραλειφθούναν έχουν δηλωθεί προηγούµενα. Για π.χ. Η εντολή Γ(:10)=5 θα εκχωρήσειτηντιµή 5 σταστοιχείατουπίνακαγαπότογ(1) έως τογ(10). ΤοίδιοισχύεικαιανγράψωΓ(1:)=5 ήγ(:)=5 42

43 Εντολή WHERE (i) Εκτέλεση εντολών υπό συνθήκη σε πίνακα WHERE (συνθήκη) Εκχωρήσεις τιµών σε στοιχεία πίνακα ELSEWHERE Άλλες Εκχωρήσεις τιµών ENDWHERE WHERE (Α>5) Β= -Α ELSEWHERE Β=Α ENDWHERE 43

44 Εντολή WHERE (ii) PROGRAM WHERE_ARRAY IMPLICIT NONE INTEGER :: A(10), B(10), G(10) WRITE(*,*) " ώσε 10 τιµέςγιαταστοιχείατουα"; READ(*,*) A B=0; G=10 WHERE (A >= 5) B=B+1; G=G-1 ELSEWHERE A=20 ENDWHERE WRITE(*,*) "PINAKAS A" WRITE(*,*) A WRITE(*,*) "PINAKAS B" WRITE(*,*) B WRITE(*,*) "PINAKAS G" WRITE(*,*) G END Ανοχρήστηςδώσειτιµές 1,2,3,4,5,6,7,8,9,10 στον πίνακα Α Το πρόγραµµα τυπώνει: (τιµέςτουα) (τιµέςτουβ) (τιµέςτου G) 44

45 Εντολή FORALL (i) Εκτέλεση εντολών υπό συνθήκη σε πίνακα FORALL (συνθήκη) Εντολές ανάθεσης END FORALL Παραδείγµατα: FORALL (i=1:10) A(i,i) =20 FORALL (i=1:3, (A(i,i)/=0)) A(i,i) =20 FORALL (i=1:n, j=1:n) A(i,j)= 1/REAL(i+j) FORALL (i=1:5) WHERE (C(i,:)==0) C(:,i)=I ELSEWHERE (C(i,:)>2) C(i,:)=23 ENDWHERE ENDFORALL 45

46 Εντολή FORALL PROGRAM forall_array IMPLICIT NONE INTEGER :: i, j, A(3,3) READ(*,*) A FORALL (i=1:3, (A(i,i)/=0)) A(i,i) =20 WRITE(*,*) "ΠΙΝΑΚΑΣ A" WRITE(*,*) A FORALL (i=1:3) A(i,2)=48 WRITE(*,*) "ΠΙΝΑΚΑΣ A" WRITE(*,*) A END (ii) Ανοχρήστηςδώσειτον πίνακααµετιµές Το πρόγραµµα θα τυπώσει: ΠΙΝΑΚΑΣ Α ΠΙΝΑΚΑΣ Α FORALL (i=1:5) WHERE (C(i,:)==0) C(:,i)=i ELSEWHERE (C(i,:)>2) C(i,:)=9 ENDWHERE ENDFORALL Γιατιµέςτου C: Τι θα τυπώσει το πρόγραµµα µετά τη WHERE? Το πρόγραµµα µετά την FORALL τυπώνει:

47 PROGRAM PINAKES IMPLICIT NONE REAL, DIMENSION(4):: HEIGHTS=(/ 5.1, 5.6, 4.0, 3.6 /) CHARACTER (LEN=5), DIMENSION(3)::COLORS=(/ 'BLUE ', ' RED ', 'GREEN' /) INTEGER::i INTEGER, DIMENSION(10)::INTS=(/ 100, (i, i=1,8), 100 /) WRITE(*,*) HEIGHTS WRITE(*,*) COLORS WRITE(*,*) INTS END PROGRAM CHANGE_COLUMNS IMPLICIT NONE INTEGER, PARAMETER:: N=2, M=4 INTEGER::i,j,A(N,M), j1, j2, temp WRITE(*,*) "GIVE ARRAY ELEMENTS" READ(*,*) A WRITE(*,*) "old array" DO i=1,n WRITE(*,*) A(i,:) WRITE(*,*) "GIVE COLUMNS J1,J2" READ(*,*) J1,J2 DO i=1,n temp=a(i,j1) A(i,j1)=A(i,j2) A(i,j2)=temp WRITE(*,*) "new array" DO i=1,n WRITE(*,*) A(i,:) END 47

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

Διαβάστε περισσότερα

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

Fortran και Αντικειμενοστραφής προγραμματισμός. Fortran και Αντικειμενοστραφής προγραμματισμός www.corelab.ntua.gr/courses/fortran_naval/naval Δδάσκοντες: Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

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

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός Πίνακες (i) οµηµένη µεταβλητή: αποθηκεύει µια συλλογή από τιµές δεδοµένων Πίνακας (array): δοµηµένη µεταβλητή που αποθηκεύει πολλές τιµές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #6

ιαφάνειες παρουσίασης #6 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #5

ιαφάνειες παρουσίασης #5 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #7

ιαφάνειες παρουσίασης #7 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #7!Πίνακες

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003) ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ () Ενότητα 7: Πολυδιάστατοι Πίνακες Νίκος Καραμπετάκης Τμήμα Μαθηματικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M7 Δομές δεδομένων: Πίνακες - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension. Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 6ο: Πίνακες Στο κεφάλαιο αυτό θα ασχοληθούµε µε µια από πιο ενδιαφέρουσες δοµές δεδοµένων, τους πίνακες. Οι πίνακες είναι σύνθετες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μονοδιάστατοι πίνακες Μονοδιάστατοι πίνακες Επικ. Καθ. Ν. Καραµπετάκης Τµήµα Μαθηµατικών, Α.Π.Θ. Τι είναι οι πίνακες και που χρειάζονται ; Να γραφεί πρόγραµµα τοοποίο, εφόσον διαβάσει Ν αριθµούς, στη συνέχεια θα υπολογίζει

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 6 Πίνακες Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Τύπος πίνακα (array) Σύνθετος τύπος δεδομένων Αναπαριστά ένα σύνολο ομοειδών

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Πίνακες ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 Πίνακες (arrays) >>> Οι πίνακες είναι απλές μορφές καταχώρησης

Διαβάστε περισσότερα

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

Διαβάστε περισσότερα

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

Υπολογιστές Ι. Άδειες Χρήσης. Πολυδιάστατοι πίνακες. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Πολυδιάστατοι πίνακες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Προχωρημένες έννοιες προγραμματισμού σε Pazcal

Προχωρημένες έννοιες προγραμματισμού σε Pazcal Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 M7 Δομές δεδομένων: Πίνακες Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ

Διαβάστε περισσότερα

IMPLICIT NONE INTEGER :: a, b, c

IMPLICIT NONE INTEGER :: a, b, c Βρόχοι Επανάληψης (i) Εντολή DO DO Εντολή 1 Εντολή 2... Εντολή n υνητικά ατέρµονος βρόχος, απαραίτητη η χρήση EXIT 1 Εντολές ΕΧΙΤ και CYCLE Με την εντολή ΕΧΙΤδιακόπτεται η εκτέλεση του βρόχου και η εκτέλεση

Διαβάστε περισσότερα

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

Μορφοποίηση της εξόδου Μορφοποίηση της εξόδου (i) Όταν θέλουμε τα αποτελέσματα μιάς εντολής WRITE(*, *) να εμφανίζονται με συγκεκριμένο τρόπο τροποποιούμε τον δεύτερο αστερίσκο. 2 τρόποι μορφοποίησης WRITE(*, '(format εξόδου)')

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων;

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων; ΥΠΟΛΟΓΙΣΤΕΣ Ι Τι είναι μια υπορουτίνα; ΥΠΟΡΟΥΤΙΝΕΣ Μια ομάδα εντολών, σχεδιασμένη να εκτελεί έναν ή περισσότερους υπολογισμούς Ιδανικές για περιπτώσεις που ο υπολογισμός επαναλαμβάνεται πολλές φορές μέσα

Διαβάστε περισσότερα

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

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α Σπυρόπουλος Α Μπουντουβής Αθήνα, 2015 v13_061015 Στον οδηγό αυτό θα χρησιμοποιηθούν

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πίνακες Πίνακες (arrays) Πολύ συχνά είναι απαραίτητο το πρόγραμμα μας να χειριστεί

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 9. Δυναμικά Δεδομένα Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 8 Προχωρηµένα Θέµατα Προγραµµατισµού C Γιώργος Γιαγλής Περίληψη Κεφαλαίου 8 Προχωρηµένα

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B

Διαβάστε περισσότερα

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

Δομή προγράμματος στη Fortran Δομή προγράμματος στη Fortran Ένα πρόγραμμα γραμμένο σε Fortran αποτελείται από: Την επικεφαλίδα του προγράμματος. Το τμήμα των δηλώσεων. Το τμήμα των προτάσεων (εντολών). Το τμήμα των υποπρογραμμάτων.

Διαβάστε περισσότερα

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

Άσκηση 1. O υπολογισμός να γίνει: α) με την τεχνική αθροίσματος σε μεταβλητή Άσκηση 1 Να γραφεί κώδικας FORTRAN που θα υπολογίζει το άθροισμα όλων των στοιχείων ενός διανύσματος a (μονοδιάστατη array) διάστασης Ν. Τα στοιχεία του διανύσματος a δίνονται από τη σχέση: a(i) = 2*i

Διαβάστε περισσότερα

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

Δομή προγράμματος στη Fortran Δομή προγράμματος στη Fortran Ένα πρόγραμμα γραμμένο σε Fortran αποτελείται από: Την επικεφαλίδα του προγράμματος. Το τμήμα των δηλώσεων. Το τμήμα των προτάσεων (εντολών). Το τμήμα των υποπρογραμμάτων.

Διαβάστε περισσότερα

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

Fortran και Αντικειμενοστραφής προγραμματισμός. Fortran και Αντικειμενοστραφής προγραμματισμός www.corelab.ntua.gr/courses/fortran_naval/naval Διδάσκοντες: Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Γιατί πολυδιάστατους πίνακες; ΠΟΛΥΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ. Δήλωση πολυδιάστατων πινάκων. Δήλωση πολυδιάστατων πινάκων ΥΠΟΛΟΓΙΣΤΕΣ Ι ΠΟΛΥΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Γιατί πολυδιάστατους πίνακες; Αναλόγως με τις ανάγκες του προγράμματος, μπορεί να είναι πιο εύχρηστοι Προβλήματα γραμμικής άλγεβρας Παράδειγμα: δηλώστε σε πρόγραμμα

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #4

ιαφάνειες παρουσίασης #4 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #4!Λοιπές εντολές!

Διαβάστε περισσότερα

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

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

Διαβάστε περισσότερα

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

Υπολογιστές Ι. Άδειες Χρήσης. Υποπρογράμματα. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Υποπρογράμματα Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Μονοδιάστατοι πίνακες Μονοδιάστατοι πίνακες Τι είναι ο πίνακας στον προγραμματισμό; Ο πίνακας είναι μια σύνθετη μεταβλητή που καταλαμβάνει παραπάνω από μια θέση στην μνήμη του Η/Υ, έχει ένα συγκεκριμένο όνομα και δέχεται ένα

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 6. Πίνακες Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the Creative

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #4

ιαφάνειες παρουσίασης #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4ο. Α. Το περιβάλλον της Microsoft Fortran Powerstation

ΚΕΦΑΛΑΙΟ 4ο. Α. Το περιβάλλον της Microsoft Fortran Powerstation ΚΕΦΑΛΑΙΟ 4ο Α. Το περιβάλλον της Microsoft Fortran Powerstation Μία πρώτη ταξινόµηση των γλωσσών προγραµµατισµού σχετίζεται µε το επίπεδο της µηχανής για το οποίο προγραµµατίζει κάποιος. Έτσι διακρίνουµε

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 Μ4. Συναρτήσεις, Υπορουτίνες, Ενότητες - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

Διαβάστε περισσότερα

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

Διαβάστε περισσότερα

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 32 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 5 5.1 Ι ΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Εκτός από τους µονοδιάστατους πίνακες ή διανυσµατα που συζητήσαµε στην παράγραφο 4.1, µπορούµε να αποθηκεύσουµε

Διαβάστε περισσότερα

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι - Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται

Διαβάστε περισσότερα

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016 Διδάσκoντες: Χαράλαμπος Παναγόπουλος, Μάριος Κώστα Βαθμός: Όνομα: Α.Δ.Τ.:... ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ 24/03/2016 Άσκηση 1 (1 μονάδα) Ποιο είναι το αποτέλεσμα

Διαβάστε περισσότερα

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M5 Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ Εργαστήριο Ναυτικής

Διαβάστε περισσότερα

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN: Άσκηση 1 Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του J στα παρακάτω κομμάτια κώδικα FORTRAN: INTEGER J J = 5 J = J + 1 J = J + 1 INTEGER X, Y, J X = 2 Y =

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 7. Τμήματα Πινάκων Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the

Διαβάστε περισσότερα

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

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα Εισαγωγή στη Fortran Μάθημα 3 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Loops External Functions Subroutines Arrays Common mistakes Loops Ανάγκη να εκτελέσουμε τις ίδιες εντολές πολλές

Διαβάστε περισσότερα

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

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ Σύνολο στοιχείων ίδιου τύπου (1/2) Ένα σύνολο στοιχείων ίδιου τύπου διακρίνεται σε δύο κατηγορίες με βάση τη διάσταση: Μονοδιάστατο Αν μπορούμε να θεωρούμε ότι τα στοιχεία είναι συνεχόμενα

Διαβάστε περισσότερα

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει

Διαβάστε περισσότερα

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας. Πρέπει να απαντήσετε σε όλα τα προβλήµατα

Διαβάστε περισσότερα

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

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή Καπτάν Υποψήφια

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003) ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ () Ενότητα 6: Μονοδιάστατοι Πίνακες Νίκος Καραμπετάκης Τμήμα Μαθηματικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Oι εντολές COMMON και PARAMETER ΦΥΣ 145 - Διαλ.06 1 Oι εντολές COMMON και PARAMETER q Oι εντολές αυτές είναι μή εκτελέσιμες και δεν είναι απαραίτητες σε διάφορα προγράμματα. q Η ανάγκη τους όμως παρουσιάζεται σε μεγάλα και πολύπλοκα

Διαβάστε περισσότερα

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

Διαβάστε περισσότερα

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

Συναρτήσεις και Πίνακες Συναρτήσεις και Πίνακες Συναρτήσεις καθιερωμένης βιβλιοθήκης της C++ Συναρτήσεις οριζόμενες από τον χρήστη Μεταβίβαση κατ αξία Συναρτήσεις void και λογικές συναρτήσεις Μεταβίβαση κατ αναφορά Επιστροφή

Διαβάστε περισσότερα

Είσοδος -Έξοδος. Άνοιγµα αρχείου:

Είσοδος -Έξοδος. Άνοιγµα αρχείου: Είσοδος -Έξοδος Άνοιγµα αρχείου: open (unit = αριθµός, file = "όνοµα_αρχείου") Αριθµός: θετικός ακέραιος (εκτός του 6) µε τον οποίο αναφερόµαστε στο αρχείο Όνοµα αρχείου: το όνοµα του αρχείου (καλύτερα

Διαβάστε περισσότερα

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ. ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΘΕΜΑ Α ΑΠΑΝΤΗΣΕΙΣ Α1. Α2. α-

Διαβάστε περισσότερα

Κεφάλαιο 7ο: Συναρτήσεις και Υπορουτίνες

Κεφάλαιο 7ο: Συναρτήσεις και Υπορουτίνες Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 7ο: Συναρτήσεις και Υπορουτίνες 7.1 Ο Τµηµατικός Προγραµµατισµός Η επίλυση ενός προβλήµατος πολλές φορές ανάγεται στην επίλυση

Διαβάστε περισσότερα

Προχωρημένες έννοιες προγραμματισμού σε C

Προχωρημένες έννοιες προγραμματισμού σε C Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

Διαβάστε περισσότερα

Κεφάλαιο 8ο: Αρχεία. 8.1 Τι είναι αρχείο;

Κεφάλαιο 8ο: Αρχεία. 8.1 Τι είναι αρχείο; Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 8ο: Αρχεία Ας υποθέσουµε ότι σε µια στατιστική έρευνα, φοιτητές συλλέγουν 100 διαφορετικές τιµές µιας τυχαίας µεταβλητής. Κύριος

Διαβάστε περισσότερα

Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας

Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας Αναγνωστοπούλου Χριστίνα Λέκτορας FORmulaTRANslation Εγκατάσταση της Fortran g95 http://www.g95.org http://ftp.g95.org/g95-mingw.exe Save file as C:\fortran-g95 Κειμενογράφοι Notepad (Windows) Programmer

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,

Διαβάστε περισσότερα

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

επιµέλεια Θοδωρής Πιερράτος Ερωτήσεις Σωστό Λάθος 1. Οι διαστάσεις ενός πίνακα δεν µπορούν να µεταβάλλονται κατά την εκτέλση ενός αλγόριθµου. 2. Ο πίνακας είναι στατική δοµή δεδοµένων. 3. Ένας πίνακας δυο στηλών µπορεί να περιέχει

Διαβάστε περισσότερα

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

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα Εισαγωγή στη Fortran Μάθημα 1 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Ιστορία της Fortran Βασικές γνώσεις Fortran Επιτρεπτοί χαρακτήρες Μορφή προγράμματος Τύποι μεταβλητών Πράξεις και

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων ΕΠΑΛ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική- 2015-2016 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 Εισαγωγή Η εντολή Στο 4 ο κεφάλαιο γνωρίσαµε την δοµή πολλαπλής επιλογής στην οποία

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 5ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Πίνακες 77 Στατική δομή αποθήκευσης δεδομένων (το μέγεθος ορίζεται εξαρχής και δεν αλλάζει) Αποθήκευση πολλών μεταβλητών

Διαβάστε περισσότερα

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 5 η : Πίνακες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα

Διαβάστε περισσότερα

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN ΕΙΑΓΩΓΉ ΣΗΝ FORTRAN ΕΙΑΓΩΓΙΚΑ ΣΟΙΧΕΙΑ FORTRAN (FORmula TRANslator) -είναι από τις πρώτες γλώσσες υψηλού επιπέδου -σχεδιάστηκε αρχικά για μαθηματικούς σκοπούς -κάνει δυνατή την υπολογιστική επίλυση προβλημάτων

Διαβάστε περισσότερα

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές Μονάδες Μεταφορά εδομένων Μορφοποίηση εδομένων Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός

Διαβάστε περισσότερα

Προγραμματισμός PASCAL

Προγραμματισμός PASCAL Προγραμματισμός PASCAL 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 14 Δυναμική διαχείριση μνήμης Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στατική δέσμευση μνήμης Με τη δήλωση απλών μεταβλητών

Διαβάστε περισσότερα

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Πίνακες (Arrays) [1/2] Δομές δεδομένων για την αποθήκευση δεδομένων υπό

Διαβάστε περισσότερα

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

Μονοδιάστατοι πίνακες (συνέχεια) Μονοδιάστατοι πίνακες (συνέχεια) Άσκηση Να γράψετε πρόγραμμα που θα διαβάζει 5 πραγματικούς αριθμούς και θα τους τοποθετεί σε ένα μονοδιάστατο πίνακα 5 θέσεων και στη συνέχεια θα εκτυπώνει το ελάχιστο

Διαβάστε περισσότερα

Μεταγλωττιστές Βελτιστοποίηση

Μεταγλωττιστές Βελτιστοποίηση Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου nickie@softlab.ntua.gr Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη, 15780

Διαβάστε περισσότερα

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

Ενότητα 1 Διάλεξη 4. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού Ενότητα 1 Διάλεξη 4 Σιέττος Κωνσταντίνος Άδεια Χρήσης Το παρόν

Διαβάστε περισσότερα

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική Πρόοδος 20 Μαρτίου 2011 Οµάδα Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας. Πρέπει να απαντήσετε σε όλα τα προβλήµατα που

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ. Δήλωση συνάρτησης sq. Παράδειγμα συνάρτησης: υπολογισμός τετραγώνου

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ. Δήλωση συνάρτησης sq. Παράδειγμα συνάρτησης: υπολογισμός τετραγώνου ΥΠΟΛΟΓΙΣΤΕΣ Ι Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ Μια ομάδα εντολών, σχεδιασμένη να εκτελεί έναν υπολογισμό και να γυρνάει το αποτέλεσμα Ιδανικές για περιπτώσεις που ο υπολογισμός επαναλαμβάνεται πολλές

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #3

ιαφάνειες παρουσίασης #3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου

Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου Ο τελεστής ανάθεσης = και η βασική του διαφορά από το σύµβολο ισότητας. Η εντολή ανάγνωσης µεταβλητών READ. Η εντολή εκτύπωσης µεταβλητών WRITE. οµή προβληµάτων

Διαβάστε περισσότερα

H ΓΛΩΣΣΑ C. Μάθηµα 7: Πίνακες. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 7: Πίνακες. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 7: Πίνακες ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος Α. Πίνακες 1. Μονοδιάστατοι Πίνακες 1. ήλωση Πίνακα 2. Παράδειγµα Χρήσης Πίνακα 3. Αρχικοποίηση πίνακα κατά τη δήλωση 4. Στατική έσµευση

Διαβάστε περισσότερα

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

Μονοδιάστατοι Πίνακες Μονοδιάστατοι Πίνακες «Όλοι οι άνθρωποι είναι ίσοι, δεν είναι η καταγωγή, αλλά η αρετή που τους κάνει τη διαφορά.» ΒΟΛΤΑΙΡΟΣ Κουλλάς Χρίστος oullas 2 Στόχοι Μαθήματος Οι μαθητές να μπορούν: να ονομάζουν

Διαβάστε περισσότερα

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΕΝΙΚΗ ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Program Ονομα_προγραμματος; «πρόγραμμα» Πρόγραμμα 1 Program Lesson1_Program1; Write('Hello World!!!'); {σχόλια} Επεξήγηση Προγράμματος Program Lesson1_Program1;

Διαβάστε περισσότερα

i : 0<=i<N-1 => data[i] <= data[i+1] 25/10/2009

i : 0<=i<N-1 => data[i] <= data[i+1] 25/10/2009 Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 10: Ταξινόµηση Πίνακα Αναζήτηση σε Ταξινοµηµένο Πίνακα Πρόβληµα ίνεται πίνακας tαπό Νακεραίους. Ζητούµενο: να ταξινοµηθούν τα περιεχόµενα του πίνακα σε αύξουσα αριθµητική

Διαβάστε περισσότερα

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ Περιλαμβάνει τα δεύτερα θέματα των πανελληνίων εξετάσεων από το 2000 μέχρι και σήμερα ΑΠΟΛΥΤΗΡΙΕΣ ΓΕΝΙΚΟΥ 2000 Έστω τμήμα αλγορίθμου με μεταβλητές Α, Β,

Διαβάστε περισσότερα

242 -ΕισαγωγήστουςΗ/Υ

242 -ΕισαγωγήστουςΗ/Υ 1 242 -ΕισαγωγήστουςΗ/Υ ΤµήµαΜαθηµατικών, Πανεπιστήµιο Ιωαννίνων Άρτια Α.Μ. (0-2-4-6-8) 2 ήλωση: Πίνακες στην ΕΑΓ δηλωση ( [1 : 1, 1 : 2,..., 1: ν ] ) παραταξη ; Π.χ.: δηλωση

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Πρόλογος... 11 Μέρος Α: Στοιχεία Αλγοριθμικής... 15 1 Επίλυση προβλημάτων με Η/Υ... 19 1.1 Εισαγωγή... 19 1.2 Αλγόριθμοι-αλγοριθμικά προβλήματα... 20 1.3 Το μαθηματικό μοντέλο... 26

Διαβάστε περισσότερα

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

Διαβάστε περισσότερα