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

Σχετικά έγγραφα
Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

6. Εισαγωγή στον προγραµµατισµό

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Θεωρία Προγραμματισμού

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

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

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

Μαλούτα Θεανώ Σελίδα 1

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

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

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

Α. Ερωτήσεις Ανάπτυξης

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

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

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ 2 η ΕΡΓΑΣΙΑ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

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

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

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

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

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

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

Δομημένος Προγραμματισμός

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

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

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

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Βασικές Έννοιες Αλγορίθμων. Τι είναι αλγόριθμος. Για να είναι αλγόριθμος. Καθοριστικότητα 20/5/2014. Σκοπός μαθήματος. Αλγόριθμος

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

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

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

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

6. 1 Η έννοια του προγράμματος

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

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

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

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό κάθε πρότασης και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασµένη.

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό κάθε πρότασης και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασµένη.

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

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

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

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

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

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

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr Διαφάνειες: Καθ. Νικόλαος Λορέντζος

7. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2

Αλγόριθμοι 3

Αλγόριθμος Πεπερασμένη ακολουθία ενεργειών που, αν εκτελεσθούν πεπερασμένο το πλήθος φορές, επιτυγχάνουν το επιθυμητό αποτέλεσμα. Παραδείγματα - Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση - Εύρεση Μέγιστου Κοινού Διαιρέτη - Ελάχιστου Κοινού Πολλαπλάσιου Αλγοριθμικότητα στην καθημερινή πρακτική; 4

Λογικό Διάγραμμα (Διάγραμμα Ροής) Διάγραμμα περιγραφής μιας ακολουθίας εντολών Σχήμα Συμβολισμός Αρχή/Τέλος Λογικού Διαγράμματος Εκτέλεση μιας ή περισσοτέρων εντολών απόδοσης τιμών Ανάγνωση δεδομένων (ή και εκτύπωση αποτελεσμάτων) Εκτύπωση αποτελεσμάτων Έλεγχος ικανοποίησης συνθήκης Ροή Λογικού Διαγράμματος Σύνδεσμος Λογικού Διαγράμματος 5

Λογικό Διάγραμμα ή Διάγραμμα Ροής ΑΡΧΗ Β sum = 0 Β7 Τύπωσε sum Β2 k = 0 ΤΕΛΟΣ Β3 Διάβασε x Β4 Β5 Β6 NAI k = k + sum = sum + x k < 4 ΟΧΙ Φυσικό πρόβλημα Να διαβασθούν 4 αριθμοί, να υπολογισθεί το άθροισμά τους και να εκτυπωθεί. 6

Λογικό Διάγραμμα ή Διάγραμμα Ροής ΑΡΧΗ Β sum = 0 Β7 Τύπωσε sum Β2 Β3 Β4 Β5 Β6 NAI k = 0 Διάβασε x k = k + sum = sum + x k < 4 ΟΧΙ ΤΕΛΟΣ Εντολές σε μια Γλώσσα Προγραμματισμού. sum = 0 2. k = 0 3. read x 4. k = k + 5. sum = sum + x 6. if k < 4 go to 3 7. write sum 7

Λογικό Διάγραμμα (Συμπλήρωμα) Επαναληπτική Εντολή μετρητής = τιμή τιμή2 (Βήμα β) εντολές 8

Λογικό Διάγραμμα ή Διάγραμμα Ροής ΑΡΧΗ B B2 B3 B4 B5 sum = 0 k = 4 (Βήμα ) Διάβασε x sum = sum + x Τύπωσε sum ΤΕΛΟΣ Εντολές σε μια Γλώσσα Προγραμματισμού. sum = 0 2a. for k = to 4 step 3. read x 4. sum = sum + x 2b. next k 5. write sum 9

Λογικό Διάγραμμα αλλά όχι αλγόριθμος!!! ΑΡΧΗ Β sum = 0 Β7 Τύπωσε sum Β2 Β3 k = 0 Διάβασε x ΤΕΛΟΣ Β4 Β5 k = k + sum = sum + x Β6NAI k > - ΟΧΙ 0

Γλώσσες Προγραμματισμού

