Σημειώσεις για την Pascal

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

Download "Σημειώσεις για την Pascal"

Transcript

1 Σημειώσεις για την Pascal 10 Νοεμβρίου Γλώσσες προγραμματισμού Οι σύγχρονοι μικροεπεξεργαστές μπορούν μεταξύ άλλων να εκτελούν αριθμητικές και λογικές πράξεις και να διαβάζουν και γράφουν στη μνήμη του υπολογιστή. Για να γίνει αυτό πρέπει να τους δωθούν οι ανάλογες εντολές. Οι εντολές είναι κωδικοποιημένες ως αριθμοί. Για παράδειγμα οι παρακάτω εντολές βάζουν σε μια θέση μνήμης τον αριθμό 5, σε μια άλλη τον αριθμό 7, προσθέτουν τους δύο αριθμούς και αποθηκεύουν το αποτέλεσμα σε μια τρίτη θέση μνήμης (για έναν επεξεργαστή Pentium). 457f 464c d e5 10ec 45c7 05fc 0000 c700 f b 8bf8 fc55 048d 8902 f445 00b c900 00c a e 2f75 694c 616e 6f e 342e 312d e e34 2e e d e e e e e e 6d6f 656d 746e 2e00 6f6e e 554e 732d b Είναι προφανώς ακατανόητο. Ο λόγος δεν είναι απλώς ότι οι εντολές είναι κωδικοποιημένες ως αριθμοί αλλά και ότι πρέπει να τοποθετούνται σε μια συγκεκριμένη σειρά σε σχέση με τις παραμέτρους τους, να εκτελούνται κάποιες προπαρασκευαστικές λειτουργίες πριν εκτελεστούν αυτές καθαυτές οι εντολές κτλ. Για να απλουστεύσουν τα πράγματα οι κατασκευαστές μικροεπεξεργαστών αναθέτουν σε κάθε εντολή ένα μνημονικό (mnemonic) και έτσι μπορεί κανείς να καταλάβει ευκολότερα το παρακάτω 1 movl $5, -4(% ebp) 2 movl $7, -8(% ebp) 3 movl -8(%ebp), %eax 4 movl -4(%ebp), %edx 5 leal (%edx,%eax), %eax 1

2 6 movl %eax, -12(%ebp) σε σχέση με το προηγούμενο. Συνεχίζει όμως να μην είναι ευανάγνωστο και αυτό είναι ένα σημαντικό μειονέκτημα. Άλλο μειονέκτημα είναι ότι το πρόγραμμα αυτό θα ισχύει μόνο για μικροεπεξεργαστές ενός συγκεκριμένου τύπου. Όταν αναπόφευκτα αυτοί αποσυρθούν θα πρέπει και το πρόγραμμα να επικαιροποιηθεί. Προκειμένου να αντιμετωπίσουν τα παραπάνω προβλήματα, οι επιστήμονες πληροφορικής ανέπτυξαν γλώσσες προγραμματισμού δηλαδή γλώσσες με συγκεκριμένη σημασιολογία, ανεξάρτητες από συγκεκριμένο τύπο επεξεργαστή οι οποίες όμως θα μπορούσαν με κάποιο μηχανικό και σαφή τρόπο να μετατραπούν σε εντολές εκτελέσιμες από κάποιο μικροεπεξεργαστή. Έτσι, ένα πρόγραμμα μιας κάποιας γλώσσας προγραμματισμού θα σήμαινε κάποια συγκεκριμένα πράγματα ανεξάρτητα από τον επεξεργαστή στον οποίο τελικά θα εκτελείτο. Για να δουλέψει το παραπάνω σχήμα χρειάζονται κάποια προγράμματα τα οποία θα κάνουν αυτοματοποιημένα κάποιες απαραίτητες μετατροπές. Για παράδειγμα, το παραπάνω πρόγραμμα πρόσθεσης του 5 και του 7, στην Pascal θα γραφόταν ως εξής: 1 a := 5; 2 b := 7; 3 c := a + b; Στην ορολογία των γλωσσών προγραμματισμού, εντολές σαν τις παραπάνω, γραμμένες σε κάποια γλώσσα προγραμματισμού ονομάζονται πηγαίος κώδικας (source code). Οι παραπάνω εντολές είναι προφανώς πιο ευανάγνωστες από τον κώδικα μηχανής ή την assembly. Δεν μπορούν όμως να εκτελεστούν από κάποιον επεξεργαστή. Οπότε πρέπει να υπάρξει ένα πρόγραμμα το οποίο να μετατρέπει τις παραπάνω εντολές σε κώδικα μηχανής. Το πρόγραμμα αυτό ονομάζεται μεταγλωττιστής (compiler). Ένας μεταγλωττιστής προορίζεται για μία συγκεκριμένη γλώσσα προγραμματισμού. Επίσης, αφού ο ίδιος ο μεταγλωττιστής είναι πρόγραμμα αποτελείται από εντολές που εκτελούνται από έναν συγκεκριμένο τύπο επεξεργαστή και όχι από άλλους. Για κάθε συνδυασμό γλώσσας προγραμματισμού και τύπου επεξεργαστή, χρειαζόμαστε διαφορετικό μεταγλωττιστή¹. Ένας μεταγλωττιστής γενικά διαβάζει ένα κομμάτι πηγαίου κώδικα και το μετατρέπει σε αριθμητικές εντολές για ένα συγκεκριμένο τύπο επεξεργαστή. Οι εντολές αυτές ονομάζονται αντικειμενικός κώδικας (objective code). Επιπρόσθετα, εκτός από τη μεταγλώττιση κάποιων εντολών μιας γλώσσας προγραμματισμού, κατά κανόνα χρειάζεται και η συνένωση του αντικειμενικού κώδικα με διάφορα άλλα κομμάτια αντικειμενικού κώδικα, π.χ. βιβλιοθήκες κώδικα. Αυτή τη δουλειά την κάνει ο λεγόμενος linker. Ο linker διαβάζει διάφορα κομμάτια αντικειμενικού κώδικα και τα συνενώνει σε ένα εκτελέσιμο πρόγραμμα (executable program) ή απλώς πρόγραμμα. Τελικά, η διαδικασία έχει ως εξής: Ένας προγραμματιστής γράφει ένα πρόγραμμα σε πηγαίο κώδικα για κάποια γλώσσα προγραμματισμού. Δεν έχει σημασία ο τύπος επεξεργαστή στον οποίο εργάζεται. Με το μεταγλωττιστή και το linker δημιουργεί ένα πρόγραμμα το οποίο μπορεί να δώσει σε οποιονδήποτε χρησιμοποιεί το ίδιο λειτουργικό σύστημα σε ίδιο ή συμβατό τύπο μικροεπεξεργαστή. Ο πηγαίος κώδικας γίνεται κατανοητός με τον ίδιο τρόπο από οποιονδήποτε προγραμματιστή ¹Είναι όμως εφικτό ένας μεταγλωττιστής που προορίζεται να τρέξει σε ένα συγκεκριμένο τύπο μικροεπεξεργαστή να παράξει κώδικα μηχανής για κάποιον άλλο τύπο μικροεπεξεργαστή 2

