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



Σχετικά έγγραφα
ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΙΑ ΙΚΤΥΟ. ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΗΜΑΘΙΑΣ ΗΜΟΣ ΑΛΕΞΑΝ ΡΕΙΑΣ Αλεξάνδρεια, Αριθµ. Πρωτ.: 4699

62 η ΣΥΝΟΔΟΣ ΠΡΥΤΑΝΕΩΝ & ΠΡΟΕΔΡΩΝ Δ.Ε. ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΩΝ

ΥΠΟΜΝΗΜΑ ΣΕΒΕ ΣΤΟ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ Θεσσαλονίκη,

ΘΕΜΑ: «Παραθεριστικοί Οικοδοµικοί Συνεταιρισµοί. Μελέτη Περίπτωσης του «Βραχόκηπου» ήµου Γουβών Ηρακλείου Κρήτης»

ΚΕΦΑΛΑΙΟ 1 : ΙΣΤΟΡΙΚΗ ΕΞΕΛΙΞΗ. 1.1 Αρχαίοι χρόνοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

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

Οι Βαλκανικοί Πόλεµοι ( ) στα ελληνικά διδακτικά εγχειρίδια Ιστορίας (δευτεροβάθµιας εκπαίδευσης) της περιόδου

I.Επί της Αρχής του σχεδίου Νόµου: ΙΙ. Επί των άρθρων του σχεδίου Νόµου: ΕΙΣΗΓΗΤΙΚΗ ΕΚΘΕΣΗ

ΑΝΑΚΟΙΝΩΣΗ υπ' αριθµ. ΣΟΧ 1/2015 για τη σύναψη ΣΥΜΒΑΣΗΣ ΕΡΓΑΣΙΑΣ ΟΡΙΣΜΕΝΟΥ ΧΡΟΝΟΥ

ΤΜΗΜΑ ΣΥΝΤΗΡΗΣΗΣ ΗΜΟΤΙΚΩΝ αριθ. Πρωτ. Προκ: & ΣΧΟΛΙΚΩΝ ΚΤΙΡΙΩΝ Κ.Α για το 2015

ΕΝΕΡΓΕΙΑΚΑ ΦΥΤΑ. Ευκαιρία για την ελληνική γεωργία ; Γ. Ν. Σκαράκης Γεωπονικό Πανεπιστήµιο Αθηνών

ΑΝΩΝΥΜΗ ΤΕΧΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΤΗΣΙΟ ΕΛΤΙΟ

Έφη Κατσαδήµα, Αθηνά Νέγρη, Χρυσάνθη Παλαµά

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΜΑΘΗΜΑ: ΟΡΓΑΝΩΣΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΚΡΑΤΟΥΣ (ΣΥΝΤΑΓΜΑΤΙΚΟ ΙΚΑΙΟ)

ΟΡΟΙ ΠΡΟΧΕΙΡΟΥ ΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΑΝΑ ΕΙΞΗ ΑΝΑ ΟΧΟΥ ΗΜΟΣΙΕΥΣΗΣ ΤΩΝ ΠΕΡΙΛΗΨΕΩΝ ΙΑΓΩΝΙΣΜΩΝ ΤΗΣ Ο.Λ.Θ. Α.Ε.

ΠΑΡΑΡΤΗΜΑ ΠΡΩΤΟ ΤΗΣ ΕΠΙΣΗΜΗΣ ΕΦΗΜΕΡΙ ΑΣ ΤΗΣ ΗΜΟΚΡΑΤΙΑΣ. Αρ της 25ης ΟΚΤΩΒΡΙΟΥ 2002 ΝΟΜΟΘΕΣΙΑ ΜΕΡΟΣ Ι

/νση: ΧΑΡΑΚΟΠΟΥΛΟΣ ΧΡΗΣΤΟΣ Μ. Αλεξάνδρου 49, 66100, ράµα Τηλ&φαξ: , κιν.: info@akademia.

ΣΥΛΛΟΓΙΚΗ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ. Για τους όρους αµοιβής και εργασίας των Εργαζοµένων στις Ξενοδοχειακές Επιχειρήσεις Νοµού Χανίων

( ) Τοµέας Εϖιµόρφωσης & Κατάρτισης

ΠΡΟΣ: ΚΟΙΝ: ΘΕΜΑ: Ενηµερωτικό σηµείωµα για το πρόβληµα της παράνοµης υλοτοµίας και ειδικά αυτό της καυσοξύλευσης

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΠΕΛΛΑΣ ΗΜΟΣ Ε ΕΣΣΑΣ

Αφήγηση. Βασικά στοιχεία αφηγηµατικού κειµένου:

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

ΣΥΛΛΟΓΙΚΗ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ. «Για τους όρους αµοιβής και εργασίας των καθηγητών ιδιωτικών τεχνικών και επαγγελµατικών εκπαιδευτηρίων όλης της χώρας»

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

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

Αριθµ. Απόφασης: 445 / 2014

Επενδυτικός Νόµος 3908/2011: Ειδικό Καθεστώς Επιχειρηµατικότητας των Νέων

ΕΤΟΣ Συνεδρίαση 171/

Πολλαπλασιασµός, καλλιέργεια και µεταποίηση Ελληνικών αρωµατικών- φαρµακευτικών φυτών Νοεµβρίου 2015

στο σχέδιο νόµου «Διαχείριση των µη εξυπηρετούµενων δανείων, µισθολογικές ρυθµίσεις και άλλες επείγουσες στόχων και διαρθρωτικών µεταρρυθµίσεων»

Δ Ι Α Κ Η Ρ Υ Ξ Η ΑΡΙΘΜ. 10/2015 ΠΡΟΧΕΙΡΟΥ ΜΕΙΟΔΟΤΙΚΟΥ ΔΙΑΓΩΝΙΣΜΟΥ

ΑΣΦΑΛΙΣΗ ΣΚΑΦΩΝ ΑΝΑΨΥΧΗΣ ΣΤΑΤΙΣΤΙΚΑ ΣΤΟΙΧΕΙΑ ΕΤΟΥΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Πρώτες βοήθειες και αντιλήψεις του πληθυσμού στους Νομούς Χανίων, Ηρακλείου, Λασιθίου και Μεσσηνίας

Συλλόγου ιπλωµατούχων Νοσηλευτριών και Νοσηλευτών Χειρουργείου

Τ.Ε.Ι. ΚΑΛΑΜΑΤΑΣ ΣΧΟΛΗ: ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ ΤΜΗΜΑ: ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΡΓΙΚΩΝ ΠΡΟΪΟΝΤΩΝ ΓΙΩΡΓΟΣ ΜΑΧΑΙΡΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΑΔΑ: Β4ΣΚΩ10-Ρ5Ε ΟΡΘΗ ΕΠΑΝΑΛΗΨΗ

Ελληνική παιδική λογοτεχνία επιστηµονικής φαντασίας. Από την αποικιοκρατία και την απολυταρχία στη δηµοκρατική διαπαιδαγώγηση των παιδιών.

15PROC

1ο Γυμνάσιο Πατρών. Ημερολόγιο Πολιτιστικού προγράμματος Σχολ. Έτος

A1. Να γράψετε στο τετράδιό σας την περίληψη του κειμένου που σας δόθηκε ( λέξεις). Μονάδες 25

ΕΛΤΙΟ ΤΥΠΟΥ ΕΡΕΥΝΑ ΕΡΓΑΤΙΚΟΥ ΥΝΑΜΙΚΟΥ: Γ ΤΡΙΜΗΝΟ 2014 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 18 εκεµβρίου 2014

: Aύξηση φόρου εισοδήµατος, και µείωση µισθών

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

ΑΠΟΦΑΣΗ 34750/2006 (Αριθμός καταθέσεως πράξεως 43170/2006) ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 13ης/2013, συνεδρίασης του Περιφερειακού Συμβουλίου την Τρίτη 9 Ιουλίου 2013 στην Κέρκυρα με τηλεδιάσκεψη.

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

ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ. στο σχέδιο νόµου «ιατήρηση δεδοµένων που παράγονται ή υποβάλλονται σε επεξεργασία σε συνάρτηση

ΙΑΚΗΡΥΞΗ. Αριθµός-Α/Α Συστήµατος : 13142

Μια Σύνοψη του έργου της Ε. Π. Μπλαβάτσκυ «Η Μυστική οξασία»

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

ΙΑ ΙΚΑΣΙΑ Σ ΕΠ ΠΟΛΙΤΙΚΗ ΠΡΟΜΗΘΕΙΩΝ ( Π.3.4.1) 1. ΣΚΟΠΟΣ

Ο ΧΡΥΣΟΣ ΑΙΩΝΑΣ (5ος αιώνας π.χ) Τερεζάκη Χρύσα Μιχαήλ Μαρία Κουφού Κωνσταντίνα

Η γενοκτονία των Ποντίων 1 (11)

Το Ψυχολογικό Κλίμα της Σχολικής Τάξης στο Ελληνικό Δημοτικό Σχολείο

Μαρξ, Κ. (2007). "Κριτική του προγράµµατος της Γκότα", σ. 37.

Ενότητα 2. Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΕΣΩΤΕΡΙΚΩΝ ΑΝΑΠΛΗΡΩΤΗΣ ΥΠΟΥΡΓΟΣ Προς: Δημάρχους της Χώρας Αθήνα, 16 Δεκεμβρίου 2013 Α.Π.:2271. Αγαπητέ κ.

ΓΝΩΜΟ ΟΤΗΣΗ. Κώστας Χ. Χρυσόγονος Καθηγητής Συνταγµατικού ικαίου Τµήµα Νοµικής Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης

Ι Α Κ Η Ρ Υ Ξ Η Νο 19/2013

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

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

O ΑΓΩΝΑΣ ΤΟΥ ΕΦΗΒΟΥ ΓΙΑ ΑΝΕΞΑΡΤΗΣΙΑ

ΕΘΝΙΚΟ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 21ης/2013, συνεδρίασης του Περιφερειακού Συμβουλίου την Σάββατο 1 Νοεμβρίου 2013 στην Κέρκυρα.

ΕΛΤΡΑΚ Α.Ε. ΕΝ ΙΑΜΕΣΕΣ ΟΙΚΟΝΟΜΙΚΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ΓΙΑ ΤΟ ΕΝΝΕΑΜΗΝΟ ΤΟΥ 2005 ΣΥΜΦΩΝΑ ΜΕ ΤΑ ΙΕΘΝΗ ΠΡΟΤΥΠΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΠΛΗΡΟΦΟΡΗΣΗΣ ( ΠΧΠ)

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

Αν και νόµιµα προσκλήθηκαν 1. ΒΟΡΕΑΣ ΣΕΒΑΣΤΟΣ ΗΜΟΤ.ΣΥΜΒΟΥΛΟΣ (προσήλθε) 2. ΜΙΧΑΛΕΛΗΣ ΗΜΗΤΡΙΟΣ «(προσήλθε) 1

ΠΑΣΚ ΔΙΚΑΣΤΙΚΩΝ ΥΠΑΛΛΗΛΩΝ

ΠΡΟΣ: ου κατοικοεδρεύει οµοίως ως άνω.

Μονταίνι οκίµια Κριτική της Ιερής Εξέτασης και των θεολογικών συζητήσεων Αγγλία Θωµάς Μουρ Το νησί Ουτοπία

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

ΥΠ.Ε.Π.Θ. / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ»

ΠΕΡΙΦΕΡΕΙΑ ΑΤΤΙΚΗΣ ΕΣΠΑ

-*- SPORΤDAY. 2 3 ο Η επόµενη µέρα της ΑΕΚ και του Ντέµη

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

ΑΝΑΚΟΙΝΩΣΗ υπ αριθµ. ΣΟΧ 38/2015 για τη σύναψη ΣΥΜΒΑΣΗΣ ΕΡΓΑΣΙΑΣ ΟΡΙΣΜΕΝΟΥ ΧΡΟΝΟΥ ΤΑ ΕΛΛΗΝΙΚΑ ΤΑΧΥ ΡΟΜΕΙΑ Α.Ε.

ΣΧΕΔΙΟ ΝΟΜΟΥ ΕΝΙΣΧΥΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΤΗΣ ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗΣ ΤΕΧΝΗΣ ΚΑΙ ΑΛΛΕΣ ΔΙΑΤΑΞΕΙΣ. Γενικές Αρχές και Ορισμοί. Άρθρο 1 Γενικές αρχές

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

ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιµαριθµική 2012Γ