Κατηγορίες Γλωσσών. Φυσικές Γλώσσες επικοινωνίας μεταξύ των ανθρώπων Ελληνική, Αγγλική, Γαλλική 2. Προγραμματισμού Τεχνητές γλώσσες για την περιγραφή αλγορίθμων (σύνταξη προγραμμάτων) που μπορούν να εκτελεσθούν από Η/Υ. 2

Κατηγορίες Γλωσσών Προγραμματισμού Α. Χαμηλού Επιπέδου Α. Μηχανής ( η γενιά, ΓΓ) Α2. Συμβολικές ή Μνημονικές (2 η γενιά, Γ2Γ) Β. Υψηλού Επιπέδου (3 η γενιά, Γ3Γ) (εξειδικευμένες ανάλογα με το είδος της εφαρμογής) Basic, Pascal, Fortran, Java, C, C++, Γ. Πολύ Υψηλού Επιπέδου (4 η γενιά, Γ4Γ) SQL, QUEL, QBE, 3

0 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 Α. Γλώσσα Μηχανής (ΓΓ) 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 4

Α. Γλώσσα Μηχανής (ΓΓ) Μια γλώσσα για κάθε τύπο Η/Υ Αρνητικά Δύσκολος προγραμματισμός, για λίγους Η/Υ διαφορετικών κατασκευαστών, με διαφορετική γλώσσα μηχανής Εξάρτηση από τον κατασκευαστή του Η/Υ Με αγορά Η/Υ άλλου κατασκευαστή, - εκμάθηση της νέας γλώσσας μηχανής και - επανασύνταξη των προγραμμάτων στη νέα γλώσσα Γλώσσα χαμηλού επιπέδου 5

Α2. Συμβολική ή Μνημονική Γλώσσα (Γ2Γ) Κώδικας σε Συμβολική Γλώσσα ADD SUB MULT DIV 0 B R R 5 C E Κώδικας σε Γλώσσα Μηχανής 0 5 6 7 3 ΤΕΛΕΣΤΗΣ Α ΟΡΟΣ 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 6

R4 F MULT R3 R3 E DIV D R2 R ADD A R C MULT B X R6 R6 5 0 SUB R5 R5 R4 ADD R2 Α2. Συμβολική ή Μνημονική Γλώσσα (Γ2Γ) 7

Α2. Συμβολική ή Μνημονική Γλώσσα (Γ2Γ) Μια συμβολική γλώσσα για κάθε γλώσσα μηχανής Θετικά Ευκολότερος προγραμματισμός, σε σχέση με εκείνον σε γλώσσα μηχανής Αρνητικά Δύσκολος προγραμματισμός, για λίγους Η/Υ διαφορετικών κατασκευαστών, με διαφορετική συμβολική γλώσσα Εξάρτηση από τον κατασκευαστή του Η/Υ Με αγορά Η/Υ άλλου κατασκευαστή, - εκμάθηση της νέας γλώσσας μηχανής και - επανασύνταξη των προγραμμάτων στη νέα γλώσσα Γλώσσα χαμηλού επιπέδου 8

Β. Γλώσσα Υψηλού Επιπέδου (Γ3Γ) a = 2 b = 3 c = 2 d = 6 e = 2 f = 4 x = a + b * c + d / e * f 5 y = 2*(x-ln(x)) write(x) write(y) 9

Β. Γλώσσα Υψηλού Επιπέδου (Γ3Γ) Θετικά Πολύ ευκολότερος προγραμματισμός, για πολλούς Απεξάρτηση από τον κατασκευαστή του Η/Υ (απεριόριστα πολλές γλώσσες) Αρνητικά Πολλές εντολές για τη διαχείριση αρχείων 20

Γ. Γλώσσα Πολύ Υψηλού Επιπέδου (Γ4Γ) SELECT am, onoma, epon, posot*timi AS eispraxi FROM PARAG WHERE eidos = ΠΟ (Άντληση δεδομένων από ένα αρχείο) SELECT eponimia, onoma FROM BIOM, FARMAKO WHERE BIOM.KFB = FARMAKO.KBF (Άντληση δεδομένων από δυο αρχεία) Θετικά Εύκολη διαχείριση αρχείων, με απλές εντολές Αρνητικά Δεν υποκαθιστά τις Γ3Γ. 2

