26
Α7. Αλγοριθμική Σκέψη, Προγραμματισμός Και Σύγχρονες Εφαρμογές Πληροφορικής Επανάληψη στην ενότητα

Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Α7. Αλγοριθμική Σκέψη,

Προγραμματισμός Και Σύγχρονες

Εφαρμογές Πληροφορικής

Επανάληψη στην ενότητα

Page 2: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Κύκλος Ανάπτυξης Εφαρμογής:

Για Να Αναπτύξουμε Μια Εφαρμογή Ή Ένα Πρόγραμμα Πρέπει Να

Περάσουμε Από Τις Παρακάτω Φάσεις:

Page 3: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Τι Είναι Αλγόριθμος Και Ποιοι Είναι Οι Τρόποι

Έκφρασης Των ΑλγορίθμωνΑλγόριθμος

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

Τρόποι έκφρασης αλγορίθμων

1. Λεκτική Περιγραφή

Περιγράφουμε με φράσεις κάθε βήμα του αλγόριθμου.

2 .Ψευδοκώδικας

Ο Αλγόριθμος περιγράφεται με λέξεις μιας φυσικής γλώσσας οι οποίες αναφέρονται σε εντολές.

3 .Λογικό Διάγραμμα

Κάθε εντολή ή ενέργεια του Αλγόριθμου περιγράφεται με κατάλληλο σχήμα.

Λογικά Διαγράμματα

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

Page 4: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Λογικά Διαγράμματα: Περιγραφή Γεωμετρικών Σχημάτων

Page 5: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Τι Είναι Πρόγραμμα

Πρόγραμμα είναι μια ακολουθία από εντολές (κώδικας), οι οποίες είναι

γραμμένες σε μια γλώσσα προγραμματισμού, σε λογική σειρά και

συγκεκριμένη σύνταξη, με σκοπό να κατευθύνουν τον Η/Υ στην εκτέλεση των

επιθυμητών εργασιών. Ένα πρόγραμμα αντιστοιχεί σε κάποιον αλγόριθμο.

Τι Είναι Γλώσσα Προγραμματισμού

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

• Μερικές από τις πιο γνωστές γλώσσες προγραμματισμού είναι οι ακόλουθες:

Visual Basic

C/C++:

Pascal

Java:

Page 6: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

ΜεταβλητέςΘέσεις μνήμης που περιέχουν

δεδομένα τα οποία αλλάζουν κατά την εκτέλεση του προγράμματος ονομάζονται μεταβλητές (variables).

Prod

Price

€5.99€6.99€7.99

ΠΡΟΣΟΧΗ! Κάθε φορά

που αποθηκεύουμε

δεδομένα σε αυτό το

χώρο τα δεδομένα που

υπήρχαν πριν

σβήνονται και μένουν

τα νέα δεδομένα

Θέση

μνήμης

Όνομα

θέσης

μνήμης

Περιεχόμενο

μνήμης

Page 7: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Το όνομα δίνεται πάντα από τον προγραμματιστή.

Επιτρέπεται να περιέχει γράμματα κεφαλαία (Α-Ζ) και μικρά (a-z)καθώς και αριθμούς (0-9)ή και την κάτω παύλα (_).

Αρχίζει πάντα με γράμμα του λατινικού αλφαβήτου ή την κάτωπαύλα.

Δεν επιτρέπεται το κενό (space).

Το όνομα που δίνεται είναι το ίδιο είτε είναι με μικρά- πεζά γράμματαείτε με κεφαλαία. Για παράδειγμα, τα ονόματα num1, Num1 καιNUM1 αναφέρονται στην ίδια ακριβώς μεταβλητή.

Δεν επιτρέπεται η χρήση δεσμευμένων λέξεων (program, const,var, begin, end, if, then, else, for, do, while, repeat, until, case, of,array )

Αναγνωριστικό (Όνομα Μεταβλητής)

Page 8: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Βασικοί Τύποι Μεταβλητών

