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

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

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

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL (ΤΕΥΧΟΣ 1) Περιέχει: Εισαγωγικές Έννοιες Η οµή Ακολουθίας (Θεωρία & Ασκήσεις) Η οµή Επιλογής (Θεωρία & Ασκήσεις) Η οµή For...to... do... (Θεωρία & Ασκήσεις) ΠΕΙΡΑΙΑΣ ΑΠΡΙΛΙΟΣ 2003

2 Αντί προλόγου Ερώτηση 1: «εν έχω και τις καλύτερες σχέσεις» µε τους υπολογιστές. Μήπως θα δυσκολευτώ αρκετά στο συγκεκριµένο µάθηµα; Απάντηση: Φυσικά και όχι. Το συγκεκριµένο µάθηµα δεν έχει κανένα τέτοιο προαπαιτούµενο. Το µόνο που χρειάζεται είναι ΛΟΓΙΚΗ και εφαρµογή του «δόγµατος»: Think First, Code Later. Κοινώς, πρώτα σκέφτοµαι και έπειτα ξεκινώ να γράφω εντολές. Υπάρχουν πάρα πολλές περιπτώσεις όπου φοιτητές «ξεκίνησαν από το µηδέν» και κατάφεραν να ανταποκριθούν (αφού «κατέβαλλαν φιλότιµες και ειλικρινείς προσπάθειες»!!!) στις απαιτήσεις του µαθήµατος. Ερώτηση 2: Άκουσα ότι η Pascal είναι πεπαλαιωµένη γλώσσα κι ότι σήµερα χρησιµοποιούνται πιο σύγχρονες γλώσσες προγραµµατισµού. Γιατί λοιπόν διδασκόµαστε κάτι τέτοιο; Απάντηση: Όντως η Pascal είναι µια αρκετά παλιά γλώσσα. Και σίγουρα υπάρχουν πολύ πιο σύγχρονες γλώσσες σήµερα. Όµως η Pascal, και γενικά ο δοµηµένος τρόπος προσέγγισης και επίλυσης προβληµάτων που κάποιος µπορεί να αποκτήσει µέσα από αυτό το µάθηµα, αποτελούν ισχυρό γνωστικό υπόβαθρο για την εκµάθηση σύγχρονων γλωσσών προγραµµατισµού (όπως είναι η Visual Basic, η Delphi και άλλες). 2

3 ΕΝΟΤΗΤΑ 1: ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Μέρη ενός προγράµµατος Κάθε πρόγραµµα (απλό ή σύνθετο) αποτελείται από 3 µέρη: Μέρος 1: Επικεφαλίδα Προγράµµατος (Heading) Το πρώτο µέρος (το οποίο είναι και το πιο απλό) περιλαµβάνει την επικεφαλίδα του προγράµµατος. Απλώς χρησιµοποιούµε την δεσµευµένη λέξη program και στη συνέχεια ακολουθεί (στην ίδια γραµµή) το όνοµα του προγράµµατος. Μετά το τέλος του ονόµατος (στην ίδια γραµµή) ακολουθεί το ελληνικό ερωτηµατικό. Π.χ. program DIAVASMA_1; Μέρος 2: ήλωση Μεταβλητών (Declaration Part) Το δεύτερο µέρος είναι το τµήµα δήλωσης των µεταβλητών του προγράµµατος. Σε αυτό γράφουµε όλες τις µεταβλητές εισόδου (κοινώς δεδοµένα) που πρόκειται να χρησιµοποιηθούν όπως επίσης όλες τις µεταβλητές εξόδου (κοινώς αποτελέσµατα) αλλά και τις λοιπές µεταβλητές (βοηθητικές) οι οποίες θα χρησιµοποιηθούν. Σηµειώνεται ότι µε τον όρο δεδοµένα ενός προγράµµατος εννοούµε τις τιµές των µεταβλητών που θα χρειαστεί να πληκτρολογήσει ο χρήστης του προγράµµατος. Με τον όρο αποτελέσµατα εννοούµε τις τιµές των µεταβλητών που θα πρέπει να υπολογίσει και να εµφανίσει ή να εκτυπώσει το πρόγραµµα. Με τον όρο βοηθητικές εννοούµε εκείνες τις µεταβλητές οι οποίες δεν είναι ούτε δεδοµένα αλλά ούτε και αποτελέσµατα. Είναι όµως απαραίτητες διότι συµµετέχουν στην εξαγωγή των αποτελεσµάτων. Ο όρος βοηθητικές και η τεράστια χρησιµότητα τους κατά την ανάπτυξη αλγορίθµων παρουσιάζεται αναλυτικά σε επόµενες ενότητες. Το τµήµα δήλωσης µεταβλητών ξεκινά µε την δεσµευµένη λέξη Var. Στην επόµενη γραµµή µετά τη λέξη var δηλώνονται οι µεταβλητές. Πιο συγκεκριµένα, κάθε µία από τις µεταβλητές θα πρέπει να αποτελείται από 2 στοιχεία: α) ο τύπος της για όσες µεταβλητές λαµβάνουν (ή πρέπει να λαµβάνουν) τιµές στο σύνολο των πραγµατικών αριθµών, χρησιµοποιείται η δεσµευµένη λέξη real για όσες µεταβλητές λαµβάνουν (ή πρέπει να λαµβάνουν) τιµές στο σύνολο των ακέραιων αριθµών, χρησιµοποιείται η δεσµευµένη λέξη integer για όσες µεταβλητές λαµβάνουν (ή πρέπει να λαµβάνουν) ως τιµές γράµµατα, φράσεις, λέξεις, γράµµατα και αριθµοί µαζί, χρησιµοποιείται η δεσµευµένη λέξη char Σηµειώνεται ότι µια µεταβλητή µε τύπο char (δηλαδή χαρακτήρες) ονοµάζεται επίσης και αλφαριθµητική ή συµβολοσειρά. Για όσες µεταβλητές λαµβάνουν (ή πρέπει να λαµβάνουν) µόνο δυαδικές τιµές όπως πχ το φύλο ενός ατόµου (άνδρας ή γυναίκα), η οικογενειακή κατάσταση ενός ατόµου (παντρεµένος, ανύπαντρος, διαζευγµένος), κλπ χρησιµοποιείται η δεσµευµένη λέξη boolean 3

4 β) το όνοµα της Η ονοµασία των µεταβλητών δεν είναι «δεσµευτική» (δεν είµαστε υποχρεωµένοι να χρησιµοποιούµε κάποια συγκεκριµένα ονόµατα). Ο προγραµµατιστής µπορεί να δώσει όποιο όνοµα θέλει σε κάθε µία από τις µεταβλητές που πρόκειται να χρησιµοποιήσει όµως συνίσταται (για λόγους κατανοησιµότητας και εποπτικότητας) να δίνονται ονόµατα στις µεταβλητές σχετικά µε τις απαιτήσεις του εκάστοτε προβλήµατος. Στον παρακάτω πίνακα παρουσιάζεται ο συνδυασµός των 2 προηγούµενων στοιχείων που πρέπει να περιλαµβάνει η δήλωση µιας µεταβλητής στο προγραµµατιστικό περιβάλλον της Pascal. Σηµειώνεται ότι στα ονόµατα των µεταβλητών ΕΝ επιτρέπεται να χρησιµοποιηθεί το κενό µεταξύ των λέξεων, το σύµβολο της «άνω παύλας» (σύµβολο) και η τελεία. Μπορείτε είτε να χρησιµοποιείτε την κάτω παύλα είτε να γράφετε ολόκληρο το όνοµα. ήλωση µεταβλητών στην PASCAL Φυσική σηµασία µεταβλητής Τύπος και όνοµα µεταβλητής το χρηµατικό ποσό που καταθέτει κάποιος σε µία Poso_katathesis: real; τράπεζα. η ηλικία ενός ατόµου. Hlikia: real; ο συνολικός αριθµός σελίδων που αναπαράγονται Pages: integer; κατά την εκτύπωση ενός κειµένου. το πλήθος των οδηγών CD-ROM που περιέχει ένας Cd_Rom_Drives: integer; προσωπικός ηλεκτρονικός υπολογιστής. το πλήθος των επιβατών ενός λεωφορείου. Passengers: integer; η οικογενειακή κατάσταση ενός ανθρώπου Marital_Status: Char; (παντρεµένος ή ανύπαντρος ή χωρισµένος, κλπ). το φύλο ενός ατόµου (άνδρας ή γυναίκα). Sex: Boolean; Παρατηρήστε τα ονόµατα των µεταβλητών. Σε µερικές από αυτές ο διαχωρισµός λέξεων στο όνοµά τους έγινε χρησιµοποιώντας το σύµβολο της «κάτω παύλας» (σύµβολο _ ) και ΟΧΙ µε το κενό. Ο επόµενος πίνακας περιέχει εσφαλµένους τρόπους δήλωσης (τύπου και ονόµατος) µεταβλητών. Εσφαλµένη δήλωση µεταβλητών στην PASCAL Φυσική σηµασία µεταβλητής Τύπος και όνοµα µεταβλητής το χρηµατικό ποσό που καταθέτει κάποιος σε µία Poso katathesis: real; τράπεζα. το πλήθος των οδηγών CD-ROM που περιέχει ένας Cd-Rom_Drives: integer; προσωπικός ηλεκτρονικός υπολογιστής (Personal Computer PC). η οικογενειακή κατάσταση ενός ανθρώπου Marital.Status: Char; (παντρεµένος ή ανύπαντρος ή χωρισµένος, κλπ). Στο µέρος 2, ο τύπος και το όνοµα δεν είναι τα µοναδικά στοιχεία τα οποία γράφονται για κάθε µία µεταβλητή που χρησιµοποιούµε. Γράφουµε και τον «τρόπο δήλωσης» κάθε µίας µεταβλητής (βλέπε Ενότητα 2: «Βασικές Αλγοριθµικές οµές», παρακάτω). 4

5 Μέρος 3: (Κυρίως) Σώµα Προγράµµατος (Body or Main Body) Το 3ο µέρος αποτελεί και το «ουσιαστικό» κοµµάτι ενός προγράµµατος. Με την λέξη «ουσιαστικό» εννοούµε ότι σε αυτό το µέρος χρησιµοποιούµε εντολές και δοµές (περισσότερες λεπτοµέρειες για τις δοµές µπορείτε να βρείτε στην ενότητα «Βασικές Αλγοριθµικές οµές») οι οποίες µας βοηθούν να φτάσουµε στο τελικό αποτέλεσµα (δηλαδή στην επιτυχή αντιµετώπιση του προβλήµατος). Το 1ο και το 2ο µέρος είναι και αυτά πολύ σηµαντικά όµως περιλαµβάνουν την «προεργασία» που κάνουµε πριν από την έναρξη της ουσιαστικής αντιµετώπισης του προβλήµατος. Το σώµα του προγράµµατος ξεκινά µε την δεσµευµένη λέξη BEGIN και ολοκληρώνεται µε την δεσµευµένη λέξη END. Σηµειώνεται ότι στη γλώσσα Pascal οι δεσµευµένες λέξεις begin και end είναι πιθανόν να χρησιµοποιηθούν αρκετές φορές στο σώµα ενός προγράµµατος (βλέπε επόµενες παραγράφους). Για διευκόλυνση του αναγνώστη, σε όλα τα τεύχη αυτών των σηµειώσεων, για την έναρξη του σώµατος για οποιοδήποτε πρόγραµµα Pascal η λέξη begin θα γράφεται µε κεφαλαία γράµµατα. Επίσης, σηµειώνεται ότι η ύπαρξη τελείας µετά τη δεσµευµένη λέξη end θα σηµαίνει και το τέλος του προγράµµατος. Η λέξη begin και η λέξη end χαρακτηρίζονται ως δεσµευµένες διότι επιτρέπεται να τοποθετούνται µόνο σε πολύ συγκεκριµένα σηµεία ενός προγράµµατος και σε κανένα άλλο σηµείο του (πχ δεν επιτρέπεται να χρησιµοποιηθούν στην επικεφαλίδα του προγράµµατος). 5

