Εισαγωγή στην Πληροφορική

Σχετικά έγγραφα
Δομημένος Προγραμματισμός

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

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διοικητική Λογιστική

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

Πληροφορική ΙΙ Θεματική Ενότητα 5

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Εισαγωγή στην Πληροφορική

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Βάσεις Περιβαλλοντικών Δεδομένων

Πληροφορική ΙΙ Ενότητα 1

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

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Προγραμματισμός Η/Υ. Συναρτήσεις & Υποπρογράμματα. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διοικητική Λογιστική

Εισαγωγή στην Πληροφορική

Τεχνικό Σχέδιο - CAD

Διδακτική Πληροφορικής

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

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

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Τεχνικό Σχέδιο - CAD

Διδακτική Πληροφορικής

Ασφάλεια Πληροφοριακών Συστημάτων

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Εισαγωγή στην Πληροφορική

ΔΡΔ: Διαγράμματα Ροής Δεδομένων

Τεχνολογία Πολιτισμικού Λογισμικού

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στην Πληροφορική

Διδακτική Πληροφορικής

Διαχείριση Πολιτισμικών Δεδομένων

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Προγραμματισμός Η/Υ. 8 η ενότητα: Περιβαλλοντικά και μαθηματικά προβλήματα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στην Πληροφορική

Πληροφορική ΙΙ Θεματική Ενότητα 12

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διοικητική Λογιστική

Πληροφορική ΙΙ Θεματική Ενότητα 6

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

Διδακτική Πληροφορικής

Διοικητική Λογιστική

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Διδακτική Πληροφορικής

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

Εισαγωγή στην Πληροφορική

Ασφάλεια Πληροφοριακών Συστημάτων

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

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Πληροφορική ΙΙ Θεματική Ενότητα 7

Προγραμματισμός Η/Υ. 3 η ενότητα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Τεχνολογία Πολιτισμικού Λογισμικού

Βάσεις Περιβαλλοντικών Δεδομένων

Τεχνολογία Πολιτισμικού Λογισμικού

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Ασφάλεια Πληροφοριακών Συστημάτων

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Πληροφορική

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

Διδακτική Πληροφορικής

Εισαγωγή στην Πληροφορική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στους Αλγορίθμους

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Τεχνικό Σχέδιο - CAD

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Βάσεις Περιβαλλοντικών Δεδομένων

Ασφάλεια Πληροφοριακών Συστημάτων

Εισαγωγή στους Αλγορίθμους

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός

Πληροφορική ΙΙ Θεματική Ενότητα 9

Προγραμματισμός Η/Υ. 4 η ενότητα: Δομές Δεδομένων. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Διαχείριση Πολιτισμικών Δεδομένων

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

Ασφάλεια Πληροφοριακών Συστημάτων

Τεχνικό Σχέδιο - CAD

Διδακτική Πληροφορικής

ΠΕΡΙΒΑΛΛΟΝΤΙΚΗ ΠΟΛΙΤΙΚΗ & ΝΟΜΟΘΕΣΙΑ ΜΑΘΗΜΑ 1

Transcript:

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 6: Αλγόριθμοι / Προγραμματισμός Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

«Αλγόριθμοι και Προγραμματισμός» Αθανάσιος Κακαρούντας 1

Βασικά μαθηματικά Βασική γνώση Αγγλικής γλώσσας Τυπική χρήση Η/Υ

Περιβάλλον ανάπτυξης κώδικα π.χ. Codeblocks Συμβολομεταφραστής (Compiler) π.χ. GCC Σύγγραμμα ή ιστοσελίδα αναφορά

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

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

Πρέπει να επιλύσουμε ένα πρόβλημα, είτε απλό είτε σύνθετο Απαιτείται να επαναληφθεί μηχανικά μια διαδικασία Απαιτείται υψηλή ταχύτητα στην εκτέλεση διαδικασιών Ρητή η επίλυση προβλημάτων, ενώ προσφέρεται πλήθος εργαλείων για την ανάπτυξη λογισμικού

Ανάλυση του προβλήματος Κατανόηση παραμέτρων Καθορισμός απαιτήσεων Επιλογή ή δημιουργία αλγορίθμου Συγγραφή κώδικα και αξιολόγηση Επανάληψη της διαδικασίας σε περίπτωση μη ικανοποίησης των απαιτήσεων

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

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

