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

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

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

Transcript

1 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 6ο: Πίνακες Στο κεφάλαιο αυτό θα ασχοληθούµε µε µια από πιο ενδιαφέρουσες δοµές δεδοµένων, τους πίνακες. Οι πίνακες είναι σύνθετες δοµές δεδοµένων που µας δίνουν τη δυνατότητα να αποθηκεύσουµε µεγάλη οµάδα πληροφοριών στη µνήµη του Η/Υ µε ένα ξεχωριστό όνοµα και ένα δείκτη που θα προσδιορίζει τη θέση του στοιχείου µέσα στην οµάδα. Η σηµασία τους έγκειται στο ότι µας δίνουν τη δυνατότητα να αναλύσουµε τα δεδοµένα εύκολα µέσω ανακυκλώσεων. Επειδή τα δεδοµένα αυτά αποθηκεύονται σε ξεχωριστές θέσεις της µνήµης του Η/Υ, µπορούµε να έχουµε πρόσβαση σε αυτά χωρίς να χρειαστεί να τα ξαναδιαβάσουµε. 6.1 Ορισµός Πίνακας είναι µια σύνθετη µεταβλητή που καταλαµβάνει παραπάνω από µία θέση στην µνήµη του Η/Υ, έχει ένα συγκεκριµένο όνοµα και δέχεται ένα συγκεκριµένο τύπο δεδοµένων. Τα ονόµατα των πινάκων ακολουθούν τους ίδιους κανόνες µε αυτά των απλών µεταβλητών. Οι πίνακες, όπως οι απλές µεταβλητές, χωρίζονται σε αριθµητικούς και αλφαριθµητικούς, ανάλογα µε το τύπο δεδοµένων που δέχονται και ο διαχωρισµός τους γίνεται µε το ίδιο τρόπο, δηλαδή µε τις δηλωτικές εντολές Real, Integer κ.τ.λ. Αν δεν οριστεί ο τύπος, τότε αν το όνοµα αρχίζει µε ένα από τα 6 γράµµατα Ι, J, Κ, L, Μ, Ν τα στοιχεία του πίνακα είναι ακέραιοι, διαφορετικά θα είναι πραγµατικοί. Τη θέση των στοιχείων µέσα σε ένα πίνακα την προσδιορίζουµε µε τη βοήθεια των δεικτών. Έτσι, αν έχω ένα αριθµητικό πίνακα µε όνοµα Α που καταλαµβάνει 5 συνεχόµενες θέσεις στη µνήµη του Η/Υ, θα αναφερόµαστε στο πρώτο στοιχείο του πίνακα µε το όνοµα Α(1), στο δεύτερο µε το όνοµα Α(2) κ.τ.λ. Ο δείκτης ενός πίνακα µπορεί να είναι µια σταθερά ή µεταβλητή ή παράσταση που παίρνει ακέραιες τιµές και φυσικά δεν θα πρέπει να ξεπερνά τα όρια της διάστασης του πίνακα. Στους δυσδιάστατους πίνακες, ο πρώτος δείκτης αναφέρεται σε µια γραµµή του πίνακα, ενώ ο δεύτερος σε µια στήλη του πίνακα. 6.2 ήλωση πινάκων Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension. Η εντολή Dimension ανήκει στις εντολές προδιαγραφών που δεν εκτελούνται και δηλώνει - ορίζει το µέγεθος ενός ή περισσοτέρων πινάκων. ηλαδή, µ αυτή την εντολή ζητάµε να δεσµευτεί στη µνήµη µια ζώνη από συνεχείς θέσεις µνήµης οι οποίες να έχουν όλες το ίδιο όνοµα. Η εντολή Dimension πρέπει να βρίσκεται πριν από την πρώτη φορά που θα συναντήσουµε τη µεταβλητή αυτή. Έτσι, από συνήθεια και οµοιοµορφία, συγκεντρώνουµε όλες τις εντολές Dimension στην αρχή του προγράµµατος. 51