3 τον διαβάζει. Αν και από μόνος του δεν είναι εκτελέσιμος, μπορεί να μετατραπεί σε ένα εκτελέσιμο πρόγραμμα από οποιονδήποτε διαθέτει κατάλληλο μεταγλωττιστή. 2 Εισαγωγή στον προγραμματισμό σε Pascal ² Για κάθε γλώσσα προγραμματισμού το πιο διάσημο πρόγραμμα είναι εκείνο που τυπώνει στην οθόνη το μήνυμα Hello, world!. Στην Pascal ένα τέτοιο πρόγραμμα θα ήταν κάπως έτσι: 1 program hello; 2 begin 3 writeln('hello, world!'); 4 end. Αν κανείς μεταγλωττίσει τον πηγαίο κώδικα και τρέξει το εκτελέσιμο θα δει στην οθόνη του το μήνυμα Hello, world!. Το παραπάνω αν και μικρό μας δείχνει μερικά στοιχεία τα οποία θα βρίσκουμε σχεδόν σε κάθε πρόγραμμα Pascal: Η δεσμευμένη λέξη program στην πρώτη γραμμή του προγράμματος. Αν και δεν είναι κανόνας, τα περισσότερα προγράμματα με τα οποία θα ασχοληθούμε ξεκινούν με αυτήν τη δεσμευμένη λέξη, μετά το όνομα του προγράμματος (το οποίο δεν είναι κατ' ανάγκη ίδιο με το όνομα του αρχείου στο οποίο θα σώσουμε το πρόγραμμα) και στο τέλος το ελληνικό ερωτηματικό. Στις γραμμές 2 και 4 υπάρχουν οι δεσμευμένες λέξεις begin και end. Στην Pascal κάθε εκτελέσιμο πρόγραμμα πρέπει να έχει ένα μπλοκ (block) εντολών το οποίο να ξεκινάει με ένα begin και να τελειώνει με ένα end. Η εκτέλεση του προγράμματος ξεκινάει από την πρώτη εντολή αυτού του μπλοκ και συνεχίζεται με τις επόμενες μέχρις να φτάσει στην τελευταία εντολή πριν το αντίστοιχο end όπου ολοκληρώνεται η εκτέλεση του προγράμματος. Ενώ οι εντολές της Pascal συνήθως ακολουθούνται από το ελληνικό ερωτηματικό, μετά το end που ορίζει το τέλος του προγράμματος ακολουθεί η τελεία, όπως στη γραμμή 4 παραπάνω. Ένας καλός πρακτικός κανόνας είναι ότι μετά από κάθε εντολή της Pascal ακολουθεί το ελληνικό ερωτηματικό όπως στις γραμμές 1 και 3 παραπάνω. Αυτό δεν είναι απόλυτα αληθές γιατί στην πραγματικότητα το ελληνικό ερωτηματικό είναι ο χαρακτήρας διαχωρισμού και όχι τερματισμού εντολών. Στην πραγματικότητα δηλαδή το ελληνικό ερωτηματικό πρέπει να μπαίνει ανάμεσα από οποιεσδήποτε δύο εντολές της Pascal και όχι μετά από κάθε μία. Μερικές παρατηρήσεις σχετικά με αυτό το σημείο είναι χρήσιμο να γίνουν: Η λέξη begin στη γραμμή 2 δεν είναι εντολή. Απλώς σηματοδοτεί την αρχή μιας ομάδας εντολών που ξεκινάει από το begin και τελειώνει με το αντίστοιχο end. Η Pascal θεωρεί όλο αυτόν τον κώδικά ως μία σύνθετη εντολή. Οπότε δεν τίθεται θέμα να μπει ερωτηματικό μετά το begin γιατί η σύνθετη εντολή που ξεκινάει με αυτό δεν τελειώνει εκεί αλλά τελειώνει στο end. Μια άλλη παρατήρηση είναι ότι το ερωτηματικό στο τέλος της γραμμής 3 θα μπορούσε να παραληφθεί. Αναφέραμε ότι το ερωτηματικό είναι ο χαρακτήρας διαχωρισμού εντολών, δηλαδή χωρίζει μία εντολή από την επόμενή της. Στη συγκεκριμένη περίπτωση δεν υπάρχει άλλη εντολή από την writeln ²Οι παρούσες σημειώσεις δεν έχουν σκοπό να αποτελέσουν ένα πλήρη και εξαντλητικό εγχειρίδιο της Pascal αλλά να λειτουργήσουν ως βοήθημα στο εργαστηριακό μάθημα 3

4 της γραμμής 3 μέσα στο μπλοκ που ορίζεται από τα begin-end οπότε το ερωτηματικό δεν είναι απαραίτητο. 3 Μεταβλητές Είναι απαραίτητο στον προγραμματισμό να μπορούμε να αναφερθούμε σε θέσεις μνήμης του υπολογιστή στις οποίες να μπορούμε να αποθηκεύσουμε αποτελέσματα ή να διαβάσουμε τα περιεχόμενά τους. Οι θέσεις μνήμης σε κάθε υπολογιστή είναι διατεταγμένες (οπότε και αριθμημένες). Είναι πρακτικά δύσκολο για έναν προγραμματιστή να αναφέρεται σε θέσεις μνήμης βάσει του αύξοντα αριθμού τους. Οι άνθρωποι θυμούνται ονόματα ευκολότερα από ότι αριθμούς. Επίσης είναι πιο εύκολο να γράψει κανείς λανθασμένα έναν αριθμό από ότι ένα όνομα. Για αυτούς τους λόγους κάθε γλώσσα προγραμματισμού δίνει τη δυνατότητα ορισμού μεταβλητών (variables). Ο προγραμματιστής χρησιμοποιεί μεταβλητές απλώς αναφέροντας το όνομά τους. Ο μεταγλωττιστής αναλαμβάνει να αντιστοιχίσει τις μεταβλητές σε θέσεις μνήμης. Έτσι όποτε ο προγραμματιστής γράφει το όνομα μιας μεταβλητής ο μεταγλωττιστής δημιουργεί κώδικα μηχανής που αναφέρεται στη θέση μνήμης που αντιστοίχισε στη μεταβλητή χωρίς ο προγραμματιστής να ασχολείται με τις τεχνικές λεπτομέρειες. Στην Pascal πρέπει πριν χρησιμοποιήσουμε μια μεταβλητή να τη δηλώσουμε (declare). Αυτό γίνεται όπως στο παρακάτω πρόγραμμα στη γραμμή 3. Μία δήλωση μεταβλητής έχει τη μορφή onoma_metavlitis: typos_metavlitis;. Ως όνομα μπορούμε να χρησιμοποιήσουμε οποιοδήποτε νόμιμο όνομα (identifier) δηλαδή μια ακολουθία γραμμάτων ή/και αριθμών η οποία δεν ξεκινάει με αριθμό. Μετά ακολουθεί μία άνω-κάτω τελεία και τέλος ο τύπος της μεταβλητής που στην Pascal μπορεί να είναι integer, real, boolean ή char ³. Στο τέλος μπαίνει το ελληνικό ερωτηματικό. Όλες οι δηλώσεις πρέπει να είναι γραμμένες πριν από το begin με το οποίο ξεκινάει το πρόγραμμα. Πριν από τις δηλώσεις πρέπει να υπάρχει η δεσμευμένη λέξη var. Μπορεί κανείς να δηλώσει τις μεταβλητές που θα χρησιμοποιηθούν σε κάποιο πρόγραμμα είτε μία-μία είτε περισσότερες χωρισμένες με κόμματα αρκεί να είναι ίδιου τύπου: i, j, k: integer. Στο παράδειγμά μας στη γραμμή 7 βλέπουμε επίσης πώς μπορούμε να τυπώσουμε την τιμή μιας μεταβλητής χρησιμοποιώντας την `εντολή' writeln⁴. Η writeln ακολουθείται από ένα ζευγάρι παρενθέσεων μέσα στο οποίο βάζουμε ότι θέλουμε να τυπωθεί στην οθόνη. Μπορούμε να βάλουμε ονόματα μεταβλητών είτε μηνύματα μέσα σε μονά εισαγωγικά. Επίσης μπορούμε να βάλουμε περισσότερα από ένα ορίσματα στις παρενθέσεις αρκεί να τα χωρίζουμε με κόμματα. Στη γραμμή 6 του παραδείγματός μας βλέπουμε πώς μπορούμε να δώσουμε σε μία μεταβλητή την τιμή που θα δώσει ο χρήστης του προγράμματος στο πληκτρολόγιο. Η εντολή readln συντάσσεται όπως και η writeln δηλαδή ακολουθείται από ένα ζευγάρι παρενθέσεων μέσα στο οποίο αναφέρονται τα ορίσματά της δηλαδή οι μεταβλητές που θα πάρουν τιμή από το πληκτρολόγιο. Και σε αυτήν την περίπτωση μπορούμε να χρησιμοποιήσουμε περισσότερα από ένα ορίσματα χωρισμένα με κόμματα αλλά προς το παρόν στα παραδείγματά μας θα χρησιμοποιούμε ένα και μόνο όνομα μεταβλητής. Τέλος, στη γραμμή 8 φαίνεται πώς μπορούμε να δώσουμε μία τιμή σε κάποια μεταβλητή. Ο τελεστής απόδοσης τιμής := συντάσσεται ως εξής: Στα αριστερά του μπαίνει το όνομα της μεταβλητής στην οποία θα δοθεί τιμή. Στα δεξιά του μπαίνει οποιαδήποτε παράσταση δίνει απότέλεσμα ίδιου τύπου ³Θα δούμε στη συνέχεια ότι υπάρχουν και άλλες δυνατότητες πέρα από αυτούς τους βασικούς τύπους ⁴Στην πραγματικότητα η writeln δεν είναι εντολή αλλά διαδικασία. Θα δούμε λεπτομέρειες στη συνέχεια. 4

5 με τη μεταβλητή. Στο παράδειγμά μας όπου η μεταβλητή i είναι ακέραια, πρέπει και η έκφραση δεξιά από το := να είναι ακέραια. Η λειτουργία της είναι η εξής: Πρώτα υπολογίζεται η τιμή της παράστασης δεξιά από το :=. Η παράσταση μπορεί να περιέχει και την ίδια τη μεταβλητή. Όταν τελειώσουν οι υπολογισμοί, το αποτέλεσμα που προκύπτει αποθηκεύεται στη μεταβλητή αριστερά από το :=. 1 program var1; 2 var 3 i: integer; 4 begin 5 write(' Dose tin timi tis i: '); 6 readln(i); 7 writeln('h timi poy edoses einai ', i); 8 i := i + 5; 9 writeln('an tou pros8eseis to 5 givetai ', i); 10 end. 4 Εντολές της Pascal 4.1 Εντολή if Μία άλλη συνηθισμένη δομή στον προγραμματισμό είναι η εκτέλεση εντολών υπο συνθήκη. Δηλαδή κάποιες εντολές εκτελούνται αν ισχύει κάποια συγκεκριμένη προϋπόθεση. Στην Pascal η απλή μορφή αυτής της εντολής είναι η παρακάτω 1 if synthiki then 2 entoli; 3... που Ο τρόπος λειτουργίας είναι ο εξής: Αρχικά υπολογίζεται η τιμή της συνθήκης της γραμμής 1. Αν είναι αληθής τότε εκτελείται η εντολή⁵ της γραμμής 2 και η εκτέλεση του προγράμματος συνεχίζεται στη γραμμή 3. Αν η συνθήκη δεν είναι αληθής, τότε η εντολή της γραμμής 2 παρακάμπτεται και η εκτέλεση του προγράμματος συνεχίζεται με τη γραμμή 3. Ως λογική συνθήκη μπορεί να χρησιμοποιηθεί οποιαδήποτε έκφραση μπορεί να αποτιμηθεί ως αληθής ή ψευδής, π.χ. 7 > 5, i <= 10, i > j ⁶. Στη δεύτερή της μορφή η εντολή if δίνει τη δυνατότητα εκτέλεσης μιας εναλλακτικής εντολής στην περίπτωση που η συνθήκη δεν ισχύει. 1 if synthiki then 2 entoli 3 else 4 entoli2; ⁵Η εντολή μπορεί να είναι μία απλή εντολή ή μια ομάδα εντολών μέσα σε ένα begin-end μπλοκ. Η ίδια παρατήρηση ισχύει για το σύνολο των σημειώσεων. ⁶Θα δούμε στη συνέχεια αναλυτικά όλα τα είδη τελεστών που μπορούν να χρησιμοποιηθούν σε τέτοιου είδους εκφράσεις. 5

6 5... Σε αυτήν τη μορφή αν η συνθήκη ισχύει τότε εκτελείται η εντολή της γραμμής 2 και η εντολή μετά το else παρακάμπτεται οπότε η εκτέλεση του προγράμματος προχωράει με τη γραμμή 5. Αν όμως η συνθήκη δεν ισχύει τότε παρακάμπτεται η εντολή της γραμμής 2 και εκτελείται εκείνη της γραμμής 4. Και σε αυτήν την περίπτωση η εκτέλεση συνεχίζεται από τη γραμμή 5. Είναι σημαντικό να παρατηρήσετε ότι στην δεύτερη περίπτωση δεν μπαίνει ερωτηματικό μετά την εντολή της γραμμής 2. Επίσης πρέπει να πούμε ότι συντακτικά η Pascal θεωρεί ολόκληρο το σχήμα των γραμμών 1 και 2 στο πρώτο παράδειγμα ή το σχήμα των γραμμών 1 έως 4 στο δεύτερο ως μία (σύνθετη) εντολή. Οπότε μία if μπορεί να χρησιμοποιηθεί όπου θα έμπαινε μια απλή εντολή μέσα σε μια άλλη if. Δείτε το παρακάτω παράδειγμα υπολογισμού φόρου στο οποίο υπολογίζεται η φορολογία κάποιου σύμφωνα με τους εξής κανόνες: Αν έχει εισόδημα κάτω από 5 χιλιάδες ευρώ δεν πληρώνει τίποτα, αν έχει από 5 έως 12 πληρώνει το 10 τοις εκατό του ποσού πάνω από 5000 και αν έχει περισσότερα πληρώνει επιπλέον 20 τοις εκατό για το ποσό πάνω από 12 χιλιάδες. 1 program foros1; 2 var 3 eisodima, foros: real; 4 5 begin 6 write(' Dose to etisio eisodima sou: '); 7 readln( eisodima); 8 9 if ( eisodima <= 5000) then 10 foros := 0 11 else 12 if ( eisodima <= 12000) then 13 foros := ( eisodima ) * else 15 foros := 7000 * ( eisodima ) * 0.2; 16 writeln('tha pliroseis foro ', foros :0:2); 17 end. Στο προηγούμενο χρησιμοποιήσαμε μεταβλητές τύπου real προκειμένου να μπορέσουμε να πραγματοποιήσουμε πράξεις κινητής υποδιαστολής (με δεκαδικά ψηφία). Παρατηρήστε ότι μετά το else της γραμμής 11, δεν ακολουθεί μια απλή εντολή όπως στη γραμμή 10 αλλά μία δεύτερη if. Επίσης παρατηρήστε ότι τόσο στη γραμμή 10 όσο και στη γραμμή 13 οι εντολές δεν ακολουθούνται από ερωτηματικό γιατί βρίσκονται ακριβώς πριν από ένα else. 4.2 Εντολή for Μια άλλη απαραίτητη δομή στον προγραμματισμό είναι και αυτή της επανάληψης. Παρουσιάζεται η ανάγκη να επαναληφθούν κάποιες εντολές. Ο αριθμός των επαναλήψεων μπορεί να είναι εκ των προτέρων γνωστός μπορεί ομως και όχι. Στην Pascal δίνονται τρεις διαφορετικές εναλλακτικές για αυτό το σκοπό. Η απλούστερη είναι η for που μας δίνει τη δυνατότητα να εκτελέσουμε ένα αριθμό επαναλήψεων, εκ των προτέρων γνωστό. Συντάσσεται όπως εδώ: 6

7 1 for variable := start to end do 2 entoli; Σε κάθε εντολή for χρειάζεται μια μεταβλητή ελέγχου (control variable) η οποία θα διατρέξει ένα σύνολο τιμών όπως η variable παραπάνω. Αυτή διατρέχει τις τιμές από start μέχρι end διαδοχικά δηλαδή πραγματοποιούνται end-start+1 επαναλήψεις. Σε κάθε επανάληψη εκτελείται η entoli. Στο παραπάνω παράδειγμα δηλαδή αρχικά η μεταβλητή ελέγχου variable παίρνει την τιμή start και εκτελείται η entoli. Μετά η μεταβλητή παίρνει την τιμή start+1 και εκτελείται η entoli, και ούτω καθεξής μέχρι η μεταβλητή να πάρει την τιμή end (συμπεριλαμβανομένης). Αν η τιμή start είναι μεγαλύτερη από την end δεν εκτελείται καμία επανάληψη. Σε αυτήν την περίπτωση μπορούμε αντί για τη λέξη to στη γραμμή 1 να χρησιμοποιήσουμε τη λέξη downto ώστε η μεταβλητή ελέγχου να προχωράει με βήμα -1 αντί για βήμα +1. Μια εντολή επανάληψης όπως η for παραπάνω στον προγραμματισμό ονομάζεται βρόχος (loop). Η εντολή που επαναλαμβάνεται ονομάζεται σώμα (body) του βρόχου. Το παρακάτω πρόγραμμα εκτελεί μια τέτοια επανάληψη για τις τιμές από 1 μέχρι και n όπου το n δίνεται από το χρήστη, προκειμένου να υπολογίσει το άθροισμα των n όρων μιας αριθμητικής προόδου με πρώτο όρο το 1 και βήμα 1. 1 program progression; 2 var 3 total, i, n: integer; 4 5 begin 6 write('dose to n: '); 7 readln(n); 8 9 total := 0; 10 for i := 1 to n do 11 total := total + i; writeln('to a8roisma tvn orwv eivai: ', total); 14 end. 4.3 Εντολή while-do Μια άλλη εντολή με την οποία πραγματοποιούνται επαναλήψεις είναι η while-do. Συντάσσεται όπως εδώ: 1 while synthiki do 2 entoli; 3... Η συνθήκη είναι όπως και στην εντολή if. Η λειτουργία της while είναι η εξής: Αρχικά εκτιμάται η συνθήκη. Αν είναι αληθής τότε εκτελείται η εντολή μία φορά και η ροή του προγράμματος επανέρχεται στη while, ξαναεκτιμάται η συνθήκη και ούτω καθεξής. Η διαδικασία σταματάει όταν κάποια στιγμή η συνθήκη πάψει να ισχύει οπότε η while τερματίζεται και η εκτέλεση του προγράμματος 7

8 συνεχίζει από την επόμενη εντολή (στη γραμμή 3 στο παραπάνω). Η εντολή που εκτελείται σε κάθε επανάληψη ονομάζεται και αυτή σώμα του βρόχου while όπως και στην περίπτωση της for παραπάνω. Παρατηρήστε ότι υπάρχει περίπτωση το σώμα της while να μην εκτελεστεί ούτε μία φορά αν στην πρώτη φορά που υπολογιστεί η συνθήκη είναι ψευδής. Η while χρησιμοποιείται σε περιπτώσεις που ο αριθμός των επαναλήψεων που θα πραγματοποιηθούν δεν είναι εκ των προτέρων γνωστός αλλά είναι γνωστή μία συνθήκη τερματισμού. Δείτε και το παρακάτω παράδειγμα υπολογισμού όρων της ακολουθίας Fibonacci. Προσέξτε ότι επειδή στην περίπτωση αυτή χρειάζεται να επαναλαμβάνονται περισσότερες από μία εντολές τις περικλείνουμε σε ένα μπλοκ (block) begin-end. Μέσα στο μπλοκ μπορούμε να έχουμε οσεσδήποτε εντολές. Συντακτικά όμως η Pascal θεωρεί όλο το μπλοκ ως μία εντολή. 1 program fib; 2 var 3 a, b, c: integer; 4 limit: integer; 5 6 begin 7 write(' Dose to ano fragma twv orwv poy 8a ypologistouv: '); 8 readln(limit); 9 10 a := 1; 11 b := 1; 12 write(a, ' '); while b < limit do 15 begin 16 write(b, ' '); 17 c := a + b; 18 a := b; 19 b := c; 20 end; 21 end. 4.4 Εντολή repeat-until Ακόμα μια εντολή επανάληψης στην Pascal είναι η repeat-until. Η σύνταξή της είναι όπως παρακάτω: 1 repeat 2 entoli1; 3 entoli2; until synthiki; Η λειτουργία είναι η ακόλουθη: Οι εντολές που βρίσκονται από το repeat μέχρι το until εκτελούνται διαδοχικά. Στη συνέχεια υπολογίζεται η τιμής της συνθήκης. Αν η συνθήκη δεν είναι αληθής 8

9 τότε η ροή εκτέλεσης του προγράμματος μεταφέρεται πάλι στην αρχή του βρόχου, οι εντολές επαναλαμβάνονται διαδοχικά και ούτω καθεξής. Με άλλα λόγια ο βρόχος επαναλαμβάνεται μέχρι να ισχύσει η συνθήκη οπότε και τερματίζεται. Μια παρατήρηση σχετικά με αυτήν τη μορφή επανάληψης σε σχέση με το βρόχο while-do είναι ότι σε αυτήν την περίπτωση οι εντολές του βρόχου θα εκτελεστούν τουλάχιστον μία φορά. Μία δεύτερη παρατήρηση είναι ότι δεν χρειάζεται οι εντολές του βρόχου να κλειστούν μέσα σε ένα begin-end. Δείτε το πρόγραμμα υπολογισμού όρων της ακολουθίας Fibonacci με χρήση της repeat-until. 1 program fib; 2 var 3 a: integer; 4 b, c: integer; 5 limit: integer; 6 7 begin 8 a := 1; 9 b := 1; 10 write(' Dose to orio'); 11 readln( limit); repeat 14 c := a + b; 15 a := b; 16 b := c; 17 write(c, ' '); 18 until a + b > limit; writeln; 21 end. 4.5 Εντολή case Έχουμε δει ότι μπορούμε να σχηματίσουμε `αλυσίδες' από if και else εντολές προκειμένου να καλύψουμε πολλές διαφορετικές εναλλακτικές ενός ενδεχόμενου. Υποθέστε ότι πρέπει να γράψουμε ένα πρόγραμμα που εμφανίζει στην οθόνη το επίδομα παιδιών που παίρνει ένας υπάλληλος. Υποθέστε ότι η νομοθεσία λέει ότι ένας υπάλληλος με ένα παιδί παίρνει 50 ευρώ, με δύο 75, με τρία 100 και από κει και πέρα 50 ευρώ επιπλέον για κάθε παιδί. Αν χρησιμοποιούσαμε if θα έπρεπε να γράψουμε 1 if paidia = 0 then writeln ('0 euro') 2 else if paidia = 1 then writeln('50 euro') 3 else if paidia = 2 then writeln('75 euro') 4 else if paidia = 3 then writeln('100 euro') 5 else writeln (100 + (paidia -3) * 50, ' euro); Το παραπάνω είναι επιρρεπές σε λάθη. Για τέτοιες περιπτώσεις μπορούμε να χρησιμοποιήσουμε την εντολή case. Η συνταξή της είναι η ακόλουθη: 9