Όλα τα παραπάνω επιτυγχάνονται με την τακτική του «διαίρει και βασίλευε». Αποδομούμε το μεγάλο πρόγραμμα (πρόβλημα) σε μικρότερα προγράμματα (προβλήματα),, τα οποία επιλύονται εύκολα

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

Σταθερές, έχουν προκαθορισμένη τιμή σε όλο το πρόγραμμα Μεταβλητές, χρησιμοποιούνται για να παραστήσουν δεδομένα και μπορεί να αλλάζουν τιμή κατά τη διάρκεια του προγράμματος Τελεστές, χρησιμοποιούνται για αριθμητικές και λογικές πράξεις Εκφράσεις, χρησιμοποιεί όλα τα παραπάνω και η τελική τιμή της εξαρτάται από την ιεραρχία των πράξεων

Σκεφτείτε μια ιδέα για ένα πρόγραμμα Χρήση ενός περιβάλλοντος ανάπτυξης κώδικα για να γράψουμε τον πηγαίο κώδικα Μεταγλώττιση του προγράμματος με χρήση ενός μεταγλωττιστή μιας γλώσσας προγραμματισμού (compile and link) Διόρθωση λαθών, αν υπάρχουν (errors) Εκτέλεση του προγράμματος (run)

Γλώσσα προγραμματισμού λέγεται μια τεχνητή γλώσσα που μπορεί να χρησιμοποιηθεί για τον έλεγχο μιας μηχανής, συνήθως ενός υπολογιστή. Οι γλώσσες προγραμματισμού (όπως άλλωστε και οι ανθρώπινες γλώσσες ) ορίζονται από ένα σύνολο συντακτικών και εννοιολογικών κανόνων.

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

Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέως φάσματος συστημάτων και εφαρμογών Γλώσσα «μετρίου» επιπέδου

#include <stdio.h> int main() { printf( Hello World. \n ); return 0; }

Πηγή: http://microchip.wikidot.com/mplabx:libraries

Μεταγλωττιστές (compilers) Μεταφράζουν ένα αρχείο πηγαίου κώδικα σε γλώσσα μηχανής (0 και 1) Στο αρχείο πηγαίου κώδικα (source file) μεταφράζεται σε ένα αντικειμενικό αρχείο (object file), συνδέεται με άλλα αντικειμενικά αρχεία ή βιβλιοθήκες, και τέλος, δημιουργείται το εκτελέσιμο αρχείο

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

Στο προηγούμενο παράδειγμα είχαμε: #include <stdio.h> - Βιβλιοθήκη συστήματος

Στο προηγούμενο παράδειγμα είχαμε τις γραμμές κώδικα: #include <stdio.h> -Βιβλιοθήκη συστήματος #include mylib.h -Βιβλιοθήκη χρήστη (εμείς)

int main() {/*αρχή main*/ printf( Hello world.\n ); return 0; }/*τέλος main */ Όλα τα προγράμματα μας πρέπει να έχουν την main συνάρτηση Απλή εντολή σε C. Πως ξέρει ο υπολογιστής για την printf? Όλες οι εντολές στην C πρέπει να τελειώνουν με το ερωτηματικό (;)

Πρόγραμμα σε C Διάγραμμα Ροής #include <stdio.h> int main() { printf( Hello World. \n ); return 0; } Αρχή Εκτύπωσε Hello, world Τέλος

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

Παράδειγμα: count = 12; count = count +2;

Διαφορετικές ιδιότητες έχει μια μεταβλητή που αναπαριστά τον μισθό ενός υπαλλήλου από άλλη που αναπαριστά το όνομά του. Οι ιδιότητες μιας μεταβλητής ορίζονται στη διάρκεια της μεταγλώττισης και δεν μεταβάλλονται (για την C). Απαιτούμε δηλαδή να δηλώνουμε μια μεταβλητή πριν την χρησιμοποιήσουμε.

Η δήλωση μιας μεταβλητής γνωστοποιεί στον μεταγλωττιστή το όνομα και τις ιδιότητες της μεταβλητής. Η δήλωση έχει ως αποτέλεσμα την σύνδεση του ονόματος της μεταβλητής με: -τον ανάλογο τύπο δεδομένων (compile time) -μια θέση μνήμης κατάλληλου μεγέθους (run time) Παράδειγμα δήλωσης ενός ακεραίου int