2 Εισαγωγή στη γλώσσα Fortran Ο σκοπός αυτής της εντολής είναι να προειδοποιήσει το µεταγλωττιστή της γλώσσας Fortran για να δεσµεύσει τις απαραίτητες θέσεις γι' αυτή τη µεταβλητή στη µνήµη πριν από την χρησιµοποίησή της. Μέχρι και τη Fortran 77, η γενική µορφή της εντολής DΙΜEΝSΙΟΝ είναι: Dimension "όνοµα πίνακα" (Χ : Υ) Το Χ εκφράζει την κατώτερη τιµή που µπορεί να πάρει ο δείκτης και όταν λείπει εννοείται η µονάδα. Το Υ εκφράζει την ανώτερη τιµή και πρέπει να υπάρχει υποχρεωτικά. Ο τύπος των πινάκων ακολουθεί τους ίδιους κανόνες µε µία απλή µεταβλητή. Μπορούµε να δηλώσουµε ταυτόχρονα και περισσότερα ονόµατα πινάκων χωρισµένα µε υποδιαστολή. Π.χ. µπορούµε να γράψουµε : Dimension Α(15), Β(10, 10), C(-5 : 5), Κ(3, 2, 2) Η τιµή που είναι µέσα σε παρένθεση δηλώνει τον αριθµό των διαδοχικών θέσεων µνήµης που θα δεσµευτούν. Όταν υπάρχουν περισσότερες τιµές, που µπορεί να φθάσουν µέχρι και τις 7, αυτό σηµαίνει ο πίνακας είναι περισσοτέρων διαστάσεων. Π.χ. Για τον πίνακα Α(15) κρατάµε 15 διαδοχικές θέσεις µνήµης. Για τον πίνακα Β(10,10) κρατάµε 10*10 = 100 διαδοχικές θέσεις µνήµης. Για τον πίνακα C(-5:5) κρατάµε συνολικά 11 θέσεις µνήµης. Για τον πίνακα Κ(3, 2, 2) κρατάµε συνολικά 3*2*2 = 12 θέσεις µνήµης. Με τη Fortran 90/95 η γενική µορφή της εντολής Dimension γίνεται : Τύπος, Dimension (Χ : Υ) :: "όνοµα πίνακα" Ο Τύπος, είναι ένας από τους γνωστούς και αποδεκτούς τύπους των µεταβλητών. Μπορούµε να δηλώσουµε ταυτόχρονα και περισσότερα ονόµατα πινάκων χωρισµένα µε υποδιαστολή. Π.χ. µπορούµε να γράψουµε : Real, Dimension (15) :: Α, Β, C(-5 : 5), Κ(3, 2, 2) Εδώ, όλοι οι πίνακες θα δέχονται µόνο πραγµατικές τιµές, αλλά επιπλέον, οι µεταβλητές C και K δεν θα ακολουθούν τη γενική δήλωση. ηλαδή, οι πίνακες Α και Β θα είναι µονοδιάστατοι και 15 θέσεων ο κάθε ένας, ενώ ο πίνακας C θα είναι µονοδιάστατος 11 θέσεων και ο πίνακας Κ τρισδιάστατος. Εποµένως, έχουµε την ευχέρεια να δηλώνουµε τους πίνακες που θα χρειαστούµε στο πρόγραµµα µε µεγάλη ευελιξία. Αν γράψουµε : Integer, Dimension (10, 10) :: Α, Β, C τότε, όλοι οι πίνακες θα είναι δυσδιάστατοι (10, 10) και θα δέχονται µόνο ακέραιες τιµές. Εναλλακτικά, µπορούµε να δηλώσουµε τους πίνακες χωρίς την χρήση της εντολής Dimension, µέσω των, γνωστών από τις µεταβλητές, δηλωτικών εντολών. 52

3 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Π.χ. µπορούµε να γράψουµε τις ακόλουθες εντολές: Real X(5, 5), Y(5, 5) Integer Tab(100), Pin(10, 20) αντί για τις εντολές (Fortran 77): Dimension X(5, 5), Y(5, 5) Integer Tab, Pin Dimension Tab(100), Pin(10, 20) ή τις εντολές (Fortran 90/95): Real, Dimension (5, 5) :: Χ, Y Integer, Dimension (100) :: Tab, Pin(10, 20) 6.3 Αποθήκευση πινάκων Για έναν πίνακα µιας διάστασης είναι απλό. Το στοιχείο π.χ. Α(3), βρίσκεται στην τρίτη κατά σειρά θέση µνήµης. Για ένα πίνακα δύο διαστάσεων π.χ. Β(3, 2), οι θέσεις στη µνήµη βρίσκονται µε την ακόλουθη διάταξη: Β(1,1) Β(2,1), Β(3,1) και στη συνέχεια Β(1,2), Β(2,2), Β(3,2), δηλαδή οι πίνακες δύο διαστάσεων κρατούν τόσες θέσεις όσα τα στοιχεία τους, που είναι διατεταγµένα µέσα στη µνήµη, πρώτα όλα τα στοιχεία της πρώτης στήλης, κατόπιν όλα τα στοιχεία της δεύτερης στήλης και ούτω καθ' εξής µέχρι την τελευταία στήλη. ηλαδή η Fortran καθορίζει ότι η διάταξη µε την οποία θα τοποθετηθούν τα στοιχεία ενός πίνακα στην µνήµη του Η/Υ, είναι κατά στήλες. 6.4 Εισαγωγή τιµών σε πίνακα Όταν ορίζουµε τον πίνακα µε έναν από τους τρόπους της παραγράφου 6.2: Αν ο πίνακας είναι αριθµητικός, έχουµε αυτόµατο µηδενισµό όλων των στοιχείων του. Αν ο πίνακας είναι αλφαριθµητικός, όλα του τα στοιχεία έχουν µηδενικό µήκος (κενές συµβολοσειρές). Στη συνέχεια θα δούµε πως µπορούµε να δώσουµε τιµές σε έναν πίνακα, διαχωρίζοντας του πίνακες σε µονοδιάστατους και δυσδιάστατους Εισαγωγή τιµών σε µονοδιάστατο πίνακα Μπορούµε να δώσουµε τιµές σ ένα µονοδιάστατο πίνακα µε τους ακόλουθους τρεις τρόπους. Α τρόπος. Με Εντολές Εισόδου 53

4 Εισαγωγή στη γλώσσα Fortran Αν θέλουµε να δώσουµε δυναµικά, κατά τη διάρκεια της εκτέλεσης του προγράµµατος, τιµές οποίες θα αποθηκευτούν σε πίνακες µπορούµε να χρησιµοποιήσουµε τις εντολές εισόδου της Fortran. Συγκεκριµένα µπορούµε να χρησιµοποιήσουµε την εντολή Do : Dimension A(5) Write(*, *) "Πληκτρολογείστε πέντε τιµές" Do i =1, 5 Read(*, *) A(i) Να έχουµε απευθείας ανάγνωση του πίνακα Α Dimension A(5) Write(*, *) "Πληκτρολογείστε πέντε τιµές" Read(*, *) Α Οι πέντε τιµές που θα πρέπει να πληκτρολογηθούν, όταν εµφανιστεί το µήνυµα στην οθόνη, θα τοποθετηθούν στις πέντε (5) θέσεις του πίνακα Α. Ή να χρησιµοποιήσουµε την υπονοούµενη (implied) εντολή Do: Dimension A(5) Write(*, *) "Πληκτρολογείστε πέντε τιµές" Read(*, *) (A(i), i = 1, 5) Η γενική µορφή της εντολής για το υπονοούµενο Do είναι: ("µεταβλητή", "µεταβλητή ελέγχου" = "κατώτερο όριο", "ανώτερο όριο", "βήµα") Π.χ. Read(*, *) (A(i), i = 1, 10, 2) Έχουµε δηλαδή, τις ίδιες έννοιες µ' εκείνες που είδαµε για την εντολή Do. Β τρόπος. Με εντολές ανάθεσης Αν έχουµε τον πίνακα Α(5) και θέλουµε να δώσουµε τις τιµές 10, 20, 30, 40, 50 µπορούµε να γράψουµε (Fortran 77): Dimension A(5) Α(1) = 10 Α(2) = 20 Α(3) = 30 Α(4) = 40 54

