SlideShare a Scribd company logo
1 of 26
Κεφ. 6 Εισαγωγή στον
   Προγραμματισμό
              Περιεχόμενα
Η έννοια του προγράμματος
Ιστορική αναδρομή
Φυσικές και τεχνητές γλώσσες
Τεχνικές σχεδίασης προγραμμάτων
Αντικειμενοστραφής προγραμματισμός
Προγραμματιστικά περιβάλλοντα


Ιωάννου Γιαννάκης
&6.1 Η έννοια του προγράμματος
Η επίλυση ενός προβλήματος με τον υπολογιστή
  περιλαμβάνει τρία στάδια:
 Τον ακριβή προσδιορισμό του προβλήματος

 Την ανάπτυξη του αντίστοιχου αλγορίθμου

 Την διατύπωση του αλγορίθμου σε κατανοητή μορφή από
  τον υπολογιστή

Ο προγραμματισμός ασχολείται με το τρίτο στάδιο, τη
  δημιουργία του προγράμματος δηλαδή του συνόλου των
  εντολών που πρέπει να δοθούν ώστε να υλοποιηθεί ο
  αλγόριθμος για την επίλυση του προβλήματος.
&6.1 Η έννοια του προγράμματος
   Ο προγραμματισμός είναι αυτός που δίνει την
    εντύπωση ότι, οι υπολογιστές είναι έξυπνες μηχανές
    που επιλύουν τα πολύπλοκα προβλήματα.


   Ο υπολογιστής είναι μία μηχανή που καταλαβαίνει
    μόνο δύο καταστάσεις, το μηδέν και το ένα, τα
    ψηφία του δυαδικού συστήματος.


   Ο υπολογιστής μπορεί απλά να αποθηκεύει στη
    μνήμη τις ακολουθίες των δυαδικών ψηφίων, να τις
    ανακτά, να κάνει στοιχειώδεις αριθμητικές πράξεις
    με αυτές και να τις συγκρίνει.
&6.2 Ιστορική αναδρομή
   Οι πρώτοι υπολογιστές ήταν τεράστιοι σε μέγεθος αλλά
    με πάρα πολύ περιορισμένες δυνατότητες και μικρές
    ταχύτητας επεξεργασίας.


   Εξελίχθηκαν σε πολύ μικρούς σε μέγεθος υπολογιστές
    με τεράστιες όμως δυνατότητες και ταχύτητες
    επεξεργασίας.


   Την ίδια αργή εξέλιξη ουσιαστικά έχουν και οι γλώσσες
    προγραμματισμού, οι οποίες αν και εξελίσσονται και
    συνεχώς εμπλουτίζονται με νέες δυνατότητες, τα
    χαρακτηριστικά τους και οι βασικές τους ιδιότητες
    ουσιαστικά παραμένουν τα ίδια.
&6.2.1 Γλώσσες μηχανής
   Αρχικά για να μπορέσει ο υπολογιστής να εκτελέσει μια
    οποιαδήποτε λειτουργία, έπρεπε να δοθούν κατευθείαν οι
    κατάλληλες ακολουθίες από 0 και 1, δηλαδή εντολές σε
    μορφή κατανοητή από τον υπολογιστή.


   Ελάχιστοι μπορούσαν να το κάνουν, αφού απαιτούσε βαθιά
    γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή.


   Ο πρώτος υπολογιστής ο περίφημος ENIAC για να
    “προγραμματιστεί”, ώστε να εκτελέσει κάποιους
    υπολογισμούς, έπρεπε να αλλάξουν θέση εκατοντάδες
    διακόπτες και να ρυθμιστούν αντίστοιχα όλες οι καλωδιώσεις.
&6.2.2 Συμβολικές γλώσσες ή γλώσσες
             χαμηλού επιπέδου
   Από τα πρώτα χρόνια άρχισαν να γίνονται προσπάθειες
    για τη δημιουργία μίας συμβολικής γλώσσας, η οποία ενώ
    θα έχει έννοια για τον άνθρωπο, θα μετατρέπεται
    εσωτερικά από τους υπολογιστές στις αντίστοιχες
    ακολουθίες 0 και 1.
   Η χρήση των πρώτων αυτών συμβολικών γλωσσών, ήταν
    μια εξέλιξη από τις ακολουθίες δυαδικών στοιχείων.
    Ωστόσο παρέμεναν στενά συνδεδεμένες με την
    αρχιτεκτονική του κάθε υπολογιστή.
   Επίσης δεν διέθεταν εντολές πιο σύνθετων λειτουργιών
    οδηγώντας έτσι σε μακροσκελή προγράμματα, που ήταν
    δύσκολο να γραφούν και κύρια να συντηρηθούν.
   Οι γλώσσες αυτές ονομάζονται συμβολικές ή γλώσσες
    χαμηλού επιπέδου, αφού εξαρτώνται από την
    αρχιτεκτονική του υπολογιστή.
&6.2.2 Συμβολικές γλώσσες ή γλώσσες
            χαμηλού επιπέδου




Ένα πρόγραμμα σε γλώσσα μηχανής, σε συμβολική
  γλώσσα και σε γλώσσα υψηλού επιπέδου για τον
  υπολογισμό του αθροίσματος των αριθμών 0 και 1.
&6.2.3 Γλώσσες υψηλού επιπέδου