ΝΟΜΟΣ ΕΒΡΟΥ Αριθµ.πρωτ.: 385 ΗΜΟΤΙΚΗ ΚΟΙΝΩΦΕΛΗΣ ΕΠΙΧΕΙΡΗΣΗ ΠΟΛΙΤΙΣΤΙΚΗΣ ΑΝΑΠΤΥΞΗΣ ΟΡΕΣΤΙΑ ΑΣ ( H.Κ.Ε.Π.Α.Ο.)

Συµπεράσµατα από την ανάλυση συχνοτήτων στη Γεωµετρία Α Λυκείου. Για το 1 ο θέµα που αφορά τη θεωρία:

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Π Πιλοτική εφαρµογή και αξιολόγηση αντιπροσωπευτικού αριθµού σεναρίων από κάθε τύπο σε διαφοροποιηµένες εκπαιδευτικές συνθήκες πραγµατικής τάξης

Άρθρο 2 -Καταχώρηση και τήρηση στοιχείων σε ηλεκτρονική µορφή

ΝΟΜΟΣ 3263/2004 (ΦΕΚ 179 Α ) Μειοδοτικό σύστηµα ανάθεσης των δηµοσίων έργων και άλλες διατάξεις

ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

ΚΕΦΑΛΑΙΟ 7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΤΑΣΕΙΣ

Κύκλος Κοινωνικής Προστασίας ΠΟΡΙΣΜΑ

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

ΘΕΜΑ Α2 Α.2.1. σελ.22: «Στη διάρκεια να εκµεταλλευτούν οι Έλληνες» Α.2.2. σελ : «Στην αρχή η περίθαλψη της προηγούµενης εγκατάστασης».

Προς Σωματεία Δύναμης Ε.Φ.Ο.Τ.

Νεοελληνική Λογοτεχνία Θεωρητικής Κατεύθυνσης Α1. Β1. Ορόσημο Τηλ

1. ΧΕΙΜΩΝΑΣ ΑΘΑΝΑΣΙΟΣ ΓΡΑΜΜΑΤΕΑΣ 2. ΚΑΛΑΙΤΖΗ ΚΑΛΛΙΟΠΗ 3. ΜΟΥΡΝΟΣ ΔΗΜΗΤΡΙΟΣ 4. ΜΠΟΛΑΡΗΣ ΜΑΡΚΟΣ 5. ΣΠΥΡΟΠΟΥΛΟΣ ΠΑΝΑΓΙΩΤΗΣ 6. ΚΑΡΑΜΙΣΑΚΗ ΜΙΧΑΛΙΑ

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Οι Πρωτεύσαντες Ε Δημοτικού στον 1ο Πανελλήνιο Διαγωνισμό Φυσικών 2013 (τα ονόματα των 314 -λόγω ισοβαθμιών- πρώτων)

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

Πρακτικό 1/2012 της συνεδρίασης της Δημοτικής Επιτροπής Διαβούλευσης του Δήμου Λήμνου,

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

Transcript:

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

Πίνακες (Γενικά) Ένας πίνακας είναι ένας δοµηµένος τύπος δεδοµένων ο οποίος αποτελείται από στοιχεία. Κάθε στοιχείο είναι του ίδιου τύπου. ηλαδή, σε έναν πίνακα µπορούµε να αποθηκεύουµε είτε µόνο αριθµητικές τιµές, είτε µόνο χαρακτήρες, είτε µόνο λογικές. Αναγκαζόµαστε να χρησιµοποιήσουµε πίνακα σε ένα πρόγραµµα όταν πρέπει να θυµόµαστε τα δεδοµένα που διαβάζει το πρόγραµµα. Οι Πίνακες διακρίνονται σε 2 κατηγορίες: τους µονοδιάστατους και τους πολυδιάστατους. Όταν χρησιµοποιούµε πίνακα χρειαζόµαστε πάντα δείκτη. Θα έχουµε ένα δείκτη αν πρόκειται για µονοδιάστατο, δύο ή /και περισσότερους δείκτες για πολυδιάστατο πίνακα. Στα πλαίσια αυτών των σηµειώσεων, για διευκόλυνση των αναγνωστών, η αναφορά µας για τους πολυδιάστατους πίνακες θα περιοριστεί µόνο στους διασδιάστατους πίνακες. Μονοδιάστατοι Πίνακες Ένας πίνακας ονοµάζεται µονοδιάστατος όταν έχει 1 µόνο γραµµή και τουλάχιστο 2 στήλες. Για παράδειγµα ο πίνακας Α = [4, -9, 10, 15, 7] είναι µονοδιάστατος διότι: Έχει 1 γραµµή και 5 στήλες. Εποµένως είναι διαστάσεων 1 x 5. Οι στήλες σε ένα µονοδιάστατο πίνακα ονοµάζονται θέσεις. Σε κάθε θέση ενός µονοδιάστατου πίνακα αποθηκεύεται µια τιµή. Στον παραπάνω πίνακα Α ισχύει ότι: Α[1] := 4. ηλαδή στην 1η θέση του πίνακα Α είναι αποθηκευµένη η αριθµητική τιµή (δηλαδή ο αριθµός) 4, Α[2] := -9. ηλαδή στη 2η θέση του πίνακα Α είναι αποθηκευµένη η αριθµητική τιµή (δηλαδή ο αριθµός) -9. Οµοίως και για τα υπόλοιπα στοιχεία του πίνακα Α. Κάθε στοιχείο ενός µονοδιάστατου πίνακα αποτελείται από 2 µέρη: Τον αριθµό θέσης στον οποίο αναφέρεται. Την τιµή που είναι αποθηκευµένη σε αυτό. Παρατηρήστε την εντολή Α[1] := 4. Το 1 είναι ο αριθµός θέσης του πίνακα Α στον οποίο αναφέρεται το στοιχείο Α[1]. Το 4 είναι η τιµή που βρίσκεται αποθηκευµένη στο στοιχείο Α[1]. Ο αριθµός θέσης του πίνακα ονοµάζεται δείκτης. Ο δείκτης λαµβάνει πάντα ακέραιες τιµές. Στον πίνακα Α έχουµε 5 θέσεις. Άρα ο δείκτης λαµβάνει 5 διαφορετικές τιµές. ηλαδή την τιµή 1, 2, 3, 4, 5. Αν θέλαµε να δηλώσουµε τον πίνακα Α σε ένα πρόγραµµα, θα είχαµε ότι: Α:array[1..4] of integer; Γενικά η δήλωση ενός µονοδιάστατου πίνακα σε ένα πρόγραµµα έχει την ακόλουθη µορφή: Όνοµα_Πίνακα: array[απθ.. ΑΤΘ] of Τύπος_Στοιχείων_Πίνακα ; 46

Όπου: ΑΠΘ είναι ο αριθµός της πρώτης θέσης του πίνακα και ΑΤΘ είναι ο αριθµός της τελευταίας θέσης του πίνακα. Σηµειώνεται ότι εντός του σώµατος του προγράµµατος δεν θα πρέπει να γίνεται αναφορά σε στοιχείο του πίνακα το οποίο δεν υπάρχει. Για παράδειγµα, στον προηγούµενο πίνακα Α, όταν δηλώνουµε ότι η αρίθµηση των θέσεών του ξεκινά από το 1 και καταλήγει στο 4 σηµαίνει ότι όπου το πρόγραµµα δει Α[1], Α[2], Α[3], Α[4] θα τα δεχθεί. Αν όµως δει Α[0] ή Α[5] ή γενικά οποιοδήποτε στοιχείο που δεν ανήκει µεταξύ των θέσεων 1 µέχρι και 4 δεν θα τα δεχθεί. ΜΟΝΟ ΙΑΣΤΑΤΟΙ 1: Να γραφεί πρόγραµµα που να διαβάζει τις πωλήσεις µιας εταιρίας για κάθε έναν από τους 12 πρώτους µήνες λειτουργίας της και να τις αποθηκεύει σε έναν πίνακα. Program MONODIASTATOI_1; Ι:integer; Α:array[1..12] of real; For I:= 1 to 12 do Write( ώστε πωλήσεις µήνα, Ι); Readln(A[I]) ΜΟΝΟ ΙΑΣΤΑΤΟΙ 2: Να γραφεί πρόγραµµα που να διαβάζει τις πωλήσεις µιας εταιρίας για κάθε έναν από τους 12 πρώτους µήνες λειτουργίας της και να τις αποθηκεύει σε έναν πίνακα. Στη συνέχεια, να υπολογίζει και να εµφανίζει το µέσο όρο όλων των πωλήσεων. Program MONODIASTATOI_2; Ι: integer; Α:array[1..12] of real; S, MO: real; S:=0; For I:= 1 to 12 do Write( ώστε πωλήσεις µήνα, Ι); Readln(A[I]) For I:= 1 to 12 do S := S + A[I] ΜΟ := S / 12 ; Writeln( Μέσος Όρος Πωλήσεων, ΜΟ:2:2) Program MONODIASTATOI_2_TROPOS2; Ι: integer; Α:array[1..12] of real; S, MO: real; S:=0; For I:= 1 to 12 do Write( ώστε πωλήσεις µήνα, Ι); Readln(A[I]); 47

S := S + A[I] ΜΟ := S / 12 ; Writeln( Μέσος Όρος Πωλήσεων, ΜΟ:2:2) ΜΟΝΟ ΙΑΣΤΑΤΟΙ 3: Α) Να διαβάζει τις πωλήσεις µιας εταιρίας για κάθε έναν από τους 12 πρώτους µήνες λειτουργίας της και να τις αποθηκεύει σε έναν πίνακα. Β) Να υπολογίζει και να εµφανίζει το µέσο όρο όλων των πωλήσεων. Γ) Να βρίσκει και να εµφανίζει το πλήθος των πωλήσεων οι οποίες υπερέβησαν το µέσο όρο όλων των πωλήσεων. Program MONODIASTATOI_3; Ι, PLITHOS: integer; Α:array[1..12] of real; S, MO: real; S:=0; PLITHOS:=0; For I:= 1 to 12 do Write( ώστε πωλήσεις µήνα, Ι); Readln(A[I]); S := S + A[I] ΜΟ := S / 12 ; Writeln( Μέσος Όρος Πωλήσεων, ΜΟ:2:2); For I:= 1 to 12 do If Α[Ι] > ΜΟ then PLITHOS := PLITHOS + 1 Writeln( Πωλήσεις µεγαλύτερες του µέσου όρου, PLITHOS) ΜΟΝΟ ΙΑΣΤΑΤΟΙ 4: Α) Να διαβάζει τις πωλήσεις µιας εταιρίας για κάθε έναν από τους 12 πρώτους µήνες λειτουργίας της και να τις αποθηκεύει σε έναν πίνακα. Β) Να βρίσκει και να εµφανίζει τις ελάχιστες και τις µέγιστες πωλήσεις. Program MONODIASTATOI_4; Ι:integer; Α:array[1..12] of real; MIN, MAX: real; For I:= 1 to 12 do Write( ώστε πωλήσεις µήνα, Ι); Readln(A[I]); 48

