Ανάλυση και Δομή Προβλήματος

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Ποια από τις παρακάτω επιλογές είναι η πιο ακριβής περιγραφή ενός αλγορίθμου;

  • Μια σειρά από ενέργειες που στοχεύουν στην επίλυση ενός προβλήματος, εκτελούμενες χωρίς χρονικό περιορισμό.
  • Ένα σύνολο ασαφών οδηγιών για την επίλυση ενός προβλήματος.
  • Μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. (correct)
  • Μια αυθαίρετη συλλογή ενεργειών που μπορεί να οδηγήσει ή όχι στην επίλυση ενός προβλήματος.

Ποιο από τα παρακάτω δεν αποτελεί κριτήριο πληρότητας ενός αλγορίθμου;

  • Αοριστία: Κάθε εντολή πρέπει να είναι σαφής και να μην επιδέχεται αμφισβήτηση. (correct)
  • Έξοδος: Ο αλγόριθμος δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα.
  • Είσοδος: Καμία, μία ή περισσότερες τιμές δεδομένων δίνονται στον αλγόριθμο.
  • Περατότητα: Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα.

Σε ποια από τις παρακάτω περιπτώσεις η χρήση διαγραμμάτων ροής δεν είναι η καλύτερη επιλογή για την αναπαράσταση ενός αλγορίθμου;

  • Όταν η ομάδα ανάπτυξης είναι εξοικειωμένη με τη χρήση διαγραμμάτων ροής.
  • Όταν ο αλγόριθμος περιλαμβάνει πολύπλοκες διακλαδώσεις και επαναλήψεις. (correct)
  • Όταν θέλουμε μια γρήγορη και εύκολη επισκόπηση της λογικής του αλγορίθμου.
  • Όταν ο αλγόριθμος είναι απλός και γραμμικός.

Τι εξυπηρετεί η χρήση ενός μεταφραστικού προγράμματος στον προγραμματισμό;

<p>Μετατρέπει τον κώδικα σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή. (C)</p> Signup and view all the answers

Ποια είναι η κύρια διαφορά μεταξύ μεταγλωττιστή και διερμηνευτή;

<p>Ο μεταγλωττιστής μεταφράζει ολόκληρο τον κώδικα σε εκτελέσιμο πρόγραμμα, ενώ ο διερμηνευτής εκτελεί τον κώδικα γραμμή προς γραμμή. (B)</p> Signup and view all the answers

Τι είναι το αλφάβητο μιας γλώσσας προγραμματισμού;

<p>Το σύνολο των βασικών δομικών στοιχείων που χρησιμοποιούνται στη γλώσσα. (A)</p> Signup and view all the answers

Ποιος από τους παρακάτω τύπους δεδομένων δεν υποστηρίζεται άμεσα από τη ΓΛΩΣΣΑ;

<p>Δείκτης. (C)</p> Signup and view all the answers

Τι συμβαίνει όταν προσπαθούμε να αναθέσουμε μια λογική τιμή σε μια μεταβλητή μέσω της εντολής Διάβασε στη ΓΛΩΣΣΑ;

<p>Ο χρήστης μπορεί να εισάγει μόνο αριθμούς ή χαρακτήρες. (D)</p> Signup and view all the answers

Τι είναι η εμβέλεια μιας μεταβλητής;

<p>Το τμήμα του προγράμματος όπου η μεταβλητή είναι ορατή και μπορεί να χρησιμοποιηθεί. (A)</p> Signup and view all the answers

Ποια είναι η διαφορά μεταξύ των τελεστών DIV και / στην ΓΛΩΣΣΑ;

<p>Ο τελεστής / επιστρέφει πάντα πραγματικό αποτέλεσμα, ενώ ο DIV επιστρέφει ακέραιο. (C)</p> Signup and view all the answers

Ποια είναι η ιεραρχία των λογικών τελεστών από την υψηλότερη στην χαμηλότερη;

<p>ΟΧΙ, ΚΑΙ, Ή (B)</p> Signup and view all the answers

Ποια από τις παρακάτω προτάσεις είναι σωστή σχετικά με τις σταθερές στην ΓΛΩΣΣΑ;

<p>Οι σταθερές διατηρούν την ίδια τιμή σε όλη τη διάρκεια του προγράμματος. (D)</p> Signup and view all the answers

Ποια από τις παρακάτω δομές δεδομένων δεν είναι στατική;

<p>Λίστα. (D)</p> Signup and view all the answers

Ποια από τις παρακάτω λειτουργίες δεν είναι βασική λειτουργία επί δομών δεδομένων;

<p>Αποθήκευση. (B)</p> Signup and view all the answers

Σε τι αναφερόμαστε όταν λέμε ότι ένας πίνακας είναι 'παράλληλος' με έναν άλλον;

<p>Αποθηκεύουν χαρακτηριστικά οντοτήτων σε στοιχεία με την ίδια τιμή δείκτη. (D)</p> Signup and view all the answers

Ποιο από τα παρακάτω αποτελεί πλεονέκτημα της χρήσης πινάκων;

<p>Δομή τυχαίας προσπέλασης. (A)</p> Signup and view all the answers

Ποιος είναι ο σκοπός της μεταβλητής top σε μια υλοποίηση στοίβας με χρήση πίνακα;

<p>Δείχνει το στοιχείο που μπήκε τελευταίο στην στοίβα. (A)</p> Signup and view all the answers

Ποια είναι η βασική διαφορά μεταξύ στοίβας και ουράς;

