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

Σχετικά έγγραφα
Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός

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

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

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

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

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

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

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

Εισαγωγή στο Προγραμματισμό με τη PASCAL & τη Matlab Εξαμηνιαία Εργασία 2014 Μετατρέποντας AC σε DC Τάση Μέρος Β : Πορεία Εργασίας

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

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

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

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

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

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014

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

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

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

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

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

Pascal. 15 Νοεμβρίου 2011

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

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

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

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

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

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

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

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

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

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

Σκοπός. Εργαστήριο 5 Εντολές Επιλογής

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

Προγραμματισμός PASCAL

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

A3. Μονάδες 5 Α4. Μονάδες 10 ΘΕΜΑ B. Β1. writeln Περιεχόμενα Εντολή Αποτελέσματα Παραμέτρων Μονάδες 20 ΘΕΜΑ Γ.

Αποτελέσματα προόδου

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

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

πινάκων Σύγχρονα Προγραματιστικά Περιβάλλοντα ΠΕΡΙΕΧΟΜΕΝΑ

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

8 FORTRAN 77/90/95/2003

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

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

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

Εισαγωγή στο Προγραμματισμό με τη PASCAL & τη Matlab Εξαμηνιαία Εργασία 2015 Μετατρέποντας AC σε DC Τάση Περισσότερες Επεξηγήσεις

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

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

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

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

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

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

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

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ 15 ΚΕΦΑΛΑΙΟ 1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΟΙ ΠΡΑΓΜΑΤΙΚΟΙ ΜΕΤΑΒΛΗΤΕΣ ΛΟΓΙΚΟΥ ΤΥΠΟΥ ΑΛΦΑΡΙΘΜΗΤΙΚΑ...

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

Παράλληλη Επεξεργασία Κεφάλαιο 5 Μοίρασμα Δεδομένων

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

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

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

Ενότητα 3: «Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό: loops, subroutines, tables»

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

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

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

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

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

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

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

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

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

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Προγραμματισμός PASCAL

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

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

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

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

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

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

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

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

Pascal. 26 Οκτωβρίου 2011

Transcript:

Σκοπός Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση. Επανάληψη των βασικών εννοιών της PASCAL και του προγραμματισμού οι έννοιες της μεταβλητής, του τύπου δεδομένων, των αλγεβρικών & λογικών υπολογισμών, των εντολών σ ένα πρόγραμμα. Κατανόηση της μορφής και της λειτουργίας προγραμμάτων στη PASCAL. Κατανόηση της έννοιας «Δομή Δεδομένων». Κατανόηση των βημάτων στη συστηματική α- νάπτυξη ενός προγράμματος. Κατανόηση των τεχνικών / μεθόδων στην ανάπτυξη του προγράμματος, για ένα πρόβλημα Κατανόηση της έννοιας και της λειτουργίας των Συναρτήσεων στη PASCAL και στο προγραμματισμό. Χρήση των Ολοκληρωμένων Περιβαλλόντων Α- νάπτυξης Προγραμμάτων (IDE) lazarus