ΜΙΝ:= Α[1]; {Αρχική τιµή ελαχίστων πωλήσεων} ΜΑΧ:= Α[1]; {Αρχική τιµή µεγίστων πωλήσεων} For I:= 2 to 12 do If Α[Ι] < ΜΙΝ then ΜΙΝ:= Α[Ι]; Iif Α[Ι] > ΜΑΧ then MAX:= A[I]; Writeln( Οι ελάχιστες πωλήσεις ήταν, ΜΙΝ:2:2); Writeln( Οι µέγιστες πωλήσεις ήταν, ΜΑΧ:2:2) Αριθµητικό Παράδειγµα για το πρόγραµµα MONODIASTATOI_4 Έστω ότι υπάρχουν οι πωλήσεις 5 µηνών αποθηκευµένες στον πίνακα: Α = [15.000, 3.000, 8.000, 1.000, 20.000] Αρχικά υποθέτουµε ότι: ΜΙΝ := Α[1] ( ηλαδή ΜΙΝ := 15.000). ηλαδή, έστω ότι ΑΡΧΙΚΑ (πριν ξεκινήσουµε να ελέγχουµε µια προς µια τις πωλήσεις) οι απολύτως µικρότερες πωλήσεις ήταν οι πρώτες. ηλαδή, οι πωλήσεις του 1ου µήνα. ΜΑΧ := Α[1] ( ηλαδή ΜΑΧ := 15.000). ηλαδή, έστω ότι ΑΡΧΙΚΑ (πριν ξεκινήσουµε να ελέγχουµε µια προς µια τις πωλήσεις) οι απολύτως µεγαλύτερες πωλήσεις ήταν οι πρώτες. ηλαδή, οι πωλήσεις του 1ου µήνα. Ξεκινώντας την εύρεση των ΜΙΝ και ΜΑΧ έχουµε ότι: Όταν Ι := 2 (Είµαστε στην 2η θέση του πίνακα). Η συνθήκη Α[2] < ΜΙΝ δίνει ως αποτέλεσµα ΑΛΗΘΗΣ. Εποµένως, θα ισχύει ότι: ΜΙΝ := Α[2]. ηλαδή ΜΙΝ := 3.000. Η συνθήκη Α[2] > ΜΑΧ δίνει ως αποτέλεσµα ΨΕΥ ΗΣ. Εποµένως, εξακολουθεί να ισχύει ότι: ΜΑΧ := Α[1]. Όταν Ι := 3 (Είµαστε στην 3η θέση του πίνακα). Η συνθήκη Α[3] < ΜΙΝ δίνει ως αποτέλεσµα ΨΕΥ ΗΣ. Εποµένως, εξακολουθεί να ισχύει ότι: ΜΙΝ := Α[2]. Η συνθήκη Α[3] > ΜΑΧ δίνει ως αποτέλεσµα ΨΕΥ ΗΣ. Εποµένως, εξακολουθεί να ισχύει ότι: ΜΑΧ := Α[1]. Όταν Ι := 4 (Είµαστε στην 4η θέση του πίνακα). Η συνθήκη Α[4] < ΜΙΝ δίνει ως αποτέλεσµα ΑΛΗΘΗΣ. Εποµένως, θα ισχύει ότι: ΜΙΝ := Α[4]. ηλαδή ΜΙΝ := 1.000. Η συνθήκη Α[4] > ΜΑΧ δίνει ως αποτέλεσµα ΨΕΥ ΗΣ. Εποµένως, εξακολουθεί να ισχύει ότι: ΜΑΧ := Α[1]. Όταν Ι := 5 (Είµαστε στην 5η θέση του πίνακα). Η συνθήκη Α[5] < ΜΙΝ δίνει ως αποτέλεσµα ΨΕΥ ΗΣ. Εποµένως, εξακολουθεί να ισχύει ότι: ΜΙΝ := Α[4]. Η συνθήκη Α[5] > ΜΑΧ δίνει ως αποτέλεσµα ΑΛΗΘΗΣ. Εποµένως, θα ισχύει ότι: ΜΑΧ := Α[5]. ηλαδή, ΜΑΧ := 20.0000. Οι τελικές τιµές θα είναι: ΜΙΝ := 1.000 και ΜΑΧ := 20.000. Συνήθως ισχύει ότι: ΜΙΝ αρχ <> ΜΙΝ τελ και ΜΑΧ αρχ <> ΜΑΧ τελ, όπου: αρχ = αρχική τιµή µεταβλητής τελ = τελική τιµή µεταβλητής 49

ΜΟΝΟ ΙΑΣΤΑΤΟΙ 5: Α) Να διαβάζει τις πωλήσεις µιας εταιρίας για κάθε έναν από τους 12 πρώτους µήνες λειτουργίας της και να τις αποθηκεύει σε έναν πίνακα, Β) Να βρίσκει και να εµφανίζει τις ελάχιστες και τις µέγιστες πωλήσεις, Γ) Να βρίσκει και να εµφανίζει το µήνα στον οποίο σηµειώθηκαν οι ελάχιστες πωλήσεις καθώς και το µήνα στον οποίο σηµειώθηκαν οι µέγιστες πωλήσεις. Program MONODIASTATOI_5; Ι, POSMIN, POSMAX:integer; Α:array[1..12] of real; MIN, MAX: real; For I:= 1 to 12 do Write( ώστε πωλήσεις µήνα, Ι); Readln(A[I]); ΜΙΝ:= Α[1]; {Αρχική τιµή ελαχίστων πωλήσεων} ΜΑΧ:= Α[1]; {Αρχική τιµή µεγίστων πωλήσεων} POSMIN:=1; {Αρχική τιµή µήνα ελαχίστων πωλήσεων} POSMIN:=1; {Αρχική τιµή µήνα µεγίστων πωλήσεων} For I:= 2 to 12 do If Α[Ι] < ΜΙΝ then ΜΙΝ:= Α[Ι]; POSMIN:= I If Α[Ι] > ΜΑΧ then MAX:= A[I]; POSMAX:=I Writeln( Οι ελάχιστες πωλήσεις ήταν, ΜΙΝ:2:2); Writeln( Οι µέγιστες πωλήσεις ήταν, ΜΑΧ:2:2); Writeln( Ο µήνας των ελαχίστων πωλήσεων ήταν, POSΜΙΝ); Writeln( Ο µήνας των µεγίστων πωλήσεων ήταν, POSΜAX) ΜΟΝΟ ΙΑΣΤΑΤΟΙ 6 (Παράλληλοι Πίνακες): Α) Να διαβάζει τον αριθµό των εισιτηρίων που έκοψαν 12 ταινίες, Β) Να διαβάζει τον τίτλο κάθε ταινίας, Γ) Να βρίσκει και να εµφανίζει το µικρότερο αριθµό εισιτηρίων καθώς και τον τίτλο της ταινίας για την οποία πραγµατοποιήθηκε και να βρίσκει και να εµφανίζει το µεγαλύτερο αριθµό εισιτηρίων καθώς και τον τίτλο της ταινίας για την οποία πραγµατοποιήθηκε. 50

Program MONODIASTATOI_6_TROPOS1; Ι, POSMIN, POSMAX: integer; Α: array[1..12] of real; B: array[1..12] of string; MIN, MAX: real; For I:= 1 to 12 do Write( ώστε αριθµό εισιτηρίων, Ι:2, ταινίας ); Readln(A[I]); Write( ώστε τίτλο, Ι:2, ταινίας ); Readln(B[I]) ΜΙΝ:= Α[1]; ΜΑΧ:= Α[1]; POSMIN:=1; POSMIN:=1; For I:= 2 to 12 do If Α[Ι] < ΜΙΝ then ΜΙΝ:= Α[Ι]; POSMIN:= I If Α[Ι] > ΜΑΧ then MAX:= A[I]; POSMAX:=I Writeln( Ο ελάχιστος αριθµός εισιτηρίων ήταν, ΜΙΝ:2:2); Writeln( Σηµειώθηκε στην ταινία µε τον τίτλο, B[POSΜΙΝ]); Writeln( Ο µέγιστος αριθµός εισιτηρίων ήταν, ΜΑΧ:2:2); Writeln( Σηµειώθηκε στην ταινία µε τον τίτλο, B[POSΜΑΧ]) Φυσική Σηµασία Μεταβλητών Η µεταβλητή Ι µετρά κάθε µια από τις 12 ταινίες. Γνωρίζοντας ότι τα εισιτήρια κάθε ταινίας αποθηκεύονται σε ένα µονοδιάστατο πίνακα 12 θέσεων, η µεταβλητή Ι είναι και ο δείκτης των θέσεων του πίνακα Α. Επίσης, η µεταβλητή Ι µας δείχνει τον αριθµό κάθε ταινίας. Η µεταβλητή Α[Ι] είναι ο αριθµός των εισιτηρίων της ταινίας η οποία έχει τον αριθµό Ι. Η µεταβλητή Β[Ι] είναι ο τίτλος της ταινίας η οποία έχει τον αριθµό Ι. Η µεταβλητή ΜΙΝ είναι ο απολύτως µικρότερος αριθµός εισιτηρίων. Η µεταβλητή ΜΑΧ είναι ο απολύτως µεγαλύτερος αριθµός εισιτηρίων. Η µεταβλητή POSΜΙΝ είναι ο αριθµός της ταινίας στην οποία σηµειώθηκε ο απολύτως µικρότερος αριθµός εισιτηρίων (Βλέπε POSΜΙΝ := Ι). Η µεταβλητή POSΜΑΧ είναι ο αριθµός της ταινίας στην οποία σηµειώθηκε ο απολύτως µεγαλύτερος εισιτηρίων (Βλέπε POSΜΑΧ := Ι). Η µεταβλητή Β[POSΜΙΝ] είναι ο τίτλος της ταινίας στην οποία σηµειώθηκε ο απολύτως µικρότερος αριθµός εισιτηρίων 51

Η µεταβλητή Β[POSΜΑΧ] είναι ο τίτλος της ταινίας στην οποία σηµειώθηκε ο απολύτως µεγαλύτερος αριθµός εισιτηρίων. Program MONODIASTATOI_6_TROPOS2; Ι:integer; Α: array[1..12] of real; B: array[1..12] of string; MIN, MAX: real; POSMIN, POSMAX: string; For I:= 1 to 12 do Write( ώστε αριθµό εισιτηρίων, Ι:2, ταινίας ); Readln(A[I]); Write( ώστε τίτλο, Ι:2, ταινίας ); Readln(B[I]) ΜΙΝ:= Α[1]; ΜΑΧ:= Α[1]; POSMIN:=B[1]; POSMIN:=B[1]; For I:= 2 to 12 do If Α[Ι] < ΜΙΝ then ΜΙΝ:= Α[Ι]; POSMIN:= B[I] If Α[Ι] > ΜΑΧ then MAX:= A[I]; POSMAX:=B[I] Writeln( Ο ελάχιστος αριθµός εισιτηρίων ήταν, ΜΙΝ:2:2); Writeln( Σηµειώθηκε στην ταινία µε τον τίτλο, POSΜΙΝ); Writeln( Ο µέγιστος αριθµός εισιτηρίων ήταν, ΜΑΧ:2:2); Writeln( Σηµειώθηκε στην ταινία µε τον τίτλο, POSΜΑΧ) Σηµείωση1: Το παραπάνω πρόγραµµα στηρίχθηκε στην υπόθεση ότι η εισαγωγή του αριθµού των εισιτηρίων κάθε ταινίας γίνεται παράλληλα µε την εισαγωγή του τίτλου κάθε ταινίας. ηλαδή, τα εισιτήρια της ταινίας 1 (το Α[1]) αντιστοιχούν µε τον τίτλο της ταινίας 1 (το Β[1]), τα εισιτήρια της ταινίας 2 (το Α[2]) αντιστοιχούν µε τον τίτλο της ταινίας 2 (το Β[2]). Οµοίως και για τις επόµενες ταινίες. Σηµείωση2: Και οι 2 τρόποι είναι ισοδύναµοι (δηλαδή έχουν όµοια αποτελέσµατα). Όµως ο TROPOS1 πλεονεκτεί στο γεγονός ότι το πρόγραµµα βρίσκει πρώτα τον αριθµό της ταινίας στην οποία σηµειώθηκε ο µικρότερος αριθµός εισιτηρίων όπως επίσης και τον αριθµό της ταινίας στην οποία σηµειώθηκε ο µεγαλύτερος αριθµός εισιτηρίων και στη συνέχεια εµφανίζει τους αντίστοιχους τίτλους των ταινιών αυτών. Αυτό έχει ως συνέπεια ότι το πρόγραµµα (µέχρι και να τερµατιστεί) θυµάται τους αριθµούς αυτούς (ανεξάρτητα αν δε ζητά η εκφώνηση να εµφανιστούν). Αν όµως η εκφώνηση ζητούσε (εκτός από τους τίτλους) να εµφανιστούν και οι αριθµοί των ταινιών αυτών, τότε ο TROPOS2 δεν θα µπορούσε να παρουσιαστεί ως σωστός διότι απλά δεν υπάρχουν εντολές στο σώµα του προγράµµατος που να θυµούνται αυτούς τους αριθµούς. ΜΟΝΟ ΙΑΣΤΑΤΟΙ 7: Να γραφεί πρόγραµµα δηµιουργίας του ακόλουθου πίνακα: Α = [0, 2, 4, 6, 8,..., 20] 52