<p>Στην στοίβα τα στοιχεία αφαιρούνται με σειρά LIFO, ενώ στην ουρά με σειρά FIFO. (A)</p> Signup and view all the answers

Ποιο από τα παρακάτω αποτελεί πλεονέκτημα των λιστών έναντι των πινάκων;

<p>Δυναμικό μέγεθος. (A)</p> Signup and view all the answers

Ποιος είναι ο ρόλος του δείκτη (pointer) σε μια συνδεδεμένη λίστα;

<p>Συνδέει κάθε κόμβο με τον επόμενο. (A)</p> Signup and view all the answers

Σε ένα δένδρο, ποιος κόμβος ονομάζεται ρίζα;

<p>Ο κόμβος που δεν έχει γονέα. (A)</p> Signup and view all the answers

Η δομή ενός δυαδικού δένδρου αναζήτησης εξασφαλίζει ότι:

<p>Όλοι οι κόμβοι στο αριστερό υποδένδρο είναι μικρότεροι από τη ρίζα και όλοι στο δεξί μεγαλύτεροι. (C)</p> Signup and view all the answers

Ποιος είναι ο σκοπός της χρήσης ισορροπημένων δυαδικών δένδρων αναζήτησης;

<p>Να μειωθεί ο χρόνος αναζήτησης, διατήρησης και εισαγωγής στοιχείων. (A)</p> Signup and view all the answers

Ποια είναι η κύρια διαφορά μεταξύ ενός γράφου και ενός δένδρου;

<p>Τα δένδρα δεν μπορούν να περιέχουν κύκλους, ενώ οι γράφοι μπορούν. (D)</p> Signup and view all the answers

Στον τμηματικό προγραμματισμό, ποιος είναι ο σκοπός των υποπρογραμμάτων;

<p>Να διασπάσουν το πρόβλημα σε μικρότερα, ευκολότερα διαχειρίσιμα μέρη. (A)</p> Signup and view all the answers

Ποια από τις παρακάτω δεν αποτελεί βασική ιδιότητα ενός υποπρογράμματος;

<p>Άμεση πρόσβαση στις καθολικές μεταβλητές του προγράμματος. (A)</p> Signup and view all the answers

Ποια είναι η διαφορά μεταξύ τυπικών και πραγματικών παραμέτρων σε ένα υποπρόγραμμα;

<p>Οι τυπικές παράμετροι είναι μεταβλητές στο υποπρόγραμμα, ενώ οι πραγματικές είναι οι τιμές που περνιούνται στο υποπρόγραμμα. (B)</p> Signup and view all the answers

Ποιο από τα παρακάτω είναι πλεονέκτημα της περιορισμένης εμβέλειας μεταβλητών;

<p>Απλοποιεί τον εντοπισμό σφαλμάτων. (A)</p> Signup and view all the answers

Σε τι διαφέρει μια συνάρτηση από μια διαδικασία;

<p>Οι συναρτήσεις επιστρέφουν μία τιμή, ενώ οι διαδικασίες μπορούν να επιστρέψουν περισσότερες. (D)</p> Signup and view all the answers

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

<p>Εκσφαλμάτωση. (D)</p> Signup and view all the answers

Ποια είναι η κύρια αιτία των συντακτικών λαθών;

<p>Μη συμμόρφωση με τους κανόνες σύνταξης της γλώσσας. (A)</p> Signup and view all the answers

Τα λογικά λάθη είναι:

<p>Συνήθως λάθη σχεδιασμού που οδηγούν σε μη επιθυμητά αποτελέσματα. (C)</p> Signup and view all the answers

Τι είναι η μέθοδος «μαύρου κουτιού» (black box testing);

<p>Μια τεχνική ελέγχου όπου τα δεδομένα εισόδου επιλέγονται βάσει των προδιαγραφών, αγνοώντας τον κώδικα. (C)</p> Signup and view all the answers

Στον αντικειμενοστραφή προγραμματισμό, τι είναι ένα αντικείμενο;

<p>Μια αυτόνομη οντότητα με ιδιότητες και συμπεριφορές. (A)</p> Signup and view all the answers

Στον αντικειμενοστραφή προγραμματισμό, ποιες είναι οι ιδιότητες και ποιες οι ενέργειες που εφαρμόζονται πάνω στα δεδομένα αντίστοιχα;

<p>Ιδιότητες - μέθοδοι (A)</p> Signup and view all the answers

Ποιος είναι ο σκοπός της ενθυλάκωσης στον αντικειμενοστραφή προγραμματισμό;

<p>Να συνδυάσει δεδομένα και κώδικα σε ένα ενιαίο σύνολο και να τα προστατεύσει από εξωτερικές παρεμβάσεις. (D)</p> Signup and view all the answers

Στην κληρονομικότητα, τι κληρονομεί μια απόγονος κλάση από την βασική/υπερκλάση;

<p>Τις ιδιότητες και τις μεθόδους. (A)</p> Signup and view all the answers

Τι σημαίνει πολυμορφισμός στον αντικειμενοστραφή προγραμματισμό;

<p>Η δυνατότητα μιας λειτουργίας να υλοποιείται με πολλούς διαφορετικούς τρόπους. (B)</p> Signup and view all the answers

Flashcards

Τι είναι Δεδομένο;

Στοιχείο που μπορεί να γίνει αντιληπτό με τις αισθήσεις.

Τι είναι Επεξεργασία Δεδομένων;

Διαδικασία όπου ένας μηχανισμός δέχεται και επεξεργάζεται δεδομένα.

Τι είναι Πληροφορία;