Οδηγός Προετοιμασίας για τη Τελική Εξέταση 2012 Μέρος Γ : H ΕΠΑΝΑΛΗΨΗ Ένα, πρόγραμμα, για να εκτελέσει τη λειτουργία του, χρειάζεται πολλές φορές να επαναλάβει μία ενέργεια. Η ανάγκη να επαναλάβουμε μία ενέργεια ή μία λειτουργία, εμφανίζεται πολύ συχνά στη πράξη. Συχνά χρειάζεται, για παράδειγμα, να επαναλάβουμε μία κίνηση για να φτάσουμε σ ένα τελικό προορισμό ή μία πρόταση ή έναν υπολογισμό. Ακόμα και για να προσθέσουμε δύο αριθμούς, χρειάζεται να προσθέσουμε τα μικρότερης τάξης ψηφία τους και μετά να επαναλάβουμε αυτή τη λειτουργία για κάθε ένα από τα μεγαλύτερης τάξης ψηφία. Σ ένα πρόγραμμα, η λειτουργία της επανάληψης υλοποιείται με διάφορες εντολές, for, while, repeat. Όλες εκτελούν την ίδια λειτουργία. Να επαναλάβουν την εκτέλεση μίας ή περισσοτέρων εντολών σ ένα πρόγραμμα. Η χρησιμότητα αυτών των εντολών είναι τέτοια, ώστε θα τις χρησιμοποιούμε σχεδόν σε κάθε πρόγραμμα. Σ αυτή την ενότητα, εξετάζουμε / επαναλαμβάνουμε τη λειτουργία τους, μέσα από κάποια παραδείγματα. Θέμα 1: Γράψτε ένα πρόγραμμα στη PASCAL για να υπολογίζει τη τιμή του π από την άπειρη σειρά: π = 4 4 / 3 + 4 / 5 4 / 7 + 4 / 9 4 / 11 + Χρησιμοποιείστε τη παραπάνω σειρά για να υπολογίστε το π με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή μέχρι να πάρουμε τη τιμή 3.14 ΑΠΑΝΤΗΣΗ program pi; var pi : real; arithmhths, paranomasths, epomenos_oros : real; n : integer; pi := 0.0; arithmhths := 4.0; paranomasths := 1.0; epomenos_oros := 4.0; n := 1;

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους while abs ( epomenos_oros ) > 0.0009 do if ( n mod 2 = 1 ) then pi := pi + epomenos_oros else pi := pi - epomenos_oros; paranomasths := paranomasths + 2.0; epomenos_oros := arithmhths / paranomasths; n := n + 1; end; writeln( pi ); readln; end.

Οδηγός Προετοιμασίας για τη Τελική Εξέταση 2012 Θέμα 2: Γράψτε ένα πρόγραμμα στη C για να εμφανίζει στη οθόνη το σχήμα μίας σκακιέρας ΑΠΑΝΤΗΣΗ program skakiera; var row, column : integer; for row := 1 to 8 do end. end; if ( row mod 2 = 0 ) then write(' '); for column := 1 to 8 do write('*'); writeln(); readln;