Program MONODIASTATOI_7; Ι, Κ: integer; Α: array[1..11] of integer; Κ:= 0; For I:= 1 to 11 do Α[Ι]:= Κ; Κ:= Κ + 2 Παρατηρήσεις: Το ΠΛΗΘΟΣ των τιµών που πρέπει να αποθηκευτούν στον πίνακα Α είναι ΕΙΝΑΙ ΓΝΩΣΤΟ. ηλαδή, πρέπει να αποθηκευθούν 11 ακέραιοι αριθµοί. Η ΣΕΙΡΑ ΑΠΟΘΗΚΕΥΣΗΣ των παραπάνω τιµών ΕΙΝΑΙ ΑΥΣΤΗΡΑ ΚΑΘΟΡΙΣΜΕΝΗ. ηλαδή, στην 1η θέση του πίνακα Α πρέπει να αποθηκευθεί η τιµή 0 (το πρώτο στοιχείο του Α πρέπει να είναι το µηδέν), στη 2η θέση του πίνακα Α πρέπει να αποθηκευθεί ο αριθµός 2 (το δεύτερο στοιχείο του Α πρέπει να είναι ο αριθµός 2). Οµοίως και για τις υπόλοιπες θέσεις του πίνακα. Από τις 2 προηγούµενες παρατηρήσεις, είναι προφανές ότι στο συγκεκριµένο πρόγραµµα ΕΝ πρέπει να δίνει ο χρήστης του τις τιµές. ηλαδή, δεν πρέπει να χρησιµοποιηθεί η εντολή read. Από τα παραπάνω συµπεραίνουµε ότι χρειαζόµαστε µία µεταβλητή η οποία θα εκτελεί χρέη δείκτη των θέσεων του µονοδιάστατου πίνακα, έστω Ι (διότι µονοδιάστατος πίνακας χωρίς δείκτη ΕΝ υπάρχει) αλλά και µία µεταβλητή η οποία θα εκτελεί χρέη δηµιουργού των προς αποθήκευση τιµών, έστω Κ. Η µεταβλητή Ι θα πρέπει να λαµβάνει τιµές από το 1 µέχρι και το 11 διότι η αρίθµηση των θέσεων του συγκεκριµένου πίνακα ξεκινά από το 1 και σταµατά στο 11. Η µεταβλητή Κ θα πρέπει να ξεκινά από το µηδέν (διότι το µηδέν είναι η πρώτη τιµή που πρέπει να αποθηκευθεί στο µονοδιάστατο πίνακα Α) και στη συνέχεια (µε τη βοήθεια κατάλληλου τύπου) να δηµιουργεί όλες τις επόµενες τιµές. ΜΟΝΟ ΙΑΣΤΑΤΟΙ 8: Να γραφεί πρόγραµµα το οποίο να αποθηκεύει τους ακόλουθους αριθµούς σε ένα µονοδιάστατο πίνακα: 0, 3, 6, 9, 0, 3, 6, 9, 0, 3, 6, 9, 0, 3, 6, 9. Program MONODIATATOI_TROPOS1; Ι, Κ: integer; Α: array[1..16] of integer; Κ:= 0; For I:= 1 to 4 do Α[Ι]:= Κ; Κ:= Κ + 3 Κ:= 0; For I:= 5 to 8 do Α[Ι]:= Κ; Κ:= Κ + 3 Κ:= 0; For I:= 9 to 12 do 53

Α[Ι]:= Κ; Κ:= Κ + 3 Κ:= 0; For I:= 13 to 16 do Α[Ι]:= Κ; Κ:= Κ + 3 Program MONODIASTATOI_TROPOS2; Ι, Κ, M, N: integer; Α: array[1..16] of integer; Ι:= 1; {Προσοχή. Εδώ να γραφεί} For Μ:= 1 to 4 do Κ:= 0; {Προσοχή. Εδώ να γραφεί} For Ν:= 1 to 4 do Α[Ι]:= Κ; Κ:= Κ + 3; Ι:= Ι + 1 {Προσοχή. Εδώ να γραφεί} Παρατηρήσεις (για τον τρόπο 2): Υπάρχουν 4 τετράδες αριθµών. Ο 1ος όρος κάθε τετράδας είναι το 0, ο 2ος όρος κάθε τετράδας είναι το 3, ο 3ος όρος κάθε τετράδας είναι το 6, ο 4ος όρος κάθε τετράδας είναι το 9. Η µεταβλητή Μ µας πηγαίνει σε κάθε µία από τις 4 τετράδες. Η µεταβλητή Κ δηµιουργεί τους όρους κάθε τετράδας. Η µεταβλητή Ν φροντίζει να αποθηκεύεται ο όρος κάθε τετράδας στη κατάλληλη θέση του πίνακα Α (δηλαδή το 0 στην 1η θέση, το 3 στη 2η θέση, το 6 στην 3η θέση, το 9 στην 4η θέση, το 0 στην 5η θέση, κοκ). Η µεταβλητή Ι είναι ο δείκτης των θέσεων του πίνακα Α. ηλαδή, µας πηγαίνει σε κάθε θέση του πίνακα Α. 54

Πολυδιάστατοι Πίνακες Ένας πίνακας ονοµάζεται δισδιάστατος όταν έχει τουλάχιστο 2 γραµµές και τουλάχιστο 2 στήλες (δηλαδή είναι τουλάχιστο πίνακας 2 x 2). Έστω ο ακόλουθος πίνακας Α: Α= 5 48 4 2 0 29-6 18 Ο πίνακας Α είναι δισδιάστατος διότι: Έχει περισσότερες από µία γραµµές (έχει 4 γραµµές) και περισσότερες από µία στήλες (έχει 2 στήλες). Εποµένως είναι διαστάσεων 4 x 2, άρα έχει 8 στοιχεία. Για να δώσουµε τις συντεταγµένες κάθε στοιχείου, δηλαδή για να πούµε που βρίσκεται µέσα στον πίνακα Α κάποια τιµή χρειαζόµαστε 2 αναφορές. Η 1η αναφορά είναι σε ποια γραµµή βρίσκεται η τιµή. Η 2η αναφορά είναι σε ποια στήλη βρίσκεται η τιµή. Για παράδειγµα, ο αριθµός 48 βρίσκεται στην 1η γραµµή και στη 2η στήλη του πίνακα Α. ηλαδή, ισχύει ότι: Α[1, 2] := 48. Για την παραπάνω εκχώρηση, υπάρχουν 3 ισοδύναµοι τρόποι έκφρασης: 1ος τρόπος: το 2ο στοιχείο της 1ης γραµµής του πίνακα Α είναι ο αριθµός 48. 2ος τρόπος: το στοιχείο Α[1,2] είναι ο αριθµός 48. 3ος τρόπος: το 2ο κελί του πίνακα Α περιέχει την τιµή 48. Συνήθως χρησιµοποιείται ο πρώτος και ο δεύτερος τρόπος έκφρασης. Για τον αριθµό -6 έχουµε ότι: Α[4, 1] := -6. ηλαδή, το 1ο στοιχείο της 4ης γραµµής του πίνακα Α είναι ο αριθµός -6 ή ισοδύναµα το 7ο κελί του πίνακα Α περιέχει την τιµή -6. Οµοίως έχουµε και για τα υπόλοιπα στοιχεία του πίνακα Α. ΚΕΛΙ = ΤΟΜΗ ΓΡΑΜΜΗΣ ΚΑΙ ΣΤΗΛΗΣ Σε ένα δισδιάστατο πίνακα: Χρησιµοποιούµε 2 µετρητές. Ο πρώτος µετρητής (συνήθως τον ονοµάζουµε Ι) αφορά τις γραµµές. Ο δεύτερος µετρητής (συνήθως τον ονοµάζουµε J) αφορά τις στήλες. Χρησιµοποιούµε 2 δοµές επανάληψης Για. Την πρώτη για... από... µέχρι... τη χρησιµοποιούµε για την προσπέλαση κάθε µιας από τις γραµµές του δισδιάστατου πίνακα και τη δεύτερη για... από... µέχρι... τη χρησιµοποιούµε για την προσπέλαση κάθε µιας από τις στήλες του δισδιάστατου πίνακα. Γενικά η δήλωση ενός πολυδιάστατου πίνακα σε ένα πρόγραµµα έχει την ακόλουθη µορφή: Όνοµα_Πίνακα: array[απγ.. ΑΤΓ, ΑΠΣ.. ΑΤΣ] of Τύπος_Στοιχείων_Πίνακα; Όπου: ΑΠΓ = Αριθµός Πρώτης Γραµµής του πίνακα ΑΤΓ = Αριθµός Τελευταίας Γραµµής του πίνακα ΑΠΣ = Αριθµός Πρώτης Στήλης του πίνακα 55

ΑΤΣ = Αριθµός Τελευταίας Στήλης του πίνακα ΙΣ ΙΑΣΤΑΤΟΙ 1: Να γραφεί πρόγραµµα το οποίο να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µία από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. (ΑΠΟΘΗΚΕΥΣΗ ΤΙΜΩΝ ΤΟΥ ΧΡΗΣΤΗ ΣΕ ΙΣ ΙΑΣΤΑΤΟ ΠΙΝΑΚΑ) Έστω ότι ο πίνακας που θα αποθηκευθούν οι εισπράξεις ονοµάζεται Α. Κάθε είσπραξη είναι µία αριθµητική τιµή. Για την αποθήκευση κάθε µιας τιµής στον πίνακα Α απαιτούνται 2 πληροφορίες. Η πρώτη πληροφορία είναι ποιο κέντρο την πραγµατοποίησε και η δεύτερη είναι σε ποια βραδιά πραγµατοποιήθηκε. Εποµένως, επειδή κάθε τιµή θα αποθηκευθεί ως στοιχείο στον πίνακα Α, για κάθε ένα από τα στοιχεία αυτά χρειάζονται 2 αναφορές. Εάν αποφασίσουµε ότι η πρώτη αναφορά θα είναι τα κέντρα και η δεύτερη αναφορά θα είναι οι βραδιές, ο κατάλληλος πίνακας για την αποθήκευση των εισπράξεων είναι ένας δισδιάστατος πίνακας. Άρα, εάν ονοµάσουµε Ι το µετρητή γραµµών (δηλαδή το µετρητή κέντρων) και J το µετρητή στηλών (δηλαδή το µετρητή βραδιών), ο πίνακας Α σχηµατικά θα είναι ο ακόλουθος: ΚΕΝΤΡΟ (I) ΒΡΑ ΙΑ (J) 1 2 3 4... 100 1 Α[1, 1] Α[1, 2] Α[1, 3] Α[1, 4]... Α[1, 100] 2.................. 3.................. 4....................................... 49.................. 50 Α[50, 1] Α[50, 2] Α[50, 3] Α[50, 4]... Α[50, 100] Το στοιχείο Α[1, 1] συµβολίζει τις εισπράξεις του κέντρου 1 για τη βραδιά 1. Το στοιχείο Α[50, 1] συµβολίζει τις εισπράξεις του κέντρου 50 για τη βραδιά 1. Οµοίως και για τα επόµενα στοιχεία του πίνακα Α. Program DISDIASTATOI_1; I, J: integer; Α: array[1.. 50, 1.. 100] of real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) ΙΣ ΙΑΣΤΑΤΟΙ 2: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να υπολογίζει και να εµφανίζει το µέσο όρο εισπράξεων όλων των κέντρων. (ΜΕΣΟΣ ΟΡΟΣ ΟΛΩΝ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΕΝΟΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_2; I, J: integer; Α: array[1.. 50, 1.. 100] of real; S, MO: real; 56

Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) S:=0; S:= S + A[I, J] MO:= S/ 5000; Writeln( O Μέσος όρος όλων των εισπράξεων είναι:, ΜΟ:2:2) ΙΣ ΙΑΣΤΑΤΟΙ 3: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να υπολογίζει και να εµφανίζει το µέσο όρο εισπράξεων κάθε κέντρου. (ΜΕΣΟΣ ΟΡΟΣ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΚΑΘΕ ΓΡΑΜΜΗΣ ΕΝΟΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_3; I, J: integer; Α: array[1.. 50, 1.. 100] of real; S, MO: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) S:=0; {ΠΡΟΣΟΧΗ. Ε Ω ΝΑ ΓΡΑΦΕΙ} S:= S + A[I, J] MO:= S/100; Writeln( O Μέσος όρος όλων εισπράξεων του, Ι:2, ου κέντρου είναι:, ΜΟ:2:2) ΙΣ ΙΑΣΤΑΤΟΙ 4: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να υπολογίζει και να εµφανίζει το µέσο όρο εισπράξεων κάθε βραδιάς. (ΜΕΣΟΣ ΟΡΟΣ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΚΑΘΕ ΣΤΗΛΗΣ ΕΝΟΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_4; I, J: integer; 57

Α: array[1.. 50, 1.. 100] of real; S, MO: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) S:=0; {ΠΡΟΣΟΧΗ. Ε Ω ΝΑ ΓΡΑΦΕΙ} S:= S + A[I, J] MO:= S/50; Writeln( O Μέσος όρος όλων εισπράξεων της, J:2, ης βραδιάς είναι:, ΜΟ:2:2) ΙΣ ΙΑΣΤΑΤΟΙ 5: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να βρίσκει και να εµφανίζει τις απολύτως µικρότερες εισπράξεις καθώς και το κέντρο στο οποίο πραγµατοποιήθηκαν. Γ) Να βρίσκει και να εµφανίζει τις απολύτως µεγαλύτερες εισπράξεις καθώς και το κέντρο στο οποίο πραγµατοποιήθηκαν. (ΕΛΑΧΙΣΤΗ & ΜΕΓΙΣΤΗ ΤΙΜΗ, ΑΡΙΘΜΟΣ ΓΡΑΜΜΗΣ ΕΛΑΧΙΣΤΗΣ ΤΙΜΗΣ, ΑΡΙΘΜΟΣ ΓΡΑΜΜΗΣ ΜΕΓΙΣΤΗΣ ΤΙΜΗΣ ΕΝΟΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_5; I, J, POSMIN, POSMAX: integer; Α: array[1.. 50, 1.. 100] of real; MIN, MAX: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) MIN:= A[1,1]; MAX:= A[1,1]; POSMIN:= 1; POSMAX:= 1; if A[I, J] < MIN then MIN:= A[I, J]; POSMIN:= I if A[I, J] > MAX then MAX:= A[I, J]; POSMAX:= I 58