10 1 case expression of 2 value1: commands1; 3 value2: commands2; valuen: commandsn; 6 else commands; 7 end; Εκτελείται ως εξής: Εξετάζεται η τιμή της έκφρασης expression (μπορεί να είναι απλώς μία μεταβλητή ή και μία συνθετότερη έκφραση). Η έκφραση πρέπει να είναι βαθμωτού τύπου, δηλαδή integer, boolean ή char. Αν η τιμή της έκφρασης είναι ίση με value1 τότε εκτελούνται οι εντολές της γραμμής 2, αν είναι ίση με value2 εντολές της γραμμής 3, κτλ. Αν δεν ισχύει τίποτα από αυτά, τότε εκτελούνται οι εντολες της γραμμής 6, μετά το else. Το κομάτι του else δεν είναι υποχρεωτικό να υπάρχει. Αν σε κάποια περίπτωση υπάρχουν περισσότερες από μία εντολές που θέλουμε να εκτελεστούν θα πρέπει να τις περικλείσουμε σε ένα begin-end μπλοκ. Τελικά, το παράδειγμα με τα επιδόματα θα μπορούσε να γραφεί με μία case όπως παρακάτω: 1 case paidia of 2 1: writeln('50 euro'); 3 2: writeln('75 euro'); 4 3: writeln('100 euro'); 5 else writeln (100 + ( paidia - 3) * 50, ' euro'); 6 end; 5 Βασικοί τύποι στην Pascal Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το μέχρι και το 32767, real: παριστάνει αριθμούς κινητής υποδιαστολής από το μέχρι το τόσο θετικούς όσο και αρνητικούς, boolean: παριστάνει τις δύο τιμές της άλγεβρας Boole δηλαδή true και false, και char: παριστάνει χαρακτήρες π.χ. 'a', 'b', 'F' κτλ. Επίσης υπάρχουν και οι παρακάτω αριθμητικοί τελεστές: + Πρόσθεση, - αφαίρεση, / διαίρεση, * πολλαπλασιασμός, div ακέραια διαίρεση, 10

