ΦΥΣ-151: HΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Ι ΕΣΑΓΩΓΗ ΣΤΗ FORTRAN 77

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

Download "ΦΥΣ-151: HΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Ι ΕΣΑΓΩΓΗ ΣΤΗ FORTRAN 77"

Transcript

1 ΦΥΣ-151: HΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Ι ΕΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Νίκος Βουλγαράκης Πανεπιστήµιο Κρήτης Τµήµα Φυσικής

2

3 ΙΑΛΕΞΗ ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN οµή προγράµµατος Κανόνας των στηλών Ενα απλό παράδειγµα ΑΛΓΕΒΡΙΚΕΣ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ A) Τύποι µεταβλητών ήλωση µεταβλητών Εκχώρηση τιµής στις µεταβλητές ΕΤΟΛΕΣ read ΚΑΙ print Εντολή read Εντολή print ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ... 8 ΙΑΛΕΞΗ ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ Β) ΕΝΤΟΛΗ parameter ΕΣΩΤΕΡΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ (intrinsic functions)... 9 Συνάρτηση ΕΞΩΤΕΡΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ (external function) ΕΝΤΟΛΗ ΕΛΕΓΧΟΥ IF ΤΕΛΕΣΤΕΣ ΣΧΕΣΕΙΣ ΙΑΛΕΞΗ ΜΕΤΑΒΛΗΤΕΣ & ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ (ΜΕΡΟΣ Γ) ΕΝΤΟΛΗ ΕΠAΝΑΛΗΨΗΣ do ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ ΚΑΙ ΕΛΕΓΧΟΥ do while ΙΑΛΕΞΗ ΜΟΝΟ ΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ΙΑΝΥΣΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ (subroutines) ΙΑΛΕΞΗ Ι ΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Ανάγνωση απο τό πληκτρολόγιο και εκτύπωση στην οθόνη των στοιχείων ενός διδιάστατου πινακα ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ ) Πραγµατικοί αριθµοί διπλής αρκίβειας (double precision) Μιγαδικοί αριθµοι (complex) ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ Open Close Write Read... 43

4 ΙΑΛΕΞΗ ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει να εκτελέσει ο υπολογιστής για την επίλυση ενός προβλήµατος. Οπως και οι κοινές γλώσσες, έτσι και οι γλώσσες προγραµµατισµού αποτελούνται από ένα συγκεκριµένο σύνολο χαρακτήρων µε τη βοήθεια των οποίων µπορούµε να δηµιουργήσουµε «λέξεις» (εντολές ή συµβολικά ονόµατα) ή να γράψουµε αριθµητικές παραστάσεις. Οι επιτρεπόµενοι χαρακτήρες στη FORTRAN 77 είναι: τα 26 γράµµατα του αγγλικού αλφάβητου (κεφαλαία και µικρά) τα ψηφία 0,1,2,...,9 τα σύµβολα: + - * / = ( )., _ το κενό ΠΑΡΑΤΗΡΗΣΕΙΣ 1. Η FORTRAN 77 δεν κάνει διαχωρισµό µεταξύ κεφαλαίων και µικρών γραµµάτων. Για παράδειγµα, η εντολή print*,sum µπορεί να γραφτεί και ως PrINt*, Sum ή print*,sum κοκ 2. Τα κενά δε λαµβάνονται υπ όψιν από τον υπολογιστή. Για παράδειγµα το print*, sum είναι ισοδύναµο µε το pr in t *, Su m 3. Τα συµβολικά ονοµατα επιλέγονται ελεύθερα από τον προγραµµατιστή αλλά πρέπει να πληρούν ορισµένους κανόνες. Πιο συγκεκριµένα: Τα συµβολικά ονόµατα µπορούν να περιέχουν µέχρι 31 χαρακτήρες. Οι επιτρεπόµενoi χαρακτήρες είναι: όλα τα γράµµατα του αγγλικού αλφάβητου (κεφαλαία και µικρά), οι αριθµοί 0,1,2,...,9 και το _ (underscore) Ο πρώτος χαρακτήρας κάθε ονόµατος ΠΡΕΠΕΙ να είναι γράµµα οµή προγράµµατος Η δοµή ενός πρόγραµµατος στη FORTRAN 77 έχει ως εξής: 3

5 program name δήλωση µεταβλητών εντολές stop ΠΑΡΑΤΗΡΗΣΕΙΣ 1. Ένα πρόγραµµα στη FORTRAN 77 ξεκινάει µε την εντολή program και τελειώνει µε την εντολή. Μεταξύ των εντολών αυτών υπάρχουν: αρχικά η δήλωση των µεταβλητών και στη συνέχεια οι υπόλοιπες εντολές. 2. Η εντολή program συνοδεύεται πάντα από ένα συµβολικό όνοµα (βλ. 1.1) 3. Η εντολή stop τερµατίζει την εκτέλεση του προγράµµατος σε όποιο σηµείο υπάρχει. Η χρήση του stop πριν το είναι προαιρετική, µια και η εκτέλεση του πρόγραµµατος θα σταµατήσει ούτως ή άλλως µόλις συναντήσει την εντολή. Όµως στο παράδειγµα που ακολουθεί program name δήλωση µεταβλητών εντολή1 εντολή2 stop εντολή3 stop το πρόγραµµα θα σταµατήσει στο πρώτο stop που θα συναντήσει, δηλ. ακριβώς πριν από την εντολή Κανόνας των στηλών Ο κώδικας στη FORTRAN πρέπει να γράφεται µε ένα συκγεκριµένο τρόπο στο αρχείο που θα τον αποθηκεύσουµε. Πιο συγκεκριµένα: 1. Οι εντολές γράφονται µεταξύ των στηλών 7 72 της κάθε γραµµής. 2. Αν υπάρχει ο χαρακτήρας c (ή το *) στη στήλη 1, τότε ότι κι αν γράψουµε στη γραµµή αυτή είναι σχόλιο και δε λαµβάνεται υπ όψιν απο τον υπολογιστή 4

6 3. Αν στην στήλη 6 υπάρχει οποιοδήποτε σύµβολο (συνηθίζεται το &), τότε η γραµµή αυτή θεωρείται συνέχεια της προηγούµενης. Αυτό συνήθως το χρησιµοποιουµε όταν η εντόλη που γραφουµε σε µία γραµµη υπερβαίνει τη στήλη Στις στήλες 2-5 µπαίνουν (αν είναι αναγκαίο) αριθµητικές (ακέραιες) ετικέτες Ενα απλό παράδειγµα program circle c Το πρόγραµµα αυτό διαβάζει από το πληκτρολόγιο την ακτίνα ενός κύκλου c και υπολογίζει την περίµετρο και το εµβαδόν του c c ΜΕΤΑΒΛΗΤΕΣ c r (input) ακτίνα του κύκλου c perimetros (output) περίµετρος του κύκλου c emvadon (output) εµδαδόν του κύκλου real r, perimetros, emvadon print*, ώστε την ακτίνα του κύκλου read*, r perimetros = 2.*3.14*r emvadon = 3.14*r**2 print*, Η περίµετρος του κύκλου είναι:, perimetros print*, Το εµβαδόν του κύκλου είναι:, emvadon stop 1.2 ΑΛΓΕΒΡΙΚΕΣ ΠΡΑΞΕΙΣ Οι αριθµητικοί τελεστές ειναι οι: + (πρόσθεση) - (αφαίρεση) * (πολλαπλασιασµός) / (διαίρεση) ** (ύψωση σε δύναµη) 5

7 Για παράδειγµα η παρακάτω µαθηµατική έκφραση: a + b c + c 2 ( a + b) + d στην FORTRAN 77 γράφεται ως c*(a+b) + (a+b)/c + d**2 ΠΑΡΑΤΗΡΗΣΗ: Οι αλγεβρικές πράξεις εκτελούνται µε την εξής σειρά προτεραιότητας: 1. ύψωση σε δύναµη 2. πολλαπλασιασµός ή διαίρεση 3. πρόσθεση ή αφαίρεση Παραδείγµατα: 2*3+20 = 6+20 = /20 = 2+5 = 7 5+6*3**2 = 5+6*9 = 5+54 = 59 Πρώτες εκτελούνται οι πράξεις µέσα στις παρενθέσεις µε τη σειρά που αναφέραµε προηγουµένως. Για παράδειγµα: (2*3**2 +1)*2-6 = (2*9+1)*2-6 = (18+1)*2-6 = 19*2-6 = 38-6 = ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ A) H FORTRAN 77 κάνει αυστηρό διαχωρισµό µεταξύ των πραγµατικών αριθµών (αριθµών µε δεκαδικό ψηφίο) και των ακεραίων αριθµών ( αριθµών χωρίς δεκαδικό ψηφιο). Για παράδειγµα, οι αριθµοί: είναι ακέραιοι, ενώ οι είναι πραγµατικοί. Μπορεί οι αριθµοί 23 και 23. να είναι ακριβώς η ίδια τιµή, ωστόσο στη FORTRAN 77 αντιµετωπίζονται τελείως διαφορετικά, γιατί αποθηκεύονται µε διαφορετικό τρόπο στη µνήµη του υπολογιστή Τύποι µεταβλητών Οι τύποι µεταβλητών που υποστηρίζει η FORTRAN 77 είναι: 6

8 integer (ακέραιοι) real (πραγµατικοί, ακρίβεια µέχρι 8 ο δεκαδικό ψηφίο) double precision (πραγµατικοί, ακρίβεια µέχρι 16 ο δεκαδικό ψηφίο) complex (µιγαδικοί) character (χαρακτήρες) logical (λογικές, µόνο δύο τιµές true και false) ήλωση µεταβλητών Ρητή δήλωση type λίστα µεταβλητών π.χ: integer a1, sum, count real energy, sum, r Aυτονόητη (implicit) δήλωση Σε περίπτωση πoυ δεν ορίσουµε ρητά τον τύπο των µεταβλητών η FORTRAN 77 έχει την δυνατότητα να ταξινοµίσει τις µεταβλητές αυτόµατα. Πιο συγκεκριµένα, όσες µεταβλητές αρχίζουν από i, j, k, l, m,n είναι ακέραιοι (πχ isum, jcount), ενώ όσες αρχίζουν απο τα υπόλοιπα γράµµατα του αγγλικού αλφάβητου, δηλ. a-h and o-z, είναι πραγµατικοί (π.χ sum, x, func) Εκχώρηση τιµής στις µεταβλητές Μια µεταβλητή µπορεί να πάρει κάποια συκγεκριµένη τιµή ως Μεταβλητή = αριθµητική παράσταση Για παράδειγµα: a=0.5*10.**2 ή energy = 0.5*m*v**2, όπου οι µεταβλητές m και v έχουν ήδη κάποια συγκεκριµένη τιµή. Επίσης µπορούµε να δώσουµε τιµή σε µια µεταβλητή µε την εντολή read (βλ. επόµενη παράγραφο). 1.4 ΕΤΟΛΕΣ read ΚΑΙ print Εντολή read Σύνταξη: read*, λίστα µεταβλητών 7