6 ΕΝΟΤΗΤΑ 2: ΒΑΣΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΟΜΕΣ Μετά τη συνοπτική παρουσίαση των βασικών µερών που πρέπει να περιέχει ένα πρόγραµµα ανεπτυγµένο σε Pascal, στην παρούσα ενότητα περιγράφονται οι βασικές δοµές που χρησιµοποιούνται σε ένα δοµηµένο πρόγραµµα. Η ανάλυσή τους ξεκινά µε την ακολουθία η οποία πάντα υπάρχει στο (κυρίως) σώµα ενός προγράµµατος. Επιπλέον περιγράφονται και βασικές βοηθητικές λέξεις (εντολές) οι οποίες χρησιµοποιούνται τόσο για την εισαγωγή δεδοµένων σε ένα πρόγραµµα όσο και για την εµφάνιση των αποτελεσµάτων του. Α. Ακολουθία (Sequence) Παράδειγµα 1: Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει από το πληκτρολόγιο το ποσό κατάθεσης ενός προσώπου στην τράπεζα και στη συνέχεια να το εµφανίζει στην οθόνη ενός προσωπικού υπολογιστή. Για να µπορέσουµε να αναπτύξουµε το πρόγραµµα του συγκεκριµένου παραδείγµατος, θα πρέπει να λάβουµε υπόψη µας τις απαιτήσεις της εκφώνησης. ύο είναι οι απαιτήσεις: 1. ανάγνωση (ή διάβασµα) από το πληκτρολόγιο του ποσού κατάθεσης και 2. εµφάνιση του ποσού κατάθεσης στην οθόνη ενός PC. Κάθε πρόγραµµα (απλό ή σύνθετο) έχει δεδοµένα και αποτελέσµατα. Η εύρεση του πλήθους των δεδοµένων και του πλήθους των αποτελεσµάτων θα µας βοηθήσει στην εύρεση του πλήθους των µεταβλητών εισόδου και των µεταβλητών εξόδου αντίστοιχα που θα δηλώσουµε στο πρόγραµµα. Στο συγκεκριµένο παράδειγµα έχουµε ότι τα δεδοµένα είναι το ποσό κατάθεσης (δηλαδή ο χρήστης του προγράµµατος θα χρειαστεί να πληκτρολογήσει το ποσό κατάθεσης) και τα αποτελέσµατα είναι πάλι το ποσό κατάθεσης (ο δηµιουργός του προγράµµατος πρέπει να µεριµνήσει ώστε αυτό να εµφανιστεί στην οθόνη). Γνωρίζοντας λοιπόν πόσα είναι τα δεδοµένα και πόσα είναι τα αποτελέσµατα, θα πρέπει στη συνέχεια να τα δηλώσουµε στο πρόγραµµά µας. Η δήλωση κάθε µεταβλητής σε ένα πρόγραµµα πραγµατοποιείται απαντώντας τα ακόλουθα ερωτήµατα: Ερώτηµα 1: ποίος θα είναι ο τύπος της µεταβλητής Τρεις είναι οι απαντήσεις: Απάντηση 1α: η µεταβλητή λαµβάνει (ή πρέπει να λαµβάνει) τιµές στο σύνολο των πραγµατικών αριθµών. Αν η ισχύει η απάντηση 1α, τότε η µεταβλητή ανήκει στις πραγµατικές µεταβλητές. Απάντηση 1β: η µεταβλητή λαµβάνει (ή πρέπει να λαµβάνει) τιµές στο σύνολο των ακεραίων αριθµών. Αν η ισχύει η απάντηση 1β, τότε η µεταβλητή ανήκει στις ακέραιες µεταβλητές. 6

7 Απάντηση 1γ: η µεταβλητή λαµβάνει (ή πρέπει να λαµβάνει) δυαδικές τιµές (δηλαδή ΝΑΙ ή ΟΧΙ, ΑΛΗΘΗΣ ή ΨΕΥ ΗΣ, κλπ). Αν η ισχύει η απάντηση 1γ, τότε η µεταβλητή ανήκει στις λογικές µεταβλητές. Απάντηση 1δ: η µεταβλητή λαµβάνει (ή πρέπει να λαµβάνει) ως τιµές γράµµατα, χαρακτήρες ή/ και ολόκληρες φράσεις. Αν η ισχύει η απάντηση 1δ, τότε η µεταβλητή ανήκει στους χαρακτήρες. Εκτός από τους παραπάνω τύπους µεταβλητών υπάρχουν και άλλοι ειδικοί τύποι µεταβλητών όπως είναι ο πίνακας, ο χαρακτήρας, οι τύποι οριζόµενοι από τον χρήστη, κλπ. Οι ειδικοί αυτοί τύποι παρουσιάζονται σε ενότητες που υπάρχουν σε επόµενα τεύχη αυτών των σηµειώσεων. Ερώτηµα 2: ποίο θα είναι το όνοµα της µεταβλητής Η απάντηση σε αυτό το ερώτηµα είναι απλή. Οποιοδήποτε επιθυµεί ο προγραµµατιστής, αρκεί να ακολουθούνται οι κανόνες ονοµατολογίας µεταβλητών που ορίζει η Pascal (βλέπε Ενότητα 1). Μετά την απάντηση των ανωτέρω ερωτηµάτων, προχωράµε στην οµάδα εντολών (η πιο απλά εντολές) που θα περιέχεται στο σώµα του προγράµµατος. Για να µπορέσουµε να προσδιορίσουµε τις εντολές αλλά και την σειρά µε την οποία αυτές θα γραφούν, θα πρέπει να σκεφτούµε τις ενέργειες που πρέπει να γίνουν ώστε να επιτύχουµε το τελικό αποτέλεσµα. Ενέργεια 1: το πρόγραµµα πρέπει να διαβάσει το ποσό κατάθεσης. Εποµένως θα πρέπει να χρησιµοποιήσουµε µία εντολή η οποία θα επιτρέπει στον χρήστη να δώσει το ποσό κατάθεσης. Η σύνταξη της εντολής είναι απλή και είναι η εξής: όπου: Read(όρισµα); read, είναι µια βοηθητική λέξη η οποία χρησιµοποιείται για την ανάγνωση δεδοµένων από κάποιο µέσο (πληκτρολόγιο ή αρχείο). όρισµα, είναι το όνοµα της µεταβλητής ή των µεταβλητών (η οποία πρέπει προηγουµένως να έχει δηλωθεί στο µέρος 2) για την οποία επιθυµούµε να δώσουµε τιµή. Σηµειώνεται ότι για την ανάγνωση δεδοµένων χρησιµοποιείται και η εντολή Readlnρισµα); Η διαφορά της εντολής read και της readln είναι οπτική. ηλαδή στη readln µετά την εκτέλεση της η αµέσως επόµενη εντολή εκτελείται στην αµέσως επόµενη γραµµή της οθόνης. Αντιθέτως, στη read µετά την εκτέλεση της, η εκτέλεση της αµέσως επόµενης εντολής πραγµατοποιείται στην ίδια γραµµή. Ενέργεια 2: το πρόγραµµα πρέπει να εµφανίσει το ποσό κατάθεσης. Εποµένως θα πρέπει να χρησιµοποιήσουµε µία εντολή η οποία θα επιτρέπει στο πρόγραµµα να εµφανίσει το ποσό κατάθεσης. Η σύνταξη της εντολής είναι απλή και είναι η εξής: 7

8 όπου: Write(όρισµα); write, είναι µια βοηθητική λέξη η οποία χρησιµοποιείται για την εµφάνιση αποτελεσµάτων στην οθόνη ενός υπολογιστή. όρισµα, είναι το όνοµα της µεταβλητής ή των µεταβλητών (η οποία πρέπει προηγουµένως να έχει δηλωθεί στο µέρος 2) της οποίας την τιµή επιθυµούµε να εµφανίσουµε. Επίσης, το όρισµα µπορεί να περιέχει µόνο µήνυµα. Τέλος, µπορεί να περιέχει συνδυασµό µηνύµατος και τιµής (βλέπε προγράµµατα παρακάτω). Οµοίως µε τη readln υπάρχει και η writeln. Λαµβάνοντας υπ όψιν την παραπάνω ανάλυση, το πρόγραµµα του παραδείγµατος 1 είναι το ακόλουθο: Program PARADEIGMA_1; Var Poso_katathesis: real; BEGIN Write( ώστε ποσό κατάθεσης: ); Read(Poso_katathesis); Write( Το ποσό κατάθεσης είναι:, Poso_katathesis) END. Παρατηρήστε την οµάδα εντολών του σώµατος του προγράµµατος. Αποτελείται από 3 εντολές οι οποίες έχουν γραφεί σε ξεχωριστές γραµµές αλλά η µία είναι αµέσως µετά την άλλη. ηλαδή οι εντολές εκτελούνται διαδοχικά. Αυτή είναι η δοµή ακολουθίας. Η ακολουθία (ή αλλιώς διαδοχή) υπάρχει ΠΑΝΤΑ σε ένα πρόγραµµα. Παράδειγµα 2: Να αναπτυχθεί πρόγραµµα σε Pascal το οποίο να διαβάζει από το πληκτρολόγιο τον αριθµό των σελίδων που αναπαράγονται κατά την εκτύπωση ενός κειµένου και στη συνέχεια να εµφανίζει τον αριθµό αυτό. Πριν γράψουµε το πρόγραµµα, θα πρέπει πρώτα να δώσουµε απαντήσεις στα ερωτήµατα 1 µέχρι 3 (βλέπε παράδειγµα 1) και στη συνέχεια βάσει των απαντήσεων να προχωρήσουµε στην ανάπτυξη του προγράµµατος. Παρατηρούµε ότι σχέση µε το προηγούµενο παράδειγµα, υπάρχουν η εξής διαφορά: η µεταβλητή εξόδου έχει διαφορετικό τύπο (και φυσικά διαφορετικό όνοµα). Πιο συγκεκριµένα, σε αυτό το παράδειγµα ο τύπος της µοναδικής µεταβλητής εισόδου (η οποία είναι και µεταβλητή εξόδου) είναι integer. Το πρόγραµµα του παραδείγµατος 2 είναι το ακόλουθο: 8

