Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Εκπ αι δευ tη ρ ι ο “ tο π α γκρ η t ι ον”

Γ΄ γυμνασιου
Πληροφορικη

Πεπιεσόμενα ηυν ζημειώζευν

Κεθάλαιο 1: Ψηθιακή Εικόνα – Animation - Video


1.1. Γενικέρ Έννοιερ – Επανάλητη… ζελίδα 2
1.2. Ψηθιακή Επεξεπγαζία Εικόναρ… ζελίδα 4
1.3 Μέγεθορ Ψηθιακήρ Εικόναρ… ζελίδα 7
1.4. Επεξεπγαζία Εικόναρ με ηο ππόγπαμμα Paint Shop Pro… ζελίδα 7
1.5. Οπιζμόρ σπυμάηυν με ηο ζύζηημα RGB… ζελίδα 9
1.6. Δημιοςπγία Κινούμενηρ Εικόναρ με ηο ππόγπαμμα Animation Shop… ζ.10
1.7. Ψηθιακό Video… ζελίδα 11
1.8 Πποζομοίυζη και Πεπιβάλλονηα VR… ζελίδα 12
1.9. Αζκήζειρ Κεθαλαίος 1… ζελίδα 13

Κεθάλαιο 2: Δίκηςα
2.1 Καηηγοπίερ δικηύυν… ζελίδα 16
2.2. Δικηςακόρ εξοπλιζμόρ… ζελίδα 17

Κεθάλαιο 3: Ππογπαμμαηιζμόρ με ηη γλώζζα Python


3.1. Tι είναι Ππόγπαμμα… ζελίδα 18
3.2. Η γλώζζα ππογπαμμαηιζμού Python… ζελίδα 19
3.3. Μεηαβληηέρ και Τύποι Δεδομένυν ζηην Python… ζελίδα 20
3.4. Ενηολέρ ανακύκλυζηρ (επανάλητηρ) ηηρ Python… ζελίδα 22
3.5. Διαδικαζίερ (ζςναπηήζειρ) ζηην Python… ζελίδα 24
3.6. Η ενηολή απόθαζηρ if… ζελίδα 25
3.7. Διαδικαζίερ με παπαμέηποςρ ζηην Python… ζελίδα 26
3.8. Ενηολέρ κίνηζηρ ηηρ «σελώναρ» ζηην Python… ζελίδα 28
3.9. Ανηικείμενα ηηρ κλάζηρ Turtle… ζελίδα 31
3.10. Πώρ να εγκαηαζηήζυ ηην Python… ζελίδα 32
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Κεφάλαιο 1: Ψηφιακή Εικόνα – Animation - Video

1.1. Γεληθέο Έλλνηεο – Δπαλάιεςε

Μνλάδεο Μέηξεζεο Mλήκεο

 bit : θνπηάθη κε ηηκή 0 ή 1


binary digit (δειαδή δπαδηθό ςεθίν)

 byte = 8 bits
θαη νλνκάδεηαη ραξαθηήξαο

 Πνιιαπιάζηα: 1 KB = 1000 bytes


1 MB = 1000 KB
1 GB = 1000 MB
1 ΤΒ = 1000 GB

Αξρεία θαη Φάθεινη

Σε θάζε ΖΥ κπνξνύκε λα βξνύκε δπν εηδώλ αληηθείκελα:

1) Αξρείν (File) :
όια απνζεθεύνληαη ζε αξρεία
ηύπνο αξρείνπ: δείρλεη ηη έρσ κέζα ζην αξρείν
(πρ : αξρείν Word, Excel, ASCII,
HTML, Access, θηι)

2) Φάθεινο (Directory ή Folder) :


νκάδα αληηθεηκέλσλ
πεξηιακβάλεη αξρεία θαη θαθέινπο

Τύπνη Αξρείσλ

H επέθηαζε ελόο αξρείνπ δείρλεη ηνλ ηύπν ηνπ. Οη πην ζπλεζηζκέλνη ηύπνη αξρείσλ
πνπ ζπλαληνύκε ζηνπο πξνζσπηθνύο ΖΥ είλαη:

1- έγγξαθα ηνπ Word κε επέθηαζε: *.doc


2- θύιια εξγαζίαο ηνπ Excel κε επέθηαζε: *.xls
3- αξρεία ήρνπ κε επέθηαζε: *.wav ή *.mp3
4- αξρεία ςεθηαθήο εηθόλαο κε επέθηαζε: *.bmp ή *.jpg
5- αξρεία video κε επέθηαζε: *.avi ή *.mp4

Τα ηειεπηαία ρξόληα έρνπλ εκθαληζηεί επεθηάζεηο αξρείσλ κε 4 γξάκκαηα.


Παξαδείγκαηα:
- έγγξαθα ηνπ Word 2007 θαη Word 2010 κε επέθηαζε: *.docx
- θύιια εξγαζίαο ηνπ Excel 2007 θαη Excel 2010 κε επέθηαζε: *.xlsx

2
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Γηαρείξηζε αξρείσλ – θαθέισλ

Υπάξρεη πάληα ε αλάγθε λα μέξσ πώο παίξλσ πιεξνθνξίεο γηα έλα θάθειν ή γηα έλα
αξρείν:
- θάλσ δεμί θιηθ ζην αληηθείκελν (αξρείν ή θάθεινο)
- θαη επηιέγσ «Ηδηόηεηεο» γηα λα δσ:
- ηνλ ηύπν ηνπ αληηθεηκέλνπ
- ην κέγεζνο ηνπ αληηθεηκέλνπ
- πόηε δεκηνπξγήζεθε
- πόηε ηξνπνπνηήζεθε

Οη βαζηθέο θαη πην ζπλεζηζκέλεο ελέξγεηεο γηα αξρεία / θαθέινπο θαίλνληαη


παξαθάησ:

- επιλογή : έλα θιηθ πάλσ ζην εηθνλίδην

- άνοιγμα : δηπιό θιηθ

- δεκηνπξγία : δεμί θιηθ ζην ζεκείν πνπ ζέισ λα θηηάμσ ην αληηθείκελν θαη ζηε
ζπλέρεηα «Γεκηνπξγία»

- αλλαγή ονόμαηορ : δεμί θιηθ πάλσ θαη «Μεηνλνκαζία»

- διαγπαθή : δεμί θιηθ πάλσ θαη «Γηαγξαθή».

Τν αληηθείκελν θαηαιήγεη ζηνλ «Κάδν αλαθύθισζεο», απ‟όπνπ κπνξώ λα ην


επαλαθέξσ αλ ρξεηαζηεί, κέρξη λα «αδεηάζσ» ηνλ θάδν νπόηε ράλεηαη νξηζηηθά.

- ανηιγπαθή : δεμί θιηθ ζην αληηθείκελν θαη «Αληηγξαθή».

Τν αληηθείκελν έρεη απνζεθεπζεί πξνζσξηλά ζ‟έλα θνκκάηη κλήκεο πνπ νλνκάδεηαη


Πξόρεηξν.

Πεγαίλσ εθεί πνπ ζέισ ην αληίγξαθν (θάθεινο ή κνλάδα) θαη δεμί θιηθ θαη
«Δπηθόιιεζε». ΋,ηη ππάξρεη ζην Πξόρεηξν ζα εκθαληζηεί εθεί.

- μεηακίνηζη : έλα θιηθ ζην αληηθείκελν γηα λα ην επηιέμσ θαη, θξαηώληαο ζπλερώο
παηεκέλν ην πνληίθη, «ζέξλσ» ην αληηθείκελν εθεί πνπ ζέισ.

3
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

1.2. Ψεθηαθή Δπεμεξγαζία Δηθόλαο

Αλαινγηθή Δηθόλα
ρξώκαηα: θσο ζε δηαθνξεηηθέο ζπρλόηεηεο θύκαηνο

Χεθηαθή εηθόλα
ρξώκαηα: απνρξώζεηο από θαζνξηζκέλε «παιέηα»

Απνζήθεπζε Ψεθηαθήο Δηθόλαο

H ςεθηαθή εηθόλα είλαη έλαο δηζδηάζηαηνο πίλαθαο πνπ ζπληίζεηαη από pixels.

pixel: από ηα αξρηθά picture element (εηθνλνζηνηρείν)

pixel

Δηθνλνζηνηρεία (pixels) : νη ςεθίδεο πνπ ζπλζέηνπλ ηελ ςεθηαθή εηθόλα

Αλάιπζε Δηθόλαο
Οξηδόληηα θαη θαηαθόξπθε αλάιπζε: πόζν «ππθλά» είλαη ηα ζεκεία ηεο εηθόλαο.

H αλάιπζε κεηξηέηαη ζε dpi


dots per inch = ζεκεία αλά ίληζα

Σημείυζη: 1 inch = 2,54 cm (ζεσξνύκε 2,5 cm ρνλδξηθά)

Παπαδείγμαηα:
I. κηα εηθόλα κε αλάιπζε 72 dpi έρεη 72 ζηήιεο ζε πιάηνο κηα ίληζαο θαη 72
γξακκέο ζε ύςνο κηα ίληζαο, άξα 72 x 72 = 5184 ζεκεία ζε κηα ηεηξαγσληθή
ίληζα
II. ζε εηθόλα αλάιπζεο 600x600 dpi ππάξρνπλ
600x600 = 360.000 ζεκεία ζε κηα inch2

4
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

To πξόβιεκα ησλ δηαγώλησλ γξακκώλ


Σην παξαθάησ ζρήκα ε νξηδόληηα θαη ε θάζεηε γξακκή ζρεδηάδνληαη ρσξίο πξόβιεκα
(4 pixels καύξνπ ρξώκαηνο ε θάζεκηά).

΋κσο, ε δηαγώληα γξακκή δελ κπνξεί λα ζρεκαηηζηεί θαιά!


Αηηία: ηα «ζθαινπαηάθηα»!
Λύζε: κεγαιύηεξε αλάιπζε γηα ηελ εηθόλα, ώζηε ηα pixels λα γίλνπλ
κηθξόηεξα θαη ε γξακκή πην θαζαξή.

Βάζνο Δηθόλαο

Οπιζμόρ: Βάζνο εηθόλαο είλαη ν αξηζκόο ησλ bits πνπ αθηεξώλνπκε ζε θάζε pixel γηα
λ‟απνζεθεύζνπκε ηηο δηαθνξεηηθέο ρξσκαηηθέο απνρξώζεηο

Γιεςκπίνηζη: Τν βάζνο εηθόλαο (color depth) δελ έρεη ζρέζε κε απηό πνπ δείρλεη ε
εηθόλα, νύηε κε ηελ ύπαξμε ηξηζδηάζηαζηαησλ γξαθηθώλ. Δίλαη θαζαξά ηερληθό
ραξαθηεξηζηηθό, πνπ δελ “βιέπεη” ν ρξήζηεο.

Παπάδειγμα: Αλ ππνζέζνπκε όηη ην βάζνο κηαο εηθόλαο είλαη 8 bits, ηόηε θάζε pixel
έρεη “πίζσ” ηνπ (ζηε δηάζεζή ηνπ) αθξηβώο 8 bits γηα λα απνζεθεύζεη ηνλ θσδηθό ηνπ
ρξώκαηνο πνπ έρεη. Απηή ε θαηάζηαζε απνηππώλεηαη ζην ζρήκα:

Έηζη, αλ ην βάζνο είλαη :


- 8 bits (1 byte/pixel), έρνπκε 28 = 256 δηαθνξεηηθά ρξώκαηα
- 16 bits (2 bytes/pixel), έρνπκε 216 = 65536 ρξώκαηα
- 24 bits (3 bytes/pixel), έρνπκε 224 = 16,8*106 ρξώκαηα
- 32 bits (4 bytes/pixel), έρνπκε 232 = 4 *109 ρξώκαηα

Σηνπο ζεκεξηλνύο ππνινγηζηέο ρξεζηκνπνηνύκε βάζνο ρξσκάησλ 32 bits


(δηζεθαηνκκύξηα ρξώκαηα).

5
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Πεγέο Ψεθηαθώλ Δηθόλσλ

Αλ αλαξσηεζνύκε από πνύ κπνξεί λα πξνέξρνληαη νη ςεθηαθέο εηθόλεο πνπ


ρξεζηκνπνηνύκε, ηόηε ζα βξνύκε ηηο εμήο πεγέο:
1- ςεθηαθέο θσηνγξαθηθέο κεραλέο θαη θηλεηά ηειέθσλα
2- scanners (ζαξσηέο)
3- ζρεδηαζηηθά πξνγξάκκαηα γηα ηελ παξαγσγή εηθόλσλ
(π.ρ. PhotoShop, Εσγξαθηθή)
4- Internet

Ψεθηαθή Φσηνγξαθηθή Μεραλή

Μηα ςεθηαθή θσηνγξαθηθή κεραλή απνηειείηαη από ηξία κέξε:

1- νπηηθόο θαθόο
2- πίλαθαο CCD γηα λα αηρκαισηίζεη ηελ εηθόλα κε ην θιηθ
3- κλήκε γηα ηελ απνζήθεπζε ησλ θσηνγξαθηώλ πνπ ηξαβήμακε

Ζ ςεθηαθή θσηνγξαθηθή κεραλή (θαη ε ςεθηαθή θάκεξα ηνπ θηλεηνύ ηειεθώλνπ)


κπνξεί λα απνδνζεί ζρεκαηηθά σο εμήο:

Ψεθηαθή θσηνγξαθηθή κεραλή


Δλαληίνλ (vs)
Φσηνγξαθηθήο θηλεηνύ

Βαζική επώηηζη: κηα ςεθηαθή θσηνγξαθηθή κεραλή θαη κηα θσηνγξαθηθή κεραλή
θηλεηνύ, παξάγνπλ θσηνγξαθίεο ηεο ίδηαο πνηόηεηαο, αλ νη πξνδηαγξαθέο αλάιπζεο
θαη βάζνπο είλαη ίδηεο;
Απάνηηζη: πεξίπινθε θαη εμαξηάηαη από πνιινύο άιινπο παξάγνληεο, όπσο ηελ
πνηόηεηα θαη ην κέγεζνο ηνπ θαθνύ, ηα ελζσκαησκέλα πξνγξάκκαηα (software) πνπ
ρξεζηκνπνηνύλ νη ζύγρξνλεο ζπζθεπέο γηα ηε βειηίσζε ησλ θσηνγξαθηώλ (κε άκεζν
απνηέιεζκα).

6
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

1.3. Μέγεζνο Ψεθηαθήο Δηθόλαο


Τν κέγεζνο κηαο ςεθηαθήο εηθόλαο (ζε bits), ππνινγίδεηαη από ηνλ ηύπν:

Μέγεζος εηθόλας = ορηδόληηα αλάισζε * θαηαθόρσθε αλάισζε *


* πιάηος * ύψος * βάζος

όπος
ε αλάιπζε κεηξηέηαη ζε dpi, ην πιάηνο θαη ην ύςνο κεηξηνύληαη ζε ίληζεο θαη ην
βάζνο ζε bits

Παπάδειγμα
Μηα εηθόλα έρεη πιάηνο 10 cm θαη ύςνο 5 cm. Τν βάζoο ηεο είλαη 8 bits. Θέινπκε λα
ηελ απνζεθεύζνπκε κε αλάιπζε 150x100 dpi (πξόρεηξε εηθόλα) θαη κε αλάιπζε
300x200 dpi (γηα θαιύηεξε πνηόηεηα). Πόζα ΚΒ θαηαιακβάλεη ζε θάζε πεξίπησζε;
(Θεσξήζηε: 1 inch = 2,5 cm)

Δπίλςζη:
πιάηνο εηθόλαο =10 cm =10 / 2,5 inches =4 inches
ύςνο εηθόλαο =5 cm = 5 / 2,5 inches =2 inches

Α΄ πεπίπηυζη με ανάλςζη 150x100 dpi:


Μέγεζνο = 150*100*4*2*8 bits = 960.000 bits =
= (960.000)/8 bytes = 120.000 bytes =
= (120.000)/1000 KB = 120 KB

B΄ πεπίπηυζη με ανάλςζη 300x200 dpi:


Μέγεζνο = 300*200*4*2*8 bits = 3.840.000 bits =
= (3.840.000)/8 bytes = 480.000 bytes =
= (480.000)/1000 KB = 480 KB

Σςμπέπαζμα: αλ δηπιαζηάζνπκε ηελ αλάιπζε, ην κέγεζνο ηεο εηθόλαο


ηεηξαπιαζηάδεηαη.

1.4. Δπεμεξγαζία Δηθόλαο κε ην πξόγξακκα Paint


Shop Pro
Τν πξόγξακκα Paint Shop Pro 5 είλαη έλα πξόγξακκα γηα δεκηνπξγία, επεμεξγαζία
θαη ηξνπνπνίεζε ςεθηαθώλ εηθόλσλ.

H νζόλε ηνπ ρσξίδεηαη ζε 4 κέξε:

1- βαζηθό κελνύ θαη ε γξακκή εξγαιείσλ (toolbar)


2- παιέηα ρξσκάησλ (color palette) γηα επηινγή
ρξώκαηνο
7
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

3- παιέηα εξγαιείσλ (tool palette) γηα επηινγή


εξγαιείνπ ζρεδίαζεο θαη ρξσκαηηζκνύ
4- παξάζπξν εηθόλαο

Παιέηα εξγαιείσλ
Ζ παιέηα εξγαιείσλ πεξηέρεη κεηαμύ άιισλ ηα εμήο εξγαιεία ζρεδίαζεο θαη
ρξσκαηηζκνύ :

 Paint brushes: πηλέια ζρεδίαζεο


 Air brush: ρξσκαηηζκόο κε ζπξέπ
 Flood fill: γέκηζκα κηαο πεξηνρήο κε ρξώκα
 Eraser: γόκα γηα ζβήζηκν γξαθηθώλ
 Α: εηζαγσγή θεηκέλνπ ζε θάπνην ζεκείν ηεο εηθόλαο
 Crop: θόςηκν παξαιιειόγξακκνπ κέξνπο ηεο εηθόλαο
 Line: ζρεδίαζε γξακκώλ
 Shapes: ζρεδίαζε ζρεκάησλ
 Mover: γηα ηε κεηαθίλεζε αληηθεηκέλσλ
 Εννm: κεγέζπλζε (κε ην θαθό)

8
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Άιιεο ιεηηνπξγίεο
 Control palette: παιέηα ξπζκίζεσλ νξγάλσλ ζρεδίαζεο πρ. κέγεζνο πηλέινπ,
είδνο ζρήκαηνο, θείκελν, θηι
 Undo: αλαίξεζε ηειεπηαίαο ελέξγεηαο γηα πεξηπηώζεηο ιαζώλ
 Zoom In: κεγέζπλζε εηθόλαο
 Zoom Out: ζκίθξπλζε εηθόλαο
 Resize: αιιαγή κεγέζνπο ηεο εηθόλαο
 Rotate: πεξηζηξνθή ηεο εηθόλαο θαηά ηε γσλία πνπ θαζνξίδεη ν ρξήζηεο
 Mirror: ζπκκεηξηθή εηθόλα
 Image Information: πιεξνθνξίεο γηα ηελ εηθόλα (αλάιπζε, βάζνο, αξηζκόο
pixels, πιάηνο θαη ύςνο εηθόλαο)

1.5. Οξηζκόο ρξσκάησλ κε ην ζύζηεκα RGB

Πνιιέο θνξέο είλαη ρξήζηκν λα κπνξνύκε λα νξίζνπκε αθξηβώο κηα ρξσκαηηθή


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

Γεληθά, όια ηα ρξώκαηα παξάγνληαη κε ζπλδπαζκό ησλ ηξηώλ βαζηθώλ ρξσκάησλ :


1) θόθθηλν
2) πξάζηλν
3) κπιε

Άξα, ν αθξηβήο νξηζκόο κηαο ρξσκαηηθήο απόρξσζεο κπνξεί λα γίλεη αλαθέξνληαο


ηηο αλαινγίεο ησλ 3 βαζηθώλ ρξσκάησλ ζηελ απόρξσζε.

Ο νξηζκόο ησλ ρξσκαηηθώλ απνρξώζεσλ κε ηηο αλαινγίεο ησλ ηξώλ βαζηθώλ


ρξσκάησλ πήξε ην όλνκα RGB, από ηα αξρηθά ησλ βαζηθώλ ρξσκάησλ:
- Red : θόθθηλν
- Green : πξάζηλν
- Blue : κπιε

Ζ έληαζε γηα ην θαζέλα από ηα ηξία βαζηθά ρξώκαηα μεθηλά από 0 (απνπζία
ρξώκαηνο) θαη θηάλεη κέρξη 255 (πνιύ έληνλν).

Παράδεηγκα 1: ην ρξώκα κσβ νξίδεηαη σο ν ζπλδπαζκόο (202, 1, 215) πνπ ζεκαίλεη


όηη κέζα ζην κσβ ππάξρεη θόθθηλν κε “έληαζε” 202, πξάζηλν κε έληαζε 1 (δειαδή
ειάρηζην) θαη κπιε κε έληαζε 215.

Παράδεηγκα 2: γηα ην θεξακηδί ν νξηζκόο RGB είλαη: (216, 92, 1)


πνπ ζεκαίλεη όηη έρεη
πνιύ θόθθηλν (έληαζε 216),
αξθεηό πξάζηλν (έληαζε 92)
θαη ζρεδόλ θαζόινπ κπιε (έληαζε 1)

9
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

1.6. Γεκηνπξγία Κηλνύκελεο Δηθόλαο κε ην πξόγξακκα


Animation Shop

Ζ θηλνύκελε εηθόλα (animation) είλαη κηα ζεηξά από εηθόλεο πνπ πξνβάιινληαη
δηαδνρηθά θαη γηα κηθξό ρξνληθό δηάζηεκα ε θαζεκηά, έηζη ώζηε λα δίλνπλ ηελ
εληύπσζε ηεο θίλεζεο.
To κέγεζνο ζε bytes ελόο animation είλαη ην άζξνηζκα ησλ κεγεζώλ όισλ ησλ
εηθόλσλ πνπ πξνβάιινληαη δηαδνρηθά!

Φαξαθηεξηζηηθά ζηνηρεία ελόο animation είλαη:


 frames: νη εηθόλεο πνπ ζπλζέηνπλ ην animation
 display time: ν ρξόλνο πνπ δηαξθεί ε πξνβνιή θάζε frame
 Looping: ε πξνβνιή αλαθπθιώλεηαη από ην ηειεπηαίν frame μαλά ζην
πξώην frame
 Transitions: ν ηξόπνο κεηάβαζεο θαη εκθάληζεο εηθόλαο από έλα frame
ζην επόκελό ηνπ (πρ. clock, curtains, …)

Τν ζρήκα δείρλεη έλα παξάδεηγκα animation από ηελ πξώηε άζθεζε πνπ θάλακε ζηελ
ηάμε. Φαίλνληαη 5 frames ηνπ animation: F4 έσο F8. Ζ εηθόλα ηξνπνπνηείηαη ειαθξά
θαη ζηαδηαθά από ην έλα frame ζην επόκελό ηνπ.

Γηαδνρή εηθόλσλ γηα ηε δεκηνπξγία θίλεζεο

Βαζηθή εξώηεζε: κε ηη ξπζκό πξέπεη λα πξνβάινπκε frames γηα λα δεκηνπξγεζεί ε


αίζζεζε ηεο θίλεζεο ζε έλα animation ;

Απάληεζε: ζηα θηλνύκελα ζρέδηα πξνβάινπκε εηθόλεο κε ξπζκό πεξίπνπ 15 frames


per second. Σε απηή ηελ πεξίπησζε, ην display time γηα θάζε frame είλαη: 1/15 sec =
0,066666 sec. Γειαδή, ην display time γηα θάζε frame πξέπεη λα είλαη πεξίπνπ 6 ή 7
εθαηνζηά ηνπ δεπηεξνιέπηνπ!

Μέζα ζην πξόγξακκα Animation Shop, έρνπκε ηηο παξαθάησ επηινγέο γηα θηλνύκελεο
εηθόλεο:
 Open: άλνηγκα ελόο αξρείνπ θηλνύκελεο εηθόλαο
 New: δεκηνπξγία ελόο λένπ θελνύ animation
 Save: απνζήθεπζε αξρείνπ θηλνύκελεο εηθόλαο
 Copy: αληηγξαθή κηαο εηθόλαο - frame
 Paste: επηθόιιεζε ηεο αληηγξακκέλεο εηθόλαο - frame ζην ζεκείν ηνπ
animation πνπ επηιέγνπκε
 Cut: δηαγξαθή κηαο εηθόλαο - frame

10
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

1.7. Ψεθηαθό Video

Τν ςεθηαθό video είλαη κηα κνξθή πιεξνθνξίαο πνπ ρξεζηκνπνηνύκε ζηνπο ΖΥ.
Δίλαη ε πην «βαξηά» κνξθή πιεξνθνξίαο, ππό ηελ έλλνηα όηη ηα αξρεία ςεθηαθνύ
video είλαη πνιύ κεγάια ζε κέγεζνο.

Γπν είλαη ηα βαζηθά ραξαθηεξηζηηθά πνηόηεηαο ηνπ ςεθηαθνύ video:


1) ο πςθμόρ πποβολήρ (ζε frames per second)
2) ην μέγεθορ κάθε frame

Ρπζκόο πξνβνιήο (Frames per second)

Ο ξπζκόο πξνβνιήο είλαη πνιύ ζεκαληηθό ραξαθηεξηζηηθό γηα ηελ πνηόηεηα ηεο
εηθόλαο!

Σήκεξα, ην standard γηα ηηο ηαηλίεο πνπ θπθινθνξνύλ είλαη λα δείρλνπλ 60 frames per
second (60 FPS).

Παιηόηεξα, πξηλ ηελ ςεθηαθή επνρή, νη ξπζκνί ήηαλ πνιύ ρακειόηεξνη. Γηα
παξάδεηγκα, ηα πξώηα θηικ (όρη ςεθηαθά) είραλ γπξηζηεί κε ξπζκό 24 FPS. Αλ
ζθεθηεί θαλείο κε πνην ηξόπν απηά ηα θηικ κπνξνύλ λα κεηαηξαπνύλ ζε ςεθηαθά, ζα
έρεη πνιιά πξνβιήκαηα λα ιύζεη…

Μέγεζνο frame ηνπ ςεθηαθνύ video

Υπάξρνπλ πνιιέο δηαθνξεηηθέο κνξθέο (format) ςεθηαθνύ video:


 High Definition (HD) video: θάζε frame έρεη κέγεζνο 1280x720 pixels δειαδή
θάζε frame έρεη 0,92 megapixels.
 Full HD video: θάζε frame έρεη κέγεζνο 1920x1080 pixels δειαδή θάζε frame
έρεη 2,1 megapixels.
 4K video: θάζε frame έρεη κέγεζνο 4096x2180 pixels δειαδή θάζε frame έρεη
8,8 megapixels.

Έλαο απιόο (?!) ππνινγηζκόο

Δξώηεζε: Πόζν κέγεζνο πηάλνπλ 60 sec (1 ιεπηό) πξνβνιήο FullHD video ?


Απάληεζε: Σην FullHD video θάζε frame έρεη 2,1 megapixels. Αλ ρξεζηκνπνηνύκε
βάζνο ρξσκάησλ 32 bits, ηόηε θάζε frame πηάλεη: 2,1*32*106 bits = 67,2*106 bits =
8,4*106 bytes = 8,4 MB.
Αθνύ θάζε frame πηάλεη 8,4ΜΒ θαη πξνβάινπκε 60 frames per second, ηόηε έλα
ιεπηό video έρεη 60 seconds θαη 60*60=3600 frames θαη πηάλεη:
8,4MB*60*60=30240MB = 30,24 GB
Τν κέγεζνο πνπ κόιηο ππνινγίζακε, δειαδή 30 GB γηα έλα FullHDvideo πνπ δηαξθεί
60 sec, είλαη ηεξάζηην!

Δξώηεζε: Τη κπνξνύκε λα θάλνπκε γηα ζπκπηέζνπκε ην κέγεζνο ηνπ ςεθηαθνύ video?


Απάληεζε: Δπηπρώο, κπνξνύκε λα θάλνπκε θάηη γηα λα κελ πηάλνπλ ηα ςεθηαθά
video ηόζν ρώξν. Υπάξρνπλ αλγόπιθμοι ζςμπίεζηρ ηος τηθιακού video. Δίλαη

11
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

απνηειεζκαηηθνί θαη κηθξαίλνπλ δξαζηηθά ην ρώξν πνπ θαηαιακβάλεη ηειηθά ην


video ζην δίζθν.

Έλαο ηέηνηνο αιγόξηζκνο ζπκπίεζεο είλαη ην Mpeg-4 (αξρεία ηύπνπ*.mp4) πνπ


ρξεζηκνπνηείηαη γηα ςεθηαθά video πνπ θπθινθνξνύλ ζην δηαδίθηπν.

1.8. Πξνζνκνίσζε θαη Πεξηβάιινληα VR


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

Δθαξκνγέο :
 Πξνζνκνίσζε Φπζηθώλ Φαηλνκέλσλ (πρ. Μεηεσξνινγία)
 Πξνζνκνίσζε Πεηξακάησλ Φπζηθήο θαη Φεκείαο
 Αλαπαξάζηαζε Γνκώλ (πρ. Γέθπξεο, DNA)
 Πξνζνκνίσζε Οηθνλνκηθώλ θαη Κνηλσληθώλ κνληέισλ (πρ. θπθινθνξηαθό,
εμππεξέηεζε πειαηώλ)
 Πξνζνκνησηέο Πηήζεο

Πιενλεθηήκαηα ησλ ζπζηεκάησλ πξνζνκνηώζεσλ:


1. κπξνζηά ζηνλ ΖΥ, θαλείο δε δηαηξέρεη θηλδύλνπο από ηα θαηλόκελα πνπ
αλαπαξηζηνύκε
2. κπνξνύκε λα αιιάμνπκε ηηο ηηκέο ησλ παξακέηξσλ ελόο ζπζηήκαηνο γηα λα
κειεηήζνπκε ηηο αιιαγέο ηεο ζπκπεξηθνξάο ηνπ
3. πξνβιέπνπκε εμειίμεηο θαη πξνβιήκαηα ζε δηάθνξα θαηλόκελα

Απαξαίηεηε πξνϋπόζεζε γηα λα θηηάμνπκε έλα θαιό ζύζηεκα πξνζνκνίσζεο είλαη λα


έρνπκε ρηίζεη έλα καζεκαηηθό κνληέιν πνπ ζα ρξεζηκνπνηεί ε πξνζνκνίσζε γηα λα
δώζεη απνηειέζκαηα.

Πξνρσξώληαο έλα βήκα παξαπέξα, ε ζύγρξνλε επηζηήκε ηεο Πιεξνθνξηθήο εξεπλά


θα αλαπηύζζεη ζπλερώο λέα πεξηβάιινληα VR (virtual reality) θαη AR (augmented
reality).

VR : Virtual Reality > Δικονική Ππαγμαηικόηηηα

Τα ζπζηήκαηα εηθνληθήο πξαγκαηηθόηεηαο (VR) πξνζπαζνύλ λα αλαθαηαζθεπάζνπλ


πηζηά θαηαζηάζεηο θαη ρώξνπο, γηα λα θηλεζεί ν ρξήζηεο. Φξεζηκνπνηνύλ:
1. Ζρεηηθά εθέ κε ήρν θαιήο πνηόηεηαο
2. Τξηζδηάζηαηα γξαθηθά (3D graphics) πνπ κπνξνύλ λα πξνβιεζνύλ ζε εηδηθέο
θάζθεο
3. Μεραληθέο θαηαζθεπέο πνπ δίλνπλ ηελ ςεπδαίζζεζε ηεο θίλεζεο
4. Δηδηθνύο αηζζεηήξεο γηα ην ρξήζηε (γάληη…)

AR : Augmented Reality > Δπαςξημένη Ππαγμαηικόηηηα

Τα ζπζηήκαηα επαπμεκέλεο πξαγκαηηθόηεηαο (AR) πξνζπαζνύλ λα ζπλδπάζνπλ από


ηε κηα πιεπξά πξαγκαηηθά, ππαξθηά πεξηβάιινληα θαη από ηελ άιιε πιεπξά
εηθνληθά, θαηαζθεπαζκέλα πεξηβάιινληα κε ζθνπό λα εληάμνπλ δπλακηθά
κεηαβαιιόκελα αληηθείκελα κέζα ζηα λέα πεξηβάιινληα.

12
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

1.9. Αζθήζεηο Κεθαιαίνπ 1


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

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

Άζθεζε 1

Μηα εηθόλα αλάιπζεο 72 dpi έρεη πιάηνο 2 inches θαη ύςνο 3 inches. Θέινπκε
λ‟απνζεθεύζνπκε ηελ εηθόλα κε βάζνο ρξσκάησλ 16 bits. Πόζα ΚΒ αλακέλεηαη λα
έρεη κέγεζνο;

Λύζε ηεο 1:

Άζθεζε 2

Μηα εηθόλα κεγέζνπο 160 ΚΒ έρεη αλάιπζε 200x100 dpi. Αλ νη δηαζηάζεηο ηεο είλαη
10x2,5 cm, βξείηε ην βάζνο ηεο εηθόλαο απηήο.

Λύζε ηεο 2:

13
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Άζθεζε 3
Μηα εηθόλα έρεη βάζνο 16 bits θαη κέγεζνο: πιάηνο 10 cm θαη ύςνο 5 cm. Θέινπκε λα
ηελ απνζεθεύζνπκε κε αλάιπζε 200 dpi ηε κηα θνξά (ζην αξρείν Α) θαη 400 dpi ηελ
άιιε θνξά (ζην αξρείν Β), γηα δύν πνηόηεηεο. Πόζα bytes θαηαιακβάλεη ζε θάζε
πεξίπησζε;

Λύζε ηεο 3:

Άζθεζε 4

Μηα εηθόλα είλαη απνζεθεπκέλε κε αλάιπζε 800x600 dpi θαη θαηαιακβάλεη 8.4 ΜΒ.
Θέινπκε λα κεηαηξέςνπκε ηελ εηθόλα ζε αλάιπζε 400x300 dpi κε ην ίδην βάζνο
ρξσκάησλ θαη ηηο ίδηεο δηαζηάζεηο, πξνθεηκέλνπ λα θάλνπκε νηθνλνκία ρώξνπ
απνζήθεπζεο. Πόζν ρώξν ζα θαηαιακβάλεη κεηά ηε κείσζε ηεο αλάιπζεο;

Λύζε ηεο 4:

14
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Άζθεζε 5

Έλα θηλνύκελν ζρέδην (animation) απνηειείηαη από 24 εηθόλεο - frames. Τα πξώηα 19


frames πξνβάιινληαη κε display time 2 sec ην θαζέλα. ΋ια ηα ππόινηπα frame
απαηηνύλ πξνβνιή κε κηθξόηεξε ηαρύηεηα θη έηζη ην θαζέλα απ‟απηά έρεη display
time 5 sec. Πόζν ρξόλν δηαξθεί ζπλνιηθά ε πξνβνιή ηνπ animation (δειαδή θαη ησλ
24 frames);

Λύζε ηεο 5:

Άζθεζε 6
Μηα θηλνύκελε εηθόλα (animation) απνηειείηαη από 8 εηθόλεο - frames. Καζέλα από
ηα frames είλαη κηα εηθόλα κε αλάιπζε 200 dpi x 100 dpi, βάζνο 16 bits θαη
δηαζηάζεηο 2x2 inches. Πόζν αλακέλεηαη λα είλαη ην κέγεζνο νιόθιεξνπ ηνπ
animation ζε ΚΒ;

Λύζε ηεο 6:

15
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Κεθάιαην 2: Γίθηπα

Ζ αλάγθε γηα αληαιιαγή δεδνκέλσλ πξνέθπςε ζρεδόλ ηαπηόρξνλα κε ηελ εκθάληζε


ησλ πξώησλ ππνινγηζηηθώλ ζπζηεκάησλ. Τα πξώηα δίθηπα ΖΥ εκθαλίζηεθαλ ζηα
ππνινγηζηηθά ζπζηήκαηα mini θαηά ηε δεθαεηία ηνπ 1960.

Ζ εμάπισζε ησλ πξνζσπηθώλ ΖΥ ζε ζπίηηα θαη επηρεηξήζεηο, έθεξε θαη ηελ


εθξεθηηθή αλάπηπμε ηεο ηερλνινγίαο ησλ δηθηύσλ.

Σήκεξα, όινη νη ΖΥ έρνπλ δηαζύλδεζε κε θάπνην δίθηπν. Καη νη πξνζσπηθνί


ςεθηαθνί βνεζνί (Personal Digital Assistants – PDAs) ζπλδένληαη πιένλ ζην
δηαδίθηπν.

2.1 Καηεγνξίεο δηθηύσλ

Υπάξρνπλ πνιιέο θαηεγνξίεο δηθηύσλ αλάινγα κε ην θξηηήξην πνπ καο ελδηαθέξεη λα


εμεηάζνπκε. Γηα λα είκαζηε πην ζπγθεθξηκέλνη, αο δνύκε δηάθνξεο θαηεγνξηνπνηήζεηο
δηθηύσλ:

Καηεγνξίεο δηθηύσλ σο πξνο ην κέζν κεηαθνξάο


Τν κέζν (πιηθό) κεηαθνξάο ησλ πιεξνθνξηώλ ζ‟έλα δίθηπν είλαη βαζηθόο παξάγνληαο
γηα ηελ απόδνζε ηνπ δηθηύνπ. Γηαθξίλνπκε 3 βαζηθέο θαηεγνξίεο:
1- ελζύξκαηα δίθηπα: ηα ζήκαηα ζην δίθηπν κεηαθέξνληαη κέζσ ηνπ κεηάιινπ
(ζπλήζσο ραιθνύ) ηνπ θαισδίνπ
2- δίθηπα νπηηθώλ ηλώλ (fiber optics): νη νπηηθέο ίλεο πξνζθέξνπλ κεγάιε
ηαρύηεηα δηθηύσλ, αιιά ην θόζηνο ηνπο είλαη αξθεηά κεγαιύηεξν
3- αζύξκαηα δίθηπα (wireless): ηα ζήκαηα κεηαθέξνληαη κέζσ
ειεθηξνκαγλεηηθώλ θπκάησλ. Γηα ηελ θσδηθνπνίεζε ησλ πιεξνθνξηώλ
ρξεζηκνπνηνύληαη πνιιέο δηαθνξεηηθέο ζπρλόηεηεο θπκάησλ θαη πξσηόθνιια
επηθνηλσλίαο (wi-fi, bluetooth, 4G, 5G, …)

Καηεγνξίεο δηθηύσλ σο πξνο ηε γεσγξαθηθή πεξηνρή


θάιπςεο

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

Έηζη, έλα δίθηπν κπνξεί λα είλαη:


1- ηνπηθό δίθηπν (local area network - LAN ): θαιύπηεη απνζηάζεηο κεξηθώλ
δεθάδσλ κέηξσλ (ελόο κεγάινπ θηηξίνπ)
2- κεηξνπνιηηηθό δίθηπν (metropolitan area network – MAN): θαιύπηεη ηελ πεξηνρή
κηαο πόιεσο
3- δίθηπν επξείαο πεξηνρήο (Wide Area Network – WAN): δελ πεξηνξίδεηαη
γεσγξαθηθά. Τν Γηαδίθηπν είλαη έλα WAN.

16
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Καηεγνξηνπνίεζε δηθηύσλ σο πξνο ηελ ηαρύηεηα


κεηάδνζεο δεδνκέλσλ

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


θαη από ηνλ εμνπιηζκό πνπ ρξεζηκνπνηνύκε.
Καηεγνξίεο:
1- Γίθηπα ρακειώλ ηαρπηήησλ : Ζ ηαρύηεηα κεηξηέηαη ζε Kbps (Kilo bits per
second) θαη ζε Mbps (Mega bits per second).
2- Γίθηπα πςειώλ ηαρπηήησλ: Ζ ηαρύηεηα κεηξηέηαη ζε Gbps (Giga bits per
second), ζπλήζσο ζε δίθηπα νπηηθώλ ηλώλ θαη ζε αζύξκαηα δίθηπα.

Καηεγνξηνπνίεζε δηθηύσλ σο πξνο ηελ ηνπνινγία

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

2.2. Γηθηπαθόο εμνπιηζκόο

- Modem από ηηο αγγιηθέο ιέμεηο modulator - demodulator (ζηα ειιεληθά


δηακνξθσηήο - απνδηακνξθσηήο): κεηαηξέπεη ηα ςεθηαθά δεδνκέλα ζε
αλαινγηθά ζήκαηα γηα κεηάδνζε κέζσ θαισδίσλ

- Hub: επαλαιακβάλεη ηα ζήκαηα ζ‟έλα ηνπηθό δίθηπν θαη ηα ζηέιλεη ζε όινπο


ηνπο ΖΥ

- Switch: ζηέιλεη ηα ζήκαηα ηνπ ηνπηθνύ δηθηύνπ ζηνλ θαηάιιειν ΖΥ

- Router (δξνκνινγεηήο): ζπλδέεη έλα ηνπηθό δίθηπν κε ην δηαδίθηπν. Φξνληίδεη


λα παξαδίδεη ηα κελύκαηα ηνπ δηαδηθηύνπ ζηνλ θαηάιιειν ΖΥ ηνπ ηνπηθνύ
δηθηύνπ.

17
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Κεθάιαην 3: Πξνγξακκαηηζκόο κε ηε γιώζζα Python

3.1. Tη είλαη Πξόγξακκα


Καζεηί πνπ εθηειεί έλαο ππνινγηζηήο νλνκάδεηαη πξόγξακκα. Γηα παξάδεηγκα, ην
PSP 5 είλαη έλα πξόγξακκα ςεθηαθήο επεμεξγαζία εηθόλαο. Ο ρξήζηεο εθηειεί
(“ηξέρεη”) ην πξόγξακκα θαη δίλεη ηα δεδνκέλα εηζόδνπ γηα ην πξόγξακκα. Σην
πξόγξακκα επεμεξγαζίαο θεηκέλνπ Microsoft Word, ηα δεδνκέλα εηζόδνπ είλαη ην
θείκελν πνπ πιεθηξνινγνύκε.
Γηα λα εθηειέζνπκε όκσο έλα πξόγξακκα, πξέπεη απηό λα έρεη θηηαρηεί από έλα
πξνγξακκαηηζηή. Τν Word γηα παξάδεηγκα είλαη θαηαζθεπαζκέλν από ηνπο
πξνγξακκαηηζηέο ηεο εηαηξίαο Microsoft.

Μεηάθξαζε Πξνγξάκκαηνο
Ο ππνινγηζηήο θαηαιαβαίλεη κόλν ηε γιώζζα ησλ 0/1. Έηζη, θάζε πξόγξακκα γηα λα
εθηειεζηεί ζηνλ ΖΥ πξέπεη λα έρεη δπαδηθή κνξθή (0/1). Οη πξνγξακκαηηζηέο όκσο
είλαη πνιύ δύζθνιν λα γξάθνπλ απεπζείαο ζηε δπαδηθή γιώζζα ηνπ ΖΥ. Έηζη,
έρνπκε θηηάμεη γιώζζεο πξνγξακκαηηζκνύ γηα λα κπνξνύκε επθνιόηεξα λα
ζπληάζζνπκε πξνγξάκκαηα ζ‟απηέο.
Παξαδείγκαηα γισζζώλ πξνγξακκαηηζκνύ:
 Logo
 Basic
 Pascal
 C θαη C++
 Java
 Python

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


πξνγξάκκαηνο γξακκέλνπ ζε θάπνηα γιώζζα πξνγξακκαηηζκνύ ζε θώδηθα ζε
δπαδηθή κνξθή, ώζηε λα εθηειείηαη από ηνλ ΖΥ.

18
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

3.2. Η γιώζζα πξνγξακκαηηζκνύ Python


Απηέο νη ζεκεηώζεηο είλαη κηα θαιή εηζαγσγή γηα όπνηνλ ζέιεη λα μεθηλήζεη κε ηε
γιώζζα πξνγξακκαηηζκνύ Python θαη ζηε ζπλέρεηα λα αζρνιεζεί κε ηνλ
αληηθεηκελνζηξαθή πξνγξακκαηηζκό (object-oriented programming).
Δίλαη απηνλόεην όηη όπνηνο καζεηήο ζέιεη λα αζρνιεζεί παξαπάλσ κε ηελ Python, ζα
ρξεζηκνπνηήζεη απηέο ηηο ζεκεηώζεηο κόλν γηα αξρή. Μεηά κπνξεί λα πξνρσξήζεη πην
γξήγνξα, λα θηηάμεη ηα δηθά ηνπ πξνγξάκκαηα, λα «παίμεη» θαη λα πεηξακαηηζηεί όζν
ζέιεη.

Σ‟απηέο ηηο ζεκεηώζεηο, ινηπόλ, εκείο ζα δνύκε ηα παξαθάησ ζέκαηα:


 Αληηθείκελα θαη θιάζεηο ζηηο αληηθεηκελνζηξαθείο γιώζζεο πξνγξακκαηηζκνύ
(object oriented programming)
 Μεηαβιεηέο θαη ηύπνη δεδνκέλσλ ηεο Python
 Δληνιέο αλαθύθισζεο (επαλάιεςεο)
 Γηαδηθαζίεο (ζπλαξηήζεηο) ζηελ Python
 Γηαδηθαζίεο (ζπλαξηήζεηο) κε παξακέηξνπο
 Δληνιέο θίλεζεο ηεο ρειώλαο ζηελ Python
 Αληηθείκελα ηεο θιάζεο Turtle ηεο Python

Python: ε γιώζζα πξνγξακκαηηζκνύ ηνπ κέιινληνο


H Python ζεσξείηαη απηή ηε ζηηγκή ε πην πεξηδήηεηε γιώζζα πξνγξακκαηηζκνύ
παγθνζκίσο. Καη ππάξρνπλ πνιινί ιόγνη γη‟απηό…
Ζ γιώζζα Python αξρηθά δεκηνπξγήζεθε από ηνλ νιιαλδό Guido van Rossum ην
1991. Δίλαη κηα ζύγρξνλε, παλίζρπξε γιώζζα πξνγξακκαηηζκνύ πςεινύ επηπέδνπ.
Σπγρξόλσο, όκσο, είλαη θαη πνιύ απιή ζηε θηινζνθία θαη ηε ρξήζε.
Ζ Python εμαπιώζεθε πνιύ γξήγνξα γηαηί ζηεξίδεηαη ζηε ζπλεηζθνξά πνιιώλ
πξνγξακκαηηζηώλ πνπ ιεηηνπξγνύλ σο ζπλεξγαδόκελε θνηλόηεηα. Ζ Python είλαη έλα
ινγηζκηθό (software) αλνηθηνύ θώδηθα.

Η γιώζζα Python είλαη κηα αληηθεηκελνζηξαθήο


γιώζζα (object-oriented language)
Ζ γιώζζα Python ζπγθαηαιέγεηαη ζηηο αληηθεηκελνζηξαθείο γιώζζεο
πξνγξακκαηηζκνύ. Μηα αληηθεηκελνζηξαθήο (object oriented) γιώζζα
πξνγξακκαηηζκνύ νξγαλώλεηαη κε αληηθείκελα (objects) πνπ αλήθνπλ ζε θαηεγνξίεο
(classes). Κάζε αληηθείκελν έρεη ηδηόηεηεο (attributes) θαη κεζόδνπο (methods).

 Ηδηόηεηεο (attributes) αληηθεηκέλνπ: είλαη ηα ραξαθηεξηζηηθά πνπ


πξνζδηνξίδνπλ ηελ ππόζηαζε ηνπ αληηθεηκέλνπ
 Δλέξγεηεο (methods) αληηθεηκέλνπ: νη ελέξγεηεο, νη θαλόλεο ζπκπεξηθνξάο ηνπ
αληηθεηκέλνπ, δειαδή πώο αληηδξά ην αληηθείκελν ζε θάζε πεξίπησζε
 Κιάζε (class): κηα νκάδα αληηθεηκέλσλ ηδίνπ ηύπνπ

19
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Παξάδεηγκα: ε θιάζε απηνθίλεην

3.3. Μεηαβιεηέο θαη Τύπνη Γεδνκέλσλ ζηελ Python


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

Υπάξρνπλ πνιινί ηύπνη δεδνκέλσλ γηα ηηο κεηαβιεηέο καο:

Οη κεηαβιεηέο ηύπνπ int


(integer numbers) => Ακέπαιοι απιθμοί

Πξόθεηηαη, ινηπόλ, γηα κεηαβιεηέο πνπ απνζεθεύνπλ αθέξαηνπο αξηζκνύο.

Παξάδεηγκα εληνιήο:
>>> i = 8
Ζ παξαπάλσ εληνιή απνζεθεύεη ηελ ηηκή 8 ζηε κεηαβιεηή πνπ νλνκάδεηαη i. Ζ
κεηαβιεηή i είλαη ηύπνπ αθεξαίνπ int.

Με ηελ εληνιή:
>>> i = 1
εθρσξνύκε λέα ηηκή, ην 1, ζηε κεηαβιεηή i. Ζ πξνεγνύκελε ηηκή 8 ράζεθε νξηζηηθά.

Με ηελ εληνιή:
>>> i = i + 1
παίξλνπκε ηελ ηηκή ηνπ i θαη ηεο πξνζζέηνπκε 1. Γειαδή, ην i ηώξα ζα έρεη λέα ηηκή,
ηελ ηηκή 2.

20
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Οη κεηαβιεηέο ηύπνπ float


(floating point numbers) => Απιθμοί κινηηήρ ςποδιαζηολήρ

Παξάδεηγκα εληνιήο:
>>> mikos = 2.54
Ζ παξαπάλσ εληνιή εθρσξεί ηελ ηηκή 2.54 ζηε κεηαβιεηή πνπ νλνκάδεηαη mikos. Ζ
κεηαβιεηή mikos είλαη ηύπνπ θηλεηήο ππνδηαζηνιήο float (πξαγκαηηθνί αξηζκνί).

Με ηελ εληνιή:
>>> metakikisi = mikos + 10.5
παίξλνπκε ηελ ηηκή ηεο κεηαβιεηήο mikos θαη ηεο πξνζζέηνπκε 10.5. Τν απνηέιεζκα
ην απνζεθεύνπκε ζηε κεηαβιεηή κε ην όλνκα metakinisi.

Με ηελ εληνιή:
>>> print(metakinisi)
ε Python ζα ηππώζεη ηελ ηηκή ηεο κεηαβιεηήο metakinisi, δειαδή ζα ηππώζεη ζηελ
νζόλε ηνλ αξηζκό >>> 13.04

Οη κεηαβιεηέο ηύπνπ str


(string) => Σςμβολοζειπά

Παξάδεηγκα εληνιήο:
>>> color = “blue”
Ζ παξαπάλσ εληνιή εθρσξεί ηελ ηηκή “blue” ζηε κεηαβιεηή πνπ νλνκάδεηαη color. Ζ
κεηαβιεηή color είλαη ηύπνπ ζπκβνινζεηξάο string (θείκελν). Πξνζνρή, γηα ηηο
ζπκβνινζεηξέο ρξεζηκνπνηνύκε πάληα εηζαγσγηθά.

Με ηελ εληνιή:
>>> keimeno = “Hello World”
ε θξάζε Hello World απνζεθεύεηαη ζηε κεηαβιεηή πνπ νλνκάδεηαη θείκελν.

Με ηελ εληνιή:
>>> print(keimeno)
ε Python ζα ηππώζεη ηελ ηηκή ηεο κεηαβιεηήο keimeno, δειαδή ζα ηππώζεη ζηελ
νζόλε ηε θξάζε:
>>> Hello World

Πώο δηαβάδσ κηα κεηαβιεηή από ην πιεθηξνιόγην

Η εληνιή input
Σε πνιιά πξνγξάκκαηα είλαη ρξήζηκν λα κπνξεί ν ρξήζηεο λα δίλεη από ην
πιεθηξνιόγην ηελ ηηκή κηαο κεηαβιεηήο. Ζ εληνιή input δηαβάδεη από ην
πιεθηξνιόγην ηελ ηηκή κηα κεηαβιεηήο. Αλάινγα κε ην ηη ζα πιεθηξνινγήζεη ν
ρξήζηεο, ε Python θαηαιαβαίλεη ηνλ ηύπν ηεο κεηαβιεηήο, δειαδή αλ είλαη int
(δειαδή integer), float (δειαδή floating point) ή str (δειαδή string).

21
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Παξάδεηγκα 1:
>>> i=input(“Give me a number :”)
>>> 18
πεξηκέλνπκε λα δηαβάζνπκε κηα ηηκή (πρ. 18) γηα ηε κεηαβιεηή i, πνπ ζα είλαη ηύπνπ
int (αθέξαηνο αξηζκόο).

Παξάδεηγκα 2:
>>> x=input(“Give me again :”) >>> 3,14168
πεξηκέλνπκε λα δηαβάζνπκε κηα ηηκή γηα ηε κεηαβιεηή x πνπ ζα είλαη ηύπνπ float
(πξαγκαηηθόο αξηζκόο).

Παξάδεηγκα 3:
>>> name = input (“What is your name ?”)
What is your name ? “Yannis”
>>> print (“Hi”, name, “nice to meet you”)

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


«What‟s your name ?». Μεηά δηαβάδεη ην όλνκα πνπ πιεθηξνινγεί ν ρξήζηεο κέζα
ζε εηζαγσγηθά θαη ην απνζεθεύεη ζηε κεηαβιεηή name, πνπ είλαη ηύπνπ string
(ζπκβνινζεηξά). Μεηά ηππώλεη έλα κήλπκα ραηξεηηζκνύ γηα ην ρξήζηε,
ρξεζηκνπνηώληαο ην όλνκά πνπ ηνπ έδσζε ό ίδηνο!

3.4. Δληνιέο αλαθύθισζεο (επαλάιεςεο) ηεο Python

Η εληνιή αλαθύθισζεο (επαλάιεςεο) for

H γεληθή κνξθή ηεο εληνιήο for είλαη:

for i in range(A):
εληνιή 1
...
εληνιή θ

όπνπ Α αθέξαηνο αξηζκόο. Ζ Python εθηειεί όιεο ηηο εληνιέο 1 έσο θ αθξηβώο ηόζεο
θνξέο, όζεο πξνζδηνξίδεη ν αξηζκόο Α.

Παξάδεηγκα 1 (ηεηξάγσλν): >>> for i in range(4):


fd(100)
rt(90)

Παξάδεηγκα 2 (θύθινο): >>> for i in range(360):


fd(1)
rt(1)

Γεληθεύνληαο ηελ αλαθύθισζε for

Σηελ πξαγκαηηθόηεηα ε γεληθή κνξθή ηεο εληνιήο κπνξεί λα γίλεη:

22
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

for i in range (αξρή, κέρξη, βήκα):


εληνιή 1
...
εληνιή θ

Γειαδή, ε Python επηηξέπεη ζηνλ πξνγξακκαηηζηή λα ειέγμεη πιήξσο ην κεηξεηή i ζε


κηα εληνιή for. Ο πξνγξακκαηηζηήο κπνξεί λα πξνζδηνξίζεη ηελ αξρή, ηελ ηειηθή ηηκή
θαη ην βήκα θάζε επαλάιεςεο. Γηα παξάδεηγκα ε αλαθύθισζε:

Παξάδεηγκα 3 >>> for i in range(10,20,2):


print(i)

ζα ηππώζεη ηνπο αξηζκνύο: 10,12,14,16,18.

Σηε ζπλάξηεζε range κόλν ην «κέρξη» είλαη ππνρξεσηηθό. Ζ αξρή θαη ην βήκα
κπνξνύλ λα παξαιεηθζνύλ. Τόηε ε Python ζεσξεί αξρή ην 0 θαη βήκα ην 1… Απηό
αθξηβώο ζπλέβαηλε ζηα 2 πξνεγνύκελα παξαδείγκαηα.

Η εληνιή αλαθύθισζεο (επαλάιεςεο) while


Ζ εληνιή αλαθύθισζεο while έρεη ηε γεληθή κνξθή:

while ζςνθήκη :
ενηολή 1
...
ενηολή κ

΋ζν ηζρύεη ε ζπλζήθε, ε Python εθηειεί κε ηε ζεηξά όιεο ηηο εληνιέο 1 έσο θ. ΋ηαλ
ζηακαηήζεη λα ηζρύεη ε ζπλζήθε, ηειεηώλεη θαη ε αλαθύθισζε while.

Παξάδεηγκα 1 (εθηππώλεη ηνπο αξηζκνύο από 1 έσο 10):


>>> i = 1
>>> while i <= 10 :
print(i)
i = i +1

Παξάδεηγκα 2 (εθηππώλεη όινπο αξηζκνύο από ην 1 κέρξη ηνλ αξηζκό max πνπ έρεη
δώζεη ν ρξήζηεο από ην πιεθηξνιόγην):
>>> max = input(“Give me the maximum number ”)
>>> i = 1
>>> while i <= max :
print(i)
i = i +1

Πξνζνρή: ηε ζηηγκή πνπ γξάθνπκε απηό ην πξόγξακκα δελ μέξνπκε πόζεο θνξέο ζα
εθηειεζηεί ε αλαθύθισζε while. Απηό ζα ην θαζνξίζεη ν αξηζκόο max πνπ ζα
πιεθηξνινγήζεη ν ίδηνο ν ρξήζηεο!

23
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

3.5. Γηαδηθαζίεο (ζπλαξηήζεηο) ζηελ Python

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


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

>>> def first( ):


print(“hello, this is your first procedure”)

Γηα λα θαιέζσ ηε δηαδηθαζία πνπ κόιηο όξηζα, απιώο πιεθηξνινγώ:


>>> first( )

Τόηε ζα ηππσζεί ην κήλπκα πνπ ζέισ.

Η δηαδηθαζία athroisma
Αο θηηάμνπκε ηώξα κηα καζεκαηηθά ρξήζηκε δηαδηθαζία. Τν πξόγξακκα απηό ζα
δεηάεη 2 αθέξαηνπο αξηζκνύο από ηνλ ρξήζηε, ζα δηαβάδεη ηνπο 2 αξηζκνύο πνπ ζα
πιεθηξνινγεί ν ρξήζηεο θαη ζα ηππώλεη ην άζξνηζκά ηνπο.

Παξάδεηγκα:
>>> def athroisma ( ):
a=input(“Dose ton arithmo 1 edw ”)
b=input(“Dose ton arithmo 2 edw ”)
sum = int(a)+int(b)
print (“to athroisma tous einai ”, sum)

Πξνζνρή: ρξεζηκνπνηνύκε ηε ζπλάξηεζε int γηα λα βεβαησζνύκε όηη ε python ζα


ρεηξηζηεί ην a θαη ην b σο αθεξαίνπο θαη όρη σο strings. Γειαδή ε ζπλάξηεζε int
κεηαηξέπεη έλα string ζε αθέξαην.

Η δηαδηθαζία propaideia

Ζ δηαδηθαζία propaideia ζα δηαβάδεη από ην ρξήζηε έλαλ αξηζκό θαη ζα ηππώλεη ηελ
πξνπαίδεηά ηνπ:

Παξάδεηγκα:
>>> def propaideia( ):
vasi=int(input(“Dose enan arithmo ”))
for i in range(11):
apotelesma = i*vasi
print(i, “*”,vasi, “=”, apotelesma)
print (“Sas eyxaristoume. Geia sas”)

Ζ δηαδηθαζία απηή μεθηλά ηελ πξνπαίδεηα από ην 0 … αλαγθαζηηθά, γηαηί ην i μεθηλά


από ην 0. Σθεθζείηε κε πνηα αιιαγή ζα κπνξνύζε λα μεθηλά από ην 1.

24
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Η δηαδηθαζία dinami2

Αο θηηάμνπκε ηώξα κηα πξαγκαηηθά καζεκαηηθή δηαδηθαζία. Τν πξόγξακκα απηό ζα


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

Παξάδεηγκα:
>>> def dinami2( ):
a=int(input(“Dose tνn arithmo edw ”))
c=a*a
print (“to tetragono tou”, a, “isoutai me ”, c)

3.6. Η εληνιή απόθαζεο if


Σε όιεο ηηο γιώζζεο πξνγξακκαηηζκνύ ε εληνιή if είλαη ρξήζηκε ζε πνιιέο
πεξηπηώζεηο. Δδώ ζα ηελ ρξεζηκνπνηήζνπκε γηα λα θάλνπκε θάπνηνπο ειέγρνπο.

Ζ γεληθή κνξθή ηεο εληνιήο if είλαη:

If ζπλζήθε:
εληνιή α1
εληνιή α2
εληνιή α3

else:
εληνιή β1
εληνιή β2
εληνιή β3

Θα αμηνπνηήζνπκε ηώξα ηελ εληνιή if γηα λα θάλνπκε θάπνηνπο ειέγρνπο ζηε
δηαδηθαζία dinami( ) πνπ νξίζακε πην πάλσ. Σπγθεθξηκέλα, ζα ειέγρνπκε αλ ν
αξηζκόο πνπ πιεθηξνινγεί ν ρξήζηεο είλαη αξλεηηθόο ή ζεηηθόο. Αλ είλαη αξλεηηθόο,
ζα βγάδνπκε έλα κήλπκα πξνεηδνπνίεζεο γηα ηνλ ρξήζηε.

def dinami2( ):
x=int(input("Dose arithmo "))
if x<=0:
print("Prosoxi, edoses arnhtiko arithmo")
else:
z=x*x
print("To tetragono tou", x,"einai", z)

Ζ ζηνίρηζε ζηελ εληνιή if ρξεηάδεηαη ηδηαίηεξε πξνζνρή: ε ιέμε else πξέπεη λα είλαη
ζηνηρηζκέλε θάησ από ηε ιέμε if, ελώ όιεο νη εληνιέο πνπ εθηεινύληαη κε ην if ή ην
else πξέπεη λα είλαη ζηνηρηζκέλεο πην κέζα. Κάηη άιιν πνπ ρξεηάδεηαη πξνζνρή ζηελ
εληνιή if είλαη όηη αλ ζηε ζπλζήθε ειέγρνπκε ηζόηεηα, πξέπεη λα ρξεζηκνπνηήζνπκε

25
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

δηπιό ίζνλ, δειαδή ==. Έλα παξάδεηγκα ειέγρνπ ζπλζήθεο κε ίζνλ ζα κπνξνύζε λα
είλαη:
if arithmos == 0 :
print(„den ginetai diairesi me 0‟)

3.7. Γηαδηθαζίεο κε παξακέηξνπο ζηελ Python


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

Αο μαλανξίζνπκε ινηπόλ ηε δηαδηθαζία propaideia κε ηξόπν θαηάιιειν λα κπνξεί λα


ππνινγίδεη ηελ πξνπαίδεηα νπνηνπδήπνηε αξηζκνύ. Απηό ζα γίλεη ρξεζηκνπνηώληαο
κηα παξάκεηξν, ηελ παξάκεηξν number, ηελ νπνία ζα ρεηξηζηνύκε θαηάιιεια.

Πάκε ινηπόλ:

Παπάδειγμα 1:
>>> def propaideia(number):
for i in range(11):
apotelesma = i*number
print(i, “*”, number, “=”, apotelesma)
print (“Sas eyxaristoume. Geia sas”)

Σύκθσλα κε ηνλ παξαπάλσ νξηζκό, αλ θαιέζσ:


>>> propaideia (8)

Ζ παξάκεηξνο number ζα πάξεη ηελ ηηκή 8 θαη ηειηθά ζα ηππσζεί ε πξνπαίδεηα ηνπ 8.

Αληίζηνηρα, θαιώληαο:
>>> propaideia (51)

ζα θαηαθέξσ λα δσ ηελ πξνπαίδεηα ηνπ 51, αλ κπνξεί λα κνπ θαλεί ρξήζηκε ζε


θάηη…

Αο πξνρσξήζσ θαη ζε θαηάιιειε ηξνπνπνίεζε ηεο δηαδηθαζίαο dinami2 ώζηε λα


ιεηηνπξγεί κε παξάκεηξν ηνλ αξηζκό ηνλ νπνίν πςώλσ ζην ηεηξάγσλν:

Παπάδειγμα 2:

def dinami2(x):
y=x*x
print (“to tetragono tou”, x, “isoutai me ”, y)

θαη θαιώληαο dinami2(9) ζα πάξσ απνηέιεζκα 81, θαιώληαο dinami2(11) ζα πάξσ


απνηέιεζκα 121, θηι.

Αο αμηνπνηήζνπκε ηώξα ζην έπαθξν ηηο δπλαηόηεηεο πνπ αλαπηύμακε θαη αο


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

26
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

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

Παπάδειγμα 3:

def olokliromeno( ):
a=int(input(“Dose enan arithmo edw ”))
print(“Gia ton arithmo, theleis propaideia h tetragono?”)
choise=input(“Dose p gia propaideia h t gia tetragono”)
if choise== ”p” :
propaideia(a)
else:
dinami2(a)

Η δηαδηθαζία dinami

Αο θηηάμνπκε ηώξα κηα πην δύζθνιε καζεκαηηθή δηαδηθαζία. Τν πξόγξακκα απηό ζα


ππνινγίδεη ην a εηο ηελ k (ak), όπνπ ην ην a είλαη έλαο πξαγκαηηθόο αξηζκόο πνπ ζα
δίλεη ν ρξήζηεο θαη k είλαη o εθζέηεο ηνπ πνπ ζα επίζεο δίλεη ν ρξήζηεο. Ο ρξήζηεο,
ινηπόλ, ζα πιεθηξνινγεί έλαλ αξηζκό θαη έλαλ εθζέηε θαη ην πξόγξακκα ζα
ππνινγίδεη ηνλ αξηζκό πςσκέλν ζ‟απηόλ ηνλ εθζέηε.

Παξάδεηγκα:
>>> def dinami( ):
a=float(input(“Dose enan pragmatiko arithmo ”))
k=int(input(“Dose ton ektheth “)
c=1
for i in range(k):
c=c*a
print (“to”, a,”eis thn “, k, “isoutai me “, c)

Γηεπθξίληζε: νη ζπλαξηήζεηο int θαη float


Δμεγήζακε ήδε όηη ε ζπλάξηεζε int κεηαηξέπεη ην αιθαξηζκεηηθό (string) πνπ
δηαβάζακε ζε αθέξαην αξηζκό (integer). Με ηνλ ίδην ηξόπν, ζην πξνεγνύκελν
παξάδεηγκα, ε ζπλάξηεζε float κεηαηξέπεη ην αιθαξηζκεηηθό (string) πνπ δηαβάζακε
ζε πξαγκαηηθό αξηζκό (floating point number).

Αλαθεθαιαηώλνληαο:
 ΋ηαλ δίλσ int(A), κεηαηξέπσ ην Α ζε αθέξαην αξηζκό (integer)

 ΋ηαλ δίλσ float(A), κεηαηξέπσ ην Α ζε πξαγκαηηθό αξηζκό (floating point


number)

27
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

3.8. Δληνιέο θίλεζεο ηεο «ρειώλαο» ζηελ Python

Τν πεξηβάιινλ “turtle” ζηε γιώζζα Python


Δπεηδή ε Python είλαη κηα γιώζζα αλνηθηνύ θώδηθα, θάπνηνη πξνγξακκαηηζηέο
έθηηαμαλ όιεο ηηο εληνιέο θίλεζεο ηεο «γλσζηήο» καο ρειώλαο.

Γηα λα ζπκπεξηιάβνπκε απηέο ηηο εληνιέο ηεο ρειώλαο ζηε δνπιεηά καο, αξθεί λα
θαιέζνπκε κηα βηβιηνζήθε πνπ νλνκάδεηαη “turtle” κε ηελ εληνιή:
>>> from turtle import *
Πξόθεηηαη, ινηπόλ, γηα κηα εληνιή πνπ δίλνπκε ακέζσο ζηελ αξρή γηα λα κπνξνύκε
λα ρξεζηκνπνηήζνπκε ηα γξαθηθά ηεο ρειώλαο.

Οη βαζηθέο εληνιέο γηα ηελ ρειώλα καο είλαη:

- fd(A)
όπνπ A πξαγκαηηθόο αξηζκόο:
αλ A>0, ε ρειώλα θηλείηαη κπξνζηά, ελώ αλ Α<0 ε ρειώλα θηλείηαη
πξνο ηα πίζσ

- bk(A)
όπνπ A πξαγκαηηθόο αξηζκόο:
αλ Α>0, ε ρειώλα θηλείηαη πξνο ηα πίζσ, ελώ αλ Α<0 ε ρειώλα
θηλείηαη κπξνζηά. Σε θάζε πεξίπησζε ε ρειώλα δελ αιιάδεη
πξνζαλαηνιηζκό.

- undo( )
αλαηξεί ηελ ηειεπηαία εληνιή θαη ηα γξαθηθά ηεο ζβήλνληαη

- rt(A)
όπνπ A πξαγκαηηθόο αξηζκόο:
αλ Α>0, ε ρειώλα ζηξίβεη δεμηά θαηά όζεο κνίξεο πξνζδηνξίδεη ην
όξηζκα Α, ελώ αλ Α<0 ε ρειώλα ζηξίβεη πξνο ηα αξηζηεξά

- lt(A)
όπνπ A πξαγκαηηθόο αξηζκόο:
αλ Α>0, ε ρειώλα ζηξίβεη αξηζηεξά θαηά όζεο κνίξεο πξνζδηνξίδεη ην
όξηζκα Α, ελώ αλ Α<0 ε ρειώλα ζηξίβεη πξνο ηα δεμηά

- clear( )
ζβήλνληαη όια ηα γξαθηθά ζην παξάζπξν γξαθηθώλ. Ζ ρειώλα δελ
κεηαθηλείηαη θαζόινπ από ηε ζέζε ηεο.

- pencolor(“σπώμα”)
Τν κνιύβη παίξλεη ην ρξώκα πνπ πξνζδηνξίδνπκε. Σηηο επόκελεο
θηλήζεηο ηεο ρειώλαο, ην ίρλνο πνπ ζα αθήλεη ζα έρεη απηό ην ρξώκα
(κέρξη λα ην μαλαηξνπνπνηήζνπκε...)
Παξάδεηγκα: >>> pencolor(“green”)

- pensize(A)
όπνπ A αθέξαηνο αξηζκόο:
28
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

ην κέγεζνο ηνπ κνιπβηνύ γίλεηαη αθξηβώο ηόζα pixel όζα πξνζδηνξίδεη


ην Α

- bgcolor(“σπώμα”)
To θόλην (background) ηεο νζόλεο γξαθηθώλ παίξλεη ην ρξώκα πνπ
πξνζδηνξίδνπκε

- pu( )
H ρειώλα ζεθώλεη ην κνιύβη θαη δελ αθήλεη ίρλνο ζηηο επόκελεο
θηλήζεηο.

- pd( )
H ρειώλα θαηεβάδεη ην κνιύβη θαη γξάθεη θαλνληθά ζηηο επόκελεο
θηλήζεηο.
- goto(x,y)
H ρειώλα κεηαθηλείηαη θαη πεγαίλεη ζηε ζέζε πνπ πξνζδηνξίδνπλ νη
ζπληεηαγκέλεο x θαη y.
Παξαδείγκαηα: >>> goto(100,200)
>>> goto(-50,-50.5)
>>> goto(0,0)
H ηειεπηαία εληνιή goto(0,0) ζηέιλεη ηε ρειώλα ζην θέληξν ηεο
νζόλεο.

- hd( ) ή hideturtle( )
H ρειώλα εμαθαλίδεηαη από ην νξαηό πεδίν ηνπ ρξήζηε. Κηλείηαη
θαλνληθά θαη γξάθεη θαλνληθά, αιιά δελ θαίλεηαη θαζόινπ ζηελ νζόλε
ε ζέζε ηεο.

- st( ) ή showturtle
Ζ ρειώλα μαλαεκθαλίδεηαη ζηε ζέζε πνπ βξίζθεηαη (δειαδή αλαίξεζε
ηεο εληνιήο hd( ) ...)

- setheading(A)
Με απηήλ ηελ εληνιή δηαηάδνπκε ηε ρειώλα λα θνηηάμεη πξνο
ζπγθεθξηκέλε θαηεύζπλζε. Γειαδή πξνζδηνξίδνπκε ηε γσληά ζηελ
νπνία ζα θνηηάδεη.
Παξαδείγκαηα: >>> setheading(0)
>>> setheading(90)
Σην πξώην παξάδεηγκα, ε ρειώλα ζα θνηηάμεη δεμηά. Σην δεύηεξν
παξάδεηγκα, ε ρειώλα ζα θνηηάμεη πάλσ.

Δνηολέρ απλήρ πληποθόπηζηρ για ηον σπήζηη:

- heading( ) : Με απηήλ ηελ εληνιή, πιεξνθνξνύκαζηε απιώο γηα ηνλ


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

- pos( ) : Με απηήλ ηελ εληνιή, πιεξνθνξνύκαζηε απιώο γηα ηε ζέζε ηεο


ρειώλαο, ρσξίο λα ηελ αιιάδνπκε. Άξα, ε ζπλάξηεζε pos( ) επηζηξέθεη δπν
λνύκεξα: ην πξώην είλαη ε ζπληεηαγκέλε x ηεο ζέζεο ηεο ρειώλαο θαη ην
δεύηεξν είλαη ε ζπληεηαγκέλε y ηεο ζέζεο ηεο ρειώλαο.

29
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Γηαδηθαζίεο γηα θύθιν θαη ηεηξάγσλν


Θα νξίζνπκε ηώξα δπν θιαζηθά ρξήζηκεο δηαδηθαζίεο:
>>> def kiklos( ):
for i in range(360):
fd(1)
rt(1)
>>> def tetragono( ):
for i in range(4):
fd(100)
rt(90)

΋πνηε θαιώ: >>> kiklos( ) ζα θηηάρλσ έλα θύθιν. ΋πνηε θαιώ >>> tetragono( ) ζα
θηηάρλσ έλα ηεηξάγσλν κε πιεπξά 100.

Γηαδηθαζία ηεηξάγσλν κε παξάκεηξν ηελ πιεπξά


Καη αλαξσηηέηαη θάπνηνο βιέπνληαο ηελ πξνεγνύκελε δηαδηθαζία tetragono( )… Γηαηί
λα θηηάρλσ κόλν ηεηξάγσλα κε πιεπξά 100; Πώο κπνξώ λα γεληθεύζσ γηα λα ηηάρλσ
ηεηξάγσλν κε νπνηαδήπνηε πιεπξά;

Ήξζε ε ώξα γηα λα θηηάμσ ινηπόλ κηα ζςνάπηηζη με παπάμεηπο:

>>> def tetragono( plevra):


for i in range(4):
fd(plevra)
rt(90)

Καιώληαο >>> tetragono(50) ζα πεξάζσ ηνλ αξηζκό 50 ζηελ παξάκεηξν plevra θαη
ζα θηηάμσ ηειηθά έλα ηεηξάγσλν κε πιεπξά 50.

Καιώληαο >>> tetragono(100), ζα θηηάμσ έλα ηεηξάγσλν κε πιεπξά 100. Σθεθζείηε,


ινηπόλ, όηη γεληθεύζακε αξθεηά: tetragono(8), tetragono(236), θηι…

30
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Γηαδηθαζία asteri κε παξάκεηξν ηελ πιεπξά


Αο πάκε ζε θάηη πην εληππσζηαθό:

>>> def asteri(plevra):


for i in range(360):
fd(plevra)
bk(plevra)
rt(1)

Αλ εθηειέζσ ηελ εληνιή:


>>> asteri(150)

ην απνηέιεζκά ηεο θαίλεηαη δίπια.


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

Γηαδηθαζία asteri_beltiomeno
Ζ ιύζε, ινηπόλ, ζην πξνεγνύκελν πξόβιεκά καο είλαη λα γίλνπλ πην αξαηέο νη
αθηίλεο:
>>> def asteri_beltiomeno(plevra):
for i in range(36):
fd(plevra)
bk(plevra)
rt(10)

Αλ ηώξα εθηειέζσ ηελ εληνιή:


>>> asteri_beltiomeno(200)

ην απνηέιεζκά καο είλαη πξάγκαηη βειηησκέλν.

Αο θάλνπκε κηα ζεκαληηθή παξαηήξεζε: αθνύ ζε θάζε αλαθύθισζε ζηξίβσ δεμηά


θαηά 10ν (rt(10)), αξθεί λα εθηειέζσ ηελ αλαθύθισζε 36 θνξέο (in range(36)), ώζηε
λα θιείζεη ν θύθινο ησλ 360ν.

31
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

3.9. Αληηθείκελα ηεο θιάζεο Turtle


Ήξζε ε ώξα λα εθκεηαιιεπηνύκε ηηο θιάζεηο ηεο Python. Σπγθεθξηκέλα, ζα νξίζνπκε
δπν αληηθείκελα ηεο θιάζεο Turtle, δειαδή 2 ρειώλεο πνπ ζα θηλνύληαη παξάιιεια:
alex θαη gina

Γίλνπκε ηηο εληνιέο:


>>> alex = Turtle( )
>>> gina = Turtle( )

Τώξα ζα νξίζνπκε δηαθνξεηηθέο ηδηόηεηεο (attributes) γηα ηα αληηθείκελα:


>>> alex.pencolor (“blue”)
>>> alex.pensize ( 5 )
>>> gina.pencolor (“pink”)
>>> gina.pensize ( 10 )

Σηε ζπλέρεηα ζα θάλνπκε ηα αληηθείκελα – ρειώλεο λα θηλεζνύλ ρξεζηκνπνηώληαο


κεζόδνπο, δειαδή εληνιέο:
>>> alex.rt(90)
>>> alex.fd(100)
>>> gina.fd(80)

Αο θάλνπκε θη έλα ηεηξάγσλν κε ην αληηθείκελν alex:


>>> for i in range(4):
alex.fd(50)
alex.rt(90)

Θα ζβήζνπκε ηώξα όια ηα γξαθηθά πνπ έθαλαλ ηα αληηθείκελά καο:


>>> alex.clear ( )
>>> gina.clear ( )

Με πξνζνρή, ρσξίο λα γξάθνπκε, ζα ζηείινπκε ηα αληηθείκελα ζε ζπγθεθξηκέλεο


ζπληεηαγκέλεο:
>>> alex.pu( )
>>> alex.goto ( 100 , -100 )
>>> alex.pd( )
>>> gina.pu( )
>>> gina.goto( -100 , 100 )
>>> gina.pd( )

Ήξζε ε ώξα, ινηπόλ, λα εθκεηαιιεπηνύκε ζην έπαθξν ηηο δπλαηόηεηεο ηνπ


αληηθεηκελνζηξαθνύο πξνγξακκαηηζκνύ, νξίδνληαο γεληθέο δηαδηθαζίεο κε παξάκεηξν
ηε ρειώλα πνπ ζέινπκε λα θηλείηαη!

Αληηθείκελα πνπ είλαη παξάκεηξνη ζε δηαδηθαζίεο !


Αο μαλανξίζνπκε, ινηπόλ, ηε δηαδηθαζία asteri. Ζ δηαδηθαζία asteri ζα έρεη 2
παξακέηξνπο: ηελ παξάκεηξν antikeimeno πνπ καο ιέεη πνηα ρειώλα θηλείηαη θαη ηελ
παξάκεηξν plevra πνπ καο ιέεη πόζν θηλείηαη.

32
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

>>> def asteri ( antikeimeno , plevra ) :


for i in range(8) :
antikeimeno.fd ( plevra )
antikeimeno.bk ( plevra )
antikeimeno.rt ( 45 )

Μεηά ηνλ νξηζκό ηεο δηαδηθαζίαο, αλ θαιέζνπκε:


>>> asteri ( alex, 100)
>>> asteri (gina, 80)

ην αληηθείκελν alex ζα δσγξαθίζεη έλα αζηέξη κε πιεπξά 100 θαη ην αληηθείκελν gina
έλα αζηέξη κε πιεπξά 80.

Αληηθείκελα πνπ θηλνύληαη κε κηα εληνιή for


Καη γηα λα θάλνπκε ηα πξάγκαηα αθόκα πην πνιύπινθα, αο ηξέμνπκε ηε δηαδηθαζία –
πξόγξακκα asteri θαη γηα ηηο δπν ρειώλεο καο ζπγρξόλσο:

>>> for a in ( alex , gina ) :


asteri ( a , 50 )

Ζ κεηαβιεηή a ζα πάξεη ηηκέο ζην ζύλνιν (alex, gina) θαη γηα θάζε ηηκή ηνπ a, ζα
εθηειέζνπκε ηελ εληνιή asteri ( a , 50 ). Γειαδή, alex θαη gina ζα δσγξαθίζνπλ από
έλα αζηέξη κε πιεπξά 50, ζηε ζέζε πνπ βξίζθεηαη ην θάζε αληηθείκελν.

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


θάζε ινγηθόο άλζξσπνο ζα ξσηνύζε: γηαηί ηόζε πνιππινθόηεηα ; Γηαηί δελ θάλνπκε
ηα πξάγκαηα πην απιά ; Γηαηί λα δίλνπκε ηελ εληνιή:
«for a in ( alex , gina ) : asteri ( a , 50 )»

ελώ ζα κπνξνύζακε λα πνύκε πην απιά:


«asteri (alex , 50 )» θαη «asteri (gina , 50)».

Γελ θάλεη ην ίδην ;

Ζ απάληεζε ζ‟απηό ην εύινγν εξώηεκα ζρεηίδεηαη κε ην πόζν θαιόο


πξνγξακκαηηζηήο ζέιεη λα γίλεη θάπνηνο. Καη γηα λα θαηαιάβνπκε ηελ αμία ηεο
αλαθύθισζεο for, αο ζθεθηνύκε ηη ζα γηλόηαλ αλ αληί γηα 2 ρειώλεο αληηθείκελα,
είρακε 22 ή 202 ρειώλεο αληηθείκελα. Τόηε, ζίγνπξα θεξδίδνπκε κε κηα εληνιή ηνπ
ζηπι: «for a in (alex,gina,mina,john,nick,mike,eva,lin,laura, …) !

3.10. Πώο λα εγθαηαζηήζσ ηελ Python

Καηέβαζκα θαη εγθαηάζηαζε ηεο Python


Μπνξνύκε κε πνιύ απιό ηξόπν λα εγθαηαζηήζνπκε ηε γιώζζα Python ζηνλ
ππνινγηζηή καο. Δπεηδή ε Python είλαη έλα αλνηθηό δσξεάλ πξνγξακκαηηζηηθό
πεξηβάιινλ, είλαη θηηαγκέλν κε ηέηνην ηξόπν ώζηε λα κπνξεί λα ηξέμεη ζε όπνηνλ ΖΥ
ζέινπκε ρσξίο λα ηνλ επηβαξύλεη.

33
Εθπαηδεσηήρηο “TO ΠΑΓΚΡΗΤΙΟΝ" - Πιεροθορηθή Γ΄ Γσκλαζίοσ

Γηα λα εγθαηαζηήζνπκε ηελ Python κπνξνύκε λα πάκε ζηε ζειίδα:


> www.python.org

Ακέζσο εκθαλίδεηαη ε επηινγή:


> download the latest version

Κάλνληαο θιηθ εθεί θαη αθνινπζώληαο ηηο (εύθνιεο) νδεγίεο, εγθαζηζηνύκε ηελ
Python κόληκα ζηνλ ΖΥ καο. Από εθεί θαη πέξα, θάζε θνξά πνπ θάλνπκε θιηθ ζην
ζρεηηθό εηθνλίδην, ηξέρνπκε ηo πξνγξακκαηηζηηθό πεξηβάιινλ ηεο Python.

34

You might also like