9 Με την εντολή αυτή ο υπολογιστής περιµένει να του δώσουµε από το πληκτρολόγιο µία λίστα µεταβλητων. Παράδειγµα: read*,a1, r, energy ΠΑΡΑΤΗΡΗΣΗ: Υπάρχουν δυο τρόποι να εισάγουµε τις µεταβλητές από το πληκτρολόγιο: 1 ίνουµε διαδοχικά όλες τις µεταβλητές χωρισµένες µε κόµµα (,) και στο τέλος παταµε enter. 2 Πατάµε enter σε κάθε µεταβλητή που πληκτρολογούµε Εντολή print Σύνταξη: print*, σχόλια και/ή λίστα µεταβλητών Με την εντολή αυτή ο υπολογιστής θα τυπώσει στην οθόνη τα σχόλια και/ή τη λίστα των µεταβλητών. Παράδειγµα: print*, Το εµβαδόν του κύκλου είναι, emvadon ΠΑΡΑΤΗΡΗΣΕΙΣ 1 Τα σχόλια µπαίνουν πάντα µέσα σε µονά εισαγωγικά:...σχόλιο... 2 Τα σχόλια και οι µεταβλητές χωρίζονται πάντα µε κόµµα. 2.4 ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Συνοπτικά η διαδικασία που ακολουθείται για την εκτέλεση ενός προγράµµατος, είναι: 1. Αποθηκεύουµε τον κώδικα FORTRAN σε ένα αρχείο που έχει κατάληξη.f (π.χ pogram1.f) 2. Μεταφράζουµε (compile) τον κώδικα στη γλώσσα µήχανής π.χ g77 program1.f o program1.exe 3. Το ο program1.exe δηµιουργεί το εκτελέσιµο αρχείο µε όνοµα program1.exe 4. (Σε περίπτωση που δε δώσουµε το «ο program1.exe», τότε ο µεταφραστής (compiler) θα ονοµάζει πάντα το εκτελέσιµο αρχειο ως a.out) 5. «Τρέχουµε» το εκτέλεσιµο αρχείο program1.exe ΠΑΡΑΤΗΡΗΣΗ:Η κατάληξη.exe στο εκτελέσιµο αρχείο είναι προαιρετική. Απλά συνηθίζεται για να υποδεικνύει ότι το αρχείο αυτό είναι εκτελέσιµο (executable). 8

10 ΙΑΛΕΞΗ ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ Β) Στην προηγούµενη διάλεξη µάθαµε ότι µπορούµε να χρησιµοποιούµε τη ρητή ή την αυτονόητη δήλωση µεταβλητών (βλ. 1.3). Σε περίπτωση που δεν έχουµε ορίσει ρητά µία µεταβλητή, τότε η FORTRAN θα χρησιµοποιήσει αυτόµατα την αυτονόητη (implicit) δήλωση των µεταβλητών. Όµως η τακτική αυτή εγκυµωνεί πολλούς κινδύνους. Τι θα γινόταν αν κατά λάθος πληκτρολογούσουµε µία µεταβλητή που δεν υπάρχει στο πρόγραµµα µας; Σ αυτή την περίπτωση ο µεταφραστής (compiler) θα έδινε µία τυχαία τιµή στη µεταβλητή (συνήθως το µήδεν) και προφανώς η χρήση της σε µία αριθµητική παράσταση θα µας οδηγούσε σε λάθος αποτελέσµατα. Ένας τρόπος να αποφύγουµε τέτοια επιπόλαια λάθη είναι η χρήση της εντολής: Η εντολή αυτή µπαίνει ακριβώς µετά το program και µας αναγκαζει να δηλώνουµε όλες τις µεταβλητές που χρησιµοποιούµε ( = καµια αυτονόητη δήλωση). Αν κατά λάθος πληκτρολογήσουµε µία ανύπαρκτη µεταβλητή ο compiler θα µας το υποδείξει ως λάθος και έτσι θα έχουµε την ευκαιρία να το διορθώσουµε. Στο εξής σε όλα τα παραδείγµατα που θα παρουσιάζουµε θα χρησιµοποιούµε αυτή την εντολή. 2.2 ΕΝΤΟΛΗ parameter Σε περίπτωση που στο πρόγραµµα µας θέλουµε να ορίσουµε µία σταθερά, τότε αυτό µπορούµε να το κάνουµε µε την εντολή parameter Σύνταξη: parameter ( µεταβλητή = τιµή ) ΠΑΡΑΤΗΡΗΣΗ: Η εντολή parameter µπαίνει µετά τη δήλωση του τύπου των σταθερών. Η τιµή που θα πάρουν οι σταθερές δεν µπορεί να αλλάξει κατά την εκτέλεση του προγράµµατος. π.χ real pi, f, npi integer N parameter (pi= , N=100, f=3.2, npi=3.*pi) 2.3 ΕΣΩΤΕΡΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ (intrinsic functions) Εκτός απο τις βασικές αριθµητικές πράξεις (+ - * / ) η FORTRAN 77 µας δίνει τη δυνατότητα να υπολογίσουµε και τις τιµές γνωστών µαθηµατικών συναρτήσεων. Οι 9

11 συναρτήσεις αυτές ονοµάζονται εσωτερικές συναρτήσεις (intrinsic functions) και µπορούν να χρησιµοποιηθούν από κάθε πρόγραµµα γράφοντας απλά το όνοµα της συνάρτησης και δίνοντας όλα τα ορίσµατα που χρειάζονται: Όνοµα συνάρτησης (λίστα ορισµάτων) Μερικές απο τις πιο χρησιµές µαθηµατικές συναρτήσεις ειναι οι: Συνάρτηση Τετραγώνική ρίζα Απόλυτη τιµη: χ Εκθετικό: e x Φυσικός λογαριθµος: ln(x) Ηµίτονο: ηµ(x) Συνηµίτονο: συν(x) Εφαπτοµένη: εφ(x) Συνεφαπτοµένη: σφ(x) Ονοµα στη F77 sqrt(x) abs(x) exp(x) log(x) sin(x) cos(x) tan(x) cotan(x) ΠΑΡΑΤΗΡΗΣΗ: Στις παραπάνω µαθηµατικές συναρτήσεις (εκτός την απόλυτη τιµή abs) τα ορίσµατα και το αποτέλεσµα της συνάρτησης είναι ΠΑΝΤΑ πραγµατικοί αριθµοί. Για τη συνάρτηση abs το όρισµα µπορεί να είναι ή πραγµατικός ή ακέραιος και το αποτελεσµα είναι του ίδιου τύπου µε το όρισµα. Άλλες χρήσιµες εσωτερικές συναρτήσεις είναι: Συνάρτηση Ονοµα στη F77 Τύπος ορισµατος Τύπος αποτέλεσµατος Μετατροπή σε ακέραιο int(x) Real integer (αποκοπή δεκαδ. ψηφ.) Μετατροπή σε πραγµατικό real(x) Integer real Μέγιστο ορισµάτων max(x1,x2, ) ή ολα integer ή όλα real Το ιδιο µε τα x1,x2, Ελάχιστο των ορισµάτων min(x1,x2, ) ΠΑΡΑ ΕΙΓΜΑ 1 Γράψτε ένα πρόγραµµα που θα υπολογίζει το µέγιστο και το ελάχιστο 5 πραγµατικών αριθµών program maxmin c Το πρόγραµµα αυτό υπολογίζει το µέγιστο και το ελάχιστο 5 πραγµατικών 10

12 c αριθµών a1,a2,a3,a4,a5 (inputs) c maximum (output): µέγιστο c minimum (output): ελάχιστο real a1,a2,a3,a4,a5, maximum, minimum print*, ώστε 5 πραγµατικούς αριθµούς read*, a1, a2, a3, a4, a5 maximum = max(a1,a2,a3,a4,a5) minimum = min(a1,a2,a3,a4,a5) print*, Ο µέγιστος αριθµός είναι:,maximum print*, Ο ελάχιστος αριθµός είναι:,minimum stop ΠΑΡΑ ΕΙΓΜΑ 2 Γράψτε ένα πρόγραµµα που να υπολογίζει την τιµή της συνάρτησης: x 2 f ( x) = e + [sin( x) + sin( x)] + x program paradeigma real x, fx print*, ώστε ένα πράγµατικό αριθµό read*, x fx= exp(x) + ( cos(x) + sin(x) )**2 + abs(x) print*, Η τιµή της συνάρτησης είναι:, fx stop Αν υποθέσουµε τώρα οτι θέλαµε να γράψουµε ένα πρόγραµµα που να υπολόγιζε την αριθµητική παράσταση Α=f(x1)+f(x2)+f(x3), θα έπρεπε να τροποποιήσουµε το παραπάνω πρόγραµµα ως εξής: 11

13 program paradeigma2 real x1, x2, x3, Α print*, ώστε 3 πράγµατικoύς αριθµούς read*, x1, x2, x3 Α= exp(x1) + ( cos(x1) + sin(x1) )**2 + abs(x1) & + exp(x2) + ( cos(x2) + sin(x2) )**2 + abs(x2) & + exp(x3) + ( cos(x3) + sin(x3) )**2 + abs(x3) print*, Η τιµή της αριθµητικής παράστασης είναι:, Α stop Ο κώδικας έγινε πιο πολύπλοκος. Σίγουρα τα πράγµατα θα ήταν πολύ καλύτερα αν η f(x) ήταν εσωτερική συνάρτηση. Στην περίπτωση αυτή ο κώδικας θα ήταν πιο απλός µια και το µόνο που θα έπρεπε να τροποποιήσουµε στο παραπάνω πρόγραµµα θα ήταν το: fx = f(x1)+f(x2)+f(x3) Μπορεί η FORTRAN να µην έχει την f(x) ως εσωτερική συνάρτηση αλλά µας δίνει τη δυνατότητα να τη δηµιουργήσουµε! Οι συναρτήσεις που δηµιουργεί ο προγραµµατιστης ονοµάζονται εξωτερικές συναρτήσεις (external functions). Στην επόµενη παράγραφο θα µάθουµε τον τρόπο µε τον οποίο δηµιουργούµε και χρησιµοποιούµε τις εξωτερικές συναρτήσεις. 2.4 ΕΞΩΤΕΡΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ (external function) Μία εξωτερική συνάρτηση ορίζεται ως εξης: δήλωση function όνοµα (λίστα ορισµάτων) δήλωση λίστας ορισµάτων δήλωση µεταβλητών (αν χρειάζονται) όνοµα = αριθµητική παράσταση return 12