9 Program PARADEIGMA_2; Var Pages: real; BEGIN Write( ώστε τον αριθµό των σελίδων εκτύπωσης: ); Read(Pages); Write( Ο αριθµός των σελίδων εκτύπωσης είναι:, Pages) END. Παράδειγµα 3: Ένας ιδιώτης επισκέφτηκε ένα κατάστηµα πώλησης ειδών ηλεκτρονικού υπολογιστή και αγόρασε ένα πληκτρολόγιο, ένα ποντίκι και ένα κουτί µε δισκέτες. Να γραφεί πρόγραµµα Pascal το οποίο να δέχεται την τιµή αγοράς για κάθε ένα από τα παραπάνω είδη και στη συνέχεια να εµφανίζει το συνολικό ποσό πληρωµής που κατέβαλλε ο συγκεκριµένος ιδιώτης. (το κατάστηµα εφαρµόζει τιµολογιακή πολιτική βάσει της οποίας ο συντελεστής Φ.Π.Α. 18% περιέχεται στην τιµή αγοράς κάθε είδους) Το συγκεκριµένο παράδειγµα είναι λίγο διαφορετικό από τα 2 προηγούµενα. Εδώ η µεταβλητή εξόδου είναι δεν είναι ίδια µε τις µεταβλητές εξόδου. Πιο συγκεκριµένα: Θα χρειαστεί να δηλώσουµε 2 µεταβλητές οι οποίες θα συµβολίζουν την τιµή αγοράς κάθε είδους. Ο χρήστης του προγράµµατος θα πρέπει να πληκτρολογήσει τιµή για κάθε µία από αυτές. Επίσης θα πρέπει να δηλωθεί και µία µεταβλητή η οποία θα συµβολίζει το συνολικό ποσό πληρωµής. Ο δηµιουργός του προγράµµατος θα πρέπει να χρησιµοποιήσει εντολές (στο σώµα του προγράµµατος) οι οποίες θα υπολογίζουν και θα εµφανίζουν το συνολικό ποσό πληρωµής. Εποµένως, θα πρέπει να δηλωθούν 3 µεταβλητές όλες ως real. Εκτός όµως από την δήλωση των µεταβλητών (και την επικεφαλίδα του προγράµµατος) υπάρχει και το σώµα του προγράµµατος. Θα πρέπει να βρούµε και την οµάδα εντολών του. Η οµάδα εντολών του είναι αρκετά απλή διότι µας βοηθά πολύ η εκφώνηση του παραδείγµατος. Το πρόγραµµα θα πρέπει να διαβάσει µία µετά την άλλη την τιµή αγοράς κάθε είδους, στην συνέχεια να υπολογίσει το συνολικό ποσό πληρωµής και τέλος να εµφανίσει αυτό. Το πρόγραµµα του παραδείγµατος 3 είναι το ακόλουθο: Program PARADEIGMA_3 ; Var ΤΙΜΗ1, ΤΙΜΗ2, ΤΙΜΗ3, S: real; BEGIN Write( ώστε τιµή αγοράς πληκτρολογίου: ); Readln(TIMH1); Write( ώστε τιµή αγοράς ποντικιού: ); Readln(TIMH2); Write( ώστε τιµή αγοράς κουτιού µε δισκέτες: ); Readln(TIMH3); S := TIMH1 + TIMH2 + TIMH3; Write( Το ποσό πληρωµής είναι:, S) END. Όπου: 9

10 ΤΙΜΗ1, είναι η τιµή αγοράς του πληκτρολογίου, ΤΙΜΗ2, είναι η τιµή αγοράς του ποντικιού, ΤΙΜΗ3, είµαι η τιµή αγοράς του κουτιού µε τις δισκέτες, S, είναι το συνολικό ποσό πληρωµής, :=, είναι ένα ειδικό σύµβολο το οποίο χρησιµοποιείται για την εκχώρηση τιµών σε µεταβλητές. Όταν χρησιµοποιείται το σύµβολο εκχώρησηςτιµής στα αριστερά του βρίσκεται πάντα η µεταβλητή ενώ στα δεξιά του βρίσκεται πάντα η τιµή που της εκχωρείται. Η παραπάνω πρόταση συνοψίζεται στο εξής: Όνοµα_µεταβλητής := τιµή_που_εκχωρείται Πρέπει να υπογραµµίσουµε το γεγονός ότι στο συγκεκριµένο παράδειγµα, το κατάστηµα ενσωµάτωνε τον Φ.Π.Α. στην τιµή αγοράς. Εάν όµως στην τιµή αγοράς δεν ήταν ενσωµατωµένος ο Φ.Π.Α., τότε αυτός θα έπρεπε να συνυπολογιστεί στο τελικό ποσό πληρωµής. Η περίπτωση αυτή εµφανίζεται στο παράδειγµα 4. Παράδειγµα 4: Ένας ιδιώτης επισκέφτηκε ένα κατάστηµα πώλησης ειδών ηλεκτρονικού υπολογιστή και αγόρασε ένα πληκτρολόγιο, ένα ποντίκι και ένα κουτί µε δισκέτες. Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει την τιµή αγοράς για κάθε ένα από τα παραπάνω είδη και στη συνέχεια να εµφανίζει το συνολικό ποσό πληρωµής που κατέβαλλε ο συγκεκριµένος ιδιώτης. (να ληφθεί υπόψη ότι κάθε είδος επιβαρύνεται µε συντελεστή Φ.Π.Α. 18%) Στο συγκεκριµένο παράδειγµα στην τελική τιµή της S θα πρέπει να συνυπολογιστεί και η επιβάρυνση 18%. Το πρόγραµµα του παραδείγµατος 4 είναι το ακόλουθο: Program PARADEIGMA_4 ; Var ΤΙΜΗ1, ΤΙΜΗ2, ΤΙΜΗ3, S: real; BEGIN Write( ώστε τιµή αγοράς πληκτρολογίου: ); Readln(TIMH1); Write( ώστε τιµή αγοράς ποντικιού: ); Readln(TIMH2); Write( ώστε τιµή αγοράς κουτιού µε δισκέτες: ); Readln(TIMH3); S := (TIMH1 + TIMH2 + TIMH3) * (ΤΙΜΗ1 + ΤΙΜΗ2 + ΤΙΜΗ3); Write( Το ποσό πληρωµής είναι:, S) END. Όπου: *, είναι ένας τελεστής (operator) ο οποίος χρησιµοποιείται ως σύµβολο του πολλαπλασιασµού. 0.18, είναι ο Φ.Π.Α. 18%. 10

11 Προσέξτε ότι δεν γράφηκε ως 0,18 διότι στο προγραµµατιστικό περιβάλλον (αλλά και γενικότερα στους αριθµητικούς υπολογισµούς που πραγµατοποιούνται σε υπολογιστικά συστήµατα) της Pascal η τελεία είναι αντίστοιχη της υποδιαστολής, ενώ το κόµµα χρησιµοποιείται για τον διαχωρισµό χιλιάδων. Παράδειγµα 5: Ένας ιδιώτης επισκέφτηκε ένα κατάστηµα πώλησης ειδών ηλεκτρονικού υπολογιστή και αφού ενηµερώθηκε για τις τιµές αγοράς κάποιων ειδών, αποφάσισε να αγοράσει ένα πληκτρολόγιο, ένα ποντίκι και ένα κουτί µε δισκέτες. Εάν γνωρίζετε ότι στην τιµή αγοράς κάθε είδους που πουλά το συγκεκριµένο κατάστηµα δεν συµπεριλαµβάνεται Φ.Π.Α. 18%, να γραφεί πρόγραµµα Pascal το οποίο: 1. να διαβάζει την τιµή αγοράς για κάθε ένα από τα παραπάνω είδη. 2. να υπολογίζει και να εµφανίζει την συνολική επιβάρυνση λόγω Φ.Π.Α του συνολικού ποσού πληρωµής. 3. να υπολογίζει και να εµφανίζει το συνολικό ποσό πληρωµής που θα καταβάλλει ο ιδιώτης. Σε όρους προγραµµατισµού έχουµε ότι: ο χρήστης του προγράµµατος θα πρέπει να πληκτρολογήσει τιµή για 3 µεταβλητές, οι οποίες συµβολίζουν τις τιµές αγοράς των 3 ειδών (έστω ΤΙΜΗ1, ΤΙΜΗ2, ΤΙΜΗ3). Ο δηµιουργός του προγράµµατος θα πρέπει να µεριµνήσει ώστε στο σώµα του προγράµµατος να υπάρχουν εντολές υπολογισµού και εµφάνισης της συνολικής επιβάρυνσης και του συνολικού ποσού πληρωµής. Θα πρέπει να δηλωθούν 5 µεταβλητές (3 για τις τιµές, 1 για την συνολική επιβάρυνση και 1 για το συνολικό ποσό πληρωµής). Όλες οι µεταβλητές θα είναι αριθµητικές (δηλαδή οι τιµές τους θα είναι αριθµοί) και όλες θα δηλωθούν ως real. Το πρόγραµµα του παραδείγµατος 5 είναι το ακόλουθο: Program PARADEIGMA_5 ; Var ΤΙΜΗ1, ΤΙΜΗ2, ΤΙΜΗ3, S, Ε: real; BEGIN Write( ώστε τιµή αγοράς πληκτρολογίου: ); Readln(TIMH1); Write( ώστε τιµή αγοράς ποντικιού: ); Readln(TIMH2); Write( ώστε τιµή αγοράς κουτιού µε δισκέτες: ); Readln(TIMH3); S := ΤΙΜΗ1 + ΤΙΜΗ2 + ΤΙΜΗ3 ; Ε:= S * 0.18 Writeln( Η επιβάρυνση είναι:, Ε); S := S + Ε ; Write( Το συνολικό ποσό πληρωµής είναι:, S) END. Αφού διαβαστούν οι τιµές και των τριών ειδών, υπολογίζεται το άθροισµα των τιµών οι οποίες όµως δεν έχουν ακόµη επιβαρυνθεί µε τον Φ.Π.Α. (βλέπε εντολή S := TIMH1 + TIMH2 + TIMH3). Στη συνέχεια υπολογίζεται η επιβάρυνση και συνυπολογίζεται στην αµέσως προηγούµενη τιµή της S (βλέπε S := S + Ε). 11

12 Παράδειγµα 6: Nα γραφεί πρόγραµµα Pascal το οποίο: 1. να διαβάζει από το πληκτρολόγιο 3 ακέραιους αριθµούς. 2. να υπολογίζει και να εµφανίζει τον µέσο όρο τους. Program PARADEIGMA_6; Var Ν1, Ν2, Ν3, S: integer; ΜΟ: real; BEGIN Write( ώστε τον 1ο ακέραιο αριθµό: ); Readln(Ν1); Write( ώστε τον 2ο ακέραιο αριθµό: ); Readln(Ν2); Write( ώστε τον 3ο ακέραιο αριθµό: ); Readln(Ν3); S := Ν1 + Ν2 + Ν3 ΜΟ := S/3 ; Write( Ο µέσος όρος είναι:, MO); END. Μετά την σύντοµη παρουσίαση της δοµής ακολουθίας αλλά και βασικών απλών εντολών που χρησιµοποιούνται στο σώµα ενός προγράµµατος, θα προχωρήσουµε στην σύντοµη παρουσίαση της δοµής επιλογής και των περιπτώσεων της. Η παρουσίαση και αυτής της δοµής θα γίνει µε χρήση παραδειγµάτων και µε σχολιασµό αυτών των παραδειγµάτων. 12