11 mod ακέραιο υπόλοιπο. οι οποίοι όταν εφαρμόζονται κατάλληλα παράγουν αριθμητικές εκφράσεις. Οι αριθμητικές εκφράσεις μπορούν να συγκριθούν με τους συσχετιστικούς τελεστές: < μικρότερο, > μεγαλύτερο, <= μικρότερο ή ίσο, >= μεγαλύτερο ή ίσο, = ίσο, <> διάφορο. Το απότελεσμα που προκύπτει είναι μια λογική τιμή true ή false, δηλαδή οι συσχετιστικοί τελεστές παράγουν τις λογικές τιμές ναι ή όχι. Οι λογικές τιμές true και false ή εκφράσεις που μπορούν να αποτιμηθούν ως true ή false μπορούν να συνδυαστούν με λογικούς τελεστές για να παράξουν πιο σύνθετες λογικές εκφράσεις. Αυτοί είναι: and Λογική σύζευξη, or λογική διάξευξη, not λογική άρνηση, xor λογική αποκλειστική διάζευξη. Παρακάτω θα δούμε αναλυτικά τα χαρακτηριστικά κάθε τύπου καθώς και το πώς μπορούν να χρησιμοποιηθούν μαζί με τελεστές για να προκύψουν εκφράσεις. 5.1 Ο τύπος integer Ο τύπος integer παριστάνει ακέραιους αριθμούς από το μέχρι και το Η ανάθεση άλλου τύπου τιμών σε ακέραιες μεταβλητές δεν επιτρέπεται. Δεν μπορεί κανείς δηλαδή να δηλώσει μία μεταβλητή a: integer και να της δώσει την τιμή 1.2, true ή 'c'. Ο μεταγλωττιστής μπορεί να εντοπίσει τέτοιου είδους λάθη και έτσι μπορούν να διορθωθούν πριν την εκτέλεση του προγράμματος. Είναι ευθύνη του προγραμματιστή όμως να ελέγχει ότι οι τιμές που αποθηκεύονται σε μία integer μεταβλητή είναι εντός ορίων, δηλαδή ανάμεσα στα και π.χ. οι εντολές του listing 1 1 a := 256 * 64; writeln(a); 2 a := a * 2; writeln(a); τυπώνουν στην οθόνη το εξής: Listing 1: Υπολογισμός εκτός ορίων 11