5 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Α(5) = 50 ή να γράψουµε (Fortran 90/95): Integer, Dimension (5) :: A Α(1) = 10 Α(2) = 20 Α(3) = 30 Α(4) = 40 Α(5) = 50 Μπορούµε να βελτιώσουµε αυτόν τον κώδικα µε την χρήση της εντολής Do. Π.χ. ή Dimension A(5) Do i = 1, 5 Α(i) = i*10 Integer, Dimension (5) :: A Do i = 1, 5 Α(i) = i*10 Μπορούµε να δώσουµε και σε µεµονωµένες θέσεις ενός πίνακα τιµές, δηλαδή µπορούµε να γράψουµε : Α(3) = 3055 Γ τρόπος. Με την εντολή Data Όταν πρέπει να δώσουµε αρχικές τιµές σε ένα πρόγραµµα οι οποίες δεν θα αλλάζουν σε κάθε νέα εκτέλεση του προγράµµατος ή κατά τη διάρκεια της εκτέλεσης, θεωρείται άστοχο να τις πληκτρολογούµε σε κάθε νέα επανεκκίνηση του προγράµµατος. Οι λόγοι της αποφυγής αυτής της µορφής απόδοσης τιµών είναι κυρίως δύο. Ο πρώτος λόγος είναι ότι προκαλείται καθυστέρηση στην έκδοση των αποτελεσµάτων, από τη χρονοβόρο διαδικασία της πληκτρολόγησης και ο δεύτερος, ίσως και ο πιο σηµαντικός λόγος, είναι ότι µια λανθασµένη πληκτρολόγηση µπορεί να προκαλέσει λανθασµένα αποτελέσµατα. Συνιστάται λοιπόν, η χρησιµοποίηση της εντολής Data, η οποία επιτρέπει τη µαζική απόδοση τιµών σε απλές µεταβλητές και σε µεταβλητές µε δείκτες (πίνακες). H γενική µορφή της εντολής Data, είναι : 55

6 Εισαγωγή στη γλώσσα Fortran Data "µεταβλητές" / "σταθερές τιµές" /. Μπορούµε, στη θέση των "µεταβλητών" να τοποθετήσουµε µια σειρά από απλές µεταβλητές ή/και µεταβλητές µε δείκτες (πίνακες) του προγράµµατος. Στη θέση των "σταθερών τιµών" γράφουµε τις αντίστοιχες τιµές των "µεταβλητών". Π.χ. η εκτέλεση των εντολών: Real X(4) Data X / 1.2, 15.5, 7.0, 14.1 / θα προκαλέσει αντικατάσταση των τεσσάρων αριθµητικών τιµών στις τέσσερις θέσεις του πίνακα Χ. Η συνέχεια των εντολών: Integer Χ(4), Z Data Χ, Z / 1, 2, 3, 4, 5 / θα προκαλέσει αντικατάσταση των 4 πρώτων τιµών (1, 2, 3, 4) στις 4 θέσεις του πίνακα Χ ως εξής: Χ(1)=1, Χ(2)=2, Χ(3)=3 και Χ(4)=4, και την τιµή 5 στην απλή µεταβλητή Ζ. Η εντολή Data µπορεί να βρίσκεται σε οποιοδήποτε σηµείο του κώδικα αλλά, τοποθετείται, τις περισσότερες φορές, στην αρχή του προγράµµατος και χρησιµεύει κυρίως για την απόδοση αρχικών ή σταθερών τιµών στις µεταβλητές Εισαγωγή τιµών σε δυσδιάστατο πίνακα Μπορούµε να δώσουµε τιµές σ ένα δυσδιάστατο πίνακα µε τους ακόλουθους τρεις τρόπους. Α τρόπος. Με Εντολές Εισόδου Αν θέλουµε να δώσουµε δυναµικά, κατά τη διάρκεια της εκτέλεσης του προγράµµατος, τιµές οποίες θα αποθηκευτούν σε πίνακες µπορούµε να χρησιµοποιήσουµε τις εντολές εισόδου της Fortran. Συγκεκριµένα µπορούµε να χρησιµοποιήσουµε την εντολή Do : ιάβασµα τιµών ενός δυσδιάστατου πίνακα κατά γραµµές: Do i =1, 3 Do j =1, 2 Read(*, *) A(i, j) ιάβασµα τιµών ενός δυσδιάστατου πίνακα κατά στήλες: 56