14 Για παράδειγµα η συνάρτηση f(x) της προηγούµενης παραγράφου ορίζεται ως: real function f(x) real x f = exp(x) + ( cos(x) + sin(x) )**2 + abs(x) return ΠΑΡΑΤΗΡΗΣΕΙΣ 1. Ο ορισµός των εξωτερικών συναρτήσεων πρέπει να γίνεται στο ίδιο αρχείο που υπάρχει και το κυρίως πρόγραµµα. Αν η συνάρτηση υπάρχει σε άλλο αρχείο, τότε πρέπει να το προσθέσουµε και αυτό στη διαδικασία της µετάφρασης. Για παράδειγµα, αν το κυρίως πρόγραµµα υπάρχει στο αρχείο prog.f και η συνάρτηση στο func.f, τότε η µετάφραση γίνεται ως εξής: g77 prog.f func.f o prog.exe ΠΡΟΣΟΧΗ: Σε όλα τα αρχεία που συµπεριλαµβάνουµε στη µετάφραση πρέπει να υπάρχει µόνο ένα κυρίως πρόγραµµα. 2. Μία συνάρτηση που έχουµε ήδη ορίσει πέρα απο το κυρίως πρόγραµµα, µπορεί να την χρησιµοποιεί και οποιαδήποτε άλλη συνάρτηση που σκοπεύουµε να ορίσουµε. 3. Το όνοµα της συνάρτησης εµφανίζεται το ίδιο ακριβώς και στο αρίστερο µέλος της ισότητας πριν το return. 4. Η συνάρτηση πρέπει να δηλώνεται και στο κυρίως πρόγραµµα. ΠΑΡΑ ΕΙΓΜΑ Γράψτε ένα πρόγραµµα που θα υπολογίζει την τιµή της συνάρτησης: ( x + y) g( x, y) = e program paradeigma 13

15 real x, y, g print*, ώστε 2 πράγµατικoύς αριθµούς read*, x, y print*, Η τιµή της συνάρτησης είναι:, g(x,y) stop c Ορισµός της συνάρτησης real function g(x, y) real x, y g = exp(- ( abs(x) + y ) ) return 2.5 ΕΝΤΟΛΗ ΕΛΕΓΧΟΥ IF Μερικές φορές στα προγράµµατα µας χρειάζεται να επιλέξουµε µία συγκεκριµένη κατεύθυνση αντί για κάποια άλλη. Αυτό µπορεί να γίνει µε τη χρήση της εντολής if. H γενική σύνταξη του if έχει ως εξής: if (συνθήκη) then εντολές 1 if Σηµασία: Αν ισχύει η συγκεκριµένη συνθήκη που εχουµε µέσα στην παρένθεση, τότε ο υπολογιστής θα εκτελεσει τις εντολές 1. Το if κλεινει πάντα µε το if. Σε περίπτωση που έχουµε µόνο µία εντολή να εκτελέσουµε, τότε το if µπορεί να γραφτεί και ως: If (συνθήκη) εντολή Σε περίπτωση που εχουµε περισσότερες από µία συνθήκες να ελεγξουµε τότε η σύνταξη του if έχει ως εξης: if (1 η συνθήκη) then Εντολές 1 14

16 else if (2 η συνθήκη) then Εντολές 2 else if... else Εντολές if Σηµασία: Αν ισχύει η πρώτη συνθήκη, τότε ο υπολογιστής θα εκτελέσει τις εντολές 1, αλλιώς αν (elseif) ισχύει η δεύτερη, τότε τις εντολές 2 κοκ. Σε περίπτωση που δεν ισχύει καµία απο τις προηγούµενες συνθήκες µπορούµε, αν είναι αναγκαίο, να χρησιµοποιήσουµε µόνο το else. Τέλος, και σε αυτή την περίπτωση το if κλείνει µε το if. ΤΕΛΕΣΤΕΣ ΣΧΕΣΕΙΣ = (ίσο µε):.eq. (equal to) (διαφορετικό από):.ne. ( not equal to) > (µεγαλύτερο από).gt. (gteater than) (µεγαλύτερο από ή ίσο από).ge. (greater than or equal to) < (µικρότερο από).lt. (less than) (µικρότερο από ή ίσο από).le. (less than or equal to) Επίσης, µπορούµε να συνδέσουµε συνθήκες µεταξύ τους µε τους λογικούς τελεστές και. and. ή.or. ΠΑΡΑΤΗΡΗΣΗ: Η σειρά προτεραιότητας των εντολών στη συνθήκη είναι: Πρώτα οι αριθµητικές πράξεις, στη συνέχεια οι τελεστές σχέσεις και τέλος οι λογικοί τελεστές.and. και.or. ΠΑΡΑ ΕΙΓΜΑ Γράψτε την συνάρτηση cos( x) + x, αν -1 x < 1 f ( x) = tan( x) + sin( x), αν x < 1ή x 1 real function f(x) real x if( (x.ge.-1.).and. (x.lt.1.) ) then f=cos(x)+abs(x) else f= tan(x)+sin(x) 15

17 if return 16

18 ΙΑΛΕΞΗ ΜΕΤΑΒΛΗΤΕΣ & ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ (ΜΕΡΟΣ Γ) Ένα από τα πιο λεπτά σηµεία στον προγραµµατισµό είναι ο τρόπος µε τον οποίο ο υπολογιστής εκτελεί τις αριθµητικές πράξεις και αποδίδει τιµές στις µεταβλητές. Γενικά, όταν έχουµε να κάνουµε πρόσθεση, αφαίρεση ή πολλαπλασιασµό µε ακέραιους, δεν υπαρχει απολύτως κανένα πρόβληµα στους υπολογισµούς µας. Για παράδειγµα, αν έχουµε δηλώσει το x ως integer, τότε: x=2* =14 δηλαδή ο υπολογιστής θα κάνει σωστά τις πράξεις και θα δώσει την ακέραια τιµή 14 στο x. Αν είχαµε δηλώσει το x ως real, τότε πάλι θα γινόταν σωστά οι πράξεις και µάλιστα ο υπολογιστής θα µετέτρεπε αυτόµατα το 14 σε πραγµατικο (δήλ. x=14.). Υπαρχει όµως σοβαρό πρόβληµα όταν έχουµε να κάνουµε διαίρεση µεταξύ ακέραιων αριθµών. Αν η διάιρεση δεν γίνεται ακριβώς, τότε ο υπολογιστής αποκόπτει το δεκαδικό µέρος του αποτελεσµατος. Για παράδειγµα: real x x=5/2=2. (λάθος) ή integer x x=5/2=2 (λάθος) Γι αυτό τον λόγο πρέπει να αποφέυγουµε διαιρέσεις µεταξύ ακέραιων αριθµών. Όσον αφορά το παραπάνω παράδειγµα και την περίπτωση που το x είναι ακέραιoς, τότε δεν υπάρχει ούτως ή άλλως λύση µια και δεν ορίζεται ακέραιος αριθµός µε δεκαδικό ψηφίο. Όµως αν το x είναι πραγµατικός, η λύση είναι πολύ απλή µετατρέπουµε το 5 και το 2 σε πραγµατικούς αριθµούς (δηλ 5. και 2.) Σ αυτην την περίπτωση η διαίρεση θα γίνει σωστα: real x x=5./2.=2.5 Γενικά, στις αριθµητικές πράξεις µεταξύ αριθµών διαφορετικού τύπου ισχύει ο παρακάτω κανόνας: 17

19 Αν υπάρχει έστω και ένας πραγµατικός αριθµός στην αριθµητική παράσταση, τότε το αποτέλεσµα είναι πραγµατικός. Έτσι, αν έχουµε real x x=5./2=2.5 (ή x=5/2.=2.5 το οποίο ειναι σωστό αποτέλεσµα. Παρόλα αυτά είναι πολύ εύκολο να κάνουµε και πάλι λάθος. Για παράδειγµα ας υποθέσουµε ότι θέλουµε να υπολογίσουµε την παρακάτω αριθµητική παράσταση 5/2*4.+1. Να σηµειώσουµε σε αυτό το σηµείο ότι οι πράξεις που ανήκουν στην ίδια σειρα προτεραιότητας (βλ. 1.2) εκτελούνται από αριστερά προς τα δεξιά. Έτσι, επιστρέφοντας στο παραπάνω παράδειγµα, το αποτέλεσµα είναι: 5/2*4.+1.=2*4.+1.=8.+1.=9. κάτι που προφανώς είναι λαθός. Αν όµως γράφαµε την παραπάνω αριθµητική παράσταση µε άλλη σειρά 4.*5/2+1. = 20./2+1.=10.+1.=11. το αποτέλεσµα θα ήταν σωστό. Καταλαβαίνετε λοιπόν πόσο εύκολα µπορούµε να οδηγηθούµε σε λάθη ανάλογα µε τη σειρά που έχουµε να γράψει τις µεταβλητές στην αριθµητική παράσταση. Γι αυτο Να αποφεύγετε τις πράξεις µεταξύ αριθµών διαφορετικού τύπου. και κάτι ακόµα... Υπoθέστε οτι σ ένα πρόγραµµα υπάρχουν οι παρακάτω εντολές i=2 i=i+1 Μαθηµατικα αυτό είναι απράδεκτο µια και τα i θα απαλειφθούν και έτσι µένει το 0=1 (λάθος). Όµως ο υπολογιστής στη συγκεκριµένη περίπτωση θα χρησιµοποιήσει στο δεξιό µέλος της ισότητας την παλιά τιµή του i (δηλαδη το 2), θα προσθέσει σε αυτή το 1 και θα αποδώσει στο i µία νέα τιµή η οποία θα είναι αποτέλεσµα της πρόσθεσης, δηλαδή το 3 Επίσης, όταν έχουµε να κανουµε µε πολύ µεγάλους ή πολύ µικρούς αριθµούς όπως το χ=12000 ή y= τότε µπορούµε να τους γράψουµε ως: x=1.2ε+4 ή x=0.12e+5 κοκ 18

20 και y=3.4e-5 ή y=34e-6 κοκ ηλαδή, το E ± n είναι ισοδύναµο µε το ±n ΕΝΤΟΛΗ ΕΠAΝΑΛΗΨΗΣ do Συχνά στα προγράµµατα χρειάζεται να εκτελέσουµε ένα συγκεκριµένο συνόλο εντολών πολλές φορές. Αντί να γράψουµε τις συγκεκριµένες εντόλες τόσες φόρες όσες τις χρειαζόµαστε µπορουµε να χρησιµοποιήσουµε την εντολή do. Η γενική σύνταξη του do έχει ως εξής: do n=ni, nf, dn do εντολές Α όπου n: µετρητής ni: αρχική τιµή του µετρητή nf: τελική τιµή του µετρητή dn: βήµα επανάληψης Σηµασία: Να εκτελεστούν οι εντολές Α nf ni+ dn max( 0, int( ) ) dn φορές. Όπου max( ) και int( ) οι γνωστές εσωτερικές συναρτήσεις της FORTRAN 77 (βλ. 1.2). Αυτή η επαναληπτική διαδικασία ονοµάζεται βρόχος do ή do-loop. nf ni+ dn int( ) 0 Με πιο απλά λόγια, αν το dn, τότε θα γίνουν µηδέν επαναλήψεις. Σε αντίθετη περίπτωση, αρχικά ο υπολογιστής θα δώσει στο µετρητή την τιµή ni και θα εκτελεσει τις εντολές Α µία φορα, στη συνέχεια θα δώσει στο µετρητή την τιµή ni+dn και θα τις εκτελεσει άλλη µια φορα κοκ, µέχρι να γίνουν τόσες επαναλήψεις όσες υποδεικνύει ο τύπος που γράψαµε παραπάνω. Για παράδειγµα i) do I=1,21,2 (11 επαναλήψεις) ii) do I=100,0,-2 (51 επαναλήψεις) iii) do I=10,-1,2 (0 επαναλήψεις) iv) do I=1,1,1 (1 επανάληψη) 19