13 Β. Επιλογή (Selection) Η δοµή της επιλογής χρησιµοποιείται όταν σε ένα πρόβληµα θα πρέπει να αποφασιστεί ποια θα είναι η επόµενη ενέργεια που θα κάνουµε. Η απόφαση αυτή λαµβάνεται βασιζόµενη σε κάποια συνθήκη. ιακρίνουµε τις ακόλουθες 3 περιπτώσεις επιλογής: οµή Απλής Επιλογής (Single If) If Συνθήκη then begin Οµάδα_Εντολών_της_If ; end Αν ισχύει η Συνθήκη, δηλαδή είναι αληθής (true), τότε εκτελείται η οµάδα εντολών της δοµής. Μετά το πέρας της εκτέλεσης της οµάδας εντολών, η δοµή τερµατίζεται και ο έλεγχος του προγράµµατος µεταβαίνει στις εντολές που υπάρχουν µετά τη δοµή. Αν δεν ισχύει η Συνθήκη, δηλαδή είναι ψευδής (false), τότε δεν εκτελείται η οµάδα εντολών της δοµής και ο έλεγχος του προγράµµατος µεταβαίνει στις εντολές που υπάρχουν µετά τη δοµή. Σηµειώνεται ότι όταν η Οµάδα_Εντολών περιλαµβάνει µία µόνο εντολή, τότε η δοµή απλής επιλογής µπορεί να γραφεί ως εξής: If Συνθήκη then Εντολή, δηλαδή µπορεί να γραφεί χωρίς τη χρήση των δεσµευµένων λέξεων begin και end. Παράδειγµα 7: Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει από το πληκτρολόγιο έναν πραγµατικό αριθµό και στη συνέχεια να εµφανίζει το µήνυµα µεγαλύτερος του 10 αν ο αριθµός είναι µεγαλύτερος του 10. Στο συγκεκριµένο παράδειγµα το τελικό αποτέλεσµα του προγράµµατος δεν είναι γνωστό. ηλαδή υπάρχει περίπτωση ο αριθµός να µην είναι µεγαλύτερος του 10. Στην περίπτωση αυτή ο αλγόριθµος θα πρέπει να τερµατίζεται. Αν όµως είναι µεγαλύτερος του 10, τότε θα πρέπει να εµφανίζεται ένα συγκεκριµένο µήνυµα στην οθόνη. Είναι λοιπόν προφανές ότι πρέπει να χρησιµοποιηθεί η δοµή απλής επιλογής. Program PARADEIGMA_7; Var A: real ; Μ: char ; BEGIN Write( ώστε έναν πραγµατικό αριθµό: ); Readln(Α); If Α > 10 then Μ := Μεγαλύτερος του 10 ; Write(Μ); END. Παρατηρήστε ότι δηλώθηκε µία µεταβλητή µε το όνοµα Μ. Η µεταβλητή αυτή δηλώθηκε ως char, δηλαδή η τιµή της θα είναι µία ακολουθία χαρακτήρων (στην συγκεκριµένη περίπτωση µια φράση) και ΟΧΙ αριθµητική τιµή. 13

14 Όταν εκχωρούµε τιµές σε αλφαριθµητικές µεταβλητές, γράφουµε την τιµή εντός εισαγωγικών για να δείξουµε ότι η τιµή που εκχωρείται είναι µια συµβολοσειρά και ΟΧΙ κάποιος συγκεκριµένος αριθµός. Αν η συνθήκη είναι αληθής, τότε εκτελείται η οµάδα εντολών της δοµής. ηλαδή εκχωρείται συγκεκριµένη τιµή στην µεταβλητή Μ και στη συνέχεια εκτελείται η εντολή εµφάνισης της τιµής της µεταβλητής Μ. Μόλις εµφανιστεί η τιµή, ο έλεγχος του προγράµµατος µεταφέρεται στην αµέσως επόµενη γραµµή µετά τη λέξη end, όπου υπάρχει η λέξη END., δηλαδή µε απλά λόγια, το πρόγραµµα τερµατίζεται. Σηµειώνεται ότι το πρόγραµµα που παρουσιάστηκε στις προηγούµενες παραγράφους δεν είναι και το µοναδικό. ηλαδή, υπάρχει και απλούστερος τρόπος ο οποίος είναι ο ακόλουθος: Program PARADEIGMA_7b; Var A: real ; BEGIN Write( ώστε έναν πραγµατικό αριθµό: ); Readln(Α); If Α > 10 then write( Μεγαλύτερος του 10 ) END. οµή Σύνθετης Επιλογής (Complex if) If Συνθήκη then Οµάδα_Εντολών1_της_If ; Else Οµάδα_Εντολών2_της_If; Αν ισχύει η συνθήκη (δηλαδή είναι αληθής), τότε εκτελείται µόνο η Οµάδα_Εντολών1 της δοµής και στη συνέχεια η δοµή τερµατίζεται. Αν δεν ισχύει η συνθήκη (δηλαδή είναι ψευδής), τότε εκτελείται µόνο η Οµάδα_Εντολών2 της δοµής και στη συνέχεια η δοµή τερµατίζεται. Παράδειγµα 8: Να γραφεί πρόγραµµα το οποίο να διαβάζει από το πληκτρολόγιο έναν πραγµατικό αριθµό και στη συνέχεια να εµφανίζει το µήνυµα µεγαλύτερος του 10 αν ο αριθµός είναι µεγαλύτερος του 10 διαφορετικά να εµφανίζει το µήνυµα µικρότερος/ίσος του

15 Program PARADEIGMA_8; Var Α:real; BEGIN Write( ώστε έναν πραγµατικό αριθµό: ); Readln(Α); If Α > 10 then Writeln( µεγαλύτερος του 10 ); Else Writeln( µικρότερος/ίσος του 10 ); END. οµή Εµφωλευµένης Επιλογής (Nested If) If Συνθήκη1 then Οµάδα_Εντολών1; Else If Συνθήκη2 then Οµάδα_Εντολών2; Else If Συνθήκη3 then Οµάδα_Εντολών3; Else Οµάδα εντολώνn; Αν ισχύει η Συνθήκη1 (δηλαδή είναι αληθής), τότε εκτελείται µόνο η Οµάδα_Εντολών1 της δοµής και στη συνέχεια ο έλεγχος του προγράµµατος µεταφέρεται στην αµέσως επόµενη γραµµή µετά το τελευταίο (δηλαδή η δοµή τερµατίζεται). Αν δεν ισχύει η Συνθήκη1 (δηλαδή είναι ψευδής), τότε ο το πρόγραµµα ελέγχει αν η Συνθήκη2 είναι αληθής. Αν η Συνθήκη2 είναι αληθής, τότε εκτελείται η Οµάδα_Εντολών2 της δοµής και στη συνέχεια ο έλεγχος του προγράµµατος µεταφέρεται στην αµέσως επόµενη γραµµή µετά το τελευταίο (δηλαδή η δοµή τερµατίζεται). Σε περίπτωση όπου δεν ισχύει καµία από τις Συνθήκες αυτές, το πρόγραµµα εκτελεί την Οµάδα_ΕντολώνΝ (δηλαδή την τελευταία οµάδα) και στη συνέχεια ο έλεγχος του προγράµµατος µεταφέρεται στην αµέσως επόµενη γραµµή µετά το τελευταίο (δηλαδή η δοµή τερµατίζεται). 15

16 Η χρήση αυτής της δοµής συνίσταται σε προβλήµατα όπου υπάρχουν διάφορες συνθήκες που αφορούν την τιµή µιας µεταβλητής η ικανοποίηση των οποίων έχει ως αποτέλεσµα την εκτέλεση διαφορετικών οµάδων εντολών Παράδειγµα 9: Οι υπάλληλοι µιας εταιρείας συµφώνησαν για το µήνα Απρίλιο να κρατηθούν από το µισθό τους δυο ποσά, ένα για την ενίσχυση του µη κερδοσκοπικού Σωµατείου «ΧΧΧ» και ένα για την ενίσχυση των σκοπών του µη κερδοσκοπικού Σωµατείου «ΥΥΥ». Ο υπολογισµός του ποσού των εισφορών εξαρτάται από τον αρχικό µισθό του κάθε υπαλλήλου και υπολογίζεται µε βάση τα παρακάτω όρια µισθών: Μισθός (σε ) Εισφορά1 Εισφορά2 Μέχρι 440 5% 4% ,5% 6% ,5% 8% > % 11% Να γραφεί πρόγραµµα Pascal που να δέχεται ως είσοδο το µισθό ενός τυχαίου υπαλλήλου και στη συνέχεια να υπολογίζει και να εµφανίζει το ποσό των δυο εισφορών καθώς και το καθαρό ποσό που θα πάρει ο υπάλληλος. Σε αυτό το πρόβληµα θα χρησιµοποιηθεί η δοµή εµφωλευµένης επιλογής If.. Else If Else.. Πιο συγκεκριµένα: Στο ανωτέρω πρόβληµα, η µεταβλητή που εξετάζεται είναι η Μ. Ανάλογα µε την τιµή που αυτή λαµβάνει ισχύουν και διαφορετικές συνθήκες. Στη πραγµατικότητα στην στήλη µε τη επικεφαλίδα "µισθός" περιέχονται 4 διαστήµατα τιµών (4 µισθολογικές κλίµακες). Ανάλογα µε την µισθολογική κλίµακα του εργαζοµένου υπάρχει και αντίστοιχος συντελεστής για κάθε ποσό εισφοράς. Για την αποφυγή υπολογισµού λανθασµένου ποσού εισφοράς και κατ επέκταση καθαρού µισθού, οι συνθήκες που χρησιµοποιούνται στο παρακάτω πρόγραµµα είναι (ουσιαστικά) τα διαστήµατα τιµών της µεταβλητής Μ. Το διάστηµα τιµών [441, 734) ορίζεται ενοποιώντας τις εξής δυο συνθήκες: If Μ > 150,000, If Μ < 250,000. Η ενοποίηση αυτή συντελείται χρησιµοποιώντας τον τελεστή (operator) and. Γενικά, στον προγραµµατισµό η ενοποίηση συνθηκών ονοµάζεται σύζευξη. Αξίζει να σηµειωθεί ότι η λέξη and, όπου αυτή χρησιµοποιήθηκε, αφέθηκε σκόπιµα έντονα τονισµένη (bold) για να υποδείξει την ύπαρξη σύζευξης λογικών συνθηκών (περί λογικών συνθηκών, βλέπε υποενότητα Λογικές Συνθήκες ). 16

17 Program PARADEIGMA_9; Var ΚΜ, Μ, Ε1, Ε2: real; BEGIN Write( ώστε τον µισθό του υπαλλήλου: ); Readln(Μ); If (Μ > 0) and (Μ < 440) then Ε1 := (5 * Μ)/100; Ε2 := (4 * Μ)/100; Else If (Μ >= 441) and (Μ < 734) then Ε1 := (7.5 * Μ)/100; Ε2 := (6 * Μ)/100; Else If (Μ >= 735) and (Μ <= 1174) then Ε1 := (9.5 * Μ)/100; Ε2 := (8 * Μ)/100; Else Ε := (12 * Μ)/100; Ε := (11 * Μ)/100; Writeln( Η εισφορά για το Σωµατείο ΧΧΧ είναι:, Ε1); Writeln( Η εισφορά για το Σωµατείο είναι:, Ε2); ΚΜ := Μ (Ε1 + Ε2); Writeln( Ο καθαρός µισθός είναι:, ΚΜ); END. Προτού συνεχίσουµε µε την αλγοριθµική δοµή της επανάληψης, θα πραγµατοποιηθεί µια σύντοµη και περιεκτική αναφορά σε ορισµένους όρους η γνώση των οποίων είναι απαραίτητη κατά την ανάπτυξη προγραµµάτων. 17