Writeln( Το κέντρο µε τις απολύτως µικρότερες εισπράξεις είναι το:, POSΜΙΝ); Writeln( Το κέντρο µε τις απολύτως µεγαλύτερες εισπράξεις είναι το:, POSΜΑΧ); Writeln( Οι απολύτως µικρότερες εισπράξεις είναι:, ΜΙΝ:2:2); Writeln( Οι απολύτως µεγαλύτερες εισπράξεις είναι:, ΜΑΧ:2:2) ΙΣ ΙΑΣΤΑΤΟΙ 6: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να βρίσκει και να εµφανίζει τις ελάχιστες εισπράξεις κάθε κέντρου. Γ) Να βρίσκει και να εµφανίζει τις µέγιστες εισπράξεις κάθε κέντρου. (ΕΛΑΧΙΣΤΗ & ΜΕΓΙΣΤΗ ΤΙΜΗ ΚΑΘΕ ΓΡΑΜΜΗΣ ΕΝΟΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_6; I, J: integer; Α: array[1.. 50, 1.. 100] of real; MIN, MAX: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) MIN:= A[Ι, 1]; MAX:= A[Ι, 1]; {Βλέπε παρατήρηση 1 και 2 παρακάτω} if A[I, J] < MIN then MIN:= A[I, J]; if A[I, J] > MAX then MAX:= A[I, J]; Writeln( Οι ελάχιστες εισπράξεις του κέντρου, Ι:2, είναι:, ΜΙΝ:2:2); Writeln( Οι ελάχιστες εισπράξεις του κέντρου, Ι:2. είναι:, ΜΑΧ:2:2); Παρατήρηση 1: κάθε φορά που το πρόγραµµα αλλάζει γραµµή (δηλαδή κάθε φορά που αλλάζει τιµή ο µετρητής γραµµών) εκχωρείται νέα αρχική τιµή στη µεταβλητή ΜΙΝ. Η αρχική τιµή της ΜΙΝ που εκχωρείται είναι πάντα το πρώτο στοιχείο της γραµµής που βρίσκεται το πρόγραµµα. Για παράδειγµα όταν το πρόγραµµα βρίσκεται στην 1η γραµµή, η αρχική τιµή της ΜΙΝ είναι το Α[1, 1], όταν το πρόγραµµα βρίσκεται στη 2η γραµµή, η αρχική τιµή της ΜΙΝ είναι το Α[2, 1]. Οµοίως και για τις επόµενες γραµµές του πίνακα Α. Παρατήρηση 2: κάθε φορά που το πρόγραµµα αλλάζει γραµµή (δηλαδή κάθε φορά που αλλάζει τιµή ο µετρητής γραµµών) εκχωρείται νέα αρχική τιµή στη µεταβλητή ΜΑΧ. Η αρχική τιµή της ΜΑΧ που εκχωρείται είναι πάντα το πρώτο στοιχείο της γραµµής που βρίσκεται το πρόγραµµα. Για παράδειγµα όταν το πρόγραµµα βρίσκεται στην 1η γραµµή, η αρχική τιµή της ΜΑΧ είναι το Α[1, 1], όταν το πρόγραµµα βρίσκεται στη 2η γραµµή, η αρχική τιµή της ΜΑΧ είναι το Α[2, 1]. Οµοίως και για τις επόµενες γραµµές του πίνακα Α. ΙΣ ΙΑΣΤΑΤΟΙ 7: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να βρίσκει και να εµφανίζει τις ελάχιστες εισπράξεις κάθε βραδιάς. 59

Γ) Να βρίσκει και να εµφανίζει τις µέγιστες εισπράξεις κάθε βραδιάς. (ΕΛΑΧΙΣΤΗ & ΜΕΓΙΣΤΗ ΤΙΜΗ ΚΑΘΕ ΣΤΗΛΗΣ ΕΝΟΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_7; I, J: integer; Α: array[1.. 50, 1.. 100] of real; MIN, MAX: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) MIN:= A[1, J]; MAX:= A[1, J]; {Βλέπε παρατήρηση 3 και 4 παρακάτω} if A[I, J] < MIN then MIN:= A[I, J]; if A[I, J] > MAX then MAX:= A[I, J]; Writeln( Οι ελάχιστες εισπράξεις της βραδιάς, J:2, είναι:, ΜΙΝ:2:2); Writeln( Οι ελάχιστες εισπράξεις της βραδιάς, J:2. είναι:, ΜΑΧ:2:2); Παρατήρηση 3: κάθε φορά που το πρόγραµµα αλλάζει στήλη (δηλαδή κάθε φορά που αλλάζει τιµή ο µετρητής στηλών) εκχωρείται νέα αρχική τιµή στη µεταβλητή ΜΙΝ. Η αρχική τιµή της ΜΙΝ που εκχωρείται είναι πάντα το πρώτο στοιχείο της στήλης που βρίσκεται το πρόγραµµα. Για παράδειγµα όταν το πρόγραµµα βρίσκεται στην 1η στήλη, η αρχική τιµή της ΜΙΝ είναι το Α[1, 1], όταν το πρόγραµµα βρίσκεται στη 2η στήλη, η αρχική τιµή της ΜΙΝ είναι το Α[1, 2]. Οµοίως και για τις επόµενες στήλες του πίνακα Α. Παρατήρηση 4: κάθε φορά που το πρόγραµµα αλλάζει στήλη (δηλαδή κάθε φορά που αλλάζει τιµή ο µετρητής στηλών) εκχωρείται νέα αρχική τιµή στη µεταβλητή ΜΑΧ. Η αρχική τιµή της ΜΑΧ που εκχωρείται είναι πάντα το πρώτο στοιχείο της στήλης που βρίσκεται το πρόγραµµα. Για παράδειγµα όταν το πρόγραµµα βρίσκεται στην 1η στήλη, η αρχική τιµή της ΜΑΧ είναι το Α[1, 1], όταν το πρόγραµµα βρίσκεται στη 2η στήλη, η αρχική τιµή της ΜΑΧ είναι το Α[1, 2]. Οµοίως και για τις επόµενες στήλες του πίνακα Α. ΙΣ ΙΑΣΤΑΤΟΙ 8: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να βρίσκει και να εµφανίζει το εύρος όλων των εισπράξεων. Γ) Να βρίσκει και να εµφανίζει πόσες εισπράξεις ξεπέρασαν το εύρος του ερωτήµατος Α. (ΕΥΡΟΣ ΟΛΩΝ ΤΩΝ ΣΤΟΙΧΕΙΩΝ & ΠΛΗΘΟΣ ΣΤΟΙΧΕΙΩΝ ΠΟΥ ΥΠΕΡΕΒΗΣΑΝ ΤΟ ΕΥΡΟΣ ΟΛΩΝ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΣΕ ΕΝΑ ΙΣ ΙΑΣΤΑΤΟ ΠΙΝΑΚΑ) Program DISDIASTATOI_8; I, J, PLITHOS: integer; Α: array[1.. 50, 1.. 100] of real; MIN, MAX, R: real; 60

Write( ώστε εισπράξεις, I:2, ου κέντρου για τη J:2, η βραδιά); Readln(Α[I, J]) MIN:= A[1,1]; MAX:= A[1,1]; if A[I, J] < MIN then MIN:= A[I, J]; if A[I, J] > MAX then MAX:= A[I, J]; R:= MAX MIN; Writeln( Το εύρος όλων των εισπράξεων είναι:, R:2:2); If Α[I, J] > PLITHOS then PLITHOS:= PLITHOS + 1 ; Writeln( Οι εισπράξεις που ξεπέρασαν το εύρος ήταν:, PLITHOS) ΙΣ ΙΑΣΤΑΤΟΙ 9: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να βρίσκει και να αποθηκεύει σε κατάλληλο πίνακα το εύρος κάθε κέντρου. Γ) Να βρίσκει και να εµφανίζει το µικρότερο και το µεγαλύτερο εύρος από όλα τα κέντρα καθώς και το κέντρο που πραγµατοποίησε κάθε ένα από αυτά. (ΜΙΚΡΟΤΕΡΟ ΚΑΙ ΜΕΓΑΛΥΤΕΡΟ ΕΥΡΟΣ ΑΠΟ ΚΑΘΕ ΓΡΑΜΜΗ, ΑΡΙΘΜΟΣ ΓΡΑΜΜΗΣ ΜΙΚΡΟΤΕΡΟΥ ΕΥΡΟΥΣ & ΑΡΙΘΜΟΣ ΓΡΑΜΜΗΣ ΜΕΓΑΛΥΤΕΡΟΥ ΕΥΡΟΥΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) ΙΣ ΙΑΣΤΑΤΟΙ 10: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να βρίσκει και να αποθηκεύει σε κατάλληλο πίνακα το εύρος κάθε βραδιάς. Γ) Να βρίσκει και να εµφανίζει το µικρότερο και το µεγαλύτερο εύρος από όλες τις βραδιές καθώς και τη βραδιά στην οποία πραγµατοποιήθηκε κάθε ένα από αυτά. (ΜΙΚΡΟΤΕΡΟ ΚΑΙ ΜΕΓΑΛΥΤΕΡΟ ΕΥΡΟΣ ΑΠΟ ΚΑΘΕ ΣΤΗΛΗ, ΑΡΙΘΜΟΣ ΣΤΗΛΗΣ ΜΙΚΡΟΤΕΡΟΥ ΕΥΡΟΥΣ & ΑΡΙΘΜΟΣ ΣΤΗΛΗΣ ΜΕΓΑΛΥΤΕΡΟΥ ΕΥΡΟΥΣ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) Program DISDIASTATOI_9; Ι, J: POSMIN, POSMAX: integer; Α: array[1.. 50, 1.. 100] of real; B: array[1.. 50] of real; ΜΙΝ1, ΜΑΧ1, ΜΙΝ2, ΜΑΧ2, R: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη, J:2, βραδιά: ); Readln(Α[I, J]) 61

MIN:= A[Ι, 1]; MAX:= A[Ι, 1]; if A[I, J] < MIN then MIN:= A[I, J]; if A[I, J] > MAX then MAX:= A[I, J]; R:= MAX1 MIN1; Β[Ι]:= R {Αποθήκευση εύρους κάθε κέντρου στο µονοδιάστατο πίνακα Β} POSΜΙΝ:= 1; POSΜΑΧ:= 1; ΜΙΝ2:= Β[1]; ΜΑΧ2:= Β[1]; For I:= 2 to 50 do if B[I] < MIN2 then MIN2:= B[I]; POSMIN:= I if B[I] > MAX2 then MAX2:= B[I]; POSMAX:= I Writeln( Το µικρότερο εύρος εισπράξεων από όλα τα κέντρα είναι:, ΜΙΝ2:2:2); Writeln( Πραγµατοποιήθηκε από το κέντρο:, POSΜΙΝ); Writeln( Το µεγαλύτερο εύρος εισπράξεων από όλα τα κέντρα είναι:, ΜΑΧ2:2:2); Writeln( Πραγµατοποιήθηκε από το κέντρο:, POSΜΑΧ); Program DISDIASTATOI_10; Ι, J: POSMIN, POSMAX: integer; Α: array[1.. 50, 1.. 100] of real; B: array[1.. 100] of real; ΜΙΝ1, ΜΑΧ1, ΜΙΝ2, ΜΑΧ2, R: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη, J:2, βραδιά: ); Readln(Α[I, J]) MIN:= A[1, J]; MAX:= A[1, J]; if A[I, J] < MIN then MIN:= A[I, J]; if A[I, J] > MAX then MAX:= A[I, J]; R:= MAX1 MIN1; Β[J]:= R {Αποθήκευση εύρους κάθε βραδιάς στο µονοδιάστατο πίνακα Β} POSΜΙΝ:= 1; POSΜΑΧ:= 1; ΜΙΝ2:= Β[1]; ΜΑΧ2:= Β[1]; For J:= 2 to 100 do if B[J] < MIN2 then MIN2:= B[J]; POSMIN:= J if B[J] > MAX2 then MAX2:= B[J]; POSMAX:= J Writeln( Το µικρότερο εύρος εισπράξεων από όλα τις βραδιές είναι:, ΜΙΝ2:2:2); 62