21 ΠΑΡΑ ΕΙΓΜΑ 1 Να τυπωθούν οι περιττοί ακέραιοι από 1 έως 15 program doloop integer i do i=1,15,2 print*,i do stop ΠΑΡΑΤΗΡΗΣΕΙΣ 1. Ο µετρητής, η αρχική τιµή του µετρητή, η τελική τιµή του µετρητή και το βήµα µπορουν να είναι ή όλα ακέραιοι ή όλα πραγµατικοί. 2. Αν παραλείψουµε το βήµα τότε ο υπολγιστής το ορίζει αυτόµατα ίσο µε τη µονάδα (βλ. επόµενο παράδειγµα) 3. Η τιµή του µετρητή σε κάθε βήµα µπορεί να χρησιµοποιηθεί και σε πράξεις. Για παραδειγµα, αν θελουµε να τυπωσουµε τους 11 πρώτους ακέραιους και το τετράγωνο τους, τότε do i=1,11 print*,i,i**2 do 4. Απαγορεύεται να αλλάξει η τιµή του µετρητή κατά τη διάρκεια της εκτέλεσης των εντολών που βρίσκονται µέσα στο do-loop. Για παράδειγµα, η σύνταξη do i=1,11 Εντολές i=i+1 εντολές do είναι απαράδεκτη. Μερικά ακόµα παραδείγµατα... ΠΑΡΑ ΕΙΓΜΑ 2 Να υπολογίσετε το άθροισµα

22 program doloop2 integer I,sum sum=0 do I=1,10 sum=sum+i do print*, To άθροισµα των ακέραιων από 1 έως 10 είναι:, sum stop ΠΑΡΑΤΗΡΗΣΗ: Μην ξεχνάτε ποτέ να δίνετε µία κατάλληλη αρχική τιµή της µεταβλητής που αναπαριστά το άθροισµα. Το ίδιο ισχύει και για τα γινόµενα. ΠΑΡΑ ΕΙΓΜΑ 3 Να γράψετε το παραπάνω πρόγραµµα ως συνάρτηση γενικεύοντας την έτσι ώστε να υπολογίζει το άθροισµα των ακέραιων από 1 έως Ν, όπου το Ν θα είναι το όρισµα της συνάρτησης. Στη συνέχεια, γράψτε ένα κυρίως πρόγραµµα που θα του δίνετε το Ν και θα τυπώνει την τιµή της συναρτησης. program doloop3 integer i,isum print*, ώστε το Ν read*,n print*, To άθροισµα των ακέραιων από 1 έως, N, είναι:, isum(n) stop integer function isum(n) integer I, N isum=0 do i=1,n isum=isum+i do 21

23 return και ένα παράδειγµα µε πραγµατικούς αριθµούς... ΠΑΡΑ ΕΙΓΜΑ 4 Γράψτε µία συνάρτηση που να υπολογίζει την τιµή του πολυώνυµου 2 3 N 1+ x + x + x x Στη συνέχεια, γράψτε ένα κυρίως πρόγραµµα που θα τυπώνει το χ και την τιµή του παράπανω πολυώνυµου 5 ου βαθµού (Ν=5) για x από xmin έως xmax µε βήµα dx. Τα xmin, xmax και dx θα δίνονται απο το πληκτρολόγιο. program polyonymo real x, pol, xmin, xmax, dx print*, ώστε το xmin, xmax και dx read*, xmin, xmax, dx do x=xmin, xmax, dx print*, x, pol(x, 5) do stop real function pol(x, N) integer N,i real x pol=1. do I=1,N pol=pol+x**i do return 22

24 ΠΑΡΑ ΕΙΓΜΑ 5 Εσωτερικά do-loops. Να υπολογίσετε το άθροισµα N M [ i= 1 j= 1 i + j] 2 program doloop3 integer N,M,sum print*, ώστε το Ν και το Μ read*,n,m sum=0 do i=1,n do j=1,m sum=sum+(i+j)**2 do do print*, To άθροισµα είναι:, sum stop Γενικά µπορουµε να χρησιµοποιήσουµε όσα εσωτερικα do-loops απαιτεί το πρόβληµα που θέλουµε να λύσουµε. Μία αλλη σύνταξη του do-loop είναι do label n=ni, nf, dn label continue εντολές Α όπου το label είναι µία ακέραια τιµή η οποία µπορεί να µπαίνει από την 2 η έως την 6 η στήλη και υποδεινκύει πού κλείνει το do-loop (στη πραγµατικότητα το label µπορεί να αρχίζει και από την πρωτη στηλη αλλά ας µην µπερδεύουµε τα πράγµατα, µια και µεχρι τώρα την πρώτη στήλη τη χρησιµοποιουµε για το αν θα βάλουµε ή όχι σχόλια). 23

25 Με αυτή τη σύνταξη το παράδειγµα 5 γράφεται ως sum=0 do 10 i=1,n do 20 j=1,m sum=sum+(i+j) 20 continue 10 continue ή ακοµα και ως: sum=0 do 10 i=1,n do 10 j=1,m sum=sum+(i+j) 10 continue Η σύνταξη αυτή του do, όπως καταλαβάτε, είναι πιο πολυπλοκη και µπορεί πολύ εύκολα σας δηµιουργησει σύγχυση για το πού ακριβώς κλεινει το κάθε do-loop. Πολλές φορές σε ένα do-loop µας παρουσιάζεται η ανάγκη να σταµατήσουµε την επανάληψη πριν ο µετρητής πάρει τη µέγιστη επιτρεπόµενη τιµή του. Αυτό µπορεί να γίνει µε τη εντολή if σε συνδυασµο µε την εντολή goto label H τελευταία εντολή απλά υποδεικνύει στον υπολογιστή ότι πρέπει να πάει στη γραµµή που υπάρχει το συγκεκριµένο label και να εκτέλεσει την εντολη που βρίσκεται εκεί. Συνήθως η εντολή αυτή είναι το continue που σηµαίνει απλά ότι πρέπει να συνεχιστεί η εκτέλεση του προγράµµατος απο εκεί και κάτω. Ετσι περιληπτικά: do i=ni,nf,dn.. If(λογική παράσταση) goto 10. do 10 continue ηλαδη, όταν η λογική παράσταση είναι αληθής, τότε ο υπολογιστής θα βγει έξω απο το do-loop και θα συνεχίσει την εκτέλεση των εντολών που ακολουθούν το continue. Ένας πιο 24

26 κοµψός τρόπος να κάνουµε επαναλήψεις υπό συνθήκη είναι η χρήση της εντολής dowhile που θα αναλύσουµε στην επόµενη παράγραφο. 3.3 ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ ΚΑΙ ΕΛΕΓΧΟΥ do while H σύνταξη του do while είναι: dowhile(λογική παρασταση) Enddo Εντολές Α Σηµασία: Εκτέλεσε τις εντολές Α τόσες φόρες όσο η λογική παράσταση είναι αληθής ΠΑΡΑ ΕΙΓΜΑ1: Το παράδειγµα 1 της 3.2 µπορει να γραφτεί και ως program doloop2 integer I,sum sum=0 i=1 dowhile(i.le.10) sum=sum+i i=i+1 do print*, To άθροισµα των ακέραιων από 1 έως 10 είναι:, sum stop ΠΑΡΑ ΕΙΓΜΑ2: Να γράψετε ένα πρόγραµµα που θα τυπώνει όλους τους όρους της ακολουθίας 2, 4, 8, 16,... που είναι µικρότεροι του 100 program name 25

27 integer n n=2 dowhile( n.le.100) print*,n n=2*n do stop ΠΑΡΑΤΗΡΗΣΗ: Συνήθως το dowhile χρησιµοποιείται όταν δεν ξέρουµε πόσες επαναλήψεις χρειάζονται. Για παραδειγµα αν θέλαµε να λύσουµε το πρόβληµα µε do, τότε θα γράφαµε n=2 do i=1,10000 print*,n n=2*n if(n.gt.100) go to 10 do 10 continue stop Αυτό που κάναµε είναι ότι βάλαµε µια πολύ µεγάλη τελική τιµή στο do-loop ελπίζοντας ότι µέχρι ο µετρητής να την πάρει αυτή την τιµή θα έχει ικανοποιηθεί η συνθήκη του προβλήµατος. Ρίχνοντας µια µατιά και στα δύο παραπάνω παραδείγµατα, είναι προφανές ότι το dowhile είναι πιο κοµψή σύνταξη από το do και µάλιστα δεν µας βάζει τον περιορισµό να κάνουµε προβλέψεις για τον αριθµό των επαναλήψεων όταν δεν τον γνωρίζουµε ακριβώς. Ένας πιο καλός τρόπος για να γράψουµε το do υπό συνθήκη είναι να µην χρησιµοποιήσουµε µετρητή: n=2 do print*,n n=2*n if(n.gt.100) go to 10 do 10 continue stop 26

28 που σηµαίνει ότι οι εντολες που περιεχει αυτο το do-loop θα εκτελούνται µέχρι να γίνει αληθής η λογική παράσταση n.gt.100 οπότε και το πρόγραµµα θα πάει στην εντολή continoue. ηλαδή µε άλλα λόγια, η εντολή do χωρις µετρητή σηµαίνει: εκτέλεσε επαναληπτικά τις εντολες που περιέχονται στο do-loop. ΠΡΟΣΟΧΗ: Σε αυτή την περίπτωση, αν δεν βάλουµε συνθήκη µέσα στο do-loop ο υπολογιστής θα εκτελεί τις εντολές επ απειρο!!!!!! 27