Μέρος Δ : ΠΙΝΑΚΕΣ Σ αυτή την ενότητα, εξετάζουμε μία από τις βασικότερες έννοιες του προγραμματισμού, αυτή του πίνακα. Στο προγραμματισμό, ο πίνακας χρησιμεύει για να διευκολύνει την αποθήκευση και επεξεργασία μεγάλου πλήθους δεδομένων. Ακόμα, χρησιμοποιούμε το πίνακα για να παριστάνουμε διανύσματα και μαθηματικούς πίνακες. Σ αυτή την ενότητα, εξετάζουμε πως χρησιμοποιούμε το πίνακα σε προγράμματα, μέσα από παραδείγματα. Ο πίνακας είναι μία δομή δεδομένων. Είναι η πιο απλή δομή δεδομένων στη PASCAL, αλλά και στη MATLAB, στη JAVA και σε κάθε γλώσσα προγραμματισμού Μία δομή δεδομένων είναι μία μορφή ή σχήμα παράστασης των δεδομένων, σ ένα πρόγραμμα. Ένας πίνακας μπορεί να παριστάνει και να αποθηκεύει στη μνήμη του υπολογιστή ένα πλήθος δεδομένων, του ίδιου τύπου. Αυτά τα δεδομένα μπορεί να είναι οι τιμές ταχύτητας ενός κινούμενου οχήματος σε διαφορετικές χρονικές στιγμές t = 0 sec, 1 sec, 2 sec, 3 sec,, N sec. Μπορεί ακόμα να είναι τιμές τάσης ή έντασης ρεύματος στο χρόνο, σ ένα κύκλωμα ή οι (x, y, z) συντεταγμένες της κίνησης ενός αντικειμένου ή ενός βραχίονα προς ένα τελικό προορισμό, στο χώρο. Ένας πίνακας δεν χρησιμοποιείται μόνον για τις τιμές φυσικών μεταβλητών, όπως θερμοκρασία, τάση, ένταση, κ. ά., αλλά μπορεί να παριστάνει πολλούς άλλους τύπους δεδομένων ή τιμών, όπως τους βαθμούς των φοιτητών ενός τμήματος, τιμές μετοχών στο χρηματιστήριο, τα ονόματα των καθηγητών ή του τίτλους των μαθημάτων, σ ένα τμήμα. Αυτό που χρειάζεται να κατανοήσουμε σ αυτό το στάδιο είναι ότι χρησιμοποιούμε έ- ναν πίνακα σ ένα πρόγραμμα, για να παριστάνουμε μεγάλο πλήθος δεδομένων, του ίδιου τύπου. Εάν λοιπόν θέλουμε να γράψουμε ένα πρόγραμμα για να επεξεργάζεται τις τιμές της ισχύος λειτουργίας ενός κινητήρα σε διαφορετικές χρονικές στιγμές, τότε θα πρέπει να χρησιμοποιήσουμε ένα πίνακα για να αποθηκεύσουμε τις τιμές ισχύος του κινητήρα. Όμως, ο πίνακας δεν χρησιμεύει μόνον για να αποθηκεύουμε δεδομένα στη μνήμη του υπολογιστή. Χρησιμεύει ακόμα για να μπορούμε να αναφερόμαστε εύκολα σε κάθε ένα από αυτά τα δεδομένα και να τα χρησιμοποιούμε σε υπολογισμούς. Εφόσον ο πίνακας επιτρέπει την αποθήκευση δεδομένων και την αναφορά / χρήση αυτών των δεδομένων, μέσα από ένα πρόγραμμα, ο πίνακας είναι μία μεταβλητή. Όμως, ο πίνακας είναι μια σύνθετη μεταβλητή γιατί επιτρέπει την αποθήκευση στη μνήμη του υπολογιστή, όχι μίας τιμής, αλλά ενός πλήθους τιμών του ίδιου τύπου. Μπορούμε να φανταστούμε το πίνακα, σαν τις κούνιες σε μία παιδική χαρά. Μια απλή μεταβλητή είναι σαν μία ατομική κούνια. Ένας πίνακας όμως, είναι σαν την αλυσίδα από κούνιες σε μία παιδική χαρά (Εικόνα 1), όπου κάθε στιγμή, μπορεί να βρίσκονται περισσότερα από ένα παιδιά. Για παράδειγμα, στις κούνιες της Εικόνας 1, μπορεί κάθε στιγμή να βρίσκονται μέχρι 5 παιδιά. Έτσι, και ένας πίνακας στη PASCAL, μπορεί κάθε στιγμή να περιέχει να έχει αποθηκευμένες περισσότερες από μία τιμές.