18 Λογικές Εκφράσεις Με τον όρο λογική έκφραση, ονοµάζεται κάθε έκφραση η οποία: 1. χρησιµοποιεί έναν ή/και περισσότερους από τους ακόλουθους τελεστές: και, ή, όχι (λογικοί τελεστές), =, >, >=, <, <=, <> (αριθµητικοί τελεστές). 2. το αποτέλεσµα της είναι: YES, NO, TRUE, FALSE. Έστω ότι έχουµε τα ακόλουθο τµήµα προγράµµατος Pascal: Α := 5; If Α > 0 then Β := 2 * Α; Write(Β); Θα εµφανισθεί ο αριθµός 10 (= 2 * 5) διότι η συνθήκη Α > 0 είναι TRUE. ηλαδή ΙΣΧΥΕΙ. Παρατηρήστε ότι το αποτέλεσµα της συνθήκης ΕΝ ήταν κάποιος αριθµός. Έστω ότι δίνεται ένα άλλο τµήµα προγράµµατος Pascal: Α := 5; C := (-1) * 2; If (Α > 0) and C <= -4) then Β := 2 * Α; Else Β := 2 * (-Α); Writeln(Β); Θα εµφανισθεί ο αριθµός 10 διότι συνθήκη Α > 0 and C <= -4 (εδώ έχουµε σύζευξη συνθηκών) είναι FALSE. ηλαδή ΕΝ ΙΣΧΥΕΙ. Πιο συγκεκριµένα, η µεταβλητή Α (δηλαδή ο αριθµός 5) είναι µεγαλύτερος του µηδενός. Εποµένως, το ένα µέρος της σύζευξης δίνει το αποτέλεσµα TRUE. Όµως η µεταβλητή C (δηλαδή ο αριθµός 2) δεν είναι µικρότερος του 4. Εποµένως, το άλλο µέρος της σύζευξης δίνει το αποτέλεσµα FALSE. Είναι προφανές ότι το αποτέλεσµα της λογικής πράξης (TRUE) and (FALSE) είναι FALSE. Ακολουθεί ο παρακάτω πίνακας που αφορά τις λογικές συνθήκες: Πίνακας Λογικών Συνθηκών Συνθήκη Σύζευξη ιάζευξη Άρνηση Α Β (Α and Β) (Α or Β) (not Α) False False False False True True False True False True True False True False False True False True True True True True False False Συνθήκη Α Άρνηση Β (not Β) Ο επόµενος πίνακας περιέχει τους τελεστές που χρησιµοποιούνται (εκτός από τις λογικές εκφράσεις) σε αριθµητικές εκφράσεις. 18

19 Σ Υ Μ Β Ο Λ Α Τ Ε Λ Ε Σ Τ Ω Ν ΣΗΜΑΣΙΑ ΤΕΛΕΣΤΗ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕΝΟ ΣΥΜΒΟΛΟ Στην Άλγεβρα Στην PASCAL Πρόσθεση + + Αφαίρεση - - Πολλαπλασιασµός x * ιαίρεση : ή / / Μικρότερο < < Μικρότερο ή Ίσο <= Μεγαλύτερο > > Μεγαλύτερο ή Ίσο >= ιάφορο <> Οι έτοιµες συναρτήσεις div και mod Είναι γνωστό (βλέπε πρώτες τάξεις του ηµοτικού!!!!) ότι στη διαίρεση ακεραίων ισχύουν τα ακόλουθα: Υ δ Π Όπου: = διαιρετέος δ = διαιρέτης Π = πηλίκο της διαίρεσης Υ = υπόλοιπο της διαίρεσης Επιπλέον για κάθε Π, Υ θα πρέπει να ισχύει ότι: Πδ + Υ = Για παράδειγµα, η διαίρεση 5:2 δίνει ως πηλίκο τον αριθµό 2 (διότι 2 * 2 = 4) και ως υπόλοιπο τον αριθµό 1 (διότι 5 4 = 1). Η συνάρτηση mod δίνει το υπόλοιπο της διαίρεσης της τιµής κάποιας ακέραιης µεταβλητής (ή κάποιου ακέραιου αριθµού) µε κάποια ακέραια µεταβλητή (ή µε κάποιο ακέραιο αριθµό). Η συνάρτηση div δίνει το πηλίκο της διαίρεσης της τιµής κάποιας ακέραιης µεταβλητής (ή κάποιου ακέραιου αριθµού) µε κάποια ακέραια µεταβλητή (ή µε κάποιον ακέραιο αριθµό). Πιο παραστατικά έχουµε ότι: Π div δ Y mod δ Και ισχύει ότι: = ( div δ) * δ + ( mod δ) 19

20 Γ. Επανάληψη (Iteration) Η τρίτη βασική αλγοριθµική δοµή είναι η επανάληψη. Αυτή χρησιµοποιείται στο µεγαλύτερο µέρος των προβληµάτων του δοµηµένου προγραµµατισµού. ιακρίνεται µε µια από τις ακόλουθες µορφές: Γ1. Η οµή Επανάληψης For to do Χρησιµοποιείται όταν το πλήθος των επαναλήψεων είναι εκ των προτέρων γνωστό. Συντάσσεται ως εξής: For µτ := ατ to ττ do Οµάδα_Εντολών_της_For; Όπου: µτ είναι το όνοµα του µετρητή (δηλώνεται ως µεταβλητή). ατ είναι η αρχική τιµή του µετρητή. ττ είναι η τελική τιµή του µετρητή. Η δοµή επανάληψης For to do συναντάται σε ένα µεγάλο εύρος δοµηµένων προβληµάτων και η χρήση της είναι απαραίτητη σε προβλήµατα που απαιτούν χρήση πινάκων (περί πινάκων βλέπε επόµενες ενότητες σηµειώσεων). Επιπλέον η δοµή for µπορεί να συνταχθεί και ως εξής: For µτ := ττ downto ατ do Οµάδα_Εντολών_της_For; Όπου: µτ είναι το όνοµα του µετρητή (δηλώνεται ως µεταβλητή). ατ είναι η αρχική τιµή του µετρητή. ττ είναι η τελική τιµή του µετρητή. Και για τις 2 συντάξεις το βήµα µεταβολής του µετρητή είναι ίσο µε 1. Ο τρόπος µε τον οποίο λειτουργεί η συγκεκριµένη δοµή αλλά και η αναγκαιότητα χρήσης της κατά την ανάπτυξη δοµηµένων προγραµµάτων παρουσιάζεται στα επόµενα παραδείγµατα. 20

21 Παράδειγµα 10: Να γραφεί πρόγραµµα σε Pascal το οποίο να διαβάζει από το πληκτρολόγιο 10 πραγµατικούς αριθµούς και στη συνέχεια να τους εµφανίζει στην οθόνη. Όπως έχει ήδη αναφερθεί, κάθε πρόγραµµα αποτελείται από 3 µέρη (επικεφαλίδα, δήλωση µεταβλητών και κυρίως σώµα). Η επικεφαλίδα είναι το πιο απλό και συνάµα το πιο εύκολο τµήµα του (δεν πρέπει όµως να ξεχνάµε τους κανόνες ονοµατολογίας που ισχύουν για αυτήν), έτσι θα προχωρήσουµε την ανάλυση µας στα άλλα 2 µέρη. Εάν υποθέσουµε ότι αγνοούµε την ύπαρξη της δοµής επανάληψης, τότε για την ανάπτυξη του συγκεκριµένου προγράµµατος, θα πρέπει να δηλώσουµε 10 πραγµατικές µεταβλητές κάθε µία από τις οποίες θα συµβολίζει και από έναν πραγµατικό αριθµό. Σκεφτείτε όµως τώρα την περίπτωση να επιχειρήσουµε να αναπτύξουµε ένα πρόγραµµα για την ανάγνωση και εµφάνιση 100 πραγµατικών αριθµών (!). Αυτό θα σήµαινε ότι εµείς θα έπρεπε να δηλώσουµε 100 µεταβλητές τύπου real (!!!). Από την προηγούµενη παράγραφο γίνεται εύκολα κατανοητό ότι η χρήση µόνο της δοµής ακολουθίας δεν είναι δυνατή. Θα πρέπει λοιπόν να χρησιµοποιηθεί κάποια άλλη δοµή η οποία θα µας επιτρέψει να αναπτύξουµε ένα πρόγραµµα ο κώδικας του οποίου θα περιέχει λιγότερες γραµµές. Η δοµή που θα χρησιµοποιήσουµε θα είναι η δοµή επανάληψης for διότι το πλήθος των επαναλήψεων είναι εκ των προτέρων γνωστό. Πιο συγκεκριµένα: Το πρόγραµµα θα πρέπει να διαβάζει και να εµφανίζει 10 πραγµατικούς αριθµούς. Οι ενέργειες στις οποίες πρέπει να προβούµε είναι συγκεκριµένες και παραµένουν κάθε φορά ίδιες. ηλαδή πρώτα θα δίνει ο χρήστης του προγράµµατος έναν πραγµατικό αριθµό και στη συνέχεια αυτό θα πρέπει να τον εµφανίζει. Μόλις τελειώσει η εµφάνιση του πρώτου πραγµατικού αριθµού, ο χρήστης θα πρέπει να δώσει πάλι έναν πραγµατικό αριθµό και στη συνέχεια το πρόγραµµα θα πρέπει να τον εµφανίσει στην οθόνη. Οι ενέργειες αυτές παύουν µε την εµφάνιση του δέκατου (και τελευταίου) πραγµατικού αριθµού. Αντί λοιπόν να δηλώσουµε 10 πραγµατικές µεταβλητές, µπορούµε να δηλώσουµε µία µόνο µεταβλητή, η οποία µε την βοήθεια κατάλληλων εντολών (στο σώµα του προγράµµατος), θα λάβει 10 πραγµατικές τιµές. Program PARADEIGMA_10; Var Ι: integer; Α: real; BEGIN For Ι:=1 to 10 do Write( ώστε τον, Ι, ο πραγµατικό αριθµό: ); Readln(Α); Writeln( Ο, I, ος αριθµός ήταν ο:, Α) END. Παρατηρήστε ότι στο τµήµα δήλωσης µεταβλητών του παραπάνω προγράµµατος υπάρχει (ως βοηθητική) η µεταβλητή Ι. Η συγκεκριµένη µεταβλητή είναι ο µετρητής ο οποίος λαµβάνει ως αρχική τιµή το 1 και τελική τιµή το 10 µε βήµα µεταβολής των τιµών του το 1. ηλαδή όταν ο µετρητής Ι λάβει την τιµή 1, θα εκτελεστεί η Οµάδα_Εντολών της δοµής. ηλαδή, το πρόγραµµα θα διαβάσει (για πρώτη φορά) την µεταβλητή Α και στη συνέχεια θα εµφανίσει την τιµή της στην οθόνη. 21