29 ΙΑΛΕΞΗ ΜΟΝΟ ΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ΙΑΝΥΣΜΑΤΑ Μέχρι στιγµής έχουµε µάθει να δηλώνουµε ακέραιες ή πραγµατικές µεταβλητές στις όποιες µπορούµε να αποδώσουµε µόνο µία τιµή. Πολλές φορές όµως για λόγους απλότητας και ευκολίας είναι χρήσιµο να δουλεύουµε µε µεταβλητές στις οποίες να µπορούµε να αποδώσουµε περισσότερες από µία τιµές. Αυτό συµβαίνει συνήθως σε προβλήµατα που πρέπει να επεξεργαστούµε παρα πολλούς αριθµούς, οι οποίοι έχουν ένα κοινό χαρακτηριστικό, όπως για παράδειγµα τις πειραµατικές µετρήσεις ενός φυσικού µεγέθους. Οι µεταβλητές που έχουν αυτή την ιδιότητα, ονοµάζονται πίνακες και σε αυτή τη διάλεξη θα µάθουµε να δηλώνουµε και να χρησιµοποιούµε τους µονοδιάστατους πίνακες (ή διανύσµατα), την απλούστερη µορφή των πινάκων. Στη FORTRAN 77 οι µονοδίαστατοι πίνακες δηλώνονται περίπου όπως και οι απλές µεταβλητές. Για παράδειγµα, µπορούµε να δηλώσουµε έναν πίνακα που θα έχει ακέραιες τιµές ώς integer A(4) ή πραγµατικές τιµές ώς real X(5) ηλαδή, αρχικά δηλώνουµε τον τύπο του πίνακα (integer ή real), στη συνέχεια ακολουθεί το όνοµα του (A ή X) και µέσα σε παρενθέσεις ορίζουµε πόσες διαφορετικές τιµές θέλουµε να έχει (πλήθος στοιχείων). Έτσι, στο παραπάνω παράδειγµα, έχουµε δηλώσει έναν πίνακα A, ο οποίος έχει 4 ακέραιες τιµές και έναν πίνακα Χ µε 5 πραγµατικές τιµές. Το πρώτο ερώτηµα που προκύπτει, είναι το πώς µπορούµε να αποδώσουµε τιµές στα στοιχεία των παραπάνω διανυσµάτων. Πολύ απλά, γράφουµε Α(1)=3 Α(2)=5 Α(3)=0 Α(4)=123 ή Χ(1)=4. Χ(2)=

30 Χ(3)=0.01 Χ(4)=2.3 Χ(5)=35. ή και να τις δώσουµε απο το πληκτρολόγιο read*,a(1),a(2),a(3),a(4) Το δέυτερο ερώτηµα είναι πώς χρησιµοποιούµε τις τιµές που έχουµε αποδώσει στους πίνακες. Και αυτό είναι πολυ απλό... Μπορουµε, για παράδειγµα, να τις τυπώσουµε print*,a(1),a(2),a(3),a(4) ή ακόµα να κάνουµε πράξεις µε αυτές sum=a(1)+a(2)*a(3)+a(4) και το αποτέλεσµα θα είναι: sum= =126 Προς το παρόν, έχουµε αποσιωπήσει τα πάντα για τις ιδιότητες του αριθµού που βρίσκεται µέσα στις παρενθέσεις του πίνακα. Ο αριθµός αυτός ονόµάζεται δείκτης και έχει ΠΑΝΤΑ ΑΚΕΡΑΙΑ ΤΙΜΗ. Έτσι, το Α(1) είναι το στοιχείο του πίνακα µε δείκτη 1 (δηλαδή το πρώτο), το Α(2) είναι το στοιχείο του πίνακα µε δείκτη 2 (δηλαδή το δεύτερο) κοκ. Το µεγάλο πλεονέκτηµα των δεικτών είναι ότι µπορούµε να τους χειριστούµε και ως µεταβλητές. Για παράδειγµα, program vector integer A(4),i do i=1,4 read*,a(i) do sum=0 do i=1,4 sum=sum+a(i) do print*, To άθροισµα είναι:,sum stop 29