Γ2Γ έναντι ΓΓ Σε κάθε εντολή μιας Γ2Γ αντιστοιχεί τουλάχιστον μια εντολή σε ΓΓ. 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 MULT ADD DIV MULT ADD SUB 0 B C R A R R2 D E R3 R3 F R4 R2 R4 R5 R5 5 R6 R6 22 X

Γ3Γ έναντι Γ2Γ Εντολές a = 2 b = 3 c = 2 d = 6 e = 2 f = 4 x = a + b * c + d / e * f - 5 Στοιχειώδεις Εντολές a = 2 b = 3 c = 2 d = 6 e = 2 f = 4 r = b * c r2 = a + r r3 = d / e r4 = r3 * f r5 = r2 + r4 r6 = r5 5 x = r6 23

Γ3Γ έναντι Γ2Γ Έκφραση σε Γ3Γ: x = a + b * c + d / e * f - 5 και αντίστοιχος κώδικας σε Γ2Γ r = b * c r2 = a + r r3 = d / e B MULT C R A ADD R R2 D DIV E r5 = r2 + r4 r6 = r5-5 x = r6 ADD SUB 0 R2 R4 R5 R5 5 R6 R6 X r4 = r3 * f R3 R3 MULT F Σε κάθε εντολή μιας Γ3Γ αντιστοιχούν πολλές εντολές σε Γ2Γ. R4 24

Γ4Γ έναντι Γ3Γ SELECT eponimia, onoma FROM BIOM, Farmako WHERE BIOM.KFB = Farmako.KBF Σε κάθε εντολή μιας Γ4Γ αντιστοιχούν πάρα πολλές εντολές σε Γ3Γ. 25

0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 Β. Γλώσσα Υψηλού Επιπέδου (Γ3Γ) x = a + b * c + d / e * f - 5 MULT ADD DIV MULT ADD SUB 0 B C R A R R2 D E R3 R3 F R4 R2 R4 R5 R5 5 R6 R6 X 26

Γενιές Γλωσσών Προγραμματισμού (σύνοψη) Γλώσσα ης Γενιάς: Γλώσσα Μηχανής (χαμηλού επιπέδου) 0 0 0 0 0 0 0... 0 0 Γλώσσα 2 ης Γενιάς: Συμβολική Γλώσσα (χαμηλού επιπέδου) ADD 26 Γλώσσα 3 ης Γενιάς: Γλώσσα Υψηλού επιπέδου x = a + b * c + d / e * f - 5 Γλώσσα 4 ης Γενιάς: Γλώσσα Πολύ Υψηλού Επιπέδου SELECT Eponimia, Onoma FROM BIOM AS B, FARMAKO AS F WHERE B. KFB = F.KFB AND Morphi = Σκόνη 27

Μεταφραστικά Προγράμματα 28

Γλώσσα Μηχανής (ΓΓ) Η μόνη γλώσσα που είναι κατανοητή από τον Η/Υ. Εντολές σ αυτή τη γλώσσα εκτελούνται από τον Η/Υ... εφόσον είναι σωστές. Λοιπές Γλώσσες Προγραμματισμού Εντολές που έχουν γραφεί σε οποιαδήποτε άλλη γλώσσα προγραμματισμού - πρέπει να μεταφρασθούν σε εντολές σε γλώσσα μηχανής - οι οποίες μπορούν ακολούθως να εκτελεσθούν από τον Η/Υ. 29

Μετάφραση από Γ2Γ σε ΓΓ B MULT C R A ADD R R2 D DIV E R3 R3 MULT F R4 R2 ADD R4 R5 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 Συμβολομεταφραστής (Assembler) Μεταφράζει από Γ2Γ σε ΓΓ. Διαγιγνώσκει συντακτικά (μεταφραστικά) λάθη. 30

Μετάφραση από Γ3Γ σε ΓΓ a = 2 b = 3 c = 2 d = 6 e = 2 f = 4 x = a + b * c + d / e * f - 5 Πηγαίος κώδικας (source code) 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 00 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 Αντικείμενος κώδικας (object code) ή Εκτελέσιμος κώδικας (executable code) Μεταφραστής Μεταφράζει από Γ3Γ σε ΓΓ. Διαγιγνώσκει συντακτικά (μεταφραστικά) λάθη. 3