7 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Do j =1, 2 Do i =1, 3 Read(*, *) A(i, j) Να έχουµε απευθείας ανάγνωση του πίνακα Α Read(*, *) Α Οι έξι πρώτες τιµές που θα πληκτρολογηθούν, θα τοποθετηθούν στις 6 θέσεις του πίνακα Α. Προσοχή: Επειδή η Fortran αποθηκεύει τις τιµές ενός δυσδιάστατου πίνακα κατά στήλες θα πρέπει να δίνουµε τις τιµές του πίνακα Α κατά στήλες. Ή να χρησιµοποιήσουµε την υπονοούµενη (implied) εντολή Do. Όπως µπορούµε να χρησιµοποιήσουµε πολλές ανακυκλώσεις τη µία µέσα στην άλλη, σε µια εντολή Do, έτσι και σε µια υπονοούµενη Do µπορούµε να γράφουµε: Read(*, *) ((A(i,j), j = 1, 2), i = 1, 3) αν θέλουµε να διαβάσουµε τις τιµές του πίνακα κατά γραµµές. Από τους δύο δείκτες i και j, πρώτα µεταβάλλεται εκείνος που είναι εσωτερικά δηλαδή ο j και κατόπιν ο i. Ή να γράφουµε: Read(*, *) ((A(i,j), i = 1, 3), j = 1, 2) αν θέλουµε να διαβάσουµε τις τιµές του πίνακα κατά στήλες. Β τρόπος. Με εντολές ανάθεσης Αν έχουµε τον πίνακα Α(3, 2) και θέλουµε να δώσουµε τις τιµές µπορούµε να γράψουµε: 57

8 Εισαγωγή στη γλώσσα Fortran Α(1, 1) = 1 Α(1, 2) = 2 Α(2, 1) = 2 Α(2, 2) = 4 Α(3, 1) = 3 Α(3, 2) = 6 Μπορούµε να βελτιώσουµε αυτόν τον κώδικα µε την χρήση της εντολής Do. Π.χ. Do i = 1, 3 Do j = 1, 2 Α(i,j) = i*j Μπορούµε να δώσουµε και σε µεµονωµένες θέσεις ενός πίνακα τιµές, δηλαδή µπορούµε να γράψουµε : Α(3, 2) = 6. Γ τρόπος. Με την εντολή Data Αν έχουµε τον πίνακα Α(3, 2) και θέλουµε να δώσουµε τις τιµές µπορούµε να γράψουµε: Data A / 1, 2, 3, 2, 4, 6 / Προσοχή: Επειδή η Fortran αποθηκεύει τις τιµές ενός δυσδιάστατου πίνακα κατά στήλες θα πρέπει να δίνουµε τις τιµές του πίνακα Α κατά στήλες. 6.5 Εµφάνιση (εκτύπωση) τιµών ενός πίνακα Αν και το επόµενο στάδιο µετά την εισαγωγή τιµών σε ένα πίνακα, είναι η επεξεργασία των τιµών του πίνακα και στην συνέχεια η εµφάνιση των τιµών του πίνακα, για λόγους ευκολίας θα αναφερθούµε στην συνέχεια στην εµφάνιση των τιµών ενός πίνακα. Ο κύριος λόγος για την επιλογή αυτή, είναι ότι η εµφάνιση των τιµών ενός πίνακα µοιάζει πάρα πολύ µε την εισαγωγή (ανάγνωση) των τιµών του πίνακα. Η κύρια διαφορά έγκειται ότι στην ανάγνωση 58

9 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου χρησιµοποιούµε την εντολή Read, ενώ στην εκτύπωση χρησιµοποιούµε την εντολή Write ή Print Εκτύπωση τιµών µονοδιάστατου πίνακα Α τρόπος. Με χρήση της εντολής Do Dimension A(5) Do i =1, 5 Write*, *) A(i) Β τρόπος. Με χρήση της υπονοούµενης εντολής Do Dimension A(5) Write(*, *) (A(i), i = 1, 5) Γ τρόπος. Με απευθείας εκτύπωση Dimension A(5) Write(*, *) Α Εκτύπωση τιµών δυσδιάστατου πίνακα Α τρόπος. Με χρήση της εντολής Do Do i =1, 3 Do j = 1, 2 Write*, *) A(i, j) Εκτυπώνονται οι τιµές του πίνακα η µία κάτω από την άλλη κατά γραµµές. Do j =1, 2 Do i = 1, 3 59

10 Εισαγωγή στη γλώσσα Fortran Write*, *) A(i, j) Εκτυπώνονται οι τιµές του πίνακα η µία κάτω από την άλλη κατά στήλες. Β τρόπος. Με χρήση της υπονοούµενης εντολής Do Do i =1, 3 Write*, *) (A(i, j), j = 1, 2) Εκτυπώνεται ο πίνακας µε τη συνήθη µορφή. Γ τρόπος. Με απευθείας εκτύπωση Write(*, *) Α Εκτυπώνονται οι τιµές του πίνακα η µία κάτω από την άλλη κατά στήλες. Σηµείωση: Από τους παραπάνω τρεις τρόπους εµφάνισης των τιµών ενός πίνακα, ο προτιµότερος είναι ο Β ο οποίος εκτυπώνει τις τιµές του πίνακα µε τη συνήθη µορφή. 6.6 Νέες εντολές της Fortran 90/95 Με τη Fortran 90/95 έχουν εισαχθεί νέες εντολές και συναρτήσεις για την επεξεργασία των πινάκων οι οποίες εµπλουτίζουν τη γλώσσα και παρέχουν µεγαλύτερη ευελιξία στους προγραµµατιστές. Οι νέες εντολές επιτρέπουν τη δυναµική δέσµευση της µνήµης ενώ οι νέες συναρτήσεις χρησιµοποιούνται στην επεξεργασία των τιµών ενός πίνακα υναµική δέσµευση µνήµης Λέµε δυναµική δέσµευση της µνήµης την ενέργεια του προγραµµατιστή µε την οποία δεσµεύει και χρησιµοποιεί εκείνη την περιοχή της µνήµης που πραγµατικά έχει ανάγκη και µάλιστα τη στιγµή που την έχει ανάγκη και όσο χρόνο αυτό απαιτείται από τον αλγόριθµο επίλυσης του προβλήµατος. Όταν δεν χρειάζεται πια αυτή η περιοχή της µνήµης µπορεί να αποδεσµευτεί και να χρησιµοποιεί για άλλες πράξεις. Μέχρι και τη Fortran 77 δεν υπήρχε πρόβλεψη για δυναµική δέσµευση της µνήµης και οι προγραµµατιστές ήταν αναγκασµένοι να καταφεύγουν στη στατική δέσµευση της µνήµης δηλαδή, να δηλώνουν στην αρχή του προγράµµατος τη µέγιστη διάσταση των πινάκων και να χρησιµοποιούν πολλές φορές ένα µέρος από τη δεσµευµένη περιοχή της µνήµης. Αυτό είχε 60