Τύπος Δεδομένου

Χρήση Παράδειγμα

Boolean (b) Αληθής (True) ή

ψευδής (False)

True, False

Real (r) Πραγματικός αριθμός

(με δεκαδικά ψηφία)

29.2, 365.3

Integer (i) Ακέραιος αριθμός

(-32768 μέχρι 32768)

- 5250, 1250

Char Χαρακτήρας A,v,b,g

String (st) Αλφαριθμητικά δεδομένα “Ανδρέας”, “99333666”

Page 9: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Δήλωση Μεταβλητών

Δεσμευμένη λέξη var

Όνομα μεταβλητής:

τύπος μεταβλητής

Η δήλωση μεταβλητών γίνεται με τη δεσμευμένη λέξη var, ακολουθούμενη

από έναν κατάλογο με τα αναγνωριστικά (ονόματα των μεταβλητών), μαζί

και με τον τύπο δεδομένων της κάθε μεταβλητής.

program example1;

Page 10: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Εντολή Εκχώρησης Τιμής

Page 11: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Για εισαγωγή δεδομένων στο πρόγραμμα από τον χρήστη (μέσω του

πληκτρολογίου) και εμφάνιση των αποτελεσμάτων στην οθόνη, χρησιμοποιούμε

τις εντολές εισόδου και εξόδου readln και writeln.

H εντολή readln έχει την πιο κάτω μορφή: readln(μεταβλητή);

Ή για να διαβάσουμε περισσότερες μεταβλητές: readln(μεταβλητή_1,

μεταβλητή_2, μεταβλητή_3,...);

Η εντολή writeln έχει την πιο κάτω μορφή: writeln(μεταβλητή);

Ακολουθιακή ΔομήΕντολές Εισόδου-εξόδου

Page 12: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Έστω ότι μας ζητήθηκε να ακολουθήσουμε τον ΚύκλοΑνάπτυξης για να δημιουργήσουμε πρόγραμμα το οποίονα επιλύει το πιο κάτω πρόβλημα:

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

Βήμα 1: Δεδομένα – Πληροφορίες

Βήμα 2: Σχεδιασμός Λογικού Διαγράμματος

Στον σχεδιασμό λογικών διαγραμμάτων, μπορούμε ναακολουθούμε ως γενικές αρχές ότι:

Τα δεδομένα θα καταχωρίζονται στο «Διάβασε» και θατοποθετούνται στην αρχή του προγράμματος.

Οι πληροφορίες θα εμφανίζονται στο «Τύπωσε» και θατοποθετούνται στο τέλος του προγράμματος

Μεταξύ των «Διάβασε» και των «Τύπωσε» θα τοποθετείται ηεπεξεργασία που πρέπει να γίνει, ώστε από τα δεδομένα ναυπολογιστούν οι πληροφορίες.

Παράδειγμα:

Page 13: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Βήμα 3: Κωδικοποίηση

Οι εντολές του προγράμματος φαίνονται πιο κάτω:

program example1;

var

x, y, sum, gin: integer;

begin

readln(x);

readln(y);

sum := x + y;

gin := x * y;

writeln(sum);

writeln(gin);

end.

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

Παράδειγμα (Συνέχεια)

Page 14: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Βήμα 4: Δοκιμή Προγράμματος

Αφού δημιουργήσουμε το πρόγραμμα, πρέπει να το

δοκιμάσουμε, ώστε να βεβαιωθούμε ότι λειτουργεί σωστά. Η

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

αναμενόμενα αποτελέσματα (πληροφορίες) για διαφορετικές τιμές

εισόδου (δεδομένα).

Παράδειγμα (Συνέχεια)

Page 15: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Σταθερές

Θέσεις μνήμης που περιέχουν δεδομένα τα οποία δεν αλλάζουν κατά την

εκτέλεση του προγράμματος ονομάζονται σταθερές (constants).

VAT

0.15Θέση

