Αιγόξηζκνη - WordPress.com · Αζαλάζηνο Ι. Πέξδνο...

25
Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com Αιγόξηζκνη 2.2.7 Δληνιέο θαη δνκέο αιγνξίζκνπ 1 Δηζαγσγή ζηηο Αξρέο ηεο Δπηζηήκεο ησλ Η/Τ

Transcript of Αιγόξηζκνη - WordPress.com · Αζαλάζηνο Ι. Πέξδνο...

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Αιγόξηζκνη

2.2.7 Δληνιέο θαη δνκέο αιγνξίζκνπ

1

Δηζαγσγή ζηηο Αξρέο ηεο Δπηζηήκεο ησλ Η/Τ

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com 2

Δληνιέο θαη δνκέο αιγνξίζκνπ

Η δηαηύπσζε ελόο αιγνξίζκνπ ζηελ Φεπδνγιώζζαείλαη:

Αλγόριθμος όνομα_αλγορίθμοσ

Εντολές

Τέλος όνομα_αλγορίθμοσ

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη εληνιέο είλαη ιέμεηο (ζπλήζσο ξήκαηα ζεπξνζηαθηηθή) ή ζπκβνιηζκνί πνπ πξνζδηνξίδνπλ κίαζαθή ελέξγεηα.

Οη ιέμεηο πνπ έρνπλ απζηεξά θαζνξηζκέλν λόεκα ζηελςεπδνγιώζζα θαινύληαη δεζκεπκέλεο ιέμεηο.

Οη εληνιέο γξάθνληαη ζε μερσξηζηέο γξακκέο.

Δπεμεγεκαηηθά ζρόιηα κπνξνύλ λα γξάθνληαηνπνπδήπνηε ζην ζώκα ηνπ αιγνξίζκνπ. Έλα ζρόιηναξρίδεη κε ην ραξαθηήξα ζαπκαζηηθό (!)

3

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Αλυάβητο

Σν ζύλνιν ησλ ραξαθηήξσλ πνπ ρξεζηκνπνηνύληαηζηελ ςεπδνγιώζζα πεξηιακβάλεη:

όια ηα γξάκκαηα ηεο ειιεληθήο ή αγγιηθήο αιθαβήηνπ πεδά θαη θεθαιαία

ηνπο αξηζκεηηθνύο ραξαθηήξεο 0-9

ηνπο επόκελνπο εηδηθνύο ραξαθηήξεο

" ( ) [ ] * + - / ^ . , ! < = > ≤ ≥ ≠ _ θελόο ραξαθηήξαο

4

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Σταθερές

Οη ζηαζεξέο ζηελ ςεπδνγιώζζα κπνξεί λα είλαη

Αξηζκεηηθέο

Αιθαξηζκεηηθέο

Λνγηθέο.

5

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Γηα ην ζρεκαηηζκό κηαο αξηζκεηηθήο ζηαζεξάορξεζηκνπνηνύληαη νη αξηζκεηηθνί ραξαθηήξεο θαη πηζαλάέλαο από ηνπο ραξαθηήξεο +, -. Δπίζεο, κπνξεί λαρξεζηκνπνηεζεί ην θόκκα γηα ην δεθαδηθό ζεκείν.Π.ρ. 5, 123,27, -1, 1000000

Γηα ην ζρεκαηηζκό κηαο αιθαξηζκεηηθήο ζηαζεξάορξεζηκνπνηνύληαη νπνηνηδήπνηε ραξαθηήξεοπεξηθιεηόκελνη ζε δηπιά εηζαγσγηθά. Μηα ζηαζεξάκπνξεί λα έρεη νπνηνδήπνηε πιήζνο αξηζκεηηθώλ ήαιθαξηζκεηηθώλ ραξαθηήξσλ αληίζηνηρα.

Οη ινγηθέο ζηαζεξέο είλαη δύν, ε Αιεζήο θαη Φεπδήο.

6

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Μεταβλητές