Οι παραπάνω ανεπάρκειες των συμβολικών γλωσσών και η
   προσπάθεια για καλύτερη επικοινωνία ανθρώπου – μηχανής,
   οδήγησαν στα τέλη της δεκαετίας του 50 στην εμφάνιση των
   πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου.
&6.2.3 Γλώσσες υψηλού επιπέδου
Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη
  FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις
  FORmula TRANslation, που σημαίνουν μετάφραση τύπων. Η
  FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση
  μαθηματικών και επιστημονικών προβλημάτων
&6.2.3 Γλώσσες υψηλού επιπέδου
Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη
   FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula
   TRANslation, που σημαίνουν μετάφραση τύπων. Η FORTRAN
   αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και
   επιστημονικών προβλημάτων. Το ίδιο πρόγραμμα FORTRAN μπορεί να
   εκτελεστεί σε οποιοδήποτε άλλο υπολογιστή, αρκεί να υπάρχει ο
   αντίστοιχος μεταγλωττιστής για αυτόν τον υπολογιστή.
Η γλώσσα FORTRAN μετά από πολλές αλλαγές, προσθήκες και βελτιώσεις
   χρησιμοποιείται ακόμη και σήμερα για επιστημονικές εφαρμογές.
&6.2.3 Γλώσσες υψηλού επιπέδου
   Το 1960 αναπτύχθηκε μη γλώσσα COBOL. Η COBOL είναι
    κατάλληλη για ανάπτυξη εμπορικών εφαρμογών, και γενικότερα
    διαχειριστικών εφαρμογών, τομέας όπου η FORTRAN υστερούσε.
&6.2.3 Γλώσσες υψηλού επιπέδου
Μια από τις σημαντικότερες γλώσσα προγραμματισμού με ελάχιστη
   πρακτική εφαρμογή αλλά που επηρέασε ιδιαίτερα τον
   προγραμματισμό και τις επόμενες γλώσσες, είναι η ALGOL
   (ALGOrithmic Language).
Αναπτύχθηκε από Ευρωπαίους επιστήμονες, αρχικά το 1960, με σκοπό
  τη δημιουργία γενικής φύσης προγραμμάτων που να μη συνδέονται
  με συγκεκριμένες εφαρμογές.
Στα μέσα της δεκαετίας του 60 αναπτύχθηκε η γλώσσα PL/1
   (Programming Language / 1) που προσπάθησε, χωρίς επιτυχία να
   καλύψει όλους τους τομείς του προγραμματισμού, επιστημονικούς
   και εμπορικούς, αντικαθιστώντας τόσο τη FORTRAN όσο και την
   COBOL.
Στο χώρο της Τεχνητής Νοημοσύνης αναπτύχθηκαν δύο γλώσσες
   αρκετά διαφορετικές από όλες τις άλλες. Στα μέσα του 60
   αναπτύχθηκε στο ΜΙΤ η LISP (LISt Processor), γλώσσα η οποία
   προσανατολίζεται σε χειρισμό λιστών από σύμβολα και η PROLOG
   (PROgramming LOGic) στις αρχές του 70.
&6.2.3 Γλώσσες υψηλού επιπέδου
                         Γλώσσα Basic
Δύο σημαντικότατες γλώσσες γενικού σκοπού, οι οποίες
  αναπτύχθηκαν τη δεκαετία του 60 αλλά χρησιμοποιούνται πάρα
  πολύ στις ημέρες μας, είναι η BASIC και η PASCAL.
Η γλώσσα προγραμματισμού BASIC αρχικά αναπτύχθηκε ως γλώσσα
   για την εκπαίδευση αρχαρίων στον προγραμματισμό. Σχεδιάστηκε
   για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με
   τη βοήθεια διερμηνευτή (interpreter). Η ανάπτυξη όμως των
   μικροϋπολογιστών και οι συνεχείς εκδόσεις της γλώσσας βοήθησαν
   στην εξάπλωσή της, τόσο ώστε να γίνει ίσως η δημοφιλέστερη
   γλώσσα στους προσωπικούς υπολογιστές.
&6.2.3 Γλώσσες υψηλού επιπέδου
                         Γλώσσα Pascal


Η γλώσσα PASCAL έφερε μεγάλες αλλαγές στον προγραμματισμό.
   Παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL . Είναι
   μία γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την
   εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε
   τύπου.
Χαρακτηριστικό της γλώσσας είναι η η καταλληλότητα για τη
  δημιουργία δομημένων προγραμμάτων.
Η PASCAL γνώρισε και συνεχίζει να γνωρίζει τεράστια εξάπλωση ειδικά
   στο χώρο των μικροϋπολογιστών και αποτέλεσε τη βάση για την
   ανάπτυξη άλλων ισχυρότερων γλωσσών όπως η ADA και η Modula-
   2.
&6.2.3 Γλώσσες υψηλού επιπέδου

           Τεχνική Δομημένου Προγραμματισμού


Στα μέσα του 1960 παρουσιάστηκε για πρώτη φορά μία τεχνική
   σχεδίασης προγραμμάτων που έμελλε να αλλάξει ριζικά τον
   τρόπο ανάπτυξης προγραμμάτων καθώς και τις ίδιες τις
   γλώσσες προγραμματισμού. Η τεχνική του δομημένου
   προγραμματισμού η οποία εξασφαλίζει τη δημιουργία
   προγραμμάτων απλών στη συγγραφή και την κατανόηση και
   εύκολων στη διόρθωση.
Ο δομημένος προγραμματισμός και τα χαρακτηριστικά του θα
   παρουσιαστούν εκτενώς σε επόμενη παράγραφο.
&6.2.3 Γλώσσες υψηλού επιπέδου
                         Γλώσσα C
Μία ακόμη γλώσσα που γνώρισε μεγάλη διάδοση είναι η γλώσσα
   C. Η C αναπτύχθηκε στα εργαστήρια της εταιρείας BELL και
   χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού
   συστήματος Unix. Είναι μία γλώσσα με ισχυρά
   χαρακτηριστικά, μερικά από αυτά κοινά με την Pascal,
   κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά και με
   πολλές δυνατότητες γλώσσας χαμηλού επιπέδου.
Η C εξελίχτηκε στη γλώσσα C++, η οποία είναι
   αντικειμενοστραφής.
&6.2.3 Γλώσσες υψηλού επιπέδου

                             Java
Τα τελευταία χρόνια χρησιμοποιείται ιδιαίτερα, ειδικά για
  προγραμματισμό στο Διαδίκτυο, η JAVA.
H JAVA είναι μία αντικειμενοστραφής γλώσσα που αναπτύχθηκε
   από την εταιρεία SUN με σκοπό την ανάπτυξη εφαρμογών,
   που θα εκτελούνται σε διαφορετικούς υπολογιστές οι οποίοι
   είναι συνδεδεμένοι στο Διαδίκτυο.
Τα προγράμματα αυτά μπορούν να εκτελούνται από
  διαφορετικούς υπολογιστές, προσωπικούς ή μεγάλα
  συστήματα με διαφορετικά λειτουργικά συστήματα χωρίς
  αλλαγές.
&6.2.3 Γλώσσες υψηλού επιπέδου
               Οπτικός Προγραμματισμός

Με τον όρο οπτικό εννοούμε τη δυνατότητα να δημιουργούμε
  γραφικά περιβάλλοντα της εφαρμογής για παράδειγμα τα
  πλαίσια διαλόγου ή το μενού.

Με τον όρο οδηγούμενο από το γεγονός προγραμματισμό
  εννοούμε τη δυνατότητα να ενεργοποιούνται λειτουργίες
  του προγράμματος με την εκτέλεση ενός γεγονότος, για
  παράδειγμα την επιλογή μίας εντολής από ένα μενού ή το
  κλικ του ποντικιού.

Οι πιο διαδεδομένες γλώσσες προγραμματισμού σε
   γραφικό περιβάλλον για προσωπικούς υπολογιστές είναι η
   Visual Basic, η Visual C++ και η Java.
&6.2.3 Γλώσσες υψηλού επιπέδου
&6.7 Προγραμματιστικά
             Περιβάλλοντα

Κάθε πρόγραμμα που γράφτηκε σε οποιαδήποτε γλώσσα
  προγραμματισμού, πρέπει να μετατραπεί σε μορφή
  αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή
  σε γλώσσα μηχανής.
Η μετατροπή αυτή γίνεται με τη χρήση ειδικών
  μεταφραστικών προγραμμάτων.
Υπάρχουν δύο μεγάλες κατηγορίες τέτοιων προγραμμάτων, οι
  μεταγλωττιστές (compilers) και οι διερμηνευτές
  (interpreters).
&6.7 Προγραμματιστικά Περιβάλλοντα

              Μεταγλωττιστές (Compilers)

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

Το αρχικό πρόγραμμα λέγεται πηγαίο (source) πρόγραμμα,
  ενώ το πρόγραμμα που παράγεται από το μεταγλωττιστή
  λέγεται αντικείμενο (object) πρόγραμμα.
&6.7 Προγραμματιστικά Περιβάλλοντα
Το αντικείμενο πρόγραμμα είναι μεν σε μορφή κατανοητή από
  τον υπολογιστή, αλλά συνήθως δεν είναι σε θέση να
  εκτελεστεί. Χρειάζεται να συμπληρωθεί και να συνδεθεί με
  άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεση
  του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε
  βρίσκονται σε βιβλιοθήκες (libraries) της γλώσσας. Το
  πρόγραμμα που επιτρέπει αυτή τη σύνδεση ονομάζεται
  συνδέτης – φορτωτής (linker - loader). Το αποτέλεσμα
  του συνδέτη είναι η παραγωγή του εκτελέσιμου
  προγράμματος (executable), το οποίο είναι το τελικό
  πρόγραμμα που εκτελείται από τον υπολογιστή.
&6.7 Προγραμματιστικά Περιβάλλοντα
Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του
  αρχικού προγράμματος και για κάθε μια εκτελεί αμέσως μια
  ισοδύναμη ακολουθία εντολών μηχανής.
&6.7 Προγραμματιστικά Περιβάλλοντα
                         Λάθη προγράμματος
   Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο στην
    περίπτωση, που το αρχικό πρόγραμμα δεν περιέχει λάθη.
   Τις περισσότερες φορές κάθε πρόγραμμα αρχικά θα έχει λάθη. Τα λάθη
    του προγράμματος είναι γενικά δύο ειδών, λογικά και συντακτικά.
   Τα λογικά λάθη εμφανίζονται μόνο στην εκτέλεση, ενώ τα
    συντακτικά λάθη στο στάδιο της μεταγλώττισης.
   Τα λογικά λάθη που είναι τα πλέον σοβαρά και δύσκολα στη
    διόρθωση τους, οφείλονται σε σφάλματα κατά την υλοποίηση του
    αλγορίθμου.
   Τα συντακτικά οφείλονται σε αναγραμματισμούς ονομάτων εντολών,
    παράληψη δήλωσης δεδομένων και πρέπει πάντα να διορθωθούν, ώστε
    να παραχθεί το τελικό εκτελέσιμο πρόγραμμα.
&6.7 Προγραμματιστικά Περιβάλλοντα


                     Συντάκτης (editor)
   Για την αρχική σύνταξη των προγραμμάτων και τη
    διόρθωσή τους στη συνέχεια χρησιμοποιείται ένα ειδικό
    πρόγραμμα που ονομάζεται συντάκτης (editor).
   Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής
    κειμένου, με δυνατότητες όμως που διευκολύνουν τη
    γρήγορη γραφή των εντολών των προγραμμάτων .
&6.7 Προγραμματιστικά Περιβάλλοντα


Για τη δημιουργία, τη μετάφραση και την εκτέλεση ενός
   προγράμματος απαιτούνται τουλάχιστον τρία προγράμματα:
    – ο συντάκτης (editor)
    – ο μεταγλωττιστής (compiler)
    – ο συνδέτης (linker)
   Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν αυτά
    τα προγράμματα με ενιαίο τρόπο.

More Related Content

What's hot

Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες ΑλγορίθμωνΚεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Ιωάννου Γιαννάκης
 
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο ΑσκήσεωνΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
Nikos Michailidis
 
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
Nikos Michailidis
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
evoyiatz
 
ΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο ΕργασίαςΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο Εργασίας
Nikos Michailidis
 
ΑΕΠΠ: 8ο Φύλλο Ασκήσεων
ΑΕΠΠ: 8ο Φύλλο ΑσκήσεωνΑΕΠΠ: 8ο Φύλλο Ασκήσεων
ΑΕΠΠ: 8ο Φύλλο Ασκήσεων
Nikos Michailidis
 
πληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησειςπληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησεις
Anastasios Timotheidis
 

What's hot (20)

Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες ΑλγορίθμωνΚεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
 
Ασκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίαςΑσκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίας
 
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο ΑσκήσεωνΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
 
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
 
Kef10 a synartiseis
Kef10 a synartiseisKef10 a synartiseis
Kef10 a synartiseis
 
παρουσιαση αλγοριθμος γλωσσες προγραμματισμου
παρουσιαση  αλγοριθμος γλωσσες προγραμματισμουπαρουσιαση  αλγοριθμος γλωσσες προγραμματισμου
παρουσιαση αλγοριθμος γλωσσες προγραμματισμου
 
ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
 
Εισαγωγή στις αρχές της επιστήμης των Η/Υ
Εισαγωγή στις αρχές της επιστήμης των Η/ΥΕισαγωγή στις αρχές της επιστήμης των Η/Υ
Εισαγωγή στις αρχές της επιστήμης των Η/Υ
 
Εισαγωγή στις Aρχές της Eπιστήμης των H/Y
Εισαγωγή στις Aρχές της Eπιστήμης των H/YΕισαγωγή στις Aρχές της Eπιστήμης των H/Y
Εισαγωγή στις Aρχές της Eπιστήμης των H/Y
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
 
ΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο ΕργασίαςΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο Εργασίας
 
Πληροφορική Γ' γυμνασίου
Πληροφορική Γ' γυμνασίουΠληροφορική Γ' γυμνασίου
Πληροφορική Γ' γυμνασίου
 
ΑΕΠΠ: 8ο Φύλλο Ασκήσεων
ΑΕΠΠ: 8ο Φύλλο ΑσκήσεωνΑΕΠΠ: 8ο Φύλλο Ασκήσεων
ΑΕΠΠ: 8ο Φύλλο Ασκήσεων
 
Βασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμούΒασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμού
 
Αναλογικό - Ψηφιακό
Αναλογικό - ΨηφιακόΑναλογικό - Ψηφιακό
Αναλογικό - Ψηφιακό
 
Προγραμματισμός - Γλώσσα μηχανής
Προγραμματισμός - Γλώσσα μηχανής Προγραμματισμός - Γλώσσα μηχανής
Προγραμματισμός - Γλώσσα μηχανής
 
λογισμικό(Software)
λογισμικό(Software)λογισμικό(Software)
λογισμικό(Software)
 
Δομή και υπηρεσίες Διαδικτύου
Δομή και υπηρεσίες ΔιαδικτύουΔομή και υπηρεσίες Διαδικτύου
Δομή και υπηρεσίες Διαδικτύου
 
Απλή και σύνθετη δομή επιλογής
Απλή και σύνθετη δομή επιλογήςΑπλή και σύνθετη δομή επιλογής
Απλή και σύνθετη δομή επιλογής
 
πληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησειςπληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησεις
 

Viewers also liked

Kεφ 7 - Προγραμματισμός - Εφ. Υπολογιστών
Kεφ 7 - Προγραμματισμός - Εφ. ΥπολογιστώνKεφ 7 - Προγραμματισμός - Εφ. Υπολογιστών
Kεφ 7 - Προγραμματισμός - Εφ. Υπολογιστών
leftos21
 
Διαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' Γυμνασίου
Διαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' ΓυμνασίουΔιαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' Γυμνασίου
Διαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' Γυμνασίου
protogymnasiogeraka
 

Viewers also liked (6)

ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)
ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)
ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)
 
ΑΕΠΠ - Βασικές έννοιες προγραμματισμού
ΑΕΠΠ - Βασικές έννοιες προγραμματισμούΑΕΠΠ - Βασικές έννοιες προγραμματισμού
ΑΕΠΠ - Βασικές έννοιες προγραμματισμού
 
ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Β)
ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Β)ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Β)
ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Β)
 
Kεφ 7 - Προγραμματισμός - Εφ. Υπολογιστών
Kεφ 7 - Προγραμματισμός - Εφ. ΥπολογιστώνKεφ 7 - Προγραμματισμός - Εφ. Υπολογιστών
Kεφ 7 - Προγραμματισμός - Εφ. Υπολογιστών
 
Διαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' Γυμνασίου
Διαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' ΓυμνασίουΔιαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' Γυμνασίου
Διαφάνειες για αλγόριθμο και προγραμματισμό - Πληροφορική Γ ' Γυμνασίου
 
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
 

Similar to Κεφ. 6 Εισαγωγή στον Προγραμματισμό

Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών ΥπολογιστώνΙστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Stathis Gourzis
 
Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.
Stathis Gourzis
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
Stathis Gourzis
 
Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.
Stathis Gourzis
 
Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.
Stathis Gourzis
 
6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού
ΑΡΓΚΕΝ ΖΟΤΚΑ
 
Slideshow programming languages!
Slideshow programming languages!Slideshow programming languages!
Slideshow programming languages!
apihappy
 
Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.
Stathis Gourzis
 
Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1
Stathis Gourzis
 

Similar to Κεφ. 6 Εισαγωγή στον Προγραμματισμό (20)

Aepp-6.1-6.2-6.3-tsiotakis
Aepp-6.1-6.2-6.3-tsiotakisAepp-6.1-6.2-6.3-tsiotakis
Aepp-6.1-6.2-6.3-tsiotakis
 
Eisagwgi
EisagwgiEisagwgi
Eisagwgi
 
Γλώσσες προγραμματισμού
Γλώσσες προγραμματισμούΓλώσσες προγραμματισμού
Γλώσσες προγραμματισμού
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1
 
Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών ΥπολογιστώνΙστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
 
κεφάλαιο 6
κεφάλαιο 6κεφάλαιο 6
κεφάλαιο 6
 
Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
 
Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.
 
κεφ 6 ανάπτυξη εφαρμογών
κεφ 6 ανάπτυξη εφαρμογώνκεφ 6 ανάπτυξη εφαρμογών
κεφ 6 ανάπτυξη εφαρμογών
 
Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.
 
6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού
 
Slideshow programming languages!
Slideshow programming languages!Slideshow programming languages!
Slideshow programming languages!
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2
 
Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.
 
Kef 1 4 & 1 5
Kef 1 4 & 1 5Kef 1 4 & 1 5
Kef 1 4 & 1 5
 
Περιβάλλοντα ανάπτυξης εφαρμογών
Περιβάλλοντα ανάπτυξης εφαρμογώνΠεριβάλλοντα ανάπτυξης εφαρμογών
Περιβάλλοντα ανάπτυξης εφαρμογών
 
C_03112023.pdf
C_03112023.pdfC_03112023.pdf
C_03112023.pdf
 
Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1
 
Kephalaio 5-6-7
 Kephalaio 5-6-7 Kephalaio 5-6-7
Kephalaio 5-6-7
 

More from Ιωάννου Γιαννάκης

More from Ιωάννου Γιαννάκης (20)

Karel The Robot
Karel The RobotKarel The Robot
Karel The Robot
 
MakeCode.ppt
MakeCode.pptMakeCode.ppt
MakeCode.ppt
 
App inventor2
App inventor2App inventor2
App inventor2
 
Pencil code
Pencil codePencil code
Pencil code
 
Cloud computing
 Cloud computing Cloud computing
Cloud computing
 
Proxy server
Proxy serverProxy server
Proxy server
 
Alice 3
Alice 3Alice 3
Alice 3
 
Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3
 
11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος
 
Σωληνώσεις cat sort tee
Σωληνώσεις cat sort teeΣωληνώσεις cat sort tee
Σωληνώσεις cat sort tee
 
Παρακολούθηση διεργασιών
Παρακολούθηση διεργασιώνΠαρακολούθηση διεργασιών
Παρακολούθηση διεργασιών
 
Eντολή Chmod
Eντολή ChmodEντολή Chmod
Eντολή Chmod
 
Eντολές More less head tail
Eντολές More less head tailEντολές More less head tail
Eντολές More less head tail
 
Εντολές lp wc grep
Εντολές lp wc grepΕντολές lp wc grep
Εντολές lp wc grep
 
10 εντολές cp mv rm ln
10 εντολές cp mv rm ln10 εντολές cp mv rm ln
10 εντολές cp mv rm ln
 
09 εντολές mkdir rmdir
09 εντολές mkdir rmdir09 εντολές mkdir rmdir
09 εντολές mkdir rmdir
 
08 εντολή cd
08 εντολή cd08 εντολή cd
08 εντολή cd
 
07 εντολές pwd ls
07 εντολές pwd ls07 εντολές pwd ls
07 εντολές pwd ls
 
06 εντολές clear cal date finger
06 εντολές clear cal date finger06 εντολές clear cal date finger
06 εντολές clear cal date finger
 
05 απόλυτη σχετική διαδρομή
05 απόλυτη  σχετική διαδρομή05 απόλυτη  σχετική διαδρομή
05 απόλυτη σχετική διαδρομή
 

Recently uploaded

Recently uploaded (20)

Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
 
Ρατσισμός, ορισμός, είδη, αίτια , συνέπειες
Ρατσισμός, ορισμός, είδη, αίτια , συνέπειεςΡατσισμός, ορισμός, είδη, αίτια , συνέπειες
Ρατσισμός, ορισμός, είδη, αίτια , συνέπειες
 
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
 
ΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βία
ΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βίαΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βία
ΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βία
 
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
 
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥΦλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωτας
 
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
 
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
 
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική ΑυτοκρατορίαΗ απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
 
Βενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία Μπάρδα
Βενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία ΜπάρδαΒενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία Μπάρδα
Βενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία Μπάρδα
 
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
 
Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024
Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024
Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
 

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

  • 1. Κεφ. 6 Εισαγωγή στον Προγραμματισμό Περιεχόμενα Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής προγραμματισμός Προγραμματιστικά περιβάλλοντα Ιωάννου Γιαννάκης
  • 2. &6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία στάδια:  Τον ακριβή προσδιορισμό του προβλήματος  Την ανάπτυξη του αντίστοιχου αλγορίθμου  Την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον υπολογιστή Ο προγραμματισμός ασχολείται με το τρίτο στάδιο, τη δημιουργία του προγράμματος δηλαδή του συνόλου των εντολών που πρέπει να δοθούν ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος.
  • 3. &6.1 Η έννοια του προγράμματος  Ο προγραμματισμός είναι αυτός που δίνει την εντύπωση ότι, οι υπολογιστές είναι έξυπνες μηχανές που επιλύουν τα πολύπλοκα προβλήματα.  Ο υπολογιστής είναι μία μηχανή που καταλαβαίνει μόνο δύο καταστάσεις, το μηδέν και το ένα, τα ψηφία του δυαδικού συστήματος.  Ο υπολογιστής μπορεί απλά να αποθηκεύει στη μνήμη τις ακολουθίες των δυαδικών ψηφίων, να τις ανακτά, να κάνει στοιχειώδεις αριθμητικές πράξεις με αυτές και να τις συγκρίνει.
  • 4. &6.2 Ιστορική αναδρομή  Οι πρώτοι υπολογιστές ήταν τεράστιοι σε μέγεθος αλλά με πάρα πολύ περιορισμένες δυνατότητες και μικρές ταχύτητας επεξεργασίας.  Εξελίχθηκαν σε πολύ μικρούς σε μέγεθος υπολογιστές με τεράστιες όμως δυνατότητες και ταχύτητες επεξεργασίας.  Την ίδια αργή εξέλιξη ουσιαστικά έχουν και οι γλώσσες προγραμματισμού, οι οποίες αν και εξελίσσονται και συνεχώς εμπλουτίζονται με νέες δυνατότητες, τα χαρακτηριστικά τους και οι βασικές τους ιδιότητες ουσιαστικά παραμένουν τα ίδια.
  • 5. &6.2.1 Γλώσσες μηχανής  Αρχικά για να μπορέσει ο υπολογιστής να εκτελέσει μια οποιαδήποτε λειτουργία, έπρεπε να δοθούν κατευθείαν οι κατάλληλες ακολουθίες από 0 και 1, δηλαδή εντολές σε μορφή κατανοητή από τον υπολογιστή.  Ελάχιστοι μπορούσαν να το κάνουν, αφού απαιτούσε βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή.  Ο πρώτος υπολογιστής ο περίφημος ENIAC για να “προγραμματιστεί”, ώστε να εκτελέσει κάποιους υπολογισμούς, έπρεπε να αλλάξουν θέση εκατοντάδες διακόπτες και να ρυθμιστούν αντίστοιχα όλες οι καλωδιώσεις.
  • 6. &6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου  Από τα πρώτα χρόνια άρχισαν να γίνονται προσπάθειες για τη δημιουργία μίας συμβολικής γλώσσας, η οποία ενώ θα έχει έννοια για τον άνθρωπο, θα μετατρέπεται εσωτερικά από τους υπολογιστές στις αντίστοιχες ακολουθίες 0 και 1.  Η χρήση των πρώτων αυτών συμβολικών γλωσσών, ήταν μια εξέλιξη από τις ακολουθίες δυαδικών στοιχείων. Ωστόσο παρέμεναν στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή.  Επίσης δεν διέθεταν εντολές πιο σύνθετων λειτουργιών οδηγώντας έτσι σε μακροσκελή προγράμματα, που ήταν δύσκολο να γραφούν και κύρια να συντηρηθούν.  Οι γλώσσες αυτές ονομάζονται συμβολικές ή γλώσσες χαμηλού επιπέδου, αφού εξαρτώνται από την αρχιτεκτονική του υπολογιστή.
  • 7. &6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου Ένα πρόγραμμα σε γλώσσα μηχανής, σε συμβολική γλώσσα και σε γλώσσα υψηλού επιπέδου για τον υπολογισμό του αθροίσματος των αριθμών 0 και 1.
  • 8. &6.2.3 Γλώσσες υψηλού επιπέδου Οι παραπάνω ανεπάρκειες των συμβολικών γλωσσών και η προσπάθεια για καλύτερη επικοινωνία ανθρώπου – μηχανής, οδήγησαν στα τέλη της δεκαετίας του 50 στην εμφάνιση των πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου.
  • 9. &6.2.3 Γλώσσες υψηλού επιπέδου Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula TRANslation, που σημαίνουν μετάφραση τύπων. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων
  • 10. &6.2.3 Γλώσσες υψηλού επιπέδου Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula TRANslation, που σημαίνουν μετάφραση τύπων. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων. Το ίδιο πρόγραμμα FORTRAN μπορεί να εκτελεστεί σε οποιοδήποτε άλλο υπολογιστή, αρκεί να υπάρχει ο αντίστοιχος μεταγλωττιστής για αυτόν τον υπολογιστή. Η γλώσσα FORTRAN μετά από πολλές αλλαγές, προσθήκες και βελτιώσεις χρησιμοποιείται ακόμη και σήμερα για επιστημονικές εφαρμογές.
  • 11. &6.2.3 Γλώσσες υψηλού επιπέδου  Το 1960 αναπτύχθηκε μη γλώσσα COBOL. Η COBOL είναι κατάλληλη για ανάπτυξη εμπορικών εφαρμογών, και γενικότερα διαχειριστικών εφαρμογών, τομέας όπου η FORTRAN υστερούσε.
  • 12. &6.2.3 Γλώσσες υψηλού επιπέδου Μια από τις σημαντικότερες γλώσσα προγραμματισμού με ελάχιστη πρακτική εφαρμογή αλλά που επηρέασε ιδιαίτερα τον προγραμματισμό και τις επόμενες γλώσσες, είναι η ALGOL (ALGOrithmic Language). Αναπτύχθηκε από Ευρωπαίους επιστήμονες, αρχικά το 1960, με σκοπό τη δημιουργία γενικής φύσης προγραμμάτων που να μη συνδέονται με συγκεκριμένες εφαρμογές. Στα μέσα της δεκαετίας του 60 αναπτύχθηκε η γλώσσα PL/1 (Programming Language / 1) που προσπάθησε, χωρίς επιτυχία να καλύψει όλους τους τομείς του προγραμματισμού, επιστημονικούς και εμπορικούς, αντικαθιστώντας τόσο τη FORTRAN όσο και την COBOL. Στο χώρο της Τεχνητής Νοημοσύνης αναπτύχθηκαν δύο γλώσσες αρκετά διαφορετικές από όλες τις άλλες. Στα μέσα του 60 αναπτύχθηκε στο ΜΙΤ η LISP (LISt Processor), γλώσσα η οποία προσανατολίζεται σε χειρισμό λιστών από σύμβολα και η PROLOG (PROgramming LOGic) στις αρχές του 70.
  • 13. &6.2.3 Γλώσσες υψηλού επιπέδου Γλώσσα Basic Δύο σημαντικότατες γλώσσες γενικού σκοπού, οι οποίες αναπτύχθηκαν τη δεκαετία του 60 αλλά χρησιμοποιούνται πάρα πολύ στις ημέρες μας, είναι η BASIC και η PASCAL. Η γλώσσα προγραμματισμού BASIC αρχικά αναπτύχθηκε ως γλώσσα για την εκπαίδευση αρχαρίων στον προγραμματισμό. Σχεδιάστηκε για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με τη βοήθεια διερμηνευτή (interpreter). Η ανάπτυξη όμως των μικροϋπολογιστών και οι συνεχείς εκδόσεις της γλώσσας βοήθησαν στην εξάπλωσή της, τόσο ώστε να γίνει ίσως η δημοφιλέστερη γλώσσα στους προσωπικούς υπολογιστές.
  • 14. &6.2.3 Γλώσσες υψηλού επιπέδου Γλώσσα Pascal Η γλώσσα PASCAL έφερε μεγάλες αλλαγές στον προγραμματισμό. Παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL . Είναι μία γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε τύπου. Χαρακτηριστικό της γλώσσας είναι η η καταλληλότητα για τη δημιουργία δομημένων προγραμμάτων. Η PASCAL γνώρισε και συνεχίζει να γνωρίζει τεράστια εξάπλωση ειδικά στο χώρο των μικροϋπολογιστών και αποτέλεσε τη βάση για την ανάπτυξη άλλων ισχυρότερων γλωσσών όπως η ADA και η Modula- 2.
  • 15. &6.2.3 Γλώσσες υψηλού επιπέδου Τεχνική Δομημένου Προγραμματισμού Στα μέσα του 1960 παρουσιάστηκε για πρώτη φορά μία τεχνική σχεδίασης προγραμμάτων που έμελλε να αλλάξει ριζικά τον τρόπο ανάπτυξης προγραμμάτων καθώς και τις ίδιες τις γλώσσες προγραμματισμού. Η τεχνική του δομημένου προγραμματισμού η οποία εξασφαλίζει τη δημιουργία προγραμμάτων απλών στη συγγραφή και την κατανόηση και εύκολων στη διόρθωση. Ο δομημένος προγραμματισμός και τα χαρακτηριστικά του θα παρουσιαστούν εκτενώς σε επόμενη παράγραφο.
  • 16. &6.2.3 Γλώσσες υψηλού επιπέδου Γλώσσα C Μία ακόμη γλώσσα που γνώρισε μεγάλη διάδοση είναι η γλώσσα C. Η C αναπτύχθηκε στα εργαστήρια της εταιρείας BELL και χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού συστήματος Unix. Είναι μία γλώσσα με ισχυρά χαρακτηριστικά, μερικά από αυτά κοινά με την Pascal, κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά και με πολλές δυνατότητες γλώσσας χαμηλού επιπέδου. Η C εξελίχτηκε στη γλώσσα C++, η οποία είναι αντικειμενοστραφής.
  • 17. &6.2.3 Γλώσσες υψηλού επιπέδου Java Τα τελευταία χρόνια χρησιμοποιείται ιδιαίτερα, ειδικά για προγραμματισμό στο Διαδίκτυο, η JAVA. H JAVA είναι μία αντικειμενοστραφής γλώσσα που αναπτύχθηκε από την εταιρεία SUN με σκοπό την ανάπτυξη εφαρμογών, που θα εκτελούνται σε διαφορετικούς υπολογιστές οι οποίοι είναι συνδεδεμένοι στο Διαδίκτυο. Τα προγράμματα αυτά μπορούν να εκτελούνται από διαφορετικούς υπολογιστές, προσωπικούς ή μεγάλα συστήματα με διαφορετικά λειτουργικά συστήματα χωρίς αλλαγές.
  • 18. &6.2.3 Γλώσσες υψηλού επιπέδου Οπτικός Προγραμματισμός Με τον όρο οπτικό εννοούμε τη δυνατότητα να δημιουργούμε γραφικά περιβάλλοντα της εφαρμογής για παράδειγμα τα πλαίσια διαλόγου ή το μενού. Με τον όρο οδηγούμενο από το γεγονός προγραμματισμό εννοούμε τη δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος, για παράδειγμα την επιλογή μίας εντολής από ένα μενού ή το κλικ του ποντικιού. Οι πιο διαδεδομένες γλώσσες προγραμματισμού σε γραφικό περιβάλλον για προσωπικούς υπολογιστές είναι η Visual Basic, η Visual C++ και η Java.
  • 20. &6.7 Προγραμματιστικά Περιβάλλοντα Κάθε πρόγραμμα που γράφτηκε σε οποιαδήποτε γλώσσα προγραμματισμού, πρέπει να μετατραπεί σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή σε γλώσσα μηχανής. Η μετατροπή αυτή γίνεται με τη χρήση ειδικών μεταφραστικών προγραμμάτων. Υπάρχουν δύο μεγάλες κατηγορίες τέτοιων προγραμμάτων, οι μεταγλωττιστές (compilers) και οι διερμηνευτές (interpreters).
  • 21. &6.7 Προγραμματιστικά Περιβάλλοντα Μεταγλωττιστές (Compilers) Ο μεταγλωττιστής δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής, το οποίο μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα. Το αρχικό πρόγραμμα λέγεται πηγαίο (source) πρόγραμμα, ενώ το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται αντικείμενο (object) πρόγραμμα.
  • 22. &6.7 Προγραμματιστικά Περιβάλλοντα Το αντικείμενο πρόγραμμα είναι μεν σε μορφή κατανοητή από τον υπολογιστή, αλλά συνήθως δεν είναι σε θέση να εκτελεστεί. Χρειάζεται να συμπληρωθεί και να συνδεθεί με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεση του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε βρίσκονται σε βιβλιοθήκες (libraries) της γλώσσας. Το πρόγραμμα που επιτρέπει αυτή τη σύνδεση ονομάζεται συνδέτης – φορτωτής (linker - loader). Το αποτέλεσμα του συνδέτη είναι η παραγωγή του εκτελέσιμου προγράμματος (executable), το οποίο είναι το τελικό πρόγραμμα που εκτελείται από τον υπολογιστή.
  • 23. &6.7 Προγραμματιστικά Περιβάλλοντα Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.
  • 24. &6.7 Προγραμματιστικά Περιβάλλοντα Λάθη προγράμματος  Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο στην περίπτωση, που το αρχικό πρόγραμμα δεν περιέχει λάθη.  Τις περισσότερες φορές κάθε πρόγραμμα αρχικά θα έχει λάθη. Τα λάθη του προγράμματος είναι γενικά δύο ειδών, λογικά και συντακτικά.  Τα λογικά λάθη εμφανίζονται μόνο στην εκτέλεση, ενώ τα συντακτικά λάθη στο στάδιο της μεταγλώττισης.  Τα λογικά λάθη που είναι τα πλέον σοβαρά και δύσκολα στη διόρθωση τους, οφείλονται σε σφάλματα κατά την υλοποίηση του αλγορίθμου.  Τα συντακτικά οφείλονται σε αναγραμματισμούς ονομάτων εντολών, παράληψη δήλωσης δεδομένων και πρέπει πάντα να διορθωθούν, ώστε να παραχθεί το τελικό εκτελέσιμο πρόγραμμα.
  • 25. &6.7 Προγραμματιστικά Περιβάλλοντα Συντάκτης (editor)  Για την αρχική σύνταξη των προγραμμάτων και τη διόρθωσή τους στη συνέχεια χρησιμοποιείται ένα ειδικό πρόγραμμα που ονομάζεται συντάκτης (editor).  Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου, με δυνατότητες όμως που διευκολύνουν τη γρήγορη γραφή των εντολών των προγραμμάτων .
  • 26. &6.7 Προγραμματιστικά Περιβάλλοντα Για τη δημιουργία, τη μετάφραση και την εκτέλεση ενός προγράμματος απαιτούνται τουλάχιστον τρία προγράμματα: – ο συντάκτης (editor) – ο μεταγλωττιστής (compiler) – ο συνδέτης (linker)  Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν αυτά τα προγράμματα με ενιαίο τρόπο.