Μετάφραση από Γ4Γ σε ΓΓ SELECT eponimia, onoma FROM BIOM, Farmako WHERE BIOM.KFB = Farmako.KBF 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 0 0 0 0 00 0 0 0... 0 0 0 0 0 0 0 0 0 0 0... 0 0 Προμεταφραστής: Μεταφράζει από Γ4Γ σε Γ3Γ. Μεταφραστής: Μεταφράζει από Γ3Γ σε ΓΓ. Διαγιγνώσκονται συντακτικά (μεταφραστικά) λάθη. 32

Μεταφραστικά Προγράμματα (σύνοψη) Πρόγραμμα σε Γλώσσα 4 ης Γενιάς Προμεταφραστής Πρόγραμμα σε Γλώσσα 3 ης Γενιάς Μεταφραστής Πρόγραμμα σε Γλώσσα 2 ης Γενιάς Συμβολομεταφραστής Πρόγραμμα σε Γλώσσα ης Γενιάς 33

Είδη Μεταφραστικών Προγραμάτων Μεταγλωττιστής (compiler) Διερμηνευτής (Interpreter) 34

Μεταγλωττιστής (Compiler) ΑΡΧΗ Β Μεταφράζει μόνο μια φορά, όλες τις εντολές του πηγαίου προγράμματος. Ακολούθως, ο Η/Υ μπορεί να εκτελέσει το αντικείμενο πρόγραμμα. Β4 ΟΧΙ Β2 Β3 Άρα:. Μεταφράζονται και εντολές που ενδεχόμενα δεν θα εκτελεσθούν. ΝΑΙ ΤΕΛΟΣ Β5 2. Εντοπίζονται τα συντακτικά λάθη οποιασδήποτε εντολής, ανεξάρτητα αν η εντολή αυτή θα εκτελεσθεί ή όχι. Συγκρίνατε: Μετάφραση βιβλίου 35

Διερμηνευτής (Interpreter) ΑΡΧΗ Β Μεταφράζει κάθε φορά μόνο μια εντολή σε αντικείμενο κώδικα και ακολούθως ο Η/Υ εκτελεί τη μεταφρασμένη εντολή. Β4 ΟΧΙ ΝΑΙ ΤΕΛΟΣ Β2 Β3 Β5 Άρα:. Κάποιες εντολές ενδέχεται να μεταφρασθούν πολλές φορές. 2. Το πρόγραμμα ενδέχεται να ολοκληρωθεί χωρίς πρόβλημα, μολονότι εντολές, που δεν εκτελέσθηκαν, είχαν συντακτικά λάθη. 3. Η εκτέλεση του προγράμματος διακόπτεται απότομα, αν η εντολή που πρέπει να εκτελεσθεί έχει Συγκρίνατε: Διερμηνέας συντακτικό λάθος. 36

Σύγκριση μεταξύ Μεταγλωττισμένου και Διερμηνευμένου Προγράμματος; 37

Λάθη Προγραμματισμού 38