31 Στο παραπανω προγραµµα είναι φανερό πόσο χρήσιµο είναι το γεγονός ότι ο δείκτης των πινάκων µπορεί να χρησιµοποιηθεί και ως µεταβλητή. Στο πρώτο do-loop, αρχικά το i=1, οπότε το πρόγραµµα διαβάζει από το πληκτρολόγιο την τιµή του πρώτου στοιχείου του πίνακα, στη συνέχεια το i=2 και διαβάζει την τιµή του δεύτερου στοιχείου του πίνακα κοκ, µέχρι να διαβάσει και τις 4 τιµές του. Η ίδια διαδικασία ακολουθείται και στο δεύτερο doloop, όπου υπολογίζουµε το άθροισµα των στοιχείων του πίνακα. Μπορεί το παραπάνω παράδειγµα να σας φαίνεται πολύ απλό, µια και έχουµε να επεξεργαστουµε µόνο 4 αριθµους. Τι θα κάνατε όµως αν σε ενα πείραµα είχατε 1000 µετρήσεις ενός φυσικού µεγέθους και σας ζητουσαν να υπολογίσετε τη µέση τιµή και τη µέση τυπική απόκλιση τους; Τοτε, θα έπρεπε να δηλώσετε 1000 διαφορετικές µεταβλητές, στη συνέχεια να τις διαβάσετε από το πληκτρολόγιο και µετά να κάνετε τα κατάλληλα αθροίσµατα για να βρείτε τη µέση τιµή και την τυπική τους απόκλιση. ηλαδη, program experiment real x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,... read*, x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,... :-(????????????!!!!!!!!!!! Όποιος (;) έχει υποµονή, ας το συνεχίσει... Στην επόµενη παράγραφο θα δείξουµε το πόσο εύκολα λύνεται αυτό το πρόβληµα χρησιµοποιώντας τους πίνακες, αλλα προς το παρόν ας πούµε µερικά πράγµατα ακόµα για αυτούς. Στο κυρίως προγραµµα πρέπει παντα να δηλώνουµε ξεκάθαρα το πλήθος των στοιχείων του πίνακα. Αυτό µπορεί γίνει µε δύο τρόπους. Ο πρώτος είναι real X(16) ενώ ο δεύτερος, που είναι πιο κοµψός και πιο ευέλικτος, είναι integer N parameter (N=16) real X(N) Tώρα δικαιολογηµένα θα αναρωτηθείτε πόσο πιο κοµψος είναι αυτός ο τρόπος από τη στιγµή που γράψαµε δύο γραµµες παραπάνω! Τι θα κανατε όµως χρειαζόταν να ορίσετε 5 πίνακες µε 16 στοιχεία; Συµφωνα µε τον πρώτο τρόπο θα γράφατε real A(16), B(16), C(16),D(16), Ε(16) ενώ µε το δεύτερο 30

32 integer N parameter (N=16) real A(N), B(N), C(N), D(N), E(N) Αν τώρα για κάποιο λόγο θέλατε οι πίνακες να έχουν 30 στοιχεία, θα έπρεπε στον πρώτο τρόπο να αλλαξετε όλα τα 16 και να τα κάνετε 30, ενώ στον δεύτερο, θα αρκούσε να αλλαξετε το Ν=16 και να το κάνετε Ν=30. Ποιος είναι τωρα πιο κοµψός και ευέλικτος; Προφανώς ο δεύτερος, γι αυτό καλό θα είναι να το συνηθίζετε, ακόµα και όταν έχετε να δηλώσετε ένα µόνο πίνακα. Μία ακόµα χρήσιµη ιδιότητα των δεικτών είναι οτι µπορούν να πάρουν και την τιµή 0 ή ακόµα και αρνητικές ακέραιες τιµές. Σε αυτή την περίπτωση η δήλωση γίνεται διαφορετικά. Για παράδειγµα, γράφοντας real Y(0:10) εννοούµε ότι υπάρχει και το στοιχείο Υ(0). Έτσι, ο πίνακας τώρα εχει 11 στοιχεία Υ(0),Υ(1),...,Υ(10) Ο πίνακας integer P(-2:2) έχει 5 στοιχεία P(-2), P(-1), P(0), P(1) και P(2) Οι πίνακες επίσης µπορούν να χρησιµοποιηθούν και ως ορίσµατα σε συναρτήσεις (ή υπορουτίνες, όπως θα δούµε στην επόµενη παράγραφο). Σε αυτή την περίπτωση πρέπει όχι µονο να δώσουµε τον πίνακα ώς όρισµα, αλλά και το πόσα στοιχεία έχει. ΠΑΡΑ ΕΙΓΜΑ: Γράψτε µια συνάρτηση που να υπολογίζει τη µέση τιµή των στοιχείων ενός πίνακα. c real function mv(n,a) integer N,i N: το πλήθος των στοιχείων του πίνακα real A(Ν) mv=0. do I=1,N mv=mv+a(i) do 31

33 mv=mv/real(n) return Επίσης, µπορούµε να χρησιµοποιούµε αυτή τη συνάρτηση σ ενα κυρίως πρόγραµµα ως program name integer N,I parameter(n=100) real X(N),mesh_timh do I=1,N print*, ώστε την, i, τιµή του πίνακα read*,x(i) do mesh_timh= mv(n,x) print*, Η µέση τιµή των στοιχείων του πίνακα είναι, mesh_timh stop ΠΑΡΑΤΗΡΗΣΗ: Σε περίπτωση που δεν χρησιµοποιούµε την ρητή δήλωση των µεταβλητών τότε µπορούµε να δήλώσουµε τους πίνακες µε την εντολή dimension ως dimension X(10), M(100) και έτσι εχουµε δύο πινακες, τον Χ µε 10 πραγµατικές τιµές και τον Μ µε 100 ακέραιες τιµές (βλ ). 4.2 ΥΠΟΡΟΥΤΙΝΕΣ (subroutines) Μέχρι στιγµής έχουµε µάθει µόνο ένα είδος υποπρογραµµάτων, τις εξωτερικές συναρτήσεις, οι οποίες παίρνουν µία λίστα ορισµάτων και επιστρέφουν µόνο µία τιµή. Ένα αλλο είδος υποπρογραµµάτων ονοµάζεται υπορουτίνα (subroutine) και µπορεί να πάρει µηδέν ή περισσότερα ορίσµατα, να εκτελέσει κάποιες εντολές και να επιστρέψει µηδέν ή περισσότερες τιµές. Γενικά, οι υπορουτίνες έχουν πολλές δυνατότητες, οι οποίες συνοπτικά µπορούν να ταξινοµηθούν στις παρακάτω κατηγορίες: 32

34 Κατηγορία 1 η : Μερικά απο τα ορίσµατα µπορούν να έχουν κάποια συγκεκριµένη τιµή (inputs) και µε την κατάλληλη επεξεργασία τους να αποδώσουµε τιµές στα υπόλοιπα ορίσµατα (outputs). Κατηγορία 2 η : Όλα τα ορισµατα να είναι inputs και όλα να είναι επίσης outputs. Κατηγορία 3 η : Να έχει µόνο inputs και κανένα ouput. Κατηγορία 4 η : Να µην έχει κανένα input και κανένα output. Yπάρχουν βέβαια και άλλες δυνατότητες, πολύ πιο πολύπλοκες που υπερβαίνουν τα πλαίσια του µαθήµατος και δε θα αναλυθούν εδώ. Αν όλα αυτα σας φαινονται... κινέζικα, υποµονή!!! Παρακάτω θα κάνουµε µερικά παραδείγµατα και για τις τέσσερις αυτές κατηγορίες και θα ξεκαθαριστούν όλα! Προηγουµένως όµως πρέπει να πούµε πώς ορίζουµε µία υπορουτίνα. Γενικά, η σύνταξη µιας υπορουτίνας εχει ως εξής: subroutine name (λίστα µεταβλητων) δήλωση µεταβλητων Εντολές return Μία υπορουτίνα ξεκινάει µε την λέξη subroutine ακολουθεί το όνοµα της υπορουτίνας µε την λίστα των ορισµάτων (αν υπάρχουν). Στη συνέχεια ορίζουµε τις µεταβλητές, εκτελούµε τις εντολές που απαιτέι το πρόβληµα, και κλείνουµε µε το return και. Ένα απλό παράδειγµα, το οποίο ανήκει στην 1 η κατηγορία, είναι η παρακάτω υπορουτίνα µε όνοµα mean_value, που παίρνει δύο πραγµατικούς αριθµούς a, b (inputs) και υπολογίζει τον µέσο όρο τους mv (output). subroutine mean_value(a, b, mv) real a, b, mv mv=(a+b)/2. return 33

35 Μία υπορουτίνα µπορεί να τη χρησιµοποιήσει (καλέσει) το κυρίως πρόγραµµα (ή οποιαδήποτε εξωτερική συνάρτηση ή άλλη υπορουτίνα) γράφοντας την εντολή call και το όνοµα της υπορουτίνας µε τη λίστα των ορισµάτων µέσα σε παρένθεση. Για παράδειγµα, την υπορουτίνα που γράψαµε παραπάνω µπορουµε να τη χρησιµοποιήσουµε σ ενα κυρίως πρόγραµµα ως εξης: program name implicite none real a, b, c print*, ώστε δυο πραγµατικούς αριθµούς read*, a, b call mean_value(a, b, c) print*, H µέση τιµή των αριθµών είναι, c stop και µερικά παραδείγµατα για τις υπόλοιπες κατηγορίες... Κατηγορία 2 η Γραψτε µία συναρτηση που να παίρνει δύο πραγµατικούς αριθµούς και να αντιστρέφει τις τιµες τους. ηλαδή αν a=1. και b=3., τότε η υπορουτίνα πρέπει να επιστρέψει a=3. και b=1. subroutine switch(a, b) implicite none real a, b, temp temp=a a=b b=temp return Όπως καταλάβατε, σε αυτό το παράδειγµα εχουµε δυο ορίσµατα που αρχικά είναι inputs και µετα απο τις κατάλληλες πράξεις είναι και outputs. Κατηγορία 3 η Γράψτε µία υπορουτίνα που να τυπώνει το άθροισµα δύο πραγµατικών αριθµών: 34

36 subroutine my_print(a, b) implicite none real a, b print*,a, +,b, =,a+b return H υπορουτίνα αυτή παίρνει δύο πραγµατικούς αριθµούς ως inputs και απλά τυπώνει το άθροισµά τους. εν εχει κανένα output. Κατηγορία 4 η Γράψτε µία υπορουτίνα που να τυπωνει την παρακάτω γραµµή subroutine print_line print*, return Αυτή η υπορουτίνα δεν έχει ουτε inputs ούτε outputs. Απλά εκτελεί µία συγκεκριµένη εντολή. ΠΑΡΑΤΗΡΗΣΗ: Όταν µία υπορουτίνα δεν έχει ορίσµατα, τότε είναι περιττό να βάλουµε τις παρενθεσεις, και όταν καλούµε την υπορουτίνα γράφουµε µόνο το όνοµα της µετά το call, δηλαδή call print_line Και ένα πιο προχωρηµένο παράδειγµα... Γράψτε µία υπορουτίνα που να υπολογίζει τη µέση τιµή x και τη µέση απόλυτη απόκλιση χ των στοιχείων ενός πίνακα. Η µέση απόλυτη απόκλιση ορίζεται ως N χ = 1 xi x N i= 1 subroutine mvmsd(n,a,mv,msd) 35

37 integer N real A(N),mv,msd c Μέση τιµή: mv mv=0. do i=1,n mv=mv+a(i) do mv=mv/real(n) c Μέση απόλυτη απόκλιση: msd msd=0. do i=1,n msd=msd+abs(a(i)-mv) do msd=msd/real(n) return 36

38 ΙΑΛΕΞΗ Ι ΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Εκτός από τους µονοδιάστατους πίνακες ή διανυσµατα που συζητήσαµε στην παράγραφο 4.1, µπορούµε να αποθηκεύσουµε τιµές και σε διδάστατους πίνακες. Τους διδιάστατους πίνακες στη FORTRAN 77 µπορεί κανείς να τους µεταχειρίζεται για ευκολία, όπως και τους αντίστοιχους πίνακες που χρησιµοποιούµε στην αλγεβρα. Για παράδειγµα, στην άλγεβρα ο παρακάτω πινακας 1 A = είναι 3x4 και εννοούµε ότι έχει 3 γραµµές και 4 στήλες. Επίσης µπορούµε να αναφερόµαστε συµβολικά σε καθε στοιχείο του ώς Α i,j, όπου το i είναι η γραµµή και το j η στήλη στην οποία βρίσκεται το συγκεκριµένο στοιχείο. Παραδείγµατος χάριν, το στοιχείο του πινακα που βρίσκεται στην 2 η γραµµη και στην 3 η στήλη συµβολίζεται Α 2,3 και είναι είναι το 7. Στη FORTRAN 77 η διαδικασία που ακολουθείται για τη χρησιµοποποίηση ενός διδιάστατου πίνακα είναι αντίστοιχη µε αυτή που µάθαµε στους µονοδιάστατους. Για παράδειγµα ο παραπάνω πίνακας δηλώνεται ως εξής: Real A(4,6) ηλαδή, αρχικά προηγείται η δήλωση του τύπου (real, integer κτλ) του πίνακα και στη συνέχεια δίνουµε το όνοµά του και µέσα σε παρενθέσεις ορίζουµε πόσες γραµµές και στήλες θέλουµε να έχει ο πίνακας, χωρισµένες µε κοµµα (,). Επίσης, όπως και στους µονοδιάστατους πίνακες, οι δείκτες των γραµµών και των στηλών µπορούν να πάρουν και αρνητικές τιµές, πχ ο πίνακας Real x(0:4, -1:7) είναι ένας πραγµατικός πίνακας µε 5 γραµµές (0,1,2,...,5) και 9 στήλες (-1,0,1,...,7), δηλαδή έχει 5x9=45 στοιχεία. ΠAΡΑ ΕΙΓΜΑ 1 Γράψτε µία υπορουτίνα που να υπολογίζει το ελάχιστο στοιχείο ενός διδιάστατου πίνακα και να προσδιορίζει και την θέση του µέσα σε αυτόν. subroutine Min2D(N,M,A,amin,imin,jmin) 37

39 real A(N,M), Amin integer imin,jmin Amin=A(1,1) do i=1,n do j=1,m If(A(i,j).lt.Amin) then Amin=A(i,j) imin=i jmin=j if do do return Ανάγνωση απο τό πληκτρολόγιο και εκτύπωση στην οθόνη των στοιχείων ενός διδιάστατου πινακα Για να διαβάσουµε τα στοιχεία ενος πίνακα από το πληκτρολόγιο ο πιο βολικός τρόπος είναι µε ένα διπλο do-loop: do i=1,3 do j=1,4 print*, ώστε το, i,j, στοιχείο του πίνακα read*, A(i,j) do do Η εκτύπωση στην οθόνη των στοιχείων του πίνακα είναι λίγο πιο πολύπλοκη υπόθεση. Αν χρησιµοποιήσουµε το παραπάνω διπλό do-loop, δηλαδή do i=1,3 do j=1,4 print*, A(i,j) do do τότε ο υπολογιστής θα τυπώσει:

40 11 12 δηλαδή ένα στοιχείο σε κάθε γραµµη. Όµως αυτό δεν µας δίνει οπτικά την δυνατότητα να ελέγξουµε άµεσα τα στοιχεία του πίνακα. Ένας εναλλακτικός τρόπος που µας δίνει αυτη τη δυνατότητα είναι το λεγόµενο έµµεσο do-loop. Πιο συγκεκριµένα, αν γράψουµε C do I=1,3 εµµεσο do-loop print*, (A(i,j), j=1,4) do τότε το αποτέλεσµα θα είναι το επιθηµητό, δηλαδή που σαφώς είναι καλύτερη παρουσίαση ενός διδιάστατου πίνακα. Με άλλα λόγια, το έµµεσο do-loop µας επιτρέπει να τυπώσουµε ένα συνόλο στοιχείων ενός πίνακα στην ίδια γραµµή. Στην πραγµατικότητα, σε κάθε γραµµή µπορούµε να τυπώσουµε µόνο τόσους αριθµούς όσους επιτρέπει ο συγκεκριµένος compiler που χρησιµοποιούµε. Αν οι αριθµοί που θέλουµε να εµφανίσουµε σε κάθε γραµµη είναι περισσότεροι από αυτούς που επιτρέπει ο compiler, τότε η εκτύπωση συνεχίζεται στην επόµενη γραµµή. Για να εκτυπώσουµε όσα δεδοµένα εµείς θέλουµε σε κάθε γραµµη, τότε πρέπει να χρησιµοποιήσουµε την εντολή format που θα µάθουµε παρακάτω. Για τη σύνταξη του διπλού έµµεσου do-loop βλ. σηµειώσεις µαθήµατος και την αναφορά [1] σελ ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ ) Πραγµατικοί αριθµοί διπλής αρκίβειας (double precision) Μέχρι στιγµής έχουµε µάθει να χρησιµοποιούµε πραγµατικούς αριθµούς µε ακρίβεια έως και το 8 ο δεκαδικό ψηφίο. Η FORTRAN 77 µας δίνει τη δυνατότητα να χρησιµοποιούµε και πραγµατικούς αριθµούς µε ακρίβεια 16 ου δεκαδικού ψηφίου. Οι µεταβλητές αυτές ονοµάζονται διπλής ακρίβειας (double precision) και δηλώνονται ως εξής: double precision x,y ή real*8 x,y 39