Writeln( Πραγµατοποιήθηκε τη βραδιά:, POSΜΙΝ); Writeln( Το µεγαλύτερο εύρος εισπράξεων από όλα τις βραδιές είναι:, ΜΑΧ2:2:2); Writeln( Πραγµατοποιήθηκε τη βραδιά:, POSΜΑΧ); ΙΣ ΙΑΣΤΑΤΟΙ 11: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να διαβάζει το όνοµα κάθε κέντρου και να το αποθηκεύει σε κατάλληλο πίνακα. Γ) Να βρίσκει και να εµφανίζει το όνοµα του κέντρου µε τις µεγαλύτερες εισπράξεις. ) Να βρίσκει και να εµφανίζει το όνοµα του κέντρου µε τις µικρότερες εισπράξεις. Program DISDIASTATOI_11; Ι, J, POSΜΙΝ, POSΜΑΧ: integer; Α: array[1.. 50, 1.. 100] of real; B: array[1.. 50] of string; ΜΙΝ, ΜΑΧ: real; Write( ώστε το όνοµα του, I:2, ου κέντρου: ); Readln(B[I]); Write( ώστε εισπράξεις, I:2, ου κέντρου για τη, J:2, βραδιά: ); Readln(Α[I, J]) POSΜΙΝ:= 1; POSΜΑΧ:= 1; MIN:= A[1, 1]; MAX:= A[1, 1]; if A[I, J] < MIN then MIN:= A[I, J]; POSMIN:= I if A[I, J] > MAX then MAX:= A[I, J]; POSMAX:= I Writeln( Το κέντρο µε τις απολύτως µικρότερες εισπράξεις είναι το:, B[POSΜΙΝ]); Writeln( Το κέντρο µε τις απολύτως µεγαλύτερες εισπράξεις είναι το:, B[POSΜΑΧ]) ΙΣ ΙΑΣΤΑΤΟΙ 12: Α) Να διαβάζει τις εισπράξεις 50 νυχτερινών κέντρων για κάθε µια από τις 100 βραδιές που λειτούργησαν και να τις αποθηκεύει σε κατάλληλο πίνακα. Β) Να αποθηκεύει σε ένα µονοδιάστατο πίνακα Β όσες εισπράξεις ξεπέρασαν το µέσο όρο εισπράξεων όλων και σε ένα µονοδιάστατο πίνακα C όσες εισπράξεις ήταν µικρότερες ή/ και ίσες του µέσου όρου όλων. Γ) Να εµφανίζει όλα τα στοιχεία του πίνακα Β και όλα τα στοιχεία του πίνακα C. ( ΗΜΙΟΥΡΓΙΑ ΜΟΝΟ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΑΠΟ ΣΤΟΙΧΕΙΑ ΙΣ ΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ) 63

Πρόγραµµα ΙΣ ΙΑΣΤΑΤΟΙ12 Μεταβλητές Ι, J, Μ, Ν: integer; A: array[1..50, 1.. 100] of real; Β: array[1..μ] of real; C: array[1.. Ν] of real; S, MO: real; Write( ώστε εισπράξεις, I:2, ου κέντρου για τη, J:2, βραδιά: ); Readln(Α[I, J]) S := 0; S:= S + A[I, J] MO:= S / 5000; M:= 0 ; Ν:= 0 ; If Α[I, J] > MΟ then Μ:= Μ + 1; {Μεταβολή τιµών δείκτη πίνακα Β} Β[Μ]:= A[I, J] Else Ν:= Ν + 1; {Μεταβολή τιµών δείκτη πίνακα C} C[Ν]:= A[I, J] If Μ > 0 then For I:= 1 to Μ do Writeln(Β[Ι]) If Ν > 0 then For I:= 1 to Ν do Writeln(C[Ι]) 64

Φυσαλίδα (Τεχνική Ταξινόµησης Στοιχείων Πίνακα) Έστω ότι δίνεται ο ακόλουθος µονοδιάστατος πίνακας: Α = [ 45, 26, -7, 15, -39, 66, -2, 78 ]. Θέλουµε να ταξινοµήσουµε κατά αύξουσα σειρά όλα τα στοιχεία του. ΤΡΟΠΟΣ1: ο απλός!!!! Χωρίς να επιλύσουµε το πρόβληµα µε χρήση εντολών, δηλαδή µε το µυαλό µας, ο πίνακας ταξινοµηµένος θα είναι ο ακόλουθος: Α = [ -78, -39, -7, -2, 15, 26, 45, 66 ] Παρατηρούµε ότι: Ο αριθµός -78 ήταν στην 8 η θέση και κατέληξε στην 1 η θέση. ηλαδή ίσχυε ότι: Α[8] := -78 και κατέληξε Α[1] := -78. Ο αριθµός -39 ήταν στην 5 η θέση και κατέληξε στη 2 η θέση. ηλαδή ίσχυε ότι: Α[5] := -39 και κατέληξε Α[2] := -39. Ο αριθµός -7 ήταν στην 3 η θέση και παρέµεινε στην 3 η θέση. ηλαδή ίσχυε ότι: Α[3] := -7 και παρέµεινε Α[3] := -7. Ο αριθµός -2 ήταν στην 7 η θέση και κατέληξε στην 4 η θέση. ηλαδή ίσχυε ότι: Α[7] := -2 και κατέληξε Α[4] := -2. Ο αριθµός 15 ήταν στην 4 η θέση και κατέληξε στην 5 η θέση. ηλαδή ίσχυε ότι: Α[4] := 15 και κατέληξε Α[5] := 15. Ο αριθµός 26 ήταν στη 2 η θέση και κατέληξε στην 6 η θέση. ηλαδή ίσχυε ότι: Α[2] := 26 και κατέληξε Α[6] := 26. Ο αριθµός 45 ήταν στην 1 η θέση και κατέληξε στην 7 η θέση. ηλαδή ίσχυε ότι: Α[1] := 45 και κατέληξε Α[7] := 45. Ο αριθµός 66 ήταν στην 6 η θέση και κατέληξε στην 8 η θέση. ηλαδή ίσχυε ότι: Α[6] := 66 και κατέληξε Α[8] := 66. Από τα παραπάνω, είναι φανερό ότι πραγµατοποιήθηκε µια αναδιάταξη των στοιχείων του πίνακα Α. ΤΡΟΠΟΣ2α: Ο δύσκολος δουλεύουµε χειρωνακτικά!!!! Θα χρησιµοποιήσουµε την τεχνική της φυσαλίδας. Γενικά, η φυσαλίδα χρησιµοποιεί περάσµατα για να ταξινοµήσει (είτε κατά αύξουσα είτε κατά φθίνουσα σειρά) τα στοιχεία ενός πίνακα. Πιο συγκεκριµένα, σε κάθε πέρασµα ξεκινάµε από κάτω προς τα επάνω, δηλαδή από τις τελευταίες θέσεις προς τις πρώτες µε στόχο να ταξινοµείται κάθε φορά (είτε κατά αύξουσα είτε κατά φθίνουσα σειρά) και από ένα στοιχείο. Για το συγκεκριµένο πίνακα Α: Το 1 ο πέρασµα ξεκινά από την θέση 8 και καταλήγει στην θέση 1. Στόχος είναι µετά το τέλος του 1 ου περάσµατος να έχει τοποθετηθεί στην 1 η θέση του πίνακα ο µικρότερος αριθµός από όλους. ηλαδή 65

στόχος είναι µετά το τέλος του 1 ου περάσµατος να έχουν ταξινοµηθεί (κατά αύξουσα σειρά) 1 από τα 8 στοιχεία του πίνακα Α. Πιο περιγραφικά, στόχος είναι: Α[1] := 1 η µικρότερη τιµή. Το 2 ο πέρασµα ξεκινά από την θέση 8 και καταλήγει στην θέση 2. Στόχος είναι µετά το τέλος του 2 ου περάσµατος να έχει τοποθετηθεί στη 2 η θέση του πίνακα ο 2 ος µικρότερος αριθµός από όλους. ηλαδή στόχος είναι µετά το τέλος του 2 ου περάσµατος να έχουν ταξινοµηθεί (κατά αύξουσα σειρά) 2 από τα 8 στοιχεία του πίνακα Α. Πιο περιγραφικά, στόχος είναι: Α[2] := 2 η µικρότερη τιµή.. Το 7 ο πέρασµα ξεκινά από την θέση 8 και καταλήγει στην θέση 7. Στόχος είναι µετά το τέλος του 7 ου περάσµατος να έχει τοποθετηθεί στην 7 η θέση του πίνακα ο 7 ος µικρότερος αριθµός από όλους. ηλαδή στόχος είναι µετά το τέλος του 7 ου περάσµατος να έχουν ταξινοµηθεί (κατά αύξουσα σειρά) 7 από τα 8 στοιχεία του πίνακα Α. Πιο περιγραφικά, στόχος είναι: Α[7] := 7 η µικρότερη τιµή. Μετά το τέλος του 7 ου περάσµατος ΕΝ έχει αποµείνει αριθµός για ταξινόµηση, ΙΟΤΙ στην 8 η θέση βρίσκεται η 8 η µικρότερη τιµή. Αλλά, για να δούµε τι γίνεται σε κάθε πέρασµα... 1 ο πέρασµα (θέσεις 8 1) Γράφουµε τα στοιχεία του αρχικού πίνακα (δηλαδή του µη ταξινοµηµένου) κατακόρυφα. Στη συνέχεια, πραγµατοποιούµε ελέγχους. J Α[J] A[J] Α[J] Α[J] Α[J] Α[J] Α[J] Α[J] 1 45 45 45 45 45 45 45-78 2 26 26 26 26 26 26-78 45 3-7 -7-7 -7-7 -78 26 26 4 15 15 15 15-78 -7-7 -7 5-39 -39-39 -78 15 15 15 15 6 66 66-78 -39-39 -39-39 -39 7-2 -78 66 66 66 66 66 66 8-78 -2-2 -2-2 -2-2 -2 1 η σύγκριση: Α[7] > Α[8]? Η απάντηση είναι ΝΑΙ. Εποµένως, θα πρέπει η µικρότερη από τις δύο τιµές (δηλαδή ο αριθµός -78) να ανέβει προς τα επάνω δηλαδή πρέπει: Α[7] := -78 και Α[8] := -2. Όµως για να γίνει η ανταλλαγή των τιµών, θα πρέπει να αποθηκευθεί κάπου προσωρινά (temporarily) µια από τις δύο τιµές για να µη χαθεί κατά την ανταλλαγή. Για το λόγο αυτό, θα εκχωρήσουµε σε µια µεταβλητή (έστω temp το όνοµα της) την πάνω τιµή, δηλαδή την µεγαλύτερη από τις δύο, κοινώς το Α[7] (ΒΗΜΑ 1). Στη συνέχεια, θα ανεβάσουµε τη µικρότερη από τις δύο τιµές, κοινώς το Α[8] (ΒΗΜΑ2) και τέλος θα κατεβάσουµε τη µεγαλύτερη από τις δύο τιµές, κοινώς το Α[7] (ΒΗΜΑ 3). Σε όρους εντολών, θα έχουµε ότι: 66