11 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου σαν αποτέλεσµα την άσκοπη απασχόληση της µνήµης και την αδυναµία εκτέλεσης προγραµµάτων µε µεγάλες απαιτήσεις σε διαθέσιµο χώρο µνήµης. Ειδικά, µέχρι της αρχές της δεκαετία του 90 που οι τιµές αγοράς της µνήµης ήταν πολύ υψηλές και οι δυνατότητες των υπολογιστών περιορισµένες, η λύση της στατικής δέσµευσης της µνήµης δεν επέτρεπε την ορθολογική χρήση των υπολογιστών και τη βέλτιστη απόδοση των αλγορίθµων. Η γενική µορφή δήλωσης δυναµικής δέσµευσης της µνήµης είναι: Τύπος, Dimension ( : ), Allocatable :: "όνοµα µεταβλητής µε δείκτες" Ο Τύπος, είναι ένας από τους γνωστούς και αποδεκτούς τύπους των µεταβλητών. Ο τύπος των µεταβλητών µε δείκτες ακολουθεί τους ίδιους κανόνες µε µία απλή µεταβλητή. Η λέξη Allocatable υποδεικνύει στο µεταγλωττιστή ότι οι µεταβλητές µε δείκτες που ακολουθούν δεν θα έχουν από την αρχή του προγράµµατος καθορισµένο µέγεθος αλλά η διάστασή τους θα οριστεί αργότερα κατά τη διάρκεια του προγράµµατος. Αν γράψουµε : Real, Dimension ( : ), Allocatable :: TAB και στη συνέχεια, τη στιγµή που θα πρέπει να χρησιµοποιήσουµε τον πίνακα ΤΑΒ, π.χ. για την επίλυση ενός συστήµατος εκατό εξισώσεων µε εκατό αγνώστους, µπορούµε να γράψουµε: Allocate ( TAB(100, 100) ) Όταν ολοκληρωθεί ο αλγόριθµος της επίλυσης του συστήµατος και δεν έχουµε πλέον ανάγκη τις θέσεις µνήµης, µπορούµε να απελευθερώσουµε τη δεσµευµένη µνήµη µε τη βοήθεια της εντολή Deallocate. Αρκεί λοιπόν, να γράψουµε: Deallocate (TAB) Αν χρειαστεί, µπορούµε να ξαναχρησιµοποιήσουµε τον πίνακα ΤΑΒ µε µικρότερη ή µεγαλύτερη διάσταση. Π.χ. αν χρειαζόµαστε ένα νέο πίνακα µονοδιάστατο, 7500 θέσεων µνήµης, µπορούµε να χρησιµοποιήσουµε την ίδια περιοχή µνήµης και να γράψουµε: Allocate ( TAB(7500) ) και όταν δεν χρειαζόµαστε πλέον τον πίνακα ΤΑΒ, µπορούµε να ξαναγράψουµε: Deallocate (TAB) Μπορούµε επίσης, να δηλώσουµε τη διάσταση του πίνακα όχι µε µια σταθερή τιµή αλλά µε την τιµή µιας µεταβλητής η οποία θα παίρνει τιµή π.χ. από µια εντολή εισόδου. Μπορούµε λοιπόν, να έχουµε τις ακόλουθες εντολές: Real, Dimension ( : ), Allocatable :: ΧΧ.... Write (*, *) " ώστε τη διάσταση του πίνακα εργασίας" 61

12 Εισαγωγή στη γλώσσα Fortran Read (*, *), K Allocate ( ΧΧ( K, K) ).... Deallocate ( ΧΧ ) Εδώ, κατά τη διάρκεια εκτέλεσης του προγράµµατος και ανάλογα µε τις απαιτήσεις του προβλήµατος, ο χρήστης µπορεί να πληκτρολογήσει την ακριβή διάσταση του πίνακα ΧΧ τη στιγµή που την έχει ανάγκη και εποµένως, δεσµεύει τόση περιοχή µνήµης όση έχει πραγµατικά ανάγκη µε την εντολή: Allocate ( ΧΧ( K, K) ) Όταν ολοκληρωθεί η επεξεργασία και δεν πρόκειται να ξαναχρησιµοποιεί ο πίνακας ΧΧ τότε, µε την εντολή: Deallocate ( ΧΧ ) αποδεσµεύεται η δεσµευµένη περιοχή της µνήµης για τον πίνακα εργασίας ΧΧ µε αποτέλεσµα την ορθολογιστική διαχείριση και η εκµετάλλευση της µνήµης Συναρτήσεις για την επεξεργασία των τιµών ενός πίνακα Όνοµα MAXLOC(X) MINLOCX) MAXVAL(X) MINVAL(X) Περιγραφή Υπολογίζει τη θέση του µέγιστου στοιχείου του πίνακα Χ Υπολογίζει τη θέση του ελάχιστου στοιχείου του πίνακα Χ Υπολογίζει τη µέγιστη τιµή του πίνακα Χ Υπολογίζει την ελάχιστη τιµή του πίνακα Χ 6.7 Παραδείγµατα Παράδειγµα 1: Να γραφεί πρόγραµµα που θα διαβάζει 30 ακέραιους αριθµούς από το πληκτρολόγιο, θα τους τοποθετεί σε ένα πίνακα Α και στη συνέχεια θα βρίσκει και θα εµφανίζει: α) το πλήθος των αριθµών που βρίσκονται έξω από το διάστηµα [-10, 10], β) το γινόµενο των αριθµών που είναι διάφοροι του µηδενός και βρίσκονται στο διάστηµα [-5, 5], γ) το άθροισµα των αριθµών που είναι πολλαπλάσια του 5 και δ) ο µέσος όρος των άρτιων αριθµών. 62