41 Όταν θέλουµε να αποδώσουµε µία τιµή σ ένα πραγµατικό αριθµό διπλής ακρίβειας, τότε αυτός πρέπει πάντα να έχει την κατάληξη D0. Για παράδειγµα, τον αριθµό πρέπει να τον γράψουµε ώς: X=1.321D0 Άλλοι τρόποι να γράψουµε τον παραπάνω αριθµό είναι: X=13.21D-1 ή x= 132.1D-2 ή Χ=0.1321D+1 ή x= d+2 κοκ ηλαδή, όπως καταλάβατε, το D ± n είναι ισοδύναµο µε το 10. ΠΡΟΣΟΧΗ: Αν δεν χρησιµοποιήσουµε την καταληξη D, τότε ο υπολογιστής θα τον αναγνωρίσει ώς πραγµατικό αριθµό απλής ακρίβειας. εν συµβαίνει όµως το ίδιο και όταν δίνουµε την τιµή από το πληκτρολόγιο. Αν έχουµε δηλώσει τη µεταβλητή που θέλουµε να διαβάσουµε ως double precision, τότε ο υπολογιστής θα µετατρέψει αυτόµατα τον αριθµό που του δίνουµε, είτε αυτός είναι ακέραιος (χώρις τελεία) είτε πραγµατικός απλής ακρίβειας (µε τελεία), σε πραγµατικό διπλής ακρίβειας ακόµα και όταν δεν χρησιµοποιήσουµε την κατάληξη D. Αν κάνουµε πράξεις µεταξύ πραγµατικών αριθµών απλής και διπλής ακρίβειας, τότε το λάθος της απόκοπής ψηφίου στον πραγµατικό αριθµό απλής ακρίβειας προστίθεται στο τελικό µας αποτέλασµα. Αυτός είναι ένας ακόµα λόγος για τον οποίο πρέπει να αποφεύγουµε πραξεις µεταξύ µεταβλητών διαφορετικού τύπου. Η µετατροπή ενός real αριθµού x σε double precision γινεται µε τη συνάρτηση Dble(x) Μιγαδικοί αριθµοι (complex) Ένας µιγαδικός αριθµός w στα µαθηµατικά γραφεται ώς w=a+ib, όπου το a ονοµάζεται πραγµατικό µέρος και το b φανταστικό µέρος του µιγάδικού αριθµού. Στη FORTRAN 77 η δήλωση των µιγαδικών αριθµών γίνεται ως εξής: Complex w ή Complex*8 w Στην πρώτη περίπτωση έχουµε δηλώσει ένα µιγαδικό αριθµό w, όπου το πραγµατικό και το φανταστικό µέρος είναι απλής ακρίβειας, ενώ στη δεύτερη διπλής ακρίβειας. ±n 40

42 Αν, για παράδειγµα, θέλουµε να δώσουµε στον υπολογιστή το µιγαδικό αριθµό 2.1+3i γράφουµε το εξής: Complex w W=(2.1,3) Ο πρώτος αριθµός µέσα στις παρενθέσεις αντιστοιχεί στο πραγµατικό µέρος, ενώ ο δεύτερος στο φανταστικό. Με τον ίδιο τρόπο θα τυπωθεί και ένας µιγαδικός αριθµός µε την εντόλή print. Αν θέλουµε να αποµονώσουµε το πραγµατικό µέρος του µιγαδικού αριθµού w, γράφουµε Real(w) ενώ για το φανταστικό Imag(w) Το µέτρο ενός µιγαδικού αριθµού w δίνεται απο τη συνάρτηση Abs(w) Στη FORTRAN 77 µπορουµε να κάνουµε και πράξεις µεταξύ µιγαδικών αριθµών χωρίς κανένα πρόβληµα. 5.3 ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ Πολλες φορές µας παρουσιάζεται το πρόβληµα να πρέπει να διαβάσουµε από το πληκτρολόγιο ή να εµφανίσουµε στην οθόνη πάρα πολλά δεδοµένα. Σ αυτή την περίπτωση είναι πολύ πιο βολικό να χρησιµοποιούµε τη δυνατότητα που µας παρέχει η FORTRAN 77 να διαβάζουµε ή να αποθηκεύουµε δεδοµένα σ ενα αρχείο. Παρακάτω παρουσιάζουµε συνοπτικά τη διαδικασία που ακολουθείται για τη χρήση αρχείων σ ενα προγραµµα Open Η εντολή open µας δίνει την δυνατότητα να ανοίξουµε τα αρχεία. Ουσιαστικά υποδεικνύουµε στον υπολογιστή από ποιο αρχείο θα διαβάζει ή θα αποθηκεύσει τα δεδοµένα. Η πιο απλή συνταξη του open είναι: open (αριθµός, file = όνοµα αρχείου ). Στη θέση του αριθµού βάζουµε πάντα ενα θετικό ακέραιο, ο οποίος αντιστοιχει στο αρχείο που θέλουµε να ανοίξουµε, ενώ στο όνοµα αρχείου βάζουµε το όνοµα του αρχείου πάντα 41

43 µέσα σε µονά εισαγωγικά. Ο ακέραιος αυτός χρησιµοποιείται απο τον υπολογιστή για να αναφέρεται στο συγκεκριµένο αρχείο στις εντολες write και read, όπως θα δούµε παρακάτω. Μερικα παραδειγµατα για την εντολή open: Open (1,file= data.in ) Open (33,file= outputs ) Σε κάθε πρόγραµµα FORTRAN µπορούµε να ανοίξουµε αρκετά αρχεία, αλλά κάθε ένα απο αυτά πρέπει να έχει ένα διαφορετικό αριθµό. Αν το αρχείο δεν υπαρχεί, τότε η υπολογιστής θα το δηµιουργήσει, ενώ αν υπάρχει θα το διαγράψει και θα δηµιουργήσει ένα αλλο µε το ίδιο όνοµα. Γι αυτό πρέπει να είστε προσεκτικοί ώστε να µη δίνετε ονόµατα αρχείων που σας είναι χρήσιµα Close Η εντολή close χρησιµποιείται για να κλείσουµε τα αρχεία που έχουµε ήδη ανοίξει, δίνοντας απλά τον αριθµό του αρχείου µέσα σε παρένθεση. Για παράδειγµα Close (1) Close (33) Αν κλείσουµε ένα αρχείο, τότε µπορούµε να χρησιµοποιήσουµε τον ίδιο αριθµό για ένα άλλο αρχείο που σκοπέυουµε να ανοιξουµε στη συνέχεια του πρόγραµµατος. Να σηµειώσουµε ότι δεν είναι απαραίτητο να κλείνετε τα αρχεία. Όλα τα αρχεία τα κλείνει αυτόµατα ο υπολογιστής όταν τελειώσει το προγραµµα. Παρόλα αυτά ειναι καλύτερο να τα κλείνετε, όταν δεν τα χρειάζεστε πια, ιδιαίτερα σε περιπτώσεις όπου χρησιµποποιέιτε πόλλα αρχεία και υπάρχει µεγάλος κίνδυνος να µπερδέψετε τους αριθµούς τους Write Ένα άλλος τρόπος να τυπώσουµε τα δεδοµένα στην όθόνη, είναι µε την εντόλη write: Για παράδειγµα, το Write(*,*) Το εµβαδόν του κύκλου είναι,emvadon είναι ισοδύναµο µε το Print*, Το εµβαδόν του κύκλου είναι,emvadon To δεύτερο αστεράκι * στην σύνταξη του write είναι ισοδύναµο µε το * του print και αναφέρεται στο ότι ο υπολογιστής θα χρησιµοποιήσει ένα δικό τρόπο παρουσίασης των αποτελεσµατων. Αργότερα θα µάθουµε πως µπορούµε να υποδεικνύουµε εµείς στον 42

44 υπολογιστή τον τρόπο µε τον οποίο να παρουσιάσει (ή και να διαβάσει) τα δεδοµένα του προγράµµατος (βλ. εντολή format). Tο πρώτο αστεράκι στο write σηµαίνει οτι ο υπολογιστής θα τυπώσει τα δεδοµένα στην οθόνη. Αν αντικαταστήσουµε το αστεράκι µε τον αριθµό ενός αρχείου που έχουµε ανοίξει, τότε τα αποτελέσµατα θα καταγραφούν στο συγκεκριµένο αρχείο. Για παράδειγµα, αν γράψουµε Open (1,file= data.out ) Write (1,*) Το εµβαδόν του κύκλου είναι,emvadon Close (1) τότε το αποτέλεσµα θα τυπωθεί στο αρχείο data.out Read H εντολή read(*,*) είναι ισοδύναµη µε την read*,. Όπως και στην εντολή write(*,*), έτσι και εδώ το δεύτερο αστεράκι αναφέρεται στο format που θα χρησιµποιήσουµε για να διαβάσουµε τα δεδοµένα, ενώ το πρώτο * υποδεικνύει ότι τα δεδοµένα θα δοθούν από το πληκτρολόγιο. Αν αντικαταστήσουµε το πρώτο * µε τον αριθµό ενος αρχειου, τότε ο υπολογιστής θα διαβάσει τα δεδόµένα απο το συγκεκριµένο αρχείο. ΠΑΡΑ ΕΙΓΜΑ 1 Υποθέστε ότι έχουµε δηµιουργήσει το αρχείο dadta.in και το οποίο περιέχει τους παρακάτω αριθµούς Αν θέλουµε να διαβάσουµε αυτούς τους αριθµούς και να δώσουµε τις τιµές του σε έξι διαφορετικές µεταβλητές, πρέπει να γράψουµε: Real a,b,c,d,e,f Open(1,file= data.in ) Read(1,*) a,b,c Read(1,*) c, d, f και τότε οι µεταβλητές µας θα έχουν τις εξής τιµές: a=11.0 b= 3. c= 4. d= 0.1 e =8. f=14. ηλαδή, όπως καταλάβατε, κάθε φορά που χρησιµοποιούµε την εντολή read, ο υπολογιστής διαβάζει δεδοµένα από µία γραµµή µόνο. Αν γράφαµε Read(1,*) a,b Read(1,*) d, f 43