Ένας τύπος δεδομένων είναι ένα σύνολο από αντικείμενα με κοινά χαρακτηριστικά (π.χ Ακέραιοι αριθμοί, Φοιτητές, Πραγματικοί αριθμοί, Χαρακτήρες). Στους τύπους δεδομένων λαμβάνει θέση ένα σύνολο από πράξεις που μας επιτρέπει την επεξεργασία τους.

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

<όνομα τύπου δεδομένων> <λίστα ονομάτων μεταβλητών>; ή <όνομα τύπου δεδομένων> <όνομα μεταβλητής>= <αρχική τιμή μεταβλητής> ; Παράδειγμα: int count ; /*δήλωση της ακέραιας μεταβλητής count*/ int num ; /*δήλωση της ακέραιας μεταβλητής num*/ ή int num, count; int num = 20; /* δήλωση της ακέραιας μεταβλητής num, όπου της αποδίδει αρχική τιμή 20*/

Υπάρχουν περιπτώσεις όπου δεν θέλουμε να αλλάξει τιμή μια μεταβλητή μετά την ανάθεση αρχικής τιμής. Στην περίπτωση αυτή πριν το όνομα τύπου βάζουμε την δεσμευμένη λέξη const. const float pi = 3.14; float: τύπος δεδομένων πραγματικούς αριθμούς.

Η επίλυση πολλών προβλημάτων εμπλέκει τη χρήση αριθμητικών σταθερών. Ο υπολογισμός, για παράδειγμα της περιμέτρου ενός κύκλου γίνεται σύμφωνα με τον τύπο l =2πτ; όπου το π είναι η γνωστή σταθερά 3.14.

Η πρόταση C που υπολογίζει την περίμετρο του κύκλου είναι: perimetros = 2 * 3.14 * radius; όπου perimetros και radius είναι πραγματικές μεταβλητές και αριθμοί 2 και 3.14 είναι σταθερές. Οι σταθερές επομένως, είναι τιμές, αριθμητικές ή αλφαριθμητικές.

Χαρακτήρες Ακέραιοι αριθμοί Πραγματικοί αριθμοί

Ο τύπος χαρακτήρα, που δηλώνεται με τη λέξη κλειδί char, χρησιμοποιείται για να αναπαραστήσει απλούς χαρακτήρες του αλφαβήτου της γλώσσας. Μια σταθερά τύπου char εμφανίζεται στον πηγαίο κώδικα ανάμεσα στα απλά εισαγωγικά. Παραδείγματα σταθερών τύπου χαρακτήρα είναι: 'C', '2', *, )'.

ΔΗΛΩΣΗ: ακολουθείται ο γενικός κανόνας Παράδειγμα: char choice = B ; ΕΚΤΥΠΩΣΗ: η εκτύπωση ενός χαρακτήρα γίνεται με την συνάρτηση printf της βασικής βιβλιοθήκης (stdio.h) χρηςιμοποιώντασ τον προσδιοριστή %c. Παράδειγμα: printf( O xaraktiras einai %c\n, choice);

ΕΙΣΑΓΩΓΗ: η εισαγωγή τιμής σε μια μεταβλητή από την κύρια είσοδο (πληκτρολόγιο πιο πιθανό) γίνεται μέσω της συνάρτησης scanf της βασικής βιβλιοθήκης. Η scanf χρησιμοποιεί τους ίδιους προσδιοριστές με την printf. Παράδειγμα: scanf( %c,&choice);

Ο τύπος ακεραίου, που δηλώνεται με τα λέξη κλειδί int, χρησιμοποιείται για να αναπαραστήσει ακέραιους αριθμούς. ΔΗΛΩΣΗ: ακολουθείται ο γενικός κανόνας Παράδειγμα: int num; int x=23;

ΕΚΤΥΠΩΣΗ: Για την εκτύπωση ακεραίων, η συνάρτηση printf της βασικής βιβλιοθήκης δέχεται ένα σύνολο από προσδιοριστές μορφής εμφάνισης. Οι προσδιοριστές %d, %x και%o χρησιμοποιούνται για την εμφάνιση σε δεκαδική, δεκαεξαδική και οκταδική μορφή αντίστοιχα. printf( dec=%\,num);