13 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Program Example1 Implicit None Integer n Parameter (n=30) Integer:: A(n), i, counter = 0, p = 1, s = 0, counter_even = 0 Real:: MO, s_evev = 0.0 Write(*,*) Give an integer Read(*,*) A(i) C C C C Ερώτηµα (α) If ((A(i).LT.-10).OR.(A(i).GT.10)) Then counter = counter + 1 End if Ερώτηµα (β) If (((A(i).GE.-5).AND.(A(i).LE.5)).AND.(A(i).NE.0)) Then p = p*a(i) End if Ερώτηµα (γ) If (MOD(A(i),5).EQ.0) Then s = s + A(i) End if Ερώτηµα (δ) If (MOD(A(i),2).EQ.0) Then s_even = s_even + a(i) counter_even = counter_even + 1 End if Write(*,*) Plithos aritmwn exw apo to diastima [-10, 10] =, counter Write(*,*) Ginomeno mi midenikwn arithmwn sto diastima [-5, 5]=, p Write(*,*) Athroisma pollaplasiwn tou 5 =, s If (counter_even.eq.0) Then Write(*,*) Den yparxoun artioi arithmoi Else MO = s_even/counter_even Write(*,*) Mesos oros artiwn =, MO End if End 63

14 Εισαγωγή στη γλώσσα Fortran Παράδειγµα 2: Να γραφεί πρόγραµµα που θα διαβάζει από το πληκτρολόγιο τα στοιχεία ενός διανύσµατος Α ακεραίων αριθµών διάστασης Ν και στη συνέχεια θα βρίσκει και θα εµφανίζει το µέγιστο στοιχείο και τη θέση του (την τελευταία εµφάνιση του µέγιστου) καθώς και το ελάχιστο στοιχείο και τη θέση του (την τελευταία εµφάνιση του ελαχίστου). Program Max_Min_Vector Implicit None Integer n Parameter (n = 8) (n), i, max, pos_max, min, pos_min Write(*,*) Give the, i, element Read(*,*) A(i) max = A(1) pos_max = 1 min = A(1) pos_min = 1 If (max.le.a(i)) Then max = A(i) pos_max = i End if If (min.ge.a(i)) Then min = A(i) pos_min = i End if Write(*,*) MAX =, max, Position =, pos_max Write(*,*) MIN =, min, Position =, pos_min End 64

15 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Παράδειγµα 3: Να γραφεί πρόγραµµα που θα διαβάζει από το πληκτρολόγιο τα στοιχεία δύο διανυσµάτων Α και Β ακεραίων αριθµών διάστασης N και θα υπολογίζει και θα εµφανίζει το άθροισµά τους. Program Sum_Vector Implicit None Integer n Parameter (n = 8) (n), B(n), C(n), i Write(*,*) Give the elements of vector A Write(*,*) Give the, i, element Read(*,*) A(i) Write(*,*) Give the elements of vector B Write(*,*) Give the, i, element Read(*,*) B(i) C(i)=A(i)+B(i) Write(*,*) The elements of vector C Write(*,*) C(i) End 65

16 Εισαγωγή στη γλώσσα Fortran Παράδειγµα 4: Να γραφεί πρόγραµµα που θα δηµιουργεί τους παρακάτω πίνακες: Program Create_Arrays Implicit None Integer n Parameter (n = 4) (n, n), B(n, n), i, j Do j = 1, n If (i.eq.j) Then A(i,j) = 1 Else A(i,j) = 0 End if Do j = 1, n B(i,j) = 0-1 B(i,i+1) = 1 Α = Ι 4 και Write(*,*) Array A Write(*,*) (A(i,j), j = 1, n) Write(*,*) Array B Write(*,*) (B(i,j), j = 1, n) End B =

17 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Παράδειγµα 5: Να γραφεί πρόγραµµα που θα διαβάζει από το πληκτρολόγιο τα στοιχεία ενός πίνακα Α ακεραίων αριθµών διάστασης ΝxΜ και στη συνέχεια θα βρίσκει και θα εµφανίζει το µέγιστο στοιχείο και τη θέση του (την τελευταία εµφάνιση του µέγιστου) καθώς και το ελάχιστο στοιχείο και τη θέση του (την τελευταία εµφάνιση του ελαχίστου). Program Max_Min_Array Implicit None Integer n, m Parameter (n = 4, m =3) (n,m), i, j, max, posi_max, posj_max, min, posi_min, posj_min Do j = 1, m Write(*,*) Give the,i,,,j, element Read(*,*) A(i,j) max = A(1,1) posi_max = 1 posj_max = 1 min = A(1,1) posi_min = 1 posj_min = 1 Do j = 1, m If (max.le.a(i,j)) Then max = A(i,j) posi_max = i posj_max = j End if If (min.ge.a(i,j)) Then min = A(i,j) posi_min = i posj_min = j End if Write(*,*) MAX =, max, Position = (, posi_max,,, posj_max, ) Write(*,*) MIN =, min, Position = (, posi_min,,, posj_min, ) End 67