Γνωσιακό στοιχείο που προέρχεται από την επεξεργασία δεδομένων.

Τι είναι ένα Πρόβλημα;

Κατάσταση που χρειάζεται αντιμετώπιση και λύση.

Signup and view all the flashcards

Περατότητα

Ο αλγόριθμος πρέπει να έχει συγκεκριμένο τέλος.

Signup and view all the flashcards

Έξοδος

Ο αλγόριθμος πρέπει να δίνει τουλάχιστον μία τιμή ως αποτέλεσμα.

Signup and view all the flashcards

Αλγόριθμος

Είναι μια σειρά ενεργειών για την επίλυση ενός προβλήματος.

Signup and view all the flashcards

Καθοριστικότητα

Κάθε εντολή πρέπει να είναι σαφής και χωρίς αμφιβολία.

Signup and view all the flashcards

Αποτελεσματικότητα

Οι πράξεις να είναι απλές και εκτελέσιμες.

Signup and view all the flashcards

Είσοδος

Μία ή περισσότερες τιμές δεδομένων που δίνονται στον αλγόριθμο.

Signup and view all the flashcards

Πρόγραμμα

Είναι μια ακολουθία εντολών κατάλληλων για επεξεργασία.

Signup and view all the flashcards

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

Η διαδικασία δημιουργίας προγραμμάτων υπολογιστή.

Signup and view all the flashcards

Αλφάβητο

Το σύνολο των βασικών στοιχείων μιας γλώσσας.

Signup and view all the flashcards

Λεξιλόγιο

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

Signup and view all the flashcards

Τυπικό

Κανόνες που ορίζουν τις μορφές μιας λέξης (κλίση, ορθογραφία).

Signup and view all the flashcards

Συντακτικό

Κανόνες που καθορίζουν τη σύνδεση των λέξεων.

Signup and view all the flashcards

Σημασιολογία

Κανόνες που καθορίζουν το νόημα των λέξεων.

Signup and view all the flashcards

Ιεραρχική σχεδίαση

Ανάλυση προβλήματος σε υποπροβλήματα.

Signup and view all the flashcards

Τμηματικός προγραμματισμός

Ανάπτυξη προγραμμάτων ως σύνολο απλών τμημάτων.

Signup and view all the flashcards

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

Μεθοδολογία που στηρίζεται σε λογικές δομές (ακολουθία, επιλογή, επανάληψη).

Signup and view all the flashcards

Αντικειμενοστραφής προγραμματισμός

Μεθοδολογία που στηρίζεται σε αυτόνομες οντότητες (αντικείμενα).

Signup and view all the flashcards

Εντολές γλώσσας μηχανής

Αναγνωρίσιμη και εκτελέσιμη μορφή από τον υπολογιστή

Signup and view all the flashcards

Μεταγλωττιστής

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

Signup and view all the flashcards

Διερμηνευτής

Διαβάζει και εκτελεί τις εντολές μία προς μία.

Signup and view all the flashcards

Τρία προγράμματα

Δημιουργία, μετάφραση και εκτέλεση ενός προγράμματος.

Signup and view all the flashcards

Πηγαίο πρόγραμμα

Πρόγραμμα αρχικού κώδικα.

Signup and view all the flashcards

Αντικείμενο πρόγραμμα

Πρόγραμμα που παράγεται από το μεταγλωττιστή.

Signup and view all the flashcards

Συνδέτης-φορτωτής.

Πρόγραμμα που επιτρέπει σύνδεση βιβλιοθηκών.

Signup and view all the flashcards

Εκτελέσιμο πρόγραμμα

Πρόγραμμα που μπορεί να εκτελεστεί από τον υπολογιστή.

Signup and view all the flashcards

Μεταβητή

Δηλώνει το είδος της τιμής που μπορεί να πάρει.

Signup and view all the flashcards

Σταθερές

Οι τιμές δεν αλλάζουν

Signup and view all the flashcards

Όνομα σταθεράς/μεταβλητής

Δεν αλλάζουν.

Signup and view all the flashcards

Όνομα σταθεράς/μεταβλητής

Έχει μοναδικό όνομα.

Signup and view all the flashcards

Είδος σταθεράς/μεταβλητής

Δεν αλλάζει

Signup and view all the flashcards

Όταν αναθέτουμε νέα τιμή.

Η παλιά τιμή χάνεται.

Signup and view all the flashcards

Δήλωση τύπου μεταβλητής

Στο τμήμα δηλώσεων.

Signup and view all the flashcards

DIV

Ακέραια διαίρεση (ακέραιο πηλίκο).

Signup and view all the flashcards

MOD

Υπόλοιπο ακέραιας διαίρεσης.

Signup and view all the flashcards

Πολυμορφισμός

Ανάλογα με την συνθήκη

Signup and view all the flashcards

Study Notes

Ανάλυση Προβλήματος

  • Δεδομένο είναι οποιοδήποτε στοιχείο γίνεται αντιληπτό μέσω των αισθήσεων.
  • Τα δεδομένα είναι μία τυποποιημένη μορφή γεγονότων, εννοιών ή εντολών κατάλληλη για επικοινωνία και επεξεργασία.
  • Η επεξεργασία δεδομένων είναι η διαδικασία όπου ένας μηχανισμός δέχεται και επεξεργάζεται δεδομένα για να αποδώσει πληροφορίες.
  • Παραδείγματα επεξεργασίας δεδομένων: χειρισμός, συγχώνευση, ταξινόμηση, μεταγλώττιση.
  • Πληροφορία είναι γνωσιακό στοιχείο προερχόμενο από επεξεργασία δεδομένων.
  • Πληροφορία είναι η γνώση που αφορά πράξεις, έννοιες, αντικείμενα, γεγονότα, ιδέες ή διεργασίες και έχει ιδιαίτερη σημασία σε ένα κείμενο.
  • Πρόβλημα είναι μια κατάσταση που χρήζει αντιμετώπισης και απαιτεί λύση.
  • Η λύση ενός προβλήματος δεν είναι γνωστή ούτε προφανής.