μνήμης

Όνομα

θέσης

μνήμηςΠεριεχόμενο

μνήμης

Page 16: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Δήλωση Σταθερών

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

της σταθεράς. Στο πρόγραμμα πριν τη δήλωση των μεταβλητών

δηλώνουμε τις σταθερές.

Page 17: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Αριθμητικοί Τελεστές

Page 18: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Η σειρά εκτέλεσης των αριθμητικών τελεστών γίνεται με βάση την πιο κάτω προτεραιότητα.

1. Πρώτα οι παρενθέσεις, ( ).

2. Μετά ο πολλαπλασιασμός, η διαίρεση και το υπόλοιπο, *, /, div και mod.

3. Μετά η πρόσθεση και η αφαίρεση, + και -.

Επίσης θα πρέπει να διευκρινιστεί ότι το πρόσημο - μπροστά από κάποια τιμή έχει ψηλότερη προτεραιότητα από τον πολλαπλασιασμό, τη διαίρεση και το υπόλοιπο.

Σε περίπτωση που έχουμε πράξεις με την ίδια προτεραιότητα τότε εκτελείται πρώτα αυτή που βρίσκεται πιο αριστερά.

Αριθμητικοί Τελεστές

Page 19: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

(α) 10 + 12 * 2 =

(β) 4 * 2 div 3 + 4 * 3 mod 3 =

(γ) 10 div 4 * 2

(δ) (10 + 3) div (2 * 6) mod 2

(ε) 2 * 3 / 4 + 4 / 2 * 3

Παραδείγματα

10 + 24 = 34

8 div 3 + 12 mod 3 = 2 + 0 = 2

= 2 * 2 = 4

=13 div 12 mod 2 =1mod 2=1

= 6 / 4 + 2 * 3 = 1.5 + 6 = 7.5

Page 20: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Έστω ότι μας ζητήθηκε να ακολουθήσουμε τον Κύκλο Ανάπτυξης για ναδημιουργήσουμε πρόγραμμα το οποίο να επιλύει το πιο κάτω πρόβλημα:

Να δημιουργήσετε το πρόγραμμα που δέχεται έναν διψήφιο αριθμό και τοντυπώνει σε αντίστροφη σειρά. Αν για παράδειγμα δοθεί ο αριθμός 43 νατυπώνεται ο αριθμός 34, ενώ αν δοθεί ο αριθμός 40 να τυπώνεται ο αριθμός4.

Βήμα 1: Δεδομένα - Πληροφορίες

Παράδειγμα

Page 21: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές
Page 22: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Δομή Διακλάδωσης

Page 23: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Η Εντολή If...Then...Else

Η εντολή if…then…else έχει την ακόλουθη δομή:

if <συνθήκη> then

begin

(ομάδα εντολών 1)

end

else

begin

(ομάδα εντολών 2)

end;

Page 24: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Τελεστές Σύγκρισης

Page 25: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Παράδειγμα 1 ΣΕΛ. 152 Έστω ότι μας ζητήθηκε να ακολουθήσουμε τον Κύκλο Ανάπτυξης για να

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

Να δημιουργήσετε το πρόγραμμα που διαβάζει έναν αριθμό (Ν). Αν ο αριθμόςείναι θετικός (>=0) τότε υπολογίζει και τυπώνει την τετραγωνική ρίζα τουαριθμού, διαφορετικά τυπώνει το μήνυμα «Error».

Βήμα 1: Δεδομένα – Πληροφορίες

Page 26: Α7. Αλγοριθμική Σκέψη ...lyk-ap-petros-pavlos-lem.schools.ac.cy/data/uploads/-2019-2020/0... · Προγραμματισμός Και Σύγχρονες Εφαρμογές

Παράδειγμα 1 ΣΕΛ. 152 Στον παρακάτω πίνακα φαίνεται την αντιστοίχιση των εντολών

του προγράμματος με το λογικό διάγραμμα.