Οδηγός Προετοιμασίας για τη Τελική Εξέταση 2012 Εικόνα 1: Ένας πίνακας στη PASCAL, είναι σαν τις κούνιες σε μία παιδική χαρά, όπου κάθε στιγμή μπορεί να βρίσκονται και να κάνουν κούνια περισσότερα από ένα παιδιά. Δ.1 Υλοποίηση του πίνακα Ο πίνακας υλοποιείται με τη σύνδεση με ένα συνεχή χώρο στη μνήμη του υπολογιστή. Όπως κάθε μεταβλητή ενός προγράμματος συνδέεται με μία θέση στη μνήμη του υπολογιστή, έτσι ένας πίνακας συνδέεται με ένα χώρο στη μνήμη του υπολογιστή. Όμως, σε αντίθεση με μία απλή μεταβλητή στη οποία διατίθεται μία θέση στη μνήμη του υπολογιστή, για ένα πίνακα διατίθεται / δεσμεύεται χώρος στη μνήμη που αποτελείται / περιλαμβάνει ένα πλήθος συνεχών θέσεων, αρκετών ώστε να μπορούμε να αποθηκεύουμε σε αυτές το πλήθος των δεδομένων που χρειάζεται να παριστάνει ο πίνακας (Εικόνα 2). Δ.1 Πως Αποθηκεύουμε Τιμές στο Χώρο Μνήμης ενός Πίνακα Χρησιμοποιούμε έναν πίνακα για να μπορούμε να αποθηκεύουμε στη μνήμη του υπολογιστή μεγάλο πλήθος δεδομένων, του ίδιου τύπου. Αυτές οι τιμές θα αποθηκευτούν σ ένα χώρο στη μνήμη του υπολογιστή που θα διατεθεί για το πίνακα. Όμως, η αποθήκευσή τους σ αυτό το χώρο μπορεί / θα πρέπει να γίνει, αποθηκεύοντας μία μόνον τιμή κάθε φορά, σε μία αντίστοιχη θέση στο πίνακα.

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Η μέθοδος που χρησιμοποιείται για να αποθηκεύουμε ένα πλήθος τιμών ή δεδομένων σε ένα πίνακα ακριβέστερα στο χώρο στη μνήμη που διατίθεται για ένα πίνακα είναι η αρίθμηση των θέσεων, σ αυτό το χώρο. Είναι σαν οι θέσεις μνήμης που διατίθενται για ένα πίνακα να αριθμούνται, ξεκινώντας από 1 για τη πρώτη θέση, 2 για τη δεύτερη θέση, 3 για τη τρίτη, κ.ο.κ., μέχρι να αριθμηθεί και η τελευταία θέση στο χώρο στη μνήμη που διατίθεται για το πίνακα. Για να αποθηκεύσουμε μία τιμή, από ένα πλήθος τιμών, σ ένα πίνακα, χρησιμοποιούμε το όνομα του πίνακα και την αρίθμηση της θέσης στην οποία θα αποθηκεύσουμε αυτή τη τιμή. Για παράδειγμα, η εντολή: a[3] : = 12; εκχωρεί / αποθηκεύει τη τιμή 12 στο τρίτο στοιχείο / θέση του πίνακα με όνομα a, δηλαδή στη τρίτη θέση, στο χώρο μνήμης που έχει διατίθεται στο πίνακα a. Εικόνα 2: Πίνακας στη μνήμη. Με τη δήλωση ενός πίνακα, δεσμεύονται τόσες θέσεις στη μνήμη RAM του υπολογιστή, όσες το πλήθος των τιμών που ορίζουμε στη δήλωση του πίνακα. Σ αυτές τις θέσεις, θα αποθηκεύονται οι τιμές που εκχωρούμε στο πίνακα. Αυτή η σύνδεση τιμών με θέσεις του πίνακα θέσεις στο χώρο μνήμης που έχει δεσμευτεί για το πίνακα μας επιτρέπει να αναφερόμαστε και να χρησιμοποιούμε σε υπολογισμούς, τιμές που έχουν αποθηκευτεί σε έναν πίνακα. Έτσι, για να αναφερθούμε σε μία τιμή που έχει αποθηκευτεί σε μία θέση ή στοιχείο ενός πίνακα, χρησιμοποιούμε το όνομα του πίνακα και την θέση / σειρά / αρίθμηση του στοιχείου / θέσης στο πίνακα, αυτής της τιμής. Για παράδειγμα, η εντολή: writeln ( a[3] ); θα εμφανίσει στην οθόνη τη τιμή του τρίτου στοιχείου / θέσης στο πίνακα a. Εάν σ αυτή τη θέση, έχουμε εκχωρήσει τη τιμή 12, τότε η writeln (a[3]) θα εκτυπώσει στην οθόνη αυτή τη τιμή.