TEMP := A[7] A[7] := A[8] A[8] := TEMP Μετά το τέλος του βήµατος 3, ξαναγράφουµε τα στοιχεία του πίνακα µε τη νέα διάταξη. 2 η σύγκριση: Α[6] > Α[7]? Η απάντηση είναι ΝΑΙ. Εποµένως, θα πρέπει η µικρότερη από τις δυο τιµές (δηλαδή ο αριθµός -78) να ανέβει προς τα επάνω δηλαδή πρέπει: Α[6] := -78 και Α[7] := 66. Όµως για να γίνει η ανταλλαγή των τιµών, θα πρέπει να αποθηκευθεί κάπου προσωρινά (temporarily) µια από τις δύο τιµές για να µη χαθεί κατά την ανταλλαγή. Για το λόγο αυτό, θα εκχωρήσουµε σε µια µεταβλητή (έστω temp το όνοµα της) την πάνω τιµή, δηλαδή τη µεγαλύτερη από τις δύο, κοινώς το Α[6] (ΒΗΜΑ 1). Στη συνέχεια, θα ανεβάσουµε τη µικρότερη από τις δύο τιµές, κοινώς το Α[7] (ΒΗΜΑ2) και τέλος θα κατεβάσουµε τη µεγαλύτερη από τις δύο τιµές, κοινώς το Α[6] (ΒΗΜΑ 3). Σε όρους αλγορίθµων, θα έχουµε ότι: TEMP := A[6] A[6] := A[7] A[7] := TEMP Μετά το τέλος του βήµατος 3, ξαναγράφουµε τα στοιχεία του πίνακα µε τη νέα διάταξη. 7 η σύγκριση: Α[1] > Α[2]? Η απάντηση είναι ΝΑΙ. Εποµένως, θα πρέπει η µικρότερη από τις δυο τιµές (δηλαδή ο αριθµός -78) να ανέβει προς τα επάνω δηλαδή πρέπει: Α[1] := -78 και Α[2] := 45. Όµως για να γίνει η ανταλλαγή των τιµών, θα πρέπει να αποθηκευθεί κάπου προσωρινά (temporarily) µια από τις δύο τιµές για να µη χαθεί κατά την ανταλλαγή. Για το λόγο αυτό, θα εκχωρήσουµε σε µια µεταβλητή (έστω temp το όνοµα της) την πάνω τιµή, δηλαδή τη µεγαλύτερη από τις δύο, κοινώς το Α[1] (ΒΗΜΑ 1). Στη συνέχεια, θα ανεβάσουµε τη µικρότερη από τις δύο τιµές, κοινώς το Α[2] (ΒΗΜΑ2) και τέλος θα κατεβάσουµε τη µεγαλύτερη από τις δύο τιµές, κοινώς το Α[1] (ΒΗΜΑ 3). Σε όρους εντολών, θα έχουµε ότι: TEMP := A[1] A[1] := A[2] A[2] := TEMP Μετά το τέλος του βήµατος 3, ξαναγράφουµε τα στοιχεία του πίνακα µε τη νέα διάταξη. Παρατηρήστε ότι µετά το τέλος του 1 ου περάσµατος, έχουµε κατορθώσει να ταξινοµήσουµε κατά αύξουσα σειρά 1 από τα 8 στοιχεία του πίνακα Α. Εποµένως αποµένουν 7 ακόµη περάσµατα για την ταξινόµηση όλων των στοιχείων του πίνακα. Το 2 ο πέρασµα θα ξεκινήσει µε τον πίνακα που υπάρχει µετά το τέλος του 1 ου περάσµατος. Επιπλέον, η σύγκριση Α[1] > Α[2] ΕΝ πρέπει να γίνει ποτέ ξανά διότι το Α[1] είναι Η Η ΤΑΞΙΝΟΜΗΜΕΝΟ. Οµοίως συνεχίζουµε και για τα υπόλοιπα περάσµατα. 67

ΤΡΟΠΟΣ2β: O δύσκολος δουλεύουµε µε πρόγραµµα!!!! Program BUBBLESORT; Ι, J, TEMP: integer; A: array[1.. 8] of integer; For I:= 1 to 8 do Write( ώστε τον, Ι:2, ο ακέραιο αριθµό: ); Readln(Α[Ι]) For I:= 2 to 8 do For J := 8 downto Ι If Α[J-1] > A[J] then TEMP:= A[J-1]; A[J-1]:= A[J]; A[J]:= TEMP Παρατήρηση: για ταξινόµηση κατά φθίνουσα σειρά αλλάζει µόνο ο τελεστής >. Αντί αυτού, γράφουµε τον τελεστή <. 68

ΑΛΥΤΕΣ ΑΣΚΗΣΕΙΣ 1. Να γραφεί πρόγραµµα το οποίο να διαβάζει τα µηνιαία έξοδα µιας επιχείρησης στη διάρκεια ενός έτους και στη συνέχεια να υπολογίζει και θα εµφανίζει το µέσο όρο και το µήνα που πραγµατοποιήθηκαν τα µικρότερα έξοδα. 2. Να γραφεί πρόγραµµα το οποίο να διαβάζει τον πίνακα των µηνιαίων εισπράξεων µιας επιχείρησης στη διάρκεια ενός έτους και να υπολογίζει το ποσοστό των εισπράξεων κάθε µήνα σε σχέση µε το σύνολο των εισπράξεων του έτους. 3. Να γραφεί πρόγραµµα το οποίο να διαβάζει τα ονόµατα 50 αεροπορικών εταιρειών και τις αντίστοιχες εισπράξεις τους και στη συνέχεια να εκτυπώνει τα ονόµατα των εταιρειών που έχουν εισπράξεις περισσότερες από το µέσο όρο. 4. Να γραφεί πρόγραµµα το οποίο να διαβάζει τον αριθµό των τερµάτων που σηµειώθηκαν στους αγώνες ποδοσφαίρου µιας αγωνιστικής της Α κατηγορίας (9 αγώνες) και στη συνέχεια να υπολογίζει και να εµφανίζει τον µέσο αριθµό τερµάτων καθώς και το εύρος των τερµάτων. 5. Να γραφεί πρόγραµµα το οποίο να δίνει τις παρακάτω τιµές σε έναν πίνακα Α και στη συνέχεια να υπολογίζει και να εµφανίζει το άθροισµα των στοιχείων που βρίσκονται σε: Α) περιττές θέσεις του πίνακα, Β) άρτιες θέσεις του πίνακα. Οι τιµές είναι οι εξής: 11, 12, 13,, 20. 6. Σε ένα εµπορικό CD έχουν ηχογραφηθεί 20 µουσικά κοµµάτια. Να γραφεί πρόγραµµα το οποίο να διαβάζει τη χρονική διάρκεια (σε λεπτά) για κάθε ένα από τα παραπάνω κοµµάτια και στη συνέχεια να βρίσκει και να εµφανίζει τη χρονική διάρκεια του µεγαλύτερου και του µικρότερου κοµµατιού. Επίσης, θα πρέπει να υπολογίζει και να εµφανίζει τη συνολική χρονική διάρκεια του CD. 7. Να γραφεί πρόγραµµα το οποίο να διαβάζει τις εισπράξεις 200 βιοτεχνιών και να τις αποθηκεύει σε έναν πίνακα. Στη συνέχεια να βρίσκει και να εµφανίζει το εύρος των εισπράξεων. Επίσης, σε περίπτωση όπου οι υψηλότερες εισπράξεις πραγµατοποιήθηκαν από την 105 η βιοτεχνία, το πρόγραµµα θα πρέπει να εµφανίζει τις εισπράξεις της βιοτεχνίας αυτής, διαφορετικά να εµφανίζει τις χαµηλότερες εισπράξεις όπως επίσης και τη βιοτεχνία που της πραγµατοποίησε. 8. Να γραφεί πρόγραµµα το οποίο να διαβάζει 450 πραγµατικούς αριθµούς και στη συνέχεια: Α) να βρίσκει και να εµφανίζει το ηµιάθροισµα του µεγαλύτερου µε τον µικρότερο αριθµό, Β) να βρίσκει και να εµφανίζει το ποσοστό (%) που είχαν οι αριθµοί που ήταν µεγαλύτεροι της τιµής του ηµιαθροίσµατος του ερωτήµατος Α. 69

9. Να γραφεί πρόγραµµα το οποίο να διαβάζει το όνοµα και το µέσο όρο 100 µαθητών και στη συνέχεια: Α) να βρίσκει και να εµφανίζει το όνοµα του µαθητή µε το µικρότερο µέσο όρο, Β) να βρίσκει και να εµφανίζει το όνοµα του µαθητή µε το µεγαλύτερο µέσο όρο, Γ) να βρίσκει και να εµφανίζει το όνοµα των µαθητών εκείνων που είχαν µέσο όρο µεγαλύτερο από 18.2. 10. Να γραφεί πρόγραµµα το οποίο να αποθηκεύει τις παρακάτω ακέραιες τιµές σε έναν πίνακα Α: 2, 5, 8, 11, 14, 17, 20, 23, 26, 29. 11. Να γραφεί πρόγραµµα το οποίο να διαβάζει τις πωλήσεις 50 πωλητών και να τις αποθηκεύει σε κατάλληλο πίνακα. Στη συνέχεια: Α) να βρίσκει και να εµφανίζει το µέσο όρο πωλήσεων, Β) να βρίσκει και να εµφανίζει πόσοι πωλητές είχαν πωλήσεις άνω των 1000, Γ) να βρίσκει και να εµφανίζει το bonus για κάθε έναν από τους πωλητές του ερωτήµατος Β. Το bonus είναι το 5% επί των πωλήσεων, ) να βρίσκει και να εµφανίζει τον χειρότερο πωλητή και τις πωλήσεις αυτού καθώς και τον καλύτερο πωλητή καθώς και τις πωλήσεις αυτού. 12. Να γραφεί πρόγραµµα το οποίο να διαβάζει τον βαθµό 100 µαθητών σε ένα µάθηµα και να τους αποθηκεύει σε κατάλληλο πίνακα. Στη συνέχεια να βρίσκει και να εµφανίζει πόσες φορές παρατηρήθηκε ο βαθµός κάθε µαθητή. 13. Να γραφεί πρόγραµµα το οποίο να διαβάζει το βαθµό και το επώνυµο 100 µαθητών σε ένα µάθηµα και να τα αποθηκεύει σε κατάλληλους πίνακες. Στη συνέχεια να εµφανίζει το επώνυµο των µαθητών ο βαθµός των οποίων παρατηρήθηκε τις περισσότερες φορές. 14. Ο κύριος Στέφανος είναι ένας νέος και σύγχρονος κτηνοτρόφος. Το ποιµνιοστάσιό του αποτελείται από Ν συνολικά ζώα. Για τη διευκόλυνση της εργασίας του, θέλει να αναπτύξει ένα πρόγραµµα στον υπολογιστή για την παρακολούθηση της απόδοσης καθενός από αυτά για µια σειρά Μ ηµερών. Για να ξεχωρίζει τα ζώα του αποφάσισε να αντιστοιχίσει σε αυτά και από έναν αριθµό Ι, όπου Ι=1,2,3,.,Ν. Χρησιµοποιώντας τη δοµή του πίνακα, να βοηθήσετε το κύριο Στέφανο αναπτύσσοντας ένα πρόγραµµα υπολογισµού και εκτύπωσης της συνολικής παραγωγής κάθε ζώου στο διάστηµα των Μ ηµερών. 15. Ένα κατάστηµα πώλησης ανταλλακτικών διαθέτει 20 διαφορετικούς τύπους ανταλλακτικών αυτοκινήτων. Α) να διαβάζει τις ηµερήσιες πωλήσεις (σε τεµάχια) που πραγµατοποίησε κάθε ένας από τους παραπάνω τύπους ανταλλακτικών εντός 22 εργάσιµων ηµερών, Β) να υπολογίζει και να εµφανίζει τις µέσες πωλήσεις, Γ) να βρίσκει να εµφανίζει τις µέγιστες πωλήσεις όπως επίσης και τον τύπο του ανταλλακτικού για το οποίο αυτές σηµειώθηκαν, ) να βρίσκει και να εµφανίζει τις ελάχιστες πωλήσεις όπως επίσης και τον τύπο του ανταλλακτικού για το οποίο αυτές σηµειώθηκαν, Ε) να βρίσκει και να εµφανίζει το εύρος των πωλήσεων. 70