ΕΙΣΑΓΩΓΗ: Η εισαγωγή γίνεται όπως και στην περίπτωση της μεταβλητής χαρακτήρα με τη διαφορά ότι χρησιμοποιείται ο προσδιοριστής %d. Παράδειγμα: scanf( %d,&num);

Η C διαθέτει 2 τύπους για αναπαράσταση πραγματικών αριθμών. Τον τύπο float (λέξη κλειδί) για αριθμούς κινητής υποδιαστολής απλής ακρίβειας και τον τύπο double (λέξη κλειδί) για τους αριθμούς κινητήσ υποδιαστολής διπλής ακρίβειας.

ΔΗΛΩΣΗ: ακολουθείται ο γενικός κανόνας. Παράδειγμα: float x; float y=1.33;

ΕΚΤΥΠΩΣΗ: Για την εκτύπωση πραγματικών αριθμών, η συνάρτηση printf της βασικής βιβλιοθήκης αναγνωρίζει τους προσδιοριστές %f, %e και %g. ΕΜΕΙΣ θα χρησιμοποιούμε κυρίως τον προσδιοριστή %f. Παράδειγμα: printf( %f\n, y);

ΕΙΣΑΓΩΓΗ: Η εισαγωγή γίνεται όπως και στους προηγούμενους τύπους δεδομένων με τη διαφορά ότι χρησιμοποιείται ο προσδιοριστής %f. Παράδειγμα: scanf( %f,&x);

Ένας τελεστής (operator) είναι ένα σύμβολο ή μια λέξη της γλώσσας προγραμματισμού, που αναπαριστά συγκεκριμένη διεργασία, η οποία εκτελείται πάνω σε ένα ή περισσότερα δεδομένα. Τα δεδομένα καλούνται τελεστέοι (operands) και μπορούν να είναι μεταβλητές, σταθερές ή ακόμη κλήσεις συναρτήσεων. Τα δεδομένα πρέπει να είναι του ιδίου τύπου. Οι τελεστές χρησιμοποιούνται για τον σχηματισμό εκφράσεων (expressions). Παράδειγμα: Στην έκφραση num+12 ο χαρακτήρας + αναπαριστά τη διεργασία της πρόσθεσης των δύο τελεστέων, της τιμής της μεταβλητής num και της σταθεράς 12.

Κατηγορία ενδεικτικοί τελεστές αριθμητικοί +,, *, /, % λογικοί &&,,! συσχετιστικοί >,>=, ==,!=,<,<=

Σύμβολο ερμηνεία + Πρόσθεση - Αφαίρεση * Πολλαπλασιασ μός / Διαίρεση % υπόλοιπο

Παραδείγματα: int x, y, z; x=9; y=10; z=x+y;

Σύμβολο ερμηνεία && Λογικό ΚΑΙ Λογικό Ή! Λογικό ΟΧΙ

σύμβολο ερμηνεία > μεγαλύτερο >= Μεγαλύτερο ή ίσο == Ίσον < Μικρότερο <= Μικρότερο ή ίσον

Τελεστές Εκφράσεις Προτάσεις Εντολές Ελέγχου Ροής

Ένας τελεστής (operator) είναι ένα σύμβολο ή μια λέξη της γλώσσας προγραμματισμού, που αναπαριστά συγκεκριμένη διεργασία, η οποία εκτελείται πάω σε ένα ή περισσότερα δεδομένα. Τα δεδομένα καλούνται τελεστέοι (operands) και μπορούν να είναι μεταβλητές, σταθερές ή ακόμη κλήσεις συναρτήσεων. Τα δεδομένα πρέπει να είναι του ίδιου τύπου Οι τελεστές χρησιμοποιούνται για το σχηματισμό εκφράσεων (expressions). Παράδειγμα: Στην έκφραση num + 12 ο χαρακτήεας + αναπαριστά τη διεργασία της πρόσθεσης των δύο τελεστέων, της τιμής της μεταβλητής num και της σταθεράς 12.

Κατηγορία Ενδεικτικοί τελεστές Αριθμητικοί +,, *, /, %,++,-- Λογικοί &&,,! συσχετιστικοί >,>=, ==,!=,<,<=

σύμβολο ερμηνεία + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση % Υπόλοιπο ++ Αύξηση κατά 1 -- Μείωση κατά 1