Οδηγός Προετοιμασίας για τη Τελική Εξέταση 2012 Εξετάζουμε αυτές τις έννοιες αναλυτικότερα, μέσα από παραδείγματα. Θέμα 3: Γράψτε ένα πρόγραμμα σε PASCAL που να διαβάζει 10 ζεύγη τιμών από την οθόνη του υπολογιστή, για παράδειγμα τα παρακάτω ζεύγη τιμών. Κάθε ζεύγος τιμών αποτελείται από μία τιμή που παριστάνει χρόνο και μία αντίστοιχη τιμή ταχύτητας, τη συγκεκριμένη χρονική στιγμή. Το πρόγραμμα θα πρέπει να υπολογίζει τη μέση ταχύτητα και το πλήθος των τιμών ταχύτητας που υπερβαίνουν το μέση τιμή. 0.0 132.5 0.1 147.2 0.2 148.3 0.3 157.3 0.4 163.2 0.5 158.2 0.6 169.3 0.7 148.2 0.8 137.6 0.9 135.9 ΑΠΑΝΤΗΣΗ program metriseis; var xronos : array [1.. 10] of real; v : array [1.. 10] of real; i, megales_tachytites : integer; athroisma, mesos : real; const plithos = 10; writeln( Δώσε τις μετρήσεις χρόνου και ταχύτητας ); athroisma := 0; for i := 1 to plithos do readln(xronos[i], v[i]); athroisma := athroisma + v[i]; end;

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους mesos := athroisma / plithos; megales_tachytites := 0; for i := 1 to plithos do if v[i] > mesos then megales_tachytites := megales_tachytites + 1; writeln( H μέση ταχύτητα είναι:, mesos); writeln( To πλήθος των τιμών ταχύτητας πάνω από το μέσο όρο είναι:, megales_tachytites); readln; end. Θέμα 4: Η παραγωγή ηλεκτρικής ενέργειας [MW] ενός εργοστασίου ηλεκτρικής ενέργειας, για τις 7 ημέρες μίας εβδομάδας, παριστάνεται από το πίνακα τιμών, παρακάτω. 1 207 2 367 3 211 4 401 5 448 6 21 7 213 4.1 Γράψτε ένα πρόγραμμα που να υπολογίζει τη μέση ημερήσια παραγωγή του εργοστασίου, σε όλη τη περίοδο των 7 ημερών. Το πρόγραμμα θα πρέπει ακόμα να υπολογίζει πόσες και ποιες ημέρες, η παραγωγή του εργοστασίου ξεπέρασε τη μέση ημερήσια παραγωγή. 4.2 Γράψτε ένα πρόγραμμα για να υπολογίζει την ημέρα που σημειώθηκε η μικρότερη ημερήσια παραγωγή ενέργειας.

Οδηγός Προετοιμασίας για τη Τελική Εξέταση 2012 4.3 Γράψτε ένα πρόγραμμα για να υπολογίζει και να εκτυπώνει τη παραγωγή για μία συγκεκριμένη ημέρα της εβδομάδας, π.χ. τη παραγωγή της Δευτέρας, ή της Πέμπτης, κοκ. 4.4 Γράψτε ένα πρόγραμμα για να υπολογίζει τη μέση παραγωγή για ολόκληρη την εβδομάδα ΑΠΑΝΤΗΣΗ Ερώτημα 4.1 program ergostasioenergeias; var paragogi : array [1.. 7] of real; mera : array [1.. 7] of real; i, yperparagogi : integer; athroisma, mesos : real; const plithos = 7; athroisma := 0; for i := 1 to plithos do readln ( mera[i], paragogi[i] ); end; athroisma := athroisma + paragogi[i]; mesos := athroisma / plithos; yperparagogi := 0; writeln ( Οι μέρες της μεγάλης παραγωγής είναι: ); for i := 1 to plithos do if paragogi[i] > mesos then writeln (mera[i]:3); yperparagogi := yperparagogi + 1; end;

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους writeln( Το πλήθος των ημερών μεγάλης παραγωγής είναι:, yperparagogi); writeln( H μέση ημερήσια παραγωγή είναι:, mesos); readln; end. Ερώτημα 4.2 program ergostasioenergeias; var mera, paragogi : real; min, mera_min : real; const plithos = 7; min := 1000000; for i := 1 to plithos do readln (mera, paragogi); if paragogi < min then min := paragogi; mera_min := mera; end (* if *) end; (* for *) writeln( H ελάχιστη παραγωγή ενέργειας είναι:, min); writeln( H ημέρα που σημειώθηκε η ελάχιστη παραγωγή είναι:, mera_min); readln; end.