16. Σε ένα εργαστήριο αξιολόγησης υλικού προσωπικών υπολογιστών (PC hardware) πραγµατοποιούνται δοκιµές σε ένα µοντέλο εκτυπωτή. Στις δοκιµές χρησιµοποιούνται 25 έγγραφα Χ σελίδων έκαστο. Η ονοµαστική ταχύτητα εκτύπωσης του συγκεκριµένου µοντέλου είναι ίση µε 12 σελίδες/ λεπτό. Όµως στην περίπτωση που ο αριθµός των σελίδων υπερβαίνει τις 50, τότε αυτή µειώνεται στις 10 σελίδες/ λεπτό. Α) να διαβάζει τις Χ σελίδες για κάθε ένα από τα παραπάνω έγγραφα, Β) να υπολογίζει το χρόνο εκτύπωσης (σε λεπτά) κάθε εγγράφου, Γ) να βρίσκει και να εµφανίζει τον ταχύτερο και το βραδύτερο χρόνο εκτύπωσης. 17. Ένας ιδιώτης έχει 15 αναψυκτήρια κάθε ένα από τα οποία λειτουργεί καθηµερινά. Να γραφεί πρόγραµµα το οποίο: Α) να διαβάζει τις ηµερήσιες εισπράξεις κάθε αναψυκτηρίου κατά τη διάρκεια ενός µήνα, Β) να βρίσκει και να εµφανίζει την ηµέρα που σηµειώθηκαν οι µεγαλύτερες εισπράξεις, Γ) να υπολογίζει και να εµφανίζει τις συνολικές εισπράξεις κάθε αναψυκτηρίου. 18. Α) να διαβάζει 200 ακέραιους αριθµούς και να τους αποθηκεύει σε ένα πίνακα Α (20 γραµµές και 10 στήλες), Β) να υπολογίζει και να εµφανίζει το άθροισµα των άρτιων και το άθροισµα των περιττών στοιχείων του πίνακα Α. 19. ίνεται το ακόλουθο τµήµα προγράµµατος που αφορά ένα πίνακα Β: Κ := 9; For I:= 1 toι 7 do For J:= 1 to 4 do Β[Ι,J]:= Κ; Κ:= Κ + 2 Κ:= Κ Ι ; Να γραφεί ο πίνακας Β που προκύπτει µετά από την εκτέλεση του παραπάνω τµήµατος προγράµµατος. 20. Α) να διαβάζει τα ονόµατα 10 κινηµατογράφων και τις αντίστοιχες εισπράξεις τους για κάθε ηµέρα της εβδοµάδας, Β) να υπολογίζει και να εκτυπώνει το άθροισµα των εισπράξεων κάθε κινηµατογράφου καθώς και το κινηµατογράφο µε τη µέγιστη συνολική είσπραξη, Γ) να υπολογίζει και να εκτυπώνει το άθροισµα των εισπράξεων κάθε ηµέρας καθώς και την ηµέρα µε τη µέγιστη συνολική είσπραξη. 21. ίνεται πίνακας ακεραίων Α[100, 200]. Ποιο είναι το % ποσοστό των θετικών και ποιο των αρνητικών; (Παρατήρηση: τα µηδενικά στοιχεία να µη λαµβάνουν µέρος στον υπολογισµό των παραπάνω ποσοστών). 71

22. Να υπολογισθεί και να εµφανισθεί το άθροισµα των στοιχείων ενός τετραγωνικού πίνακα ακεραίων Α[100, 100], των οποίων το άθροισµα των δεικτών τους είναι άρτιο. (π.χ. το στοιχείο Α[5,7] συµπεριλαµβάνεται στο άθροισµα µιας και 5+7=12: άρτιος, ενώ το Α[8,9] όχι). 23. ίνονται 2 πίνακες ακεραίων Α[100] και Β[100]. Να αντιγραφούν τα στοιχεία του Α στον Β µε αντίστροφη σειρά. (δηλ. Β[100] := Α[1], Β[99] := Α[2],, Β[1] := Α[100]). 24. ίνεται πίνακας ακεραίων Α[100]. Να αντιστραφούν συµµετρικά τα στοιχεία του πίνακα Α. (δηλ. Α[1] <-> Α[100], Α[2] <-> Α[99],, Α[50] <-> Α[51]). 25. ίνεται πίνακας ακεραίων Α[100]. Να εµφανισθούν οι διαδοχικές 3άδες αριθµών στις οποίες ο µεσαίος αριθµός ισούται µε το άθροισµα των άλλων δύο. 26. ίνεται πίνακας ακεραίων Α[100]. Να υπολογισθεί και να εµφανισθεί το πλήθος των διαδοχικών στοιχείων που έχουν το ίδιο πρόσηµο. 27. ίνεται πίνακας ακεραίων Α[100]. Να εµφανισθεί η διαφορά των διαδοχικών ζευγαριών από στοιχεία του πίνακα. 28. Να γεµίσετε ένα πίνακα ακεραίων Α[5, 5] µε τους αριθµούς 1,2,3, 25. 29. Με τη χρήση µιας µόνο επαναληπτικής δοµής, να γεµίσετε έναν πίνακα ακεραίων Π[100] µε 0 τα ζυγά στοιχεία και µε 1 τα µονά 30. ίνονται δύο πίνακες ακεραίων Α[100] και Β[100]. Να δοθεί αλγόριθµος που συγκρίνει τους δύο πίνακες. ( Ίσοι εάν έχουν τις ίδιες τιµές και τα 100 στοιχεία τους, διαφορετικά Άνισοι ). 31. Να αντιγραφεί πίνακας ακεραίων Α[100] σε πίνακα ακεραίων Β[10, 10]. 32. Ένας πίνακας ακεραίων Α[100] λέµε ότι: γέρνει προς τα δεξιά εάν τα στοιχεία που είναι µεγαλύτερα του µέσου όρου του είναι περισσότερα εκείνων που είναι µικρότερα του µέσου όρου τους, διαφορετικά ότι γέρνει προς τα αριστερά. Όταν είναι ίσα, λέµε ότι ισορροπεί. Να γραφεί πρόγραµµα το οποίο να χαρακτηρίζει τον πίνακα. 33. Να γεµίσετε έναν πίνακα ακεραίων Α[100] µε 0 εκτός των θέσεων όπου ο δείκτης είναι πολλαπλάσιο του 7, όπου να γεµίσει µε την τιµή 1. 34. Σε έναν αγώνα Formula1 συµµετείχαν 22 αυτοκίνητα και τερµάτισαν όλα, κάνοντας συνολικά 50 γύρους. α) να διαβασθούν σε κατάλληλο πίνακα οι χρόνοι των 22 αυτοκινήτων για τους 50 γύρους, β) να υπολογισθεί και να εµφανισθεί ο καλύτερος χρόνος του αγώνα καθώς και το αυτοκίνητο που τον έκανε (1-22), γ) ποιος ήταν ο καλύτερος µέσος χρόνος και ποιο αυτοκίνητο τον πέτυχε; δ) ποιος ήταν ο καλύτερος χρόνος για κάθε αυτοκίνητο; 72

35. Να γίνει αλγόριθµος που να καταχωρεί 100 ακέραιους αριθµούς σε ένα µονοδιάστατο πίνακα και να εµφανίζει το διπλάσιο όλων των στοιχείων αλλά µε αντίθετη φορά µε την οποία εισήχθησαν. 36. Σε πίνακα Α[100] βρίσκονται 100 ακέραιοι αριθµοί. Να γίνει αλγόριθµος που να επιστρέφει το πλήθος των διαφορετικών αριθµών που εισήχθησαν καθώς και τους αριθµούς αυτούς. Π.χ. για τους αριθµούς 2, 23, 1, 2, 2, 6, 34, 1, 23, το πλήθος των διαφορετικών αριθµών είναι 5 και οι αριθµοί αυτοί είναι οι 2, 23, 1, 6, 34. 37. Σε πίνακα ακεραίων Α[200] βρίσκονται 200 τυχαίοι ακέραιοι αριθµοί στο διάστηµα [-999,999]. Να υπολογιστεί το ποσοστό των 1ψήφιων, 2ψήφιων και 3ψήφιων αριθµών. 38. Να γραφεί πρόγραµµα το οποίο να διαβάζει τις µηνιαίες πωλήσεις που πραγµατοποίησε µια εταιρεία κατά τη διάρκεια του πρώτου έτους λειτουργίας της και στη συνέχεια να βρίσκει και να εµφανίζει τις 5 µικρότερες και τις 5 µεγαλύτερες πωλήσεις. 39. Να γραφεί πρόγραµµα το οποίο να διαβάζει το όνοµα και το βαθµό 200 µαθητών. Στη συνέχεια, να βρίσκει και να εµφανίζει το όνοµα των 10 καλύτερων και το όνοµα των 7 χειρότερων µαθητών. 40. Να γραφεί πρόγραµµα το οποίο να δηµιουργεί ένα πίνακα Α [6,11] και στη συνέχεια να ταξινοµεί κατά αύξουσα σειρά ΟΛΑ τα στοιχεία του. 41. Να γραφεί πρόγραµµα το οποίο να δηµιουργεί ένα πίνακα Α [6,11] και στη συνέχεια να ταξινοµεί κατά αύξουσα σειρά ΟΛΑ τα στοιχεία ΚΑΘΕ ΓΡΑΜΜΗΣ του. 42. Να γραφεί πρόγραµµα το οποίο να δηµιουργεί ένα πίνακα Α [6,11] και στη συνέχεια να ταξινοµεί κατά αύξουσα σειρά ΟΛΑ τα στοιχεία ΚΑΘΕ ΣΤΗΛΗΣ ΤΟΥ. 43. Να γραφεί πρόγραµµα το οποίο να διαβάζει την επωνυµία 75 επιχειρήσεων καθώς και τις εισπράξεις που πραγµατοποίησε κάθε µια από αυτές για το πρώτο εξάµηνο λειτουργίας τους. Στη συνέχεια, να βρίσκει και να εµφανίζει το µέσο όρο εισπράξεων κάθε εξαµήνου και να εµφανίζει την επωνυµία των 5 πρώτων και των 4 τελευταίων επιχειρήσεων (ως βάση ταξινόµησης να θεωρηθεί ο µέσος όρος εισπράξεων κάθε εξαµήνου). 73

44. Α) να διαβάζει τις ηλικίες 100 ανθρώπων και να τις καταχωρεί σε κατάλληλο πίνακα, Β) να υπολογίζει και να εµφανίζει το µέσο όρο των ηλικιών, Γ) να βρίσκει και να εµφανίζει τη µεγαλύτερη και τη µικρότερη ηλικία, ) να βρίσκει και να εµφανίζει πόσοι άνθρωποι έχουν ηλικία µεγαλύτερη των 50 ετών. 45. Ένα πολυκατάστηµα κάθε φορά που κάποιος πραγµατοποιεί µια αγορά καταγράφει το επώνυµο και το ποσό που πληρώνει. Αν το ποσό είναι µεγαλύτερο από 1000 και µικρότερο από 2000 τότε του κάνει έκπτωση 7%, ενώ αν το ποσό είναι ίσο ή µεγαλύτερο από 2000 του κάνει έκπτωση 20%. Αν κάποια ηµέρα πραγµατοποίησαν αγορές 200 πελάτες, να γραφεί πρόγραµµα το οποίο: Α) να καταγράφει σε δύο µονοδιάστατους πίνακες CU[200] και P[200] το ονοµατεπώνυµο και το ποσό που πληρώνει ο πελάτης χωρίς την έκπτωση, Β) να ελέγχει αν ο πελάτης δικαιούται έκπτωσης και αν ναι τότε να υπολογίζει το ποσό που τελικά θα πληρώσει. Το ποσό αυτό να καταχωρείται στον πίνακα P αντικαθιστώντας το προηγούµενο, Γ) να υπολογίζει τα συνολικά έσοδα του καταστήµατος τη συγκεκριµένη ηµέρα µετά την έκπτωση που έχει κάνει στους πελάτες και να εµφανίζει το αποτέλεσµα, ) να βρίσκει και να εµφανίζει το ονοµατεπώνυµο του πελάτη που έκανε τη µεγαλύτερη σε κόστος αγορά. Σηµείωση: να πραγµατοποιείται έλεγχος εγκυρότητας του ποσού αγοράς κάθε πελάτη. 46. Σε µια οµάδα µπάσκετ ο προπονητής αποφάσισε να κρατά στον ηλεκτρονικό υπολογιστή, πίνακα µε τους πόντους που πέτυχαν οι 12 παίκτες που έχει στους 18 αγώνες της αγωνιστικής περιόδου ώστε να µπορεί να επεξεργάζεται τα δεδοµένα αυτά. Έτσι ανέθεσε σε εσάς να αναπτύξετε το πρόγραµµα που θέλει. Από τις απαιτήσεις του προπονητή από το πρόγραµµα προκύπτει ότι το πρόγραµµα που θα κάνετε θα πρέπει: Α) να διαβάζει το ονοµατεπώνυµο κάθε παίκτη και τους πόντους που πέτυχε τη προηγούµενη αγωνιστική περίοδο, Β) να εµφανίζει το ονοµατεπώνυµο του παίκτη µε το µεγαλύτερο µέσο όρο πόντων, Γ) να εµφανίζει το ονοµατεπώνυµο του κάθε παίκτη και το µεγαλύτερο αριθµό πόντων που πέτυχε σε ένα παιχνίδι από όλη την αγωνιστική περίοδο. Σηµείωση: να πραγµατοποιείται έλεγχος εγκυρότητας των πόντων κάθε παίκτη. 47. Α) να δηµιουργεί ένα πίνακα Α διαστάσεων 5 x 11, Β) να ταξινοµεί κατά αύξουσα σειρά όλα τα στοιχεία κάθε γραµµής του πίνακα Α. Γ) να ταξινοµεί κατά φθίνουσα σειρά όλα τα στοιχεία κάθε στήλης του πίνακα Β. 74