22 Στη συνέχεια ο µετρητής Ι θα αλλάξει τιµή και θα λάβει την τιµή = 2. Το πρόγραµµα θα ελέγχει ότι η τρέχουσα τιµή του µετρητή Ι είναι µικρότερη της τελικής τιµής και έτσι επιτρέπει την εκτέλεση της οµάδας εντολών της δοµής. ηλαδή ο χρήστης του προγράµµατος (για δεύτερη φορά) θα δώσει τιµή στην µεταβλητή Α και στη συνέχεια το πρόγραµµα θα εµφανίσει αυτή την τιµή στην οθόνη. Η ανωτέρω διαδικασία συνεχίζεται µέχρι ο µετρητής Ι λάβει και την τιµή 10. Μετά την εκτέλεση της οµάδας εντολών, η δοµή for τερµατίζεται. Παράδειγµα 11: Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει από το πληκτρολόγιο τον χρόνο προσπέλασης για 11 διαφορετικές µάρκες οδηγών CD-ROM και στη συνέχεια να υπολογίζει και να εµφανίζει το µέσο όρο των χρόνων προσπέλασης τους. Program PARADEIGMA_11; Var X, ΜΟ, S: real; Ι: integer; BEGIN S:= 0; For Ι:= 1 to 11 do Write( ώστε χρόνο προσπέλασης του, Ι, ου CD-ROM: ); Readln(X); S:= S + Χ; ΜΟ:= S / 11 ; Writeln( Ο µέσος χρόνος προσπέλασης είναι:, ΜΟ) END. Π Α Ρ Α Τ Η Ρ Η Σ Ε Ι Σ Η εκφώνηση του παραδείγµατος ζητά την εύρεση και εµφάνιση του µέσου όρου των χρόνων προσπέλασης 11 συσκευών CD-ROM. Εποµένως τα αποτελέσµατα του προβλήµατος θα περιέχουν µια και µόνο µεταβλητή. Όµως για να µπορέσουµε να υπολογίσουµε και να εµφανίσουµε το ζητούµενο θα πρέπει να έχουν προηγηθεί οι εξής ενέργειες: 1. Ανάγνωση των χρόνων προσπέλασης και των 11 συσκευών. 2. Υπολογισµός του συνολικού χρόνου προσπέλασης των συγκεκριµένων συσκευών. 3. Υπολογισµός του µέσου χρόνου προσπέλασης των συγκεκριµένων συσκευών. 4. Εµφάνιση του µέσου χρόνου προσπέλασης των συγκεκριµένων συσκευών. Η ενέργεια 2 περιέχει απλώς τον υπολογισµό ενός αθροίσµατος το οποίο αποτελείται από 11 όρους (11 χρόνοι προσπέλασης). Σε αυτό το παράδειγµα, µια εκ των βοηθητικών µεταβλητών θα είναι και ο αθροιστής. Η ενέργεια 3 είναι απλώς το πηλίκο µιας διαίρεσης: συνολικός χρόνος προσπέλασης / πλήθος συσκευών. Σηµειώνεται ότι το άθροισµα (µεταβλητή S) αποτελεί βοηθητική µεταβλητή, δηλαδή ο υπολογισµός της τιµής της είναι απαραίτητος για να φτάσουµε στο τελικό αποτέλεσµα. Η µεταβλητή S αρχικοποιείται, δηλαδή εκχωρείται σε αυτήν η τιµή µηδέν (βλέπε εντολή S:= 0). Αυτό συµβαίνει διότι µέχρι ο αλγόριθµος να διαβάσει τον χρόνο προσπέλασης της 1ης συσκευής ο συνολικός χρόνος προσπέλασης είναι ίσος µε το µηδέν. 22

23 Γενικά, µε τον όρο αρχικοποίηση (initialization) µεταβλητής εννοούµε ότι για αυτή την µεταβλητή αναµένουµε να αλλάξει τουλάχιστον µια φορά τιµή κατά την διάρκεια εκτέλεσης ενός αλγορίθµου. ηλαδή αναµένουµε ότι η µεταβλητή αυτή θα λάβει µια τιµή πέρατος η οποία θα είναι διαφορετική από την τιµή έναρξης. Μια µεταβλητή χρειάζεται να αρχικοποιηθεί όταν ισχύει µία ή/ και περισσότερες από τις ακόλουθες περιπτώσεις: η τελική τιµή της θα προέλθει από γνωστό ή άγνωστο πλήθος επαναλήψεων χρησιµοποιώντας µια εντολή εκχώρησης (χρήση του συµβόλου := ). Η τελική τιµή της θα προέλθει από γνωστό ή άγνωστο πλήθος επαναλήψεων µε τη βοήθεια ενός τύπου ο οποίος θα έχει γραφεί κατά τρόπο τέτοιο ώστε να "θυµάται" την αµέσως προηγούµενη τιµή της µεταβλητής. Αξίζει να σηµειωθεί ότι για λόγους διευκόλυνσης του προγραµµατιστή συνίσταται η αρχικοποίηση των µεταβλητών να γίνεται στην αµέσως επόµενη γραµµή µετά την λέξη αρχή, δηλαδή στην πρώτη γραµµή του σώµατος του προγράµµατος (δεν ισχύει για όλα τα προβλήµατα δοµηµένου προγραµµατισµού). Έτσι µειώνονται οι πιθανότητες εξαγωγής λανθασµένης τιµής για κάποια από τις µεταβλητές που αρχικοποιούνται. Μετά την αρχικοποίηση της µεταβλητής S, πρέπει να αποφασιστεί εάν θα χρειαστεί να χρησιµοποιηθεί κάποια δοµή επανάληψης ή επιλογής (διότι ακολουθία πάντα υπάρχει σε ένα πρόγραµµα) µέσα από την οποία θα υπολογίζονται οι τιµές βοηθητικών ή/ και κύριων µεταβλητών του προγράµµατος. Στο συγκεκριµένο παράδειγµα επειδή το πλήθος των επαναλήψεων είναι εκ των προτέρων γνωστό, θα χρησιµοποιηθεί η δοµή επανάληψης για από µέχρι, δηλαδή γνωρίζουµε πόσες φορές θα εκτελεστεί η οµάδα εντολών της συγκεκριµένης δοµής. Η οµάδα εντολών της δοµής περιλαµβάνει τα εξής: Εντολή για την εµφάνιση ενός µηνύµατος το οποίο ενηµερώνει τον χρήστη ότι καλείται να δώσει τιµή για κάποιο µέγεθος (εδώ για τον χρόνο προσπέλασης), Εντολή για την ανάγνωση των χρόνων προσπέλασης των 11 οδηγών CD-ROM. Με την χρήση αυτής της εντολής επιτρέπουµε στο χρήστη να δώσει τιµές από το πληκτρολόγιο (αφού προηγουµένως γνωρίζει ότι θα πρέπει να δώσει χρόνους προσπέλασης, Εντολή για τον υπολογισµό του συνολικού χρόνου προσπέλασης. Παρατηρούµε ότι για τον υπολογισµό της τελικής τιµής της S θα πρέπει στην αµέσως προηγούµενη τιµή της S να προστίθεται η τιµή της µεταβλητής Χ (αναµένουµε διαφορετική τιµή ανά συσκευή). ηλαδή κάθε µία από τις 11 τιµές της µεταβλητής Χ συνυπολογίζεται στον τύπο υπολογισµού της S. Όπως έχει ήδη αναφερθεί σε προηγούµενη παράγραφο, ο υπολογισµός της τελικής τιµής της S είναι ουσιαστικά ο υπολογισµός ενός αθροίσµατος 11 όρων. ηλαδή είναι απλός υπολογισµός µερικών αθροισµάτων. Απλώς το τελευταίο µερικό άθροισµα αποτελεί και την τελική τιµή της µεταβλητής S. Αφού ολοκληρωθεί η εκτέλεση της οµάδας εντολών της δοµής για από µέχρι ακολουθεί ο υπολογισµός του µέσου όρου του χρόνου προσπέλασης των 11 συσκευών (βλέπε εντολή ΜΟ S / 23

24 11). Η τιµή της S η οποία χρησιµοποιείται σε αυτό τον τύπο είναι εκείνη η οποία υπολογίστηκε εντός της δοµής. ηλαδή µετά το τέλος της εκτέλεσης της οµάδας εντολών της δοµής επανάληψης, είµαστε σίγουροι ότι: το πρόγραµµα έχει διαβάσει τους χρόνους προσπέλασης όλων των συσκευών, το πρόγραµµα έχει υπολογίσει το άθροισµα και των 11 συσκευών. Τέλος, θα πρέπει να αναφερθεί η αναγκαιότητα δήλωσης της βοηθητικής µεταβλητής Ι. Η µεταβλητή Ι αποτελεί τον µετρητή (counter) ο οποίος είναι υπεύθυνος για την µέτρηση του πλήθους των επαναλήψεων της δοµής. Στη συγκεκριµένη άσκηση ο µετρητής Ι θα έχει ως αρχική τιµή (ατ) το 1 και ως τελική τιµή (ττ) το 11 (αφού 11 είναι και οι συσκευές για τις οποίες ο χρήστης του προγράµµατος καλείται να δώσει τιµές). Εµφωλευµένη Επανάληψη Με τον όρο εµφωλευµένη επανάληψη εννοούµε ότι εντός µίας δοµής επανάληψης είναι δυνατόν να υπάρχει µία ή και περισσότερες δοµές. Με απλά λόγια µπορούµε να έχουµε επανάληψη µέσα σε επανάληψη ή επιλογή µέσα σε επανάληψη. Παράδειγµα 12: Να αναπτυχθεί πρόγραµµα Pascal το οποίο να δέχεται από το πληκτρολόγιο 20 ακέραιους αριθµούς και στη συνέχεια να βρίσκει και να εµφανίζει πόσοι από αυτούς ήταν άρτιοι και πόσοι από αυτούς ήταν περιττοί. Program PARADEIGMA_12; Var Α, ΑRT, PER, Ι: integer; BEGIN ΑRT:= 0; PER:= 0; For Ι:= 1 to 20 do Write( ώστε τον, Ι, ο ακέραιο αριθµό: ); Readln(A); If (Α mod 2 = 0) then ART := ART + 1 ; Else PER := PER + 1 ; ; Writeln( Πλήθος άρτιων ακέραιων αριθµών:, ΑRT); Writeln( Πλήθος περιττών ακέραιων αριθµών:, PER) END. 24

25 Π Α Ρ Α Τ Η Ρ Η Σ Ε Ι Σ Η πρώτη απαίτηση της εκφώνησης είναι η ανάγνωση 20 ακέραιων αριθµών. Εποµένως το πλήθος των επαναλήψεων είναι εκ των προτέρων γνωστό. Άρα θα χρησιµοποιήσουµε την δοµή επανάληψης for. Η δεύτερη απαίτηση της εκφώνησης είναι η εύρεση και η εµφάνιση του πλήθους των άρτιων και του πλήθους των περιττών αριθµών. Όµως για να µπορέσουµε να βρούµε τα πλήθη, θα πρέπει να χρησιµοποιήσουµε κάποια συνθήκη βάσει της οποίας το πρόγραµµ θα αναγνωρίζει πότε ένας αριθµός είναι άρτιος και πότε περιττός. Ένας ακέραιος αριθµός είναι άρτιος όταν το υπόλοιπο της διαίρεσης του µε τον αριθµό 2 είναι ίσο µε το µηδέν. ηλαδή όταν έχουµε τέλεια διαίρεση. Τυπικό παράδειγµα είναι ο αριθµός 8 ο οποίος διαιρούµενος µε το 2 έχει πηλίκο 4 και υπόλοιπο 0. Ένας ακέραιος αριθµός είναι περιττός όταν το υπόλοιπο της διαίρεσης του µε τον αριθµό 2 είναι διάφορο του µηδενός. ηλαδή όταν δεν έχουµε τέλεια διαίρεση. Τυπικό παράδειγµα είναι ο αριθµός 7 ο οποίος διαιρούµενος µε το 2 έχει πηλίκο 3 και υπόλοιπο 1. Αυτή η αναγνώριση επιτυγχάνεται µε τη χρήση της έτοιµης συνάρτησης mod. Για την εύρεση του πλήθους των άρτιων και των περιττών αριθµών, δηλώθηκαν 2 µεταβλητές. Η πρώτη µεταβλητή είναι η ART και η δεύτερη είναι η PER. Η αρχική τιµή αυτών είναι το µηδέν. Με αυτόν τον τρόπο διασφαλίζουµε ότι µετά το τέλος της εκτέλεσης του προγράµµατος ουδεµία από αυτές θα είναι απροσδιόριστη. 25

26 Α Σ Κ Η Σ Ε Ι Σ 1. Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει το όνοµα, επώνυµο και το ύψος πώλησης για έναν πωλητή µίας επιχείρησης και στη συνέχεια να υπολογίζει και να εµφανίζει την προµήθεια του ως εξής: Για πώληση µέχρι και 300, η προµήθεια είναι 8%. Για πώληση µέχρι και 880, η προµήθεια είναι 14%. Για πώληση άνω των 880, η προµήθεια είναι 20% Για τον υπολογισµό του φόρου µεταβίβασης ακινήτων οι αγοραστές καταβάλλουν φόρο ανάλογα µε την αξία αγοράς του ακινήτου. Έτσι, για αξία µέχρι και 8804 ουδείς φόρος καταβάλλεται, από 8805 µέχρι και ο φόρος είναι 5% επί της αξίας αγοράς, από έως είναι 10%, ενώ για αξία άνω των είναι 12%. Να γραφεί πρόγραµµα Pascal το οποίο να υπολογίζει και να εµφανίζει τον παραπάνω φόρο για έναν τυχαίο αγοραστή. 3. Σε µία επιχείρηση, το ποσοστό των κρατήσεων για κάθε υπάλληλο είναι: 10% για τους υπαλλήλους µε µισθό µέχρι % για τους υπαλλήλους µε µισθό µέχρι % για τους υπαλλήλους µε µισθό άνω των 300. Να γραφεί πρόγραµµα Pascal το οποίο: Α. να διαβάζει τον µισθό ενός υπαλλήλου. Β. να υπολογίζει και να εµφανίζει τις κρατήσεις και το καθαρό πληρωτέο ποσό του υπαλλήλου αυτού. 4. Υπολογίστε το αποτέλεσµα των ακόλουθων αριθµητικών εκφράσεων: α) (6 div 2) (6 mod 5) β) (14 mod 2) * γ) mod (2*3) δ) (5 mod 8) + (8 mod 5) ε) (7 mod 2) + (13 div 3)