Κατανόηση και Δομή Προβλήματος

  • Η κατανόηση ενός προβλήματος εξαρτάται από την σωστή διατύπωση και ερμηνεία του.
  • Δομή προβλήματος αναφέρεται στα συστατικά μέρη και στη σύνδεσή τους.
  • Η δυσκολία αντιμετώπισης προβλημάτων μειώνεται με την ανάλυση σε απλούστερα υποπροβλήματα.
  • Υπάρχουν δύο τρόποι ανάλυσης ενός προβλήματος: φραστική και διαγραμματική.
  • Φραστική ανάλυση: διαχωρισμός σε μικρότερα προβλήματα με απλό λόγο.
  • Διαγραμματική αναπαράσταση: αναπαράσταση με ορθογώνια παραλληλόγραμμα σε ιεραρχικά επίπεδα.

Καθορισμός Απαιτήσεων και Στάδια Επίλυσης

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

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

  • Αλγόριθμος: πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο για την επίλυση ενός προβλήματος.
  • Η έννοια του αλγορίθμου δεν συνδέεται αποκλειστικά με την Πληροφορική.
  • Κριτήρια πληρότητας αλγορίθμου:
    • Είσοδος: καμία, μία ή περισσότερες τιμές δεδομένων.
    • Έξοδος: δημιουργία τουλάχιστον μιας τιμής δεδομένων.
    • Καθοριστικότητα: κάθε εντολή πρέπει να είναι σαφής.
    • Περατότητα: πεπερασμένα βήματα εκτέλεσης.
    • Αποτελεσματικότητα: κάθε εντολή πρέπει να είναι απλή και εκτελέσιμη.

Σπουδαιότητα και Αναπαράσταση Αλγορίθμων

  • Σπουδαιότητα αλγορίθμων στην Πληροφορική:
    • Υλικού: Επηρεάζεται η ταχύτητα εκτέλεσης από την τεχνολογία υλικού.
    • Γλωσσών Προγραμματισμού: Η γλώσσα προγραμματισμού επηρεάζει τη δομή και τον αριθμό εντολών.
    • Θεωρητική: Εξετάζεται η ύπαρξη αποδοτικού αλγορίθμου.
    • Αναλυτική: Μελετώνται οι υπολογιστικοί πόροι που απαιτούνται.
  • Τρόποι περιγραφής και αναπαράστασης αλγορίθμων:
    • Ελεύθερο κείμενο
    • Διαγραμματικές τεχνικές: διάγραμμα ροής.
    • Φυσική γλώσσα κατά βήματα.
    • Κωδικοποίηση: σε ψευδογλώσσα ή γλώσσα προγραμματισμού.

Διάγραμμα Ροής

  • Διάγραμμα ροής: σύνολο γεωμετρικών σχημάτων που δηλώνουν συγκεκριμένες ενέργειες, ενωμένα με βέλη που δηλώνουν τη σειρά εκτέλεσης.
  • Σχήματα διαγράμματος ροής:
    • Έλλειψη: αρχή και τέλος.
    • Ρόμβος: ερώτηση με δύο ή περισσότερες εξόδους.
    • Ορθογώνιο: εκτέλεση μιας ή περισσότερων πράξεων
    • Πλάγιο παραλληλόγραμμο: είσοδος ή έξοδος στοιχείων.

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

  • Πρόγραμμα: ακολουθία εντολών για επεξεργασία.
  • Προγραμματισμός: διαδικασία δημιουργίας προγραμμάτων.
  • Προγραμματιστής: πρόσωπο υπεύθυνο για το σχεδιασμό, εγγραφή, έλεγχο και συντήρηση προγράμματος.
  • Φυσικές γλώσσες: χρησιμοποιούνται για επικοινωνία ανθρώπων.
  • Τεχνητές γλώσσες: χρησιμοποιούνται για επικοινωνία με υπολογιστική μηχανή.
  • Μια γλώσσα προσδιορίζεται από το αλφάβητο, λεξιλόγιο, γραμματική και σημασιολογία της.
  • Αλφάβητο: σύνολο βασικών δομικών στοιχείων.
  • Λεξιλόγιο: υποσύνολο των ακολουθιών που δημιουργούνται από το αλφάβητο.
  • Γραμματική: τυπικό και συντακτικό.
    • Τυπικό: κανόνες που ορίζουν τις αποδεκτές μορφές μιας λέξης.
    • Συντακτικό: κανόνες που καθορίζουν την νομιμότητα της διάταξης και της σύνδεσης των λέξεων.
  • Σημασιολογία: κανόνες που καθορίζουν το νόημα των λέξεων.