45 τότε οι τιµές των µεταβλητών θα ήταν: a=11.0 b= 3. d= 0.1 f=8. ενώ οι c και e δεν θα είχαν τιµές (ο υπολογιστής θα αγνοούσε τον τρίτο αριθµό της κάθε γραµµής) ΠΑΡΑ ΕΙΓΜΑ 2 Έστω ότι έχετε ενα αρχείο µέ όνοµα input και το οποίο περιέχει 30 αριθµούς (ένα σε κάθε γραµµη). Για να διαβάσετε τους αριθµούς αυτούς και να αποδώσετε τις τιµές τους σ ενα µονοδιάστατο πίνακα πρέπει να γράψετε: Real A(30) Open (1,file= inputs ) Do I=1,30 Read(1,*) A(i) Enddo Close(1) ΠΑΡΑ ΕΙΓΜΑ 3 Ας υποθέσουµε ότι στο παραπάνω παράδειγµα δεν γνωρίζαµε το πλήθος το γράµµων. Μία διαφορέτική συνταξη του read µας δίνει τη δυνατότητα να διαβάζουµε δεδοµένα από ενα αρχείο µέχρι ο υπολογιστής να φτάσει στο τέλος του. Real A(1000) Integer I,Ν Open(1,file= inputs ) Ν=0 Do Read(1,*,END=10) A(i) Ν=Ν+1 Enddo 10 continue Στο παραπάνω πρόγραµµα ο υπολογιστής θα διαβάζει ένα αριθµό από κάθε γραµµή και µόλις συναντήσει το τέλος του αρχείου θα πάει στη εντολή continue. Ο µετρητής Ν τελικά µας δίνει το πλήθος των γραµµών του αρχείου. ΠΑΡΑ ΕΙΓΜΑ 2 Έστω ότι έχετε ένα αρχείο που περιέχει 15 αριθµούς τοποθετηµένους σε 3 γραµµές και 5 στήλες. Ένας τρόπος να διαβάσετε τους αριθµούς αυτούς και να απόδώσετε τις τιµές τους σ ενα διδιάστατο πίνακα είναι µε τη χρήση έµµεσου do-loop Real A(3,5) Integer i,j Open (8,file= D2.in ) Do I=1,3 44

46 Read(8,*) (A(i,j),j=1,5) Enddo Close (8) ΕΝΤΟΛΕΣ character, format, data, common, και intrinsic, external functions Για τις παραπάνω σντολές µελετήστε τις σηµειώσεις του µαθήµατος και τις παρακάτω αναφορές character [1] σελ. 110 [2] σελ. 242 [3] σελ. 290, 316 format [2] σελ. 83 [3] σελ. 183 data [1] σελ. 131 [2] σελ.117 [3] σελ. 53, 124 common [1] σελ. 94 [2] σελ. 175 [3] σελ. 385 intrinsic, external functions [3] σελ. 408 ΒΙΒΛΙΟΓΡΑΦΙΑ [1] «Το πρώτο βιβλίο της FORTRAN 77», John Shelley, εκδόσεις Μ. Γκιούρδας. [2] «FORTRAN», Σωτήριος Περσίδης, εκδόσεις Ι ΕΑ [3] «FORTRAN 77 programming», T. M. R. Ellis, Addison-Wesley publishing company 45

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών ΥΠΟΛΟΓΙΣΤΕΣ Ι ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ Τύποι δεδομένων Οι παρακάτω τύποι δεδομένων υποστηρίζονται από τη γλώσσα προγραμματισμού Fortran: 1) Ακέραιοι αριθμοί (INTEGER). 2) Πραγματικοί αριθμοί απλής ακρίβειας

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 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. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Σύντομες εισαγωγικές σημειώσεις για την. Matlab Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και

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

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

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

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

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

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

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

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

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Υπο-προγράμματα στη Fortran

Υπο-προγράμματα στη Fortran ΦΥΣ 145 - Διαλ.05 1 Υπο-προγράμματα στη Fortran q Mέχρι τώρα τα προβλήματα και τα προγράμματα που έχουμε δεί ήταν αρκετά απλά και επομένως ένα και μόνο πρόγραμμα ήταν αρκετό για να τα λύσουμε q Όταν τα

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

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

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

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

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

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

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

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

Άσκηση 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 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

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

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ Λογικός τύπος ( ) Ο τύπος είναι κατάλληλoς για την αναπαράσταση ποσοτήτων που μπορούν να πάρουν δύο μόνο τιμές (π.χ. ναι/όχι, αληθές/ψευδές, ). Τιμές ή Δήλωση Εκχώρηση Ισοδυναμία με ακέραιους

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

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

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

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

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

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

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

for for for for( . */

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ 1 Τύποι δεδομένων Η γλώσσα προγραμματισμού C++ υποστηρίζει τους παρακάτω τύπους δεδομένων: 1) Ακέραιοι αριθμοί (int). 2) Πραγματικοί αριθμοί διπλής ακρίβειας

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77 ΣΗΜΕIΩΣΕΙΣ ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77 Ν. ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ Α.Π.Θ. Μάρτιος 2012 ΕΓΚΑΤΑΣΤΑΣΗ Εγκαθιστούμε τον μεταγλωττιστή από το αρχείο http://www.lepsch.com/downloads/force209g77setup.exe Δημιουργούμε

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος. ΥΠΟΛΟΓΙΣΤΕΣ Ι Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος. Τετριμμένο παράδειγμα: Κατασκευάστε πρόγραμμα που θα εμφανίζει

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

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

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

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

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

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

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

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

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.

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

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα; Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο Τι θα τυπωθεί στον παρακάτω κώδικα; Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο Τι θα τυπωθεί στον παρακάτω κώδικα; Χωρίς να αλλάξουμε τον τύπο των a,b,

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

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 - Καλή δουλειά 1242 1243 1244 1245 - Κακή χρήση συναρτήσεων. Κάνεις τον ίδιο έλεγχο και εντός και εκτός της συνάρτησης. Θα έπρεπε να έχεις βρεί ένα τρόπο

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

8 FORTRAN 77/90/95/2003

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

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

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

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

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

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

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

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

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

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

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

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

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

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

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

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

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

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

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

! Δεν μπορούν να λυθούν όλα τα προβλήματα κάνοντας χρήση του παρ/λου προγ/σμου ΑΡΧΗ ΝΑΙ Διάβα σε a Εκτύπ ωσε a > a 0 ΟΧΙ ΤΕΛΟΣ Σύμβολα διαγράμματος ροής 1 Ακέραιος τύπος 14 0-67 2 Πραγματικός τύπος

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

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

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

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

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

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

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

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

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

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

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

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Δρ. Π. Νικολαΐδου Προγραμματίζοντας στη γλώσσα R Εισαγωγή ( 1 ο Μάθημα ) Βασικές εντολές - λειτουργίες Μπορούμε να διαγράψουμε το περιεχόμενο της R κονσόλας επιλέγοντας Edit>Clear

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

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο

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

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

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

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

Κεφάλαιο Πέµπτο: Η Εξάσκηση

Κεφάλαιο Πέµπτο: Η Εξάσκηση Κεφάλαιο Πέµπτο: Η Εξάσκηση 1. Γενικά Η εξάσκηση στο Εργαστήριο προϋποθέτει τη γνώση των εντολών (τουλάχιστον) τις οποίες καλείται ο σπουδαστής κάθε φορά να εφαρµόσει. Αυτές παρέχονται µέσω της Θεωρίας

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

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων Αλγόριθµος : Είναι ένα σύνολο βηµάτων, αυστηρά καθορισµένων κι εκτελέσιµων σε πεπερασµένο χρόνο, που οδηγούν στην επίλυση ενός προβλήµατος. Χαρακτηριστικά ενός σωστού

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

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

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

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

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

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

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

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

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

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

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

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

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 5: Εντολές Αντικατάστασης, Συναρτήσεις και Σχόλια στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

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

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

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

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

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

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

o AND o IF o SUMPRODUCT

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

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

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

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

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

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

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

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

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

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

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

Υπολογισμός αθροισμάτων

Υπολογισμός αθροισμάτων Υπολογισμός αθροισμάτων Τα αθροίσματα θα τα δημιουργούμε σαν συναρτήσεις και θα τα αποθηκεύουμε σε αρχείο (m-file) με την ίδια ονομασία με τη συνάρτηση. Για να δημιουργήσουμε ένα άθροισμα ξεκινάμε μηδενίζοντας

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

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

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

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

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

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

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

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

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

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

- program p_name(input) - uses crt

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

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

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram.

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram. Η δοµή Formula Node 1. Η δοµή Formula Node επιτρέπει την εισαγωγή αναλυτικών σχέσεων στο Block Diagram µε πληκτρολόγηση, αποφεύγοντας έτσι την εισαγωγή των εικονίδιων συναρτήσεων απλών αλγεβρικών πράξεων

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

4. Επιλογή και Επανάληψη

4. Επιλογή και Επανάληψη Σελίδα 53 4. Επιλογή και Επανάληψη 4.1 Η Εντολή Επιλογής if.. then Η εντολή If.. Then.. χρησιμοποιείται για την λήψη λογικών αποφάσεων σε ένα πρόγραμμα. Η εντολή αυτή έχει διάφορες μορφές σύνταξης οι οποίες

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

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

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

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

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8) Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Έλεγχος συνθηκών - if Ας μελετήσουμε το πρόβλημα του υπολογισμού του ελάχιστου

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

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

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

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

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica Πρώτη επαφή με το μαθηματικό πακέτο Mathematica Με δύο λόγια, μπορούμε να πούμε ότι η Mathematica είναι ένα πρόγραμμα που το χρησιμοποιούμε για να κάνουμε αναλυτικούς και αριθμητικούς υπολογισμούς αλλά

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Ενότητα 1 Διάλεξη 2β

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με: Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 5.1-5.3: Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 9-1 οµές Έλεγχου Προγράµµατος Μέχρι τώρα είδαµε τις ακόλουθες δοµές έλεγχου (program control structure) ενός προγράµµατος

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

Περιεχόµενα Περιεχόµενα iii 1 Εισαγωγή STOP

Περιεχόµενα Περιεχόµενα iii 1 Εισαγωγή STOP Τµηµα Επιστηµης και Τεχνολογιας Υλικων Πανεπιστηµιο Κρητης Ηλεκτρονικοί Υπολογιστές Ι : Εισαγωγή στη γλώσσα προγραµµατισµού Fortran 95 Συνοπτικές Σηµειώσεις ιαλέξεων Σ. Σταµατιαδης Ηράκλειο Μάρτιος 2012

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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