Λάθη Προγραμματισμού Συντακτικά ή Μεταφραστικά: Κάποια εντολή δεν έχει γραφεί σωστά. π.χ. y = x*(x+3 αντί του σωστού y = x*(x+3). Διαπιστώνεται στο στάδιο της μετάφρασης. Λογικά: Δεν έχουμε δώσει τις σωστές εντολές. π.χ. y = x - 3 ενώ έπρεπε να γράψουμε y = x + 3. Διαπιστώνεται από το γεγονός ότι παίρνουμε λανθασμένα αποτελέσματα. Εκτέλεσης: Επιχειρείται η εκτέλεση απαγορευμένης πράξης. π.χ. z = 0; y = x/z Διαπιστώνεται από την απότομη διακοπή της εκτέλεσης του προγράμματος και εμφανίζεται ένα μήνυμα λάθους. 39

Επίδειξη Γλωσσών Προγραμματισμού 40

Λογικό Διάγραμμα (Διάγραμμα Ροής) ΑΡΧΗ B B2 B3 B4 B5 sum = 0 k = 4 (Βήμα ) Διάβασε x sum = sum + x Τύπωσε sum ΤΕΛΟΣ Εντολές σε μια Γλώσσα Προγραμματισμού. sum = 0 2a. for k = to 4 step 3. read x 4. sum = sum + x 2b. next k 5. write sum 4

Πρόγραμμα σε Γλώσσα Basic (Γ3Γ) Εντολές σε μια Γλώσσα Προγραμματισμού sum = 0 for k = to 4 step read x sum sum + x next k write sum Εντολές σε Γλώσσα Visual Basic Private Sub Command_Click() sum = 0 For k = To 4 Step x = InputBox("ΔΩΣΕ ΑΡΙΘΜΟ: ") sum = sum + x Next k Print Print "ΤΕΛΙΚΟ ΑΘΡΟΙΣΜΑ: " & sum End Sub 42

Φυσικό Πρόβλημα Έχομε ένα αρχείο, το PARAG.TXT, το οποίο περιέχει τα εξής στοιχεία δενδροκαλλιεργητών: - Αριθμό Μητρώου, - Επώνυμο, - Όνομα, - Είδος προϊόντος που καλλιεργεί: Πορτοκάλια (ΠΟ), Μανταρίνια (ΜΑ) ή Λεμόνια (ΛΕ). - Ποσότητα προϊόντος που πούλησε, - Τιμή μονάδας πώλησης. Να γραφεί πρόγραμμα το οποίο διαβάζει τα παραπάνω δεδομένα από το PARAG.TXT και για κάθε δενδροκαλλιεργητή πορτοκαλιών (i) υπολογίζει το ποσόν που εισέπραξε από την πώληση του προϊόντος του, (ii) εκτυπώνει σε ένα αρχείο εξόδου τον Αριθμό Μητρώου, Όνομα και Επώνυμό του, καθώς και το ποσόν που εισέπραξε από την πώληση του προϊόντος του. Διαχείριση Αρχείων σε Basic (Γ3Γ) 43

Διαχείριση Αρχείων σε Basic (Γ3Γ) Αρχεία Περιεχόμενο Αρχείου Εισόδου (PARAG.TXT), ΑΒΡΑΜΙΔΗΣ, ΑΒΡΑΑΜ, ΠΟ, 000,.00 2, ΒΑΣΙΛΕΙΟΥ, ΒΑΣΙΛΕΙΟΣ, ΠΟ, 4000, 0.50 3, ΔΗΜΗΤΡΙΟΥ,ΔΗΜΗΤΡΙΟΣ, ΛΕ, 6000, 0.50 4, ΓΕΩΡΓΙΟΥ, ΓΕΩΡΓΙΟΣ, ΜΑ, 6000, 0.25 5, ΘΕΟΔΩΡΟΥ, ΘΕΟΔΩΡΟΣ, ΠΟ, 0000, 0.50 6, ΙΩΑΝΝΟΥ, ΙΩΑΝΝΗΣ, ΜΑ, 6000,.00 7, ΝΙΚΟΛΑΟΥ, ΝΙΚΟΛΑΟΣ, ΠΟ, 7000,.00 8, ΠΕΤΡΙΔΗΣ, ΠΕΤΡΟΣ, ΛΕ, 6000, 0.50 Αναμενόμενο Περιεχόμενο Αρχείου Εξόδου (EISPR.TXT), ΑΒΡΑΑΜ, ΑΒΡΑΜΙΔΗΣ, 000 2, ΒΑΣΙΛΕΙΟΣ, ΒΑΣΙΛΕΙΟΥ, 2000 5, ΘΕΟΔΩΡΟΣ, ΘΕΟΔΩΡΟΥ, 5000 7, ΝΙΚΟΛΑΟΣ, ΝΙΚΟΛΑΟΥ, 7000 44

Διαχείριση Αρχείων σε Basic (Γ3Γ) Πρόγραμμα σε Basic Private Sub Command_Click() Open " parag.txt" For Input As # Open "eispr.txt" For Output As #2 Do While Not (EOF()) Input #, am, epon, onoma, eidos, posot, timi If eidos = ΠΟ then eispraxi = posot * timi Print #2, am & ",", onoma & ",", epon & ",", eispraxi End If Loop Close # Close #2 End Sub 45

Διαχείριση Αρχείων σε SQL (Γ4Γ) SELECT am, onoma, epon, posot*timi AS eispraxi FROM PARAG WHERE eidos = ΠΟ 46