Διαφορές Φυσικών και Τεχνητών Γλωσσών και Τεχνικές Σχεδίασης Προγραμμάτων

  • Βασική διαφορά φυσικών και τεχνητών γλωσσών: η δυνατότητα εξέλιξής τους (οι φυσικές εξελίσσονται, οι τεχνητές παραμένουν στατικές).
  • Ιεραρχική σχεδίαση: συνεχής διαίρεση του προβλήματος σε υποπροβλήματα (από επάνω προς τα κάτω).
  • Τμηματικός προγραμματισμός: ανάπτυξη προγραμμάτων ως σύνολο απλούστερων τμημάτων (modules).
    • Πλεονεκτήματα: διευκολύνει τη δημιουργία, μειώνει τα λάθη, επιτρέπει ευκολότερη παρακολούθηση και συντήρηση.

Δομημένος Προγραμματισμός, Αντικεμενοστραφής Προγραμματισμός

  • Δομημένος Προγραμματισμός: χρήση τριών λογικών δομών: ακολουθίας, επιλογής, επανάληψης.
    • Πλεονεκτήματα: απλούστερα προγράμματα, άμεση μεταφορά αλγορίθμων, ευκολότερη ανάλυση και διόρθωση, περιορισμός λαθών.
  • GOTO: καταργείται η ανεξέλεγκτη χρήση του.
  • Αντικειμενοστραφής προγραμματισμός: αυτόνομες προγραμματιστικές οντότητες (αντικείμενα) με ιδιότητες και συμπεριφορά.

Προγραμματιστικά Περιβάλλοντα και Λειτουργία Μεταγλώττισης

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

Μεταγλωττιστές vs Διερμηνευτές

  • Μεταγλωττιστής:
    • Θετικά: το εκτελέσιμο πρόγραμμα λειτουργεί χωρίς καθυστερήσεις.
    • Αρνητικά: αργεί η διαδικασία μετάφρασης.
  • Διερμηνευτής:
    • Θετικά: άμεση εκτέλεση του αλγορίθμου και άμεση διόρθωση λαθών.
    • Αρνητικά: το εκτελέσιμο πρόγραμμα λειτουργεί με καθυστερήσεις.

Βασικές Έννοιες Προγραμματισμού

  • Αλφάβητο της ΓΛΩΣΣΑΣ: ελληνικά και λατινικά γράμματα, ψηφία, ειδικά σύμβολα.
    • Γράμματα: κεφαλαία και πεζά ελληνικά και λατινικά.
    • Ψηφία: 0-9.
    • Ειδικοί χαρακτήρες: +-*/ = . ( ), ‘ ! & κενός χαρακτήρας ^.
  • Τύποι δεδομένων:
    • Ακέραιοι: 1, 0, 100, -100.
    • Πραγματικοί: 0.1, -0.1, 3.14.
    • Χαρακτήρες: 'Κ', 'Κώστας', 'σήμερα είναι Τετάρτη', 'Τα πολλαπλάσια του 15 είναι:'.
    • Λογικοί: ΑΛΗΘΗΣ, ΨΕΥΔΗΣ.
  • Λογικές τιμές δεν διαβάζονται από το χρήστη.
  • Σταθερές: προκαθορισμένες τιμές που δεν μεταβάλλονται.
  • Παραδείγματα:
    • ΠΙ = 3.14159
    • ΦΠΑ = 0.19
    • ΟΝΟΜΑ = 'Κώστας'

Μεταβλητές, Σταθερές και Τελεστές

  • Μεταβλητή: ποσότητα που η τιμή της μπορεί να μεταβάλλεται.
  • Η ΓΛΩΣΣΑ επιτρέπει μεταβλητές ακεραίων, πραγματικών, χαρακτήρων και λογικών τύπων.
  • Η δήλωση του τύπου κάθε μεταβλητής γίνεται υποχρεωτικά στο τμήμα δήλωσης μεταβλητών.
  • Παραδείγματα δηλώσεων μεταβλητών:
          ΠΡΑΓΜΑΤΙΚΕΣ: Εμβαδόν, Α
          ΑΚΕΡΑΙΕΣ: TIMH, N, I, j, k
          ΧΑΡΑΚΤΗΡΕΣ: Όνομα
          ΛΟΓΙΚΕΣ: Έλεγχος, Βρέθηκε
  • Λειτουργίες και χαρακτηριστικά σταθερών και μεταβλητών: - Το όνομα μιας σταθεράς ή μεταβλητής δεν αλλάζει. - Το όνομα μιας σταθεράς ή μεταβλητής είναι μοναδικό. - Το είδος μιας σταθεράς ή μεταβλητής δεν αλλάζει. - Όταν αναθέτουμε νέα τιμή σε μια μεταβλητή, η παλιά τιμή παύει να υπάρχει. - Η δήλωση του τύπου κάθε μεταβλητής γίνεται υποχρεωτικά στο τμήμα δήλωσης μεταβλητών. - Είναι καλή πρακτική να χρησιμοποιούνται ονόματα τα οποία να υπονοούν το περιεχόμενό τους.
  • Τελεστές: σύμβολα που χρησιμοποιούνται για την εκτέλεση συγκεκριμένων πράξεων.
  • Αριθμητικοί τελεστές:
    • Πρόσθεση +, Αφαίρεση -, Πολλαπλασιασμός *, Διαίρεση /, Ύψωση σε δύναμη ^, Ακέραια διαίρεση DIV, Υπόλοιπο ακέραιας διαίρεσης MOD.