18 Εισαγωγή στη γλώσσα Fortran Παράδειγµα 6: Να γραφεί πρόγραµµα που θα διαβάζει από το πληκτρολόγιο τα στοιχεία δύο πινάκων Α και Β ακεραίων αριθµών διάστασης NxΜ και θα υπολογίζει και θα εµφανίζει το άθροισµά τους. Program Sum_Array Implicit None Integer n, m Parameter (n = 4, m = 3) (n,m), B(n,m), C(n,m), i, j Write(*,*) Give the elements of array A Do j = 1, m Write(*,*) Give the,i,,,j, element Read(*,*) A(i,j) Write(*,*) Give the elements of array B Do j = 1, m Write(*,*) Give the,i,,,j, element Read(*,*) B(i,j) Do j = 1, m C(i,j)=A(i,j)+B(i,j) Write(*,*) The elements of array C Write(*,*) (C(i,j), j = 1, m) End 68

19 Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Παράδειγµα 7: Να γραφεί πρόγραµµα που θα διαβάζει από το πληκτρολόγιο τα στοιχεία δύο πινάκων Α και Β ακεραίων αριθµών διάστασης NxΜ και θα υπολογίζει και θα εµφανίζει το γινόµενό τους. Program Multiplication_Array Implicit None Integer n, m, l Parameter (n = 4, m = 3, k=2) (n,k), B(k,m), C(n,m), i, j, z Write(*,*) Give the elements of array A Do j = 1, k Write(*,*) Give the,i,,,j, element Read(*,*) A(i,j) Write(*,*) Give the elements of array B Do i = 1, k Do j = 1, m Write(*,*) Give the,i,,,j, element Read(*,*) B(i,j) Do j = 1, m C(i,j) = 0 Do z = 1, k C(i,j) = C(i,j) + A(i,z)*B(z,j) Write(*,*) The elements of array C Write(*,*) (C(i,j), j = 1, m) End 69

20 Εισαγωγή στη γλώσσα Fortran Παράδειγµα 8: Να γραφεί πρόγραµµα που θα διαβάζει από το πληκτρολόγιο τα στοιχεία ενός πινάκα Α ακεραίων αριθµών διάστασης NxΜ και θα υπολογίζει και θα εµφανίζει το άθροισµα της κάθε γραµµής του και το άθροισµα της κάθε στήλης του. Program Sum_Row_Sum_Column Implicit None Integer n, m Parameter (n = 4, m = 3) (n,m), i, j, s Write(*,*) Give the elements of array A Do j = 1, m Write(*,*) Give the,i,,,j, element Read(*,*) A(i,j) s = 0 Do j = 1, m s = s + A(i,j) Write(*,*) To athrisma tis,i, grammis einai:, s Do j = 1, m s = 0 s = s + A(i,j) Write(*,*) To athrisma tis,j, stilis einai:, s End 70

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4ο: Εντολές επιλογής

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

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

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

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

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

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

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

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

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

Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran

Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran 3.1 Μορφή Προγράµµατος Τα προγράµµατα Fortran γράφονται σε αρχείο

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

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

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

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

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

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

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

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

) :

) : ΜΟΝΟ ΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Οι µεθοδολογίες που ακολουθούν αφορούν µονοδιάστατο πίνακα Α[N] (διάστασης Ν). Άθροισµα Γινόµενο Μέσος όρος sum sum + A[i] Εµφάνισε sum g g g * Α[i] Εµφάνισε g sum sum + A[i] ΜΟ sum/n

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

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

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

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

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

- program p_name(input) - uses crt

- program p_name(input) - uses crt ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 9 : Βασικές Εντολές 1. Εισαγωγή Εντολές Εισόδου Κάθε Η/Υ έχει µία προκαθορισµένη συσκευή ή αρχείο απ όπου γίνεται η είσοδος δεδοµένων για ένα πρόγραµµα. Μια πολύ κοινή

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

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση Σκοπός Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση. Επανάληψη των βασικών εννοιών της PASCAL και του προγραμματισμού οι έννοιες της μεταβλητής, του τύπου δεδομένων,

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

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Συναρτήσεις ΣΥΝΑΡΤΗΣΕΙΣ 1.1. Ο λόγος ύπαρξης των συναρτήσεων Όπως είδαµε µία διαδικασία µπορεί να υπολογίζει περισσότερα από ένα αποτελέσµατα τα

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

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

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός Εργαστήριο 10 Πίνακες Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός 10.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Σ αυτή την άσκηση, εξετάζουμε μία βασική δομή του προγραμματισμού, το πίνακα. Στις μέχρι τώρα

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

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

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

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

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

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

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

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

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

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

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

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

2.2.3 Η εντολή Εκτύπωσε

2.2.3 Η εντολή Εκτύπωσε 2.2.3 Η εντολή Εκτύπωσε Η εντολή Εκτύπωσε χρησιµοποιείται προκειµένου να εµφανίσουµε κάτι στην οθόνη του υπολογιστή. Για τον λόγο αυτό ονοµάζεται και εντολή εξόδου. Ισοδύναµα µπορεί να χρησιµοποιηθεί και

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Πολυδιάστατοι πίνακες Μέχρι τώρα µιλούσαµε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες,

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

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

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

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 8 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 2 2.1 ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ Β) Στην προηγούµενη διάλεξη µάθαµε ότι µπορούµε να χρησιµοποιούµε τη ρητή ή την αυτονόητη δήλωση µεταβλητών

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

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

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

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

char name[5]; /* define a string of characters */