12 Ο λόγος είναι ότι το 256 * 64 κάνει όντως αλλά το επί 2 κάνει 32768, τιμή που είναι εκτός ορίων. Με τις ακέραιες μεταβλητές δεν μπορούμε να χρησιμοποιήσουμε τον τελεστή διαίρεσης / ο οποίος στην Pascal δίνει πάντα αποτέλεσμα σε δεκαδική μορφή⁷. Μεταξύ ακεραίων επιτρέπεται η χρήση του τελεστή ακέραιας διαίρεσης div ο οποίος επιστρέφει το ακέραιο πηλίκο μιας διαίρεσης. Αντίστοιχα ο τελεστής υπολοίπου mod επιστρέφει το υπόλοιπο της ακέραιας διαίρεσης. Υπενθυμίζουμε ότι για δύο ακέραιους αριθμούς a και b το πηλίκο c και το υπόλοιπο d της ακέραιας διαίρεσης του a με το b είναι τέτοια ώστε να ισχύει a = c b + d με το d τέτοιο ώστε 0 d < b. 5.2 Ο τύπος real Οποτεδήποτε θέλουμε να πραγματοποιήσουμε υπολογισμούς με ποσότητες οι οποίες δεν είναι κατ' ανάγκη ακέραιες (π.χ. τιμές σε ευρώ, βάρη ανθρώπων σε κιλά κτλ.) ή είναι τέτοιες που οι υπολογισμοί με αυτές θα μπορούσαν να υπερβαίνουν τα όρια των integer πρέπει να χρησιμοποιήσουμε real. Με τις real μεταβλητές μπορούμε να χρησιμοποιήσουμε όλους τους αριθμητικούς τελεστές εκτός από τους mod και div. Η εσωτερική αναπαράσταση μίας μεταβλητής real είναι κινητής υποδιαστολής και έτσι τυπώνεται στην οθόνη ή και αλλού όταν ζητηθεί. Π.χ. το listing 2 τυπώνει E E a := 42; writeln(a); 2 a := 420; writeln(a); Listing 2: Εκτύπωση real Αν θέλουμε να αλλάξουμε αυτήν τη μορφή μπορούμε να γράψουμε ως όρισμα της writeln αντί για το όνομα της μεταβλητής, το όνομα της μεταβλητής ακολουθούμενο από έναν προσδιοριστή της μορφής :x ή :x:y. Στη δεύτερη περίπτωση, η σημασιολογία είναι ότι θέλουμε να εκτυπωθεί η μεταβλητή με y δεκαδικά ψηφία και τουλάχιστον x ψηφία στο σύνολο. Για παράδειγμα το listing 3 τυπώνει Listing 3: Εκτύπωση real 1 a := 42; writeln(a:2:2); 2 a := 420; writeln(a:2:2); 3 a := 0.42; writeln(a:2:2); 4 a := 0.042; writeln(a:2:2); ⁷ακόμα και σε εκφράσεις που έχουν ακέραιο αποτέλεσμα όπως π.χ. 4/2. 12

13 Σημειώστε ότι μπορούμε να δηλώσουμε αριθμητικές σταθερές κινητής υποδιαστολής και να τις αναθέσουμε σε real μεταβλητές είτε με το γνωστό τρόπο `ακέραιες μονάδες-υποδιαστολή-δεκαδικά ψηφία' π.χ , είτε σε μορφή `βάση-e-εκθέτης' π.χ. 12e47 που σημαίνει , 0.1e-12 που σημαίνει κτλ. 5.3 Αριθμητικοί και συσχετιστικοί τελεστές σε integer και real Για να συνοψίσουμε σχετικά με τους αριθμητικούς τελεστές: Οι τελεστές +, - και * εφαρμόζονται τόσο σε integer όσο και real. Το αποτέλεσμα που δίνουν είναι integer αν και τα δύο ορίσματα είναι integer αλλιώς είναι real. Οι τελεστές div και mod εφαρμόζονται μόνο σε integer και δίνουν αποτέλεσμα πάντα integer. Ο τελεστής / εφαρμόζεται και σε integer και σε real αλλά το αποτέλεσμά του είναι πάντα real. Οι τελεστές σύγκρισης μπορούν να εφαρμοστούν σε δύο integer ή real αλλά και μεταξύ ενός integer και ενός real. Το αποτέλεσμα που προκύπτει είναι μία λογική τιμή, true ή false. Χρειάζεται ιδιαίτερη προσοχή όταν συγκρίνουμε δύο μεταβλητές τύπου real. Γνωρίζουμε ότι η αναπαράσταση μη-ακέραιων αριθμών στην Pascal αλλά και στους υπολογιστές γενικότερα είναι εκείνη της κινητής υποδιαστολής. Το πλήθος των αριθμών που μπορούν να αναπαρασταθούν είναι πεπερασμένο. Οπότε προφανώς δεν μπορούμε να αναπαραστήσουμε σε έναν υπολογιστή ούτε καν τους ρητούς αριθμούς από το 0 μέχρι το 1 οι οποίοι είναι άπειροι. Οπότε πρακτικά οι αριθμοί στρογγυλεύονται σε κάποιον κοντινό τους με αρκετά μεγάλη ακρίβεια ώστε αυτό να μη δημιουργεί πρόβλημα στις περισσότερες εφαρμογές. Δείτε για παράδειγμα το παρακάτω πρόγραμμα: 1 program compare; 2 var 3 a, b, c: real; 4 begin 5 a := 100; 6 c := 100; 7 b := 1e-24; 8 a := a + b; 9 if a = c then 10 writeln('a equals c'); 11 end. Το πρόγραμμα δίνει στις μεταβλητές a και c την τιμή 100. Μετά προσθέτει στην a την τιμή και στη συνέχεια ελέγχει αν οι δύο μεταβλητές είναι ίσες. Αν τρέξετε το πρόγραμμα θα δείτε ότι θεωρεί τις δύο μεταβλητές ίσες. Στην πράξη δεν πρέπει να χρησιμοποιούμε τον τελεστή = για να συγκρίνουμε μεταβλητές τύπου real παρόλο που αυτό είναι νόμιμο (και καλά κάνει και είναι) στην Pascal. Θα δούμε παρακάτω έναν πρακτικό τρόπο για να ελέγχουμε αν δύο αριθμοί είναι `ίσοι'. 5.4 Ο τύπος boolean Οι μεταβλητές τύπου boolean μπορούν να αναπαριστούν τις δύο τιμές της άλγεβρας Boole: true και false. Σε μεταβλητές αυτού του τύπου δεν μπορεί να χρησιμοποιηθεί κανένας από τους αριθμητικούς τελεστές. Μπορούν όμως να χρησιμοποιηθούν οι συσχετιστικοί τελεστές όπου θεωρείται 13

14 ότι false < true. Οι αριθμητικοί τελεστές εφαρμόζονται σε αριθμητικές ποσότητες και δίνουν ως αποτέλεσμα νέες αριθμητικές ποσότητες. Με τον ίδιο τρόπο εφαρμόζονται και στις λογικές τιμές οι λογικοί τελεστές and (και, σύζευξη), or (ή, διάζευξη) και not (όχι, άρνηση). Τα αποτελέσματα είναι και αυτά λογικές τιμές. Οι πράξεις and και or παίρνουν δύο ορίσματα, ενώ η not μόνο ένα. Ορίζονται ως εξής: Το αποτέλεσμα της a and b είναι true αν και μόνο αν είναι true και το a και το b (αν δηλαδή έστω ένα από τα a ή b είναι false τότε και το αποτέλεσμα είναι false). Το αποτέλεσμα της a or b είναι false αν και μόνο αν και τα δύο ορίσματα είναι false (αν έστω και ένα είναι true τότε και το αποτέλεσμα είναι true). Το αποτέλεσμα της not a είναι το αντίθετο της τιμής a. Τα παραπάνω συνοψίζονται στον παρακάτω πίνακα αληθείας: a b a and b a or b not a true true true true false true false false true false false true false true true false false false false true Θυμίζουμε ότι οι λογικές τιμές μπορούν να χρησιμοποιούνται όποτε το συντακτικό της Pascal αναμένει μία συνθήκη, δηλαδή στις εντολές if, repeat-until και while-do. 5.5 Ο τύπος char Οι μεταβλητές τύπου char μπορούν να αποθηκεύουν έναν και μόνο εκτυπώσιμο χαρακτήρα. Με τον ίδιο τρόπο που μπορούμε να δηλώσουμε μία μεταβλητή π.χ. τύπου integer και να της αναθέσουμε τιμή κάπως έτσι 1 var i: integer; 2 begin 3 i := 5; μπορούμε να δηλώσουμε μία μεταβλητή τύπου char και να της αναθέσουμε ως τιμή έναν χαρακτήρα, π.χ. κάπως έτσι: 1 var a: char; 2 begin 3 a := 'j'; Στο συγκεκριμένο παράδειγμα το όνομα της μεταβλητής είναι a και της ανατίθεται η τιμή 'j'. Αν τυπώσουμε τη μεταβλητή a του παραπάνω παραδείγματος με την εντολή writeln(a); στην οθόνη θα εμφανιστεί ο χαρακτήρας j (χωρίς εισαγωγικά). Τα μονά εισαγωγικά που χρησιμοποιήθηκαν στην εντολή ανάθεσης a := 'j' δεν είναι μέρος της τιμής της μεταβλητής αλλά χρησιμοποιούνται για να μπορέσει η Pascal να καταλάβει ότι πρόκειται για έναν χαρακτήρα και όχι για όνομα μεταβλητής. Αν δηλαδή λέγαμε απλώς a := j; τότε η Pascal θα θεωρούσε ότι θέλουμε να αναθέσουμε στη μεταβλητή a την τιμή της μεταβλητής j. Δείτε επίσης και το παράδειγμα που ακολουθεί: 1 program char1; 2 var 3 a,b: char; 4 begin 14