Παράδειγμα int x, y, z; x=9; y=10; z=x+y;

Πρόταση Τιμή x Τιμή y int x = 10, y = 20; 10 20 ++x; 11 20 y = x; 10 10 y = x + y; 9 20 y = y x++; 10 11

Σύμβολο Ερμηνεία && Λογικό ΚΑΙ Λογικό Ή! Λογικό ΟΧΙ

Λογικό ΌΧΙ (NOT συμβ.σε C:!) Α ΌΧΙ Α 0 1 1 0 Λογικό ΚΑΙ (AND συμβ.σε C: &&) Α Β Α ΚΑΙ Β 0 0 0 0 1 0 1 0 0 1 1 1 Λογικό Ή (OR- συμβ.σε C: ) Α Β Α ΚΑΙ Β 0 0 0 0 1 1 1 0 1 1 1 1

Σύμβολο Ερμηνεία > Μεγαλύτερο >= Μικρότερο ή ίσο == Ίσον < Μικρότερο <= Μικρότερο ή ίσον

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

Απλές εκφράσεις Σύνθετες εκφράσεις 9 12*20 Count Count + 1 Count,x ((count+3*x)+(x+4))*2 Count>9 (count<9)&&(count>-9)

Η πρόταση είναι μια πλήρης εντολή (command) προς τον υπολογιστή και προσδιορίζει την εκτέλεση συγκεκριμένου έργου. Το Ελληνικό ερωτηματικό (;) προσδιορίζει το τέλος κάθε πρότασης για την C.

Κατηγορία πρότασης Παράδειγμα Δήλωσης Int num Κλήσης συνάρτησης printf( Hello World ); Ελέγχου ροής if (a>b) then a else b; Ανάθεσης Num=21; μηδενική ;

Ο τρόπος εκτέλεσης εντολών που συναντήσαμε μέχρι τώρα ήταν ο ακολουθιακός. Δύο ή περισσότερες εντολές διατεταγμένες η μία μετά την άλλη εκτελούνται διαδοχικά. Π2 Η ακολουθία των εντολών Π1; Π2; Π3; Έχει σαν αποτέλεσμα την εκτέλεση της εντολής Π1, μετά της Π2 και τέλος της Π3. Π1 Π3

Για να επιτευχθεί οποιαδήποτε διαφοροποίηση από την ακολουθιακή εκτέλεση χρησιμοποιούνται ειδικές κατασκευές. Οι ειδικές κατασκευές μας επιτρέπουν να επιτύχουμε την επιθυμητή ροή ελέγχου του προγράμματός μας. Η διαμόρφωση της ροής ελέγχου, στο δομημένο προγραμματισμό, επιτυγχάνεται με την κατάλληλη χρήση προτάσεων των δύο βασικών κατηγοριών της επανάληψης (looping) και της υπο συνθήκη διακλάδωσης (conditional braching).

Μια πρόταση διακλάδωσης υπό συνθήκη, true περιέχει έναν αριθμό εντολών, από τις Ε οποίες επιλέγεται μόνο μία. Η πρόταση if είναι η πλέον γνωστή Π1 πρόταση αυτής της κατηγορίας και έχει την μορφή: if E then Π1 else Π2 Π2

Σε μία πιο σύνθετη μορφή της η πρόταση if επιτρέπει επιλογή από μεγαλύτερο true Ε (συνήθως απεριόριστο) αριθμό 1 προτάσεων, με την ένθεση διαδοχικών προτάσεων true Ε συνθήκης. 2 if E1 then Π1 else if E2 then Π2 else if Ε3 then Π3 : else if En then Πn else Π0 Π1 Π2 Π0

Να γραφεί κείμενο όπου θα διαβάζει 2 ακέραιους από το πληκτρολόγιο και θα τυπώνει στην οθόνη τον μεγαλύτερο.

Αρχή προγράμματος Διάβασ ε x ΟΧΙ Διάβασ ε y x>y? ΝΑΙ Τύπωσε y Τύπωσε x Tέλος προγράμματος

«Αλγόριθμοι και Προγραμματισμός» Αθανάσιος Κακαρούντας 71

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/από-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Επεξήγηση όρων χρήσης έργων τρίτων διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-ND διαθέσιμο με άδεια CC-BY-NC διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC-ND διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα χωρίς σήμανση Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Συνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.