27 5. Να γραφεί πρόγραµµα σε Pascal το οποίο: Α) να διαβάζει από το πληκτρολόγιο 2 πραγµατικούς αριθµούς, Β) να υπολογίζει το άθροισµά τους, τη διαφορά τους και το γινόµενο τους, Γ) να εµφανίζει τους αριθµούς, το άθροισµα, τη διαφορά και το γινόµενο τους. Εάν η διαφορά είναι ένας αρνητικός αριθµός, να εµφανίζεται το µήνυµα αρνητική διαφορά. 6. ίνεται το ακόλουθο τµήµα προγράµµατος Pascal: If (vathmos >=18) or (vathmos < 12) then Writeln( Άριστα ); Else Writeln( Καλώς ); α) τι θα εµφανιστεί στην οθόνη αν η µεταβλητή vathmos ισούται µε 18 ; β) τι θα εµφανιστεί στην οθόνη αν η µεταβλητή vathmos ισούται µε 0 ; γ) τι θα εµφανιστεί στην οθόνη αν η µεταβλητή vathmos ισούται µε 13 ; 7. Ένας ιδιώτης αγόρασε πρόσφατα έναν ασπρόµαυρο εκτυπωτή τύπου Laser. Το συγκεκριµένο µοντέλο έχει ονοµαστική ταχύτητα εκτύπωσης ίση µε 0,2 σελίδες / δευτερόλεπτο. Λαµβάνοντας υπόψη τις παραπάνω πληροφορίες, Να γραφεί πρόγραµµα Pascal το οποίο: Α) να διαβάζει το πλήθος των σελίδων εκτύπωσης, Β) να υπολογίζει και να εµφανίζει τον χρόνο (σε λεπτά) για την εκτύπωση τους. 8. Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει 2 ακέραιους αριθµούς και στη συνέχεια να υπολογίζει και να εµφανίζει τον µέσο όρο τους αν και οι 2 είναι άρτιοι ή αν και οι 2 είναι περιττοί. Σε αντίθετη περίπτωση, να εµφανίζεται το γινόµενο τους. 9. Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει έναν ακέραιο αριθµό και στη συνέχεια να εµφανίζει το µήνυµα ΠΟΛΛΑΠΛΑΣΙΟ ΤΟΥ 7 αν ο αριθµός είναι πολλαπλάσιο του 7, διαφορετικά να εµφανίζει το µήνυµα ΕΝ ΕΙΝΑΙ ΠΟΛΛΑΠΛΑΣΙΟ ΤΟΥ Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει 2 αριθµούς και στη συνέχεια να υπολογίζει και να εµφανίζει το άθροισµα των τετραγώνων τους αν και οι 2 ήταν θετικοί, διαφορετικά να υπολογίζει και να εµφανίζει τη διπλάσια τιµή του αθροίσµατος τους. 27

28 11. Να γραφεί πρόγραµµα Pascal το οποίο: Α. Να διαβάζει τον χρόνο εργασίας (σε δευτερόλεπτα) ενός προγραµµατιστή για µια τυχαία ηµέρα. Β. Να βρίσκει και να εµφανίζει τις ώρες, λεπτά και δευτερόλεπτα που αντιστοιχούν στον χρόνο αυτό. Πχ, αν εργάστηκε δευτερόλεπτα, τότε πρέπει να εµφανιστούν στην οθόνη τα ακόλουθα: 1 ώρα, 0 λεπτά και 0 δευτερόλεπτα. 12. Να γραφεί πρόγραµµα Pascal δηµιουργίας και εµφάνισης στην οθόνη των ακόλουθων αριθµών: 9, 18, 9, 18, 9, 18, 9, 18, 9, Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει τα ηλικία 5000 δηµοσίων υπαλλήλων και στη συνέχεια να βρίσκει και να εµφανίζει πόσοι υπάλληλοι έχουν το πολύ 5 έτη εργασίας προτού συνταξιοδοτηθούν (ως όριο για τη συνταξιοδότηση να θεωρηθεί το 35 ο έτος εργασίας). 14. Να γραφεί πρόγραµµα Pascal το οποίο: Α) να διαβάζει 200 ακέραιους αριθµούς, Β) να υπολογίζει και να εµφανίζει το γινόµενο τους, Γ) να υπολογίζει και να εµφανίζει το πλήθος και το άθροισµα εκείνων των αριθµών που ήταν µεγαλύτεροι του Σε ένα εργαστήριο αξιολόγησης υλικού προσωπικών υπολογιστών πραγµατοποιούνται δοκιµές σε ένα µοντέλο εκτυπωτή. Στις δοκιµές χρησιµοποιούνται 25 έγγραφα Χ σελίδων έκαστο. Η ονοµαστική ταχύτητα εκτύπωσης του συγκεκριµένου µοντέλου είναι ίση µε 12 σελίδες/λεπτό. Όµως στη περίπτωση που ο αριθµός των σελίδων υπερβαίνει τις 50, τότε αυτή µειώνεται στις 10 σελίδες/λεπτό. Να γραφεί πρόγραµµα Pascal το οποίο: Α) να διαβάζει τις Χ σελίδες για κάθε ένα από τα παραπάνω έγγραφα, Β) να υπολογίζει και εµφανίζει τον χρόνο εκτύπωσης (σε λεπτά) κάθε εγγράφου. 16. Να γραφεί πρόγραµµα Pascal το οποίο να εµφανίζει στην οθόνη τους ακόλουθους ακέραιους αριθµούς: 21, 22,..., Ο σηµερινός αριθµός των αυτοκινήτων που κυκλοφορούν σε µία πόλη είναι ίσος µε Άν αυτός αυξάνεται κατά 8% το χρόνο, να γραφεί πρόγραµµα Pascal το οποίο να υπολογίζει και να εµφανίζει τον αριθµό των αυτοκινήτων τα οποία θα κυκλοφορούν στην ίδια πόλη µετά την πάροδο 10 ετών. 28

29 18. ίνεται το ακόλουθο τµήµα προγράµµατος: Χ:= 20; For I:= 1 to 3 do For J:= 10 downto 1 do Χ := X + (Ι 1); Writeln(Χ); If Χ > 95 then Υ := Χ + 5 ; Else Υ := 2 * Χ ; Writeln(Υ); Ι) Πόσες φορές θα εκτελεστεί η εντολή writeln(χ) ; ΙΙ) Ποία θα είναι η τιµή της Υ που θα εµφανισθεί ; 19. Να γραφεί πρόγραµµα Pascal δηµιουργίας και εµφάνισης στην οθόνη των ακόλουθων αριθµών: 2, 4, 2, 4, 2, 4, 2, 4, 2, Να γραφεί πρόγραµµα Pascal υπολογισµού και εµφάνισης του αθροίσµατος των θετικών περιττών ακέραιων αριθµών που είναι µικρότεροι από το Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει από το πληκτρολόγιο τις µηνιαίες πωλήσεις οι οποίες πραγµατοποιήθηκαν κατά την διάρκεια του έτους 1999 σε ένα κατάστηµα πώλησης ηλεκτρονικών ειδών και στη συνέχεια να υπολογίζει και να εµφανίζει το σύνολο αλλά και το πλήθος των µηνιαίων πωλήσεων οι οποίες υπερέβησαν το ποσό των Να γραφεί πρόγραµµα Pascal το οποίο: Α. να διαβάζει τα ονόµατα και τις ετήσιες εισπράξεις για κάθε µία από 30 εταιρίες κατασκευής προϊόντων υψηλής τεχνολογίας, Β. να βρίσκει και να εµφανίζει τα ονόµατα των εταιριών οι οποίες είχαν ετήσιες εισπράξεις µεγαλύτερες των