Γηα ην ζρεκαηηζκό ηνπ νλόκαηνο κηαο κεηαβιεηήορξεζηκνπνηείηαη νπνηνζδήπνηε αξηζκόο αιθαβεηηθώλ ήαξηζκεηηθώλ ραξαθηήξσλ θαη ν ραξαθηήξαο θάησ παύια.Ο πξώηνο ραξαθηήξαο ηεο κεηαβιεηήο πξέπεη λα είλαηαιθαβεηηθόο θαη δελ κπνξεί λα ρξεζηκνπνηεζείδεζκεπκέλε ιέμε σο όλνκα κεηαβιεηήο.

Οη κεηαβιεηέο ραξαθηεξίδνληαη σο αξηζκεηηθέο,αιθαξηζκεηηθέο ή ινγηθέο αλάινγα κε ηελ ηηκή πνπ ζααπνδνζεί ζε απηέο. Πξηλ από ηελ απόδνζε θάπνηαο ηηκήοζε κηα κεηαβιεηή, ε κεηαβιεηή έρεη απξνζδηόξηζηε ηηκή.

Οη ζηαζεξέο θαη νη κεηαβιεηέο θαινύληαη θαη ηειεζηένη.

7

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Τελεστές

Σειεζηέο είλαη ηα ζύκβνια θαη νη ιέμεηο πνπρξεζηκνπνηνύληαη ζηηο δηάθνξεο πξάμεηο. Τπάξρνπλ νηεπόκελνη ηειεζηέο:

Αξηζκεηηθνί

ρεζηαθνί

Λνγηθνί

8

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη αξηζκεηηθνί ηειεζηέο ρξεζηκνπνηνύληαη γηα ηελ εθηέιεζε αξηζκεηηθώλ πξάμεσλ. Δίλαη νη:

+ γηα πξόζζεζε

- γηα αθαίξεζε

* γηα πνιιαπιαζηαζκό

/ γηα δηαίξεζε

mod γηα ην ππόινηπν αθέξαηαο δηαίξεζεο (17 mod 5 = 2)

div γηα ην πειίθν αθέξαηαο δηαίξεζεο (17 div 5 = 3)

^ γηα ύςσζε ζε δύλακε

9

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη ζρεζηαθνί ηειεζηέο ρξεζηκνπνηνύληαη γηα ηεζύγθξηζε δύν ηηκώλ. Σν απνηέιεζκα κηαο ζύγθξηζεοείλαη είηε Αιεζήο είηε Φεπδήο. Οη ζρεζηαθνί ήζπγθξηηηθνί ηειεζηέο είλαη νη επόκελνη:

< κηθξόηεξν

> κεγαιύηεξν

= ίζν

≤ <= κηθξόηεξν ή ίζν

≥ >= κεγαιύηεξν ή ίζν

≠ <> δηάθνξν

10

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη ινγηθνί ηειεζηέο πινπνηνύλ ηηο ινγηθέο πξάμεηο. Σναπνηέιεζκα κηαο ινγηθήο πξάμεο είλαη Αιεζήο ήΦεπδήο. Λνγηθνί ηειεζηέο είλαη:

ότι πξάμε άξλεζεο

και πξάμε ζύδεπμεο

ή πξάμε δηάδεπμεο

11

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Σσναρτησιακοί τελεστές ή Σσναρτήσεις

Μηα ζπλάξηεζε ρξεζηκνπνηείηαη γηα λα εθηειέζεη κηαπξνθαζνξηζκέλε ιεηηνπξγία. Κάζε ζπλάξηεζε έρεη έλαόλνκα αθνινπζνύκελν από δεύγνο παξελζέζεσλ πνππεξηθιείνπλ κηα κεηαβιεηή ή κηα ζηαζεξά ή γεληθόηεξακηα παξάζηαζε.

12

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Σξηγσλνκεηξηθέο

ΗΜ(x), ΤΝ(x), ΔΦ(x)

Μαζεκαηηθέο

Α_Σ(x) γηα ηελ απόιπηε Σηκή

Δ(x) γηα ηελ ex

ΛΟΓ(x) γηα ην δεθαδηθό ινγάξηζκν,

ΛΝ(x) γηα ην θπζηθό ινγάξηζκν

Σ_Ρ(x) γηα ηελ ηεηξαγσληθή ξίδα

Α_Μ(x) γηα ην αθέξαην κέξνο.

13

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Δθθξάζεηο

Μηα έθθξαζε κπνξεί λα είλαη κηα ζηαζεξά, κηα κεηαβιεηή,κηα ζπλάξηεζε ή έλαο ζπλδπαζκόο ζηαζεξώλ,κεηαβιεηώλ, ζπλαξηήζεσλ, ηειεζηώλ θαη παξελζέζεσλ.

ε κία έθθξαζε πνπ απνηειείηαη από ζπλδπαζκόζηνηρείσλ, εθηεινύληαη νη πξάμεηο επί ησλ ζηαζεξώλ θαηκεηαβιεηώλ πνπ νξίδνπλ νη ηειεζηέο.

Οη ρξεζηκνπνηνύκελνη ηειεζηέο έρνπλ δηαθνξεηηθήηεξαξρία. Απηό ζεκαίλεη όηη θάπνηεο πξάμεηο κπνξεί λαπξνεγνύληαη από θάπνηεο άιιεο ζε κηα έθθξαζε.

14

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Η ηεξαξρία ησλ πξάμεσλ είλαη ε αθόινπζε:

Α. Αξηζκεηηθνί ηειεζηέο

ε θάζε έθθξαζε πνπ ππάξρνπλ αξηζκεηηθνί ηειεζηέο,αθνινπζείηαη ε πξνζδηνξηζκέλε από ηα καζεκαηηθάηεξαξρία ησλ πξάμεσλ.

Ύςσζε ζε δύλακε

Πνιιαπιαζηαζκόο, Γηαίξεζε, Πειίθν αθέξαηαο δηαίξεζεο, Τπόινηπν αθέξαηαο δηαίξεζεο

Πξόζζεζε, Αθαίξεζε

Β. ρεζηαθνί ηειεζηέο

Γ. Λνγηθνί ηειεζηέο

1. όρη 2. θαη 3. ή

15

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Αλ νη πξάμεηο είλαη ίδηαο ηεξαξρίαο, ηόηε εθηεινύληαηαπό ηα αξηζηεξά πξνο ηα δεμηά. Αλ ππάξρεη ιόγνοεθηέιεζεο κηαο πξάμεο ρακειόηεξεο ηεξαξρίαο πξηλ απόκία πςειόηεξεο ρξεζηκνπνηνύληαη παξελζέζεηο.

Οη ηειεζηένη ελόο αξηζκεηηθνύ ηειεζηή πξέπεη λα είλαηαξηζκεηηθέο εθθξάζεηο. (π.ρ. α + β^3)

ηηο ινγηθέο εθθξάζεηο κπνξνύλ λα ρξεζηκνπνηεζνύλόινη νη ηειεζηέο. Αλ κία ινγηθή έθθξαζε πεξηιακβάλεηηειεζηέο, ηόηε έλαο ηνπιάρηζηνλ πξέπεη λα είλαηινγηθόο ή ζπγθξηηηθόο. (π.ρ. α + β^3 > 5 θαη γ / 3 < 2)

16

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη ζπγθξηηηθνί ηειεζηέο ζπλδπάδνληαη κε εθθξάζεηοηδίνπ ηύπνπ, ελώ νη ινγηθνί ηειεζηέο κόλν κε ινγηθέοεθθξάζεηο. (π.ρ. α + β > 3, ''ΑΒ'' < ''Γ'')

Οη ζπγθξίζεηο ινγηθώλ εθθξάζεσλ έρνπλ λόεκα κόλνζηελ πεξίπησζε ηνπ = θαη ≠.

17

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Αριθμητικές Εκυράσεις

ηελ έθθξαζε 5 + 12 / 3 * 2 - 1 νη πξάμεηοεθηεινύληαη κε ηελ επόκελε ζεηξά

12 / 3 (= 4)

4 * 2 (= 8)

5 + 8 (= 13)

13 - 1 (= 12)

ηελ έθθξαζε 4 * (1 + 2) εθηειείηαη πξώηα επξόζζεζε (1 + 2 = 3) θαη κεηά ν πνιιαπιαζηαζκόο(4 * 3 = 12)

ηελ αθέξαηα δηαίξεζε νη ηειεζηένη ησλ ηειεζηώλ divθαη mod είλαη ππνρξεσηηθά ζεηηθνί αθέξαηνη αξηζκνί.

18

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

19

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Λογικές Εκυράσεις

Οη ζρεζηαθνί ηειεζηέο ρξεζηκνπνηνύληαη γηα ηεζύγθξηζε δύν ηηκώλ. Σν απνηέιεζκα κηαο ζύγθξηζεοκπνξεί λα είλαη είηε Αιεζήο είηε Φεπδήο.

ηελ έθθξαζε x + y < (z - 1) / t ην απνηέιεζκα είλαηΑιεζήο, αλ ην απνηέιεζκα ηεο πξάμεο x + y είλαηκηθξόηεξν από ην απνηέιεζκα ηεο πξάμεο z - 1δηαηξνύκελν δηα t.

20

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη ζρεζηαθνί ηειεζηέο κπνξνύλ λα ρξεζηκνπνηεζνύλθαη κε αιθαξηζκεηηθνύο ηειεζηένπο.

ηελ ςεπδνγιώζζα ζα γίλεηαη ζύγθξηζεαιθαξηζκεηηθώλ εθθξάζεσλ πνπ πεξηέρνπλ κόλν ηαθεθαιαία γξάκκαηα ηνπ ειιεληθνύ αιθαβήηνπ, ζηανπνία ηζρύεη ε αιθαβεηηθή ζεηξά.

Γηα παξάδεηγκα ε ινγηθή έθθξαζε ''ΑΓΓ'' > ''ΑΒΚ'' είλαηαιεζήο, δηόηη θαηά ηε ζύγθξηζε ραξαθηήξα πξνοραξαθηήξα από αξηζηεξά πξνο ηα δεμηά εληνπίδεηαη όηη ηνγξάκκα Γ είλαη δηαθνξεηηθό θαη κεγαιύηεξν ηνπγξάκκαηνο Β

21

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Οη ινγηθνί ηειεζηέο πξαγκαηνπνηνύλ ηηο ινγηθέοπξάμεηο ζε κηα έθθξαζε. Σν απνηέιεζκα κηαο ινγηθήοπξάμεο είλαη πάληα Αιεζήο ή Φεπδήο, ζύκθσλα κε ηνλεπόκελν πίλαθα ηηκώλ, όπνπ κε Υ θαη Τ ελλννύληαη δύνινγηθέο εθθξάζεηο, ζηηο νπνίεο ρξεζηκνπνηνύληαη κόλναξηζκεηηθνί θαη ζρεζηαθνί ηειεζηέο.

22

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

ε κηα ινγηθή έθθξαζε νη ινγηθέο πξάμεηο εθηεινύληαηκεηά ηηο αξηζκεηηθέο θαη ζπγθξηηηθέο.

Ο ηειεζηήο ότι έρεη έλαλ ηειεζηέν, ελώ νη και, ήέρνπλ δύν

23

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Η ζρέζε 0 < x < 2k + 1 γξάθεηαη ζηελ ςεπδνγιώζζαx > 0 θαη x < 2 * k + 1

Η ζρέζε 0 < x ≤ 10 γξάθεηαη ζηελ ςεπδνγιώζζαx > 0 θαη x ≤ 10

24

Αζαλάζηνο Ι. Πέξδνο introcsprinciples.wordpress.com

Δληνιέο θαη δνκέο αιγνξίζκνπ

Δξσηήζεηο - Θέκαηα πξνο ζπδήηεζε – Γξαζηεξηόηεηεο

15 ζει 51

18 ζει 51

25