15 5 a := 'a'; 6 writeln('h metavliti a exei timn ', a); 7 b:= 'c'; 8 writeln('h metavliti v exei timn ', b); 9 end. Στις γραμμές 5 και 6 ανατίθεται η τιμή 'a' στη μεταβλητή a και στη συνέχεια τυπώνεται ένα μήνυμα 'H metavliti a exei timn ' και τέλος η τιμή της μεταβλητής a. Αυτό που πρέπει να γίνει κατανοητό είναι το όνομα της μεταβλητής, η τιμή που αυτή παίρνει και το μήνυμα που τυπώνεται στην οθόνη είναι τρία διαφορετικά πράγματα. Στις γραμμές 6 και 7 έχουμε τη μεταβλητή b η οποία όμως παίρνει την τιμή 'c'. Στη γραμμή 7 κατά λάθος το μήνυμα που εκτυπώνεται είναι 'H metavliti v exei timn ' αντί για 'H metavliti b exei timn ' αλλά αυτό δεν επηρεάζει την εκτέλεση του προγράμματος γιατί πρόκειται απλώς για ένα μήνυμα το οποίο η Pascal δεν ερμηνεύει ούτε ελέγχει. Τελικά η έξοδος του παραπάνω προγράμματος είναι H metavliti a exei timn a H metavliti v exei timn c Όπως είπαμε οι μεταβλητές τύπου char αποθηκεύουν χαρακτήρες, έτσι αν κάποια μεταβλητή a είναι τύπου char μπορούμε να δώσουμε την παρακάτω εντολή a:='e' αλλά όχι a:=101. Αυτό μπορεί να είναι άβολο καθώς γνωρίζουμε ότι οι χαρακτήρες αποθηκεύονται ως αριθμοί στη μνήμη του υπολογιστή σύμφωνα με τον κώδικα ASCII. Δηλαδή, η εντολή a:='e' έχει ως αποτέλεσμα την αποθήκευση της τιμής 101 στη θέση μνήμης που αντιστοιχεί στη μεταβλητή a παρόλο που δεν μπορούμε να αναθέσουμε απευθείας την τιμή 101 στην a με την εντολή a:=101. Η Pascal μας δίνει τη δυνατότητα να 'μετατρέψουμε' έναν χαρακτήρα στον αντίστοιχο αριθμό και το αντίστροφο. Συγκεκριμένα η συνάρτηση ord(x) παίρνει ως παράμετρο έναν χαρακτήρα και επιστρέφει τον κωδικό που αντιστοιχεί σε αυτόν. Αντίστροφα, η συνάρτηση chr(x) παίρνει ως παράμετρο έναν αριθμό και επιστρέφει τον χαρακτήρα που αντιστοιχεί σε αυτόν. Έτσι θα μπορούσαμε να γράψουμε ένα βρόχο που τυπώνει όλα τα κεφαλαία γράμματα του αγγλικού αλφαβήτου κάπως έτσι: 1 program example; 2 var 3 a: char; 4 begin 5 a := 'A'; 6 repeat 7 write(a); 8 a := chr(ord(a) + 1); 9 until a > 'Z'; Η εντολή της γραμμής 8 αναθέτει στη μεταβλητή a τον χαρακτήρα που βρίσκεται αμέσως μετά στον πίνακα ASCII από εκείνον που είχε στην τελευταία επανάληψη. Για παράδειγμα αν η a έχει το χαρακτήρα E (με κωδικό 69), αρχικά εκτελείται η ord(a) που επιστρέφει την τιμή 69. Στη συνέχεια προστίθεται σε αυτήν το 1 και προκύπτει 70. Οπότε εκτελείται η chr(70) που επιστρέφει το χαρακτήρα F. Μπορεί κανείς να παρατηρήσει ότι οι συναρτήσεις chr και ord είναι αντίστροφες δηλαδή για οποιοδήποτε χαρακτήρα σε μια μεταβλητή a η εντολή chr(ord(a)) επιστρέφει τον ίδιο 15

16 χαρακτήρα και ανάλογα για οποιοδήποτε αριθμό n μέσα στα όρια η εντολή ord(chr(n)) επιστρέφει τον ίδιο τον αριθμό. Ένα άλλο ζευγάρι αντίστροφων συναρτήσεων είναι οι succ και pred. Και οι δύο παίρνουν ως παράμετρο ένα χαρακτήρα και επιστρέφουν έναν άλλον. Η succ επιστρέφει τον επόμενο χαρακτήρα ενώ η pred τον προηγούμενο. 5.6 Ενσωματωμένες (built-in) συναρτήσεις της Pascal Η Pascal παρέχει κάποιες έτοιμες συναρτήσεις στους προγραμματιστές ώστε να κάνει τη ζωή τους ευκολότερη. Οι συναρτήσεις αυτές δέχονται μία παράμετρο και επιστρέφουν μία τιμή. Στον πίνακα 1 αναγράφονται μερικές από αυτές (οι λεγόμενες αριθμητικές) και η λειτουργία που εκτελούν. Όλες δέχονται ως παραμέτρους τόσο real όσο και integer. Οι abs και sqr επιστρέφουν είτε real είτε integer ανάλογα με τον τύπο που τους δόθηκε ως παράμετρος. Όλες οι άλλες επιστρέφουν real. abs(x) sqr(x) sin(x) cos(x) exp(x) ln(x) sqrt(x) arctan(x) Πίνακας 1: Αριθμητικές συναρτήσεις Απόλυτη τιμή της ποσότητας x Το x στο τετράγωνο Ημίτονο του x Συνημίτονο του x Ο αριθμός e υψωμένος στη x-οστή δύναμη Φυσικός λογάριθμος του x Τετραγωνική ρίζα του x Τόξο εφαπτομένης του x Επίσης υπάρχουν και οι συναρτήσεις μεταφοράς trunc(x) και round(x). Αυτές δέχονται ορίσματα τύπου real και επιστρέφουν integer. Η πρώτη είναι η λεγόμενη συνάρτηση ακέραιου μέρους, δηλαδή επιστρέφει τον αριθμό που της δίνεται ως όρισμα χωρίς τα δεκαδικά ψηφία. Π.χ. η trunc(3.5) επιστρέφει 3, η trunc(2.9) επιστρέφει 2, η trunc(-3.7) επιστρέφει -3. Η δεύτερη στρογγυλεύει το όρισμά της στον πλησιέστερο ακέραιο. Π.χ. η round(3.7) επιστρέφει 4, η round(3.2) επιστρέφει 3 και η round(-3.7) επιστρέφει -4. Οι τιμές που είναι στη μέση στρογγυλεύονται προς το μεγαλύτερο ακέραιο κατ' απόλυτη τιμή, δηλαδή η round(3.5) επιστρέφει 4 και η round(-3.5) επιστρέφει Σύνθετοι τύποι Οι τύποι που είδαμε μέχρι τώρα ονομάζονται απλοί. Αυτοί παρέχονται από την Pascal και δε γίνεται να αναλυθούν σε απλούστερους. Εκτός από αυτούς υπάρχουν και οι λεγόμενοι σύνθετοι οι οποίοι προκύπτουν με κάποιο συνδυασμό άλλων τύπων. Σύνθετοι τύποι είναι οι πίνακες, οι συμβολοσειρές (strings), τα σύνολα, οι εγγραφές (records)⁸. Θα δούμε λίγο πιο αναλυτικά τους πίνακες και τα strings. ⁸Υπάρχουν και οι δείκτες με τους οποίους δε θα ασχοληθούμε 16

17 6.1 Πίνακες (arrays) Ένας πίνακας είναι μια γραμμική διάταξη ομοειδών μεταβλητών. Μέχρι στιγμής είδαμε ότι για κάθε μεταβλητή που θέλουμε να χρησιμοποιήσουμε πρέπει να δηλώσουμε το όνομά της και τον τύπο της. Αυτό δεν είναι πρακτικά δυνατό όταν πρέπει να χειριστούμε μεγάλο αριθμό τέτοιων μεταβλητών. Οι πίνακες μας δίνουν τη δυνατότητα να δεσμεύσουμε χώρο μνήμης για όσες μεταβλητές θέλουμε με μία μόνο δήλωση. Σε αυτή τη δήλωση δίνουμε και το όνομα του πίνακα το οποίο χρησιμοποιούμε για να αναφερόμαστε σε αυτόν. Για να προσπελάσουμε ένα συγκεκριμένο από τα πολλά στοιχεία του πίνακα δίνουμε τον αύξοντα αριθμό του μέσα σε αγκύλες. Μία δήλωση πίνακα θα μπορούσε να είναι αυτή: var p: array[1..10] of integer; η οποία δηλώνει έναν πίνακα p με δέκα ακέραιους ή αυτή: var r: array[30..40] of real η οποία δηλώνει έναν πίνακα r ο οποίος περιέχει πραγματικούς αριθμούς με αύξοντες από 30 έως και 40. Στη γενική της μορφή μία δήλωση πίνακα έχει τη μορφή 1 name: array[a.. b] of typename; όπου name είναι το όνομα του πίνακα, a είναι ο αύξοντας αριθμός του πρώτου στοιχείου του πίνακα, b είναι ο αύξοντας του τελευταίου και περιέχει στοιχεία τύπου typename. Το παρακάτω παράδειγμα δηλώνει έναν πίνακα 10 ακεραίων, ζητάει από το χρήστη να δώσει τιμή στον κάθε έναν από αυτούς με ένα βρόχο και στη συνέχεια βρίσκει το μικρότερο από αυτούς. 1 program example; 2 var 3 p: array [1..10] of integer; 4 i: integer; 5 mik: integer; 6 7 begin 8 for i := 1 to 10 do 9 begin 10 write('dose ton #', i, ' ari8mo: '); 11 readln(p[i]); 12 end; mik := p[1]; 15 for i := 2 to 10 do 16 begin 17 if p[i] < mik then 18 mik := p[i] 19 end; 20 writeln('o mikroteros eivai o ', mik); 21 readln; 22 end. Στο βρόχο των γραμμών 8 έως 11 η μεταβλητή i παίρνει διαδοχικά τις τιμές από 1 έως και 10 και σε κάθε επανάληψη δίνεται από το χρήστη με τη readln της γραμμής 11 μία τιμή στη μεταβλητή p[1], p[2], κοκ. Δηλαδή χρησιμοποιούμε τα p[i] όπως θα χρησιμοποιούσαμε οποιοδήποτε όνομα ακέραιας μεταβλητής. 17

