Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται 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 Ο Τµηµατικός Προγραµµατισµός Η επίλυση ενός προβλήµατος πολλές φορές ανάγεται στην επίλυση

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

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ο: Εντολές επιλογής Μέχρι τώρα παρατηρήσαµε ότι τα προβλήµατα που αντιµετωπίσαµε είχαν σειριακή κίνηση, δηλαδή η µία εντολή

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, 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. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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 είναι ένας κατάλογος

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

) :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Ένας πίνακας δυο στηλών µπορεί να περιέχει

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

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

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

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

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

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

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

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

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

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

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 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

Προγραμματισμός Η/Υ Ι (Χρήση της 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)

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

Σκοπός. Εργαστήριο 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, πρώτος

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην 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. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

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

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

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

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

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

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

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου (νέο βιβλίο Πληροφορικής Γυµνασίου Αράπογλου, Μαβόγλου, Οικονοµάκου, Φύτρου) Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 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 Οι εντολές ενός προγράµµατος εκτελούνται διαδοχικά η µία µετά την

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

Προγραµµατισµός στην 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 = ,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΠΟΦΟΙΤΟΙ) Κυριακή

ΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΠΟΦΟΙΤΟΙ) Κυριακή ΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΠΟΦΟΙΤΟΙ) Κυριακή 16 Οκτωβρίου 2016 ΘΕΜΑ 1 ο ( Μονάδες 30 ) Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις

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

Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση

Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση ΥΠΟΛΟΓΙΣΤΕΣ Ι Τι είναι οι μεταβλητές ΕΣ ΤΑΒΛΗΤ - ΜΕΤ ΙΣΤΕΣ Ι ΠΟΛΟΓΙ ΥΠ ΜΕΤΑΒΛΗΤΕΣ Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση 0 1 2 3 4 MNHMH 5 6 7 8 9 Κ Α 1..

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

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

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

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

υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες

υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: είκτες στη C++ Οι τελεστές new και delete Destructors Ορισµός τελεστών κλάσεων Ο δείκτης this ΕΠΛ 132 Αρχές Προγραµµατισµού

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

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΑ 1-6 ΟΝΟΜΑ: ΗΜΕΡΟΜΗΝΙΑ: ΒΑΘΜΟΣ: ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό,

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

Άσκηση 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 =

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

ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ ΠΡΑΓΜΑΤΙΚΕΣ

ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ ΠΡΑΓΜΑΤΙΚΕΣ ΘΕΜΑ 1 Ο Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασµένη. (Μονάδες 10) 1. Για την εκτέλεση µια

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι πίνακες στη C (μονοδιάστατοι πίνακες) Γενικά για τους πίνακες Ο πίνακας είναι μια αρκετά διαδεδομένη δομή που προσφέρεται από σχεδόν κάθε γλώσσα προγραμματισμού. Πρόκειται

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

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

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

Σύντοµος Οδηγός της Qbasic. Πέρδος Αθανάσιος Καθηγητής Πληροφορικής

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

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

ΗΥ-150. Πίνακες (Arrays)

ΗΥ-150. Πίνακες (Arrays) ΗΥ-150 Προγραµµατισµός Πίνακες (Arrays) Προγραµµατισµός Εισαγωγικά Έστω ότι θέλουµε να αποθηκεύσουµε 100 ονόµατα φοιτητών και τους βαθµούς τους. Πως θα το κάναµε αυτό µε µεταβλητές; Πως θα µπορούσαµε να

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

H ΓΛΩΣΣΑ C. Μάθηµα 12: υναµική έσµευση Μνήµης. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 12: υναµική έσµευση Μνήµης. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 12: υναµική έσµευση Μνήµης ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος 1. Στατική έσµευση Μνήµης 1. Η συνάρτηση malloc 2. Η συνάρτηση free 3. έσµευση Μεταβλητής 4. έσµευση Μονοδιάστατου Πίνακα

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

Πρόβληµα : Πώς θα λύναµε αυτό το πρόβληµα αν είχαµε µόνο χαρτί και µολύβι, και κάποιος µας έλεγε τους αριθµούς προφορικά?

Πρόβληµα : Πώς θα λύναµε αυτό το πρόβληµα αν είχαµε µόνο χαρτί και µολύβι, και κάποιος µας έλεγε τους αριθµούς προφορικά? Πρόβληµα : Γράψτε ένα πρόγραµµα το οποίο - διαβάζει από το πληκτρολόγιο µια σειρά από ακεραίους έως ο χρήστης να δηλώσει ότι δεν υπάρχουν άλλοι - υπολογίζει τη µεγαλύτερη τιµή - εκτυπώνει αυτή την τιµή

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΕΚΦΩΝΗΣΕΙΣ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΕΚΦΩΝΗΣΕΙΣ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 19 Απριλίου 2015 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ Α1.

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί

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