Συγκριτικοί, Λογικοί Τελεστές, Συναρτήσεις

  • Συγκριτικοί τελεστές: Ίσο =, Διάφορο <>, Μεγαλύτερο >, Μεγαλύτερο ή ίσο >=, Μικρότερο <, Μικρότερο ή ίσο <=.
  • Λογικοί τελεστές: ΌΧΙ, ΚΑΙ, Ή (ιεραρχία: ΟΧΙ, ΚΑΙ, Ή).
  • Συναρτήσεις:
    • ΗΜ(x) (ημίτονο)
    • ΣΥΝ(x) (συνημίτονο)
    • ΕΦ(x) (εφαπτομένη)
    • T_P(x) (τετραγωνική ρίζα)
    • ΛΟΓ(x) (φυσικός λογάριθμος)
    • Ε(x) (ex)
    • Α_Μ(x) (ακέραιο μέρος)
    • A_T(x) (απόλυτη τιμή)
  • Οι συναρτήσεις ΗΜ(), ΣΥΝ() και ΕΦ() δέχονται παράμετρο σε μοίρες.
  • Η απόλυτη τιμή A_T() δέχεται αριθμητική παράμετρο και επιστρέφει ακέραιο ή πραγματικό αριθμό.

Αριθμητικές και Λογικές Εκφράσεις

  • Αριθμητικές εκφράσεις: απλές ή σύνθετες μαθηματικές πράξεις (απαιτείται όλες οι μεταβλητές να έχουν οριστεί).
  • Ιεραρχία πράξεων:
    1. Ύψωση σε δύναμη (^)
    2. Πολλαπλασιασμός (*) και διαίρεση (/, DIV, MOD)
    3. Πρόσθεση (+) και αφαίρεση (-)
  • Λογικές εκφράσεις: σταθερές, μεταβλητές, αριθμητικές παραστάσεις, συγκριτικοί και λογικοί τελεστές, παρενθέσεις.
  • Οι λογικές εκφράσεις εκτελούνται με ιεραρχία.

Απλές και Σύνθετες Εκφράσεις

  • Απλή λογική έκφραση: περιέχει έναν μόνο συγκριτικό τελεστή.
  • Παράδειγμα: α > 0 ή Βρέθηκε=Ψευδής
  • Σύνθετες εκφράσεις: αποτελούνται από δύο ή περισσότερες απλές λογικές εκφράσεις, συνδεδεμένες με λογικούς τελεστές (ΟΧΙ, ΚΑΙ, Ή).
  • Παράδειγμα: α > Ο ΚΑΙ β < 4 ή Βρέθηκε = Ψευδής Ή i >= 10

Δομές Δεδομένων και Πίνακες

  • Πληροφορική: η επιστήμη που μελετά τα δεδομένα:
    • Υλικού: τρόποι αποθήκευσης στην μνήμη.
    • Γλωσσών Προγραμματισμού: τύποι δεδομένων.
    • Δομών Δεδομένων: σύνολο δεδομένων μαζί με επιτρεπτές λειτουργίες.
    • Ανάλυσης Δεδομένων: τρόποι καταγραφής και αλληλοσχετίσεις.
    • Οι τεχνολογίες των Βάσεων Δεδομένων, της Μοντελοποίησης Δεδομένων και της Αναπαράστασης Γνώσης ανήκουν σε αυτή τη σκοπιά μελέτης των δεδομένων.
  • Δομή Δεδομένων: σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών.

Στατικές και Δυναμικές Δομές Δεδομένων

  • Στατικές δομές:
    • Αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
    • Έχουν σταθερό μέγεθος.
    • Υλοποιούνται με πίνακες.
    • Οι δομές ουρά και στοίβα θεωρούνται επίσης στατικές δομές και υλοποιούνται με πίνακες.
  • Δυναμικές δομές:
    • Δεν αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
    • Στηρίζονται στην τεχνική της λεγόμενης δυναμικής παραχώρησης μνήμης.
    • Δεν έχουν σταθερό μέγεθος.
    • Το μέγεθος της μνήμης καθορίζεται κατά την εκτέλεση του προγράμματος.
    • Υλοποιούνται με λίστες, δένδρα και γράφους.
  • Για στατικές δομές χρειάζεται να ορισθεί το μέγεθός τους πριν από την έναρξη του προγράμματος
  • Για δυναμικές δομές το μέγεθός τους δύναται να ορισθεί και να τροποποιηθεί κατά την εκτέλεση.

Βασικές Λειτουργίες Δομών Δεδομένων

  • Προσπέλαση: πρόσβαση σε έναν κόμβο ενός δεδομένου.
  • Εισαγωγή
  • Διαγραφή
  • Αναζήτηση
  • Ταξινόμηση
  • Αντιγραφή
  • Συγχώνευση
  • Διαχωρισμός

Πίνακες

  • Πίνακας: σύνολο αντικειμένων ίδιου τύπου με κοινό όνομα.
  • Στοιχείο του πίνακα: κάθε ένα από τα αντικείμενα που απαρτίζουν τον πίνακα.
  • Μονοδιάστατος: μια σειρά στοιχείων.
  • Δισδιάστατος: πίνακας με γραμμές και στήλες.
  • Τετραγωνικός: πίνακας με ίσες διαστάσεις (γραμμές = στήλες).
  • Κύρια διαγώνιος: τα στοιχεία A[i, j] όπου i = j.
  • Δευτερεύουσα διαγώνιος (Αντιδιαγώνιος): - Τα στοιχεία Α[i, j] του πίνακα διαστάσεων ΝΧΝ για τα οποία ισχύει i + j = N + 1.
  • Τριγωνικός: πίνακας που περιέχει στοιχεία μόνο κάτω ή πάνω από τη κύρια διαγώνιό του.
  • Συμμετρικός: πίνακας για τον οποίο ισχύει A[i, j] = A[j, i].

