1 ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ» Β Με τον όρο Πρόβλημα προσδιορίζεται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής Τα προβλήματα ανάλογα με τη δυνατότητα επίλυσης διακρίνονται σε τρεις κατηγορίες - Επιλύσιμα είναι εκείνα τα προβλήματα για τα οποία η λύση έχει βρεθεί και έχει διατυπωθεί - Μη επιλύσιμα χαρακτηρίζονται εκείνα τα προβλήματα για τα οποία έχει αποδειχτεί, ότι δεν επιδέχονται λύση - Ανοικτά ονομάζονται τα προβλήματα για τα οποία η λύση τους δεν έχει ακόμα βρεθεί, ενώ ταυτόχρονα δεν έχει αποδειχτεί, ότι δεν επιδέχονται λύση Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος Κάθε αλγόριθμος είναι σημαντικό να έχει ορισμένα χαρακτηριστικά προκείμενου να θεωρείται πλήρης - Καθοριστικότητα: Κάθε εντολή ενός αλγορίθμου χρειάζεται να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της - Περατότητα: Κάθε αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του - Αποτελεσματικότητα: Κάθε εντολή ενός αλγορίθμου χρειάζεται να είναι διατυπωμένη απλά και κατανοητά, ώστε να μπορεί να εκτελεστεί επακριβώς και σε πεπερασμένο μήκος χρόνου - Είσοδος: Κάθε αλγόριθμος χρειάζεται να δέχεται ένα σύνολο μεταβλητών εισόδου (που μπορεί να είναι και το κενό σύνολο), οι οποίες αποτελούν τα δεδομένα του αλγορίθμου - Έξοδος: Κάθε αλγόριθμος χρειάζεται να δημιουργεί κάποιο αποτέλεσμα Κάθε αλγόριθμος αρχίζει με την εντολή Αλγόριθμος και δίπλα το όνομα του αλγορίθμου Αλγόριθμος Παράδειγμα Κάθε αλγόριθμος τελειώνει με την εντολή Τέλος και δίπλα το όνομα του αλγορίθμου Τέλος Παράδειγμα πχ Αλγόριθμος Παράδειγμα εντολή1 εντολή 2 Τέλος Παράδειγμα Η εντολές θα εκτελεστούν με την σειρά η μία μετά την άλλη ΜΕΤΑΒΛΗΤΕΣ Η Γλώσσα χρησιμοποιεί μεταβλητές Σε μια μεταβλητή εκχωρείται μια τιμή, η οποία μπορεί να αλλάζει κατά τη διάρκεια εκτέλεσης του αλγορίθμου Οι μεταβλητές μπορούν να συμβολιστούν με οποιοδήποτε χαρακτήρα η συνδυασμό χαρακτήρων ή με μια λέξη
2 πχ X,X1,Y,TIMH,AGORA κλπ Εντολή εκχώρησης τιμής Χ 5, Υ 7, Ζ Χ+Υ (Όταν έχουμε αριθμούς ως μεταβλητές) Χ A, Υ ΑΣΠΡΟ,Z AB156 (Όταν έχουμε αλφαριθμητικές τιμές) ΤΕΛΕΣΤΕΣ Αριθμητικοί: +, -, *,/ Συγκριτικοί:,,,,, Λογικοί: και(σύζευξη), ή(διάζευξη), όχι(άρνηση) Αλγόριθμος Παράδειγμα1 Ζ Χ+Υ Τέλος Παράδειγμα1 Αλγόριθμος Παράδειγμα2 Ζ (2*Χ)+(Υ/3) Τέλος Παράδειγμα2 ΕΝΤΟΛΗ ΕΜΦΑΝΙΣΕ (Εντολή εξόδου) Όταν θέλουμε να εμφανίσουμε το αποτέλεσμα ενός αλγορίθμου η να το εκτυπώσουμε χρησιμοποιούμε τις εντολές Εμφάνισε ή Εκτύπωσε αντίστοιχα Όταν δηλαδή στην εκφώνηση ενός προβλήματος υπάρχει ο όρος να εμφανίζει χρησιμοποιούμε: Εμφάνισε Χ (Θα εμφανιστεί στην οθόνη η τιμή που έχει η μεταβλητή Χ) Παράδειγμα 3: Αλγόριθμος Παράδειγμα3 Ζ Χ-Υ Εμφάνισε Ζ Τέλος Παράδειγμα3 θα εμφανιστεί στην οθόνη -2 Όταν μετά την εντολή Εμφάνισε ή Εκτύπωσε υπάρχουν εισαγωγικά θα εμφανιστεί η θα εκτυπωθεί ότι υπάρχει μέσα στα εισαγωγικά πχ Εμφάνισε AB123 Θα εμφανιστεί στην οθόνη ΑΒ123 Εμφάνισε X Θα εμφανιστεί X Με τη χρήση του κόμματος (,) μπορούμε σε μια εντολή εμφάνισε ή εκτύπωσε να εμφανίσουμε ή να εκτυπώσουμε διαφορετικά πράγματα πχ Εμφάνισε A, A+B, AB12 Θα εμφανιστεί Α Α+Β ΑΒ12 Αλγόριθμος Παράδειγμα4 Ζ Χ-Υ Εμφάνισε Ζ,Χ,Υ, AAA Τέλος Παράδειγμα 4 Θα εμφανιστεί στην οθόνη -2 3 5 ΑΑΑ
3 ΕΝΤΟΛΗ ΔΙΑΒΑΣΕ (Εντολή εισόδου) Με την εντολή διάβασε μπορούμε να εισάγουμε τιμές από το πληκτρολόγιο σε μεταβλητές Πολλές φορές χρειαζόμαστε να εκτελούμε έναν αλγόριθμο για διαφορετικές τιμές εισόδου Αυτό είναι που κάνει την χρήση της εντολής Διάβασε αναγκαία Πχ Ο υπολογιστής υποχρεώνει τον χρήστη να δώσει τιμή από το πληκτρολόγιο για το Χ Παράδειγμα 5 Να σχεδιαστεί αλγόριθμος που να διαβάζει δύο αριθμούς και να εμφανίζει το άθροισμα τους με σχετικό μήνυμα Αλγόριθμος Παράδειγμα 5 Διάβασε Υ Ζ Χ+Υ Εμφάνισε Το άθροισμα είναι: Εμφάνισε Ζ Τέλος Παράδειγμα 5 Παράδειγμα 6 Να σχεδιαστεί αλγόριθμος που να διαβάζει 4 αριθμούς και εμφανίζει το ΜΟ Αλγόριθμος Παράδειγμα 6 Εμφάνισε Δώσε 4 τιμές,υ,ζ,ω ΜΟ (Χ+Υ+Ζ+Ω)/4 Εμφάνισε O MO είναι: Εμφάνισε ΜΟ Τέλος Παράδειγμα 6 Η εντολή Εμφάνισε πριν την Διάβασε διευκρινίζει στον χρήστη τι πρέπει να εισάγει από το πληκτρολόγιο 21 Δομή Επιλογής ΑΠΛΗ ΕΠΙΛΟΓΗ Σύνταξη: Αν ισχύει συνθήκη τότε Εντολή1 Παράδειγμα 7 Να σχεδιαστεί αλγόριθμος που να διαβάζει 2 αριθμούς και να εμφανίζει αν το άθροισμα τους είναι μεγαλύτερο του 100 Αλγόριθμος Παράδειγμα7 Εμφάνισε Δώσε δύο αριθμούς,υ Ζ Χ+Υ Αν Ζ> 100 τότε Εμφάνισε Μεγαλύτερο του 100 Τέλος Παράδειγμα7 ΣΥΝΘΕΤΗ ΕΠΙΛΟΓΗ Σύνταξη: Αν ισχύει συνθήκη1 τότε εντολή1 αλλιώς εντολή2
4 Τέλος_αν πχ Αλγόριθμος Σύνθετη_Επιλογή Εμφάνισε Δώσε αριθμό Αν Χ>0 τότε Εμφάνισε θετικός αλλιώς Εμφάνισε Αρνητικός ή μηδέν Τέλος_αν Τέλος Σύνθετη_Επιλογή Στην σύνθετη επιλογή έχουμε 2 περιπτώσεις Αν θετικό αλλιώς μηδέν ή αρνητικό Όχι μόνο μια επιλογή Παράδειγμα 8 Να σχεδιαστεί αλγόριθμος που να διαβάζει έναν αριθμό και να εμφανίζει ΑΑΑΑΑ όταν ο αριθμός είναι 5, ενώ σε κάθε άλλη περίπτωση να εμφανίζει ΒΒΒΒΒ Αλγόριθμος Παράδειγμα8 Αν Χ=5 τότε Εμφάνισε AAAAA αλλιώς εμφάνισε BBBBB Τέλος_αν Τέλος Παράδειγμα8 ΔΙΑΔΙΚΑΣΙΑ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ Σύνταξη: Αν ισχύει συνθήκη τότε Εντολή1 αλλιώς_αν ισχύει συνθήκη2 τότε Εντολή2 αλλιώς_αν ισχύει συνθήκη3 τότε Εντολή3 αλλιώς Εντολή ν Αν Χ= 5 ΑΑΑΑΑ Σε κάθε άλλη περίπτωση ΒΒΒΒΒ Παράδειγμα 9 Σε μια παρέα κάνουν κλήρωση για ένα δώρο Χρησιμοποιούν 4 κλήρους όσα και τα άτομα της Παρέας με τους αριθμούς 1,2,3,4 Να σχεδιαστεί αλγόριθμος που να διαβάζει τον αριθμό που κληρώθηκε και να εμφανίζει ποιος κερδίζει σύμφωνα με τον παρακάτω πίνακα ΑΡΙΘΜΟΣ ΟΝΟΜΑ ΠΟΥ ΚΕΡΔΙΖΕΙ 1 ΚΩΣΤΑΣ 2 ΕΛΕΝΗ 3 ΔΗΜΗΤΡΗΣ 4 ΜΑΡΙΑ Αλγόριθμος Παράδειγμα9 Εμφάνισε Δώσε τον αριθμό που κληρώθηκε Αν Χ=1 τότε Εμφάνισε ΚΩΣΤΑΣ αλλιώς_αν Χ=2 τότε Εμφάνισε ΕΛΕΝΗ αλλιώς_αν Χ=3 τότε Εμφάνισε ΔΗΜΗΤΡΗΣ αλλιώς Εμφάνισε ΜΑΡΙΑ Τέλος_Αν Τέλος Παράδειγμα9
5 ΕΠΙΛΟΓΗ ΜΕ ΤΟΝ ΛΟΓΙΚΟ ΤΕΛΕΣΤΗ ΚΑΙ Μερικές φορές σε πιο σύνθετα προβλήματα χρησιμοποιούμε επιλογές βασισμένες σε λογικές πράξεις Αυτό μας λύνει τα χέρια σε πολλές περιπτώσεις Σύνταξη: Αν ισχύει συθήκη1 και συνθήκη2 τότε εντολή1 Πρέπει να ισχύουν και οι 2 συνθήκες έτσι ώστε να εκτελεστεί η εντολή1 Θα μπορούσε να χρησιμοποιηθεί και ως Απλή επιλογή και ως προς σύνθετη Επιλογή και ως προς Πολλαπλή Επιλογή πχ Αλγόριθμος Π Διάβασε Υ Αν Χ=1 και Υ=2 τότε Εμφάνισε Α αλλιώς_αν Χ=2 και Υ=3 τότε Εμφάνισε B αλλιώς Εμφάνισε Γ Τέλος_Αν Τέλος Π Για να εμφανιστεί το Α, πρέπει το Χ να είναι 1 και το Υ να είναι2 Για να εμφανιστεί το Β πρέπει το Χ να είναι 2 και το Υ να είναι 3 Σε κάθε άλλη περίπτωση θα εμφανιστεί το Γ Παράδειγμα 10 Να σχεδιαστεί αλγόριθμος που να διαβάζει τον γενικό βαθμό ενός μαθητή και να τον κατατάσσει σύμφωνα με τον παρακάτω πίνακα ΓΕΝΙΚΟΣ ΒΑΘΜΟΣ ΚΑΤΑΤΑΞΗ 18 έως και20 ΑΡΙΣΤΟΣ 16 έως 18 ΚΑΛΟΣ 13 έως 16 ΜΕΤΡΙΟΣ Κάτω από 13 ΚΑΚΟΣ : Αλγόριθμος Παράδειγμα 10 Εμφάνισε Δώσε γενικό βαθμό μαθητή Αν Χ 18 και Χ 20 τότε Εμφάνισε ΑΡΙΣΤΟΣ αλλιώς_αν Χ 16 και Χ<18 τότε Εμφάνισε ΚΑΛΟΣ αλλώς_αν Χ 13 και Χ<16 τότε Εμφάνισε ΜΕΤΡΙΟΣ αλλιώς Εμφάνισε ΚΑΚΟΣ Τέλος_Αν Τέλος Παράδειγμα10 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ Σύνταξη: Για ι από τιμή1 μέχρι τιμή2 ΕΝΤΟΛΕΣ Το ι θα ξεκινάει από την τιμή1 και μετά από κάθε επανάληψη θα αυξάνει κατά 1 μέχρι να φτάσει στη τιμή2
6 Παράδειγμα: Αλγόριθμος Π1 Για ι από 1 μέχρι 5 Εμφάνισε ι Τέλος Π1 1 2 3 4 5 Αλγόριθμος Π2 Για ι από 1 μέχρι 5 Εμφάνισε Τέλος Π2 EΠΑΛ Αλγόριθμος Π3 Για ι από 3 μέχρι 7 Εμφάνισε ι Τέλος Π3 3 4 5 6 7 Αλγόριθμος Π4 Για ι από 2 μέχρι 4 Εμφάνισε Τέλος Π4 EΠΑΛ ΑΣΚΗΣΗ: Να γίνει αλγόριθμος που να εμφανίζει όλους τους αριθμούς από το 3 μέχρι και το 99 Αλγόριθμος ΑΣΚΗΣΗ Για ι από 3 μέχρι 99 Εμφάνισε ι Τέλος ΑΣΚΗΣΗ