30 23. Να γραφεί πρόγραµµα Pascal το οποίο: Α. να διαβάζει τα µηνιαία έξοδα και τα µηνιαία έσοδα µιας επιχείρησης κατά τη διάρκεια ενός έτους, Β. να υπολογίζει και να εµφανίζει τον µέσο όρο των κερδών της. 24. Να γραφεί πρόγραµµα Pascal το οποίο: Α. να διαβάζει από το πληκτρολόγιο 100 ακέραιους αριθµούς, Β. να βρίσκει και να εµφανίζει πόσοι από αυτούς ήταν άρτιοι και πόσοι από αυτούς ήταν περιττοί, Γ. να υπολογίζει και να εµφανίζει τον µέσο όρο των άρτιων και τον µέσο όρο των περιττών αριθµών. 25. Να γραφεί πρόγραµµα Pascal υπολογισµού και εµφάνισης του αθροίσµατος των άρτιων θετικών αριθµών που είναι µικρότεροι /ίσοι από το ίνεται η ακόλουθη συνάρτηση: Υ = 2Χ + 5, αν 0 Χ 25 2Χ - 7, αν Χ > 25 Να γραφεί πρόγραµµα Pascal το οποίο: Α. να διαβάζει από το πληκτρολόγιο 15 πραγµατικές τιµές της Χ, Β. να υπολογίζει και να εµφανίζει (για κάθε τιµή της Χ) την αντίστοιχη τιµή της Υ. 27. Ένας ιδιώτης αγόρασε πρόσφατα έναν ασπρόµαυρο εκτυπωτή τύπου Laser. Το συγκεκριµένο µοντέλο έχει ονοµαστική ταχύτητα εκτύπωσης ίση µε 12 σελίδες / λεπτό. Έστω ότι ο εν λόγω ιδιώτης επιθυµεί να εκτυπώσει 10 έγγραφα. Λαµβάνοντας υπ όψιν τις παραπάνω πληροφορίες, Να γραφεί πρόγραµµα Pascal το οποίο να διαβάζει το πλήθος των σελίδων για κάθε ένα από τα παραπάνω έγγραφα και στη συνέχεια να υπολογίζει και να εµφανίζει τον συνολικό χρόνο που απαιτείται για την εκτύπωσή τους. 30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές Μεταβλητές 2 Δήλωση μεταβλητών Η δήλωση (declaration) πληροφορεί το μεταγλωττιστή για το όνομα και

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ Καλλιόπη Μαγδαληνού ΕΠΙΚΕΦΑΛΙΔΑ ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΗΛΩΣΕΙΣ ΣΤΑΘΕΡΩΝ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ πρόγραμμα τεστ σταθερές π = 3.14 μεταβλητές πραγματικές : εμβαδό, ακτίνα αρχή

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

Στην εντολή while η επανάληψη συνεχίζεται όσο η λογική έκφραση έχει τιμή false.

Στην εντολή while η επανάληψη συνεχίζεται όσο η λογική έκφραση έχει τιμή false. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις

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

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

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

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

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

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

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

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

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

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

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

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

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

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ/Γ' ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 17-1-2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Χ.ΠΑΠΠΑ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα

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

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

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

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

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

Κεφ 2. Βασικές Έννοιες Αλγορίθμων Κεφ 2. Βασικές Έννοιες Αλγορίθμων 2.7 Τι είναι οι μεταβλητές και τι οι σταθερές; ΑΠΑΝΤΗΣΗ Μεταβλητές: Μια μεταβλητή είναι μια θέση μνήμης του υπολογιστή με συγκεκριμένο όνομα, που χρησιμοποιείται για να

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

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

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

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

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

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

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

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3)

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3) ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: 1η ΗΜΕΡΟΜΗΝΙΑ: 28/11/2011 ΘΕΜΑ Α Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3) (β). ίνεται ο παρακάτω πίνακας που στην Στήλη 1 υπάρχουν κριτήρια κατηγοριοποίησης

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

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

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

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

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 16/04/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΝΝΕΑ (9) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

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

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

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

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

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

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α A1. ΚΥΡΙΑΚΗ 16/04/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΔΕΚΑΠΕΝΤΕ (15) ΑΠΑΝΤΗΣΕΙΣ 1-Σωστό

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

for for for for( . */

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

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

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

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών Εκχώρηση Τιμών 1. Σύνταξη Με την εντολή εκχώρησης: α) Ονομάζουμε μια θέση μνήμης, και β) προσδιορίζουμε το περιεχόμενό της Η σύνταξη της εντολής εκχώρησης είναι: ή

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

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

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

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

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

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

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών. (Μονάδες 8) Α2. α. να αναφέρετε ονομαστικά τα κριτήρια που πρέπει απαραίτητα να ικανοποιεί ένας αλγόριθμος.

Ανάπτυξη Εφαρμογών. (Μονάδες 8) Α2. α. να αναφέρετε ονομαστικά τα κριτήρια που πρέπει απαραίτητα να ικανοποιεί ένας αλγόριθμος. ΜΑΘΗΜΑ / ΤΑΞΗ : ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: Ανάπτυξη Εφαρμογών ΘΕΜΑ Α Α1. Να γράψετε τους αριθμούς 1-4 των προτάσεων και δίπλα τη λέξη Σωστή αν είναι σωστή ή τη λέξη Λάθος αν είναι λανθασμένη. 1 Οι μόνες λειτουργίες

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΦΑΣΜΑ 12/10/2014

ΦΡΟΝΤΙΣΤΗΡΙΟ ΦΑΣΜΑ 12/10/2014 Γ ΤΑΞΗ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α [40 μόρια] ΔΙΑΓΩΝΙΣΜΑ α) Να επιλέξτε το γράμμα Σ, αν μια πρόταση είναι σωστή και

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

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

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

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

οµές Επανάληψης Π1. Να αναπτύξετε αλγόριθµο που θα εκτυπώνει τους αριθµούς από το 1 ως το 10.

οµές Επανάληψης Π1. Να αναπτύξετε αλγόριθµο που θα εκτυπώνει τους αριθµούς από το 1 ως το 10. Οι δοµές επανάληψης εφαρµόζονται στις περιπτώσεις, όπου µια οµάδα εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι κοινό. Οι τρεις µορφές δοµών επανάληψης είναι: 1. Επαναληπτική οµή

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης) ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης) Τι είναι οι εντολές Ελέγχου και Επιλογής στην Pascal; Ποιες είναι οι εντολές Ελέγχου και Επιλογής στην Pascal;

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο 43 2.55 Ποιες είναι οι δύο μορφές της δομής πολλαπλής επιλογής και ποτέ χρησιμοποιείται; 1 η Μορφή:Η πολλαπλή επιλογή εφαρμόζεται στα προβλήματα όπου μπορούν να ληφθούν διαφορετικές αποφάσεις ανάλογα με

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

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

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

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

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

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Λύσεις µε κατάλληλο σχολιασµό και παρατηρήσεις σε θέµατα από παλαιότερες πανελλαδικές εξετάσεις. Γενικές οδηγίες και παρατηρήσεις κατά την αντιµετώπιση

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

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

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

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

Α.Ε.Π.Π. Προετοιμασία Γ Λυκείου

Α.Ε.Π.Π. Προετοιμασία Γ Λυκείου Β Λυκείου 29 / 04 / 2018 Α.Ε.Π.Π. Προετοιμασία Γ Λυκείου ΘΕΜΑ Α Α1. Να γράψετε τον αριθμό της κάθε πρότασης (1-5) και δίπλα τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν η πρόταση είναι

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

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

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

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

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα

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

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

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

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

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

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

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

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες Η Δομή Επανάληψης Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες Οι 2 πρώτες διδακτικές ώρες στην τάξη Η τρίτη διδακτική ώρα στο εργαστήριο Γενικός Διδακτικός Σκοπός Ενότητας Να εξοικειωθούν

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

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

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

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

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η χρήση των βασικών τελεστών της Γλώσσας Προγραµµατισµού C : αριθµητικοί τελεστές, τελεστές

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές Δρ. Γιώργος Λαμπρινίδης amprinidis@pharm.uoa.gr 1 Αριθμητικοί Τελεστές + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση Προσοχή! Διαίρεση

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

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΘΕΜΑ Α ΑΠΑΝΤΗΣΕΙΣ Α1. α. Παραβιάζει τα κριτήρια της καθοριστικότητας και της περατότητας β. Αιτιολόγηση: ο αλγόριθμος παραβιάζει το κριτήριο

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

ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008. Τµήµα ΓΤ2 Όνοµα:...

ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008. Τµήµα ΓΤ2 Όνοµα:... ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008 Τµήµα ΓΤ2 Όνοµα:... ΘΕΜΑ 1 ο. Α) Να γράψετε στο φύλλο απαντήσεών σας Σ εάν κρίνετε ότι η πρόταση είναι σωστή και

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

18/ 07/ Σελίδα 1 6

18/ 07/ Σελίδα 1 6 ΜΑΘΗΜΑ ΙΑΓΩΝΙΣΜΑ ΥΛΗ ΗΜΕΡΟΜΗΝΙΑ Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον 1o Επαναληπτικό ιαγώνισµα Εισαγωγικά στοιχεία αλγορίθµων - οµή Ακολουθίας 18/ 07/ 2016 Θέµα Α A1. Να γράψετε στο τετράδιό

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

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

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

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

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή Θεωρία επισκόπηση 1 Η μεταβλητή είναι ένα συμβολικό όνομα κάτω από το οποίο βρίσκεται μια τιμή, η οποία μπορεί να μεταβάλλεται κατά την εκτέλεση του αλγορίθμου 1. Τύποι Δεδομένων (Μεταβλητών και Σταθερών)

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

οµή Επιλογής Α. Κατηγορία προβληµάτων Β. Κριτήριο Αλγορίθµου Γ. Τρόπος αναπαράστασης αλγορίθµων . Είδος σταθεράς Ε. Λογική τιµή

οµή Επιλογής Α. Κατηγορία προβληµάτων Β. Κριτήριο Αλγορίθµου Γ. Τρόπος αναπαράστασης αλγορίθµων . Είδος σταθεράς Ε. Λογική τιµή οµή Επιλογής Θέµα Α Α1. Να χαρακτηρίσετε κάθε µία από τις παρακάτω προτάσεις µε Σ αν είναι σωστή ή Λ αν είναι λανθασµένη. 1. Όλες οι δοµές επιλογής κλείνουν µε την εντολή. 2. Η παρακάτω εντολή είναι σωστή

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ΕΚΦΩΝΗΣΕΙΣ

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

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

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

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων

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

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

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

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

3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους.

3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους. ΑΕσΠΠ-Δομή Επανάληψης 9 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1. Να γραφεί πρόγραμμα που να υπολογίζει το άθροισμα των πρώτων 100 φυσικών αριθμών. 2. Να τροποποιηθεί ο παραπάνω πρόγραμμα ώστε να υπολογίζει το άθροισμα των πρώτων

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

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 28 Απριλίου 2013 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ Α1.

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

Εντολή ΓΡΑΨΕ. Εντολή ιάβασε

Εντολή ΓΡΑΨΕ. Εντολή ιάβασε Προγραµµατισµός Ο προγραµµατιστής φτιάχνει προγράµµατα για να λύσει κάποια προβλήµατα. Για κάθε πρόβληµα πρέπει να σκεφτεί τον αλγόριθµο που θα ακολουθήσει για να λυθεί το πρόβληµα. Αλγόριθµος είναι τα

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

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

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

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