char name[5]; /* define a string of characters */ Συµβολοσειρές (Strings) Συµβολοσειρά (string) είναι µια σειρά αλφαριθµητικών χαρακτήρων (γενικά εκτυπώσιµων συµβόλων ASCII). Όταν λέµε σειρά εννοούµε διαδοχικές θέσεις µνήµης που µπορούν να αντιµετωπισθούν

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3 ο : ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 9 ο : ΠΙΝΑΚΕΣ ΜΕΡΟΣ 1 ο : ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΙΝΑΚΕΣ 1 & 2 ΔΙΑΣΤΑΣΕΩΝ http://eclass.sch.gr/courses/el594100/

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

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE ΕΡΓΑΣΤΗΡΙΟ 7 Ο Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE Βασικές Έννοιες: Δομή Επανάληψης, Εντολές Επανάληψης (For, While do, Repeat until), Αλγόριθμος, Αθροιστής, Μετρητής, Παράσταση

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

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου (νέο βιβλίο Πληροφορικής Γυµνασίου Αράπογλου, Μαβόγλου, Οικονοµάκου, Φύτρου) Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις 1. Τι είναι ο Αλγόριθµος;

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

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση: ΘΕΜΑ Α Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Η ταξινόμηση είναι μια από τις βασικές

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

- program p_name(output); - uses crt;

- program p_name(output); - uses crt; ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 9 : Βασικές Εντολές 1. Εισαγωγή Εντολές Εξόδου Κάθε Η/Υ έχει µία προκαθορισµένη συσκευή ή αρχείο (η συσκευή αναπαρίσταται ως αρχείο) όπου γίνεται η έξοδος των αποτελεσµάτων

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

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

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

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

ΕΠΑ.Λ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική Προγραµµατισµός Υπολογιστών Κεφάλαιο 9 Σηµειώσεις 03. Εντολή Εκχώρησης - Αντικατάστασης

ΕΠΑ.Λ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική Προγραµµατισµός Υπολογιστών Κεφάλαιο 9 Σηµειώσεις 03. Εντολή Εκχώρησης - Αντικατάστασης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 9 : Βασικές Εντολές 1. Εισαγωγή Εντολή Εκχώρησης - Αντικατάστασης Μια µεταβλητή σε ένα πρόγραµµα Pascal µπορεί να πάρει τιµή µέσω µιας εντολής read (π.χ. read(x);)

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για

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

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.1-8.3 Πίνακες Ι ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα µιλήσουµε για την δοµή δεδοµένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. ήλωση Πίνακα 3. Αρχικοποίηση

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

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

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

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

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

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

Μάριος Αγγελίδης

Μάριος Αγγελίδης ΠΙΝΑΚΕΣ Ενότητες βιβλίου: 3.3, 9.1-9.3 Ώρες διδασκαλίας: 1 Σε όλα τα προβλήματα μέχρι τώρα διαβάζαμε μία τιμή την φορά, την επεξεργαζόμασταν και χωρίς να την αποθηκεύουμε επαναλαμβάναμε την διαδικασία

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 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. Σε τι χρησιμεύει το συντακτικό

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

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής.

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής. ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 1 ΙΟΥΝΙΟΥ 2004 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

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

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι

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

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΑΤΕΥΘΥΝΣΗΣ (ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα,

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο Να γίνει περιγραφή του δισδιάστατου πίνακα. Ένας δισδιάστατος πίνακας είναι ουσιαστικά μια μεταβλητή. 1 2 3 τιμή1 τιμή2 τιμή3 τιμή4 τιμή5 τιμή6 τιμή7 τιμή8 τιμή9 τιμή10 τιμή11 τιμή12 τιμή13 τιμή14 τιμή15

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

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

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

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

ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (14/9/2012)

ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (14/9/2012) Φτιάξε ένα πρόγραµµα FORTRAN που θα βρίσκει αν ο ακέραιος N που θα εισάγει ο χρήστης είναι άρτιος ή περιττός. Φτιάξε ένα πρόγραµµα FORTRAN που να προσδιορίζει και να τυπώνει την θέση των στοιχείων ενός

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

Προγραµµατισµός στην Basic

Προγραµµατισµός στην Basic Προγραµµατισµός στην Basic 1. εντολή εισόδου Χρησιµοποιείται η εντολή INPUT, η οποία µπορεί να συνταχθεί : α. INPUT X, αν το δεδοµένο που ζητάει είναι αριθµητικό ή β. INPUT X$, αν το δεδοµένο που ζητάει

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

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου Ορισµοί κεφαλαίου Αλγόριθµος είναι µια πεπερασµένη σειρά ενεργειών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήµατος. Σηµαντικά σηµεία κεφαλαίου Κριτήρια

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

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

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

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

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

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

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

Εισαγωγή στον Προγραµµατισµό «C»

Εισαγωγή στον Προγραµµατισµό «C» Εισαγωγή Στον Προγραµµατισµό «C» Δείκτες Πανεπιστήµιο Πελοποννήσου Τµήµα Επιστήµης & Τεχνολογίας Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Μνήµη Υπολογιστή Η µνήµη RAM (Random Access Memory) ενός υπολογιστή

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Προθεσµία: 18/12/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Διαδικαστικά Η εργασία

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

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση

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

1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία. Ï.Å.Ö.Å.

1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία. Ï.Å.Ö.Å. 1 Γ' ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΘΕΜΑ 1: Α. 1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/10, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010-2011 Προθεσµία: 15/11/10, 23:59 Στόχοι Πίνακες Συναρτήσεις Συµβολοσειρές Χρήση µεταβλητών και σταθερών Χρήση τελεστών Χρήση δοµών ελέγχου

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πολυδιάστατοι Πίνακες Πολυδιάστατοι πίνακες

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

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Θέµα 1 ο Α. Να απαντήσετε τις παρακάτω ερωτήσεις τύπου Σωστό Λάθος (Σ Λ) 1. Σκοπός της συγχώνευσης 2 ή περισσοτέρων ταξινοµηµένων πινάκων είναι η δηµιουργία

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

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 1 ΙΟΥΝΙΟΥ 2004 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ)

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