18 Στην πράξη, δε χρησιμοποιούμε δηλώσεις πινάκων της μορφής p: array[a..b] of typename αλλά ορίζουμε ένα νέο όνομα τύπου όπως παρακάτω: 1 type 2 myarray = array [1..10] of integer; 3 mybigarray = array [ ] of real; Τα ονόματα που βρίσκονται αριστερά από το ίσον είναι νέα ονόματα τύπων. Η περιγραφή τους είναι αυτό που βρίσκεται δεξιά από το ίσον. Δηλαδή στο παραπάνω παράδειγμα λέμε ότι το όνομα myarray είναι ένας πίνακας ακεραιών με δείκτες από 1 έως και 10 και το mybigarray είναι ένας πίνακας αριθμών κινητής υποδιαστολής με δείκτες από 1 έως και Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε τα νέα ονόματα τύπων σε δηλώσεις μεταβλητών όπως χρησιμοποιούμε και τα ονόματα των ενσωματωμένων τύπων της Pascal (integer, boolean κτλ.). Γράφουμε δηλαδή 1 var 2 p: myarray; 3 q: myarray; 4 r: mybigarray; 5 i, j, k: integer; για να πούμε ότι ο p και ο q είναι πίνακες 10 ακεραιών, ενώ ο r είναι πίνακας 1000 κινητής υποδιαστολής. 6.2 Strings Γνωρίζουμε ότι ένας χαρακτήρας μπορεί να αποθηκευτεί σε ένα byte με κατάλληλη κωδικοποίηση και αυτό ακριβώς κάνει ο τύπος char της Pascal. Συνήθως βέβαια η επεξεργασια κειμένου σε έναν υπολογιστή αφορά πολυπληθή σύνολα χαρακτήρων διατεταγμένων γραμμικά. Προκειμένου να παραστήσουμε κέιμενα θα μπορούσαμε να χρησιμοποιήσουμε πίνακες χαρακτήρων. Επειδή αυτή είναι μια πολύ συνηθισμένη εφαρμογή, στις γλώσσες προγραμματισμού συναντάμε σύνθετους τύπους που βοηθούν στην αποθήκευση σειρών χαρακτήρων, ή αλλιώς συμβολοσειρών. Στην Pascal ο ανάλογος τύπος είναι ο string. Οι μεταβλητές τύπου string μπορούν να πάρουν ως τιμές χαρακτήρες κλεισμένους μέσα σε μονά εισαγωγικά, π.χ. s := 'This is a string'. Μπορούμε να δηλώσουμε μεταβλητές τύπου string όπως τους άλλους τύπους: var s:string;. Στην standard Pascal ο τύπος string είναι συνήθως ένας πίνακας χαρακτήρων και συγκεκριμένα κάτι σαν αυτό: array[0..255] of char αν και γενικά εξαρτάται από την υλοποίηση. Από τους 256 χαρακτήρες που υπάρχουν στην παραπάνω δομή ο πρώτος που βρίσκεται στη θέση 0, παριστάνει το μήκος της συμβολοσειράς και οι υπόλοιποι από τη θέση 1 και έπειτα, παριστάνουν τον αντίστοιχο χαρακτήρα της συμβολοσειράς. Για παράδειγμα το πρόγραμμα 4 θα τύπωνε στην οθόνη το παρακάτω: Mikos: 6 Xaraktiras 1: H Xaraktiras 2: e Το 6 είναι το μήκος της συμβολοσειράς 'Hello.'. Παρατηρήστε ότι είναι αποθηκευμένο στη θέση s[0], την πρώτη θέση του array. Θυμηθείτε από την ενότητα για τους χαρακτήρες ότι δε θα αρκούσε στη γραμμή 5 να τυπώσουμε το s[0] γιατί αυτό είναι τύπου char οπότε η Pascal δε 18

19 1 program strex1; 2 var s: string; 3 begin 4 s := 'Hello.'; 5 writeln('mikos: ', ord(s[0])); 6 writeln('xaraktiras 1: ', s[1]); 7 writeln('xaraktiras 2: ', s[2]); 8 end. Listing 4: Παράδειγμα string θα τύπωνε τον αριθμό 6 αλλά το χαρακτήρα με ASCII κωδικό 6. Για να πάρουμε το s[0] ως αριθμό θα πρέπει να χρησιμοποιήσουμε τη συνάρτηση ord. Επίσης παρατηρήστε ότι ο πρώτος χαρακτήρας του string είναι ο s[1], ο δεύτερος ο s[2] κοκ. Μπορούμε να επεξεργαστούμε τις συμβολοσειρές πραγματοποιώντας τους χειρισμούς που επιτρέπονται στους επιμέρους χαρακτήρες τους. Για παράδειγμα μπορούμε να μετατρέψουμε τους κεφαλαίους χαρακτήρες μιας συμβολοσειράς σε πεζούς με μία εντολή σαν αυτήν: 1 for i := 1 to length(s) do 2 if (s[i] >= 'A') and (s[i] <= 'Z') then 3 s[i] := chr(ord(s[i]) - ord('a') + ord('a')); Επειδή πολλές τέτοιου τύπου πράξεις είναι συνηθισμένες στον προγραμματισμό, συνήθως οι υλοποιήσεις της Pascal δίνουν βιβλιοθήκες με τέτοιες συναρτήσεις. Ενδεικτικά αναφέρουμε κάποιες που ειναι διαθέσιμες στη FreePascal. length(s) Επιστρέφει το μήκος της συμβολοσειράς s. pos(sub, str) Επιστρέφει τη θέση στην οποία η συμβολοσειρά sub εμφανίζεται μέσα στην str ή 0 αν δεν περιέχεται. Για παράδειγμα η pos('is', 'This looks good'); επιστρέφει 3. copy(s, i, c) Επιστρέφει το κομμάτι της συμβολοσειράς s που ξεκινάει από την i-οστή θέση της και έχει μήκος c χαρακτήρες. Π.χ. η copy('the magic wand', 5, 3) επιστρέφει 'mag'. Κατά κανόνα θα πρέπει να ανατρέξετε στην τεκμηρίωση των βιλιοθηκών της συγκεκριμένης υλοποίησης του μεταγλωττιστή σας για να βρείτε τις συναρτήσεις και διαδικασίες που διατίθενται. Για παράδειγμα η FreePascal δίνει αυτές που φαίνονται στην ιστοσελίδα docs-html/ rtl/ sysutils/ stringfunctions.html (εδώ). 6.3 Records Είδαμε ότι με τους ενσωματωμένους βασικούς τύπους της Pascal μπορούμε να αναπαραστήσουμε διάφορους τύπους δεδομένων. Δεν έχουμε δει όμως μέχρι στιγμής αν υπάρχει η δυνατότητα να συσχετίσουμε κάποιους μεταξύ τους ώστε να αποτελούν μία οντότητα. Ας υποθέσουμε, για παράδειγμα, ότι θέλουμε να χειριστούμε καρτέλες σπουδαστών μίας σχολής. Θα χρειαζόμασταν ένα string για το επώνυμο, ένα για το όνομα, ένα για τη διεύθυνση, ένα πίνακα ακεραίων που να αποθηκεύονται οι 19

20 βαθμοί του σπουδαστή για κάθε μάθημα κοκ. Αν είχαμε πολλά τέτοια στοιχεία, θα έπρεπε να τα αποθηκεύσουμε σε αντίστοιχους πίνακες. Και αν θέλαμε να τους ταξινομήσουμε με τον αλγόριθμο της φυσαλίδας σε αλφαβητική σειρά θα μπορούσαμε να συγκρίνουμε τα αντίστοιχα επώνυμα. Στην περίπτωση όμως που θα έπρεπε να γίνει ανταλλαγή μεταξύ δύο γειτονικών επωνύμων, θα έπρεπε για να διατηρηθεί η σωστή σειρά και στους υπόλοιπους πίνακες (με το όνομα, τη διεύθυνση κτλ.) να κάνουμε την αντίστοιχη ανταλλαγή σε κάθε έναν από αυτούς. Όσο περισσότερα ήταν αυτά τα στοιχεία τόσο περισσότερες επιπλέον πράξεις θα έπρεπε να κάνουμε. Αυτό θα ήταν και κουραστικό αλλά και επιρρεπές σε λάθη. Θα ήταν ολικό αν μπορούσαμε να ομαδοποιήσουμε όλα τα στοιχεία που είχαν να κάνουν με μία καρτέλα σε έναν τύπο. Αυτή τη δυνατότητα δίνεται με τη χρήση των record στην Pascal. Δείτε το listing 5. 1 program recex; 2 type 3 kartela = record 4 eponymo: string; 5 onoma: string; 6 xronologia: integer; 7 end; Listing 5: Παράδειγμα record 8 9 var 10 a, b: kartela; 11 begin 12 a. eponymo := 'Karamanlis'; 13 a. onoma := 'Konstantinos'; 14 a. xronologia := 1975; 15 writeln(a. eponymo); 16 writeln(a. onoma); 17 writeln(a. xronologia); b := a; 20 writeln(b. eponymo); 21 writeln(b. onoma); 22 writeln(b. xronologia); 23 end. Στις γραμμές 3-7, στο τμήμα type του προγράμματος δηλώνουμε έναν νέο σύνθετο τύπο τον οποίο ονομάζουμε kartela. Αυτός ο τύπος είναι ένα record (εγγραφή) η οποία αποτελείται από τρία επιμέρους στοιχεία: δύο strings με ονόματα eponymo και onoma και έναν integer με όνομα χρονολογία. Στο εξής μπορούμε να δηλώνουμε μεταβλητές τύπου kartela όπως και κάνουμε στη γραμμή 10 που δηλώνεται η μεταβλητή a. Για να προσπελάσουμε τα επιμέρους στοιχεία μιας μεταβλητής τύπου record γράφουμε το όνομα της μεταβλητής, μία τελεία και μετά το όνομα του επιμέρους στοιχείου που θέλουμε να προσπελάσουμε όπως στις γραμμές και Το πλεονέκτημα της χρήσης records φαίνεται στη γραμμή 19, όπου με μία εντολή b := a; η μεταβλητή b παίρνει την τιμή της μεταβλητής a με την έννοια ότι όλα τα επιμέρους στοιχεία της b παίρνουν την ίδια τιμή με τα 20

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

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

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

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

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

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

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

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

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

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

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

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

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

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων Κεφάλαιο 1 Αρχή ήμισυ παντός. Πλάτων, 427-347 π.χ., Φιλόσοφος Τι θα μάθουμε σήμερα: -AND, OR, NOT -Ενσωματωμένες συναρτήσεις -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD -Προτεραιότητα πράξεων 1 Λογικές

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

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

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

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

ΜΕΡΟΣ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ερώτηση βαθμολογείται με έξι μονάδες.

ΜΕΡΟΣ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ερώτηση βαθμολογείται με έξι μονάδες. ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τετάρτη, 4 Ιουνίου 2008 07:30

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

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

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

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

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

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

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

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

Pascal Βασικοί τύποι δεδοµένων

Pascal Βασικοί τύποι δεδοµένων Pasal Βασικοί τύποι δεδοµένων «ΜΗ ΕΝ ΠΟΛΛΟΙΣ ΟΛΙΓΑ ΛΕΓΕ, ΑΛΛ ΕΝ ΟΛΙΓΟΙΣ ΠΟΛΛΑ» Σηµαίνει: "Μη λες πολλά χωρίς ουσία, αλλά λίγα που να αξίζουν πολλά" (Πυθαγόρας) Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΕΥΤΕΡΑ 16 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΕΞΕΤΑΣΕΙΣ ΓΙΑ ΤΑ ΑΝΩΤΕΡΑ ΚΑΙ ΑΝΩΤΑΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΙΔΡΥΜΑΤΑ 2005 ΠΛΗΡΟΦΟΡΙΚΗ ΛΥΣΕΙΣ 1 ΜΕΡΟΣ Α 1. Αρχή Διάβασε

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

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛHNIΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 28 ΜΑΪΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΤΡΙΤΗ 2 ΙΟΥΝΙΟΥ 2009 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: 06 Ιουνίου 2014 08:00 11:00 ΟΔΗΓΙΕΣ:

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

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

Μονάδες 4. β. x=20 και y=10

Μονάδες 4. β. x=20 και y=10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΤΡΙΤΗ 4 ΙΟΥΝΙΟΥ 2013 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 ΑριθμητικέςΠράξειςσεΑκέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

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

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

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

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

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ»

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1. Πήγαινε στο μενού Αρχείο και επίλεξε Άνοιγμα. Άνοιξε το αρχείο sample.x. Ανοίγουν δυο παράθυρα. Παρατήρησε τα ονόματα τους: Πηγαίος κώδικας... και

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

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

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ / ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ / ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΟΥΛΙΟΥ 2015 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 ΘΕΜΑ Α

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

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και

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

7. Βασικά στοιχεία προγραμματισμού

7. Βασικά στοιχεία προγραμματισμού 7. Βασικά στοιχεία προγραμματισμού 146 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Εισαγωγή Κάθε γλώσσα προγραμματισμού, όπως αναφέρθηκε, έχει το δικό της λεξιλόγιο και τα προγράμματα της ακολουθούν

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

Ενδεικτική περιγραφή μαθήματος

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

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

Τύποι, Σταθερές και Μεταβλητές

Τύποι, Σταθερές και Μεταβλητές ΚΕΦΑΛΑΙΟ 3 Τύποι, Σταθερές και Μεταβλητές Η έννοια της μεταβλητής Γενικά μπορούμε να πούμε ότι η έννοια της μεταβλητής στον προγραμματισμό είναι άμεσα συνδεδεμένη με την έννοια που αυτή έχει σε μαθηματικό

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Program cinema (input, output);

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

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

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

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

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

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

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

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

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

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

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

7. Βασικά στοιχεία προγραµµατισµού.

7. Βασικά στοιχεία προγραµµατισµού. 7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος

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

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

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

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

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

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

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

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

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

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

Pascal. 1. Εισαγωγή. 1.1 0 Υπολογιστής

Pascal. 1. Εισαγωγή. 1.1 0 Υπολογιστής 1. Εισαγωγή 1.1 0 Υπολογιστής Μέχρι πρόσφατα ο υπολογιστής εθεωρείτο σαν εκτελεστής πράξεων σε αριθμητικές τιμές. Με τον ερχομό της πληροφορικής, o ρόλος του υπολcγιστή έγινε πιο σημαντικός αφού σήμερα

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΘΕΜΑ Α Α1. Δίνονται τα παρακάτω τμήματα αλγορίθμου σε φυσική γλώσσα. 1. Αν το ποσό των αγορών(ποσο_αγορων) ενός πελάτη είναι μεγαλύτερο

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

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

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java 1 ο & 2 o ΕΠΙΠΕΔΟ Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 1/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού

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

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

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

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ http://edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ http://edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΠΕΜΠΤΗ 7 ΙΟΥΝΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

Προτεινόμενες λύσεις

Προτεινόμενες λύσεις ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2010 Προτεινόμενες λύσεις Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Σάββατο,

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

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10) ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08 / 02 / 2015 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ Γ.ΝΙΤΟΔΑΣ ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις

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

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

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

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

http://users.auth.gr/~ppi/mathematica

http://users.auth.gr/~ppi/mathematica http://users.auth.gr/~ppi/mathematica ΜΑΘΗΜΑΤΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΡΙΘΜΗΤΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ Γλώσσες Προγραμματισμού Fortran, C++, Java,. ΑΛΓΕΒΡΙΚΟΙ ή ΣΥΜΒΟΛΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ Computer Algebra Systems Mathematica,

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

Αρχιτεκτονική Υπολογιστών Ι

Αρχιτεκτονική Υπολογιστών Ι Αρχιτεκτονική Υπολογιστών Ι ΥΠΟΔΕΙΞΕΙΣ ΓΙΑ ΤΗ ΛΥΣΗ ΤΩΝ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης

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

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 2.1 Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 1) Η τιμή του χ είναι,χ Ητιμή του χ είναι 5 Ηεντολή εμφανίζει ότι υπάρχει στα διπλά εισαγωγικά ως έχει.

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

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι Α λ γ ό ρ ι θ μ ο ι Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση +,-,*,/ ύψωση σε δύναμη ^ πηλίκο ακέραιης διαίρεσης δύο ακεραίων αριθμών div υπόλοιπο

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

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

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

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

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

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

Προγραμματισμός Ι. Ασκήσεις. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

Προγραμματισμός Ι. Ασκήσεις. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών Τμ. Μηχανικών Πληροφορικής Τ.Ε. Άρτα, Μάιος 2015 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ ΜΕΡΟΣ Α 1. ΑΡΧΗ ιάβασε vath1, vath2 syn_vath

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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