Παράλληλοι Πίνακες, πλεονεκτήματα και τυπικές επεξεργασίες

  • Παράλληλοι πίνακες: πίνακες που αποθηκεύουν τα χαρακτηριστικά οντοτήτων σε στοιχεία με την ίδια τιμή δείκτη.
  • Πλεονεκτήματα πινάκων:
    • Χρήση για διαχείριση πολλών δεδομένων ίδιου τύπου.
    • Δομή τυχαίας προσπέλασης.
  • Μειονεκτήματα πινάκων:
  • Δέσμευση συγκεκριμένου πλήθους θέσεων μνήμης από την αρχή.
  • Περιορισμός των δυνατοτήτων του προγράμματος.
  • Τυπικές επεξεργασίες πινάκων:
    • Υπολογισμός αθροισμάτων στοιχείων του πίνακα.
    • Εύρεση του μέγιστου ή του ελάχιστου στοιχείου.
    • Ταξινόμηση των στοιχείων του πίνακα.
    • Αναζήτηση (σειριακή ή δυαδική).
    • Συγχώνευση δύο πινάκων.

Δομές Στοίβα, Ουρά

  • Στοίβα: δομή δεδομένων όπου τα στοιχεία λαμβάνονται σύμφωνα με την αρχή LIFO (Last In, First Out).
  • Κύριες λειτουργίες: ώθηση (προσθήκη) και απώθηση (αφαίρεση) στοιχείου.
  • Υπερχείλιση: όταν η στοίβα είναι γεμάτη..
  • Υποχείλιση: όταν γίνεται προσπάθεια αφαίρεσης στοιχείου από άδεια στοίβα.
  • Υλοποιείται με μονοδιάστατο πίνακα και βοηθητική μεταβλητή (top).
  • Ουρά: δομή δεδομένων όπου τα στοιχεία λαμβάνονται σύμφωνα με την αρχή FIFO (First In, First Out). -Κύριες λειτουργίες: εισαγωγή και εξαγωγή στοιχείου.
  • Απαιτούνται δύο δείκτες: εμπρός (front) και πίσω (rear).

Δομή Δεδομένων Λίστα

  • Λίστα: συλλογή αντικειμένων του ίδιου τύπου.
  • Απλά συνδεδεμένη λίστα: σύνολο κόμβων διατεταγμένων γραμμικά, όπου κάθε κόμβος περιέχει δεδομένα και δείκτη προς τον επόμενο κόμβο.
  • Ο δείκτης του τελευταίου κόμβου έχει την τιμή NULL.
  • Προσεγγίζεται μέσω του δείκτη Κεφαλή (Head).
  • Διαφορές λίστας σε σχέση με τον πίνακα:
    • Σειριακή προσπέλαση έναντι τυχαίας προσπέλασης.
    • Μεταβλητό μέγεθος.
    • Αποθήκευση σε μη συνεχόμενες θέσεις μνήμης.
  • Πλεονεκτήματα λιστών έναντι πινάκων: το δυναμικό τους μέγεθος, η ευκολία εισαγωγής και διαγραφής και η μη αναγκαιότητα δήλωσης μεγέθους.
  • Βασικές πράξεις των συνδεδεμένων λιστών:
    • Εισαγωγή κόμβου -Διαγραφή κόμβου
    • Έλεγχος για το αν η λίστα είναι κενή
    • Αναζήτηση κόμβου -Διάσχιση της λίστας και προσπέλαση των στοιχείων της.

Δένδρα και υποδένδρα

  • Δένδρο: δομή αποτελούμενη από κόμβους και ακμές με τους εξής κανόνες:
    • Ένας κόμβος (ρίζα) χωρίς γονέα.
    • Κάθε κόμβος εκτός της ρίζας έχει μία ακμή από έναν άλλο κόμβο (γονέα).
    • Μοναδική διαδρομή από τη ρίζα σε κάθε κόμβο.
  • Κενό δένδρο: δένδρο χωρίς κόμβους και ακμές.
  • Κάνε κόμβος έκανε ένα έμπορο στη Γένοβα ή σε οποιονδήποτε άλλο έμπορο και αολοοη Απλό δένδρο: δένδρο που απαρτίζεται από έναν μόνο κόμβο (ρίζα και φύλλο).
    • Μέσα σε ένα δένδρο μπορούμε να εντοπίσουμε και άλλα μικρότερα δένδρα, τα υποδένδρα.

Ισοτητα Δένδρων, Σπουδαιότητα

  • Σε ένα διατεταγμένο δένδρο αν για κάθε κόμβο ενός δένδρου υπάρχει μία γραμμική σχέση.
  • Αντιδιαστολή με τα παιδιά του κόμβου αυτού ένα από ρεφερενκτονη σε έμπειρο παιδί είσαι διατροφή ένα αριστερά του γονέα.
  • Σπουδαιότητα των δένδρων:
    • Δυναμικότητα
    • Η δομή τους μεταφέρει πληροφορίες.

Δυαδικά Δένδρα και Δένδρα Αναζήτησης

  • Δυαδικό δένδρο: διατεταγμένο δένδρο όπου κάθε κόμβος έχει το πολύ δύο παιδιά (αριστερό και δεξί). -Δενδρο Αναζήτησης: Ολοι την ίδια εικόνα αριστερού υποδένδρου έχουν αμοκρο ρεβετενσίου, τοποθετήσεων της τιμές του είναι πολύ βολικό γουριού γουρού γουριού

Δένδρα Ισορροπημένα, Γράφοι

  • Ισορροπημένο Δένδρο Αναζήτησης: σε ένα αεροδρόμου και ελαφρώς γριγόρα άκρο αποθήκευση και εις τους δρόμους ή αν το πρέπον.
  • Γράφος: αποτελείται από ένα σύνολο κόρμπρα γροθων άκμον ή σεκτον που έχω όλη ακραθουκσ σκεφτεί ο γράφος.
  • Η όλοι οι πονοχομείος δυο παροίους σπεντον μποροούν με θεωρία μες την πίσταση γράφοι. -Αν όλες στην όμακ και ο γραφώδης έχουν κατεύθυνση και ο φουανηλ ονομάζεται μεντρος γράφος -Αν ότι οι αληθινων σε εναν γράφοδεν γραφο δεν πουτεν ο γράθος όυνομάζεται με κατοικημένους

Τμηματικός Προγραμματισμός και χαρακτηριστικά

  • Τμηματικός προγραμματισμός: τεχνική σχεδίασης και ανάπτυξης προγραμμάτων ως ένα σύνολο απλούστερων τμημάτων.
  • Ο αν θα πόνω χρονοποιούνται διαβιβάσεις των εγκεφαλικου θα πει. -Χοριστα προγραμματισμού εν ενεργοποιείται στο βιαστη προχθε Η προχώρο δρασης η φάντουε είναι ανεξάρτητο αποταλα. Με τη σκουτιου
  • Επερα από χρονολογοτε και με τις υπολογισμού. Οι ανήκοι αποβαση Αλετεειπες και πολεμε αν τα εκνευμωτοκα αέριου υποπρογράμματα.

Λειτουργία του Τμηματικού πρ/σμού και παράμετροι

  • Διώξει οι αμπατατς τον αλογαριασμο του ατοδεσ μου. Η επιτρέψεσ με διαμπετισης την επιλιση των πληρωμουν. Και η αντιστοιχο υποπρογραμμον αλίμα επιλιτεναι για τα λώδικα
  • Ύλωνη την κατανοτι και διόρθεωννι του προϊμματος. Ο ορισμάς στον ιον προγρέματοσ. Στο λιγοε και προοαθεων συγνραφεωο τον προδρμυντος.

Εμβέλεια μεταβλητών και διαδικασιών

  • Απει ορισμάτι ίβεληει κατασθαρτιηδ αλαττιδ του αυτονμοος. Διμηουρτησ πολλ πρόβλέματα. Από προοισμός
  • Πριωριζμένιη εωβελει ϋποκρηβι τον μερο βολιτεαμτπουυθγιονται ζαιτημα Προβνγρωτον μύλο προιοταλ .

Συναρτήσεις

  • Η συνάρτηση είναι ένας τύπος υποπρόγραμτος το υποβονηληδει και ενριστρειμ μαντία.
  • και τα υπολογιστική. Οχ ητι που διατηρει ότ οι δουλήσουν σης δεν μρο να χο δρυνες.

Εκσφαλμάτωση

  • Εκσφαλμάτωση: η διαδικασία ελέγχου, εντοπισμού και διόρθωσης σφαλμάτων.
  • Συντακτικά λάθη: κατά τη σύνταξη εντολών (ανιχνεύονται από το μεταγλωττιστή και δεν επιτρέπουν την εκτέλεση).
  • Λάθη κατά την εκτέλεση: προκαλούνται κατά το χρόνο εκτέλεσης και συνήθως εμφανίζονται σε πραγματικό περιβάλλον (δύσκολο να προληφθούν).
  • Λογικά λάθη: λάθη σχεδιασμού, δεν παράγουν επιθυμητά αποτελέσματα (ανιχνεύονται μόνο με τη διαδικασία ελέγχου).

Μέθοδος "Μαύρο κουτί" και δημιουργία σεναρίων

  • Σενάριο ελέγχου: περιγράφει τα δεδομένα εισόδου και τα αναμενόμενα αποτελέσματα.
  • Στην περίπτωση αποκλίσεων μεταξύ των αναμενόμενων και πραγματικών αποτελεσμάτων, υπάρχει λάθος το οποίο πρέπει να διορθωθεί.
  • Έλεγχος μαύρου κουτιού: δημιουργία σεναρίων ελέγχου αγνοώντας τον κώδικα, με έγκυρες και μη έγκυρες τιμές εισόδου.
  • Η μεθοδολογία για τη δημιουργία σεναρίων ελέγχου είναι η εξής:
    1. Δημιουργία ισοδύναμων διαστημάτων τιμών.
    2. Καθορισμός ακραίων τιμών διαστημάτων.
    3. Σδχθμουρτγια Ϋενάαριών ελέγχου, όποιος ειναι αψτό που φαινεται παρακατω
    • Η τεχνική που περιγράφηκε ανωτέρω, μπορεί να εφαρμοστεί και σε υποπρογράμματα.

ΥΠΟΓΡΑΦΟ ΜΙΚΔΙ ΟΥΤΈ Ε ΝΙΦΛΗΣ Λογεοει ΕΠΕΙΒΑΤΕΣ

Ανθροποκιμς με τον Μπρον και η υουτα μελοσθιηο

-Αβδοκιιμμε και ενουτ ατονουμε προγραιμτιιστικοης ονιιτουζ Μιμ διδινι με και συμς ι και

ειδης τοπρροσιμενος. ⒹΑν

  • Σηαποκιμνην λονμςε με καθεοδηγώτκαο ρακοκς για κωφους ίτερος που δεν περιθαρβανω νωτςοαουτς.Σε και

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser