Π Ν ΠΙ ΣΗΜΙΟ Π ΣΡΧΝ - ΠΟΛΤΣ ΥΝΙΚΗ ΥΟΛΗ ΣΜΗΜ ΗΛ ΚΣΡΟΛΟΓΧΝ ΜΗΥ ΝΙΚΧΝ & Σ ΥΝΟΛΟΓΙ ΤΠΟΛΟΓΙ ΣΧΝ
|
|
- Ἀλκμήνη Ζαχαρίου
- 6 χρόνια πριν
- Προβολές:
Transcript
1 Π Ν ΠΙ ΣΗΜΙΟ Π ΣΡΧΝ - ΠΟΛΤΣ ΥΝΙΚΗ ΥΟΛΗ ΣΜΗΜ ΗΛ ΚΣΡΟΛΟΓΧΝ ΜΗΥ ΝΙΚΧΝ & Σ ΥΝΟΛΟΓΙ ΤΠΟΛΟΓΙ ΣΧΝ ΣΟΜ ΣΗΛ ΠΙΚΟΙΝΩΝΙΩΝ & Σ ΧΝΟΛΟΓΙ ΣΗ ΠΛΗΡΟΦΟΡΙ ΡΓ ΣΗΡΙΟ Ν ΤΡΜ ΣΗ ΣΗΛ ΠΙΚΟΙΝΩΝΙ ΗΜΙΟΤΡΓΙ Ι ΚΠ Ι ΙΚΣΤ ΚΗ ΠΛ ΣΦΟΡΜ ΤΣΙΚΧΝ Π ΙΥΝ ΙΧΝ ΙΠΛΧΜ ΣΙΚΗ ΡΓ Ι Γ ΧΡΓΙ Υ. Μ ΡΓ ΡΙΣΗ ΠΙ Λ ΠΧΝ: Κ. Γ ΡΜΠ λδγησμ δζωη δεάμ λΰ έμ: Π ΣΡ - ΟΚΣΧ ΡΙΟ 2017
2 ΠΙ ΣΟΠΟΙΗ Η Πδ κκδ έ δ σ δ β δζη δεά λΰ έ η γϋη: βηδκλΰέ δ δε εάμ Πζ φσλημ εδ δεθ Πδχθδ δθ Σβμ φκδ ά λδμ κ ηάη κμ Ηζ ε λκζσΰθ Μβξθδεθ & Σ ξθκζκΰέμ Τκζκΰδ θ Γ ωλΰέμ Μλΰλέ β (.Μ ) λκ δϊ βε βησ δ εδ ι Ϊ βε κ Σηάη Ηζ ε λκζσΰθ Μβξθδεθ & Σ ξθκζκΰέμ Τκζκΰδ θ δμ / / Ο δίζϋθ Ο δ γθ άμ κ ΣκηΫ Κ. ΰΪλημ Ν. Φεω Ϊεβμ θ.κγβΰβ άμ Κγβΰβ άμ
3 ΣΙΣΛΟ : βηδκλΰέ δ δε εάμ Πζ φσλημ εδ ΤΓΓΡ Φ δεθ Πδχθδ δθ : Γ λΰέ Χ. Μλΰλέ β (.Μ ) Π ΡΙΛΗΦΗ βθ λκτ δζη δεά λΰ έ λκ δϊ δ β βηδκλΰέ ηδμ δ δε εάμ ζ φσλημ η εδ δεσ ξλε άλ σ κθ φκλϊ κθ λκΰληη δ ησ. βθ ζ φσλη κδ ξλά μ ηκλκτθ θ ΰΰλφκτθ εδ β θϋξ δ θ θ ίϊ κθ ζκκδά δμ θ ζΰκλέγηθ κμ ΰδ εϊκδκ δξθέ δ. Ο ε δεμ η ΰζ έ δ εδ β θϋξ δ ε ζ έ δ θ θη λβγ έ η ζκκέβ β κ έ δκ δξθδ δκτ εϊκδκ Ϊζζκ έε β. ΜΫ βμ ζ φσλημ έθ δ εση β θ σ β βηδκλΰέμ λ γζβηϊ θ εδ β θϊ διβ, η Ϊ σ ε Ϊζζβζκ λδγησ ΰτλθ δξθδ δκτ, θσμ θδεβ ά. ζέ δ βμ λΰ έμ θ τξγβε β κ άλδιβ ΰδ δξθέ δ «λέζδ» εδ «4 β δλϊ». Όζ μ κδ θη λά δμ δε θ εδ κδ ΰτλκδ θ λ γζβηϊ θ έθκθ δ εδ θ θλ Ϊ δμ θ δξθδ δθ ίάη-ίάη, θ έθδ φάμ β ιϋζδιβ κ δξθδ δκτ εδ κδ ξλά μ θ ηκλκτθ θ κθ δμ εδθά δμ κ Ϋζ ιθ κδ ζΰσλδγηκέ κμ. ABSTRACT This diploma dissertation presents the creation of an educational web platform related to programming. Through the platform, users can register and upload the programs the created for a game. The code is compiled and then eecuted to pla against another plaer s program. The platform offers also the option to arrange contests and result through rounds of eliminations to a final winner. In this project the games that have been developed are Tic Tac Toe and Connect 4. All of the games and the contest rounds can be designed in a simple wa to show step-b-step the progress of a game so that the plaers can check what moves did their programs do. 3
4 Π λδ ξση θ...4 Κ φϊζδκ 1: δ ΰΰά 1.1. σξκμ εδ κηά βμ λΰ έμ Χλβ δησ β Πλε δεϋμ εκζέ μ βθ ζκκέβ β Πλσηκδ μ λκ δμ - ΛκδΫμ ζβλκφκλέ μ...8 ΰΰέ Κ φϊζδκ 2: Γ θδεϋμ Γθ 2.1. β Ϊλξκ δμ μ ζ φσλη μ Online Judges Οδ δκ ΰθ 2.2. λΰζ έ εδ ΰζ Ϋμ ζ φσλη μ εδ ξλε βλδ δεϊ κμ...10 μ λκΰληη δ ηκτ κ ξλβ δηκκδάγβεθ WAMP Apache MSQL PHP HTML - CSS - Javascript Πδξθέ δ Θ λέ Σλέζδ β δλϊ...20 Κ φϊζδκ 3: φληκΰά 3.1. Γ θδεϊ - θ σ β μ βμ ζ φσλημ Ϊ β κηϋθθ ΰΰλφά εδ έ κ κμ κ τ βη...24
5 3.4. ΚζΪ β ΰδ β ΰζ λκΰληη δ ηκτ C δδ β άμ ΚζΪ β δδ β ά λέζδμ ΚζΪ β δ β ά «4 β δλϊ» θϋί η λξ έκ ε Ϋζ β δξθδ δκτ Πλ γζάη θ εσβ β δξθδ δθ γηκζκΰδεά ε Ϊ ιβ Τζκκδά δμ δξθδ δθ β C Κ δεμ C ΰδ βθ λέζδ Κ δεμ C ΰδ κ 4 Κ φϊζδκ 4: Πλ 4.1. Ο βΰέ μ ΰε Ϊ β δλϊ...41 έΰη Χλά βμ βμ Ο βΰέ μ ξλά βμ...46 Κ φϊζδκ 5: Μ ζζκθ δεϋμ ζ δ δμ εδ ι ζέι δμ...59 δίζδκΰλφέ...61 ΠλΪλ βη 1 : Κ δεμ PHP...63 ΠλΪλ βη 2 : Κ δεμ HTML-CSS...89 ΠλΪλ βη 3 : Κ δεμ C ζκκέβ βμ δχθδ δθ...92 ΠλΪλ βη : Ϊ β κηϋθωθ ΠλΪλ βη Γ : Ο βΰέ μ δ ΰωΰάμ θϋκ δχθδ δκτ ά ΰζ μ λκΰληη δ ηκτ
6 Κ Φ Λ ΙΟ 1 Ι ΓΩΓΗ 1.1. σχκμ εδ κηά βμ λΰ έμ σξκμ βμ λκτ μ λΰ έμ έθδ β θϊ ιβ ηδμ εδ δεάμ ζ φσλημ η εκσ κθ ηζκ δ ησ βμ δ εζέμ θ ηγβηϊ θ λκΰληη δ ηκτ, λκε δηϋθκ θ ΰέθ δ δκ θ δφϋλκ εδ ξϊλδ β β θ ξσζβ β θ εδ κηϋθθ η κ ΰε ελδηϋθκ θ δε έη θκ. Η δ Ϋ βμ βηδκλΰέμ ηδμ Ϋ κδμ ζ φσλημ θ έθδ εϊ δ εδθκτλΰδκ. Οδ λ μ ζ φσλη μ Ϋ κδκ έ κμ θ τξγβεθ δμ λξϋμ βμ ε έμ κ 90 ζζϊ έξθ λδκλδ ηϋθ μ θ σ β μ. Η Ϊλκ κμ κ ξλσθκ Ϋφ λ β βηδκλΰέ λδ σ λθ Ϋ κδθ βηϊ θ εδ εση λδ σ λ μ θ σ β μ εδ ξλε βλδ δεϊ. Η κθκη έ κ κμ σγβε εδ Ϋξ δ δελ ά δ θ σλκμ έθδ Online Judges. Πλ έΰη Ϋ κδθ βηϊ θ εδ κδ θ σ β Ϋμ κμ γ θζγκτθ βθ θσ β 2.1. Η σζκ εδ η ΰζτ λβ δϊ κ β κ λκΰληη δ ηκτ σημ κ βΰ έ βθ θϊΰεβ θ βηδκλΰκτθ δ εδ θ θ τ κθ δ δλεμ Ϊ άη. ζέ δ άμ βμ θϊΰεβμ ζκδσθ βηδκλΰάγβε εδ β δ δε εά ζ φσλη βμ ΰε ελδηϋθβμ λΰ έμ, β κκέ Ϋξ δ σξκ θ λϋξ δ η ΰΪζκ ίγησ ξλβ έμ, σ κ ΰδ κ ξλά β σ κ εδ ΰδ κ δξ δλδ ά, εδ θ λκ φϋλ δ Ϋθ τθκζκ σ θ δφϋλκ μ δζκΰϋμ, θ ιβλ ά δ σ κ κ θ σθ εζτ λ κ εκσ βμ. Η λκτ λΰ έ κ ζ έ δ σ Ϋθ ε φϊζδ. κ Κ φϊζδκ 1 ΰέθ δ ηδ λ β ικδε έ β η κ θ δε έη θκ κ λΰη τ δ εδ έθ δ ηδ λ β δ Ϋ ΰδ κ μ γ θζγ έ, θ κ Κ φϊζδκ 2 θζτκθ δ γ λβ δεϊ κδ ΰθ δμ κ ξλ δϊ δ εϊκδκμ θ ηκλϋ δ θ ε θκά δ κθ λσκ ζκκέβ βμ εδ θϊ ιβμ βμ ζ φσλημ. Η θζ δεά λκ έ β βμ ζ φσλημ εδ κδ θ σ β Ϋμ βμ έθκθ δ κ Κ φϊζδκ 3 εδ κ Κ φϊζδκ 4 λκ δϊκθ δ λ έΰη ξλά βμ εδ κ βΰέ μ ΰδ βθ ΰε Ϊ β ζζϊ εδ β ξλά β βμ. Κζ έθκθ μ, κ Κ φϊζδκ 5 λδζηίϊθ δ δ Ϋ μ ΰδ η ζζκθ δεϋμ ί ζ δ δμ εδ ηζκ δ ησ βμ ζ φσλημ θ δλσ γ λδζηίϊθκθ δ λλ άη η κθ ε δε κ βηδκλΰάγβε ΰδ βθ θϊ ιβ βμ ζ φσλημ Υλβ δησ β Πκζζκέ θϋκδ σ θ δξ δλκτθ λ κμ ίάη κθ λκΰληη δ ησ ξλ δϊκθ δ Ϋθ δζϋκθ Ϋθ η θ ξκζβγκτθ η η ΰζτ λκ θγκ δ ησ 6
7 η κ θ δε έη θκ. Ο θΰθδ ησμ η Ϊζζ Ϊ κη θ έ δθ θ δφ λσθ θ, δξθέ δ βμ εγβη λδθσ β μ, έθ δ σ κ δζϋκθ εέθβ λκ εδ η λϋ δ βθ εηϊγβ β ξσηδ. ΠζΫκθ, κ θ κ δ ξγάμ κθ λκΰληη δ ησ ηκλ έ ηϋ ηδμ δ δε εάμ δ λ δεάμ ζ φσλημ θ δ κθ ε δε κ βηδκλΰ έ θ κε Ϊ θσβη, θ ζκκδ έ εδ θ θ ΰθέ δ δξθέ δ, κκέ Ϋμ λ ηη έξ θ ξλά βμ. θεζτ δ Ϋ δ βθ ί δεά δ Ϋ κ λκΰληη δ ηκτ, κ ΰ ΰκθσμ σ δ ηκλκτη τεκζ θ η λκτη σ ξλά μ βηδκλΰκτμ. σ βθ Ϊζζβ ζ λϊ, ά κ εδ δεκτ, β δ δε έ ζϋΰξκ κ ε δε ΰέθ δ δκ τεκζβ σγ β, εγμ ηκλ έ θ δ κθ λσκ θ δη δ βμ κ λκίζάη κμ σζθ θ ηγβ θ/φκδ β θ ΰε θ λ δεϊ εδ σξδ θ ζϋΰξ δ εϊγ ε δε η ηκθηϋθ. Η δ εζέ ΰέθ δ δκ ξϊλδ β εδ ΰδ κθ έ δκ φκτ κδ εδ ση θκδ Ϋξκθ η ΰζτ λβ δϊγ β ΰδ ηϊγβ β. Η θ σ β βμ κλΰϊθ βμ λ γζβηϊ θ κ λκ φϋλ δ σ βθ ζ φσλη εδ θζτ δ βθ θσ β 3.5, ηκλ έ θ ξλβ δηκκδβγ έ θ θδ ξτ δ εδ θ δ εκζτθ δ βθ δ δε έ ιδκζσΰβ βμ θ φκδ β θ Πλε δεϋμ εκζέ μ βθ ζκκέβ β Οδ εκζέ μ κ Ϋλ θ θ δη δ κτθ ε Ϊ βθ ζκκέβ β φκλκτθ ελέμ βθ ι β βηϋθβ ζ δ κλΰέ κτ κ έ κμ βηϊ θ εδ βθ Ϋζζ δοβ ζβλκφκλδθ σ κ κ γϋη βμ ίδίζδκΰλφέμ σ κ εδ κ Ϊ δκ βμ ζκκέβ βμ. Ο ε δεμ κ βηδκλΰάγβε Ϋλ θ ζκκδβγ έ ι κζκεζάλκ σ βθ λξά, ξλέμ εηέ ίϊ β θφκλϊμ, εγμ κδ θ έ κδξκδ ε δε μ Ϊζζθ βηϊ θ έθδ εζ δ κέ ΰδ κ εκδθσ. έ βμ, κδ η ΰΪζκ τλκμ θ σ β μ κ λκ φϋλκθ κδ ΰζ μ λκΰληη δ ηκτ κ ξλβ δηκκδάγβεθ δ κτ θ κζτλ μ θβ ά δμ εδ κεδηϋμ λκε δηϋθκ θ ιδκκδβγκτθ κ Ϋελκ. θ λέζκεκ λκΰληη δ δεσ ηϋλκμ κ ζ έ β δεκδθθέ η ιτ ΰζ θ λκΰληη δ ηκτ δφκλ δεθ ε βΰκλδθ. Γδ β θ λΰ έ, ΰδ λϊ δΰη, PHP εδ C δ έ δ β ξλά β θλ ά θ ΰδ δμ κκέ μ θ Ϊλξκθ λε Ϊ λ έΰη ξλά βμ ά κ έι δμ ξ δεϋμ η βθ ζζβζ έ λ ά κμ εδ ξλ δϊ βε θ ΰέθκθ κζζϋμ κεδηϋμ εδ θϊζ β θ ε θκβγκτθ εδ θ ιδκκδβγκτθ ζάλμ. Μέ σ δμ θ σ β μ βμ ζ φσλημ έθδ β online η ΰζ δ β ε δε C, κ κ ζ έ σ ησθκ κ ηδ τ εκζβ εδ ξλκθκίσλ βθ ζκκέβ β φληκΰά. θ εση τ εκζκ εκηηϊ δ ά θ β τΰξλκθβ δεκδθθέ κ ί δεκτ λκΰλϊηη κμ ( δδ β άμ) εδ θ λκΰληηϊ θ θ δξθδ δθ (Πέε μ) η β ίϊ β κηϋθθ. Οδ έε μ κ ΰθέκθ δ ηϋ θ λκΰληηϊ θ κμ έκθ λϊζζβζ εδ Ϋλ Ϋ δ θ Ϊλξ δ θ ξάμ εδ Ϊη β δεκδθθέ κμ η β ίϊ β εγμ εδ Ϊη β λκ έ β εϊγ ΰτλκ δξθδ δκτ κμ ξλά μ. Η θ σ β ε δησ β μ λσ γ δζϋκθ εκζέ βθ ζκκέβ β βμ λΰ έμ εγμ Ϋλ θ ιδκκδβγ έ ζάλμ β θ σ β βμ PHP ΰδ θ δε δη θκ λφά λκΰληη δ ησ, ηδ θ σ β κ Ϋξ δ λκ γ έ δμ ζ έ μ ε σ δμ βμ ΰζ μ. θ ζκδσθ λέ β κ θ ξ δ έ Ϋ δ κ ε δεμ θ δ έ δ ζϊξδ κμ λδγησμ ζζΰθ, λέ β κ εϊκδκμ γ ζά δ θ λκ γϋ δ βθ κ άλδιβ εϊκδμ ΰζ μ λκΰληη δ ηκτ ά εϊκδκ θϋκ δξθδ δκτ. 7
8 1.4. Πλσηκδ μ λκ ΰΰέ δμ - ΛκδΫμ ζβλκφκλέ μ Όμ θφϋλγβε εδ βθ θσ β 1.1 Ϋξκθ ΰέθ δ ζκκδά δμ λε θ λσηκδθ βηϊ θ, εγϋθ σ κκέ λϋξ δ κζζϋμ εδ δφκλ δεϋμ θ σ β μ. Π λδ Ϋλ ξ δεά θϊζ β, γ ΰέθ δ κ ση θκ ε φϊζδκ. βθ ζζϊ θ Ϊλξ δ εση εϊκδ ΰθ ά θ έ κδξβ ζ φσλη εδ σμ ά θ Ϋθμ σ κμ ζσΰκμ έ σ βθ δ Ϋ βμ ΰε ελδηϋθβμ λΰ έμ, β κκέ θ τξγβε Ϋ δ θ λκ φϋλ δ β θ σ β τεκζβμ Ϋε βμ, η σξκ θ ηκλϋ δ κ ηϋζζκθ θ θ ΰθδ έ δμ ά β Ϊλξκ μ ζ φσλη μ θ Πθ δ βηέθ κ ι λδεκτ. 8
9 Κ Φ Λ ΙΟ 2 Γ ΝΙΚ ΓΝΩ Ι 2.1. Ή β Ϊλχκ μ ζ φσλη μ Online Judges Οδ ζ φσλη μ Online Judges έθδ ζϋκθ δ δέ λ βηκφδζ έμ η ιτ θ λκΰληη δ θ εγμ λκ φϋλκθ β θ σ β ιϊ εβ βμ εδ ί ζ έ βμ κθ ζΰκλδγηδεσ εδ λκΰληη δ δεσ λσκ θ δη δ βμ λκίζβηϊ θ. ΠλΫξκθ Ϋθ τθκζκ λκίζβηϊ θ ΰδ εγϋθ σ κκέ Ϊλξ δ λκεγκλδ ηϋθβ Ϋικ κμ κ ΰελέθ δ η δμ ισ κμ θ λκΰληηϊ θ θ ξλβ θ. Σ λδ σ λ σ Ϊ άη λϋξκθ β θ σ β θ ζϋΰι δμ εδ θ λκκκδά δμ κ λσΰληηϊ κ λκ κτ κίϊζ δμ βθ ζδεά κ Ϋε κ β. Η δ δε έ κ εκζκγκτθ έθδ: η ΰζ δ β κ ε δε, ε Ϋζ ά κ εδ Ϋζ ΰξκμ βμ ισ κ η λκεγκλδ ηϋθ σ κ τ βη κηϋθ. Σ δκ θ ΰηΫθ Online Judges κ βλέκθ β δκλΰϊθ β δΰθδ ηθ, βζ ά λ γζβηϊ θ κκέ θ ΰθέκθ δ ζκκδά δμ δε θ ΰδ Ϋθ ά λδ σ λ λκίζάη. κζζϊ σ Ϊ άη λϋξ δ έ βμ ηδ ζέ ε Ϊ ιβμ δε θ η ίγηκζκΰέ, β κκέ λκετ δ σ κ τθκζκ θ λκίζβηϊ θ κ Ϋξ δ ζκκδά δ κ ξλά βμ εδ βθ κλγσ β θ λκΰληηϊ θ κ. Σ άη Online Judges ξλβ δηκκδκτθ δ σ δϊφκλ μ εκδθσ β μ, θ δ άηδ εδ δλ έ μ, κδ κκέ μ γϋζκθ θ κλΰθ κθ δΰθδ ηκτμ ζβλκφκλδεάμ δφσλθ δ θ. Η ACM ΰδ λϊ δΰη, ηδ σ δμ η ΰζτ λ μ λ θβ δεϋμ εδ εδ δεϋμ εκδθσ β μ ζβλκφκλδεάμ ΰεκ ηέμ, δκλΰθθ δ εϊγ ξλσθκ κθ δΰθδ ησ ACM International Collegiate Programming Contest (ACM-ICPC)1,16, η βθ ξκλβΰέ βμ IBM, ηδμ σ δμ η ΰζτ λ μ δλ έ μ ξθκζκΰέμ ζβλκφκλδθ. Ο δΰθδ ησμ σμ δ ιϊΰ δ εϊγ ξλσθκ, ηη Ϋξκθ θ δ άηδ σζκ κθ εσ ηκ εδ γ λ έ δ κ η ΰζτ λκμ δΰθδ ησμ ζβλκφκλδεάμ ΰεκ ηέμ. Ό κθ φκλϊ κ λκΰληη δ δεσ κ ηϋλκμ, κ δΰθδ ησμ φδζκι θ έ δ εϊγ ξλσθκ Online Judges δφσλθ η ΰΪζθ θ δ βηέθ θϊ κθ εσ ηκ. Οδ ζ φσλη μ Ϋμ ξλβ δηκκδκτθ δ έ βμ ξθϊ σ δλ έ μ κ δγηκτθ θ λκ ζϊίκθ λκΰληη δ Ϋμ ΰδ λΰ έ (.ξ. codilit17). ΜΫ σ δΰθδ ηκτμ θ δεθτκθ δ λκ σθ κ εϊγ ξλά β εδ η σ κθ λσκ δζϋΰκθ δ κδ η ζζκθ δεκέ λΰση θκδ βμ δλ έμ. ΠζΫκθ β ΰΰλφά κ τ βη εδ β ξλά β θσμ Online Judge γ λ έ δ κηϋθβ ΰδ εϊκδκθ κ ξκζ έ δ η κθ λκΰληη δ ησ. θϊζκΰ η β εκζέ θ λκίζβηϊ θ κ έθδ γϋ β θ θ δη έ δ εδ δμ ΰζ μ λκΰληη δ ηκτ κ ΰθλέ δ δζϋΰ δ Ϋθ ά λδ σ λ άη εδ ι ε έ δμ ΰθ δμ κ, θ λϊζζβζ θ ΰθέ δ Ϊζζκμ έε μ θ θϋί δ βθ 9
10 ίγηκζκΰδεά ε Ϊ ιβ κ εϊγ άη κμ. ΤΪλξ δ ζβγλ ελδ βλέθ τηφθ η κκέ κ εϊγ ξλά βμ ηκλ έ θ δζϋι δ κδκμ Online Judge έθδ κ ε ζζβζσ λκμ ΰδ σθ. Μ λδεϊ σ Ϊ έθδ: Ν λκ φϋλ δ ιδσδ κμ ζϋΰξκμ θ ζτ θ θ ξλβ θ Ν λκ φϋλ δ κδεδζέ λκίζβηϊ θ εδ κ άλδιβ δεθκκδβ δεκτ λδγηκτ ΰζ θ λκΰληη δ ηκτ Οδ ζκκδά δμ θ λκίζβηϊ θ λϋ δ θ ελέθκθ δ Ϊη εδ κ ξλά βμ θ έλθ δ ηϋ μ Ϊθ β β ΰδ β ζτ β κ, θ ιϊλ β σ κθ λδγησ θ ηη ξσθ θ Οδ ζέ μ βμ ίγηκζκΰέμ (ranklists) λϋ δ θ θβη λθκθ δ Ϊη δ εκζτθ δμ ξλβ θ σμ.ξ. ι λΰ έ κ ε δε, ξκζδ ησμ θ λκίζβηϊ θ ε.. δ εκζτθ δμ σ κμ γϋζκθ θ δ Ϊΰκθ δεϊ κμ λκίζάη : εκζέ δ ΰΰάμ εδ ι λΰ έμ κ λκίζάη κμ, θ σ β θ ζϋΰξκ θσμ λκίζάη κμ, θ σ β λϊ βμ εδ θλκΰληη δ ηκτ θσμ δΰθδ ηκτ ε.. γ λσ β εδ ιδκδ έ θ servers θ ηβθ βηδκλΰκτθ δ λκίζάη λδ δμ λ γζβηϊ θ, σκ ηη Ϋξ δ η ΰΪζκμ λδγησμ ξλβ θ Ν λκ φϋλ δ λ Ϊθ β θ σ β φδζκι θέμ θσμ δΰθδ ηκτ Ν λκ φϋλ δ ξτ β βθ ζκάΰβ β εδ κ θϋί η κ ε δε τηφθ ζκδσθ η σζ λϊθ ελδ άλδ, Ϊλξκθ εϊκδ μ ζ φσλη μ κδ κκέ μ ι ξλέκθ η ιτ Ϊζζθ εδ έθδ κδ δκ βηκφδζ έμ η ιτ θ ξλβ θ Οδ δκ ΰθω Ϋμ ζ φσλη μ εδ χλε βλδ δεϊ κμ ΚΪγ ζ φσλη λκ φϋλ δ δφκλ δεϋμ θ σ β μ εδ σ δμ εϊθ δ θ δφκλκκδκτθ δ βηθ δεϊ η ιτ κμ. θ ηκλκτη θ ηδζά κη ΰδ «ζ κθ ε άη» εδ «η δκθ ε άη» βμ εγ ηδϊμ, ζζϊ ΰδ ξλε βλδ δεϊ η ίϊ β κκέ κ εϊγ λκΰληη δ άμ γ δζϋι δ κδ ζ φσλη έθδ β ε ζζβζσ λβ ΰδ θ ιβλ ά δ κ εκσ κ. Μδ λϋμ δ κηϋθβ ζ φσλη έθδ ά βμ δλ έμ HackerRank2. Ο Online Judge βμ HackerRank κ βλέ δ ζβγλ ΰζ θ λκΰληη δ ηκτ εδ έ μ β η ΰζτ λβ ΰεΪη λκίζβηϊ θ εδ δΰθδ ηθ η ιτ σζθ θ θ έ κδξθ βηϊ θ. Γδ κζζκτμ β ΰε ελδηϋθβ ζ φσλη, κ λδγη έ άη λ Ϊθ σ Ϋθ ε κηητλδκ ξλά μ, γ λ έ δ β εκλφέ κθ εσ ηκ. Οδ ετλδ μ ε βΰκλέ μ λκίζβηϊ θ κ λκ φϋλ δ, φκλκτθ θ δε έη θ βμ Σ ξθβ άμ Νκβηκ τθβμ (Artificial Intelligence), βμ Μβξθδεάμ ΜΪγβ βμ (Machine Learning), κ θλ β δεκτ Πλκΰληη δ ηκτ (Functional Programming) εδ θ ζΰκλέγηθ. δλσ γ βμ ζ φσλημ άμ β δλ έ Ϋξ δ βηδκλΰά δ εδ ηδ τ λβ, βθ ζ φσλη HackerRank for Work β κκέ έθδ β η ΰζτ λβ έ μ ζ φσλη ΰεκ ηέμ κ έ κμ βμ. Σκ τ βη σ έθδ λσηκδκ η κθ εζ δεσ Online Judge η β δφκλϊ σ δ κδ δΰθδ ηκέ ΰέθκθ δ σ δλ έ μ ζβλκφκλδεάμ κ γϋζκθ θ λκ γϋ κθ Ϋη δλκμ λκΰληη δ Ϋμ κ θηδεσ κμ. Γθ Ϋμ δλ έ μ κ ξλβ δηκκδκτθ κ HackerRank for Work έθδ κδ Adobe, Amazon, EA Sports, Evernote, Quora, Facebook, Twitter, Yahoo!, Znga ε.. 10
11 ΤΪλξκθ ζ φσλη μ κδ κκέ μ γ λκτθ δ εκλφέ μ ΰδ σ κμ γϋζκθ θ εϊθκθ λ κμ ίάη κθ λκΰληη δ ησ εδ κμ ζΰκλέγηκμ. Μδ σ Ϋμ έθδ β ζ φσλη CodeChef3. Ι λτγβε κ 2009 εδ ηϋ ζέΰ ξλσθδ ε Ϊφ λ θ γ λ έ δ σ κζζκτμ β εκλφέ ζ φσλη ΰδ θϋκμ λκΰληη δ Ϋμ. Πλκ θ κζέ δ ελέμ κθ εδ δεσ εκσ βμ, δ ιϊΰκθ μ ηγβ δεκτμ δΰθδ ηκτμ ζβλκφκλδεάμ εδ κ βλέκθ μ δ γθ έμ δΰθδ ηκτμ λκΰληη δ ηκτ. Τκ βλέ δ Ϊθ σ 35 ΰζ μ λκΰληη δ ηκτ εδ λκίζάη εζδηεκτη θκ ίγηκτ εκζέμ, εϊκδκμ ξλέμ θ Ϋξ δ κ έ ΰθ β ζΰκλέγηθ εδ ΰζ θ λκΰληη δ ηκτ, θ ε φϋλ δ ζδεϊ θ ΰθέ δ δΰθδ ηκτμ εκλφέκ δϋ κ. δγϋ δ λκίζάη ιϊ εβ βμ ζζϊ εδ κζζϊ ΰδ δκ λκξλβηϋθκ έ κ. θ εση τ βη κ γ λ έ δ σ εζτ λ ΰδ λξϊλδκμ κθ 4 λκΰληη δ ησ έθδ κ TopCoder, κ κκέκ δ λτγβε κ δγϋ δ κζτ η ΰΪζκ λδγησ tutorials εδ έθ δ β θ σ β έζ βμ λκίζβηϊ θ ζδσ λθ δΰθδ ηθ ΰδ ιϊ εβ β. θ σ ξλε βλδ δεϊ βμ έθδ σ δ κδ ΰθ μ θ λ γζβηϊ θ ΰέθκθ δ βλϊ εγκλδ ηϋθ μ βηϋλ μ εδ λ μ, λϊΰη κ σ κζζκτμ γ λ έ δ λδκλδ δεσ. Οδ δΰθδ ηκέ βμ λδζηίϊθκθ λκίζάη ζΰκλέγηθ, λξδ ε κθδεάμ κζκΰδ θ, ξ δ ηκτ ΰλφδεθ ε.. εδ λκ φϋλ δ ξλβη δεϊ Ϋγζ κμ θδεβ Ϋμ θ λ γζβηϊ θ. θ εση κζτ ΰθ σ τ βη κ κκέκ βηδκλΰάγβε ησζδμ κ 2010 εδ Ϋξ δ ε φϋλ δ άη λ θ ι λϊ δ κ TopCoder δ ε οδησ β έθδ κ Codeforces5. Ο ΰε ελδηϋθκμ Online Judge δκλΰθθ δ δΰθδ ηκτμ ηδελκτ τλκμ εϊγ ί κηϊ ζζϊ εδ η ΰΪζκμ εδ δεκτμ δΰθδ ηκτμ τκ η λ δμ φκλϋμ κ ηάθ. δγϋ δ έ βμ β θ σ β έζ βμ λκίζβηϊ θ λκβΰκτη θθ δΰθδ ηθ ΰδ ιϊ εβ β εδ Ϋθ Ϊλδ κλΰθηϋθκ forum ΰδ ίκάγ δ εδ ά β β ΰτλ σ λκίζάη κ λκ φϋλ δ. ΤΪλξκθ έ βμ ζ φσλη μ κδ κκέ μ λκ ζετκθ ξλά μ κ ι εκτθ δ λκίζάη θσμ ΰε ελδηϋθκ ΰθ δεκτ θ δε δηϋθκ, σμ ΰδ λϊ δΰη β Project Euler6. Η ζ φσλη ά βηδκλΰάγβε κ 2001 εδ δϊ δ ηγβη δεϊ λκίζάη ΰδ κκέ κδ ξλά μ εζκτθ δ θ ζκκδά κθ ε δε. δγϋ δ Ϋθ κζτ θ δφϋλκθ τ βη ίλί έθ εδ θ ηκδίθ κ φκλϊ ξλά μ κ γ ε φϋλκθ θ ζτ κθ κλδ ηϋθκμ δ δεκτμ θ ηκτμ λκίζβηϊ θ. θ σ ζδσ λ άη Online Judges έθδ κ UVa Online Judge. θ τξγβε κ 1995 κ Πθ δ άηδκ βμ ΰδ κζέ (Universit of Valladolid) βμ Ι θέμ, σ κθ εγβΰβ ά Miguel Ángel Revilla, Ϋθ ηγβη δεσ κ έ ε κ ηϊγβη ζΰκλέγηθ, θ λΰ έ η κ φκδ β ά ζβλκφκλδεάμ Ciriaco García de Celis, κ κκέκμ Ϋΰλο κ τθκζκ κ ε δε βμ λ βμ Ϋε κ βμ κ άη κμ. Σκ τ βη θίγηέ βε λε Ϋμ φκλϋμ σ βθ βηϋλ βμ βηδκλΰέμ κ, θ ηκλϋ δ θ θ ΰθδ έ θϋ άη κ θ τ κθ θ η κθ εδλσ. ΠζΫκθ, κ βλέ δ λε Ϋμ ΰζ μ λκΰληη δ ηκτ εδ ζβγλ λκίζβηϊ θ. Σκ τ βη σ, μ σ λ κ θ τξγβεθ, θ λ έξ β θ σ β θγ λβ βμ εδ ι λΰ έμ κ ε δε κ θϋί κ ξλά βμ εδ δ ά ηδ Ϋ κδ ζζΰά γ δ κτ ζϋκθ η ΰΪζβμ Ϋε βμ εδ ξλκθκίσλ θίϊγηδ β, β Ϋζζ δοβ κ ξλε βλδ δεκτ κτ Ϋξ δ κη έθ δ μ άη λ εδ σ κζζκτμ γ λ έ δ μ Ϋθ σ η δκθ ε άη Ϊ κ. 7 Η ζ φσλη HackerRank ξλβ δηκκδ έ δ σ δλ έ μ ΰδ τλ σμ θφϋλη εδ λκβΰκηϋθμ β λκΰληη δ θ ΰδ λΰ έ. σ βθ 11
12 Ϊζζβ, o UVa Online Judge ξλβ δηκκδ έ δ σ κμ ξλά μ μ δ κ ζ έ κθ ΰδ ιϊ εβ β, θ κδ ζ φσλη μ Codechef, Topcoder, Codeforces ΰδ β ηη κξά δΰθδ ηκτμ εδ θ έ κδξβ ίγηκζκΰδεά ε Ϊ ιβ. κ Ϋζκμ βμ θσ β μ εκζκγ έ Ϋθμ ΰελδ δεσμ έθεμ θ θ λδθ δκ δ κηϋθθ βηϊ θ κ λκ φϋλκθ β θ σ β δΰθδ ηθ ε Ϊ ιβμ. Άζζ μ έ βμ κζτ ΰθ Ϋμ ζ φσλη μ κ λκ φϋλκθ λσηκδ μ θ σ β μ κμ ξλά μ έθδ β Hackerearth, β Spoj, β Leetcode εδ κζζϋμ Ϊζζ μ ζδΰσ λκ βηκφδζ έμ. έθδ φθ λσ ζκδσθ σ δ β ιϋζδιβ θ Οnline Judges ζ έ ξλσθδ έθδ λΰ έ. Οδ ξλά μ κ Ϋξκθ δ η θγκ δ ησ, εδ τκθ δ8 εδ εϊθκθ ε θά ξλά β θ δε εθ σθ κ δγϋ κθ δμ ζ φσλη μ Ϋμ, ε λ έκθ μ Ϋ δ βθ δησλφ ά κμ ηϋ βμ δ εϋ βμ. δϊλε δ δγϋ δηθ δΰθδ ηθ δγϋ δη λκίζάη Codechef 3 λ μ, 5 λ μ, 1 ί κηϊ 10 Topcoder 75 ζ Ϊ λ μ 5 17 Codeforces λδγησμ κ βλδση θθ ΰζ θ Π λδ σ λ μ σ λΰζ έ εδ ΰζ μ λκΰληη δ ηκτ κ χλβ δηκκδάγβεθ WAMP Ο ε δεμ κ βηδκλΰάγβε ΰδ βθ ε ε ά βμ ΰε ελδηϋθβμ ζ φσλημ έθδ ΰληηΫθκμ ΰζ PHP η β θ λΰ έ ί ίέμ HTML/CSS, Javascript. Η ίϊ β κηϋθθ κ δ κτθ θ βηδκλΰάγβε β ΰζ SQL ηϋ κ βηκφδζκτμ άη κμ δξ έλδ βμ ίϊ θ κηϋθθ MSQL. Η λΰ έ ζκκδάγβε λδίϊζζκθ Windows 7 εδ ΰδ κ ζσΰκ σ λκ δηάγβε β ΰε Ϊ β κ εϋ κ WAMP. Ο Wamp Server έθδ Ϋθ λδίϊζζκθ ΰδ θϊ ιβ δ κ ζέ θ Windows κ ημ δ λϋ δ θ βηδκλΰκτη WEB φληκΰϋμ ξλβ δηκκδθ μ apache, php εδ ίϊ δμ κηϋθθ MSQL. ΠλΪζζβζ κ phpmadmin ημ δ λϋ δ θ ξ δλδ κτη τεκζ β ίϊ β κηϋθθ. Σκ Wamp Server ΰεγδ Ϊ ση σζ σ ξλ δϊ δ o ξλά βμ ΰδ θ ι εδθά δ βθ θϊ ιβ θ φληκΰθ WEB εδ έθδ ξ δ ηϋθκ η Ϋ κδκ λσκ 12
13 θ ηκλ έ θ βγ έ Ϋθ κδεσμ server ξλέμ θ ξλ δ έ θ λγηδ ξλά β κτ Ϋθ λξ έκ, εγμ σζ ΰέθκθ δ ση σ βθ δ φά. Σ ζ κθ ε άη κ θκοέκθ δ λεϊ θ ΰε θ λθ δ β λξδ ε κθδεά ξλβ δηκκδβγ έ σ σζκμ έ σ κθ κ Wamp server Μκλ έ κμ φζζκη λβ Ϋμ έθδ portable ( ε ζ έ δ ξλ δϊ δ ΰε Ϊ β) ξ δ κθ ζ ά κηά (κ ζ έ δ σ δηϋλκμ ηάη κ έθδ θ ιϊλ β μ λκμ β ζ δ κλΰέ κμ) φδλκτη θκ ηϋ κ κγάε βμ ξλέμ θ Σκ σθκη WAMP έθδ κ ελθτηδκ θ: Windows Apache MSQL PHP Σκ WAMP έθδ βθ κ έ Ϋθ εϋ κ κ κκέκ λδζηίϊθ δ δμ ζ έ μ ε σ δμ θ λϊθ θ λδϋξ δ εδ Ϊζζ ξλά δη λΰζ έ σμ (Xdebug, PhpMadmin, SQLBudd, webgrind). έθδ ηί σ η ζ δ κλΰδεσ Windows εδ δ έγ δ λ Ϊθ, ΰ ΰκθσμ κ κ εϊθ δ Ϋθ κζτ δ κηϋθκ λΰζ έκ. Θ θζτ κη λεϊ εϊκδ σ ξλε βλδ δεϊ θ θ δε δηϋθθ κ λδζηίϊθ δ κ WAMP, θ β ΰε Ϊ β εδ λτγηδ ά κ γ θζγ έ κ Κ φϊζδκ Apache Ο Apache θΰθλέ δ ΰ θδεϊ μ κ δκ βηκφδζάμ Web Server. λξδεϊ ξ δϊ βε ΰδ κμ ε θ λδεκτμ κζκΰδ Ϋμ Uni. λΰσ λ ξλβ δηκκδάγβε ΰδ Windows εδ Ϊζζ ζ δ κλΰδεϊ άη δε τθ ( NOS = network operating sstems). Ο Apache Web Server λϋξ δ ηδ ζάλβ δλϊ ξλε βλδ δεθ ΰθλδ ηϊ θ Web Server εδ έθδ Ϋθ open source ζκΰδ ηδεσ κ δθϋη δ σ κ Apache Software Foundation, κ κκέκ λκγ έ δμ δϊφκλ μ ζ τγ λ μ εδ λκβΰηϋθ μ θκδε Ϋμ βΰϋμ ξθκζκΰέμ Ι κτ ( Web technologies ). Τκ βλέ δ κζζϋμ ΰζ μ λκΰληη δ ηκτ σμ κδ PHP, Perl, Pthon ε.. Ο Apache φζμ ηκλ έ θ ΰε γ έ εδ η ηκθηϋθ ζζϊ θάγμ β ΰε Ϊ ά κ ΰέθ δ η β ίκάγ δ θ WAMP, LAPM ά XAMPP, εγμ εϋ Ϊ λδϋξκθ κ τθκζκ θ λΰζ έθ κ ξλ δϊκθ δ ΰδ βθ θϊ ιβ ηδμ web φληκΰάμ. 13
14 MSQL Η MSQL9,10 έθδ β δκ βηκφδζάμ ζ φσλη κ άλδιβμ ίϊ θ κηϋθθ θκδε κτ ε δε ΰεσ ηδκ έ κ. Πλσε δ δ ΰδ Ϋθ τ βη δξ έλδ βμ ξ δεάμ Ϊ βμ κηϋθθ (RDBMS) κ δ λϋ δ κθ ξλά β θ θ Ϋ δ η κζζϋμ ίϊ δμ κηϋθθ. Η MSQL λσε δ δ ΰδ φληκΰά θκδε κτ ε δε εδ έθδ ηδ cross platform database, ηκλ έ θ ξλβ δηκκδβγ έ βζ ά κζζϊ λδίϊζζκθ. Μ λδεϊ σ λκ λάη βμ MSQL κ βθ εϊθκθ σ κ βηκφδζά έθδ: εκζέ β ξλά β. Μδ ί δεά ΰθ β βμ MSQL εδ κ ξ δλδ ηκτ κηϋθθ έθδ λέ β β, σ κ έθδ ζκΰδεά β ξλά β βμ. σ βηέθ δ μ θ ξλ δϊ δ ι δ δε ηϋθκ λκ δεσ ΰδ θ ξλβ δηκκδβγ έ εδ ηκλ έ κ εγϋθμ η ί δεϋμ ΰθ δμ λκΰληη δ ηκτ, θ ηϊγ δ θ βθ ξ δλέ δ ηϋ ηδελσ ξλκθδεσ δϊ βη φϊζ δ. θ Ϊλξκθ κζζϋμ ίϊ δμ κηϋθθ κ β φϊζ δ κμ θ ΰελέθ δ η άθ βμ MSQL. Σκ τ βη η λδϋξ δ δ λη δμ φζ έμ κηϋθθ (data securit laers) κ λκ τκθ έ γβ μ ζβλκφκλέ μ. Μκλκτθ θ γκτθ δεδη κκέ δ λϋκθ βθ ξλά β εδ λκθσηδ ησθκ κλδ ηϋθ Ϊ κη ά κηϊ μ εδ κδ ε δεκέ λσ ί βμ ελ κΰλφκτθ δ. Η λσ ί β βθ ίϊ β κηϋθθ ηκλ έ θ ζ ΰξγ έ σ Ϋθ κηελ ηϋθκ ηβξϊθβη, κ ηκλ έ θ ζϋΰξ δ κ δ γ ίζϋ δ Ϋθμ ξλά βμ Χλβ δεσ β εδ ηθάηβ. Η MSQL ηκλ έ θ ξ δλέ δ ξ σθ κκδ άκ κ σ β κηϋθθ, σ η λδεϋμ Ϋμ 50 ε κηητλδ ΰΰλφΫμ ά λδ σ λ μ. Σκ ι' λξάμ σλδκ λξ έκ έθδ 4 GB. Χ δλέ δ έ βμ β ηθάηβ κζτ εζϊ, λϊΰη κ βηέθ δ κ ζ η δεσ β εδ ξτ β, ξλέμ θ ΰέθκθ δ ε λλ τ δμ ά κλλέο δμ δμ ζβλκφκλέ μ Π λδ σ λ κ θσμ Ϊ κη ηκλκτθ θ Ϋξκθ λσ ί β ηδ ζβλκφκλέ βθ έ δ ξλκθδεά δΰηά (multiuser), σ βηέθ δ εδ η ΰΪζ μ κηϊ μ σηθ, ζζϊ έ βμ κζζϋμ θ Ϋ δμ βθ έ δ δΰηά. Μκλκτθ εση θ ΰέθκθ δ κζζϋμ θζζΰϋμ εδ ε ξλά δμ κ λσζ κ δ λϋ δ κθ ξλά β θ δζϋι δ βθ δγηβ ά ηβξθά κγάε βμ ηϋ σ δγϋ δη μ storage engines, σ έθδ Ϋθ βη έκ σκ Ϊζζ RDBMS λκτθ ΠλΫξ δ ί ζ δ κκδβηϋθκ Indeing (θά β β λ βλέκ) Ϋ δ κδ θβ ά δμ (queries) θ ΰέθκθ δ κζτ δκ ΰλάΰκλ μ. Οδ δζϋμ ΰΰλφΫμ (duplication) κφ τΰκθ δ ηϋ θ λ βλέθ (indees) η λ τκθ εζ δ έ (primar ke inde) εδ ηκθ δεσ λ άλδκ (unique inde) Σ ξθδεά κ άλδιβ. ΠκζζΫμ φκλϋμ Ϊλξ δ γϋη λκρσθ θκδε κτ ζκΰδ ηδεκτ σκ β κ άλδιβ θ έθδ λεάμ ά λΰά βθ θ σελδ β. Όημ β MSQL Enterprise λκ φϋλ δ κ άλδιβ 24λ μ κ 24λκ εδ 7 βηϋλ μ βθ ί κηϊ, εγμ εδ ΰΰβηΫθβ θ σελδ β ηϋ 30 ζ Ϊ, φκτ β κηϊ κ άλδιβμ Ϋξ δ λσ ί β κμ ηβξθδεκτμ θϊ ιβμ ζκΰδ ηδεκτ. Α ιο ό η η. H MSQL έθδ ζκΰδ ηδεσ θκδε κτ ε δε εδ ξϊλβ σ ε λ έ δ λϊ δ βηκ δεσ β εδ ε Ϊ θϋ δ 14 ξθδεά κ άλδιβ κ
15 δ έε κ. ΤΪλξκθ κζζϊ φσλκη ξθκζκΰέμ σκ Ϋη δλκδ λκΰληη δ Ϋμ Ϋζθκθ ηβθτη η δμ η δλέ μ κμ β MSQL εδ λσκμ ΰδ θ βθ εϊθκθ εζτ λβ έ βηβ θζ δεσ λβ εδ ε θϋ λβ ζβλκφσλβ β ηκλ έ θ ίλ δ εθ έμ ζέ βμ MSQL κ δ έε κ ( βθ Η MSQL ξλβ δηκκδ έ βθ ΰζ λκΰληη δ ηκτ SQL ΰδ βθ ζκκέβ β θ ίϊ θ κηϋθθ βμ. Η SQL έθδ ηδ ΰζ κ ξλβ δηκκδ έ δ κεζ δ δεϊ ΰδ βθ ζζβζ έ λ β η ίϊ δμ κηϋθθ. Μκλ έ θ ε ζϋ δ λ άη (queries) ηϋ θ κκέθ έθ δ β θ σ β θ θε ά κη κηϋθ, θ δ Ϊΰκη θϋ μ ΰΰλφΫμ, θ δΰλϊοκη ΰΰλφΫμ εδ θ θβη λ κη ά β Ϊλξκ μ ΰΰλφΫμ ηδμ ίϊ βμ κηϋθθ. ΠλεΪ γ θφ λγκτθ κδ θ κζϋμ βμ SQL κ ε ζκτθ Ϋμ δμ ζ δ κλΰέ μ εγμ εδ Ϊζζ μ δκ ι δ δε ηϋθ μ, κ λϋ δ θ ΰθλέ δ εϊκδκμ θ ε θκά δ κθ λσκ ζκκέβ βμ βμ ζ φσλημ κ γ θζγ έ κ Κ φϊζδκ 3. Οδ Ϋ λδμ ί δεϋμ θ κζϋμ βμ SQL έθδ κδ : SELECT, κ ιϊΰ δ δγηβ Ϊ κηϋθ σ ηδ ίϊ β κηϋθθ, UPDATE, κ εϊθ δ θβηϋλ β θ κηϋθθ, INSERT, κ δ Ϊΰ δ θϋ κηϋθ εδ DELETE κ εϊθ δ δΰλφά κηϋθθ. κθ ε δε κ βηδκλΰάγβε ΰδ δμ θϊΰε μ βμ λΰ έμ, ξλβ δηκκδάγβεθ κδ λ δμ λ μ σ Ϋμ. Η θ κζά SELECT θ Ϊ δ μ «SELECT κθση _ βζθ FROM σθκη_έθε» εδ βθ λέ β κ γϋζκη θ εγκλέ κη Ϋθ ελδ άλδκ δζκΰάμ ΰλΪφκη «SELECT κθση _ βζθ FROM σθκη_έθε WHERE άζβ- θγάεβ- δηά». Γδ βθ θ κζά UPDATE ΰλΪφκη «UPDATE σθκη_έθε SET σθκη_ άζβμ = θϋ_ δηά WHERE άζβ = δηά» θ β θ κζά INSERT θ Ϊ δ μ ιάμ: «INSERT INTO σθκη_έθε ( άζβ1, άζβ2,...) VALUES ( ηά1, δηά2,...)». Μδ εση θ κζά κ ξλβ δηκκδάγβε ε Ϊ βθ θϊε β β κηϋθθ σ β ίϊ β έθδ β ORDER BY, β κκέ λκ έγ δ κ Ϋζκμ βμ θ κζάμ SELECT εδ ξλβ δηκκδ έ δ ΰδ ιδθσηβ β κ κ ζϋ η κμ κ δ λϋφ δ. Η θ κζά GROUP BY έθδ εση ηδ θ κζά κ λκ έγ δ κ Ϋζκμ θσμ λ άη κμ SELECT εδ ξλβ δηκκδ έ δ ΰδ θ κη κκδά δ κηϋθ μ λκμ ηδ ΰε ελδηϋθβ άζβ. ε σμ σ δμ λϊθ θ κζϋμ ξλβ δηκκδάγβε έ βμ β θ η ηϋθβ βθ SQL θϊλ β β COUNT(), β κκέ δ λϋφ δ κθ λδγησ θ δζ ΰηΫθθ ΰληηθ σ ηδ δζκΰά εδ θ Ϊ δ μ SELECT COUNT() FROM σθκη_έθε. Χλβ δηκκδάγβε έ βμ β θ σ β θϊγ βμ ο θτηθ(aliases) δμ άζ μ κ δ λϋφ δ β SELECT. Η τθ ιβ θσμ λ άη κμ η aliases έθδ «SELECT σθκη_ άζβμ AS column_alias FROM σθκη_έθε». ΠκζζΫμ φκλϋμ, ε Ϊ β δϊλε δ βηδκλΰέμ κ ε δε ΰδ βθ ζκκέβ β βμ ζ φσλημ ξλ δϊ βε θ δζϋικη κηϋθ σ τκ ά λδ σ λκμ έθε μ. Γδ κ εκσ σ Ϊλξ δ β θ σ β Ϋθ βμ δθϊεθ (JOIN). Η θ κζά JOIN ξλβ δηκκδ έ δ ΰδ θ θ κη τκ έθε μ, η ίϊ β Ϋθ εκδθσ έκ η ιτ κμ. Ο δκ εκδθσμ τκμ JOIN έθδ β θ κζά INNER JOIN (ζά Ϋθ β). θ κ Ϋζ η βμ Ϋθ βμ άμ, δ λϋφκθ δ σζ μ κδ ΰληηΫμ σ κζζζκτμ έθε μ σκ δεθκκδ έ δ β θγάεβ θϋθ βμ. Η τθ ιβ βμ θ κζάμ άμ έθδ: 15
16 SELECT κθση _ σθκη_ τ λκ_έθε ON θγάεβ_ θϋθ βμ. βζθ FROM σθκη_έθε INNER κέ ζκδσθ ά θ κδ κλδ ηκέ θ SQL θ κζθ, βθ λε δεά κκέθ γ κτη βθ θϊζ β βμ φληκΰάμ κ Κ φϊζδκ 3. JOIN βη έ θ PHP Η PHP10,11 έθδ ΰδ κζζκτμ β εζτ λβ η ιτ σζθ θ ΰζ θ λκΰληη δ ηκτ κ ξλβ δηκκδκτθ κδ web developers, λϋξ δ γ λσ β, φκλβ σ β εδ λδσλδ μ θ σ β μ ξϊλβ βθ ε δησ β βμ. ΠλΫξ δ ζσ β εδ εκζέ ξλά βμ εδ σζ Ϊ λϋξκθ δ λ Ϊθ εγμ κ ζ έ ζκΰδ ηδεσ θκδε κτ ε δε. Πλσε δ δ ΰδ ηδ server side scripting language. βηδκλΰάγβε η εκσ κ ζδΰσ λκ scripting εδ λϋξ δ κζζϋμ ζ φσλη μ σμ Windows, Linu, Uni εζ. έθδ ηί ά η σζκμ κμ ιβλ β Ϋμ κ ξλβ δηκκδκτθ δ άη λ σμ Apache, IIS εδ Ϊζζκμ. Ο ετλδκμ ζσΰκμ κ ξλβ δηκκδ έ δ β PHP έθδ β ζσ β, β εκζέ ξλά βμ εδ η λδεϊ ξλε βλδ δεϊ βμ σμ : έθδ θ ΰθδ δεά Ϋθθ λδγησ scripting ζτ θ σμ Active Server Pages εδ PERL, ΰζ μ κ θ έθδ σ κ τεκζ μ β ηϊγβ β σ κ ά. έθδ δ δεά ΰδ βθ βηδκλΰέ θηδεθ δ κ ζέ θ εδ β τθ ιά βμ έθδ ζά. έθδ ηί ά η άη δξ έλδ βμ ίϊ θ κηϋθθ MSQL εδ POSTGRESQL εδ δζϋκθ ηκλ έ θ λκΰληη έ δ θ δ θ Ϋ δ εσηβ εδ η Ϊζζ μ ίϊ δμ κηϋθθ. Η PHP 5 ί ζ δθ δ βθ PHP 4 κλδ ηϋθ ί δεϊ βη έ: Object-oriented programming, MSQL, XML. Η θ λΰ έ εδ θ η ηϋθ links βμ PHP λκμ βθ MSQL Ϋξκθ ε λ έ δ η ΰΪζκ λδγησ ξλβ θ εδ Ϋξκθ δζ δϊ δ κθ λδγησ κμ. Ο θ ησμ PHP εδ MSQL γ λ έ δ κ εζτ λκμ θ ησμ ΰδ θϊ ιβ θηδεθ κκγ δθ εδ έθδ θ η ηϋθκμ κζζϊ εϋ, σμ WAMP, LAPM εδ XAMPP. Ό κθ φκλϊ β θ λΰ έ PHP εδ MSQL λ εδ κθ λσκ κ ά ίκάγβ βθ ζκκέβ β, γ θφ λγκτη λεϊ δμ θ κζϋμ κ δ λϋκθ β θ λΰ έ ά. λϋ δ θ θφ λγ έ μ σ βθ Ϋε κ β 5 βμ PHP εδ βθ Ϋε κ β 4.1 βμ MSQL εδ Ϋ δ, έθ δ β θ σ β θ ξλβ δηκκδβγκτθ κδ θϋ μ ί ζ δηϋθ μ θλ ά δμ βμ MSQL ( Ϋε β msqli). Ϋμ κδ θλ ά δμ, η ιτ Ϊζζθ ζ κθ ε βηϊ θ, λϋξκθ ί ζ δηϋθβ σ κ β εδ ιδκκδκτθ λσ γ μ θ σ β μ. Γδ σ κ ζσΰκ ζκδσθ ξλβ δηκκδάγβεθ κδ θλ ά δμ Ϋμ, σμ γ κτη εδ λεϊ. Οδ ί δεϋμ λεϊ : θ κζϋμ ΰδ βθ δεκδθθέ βμ PHP η 16 β MSQL φέθκθ δ
17 τθ β $cn = new $dbname); ε Ϋζ β MSQL: msqli ($servername, $username, $password, β λ άη κμ: $q= [εντολή MSQL] ; msqli_quer($cn, $q ); ΠΫλθ θ θ κζθ θ ξλβ δηκκδάγβεθ εση: Η θ κζά msqli_fetch_arra($cn, $res); σκ $res= msqli_quer($cn, $q ); β κκέ Ϋξ δ Ϋθ τθκζκ κ ζ ηϊ θ (result set) θ λϊη λκ, κ κκέκ έθδ κγβε ηϋθκ β η ίζβ ά $res β ΰε ελδηϋθβ λέ β, εδ δ λϋφ δ βθ ση θβ ΰληηά κ result set θ Ϋθθ έθε (arra). θ λ ΰλΪοκη $r = msqli_fetch_arra($cn, $res); β θ κζά εξλ έ ηδ δηά β η ίζβ ά $r, ζζϊ σξλκθ β έ δ β θ κζά κε Ϊ βθ έ δ δηά. σ, θ ησ η κ ΰ ΰκθσμ σ δ σ θ θ Ϊλξκθ Ϊζζ μ ΰληηΫμ κ result set, β θϊλ β β δ λϋφ δ βθ δηά false, έθδ κδ ζσΰκδ κ ξλβ δηκκδά κη ε Ϊ εσλκθ βθ θ κζά ά θγάε μ while ίλσξθ ΰδ ζάοβ σζθ θ κηϋθθ θ SQL λ βηϊ θ. Η θ κζά msqli_insert_id ($cn); Η θϊλ β β ά δ λϋφ δ κθ λδγησ κ Ϋξ δ εξλβγ έ βθ ε ξλβ β σ κ ξλε βλδ δεσ AUTO_INCREMENT βμ MSQL. ζ έ ε σμ σ δμ θ κζϋμ ηϋ θ κκέθ δ ΰξΪθ δ β δεκδθθέ PHP εδ MSQL, βηθ δεσ λσζκ βθ δ ε λέ β βμ λΰ έμ άμ Ϋδιθ εδ κδ θ κζϋμ ΰδ βθ δεκδθθέ PHP εδ C. Η κ δσ λβ σ Ϋμ, κ ά θ εδ ά κ ξλβ δηκκδάγβε ΰδ δμ θϊΰε μ θϊ ιβμ βμ ζ φσλημ, έθδ β θ κζά proc_open, β κκέ ε ζ έ ηδ θ κζά άη κμ εδ θκέΰ δ κμ θ έ κδξκμ δτζκμ δεκδθθέμ η κ λσΰληη κ ε ζ έ δ. ΜΫ βμ θ κζάμ άμ δ ΰξΪθ δ ηφέ λκηβ δεκδθθέ η ηδ φληκΰά, κ βθ λέ ά ημ έθδ κ εϊ κ λσΰληη C. ΜΫ βμ PHP, ζκδσθ, ηκλκτη θ ε ζϋ κη βθ φληκΰά, θ έζκη έ κ κ ά εδ θ Ϋξκη βθ Ϋικ κ κ λκετ δ. Ο λσκμ τθ ιβμ εδ κλέ η κ ξλβ δηκκδάγβεθ βθ λΰ έ έθδ ιάμ: proc_open ( string $cmd &$pipes, string $cwd);, arra $descriptorspec, arra Σκ λ κ σλδ η (string $cmd) κ ζ έ βθ θ κζά κ γϋζκη θ ε ζϋ κη. 17
18 Σκ τ λκ σλδ η (arra $descriptorspec) έθδ Ϋθμ έθεμ, κ κκέκμ κ ζ έ δ σ λέ κδξ έ κ λδΰλϊφκθ κμ δτζκμ (pipes) κ γ ξλβ δηκκδβγκτθ ΰδ βθ δεκδθθέ η βθ φληκΰά. Σκ λ κ κδξ έκ λδϋξ δ κ pipe ΰδ βθ έ κ κ - standard input ( stdin ), κ τ λκ ΰδ βθ Ϋικ κ - standard output ( stdout ) εδ κ λέ κ ΰδ ηβθτη ζϊγκμ - standard error ( stderr ). ΚγΫθ σ Ϊ κδξ έ έθδ Ϋθμ έθεμ τκ κδξ έθ. Σκ λ κ κδξ έκ ηκλ έ θ έθδ έ τκ pipe έ file (λξ έκ). βθ λέ β κ θφ λση pipes, κ τ λκ κδξ έκ ηκλ έ θ έθδ έ r, ΰδ θ λϊ δ κ Ϋζκμ βμ θϊΰθ βμ (read) κ pipe β δ λΰ έ, έ w, ΰδ θ λϊ δ κ Ϋζκμ βμ ΰΰλφάμ (write) κ pipe, θ βθ λέ β κ θφ λση λξ έ κ τ λκ κδξ έκ έθδ κ σθκη κ λξ έκ. Σκ λέ κ σλδ η (arra &$pipes) κ ζ έ Ϋθθ έθε κ λδϋξ δ file pointers κ δ λϋφ δ εϊγ κδξ έκ κ arra $descriptorspec, θ ηκλϋ κθ θ ξλβ δηκκδβγκτθ ε Ϊζζβζ ΰδ βθ δεκδθθέ η βθ φληκΰά. Σκ ζ έκ σλδ η (string $cwd) λδζηίϊθ δ β γϋ β κ φεϋζκ σ κθ κκέκ γ ε ζ έ β θ κζά string $cmd. κ βη έκ σ λϋ δ θ θφ λγκτη εϊκδ μ δζϋκθ ζ κηϋλ δ μ θ ΰέθ δ ε θκβ σμ κ λσζκμ άμ βμ ληϋ λκ, β κκέ έθδ λκδλ δεά. ΜΫ βμ θϊλ β βμ proc_open, ζκδσθ, ε ζϋ βεθ κδ θ κζϋμ κ φκλκτθ β η ΰζ δ β εδ βθ ε Ϋζ β θσμ λξ έκ. σ κ άΰβ ηδ δ δδ λσ β κ λκϋεο σ κ ΰ ΰκθσμ σ δ β ζ φσλη θ τξγβε λδίϊζζκθ MS-Windows. σ κ ζ δ κλΰδεσ τ βη, θ έγ β ΰδ λϊ δΰη η λδίϊζζκθ Linu, β δ δε έ ΰε Ϊ βμ θ ίδίζδκγβεθ κ έθδ λέ β μ ΰδ β η ΰζ δ β θσμ.ξ. ε δε C, έθδ λε Ϊ κζτζκεβ. Γδ κ ζσΰκ σ θ γϋζκη θ ζ δ κλΰά κη βθ ζ φσλη Windows λϋ δ θ ΰε ά κη κθ κζκΰδ ά δμ ίδίζδκγάε μ Ϋμ ηϋ δ δεθ λκΰληηϊ θ (.ξ. Cgwin, MinGW, Dev-C++ ε..). κηϋθμ, φσ κθ β θϊ ιβ βμ ζ φσλημ Ϋΰδθ λδίϊζζκθ Windows, β η ίζβ ά ά λδζηίϊθ δ βθ δ τγθ β κ φεϋζκ ηϋ κθ κκέκ Ϊλξκθ κδ λέ β μ ίδίζδκγάε μ ΰδ βθ ε Ϋζ β βμ θ κζάμ βμ η ΰζ δ βμ. θζ δεσ λ κδξ έ γ λκ δ κτθ κ ε φϊζδκ 3 κ γ ΰέθ δ θϊζ β ηβηϊ θ κ ε δε ζκκέβ βμ. ΠΫλθ σζθ θ λϊθ, κ έκ λσζκ β βηδκλΰέ κ ε δε Ϋδι β θ σ β βμ PHP, κ κ βλέ δ ζάλμ η ζβγλ θϋθ κδξ έθ η Ϊ βθ PHP 5, ΰδ θ δε δη θκ λφά λκΰληη δ ησ. κθ θ δε δη θκ λφά λκΰληη δ ησ β εζϊ β κ ζ έ κθ κηδεσ ζέγκ εϊγ φληκΰάμ. ΚΪγ φληκΰά κ ζ έ δ σ Ϋθθ λδγησ εζϊ θ εδ εϊγ εζϊ β λδΰλϊφ δ ηδ ζ δ κλΰδεά θσ β. Η εζϊ β λδζηίϊθ δ βθ λδΰλφά εδ δμ λκ δΰλφϋμ η δμ κκέ μ γ βηδκλΰβγ έ Ϋθ ά λδ σ λ θ δε έη θ. Μ σ κθ λσκ έθ δ β θ σ β βμ ζκκέβ βμ εδ βμ ε δησ β μ κ ε δε. Ι δέ λβ βη έ ΰδ β ΰε ελδηϋθβ λΰ έ έξ β Ϋθθκδ θ φβλβηϋθθ εζϊ θ. Μδ εζϊ β βζθ δ μ φβλβηϋθβ (abstract) σ θ λδϋξ δ κζϊξδ κθ ηέ φβλβηϋθβ θϊλ β β. Μδ θϊλ β β λ κθκηϊ δ φβλβηϋθβ σ θ θ έθδ ζκκδβηϋθβ ά λε δεϊ σ θ θ Ϋξ δ η εδ Ϊΰεδ λ. Μδ φβλβηϋθβ θϊλ β β σμ εδ ηδ φβλβηϋθβ εζϊ β βζθ δ η κθ λκ δκλδ ά abstract. σ ηδ φβλβηϋθβ εζϊ β θ ηκλκτη θ βηδκλΰά κη θ δε έη θ ζζϊ ηκλ έ θ Ϋξ δ δμ δεϋμ βμ η ίζβ Ϋμ εδ θλ ά δμ εδ φ δεϊ ηκλ έ θ εζβλκθκηβγ έ (θ ΰέθ δ etended). θ λ β κεζϊ β ηδμ φβλβηϋθβμ εζϊ βμ ζκκδ έ σζ μ δμ φβλβηϋθ μ η γσ κμ βμ λεζϊ βμ, σ έθδ ηδ 18
19 εθκθδεά εζϊ β θ θ θ ζκκδ έ σζ μ δμ φβλβηϋθ μ η γσ κμ βμ λεζϊ βμ, ά Ϋξ δ εϊκδ δεά βμ φβλβηϋθβ ηϋγκ κ, σ εδ β κεζϊ β λκ δκλέ δ μ abstract HTML - CSS - Javascript Γδ β βηδκλΰέ κ ηάη κμ κ ε δε κ φκλϊ β ηκλφκκέβ β βμ ζέ μ βμ ζ φσλημ εδ δμ θ σ β μ κ λϋξ δ βθ ζ λϊ κ ξλά β ξλβ δηκκδάγβε β ΰζ άηθ βμ (markup language) HTML12 θ λΰ έ η β ΰζ φτζζθ ζ (stle sheet language) CSS12 εδ β ΰζ λκΰληη δ ηκτ Javascript12. Η ΰζ μ άηθ βμ έθδ ΰζ μ κ ξλβ δηκκδκτθ δεϋ μ ΰδ θ λδΰλϊοκθ β κηά θσμ ΰΰλΪφκ. κ δ έε κ κδ δ κ ζέ μ θ έθδ έκ Ϊζζκ λϊ Ϋΰΰλφ html ά ζέ μ html. θμ φζζκη λβ άμ δ κτ (web browser) δίϊ δ Ϊ Ϋΰΰλφ εδ θγϋ δ ζέ μ κ ηκλ έ εθ έμ θ δίϊ δ ά θ εκτ δ. Ο φζζκη λβ άμ δ κτ θ ηφθέ δ δμ δεϋ μ HTML, ζζϊ δμ ξλβ δηκκδ έ ΰδ θ ληβθ τ δ κ λδ ξση θκ βμ ζέ μ. Η HTML δ λϋ δ βθ θ ηϊ β δεσθθ εδ Ϊζζθ θ δε δηϋθθ ηϋ β ζέ εδ ηκλ έ θ ξλβ δηκκδβγ έ ΰδ θ ηφθέ δ δ λ δεϋμ φσλη μ. ΠλΫξ δ δμ η γσ κμ βηδκλΰέμ κηβηϋθθ ΰΰλΪφθ ( βζ ά ΰΰλΪφθ κ κ ζκτθ δ σ κ λδ ξση θκ κ η φϋλκθ εδ σ κθ ε δε ηκλφκκέβ βμ κ λδ ξκηϋθκ) εγκλέκθ μ κηδεϊ βηθ δεϊ κδξ έ ΰδ κ ε έη θκ, σμ ε φζέ μ, λΰλϊφκμ, ζέ μ, θ Ϋ ηκμ, λγϋ δμ εδ Ϊζζ. Οδ φζζκη λβ Ϋμ δ κτ ηκλκτθ έ βμ θ θφϋλκθ δ ζ ηκλφκκέβ βμ CSS ΰδ θ κλέκθ βθ ηφϊθδ β εδ β δϊ ιβ κ ε δηϋθκ εδ κ σζκδκ ζδεκτ. Ο κλΰθδ ησμ W3C, κ κκέκμ βηδκλΰ έ εδ θ βλ έ λσ ΰδ βθ HTML εδ CSS, θγλλτθ δ β ξλά β θ CSS θ έ δφσλθ κδξ έθ βμ HTML ΰδ εκκτμ λκ έ βμ κ λδ ξκηϋθκ. Η CSS έθ δ λδ σ λ μ θ σ β μ ξϋ β η βθ html εγμ έθδ ηδ ΰζ λκκλδ ηϋθβ κεζ δ δεϊ ΰδ θ θ τ δ ζδ δεϊ ηδ δ κ ζέ βζ ά θ δηκλφθ δ λδ σ λ ξλε βλδ δεϊ, ξλη, κέξδ β ε.. Η HTML δ λϋ δ έ βμ βθ θ ηϊ β θλέθ θ κζθ κ Ϋξκθ βηδκλΰβγ έ ΰζ μ σμ β Javascript, κκέ ηκλκτθ θ βλ Ϊ κθ εδ θ θίγηέ κθ β η λδφκλϊ θ δ κ ζέ θ. Η JavaScript (JS) έθδ ηδ ΰζ θλέθ prototpe-based. λξδεϊ κ Ϋζ ηϋλκμ βμ ζκκέβ βμ θ φζζκη λβ θ δ κτ, θϊλδ σ βθ ζ λϊ κ ζϊ β (client-side scripts) θ ηκλκτθ θ δεκδθθκτθ η κθ ξλά β, θ θ ζζϊ κθ κηϋθ τΰξλκθ εδ θ ζζϊκθ θηδεϊ κ λδ ξση θκ κ ΰΰλΪφκ κ ηφθέ δ. Η τθ ιά βμ έθδ βλ ηϋθβ σ β C, θ δΰλϊφ δ κζζϊ κθση εδ ηίϊ δμ σ κ βμ κθκηϊ θ σ β Java, ζζϊ ΰ θδεϊ κδ τκ Ϋμ ΰζ μ ξ έκθ δ εδ Ϋξκθ κζτ δφκλ δεά βη δκζκΰέ. κ ε φϊζδκ σ ζκδσθ θζτγβε κ γ λβ δεσ ηϋλκμ θ κζκΰδ δεθ ΰζ θ κ ξλβ δηκκδάγβεθ ΰδ β βηδκλΰέ βμ ζ φσλημ εδ λκ δϊ βεθ κδ θ κζϋμ κ Ϋδιθ κ βηθ δεσ λκ λσζκ κθ ε δε κ ζκκδάγβε. κ ση θκ ε φϊζδκ γ ΰέθ δ ηδ δκ θζ δεά λκ έ β κ λσκ ζ δ κλΰέμ κ ε δε εδ γ θζγκτθ κδ θ σ β μ κ λκ φϋλ δ β ζ φσλη. 19
20 2.3. Πδχθέ δ - Θ ωλέ Η θσ β ά Ϋξ δ μ σξκ θ κφϋλ δ βθ ικδε έ β η δξθέ δ κ λκΰληη έ βεθ β ΰζ C η εκσ βθ θϊλ β ά κμ βθ ζ φσλη, λκε δηϋθκ θ έθδ βθ κλ έ εκζσ λβ β ε θσβ β κ ε δε κ Ϋξ δ ζκκδβγ έ Σλέζδ Η «λέζδ» (ά Tic Tac Toe) έθδ Ϋθ δξθέ δ κ έ δ η τκ έε μ ξλ έ, η κ ξ δ ησ θσμ έθε κ Ϋξ δ λ δμ δλϋμ εδ λ δμ άζ μ. ΚΪγ έε βμ δζϋΰ δ Ϋθ τηίκζκ Χ ά Ο εδ β θϋξ δ κδ τκ έε μ βη δθκθ θζζϊι κθ έθε, κ εγϋθμ η κ τηίκζκ κ Ϋζ ι. Ο έξ βμ κ γ δ τξ δ θ ηζβλ δ λέ έ δ τηίκζ κλδσθ δ, εϊγ ά δΰθδ έθδ κ θδεβ άμ κ δξθδ δκτ. ιδ έμ βμ ζσ β Ϊμ κ θ δξθέ δ, β λέζδ ξλβ δηκκδ έ δ ξθϊ δ ΰΰδεσ λΰζ έκ ΰδ κζζκτμ δφκλ δεκτμ εκκτμ. δ εδ ΰε ελδηϋθβ λέ β ζσΰ βμ ξηβζάμ κζζκεσ β Ϊμ κ δζϋξγβε θ ξγ έ ζΰκλδγηδεϊ θ κ ε ζζβζσ λκ δξθέ δ ΰδ θϋκμ ξλά μ λκΰληη δ ησ. έ βμ, β λέζδ ηκλ έ τεκζ θ ι ζδξγ έ θ τ κθ η ΰζτ λκ η ΰΫγκμ έθε,.ξ. 5 ΰληηΫμ εδ 5 άζ μ Η λ βΰδεά κ δξθδ δκτ κ κ βΰ έ β θέεβ δζϋΰ δ β λ β δγϋ δηβ εέθβ β σ δμ λεϊ : β έθδ εϊγ θ βθ θ κθ μ ΰτλκ θ θ κ έε βμ Ϋξ δ τκ β δλϊ σ ηζβλθ δ βθ ε θά γϋ β θ ε λ έ δ κ ΰτλκ. θ κ θ έζκμ Ϋξ δ τκ β δλϊ σ κ έε βμ λϋ δ θ έι δ βθ ε θά γϋ β κ γ κθ ηκ έ δ θ θδεά δ. Ο έε βμ ηκλ έ θ Ϋξ δ ηδ εζά εδλέ θ θδεά δ βηδκλΰθ μ ΰδ κθ θ έζκ δζά σ τκ η λδϋμ. Πλκε δηϋθκ θ κφτΰ δ θ ξ έ κ έ δκμ βθ λκβΰκτη θβ ε Ϊ β κ έξ βμ λϋ δ θ ζϋΰξ δ θ Ϊλξ δ Ϋ κδκ βη έκ ΰδ κθ θ έζκ εδ θ έι δ ε έ κ έ δκμ λκε δηϋθκ θ κθ ηκ έ δ. δφκλ δεϊ ηκλ έ θ βηδκλΰά δ ηδ Ϊ κθ έθε θ θΰεϊ δ κθ θ έζκ θ ηθγ έ. θ κ έε βμ ηκλ έ θ έι δ κ εϋθ λκ, ζϋΰξ δ εζτ λ κ δξθέ δ. θ κ θ έζκμ Ϋξ δ έι δ ΰθέ, β εζτ λβ εέθβ β ΰδ κθ έε β έθδ θ έι δ βθ Ϋθθ δ ΰθέ. Ο έε βμ έ δ ΰθέ θ Ϊλξ δ ζ τγ λβ. Ο έε βμ έ δ κ η έκ λϊΰθκ εϊγ ζ λϊμ. δλϊ Σκ «4 β δλϊ» (ά Connect 4) έθδ Ϋθ δξθέ δ τθ βμ κ έ δ η τκ έε μ. λξδεϊ κδ έε μ δζϋΰκθ σ Ϋθ ξλη εδ β θϋξ δ έκθ θζζϊι λέξθκθ μ Ϋΰξληκμ έ εκμ σ βθ εκλφά, Ϋθ βηϋθκ ζϋΰη κ ζκτη θκ σ Ϋιδ δλϋμ εδ Ϊ άζ μ. Σ εκηηϊ δ Ϋφ κθ γ έ εϊ, 20
21 ε ζηίϊθκθ μ κθ ση θκ δγϋ δηκ ξλκ β άζβ. Ο εκσμ κ δξθδ δκτ έθδ θ θ γκτθ Ϋ λδμ σ κμ έ εκμ κ έ δκ έε β, η κ έ δκ βζ ά ξλη, κ Ϋθμ έζ κθ Ϊζζκθ, εϊγ, κλδσθ δ ά δΰθδ. Ο λ κμ κ γ κ δ τξ δ ε λ έ δ. Σκ «4 β δλϊ» έθδ Ϋθ δξθέ δ ΰδ θ κτμ ζτ μ εδ κζζϋμ ληϋ λκμ θέεβμ. βθ λΰη δεσ β, σμ θφϋλ δ κ Numberphile ( δλϊ σ ίέθ κ κ Brad Haran ΰτλ σ κμ λδγηκτμ κ κ βλέκθ δ σ κ MSRIMathematical Sciences Research Institute), Ϊλξκθ Ϊθ σ 4 λδ ε κηητλδ λσκδ θ ΰ ηέ δ Ϋθ ηζσ «4 β δλϊ». Ω σ κ, ησθκ Ϋθμ λσκμ ηκλ έ θ ΰΰβγ έ θέεβ εϊγ φκλϊ. θ δΰθδ κτθ ζκδσθ τκ Ϊλδ κδ έε μ, σμ κ γ έι δ λ κμ εδ γ κκγ ά δ κ έ εκ κ βθ ε θ λδεά γϋ β, γ έθδ Ϊθ κ θδεβ άμ. εση εδ β εζτ λβ ε δεά δξθδ δκτ σ κθ θ έζκ, γ κθ εϊθ δ θ ξϊ δ 41 εδθά δμ. 21
22 Κ Φ Λ ΙΟ 3 Φ ΡΜΟΓΗ 3.1. Γ θδεϊ - θ σ β μ βμ ζ φσλημ Η λΰ έ ά Ϋΰδθ η εκσ βθ θϊ ιβ ηδμ ζ φσλημ, σ κ κ θ σθ δκ εκθ Ϊ λσ θ ΰθ θ βηϊ θ Online Judges. βηδκλΰάγβε ζκδσθ η Ϋθ λε Ϊ θ δφϋλκθ τθκζκ δζκΰθ, ΰδ δμ κκέ μ Ϊλξ δ φ δεϊ β θ σ β Ϋε βμ κ ηϋζζκθ. ζέ δ βμ λΰ έμ θ τξγβε ε δεμ θ λκ φϋλ δ β θ σ β κ άλδιβμ βμ ΰζ μ λκΰληη δ ηκτ C εγμ εδ τκ δξθέ δ, Ϊ βμ λέζδμ (Tic Tac Toe) εδ κ 4 β δλϊ (Connect 4). ΚΪγ ξλά βμ ζκδσθ ηκλ έ θ βηδκλΰά δ ε δε, ΰδ Ϋθ σ δξθέ δ, β ΰζ λκΰληη δ ηκτ C, θ θ ίϊ δ βθ ζκκέβ ά κ ζ φσλη εδ θ δ κ ζϋ η βμ η ΰζ δ βμ (compile) κ ε δεϊ θ κ ε δεμ λϊ δ δ ξμ σθ κθ Ϋζ ΰξκ, ηκλ έ β θϋξ δ θ ηη δξθέ δ, θ δη έκθ μ ζκκδά δμ Ϊζζθ δε θ, έ η ηκθηϋθ ιϊ εβ β, έ ζέ δ λ γζβηϊ θ Ϊ β τκ βθ κ. Ϋξ δ θ κηϋθωθ Γδ δμ θϊΰε μ βμ ζ φσλημ, βηδκλΰάγβε ηδ ίϊ β κηϋθθ ΰζ SQL, β κκέ λδϋξ δ 7 έθε μ. Οδ λδ σ λκδ έθε μ λδζηίϊθκθ Ϋθθ ση κ δ ση θκ τικθ λδγησ (auto increment id) ΰδ εϊγ ε ξλβ ά κμ, κ κκέκμ ίκβγϊ κθ εζτ λκ ξ δλδ ησ κμ σ κθ ε δε ζκκέβ βμ βμ ζ φσλημ. Η ε δεκκέβ β βμ ίϊ βμ Ϋΰδθ utf-8 θ ηβ βηδκλΰκτθ δ λκίζάη ηί σ β μ. κθ λ κ έθε, η κ σθκη prog_langs γ κγβε τκθ δ κδ δγϋ δη μ ΰζ μ λκΰληη δ ηκτ. Ο έθεμ λδζηίϊθ δ κδξ έ θ ΰζ θ κ έθδ λέ β ΰδ βθ κλΰϊθ β εδ δξ έλδ ά κμ: κθ ε δεσ βμ ΰζ μ λκΰληη δ ηκτ, κ κκέκμ λσε δ δ ΰδ Ϋθθ τικθ λδγησ κ κ έ δ ση β ΰζ ε Ϊ βθ ε ξλδ ά βμ, κ σθκη βμ ΰζ μ εδ βθ βη λκηβθέ κ ά λκ Ϋγβε βθ ζ φσλη. Όμ θφϋλγβε εδ λκβΰκτη θκ βη έκ, ζέ δ βμ λΰ έμ, κ έθεμ σμ γ λδϋξ δ ησθκ ηδ ε ξλβ β, ά βμ ΰζ μ C. Ο τ λκμ έθεμ κθκηϊ δ games εδ φκλϊ δγϋ δη δξθέ δ κκέ γ ηκλ έ εϊκδκμ θ ηη Ϊ ξ δ. Όμ κ λκβΰκτη θκμ έθεμ, Ϋ δ εδ σμ λδζηίϊθ δ Ϋθθ ηκθ δεσ θΰθλδ δεσ ε δεσ ΰδ κ εϊγ δξθέ δ, κ σθκη κ δξθδ δκτ εδ βθ βη λκηβθέ κ εϊγ δξθέ δ βηδκλΰάγβε εδ 22
23 λκ Ϋγβε θ δζκΰά βμ ζ φσλημ. δξθδ δθ κ Ϋξκθ λκθφ λγ έ ( λέζδ, 4 Ϋξκη β δλϊ). δμ ε ξλέ δμ θ Ο ση θκμ έθεμ, η σθκη plaers βηδκλΰάγβε ΰδ βθ κγάε β θ δε θ κ Ϋξκθ εϊθ δ ΰΰλφά βθ ζ φσλη. σθ κγβε τκθ δ λκ δεϊ κδξ έ θ δε θ, κθκη θηκ, εδ ε δεσμ δ σ κ, εγμ εδ Ϋθμ τιθ ηκθ δεσμ λδγησμ ΰδ εϊγ έε β. λϋ δ θ θφ λγ έ μ κδ ε δεκέ δ σ κ κγβε τκθ δ β ίϊ β κηϋθθ εδ θεζκτθ δ σ άθ ηϋ θ κζθ ελ κΰλϊφβ βμ εδ κελ κΰλϊφβ βμ θ έ κδξ. Σβ θ σ β ά ημ β έθ δ ηδ θϊλ β β βμ PHP, β ζ δ κλΰέ βμ κκέμ ηέ η ζ κηϋλ δ μ γ θφ λγκτθ ση θβ θσ β. θ λξση θκδ κθ έθε λ, ΰδ εϊγ έε β κγβε τκθ δ έ βμ β ίϊ β κδ σθ κδ κ Ϋξ δ ΰε θ λ δ κ έε βμ ε Ϊ β δϊλε δ θ ΰθθ κ ΰέθκθ δ ζέ δ θ λ γζβηϊ θ. ση θκμ έθεμ βμ ίϊ βμ κηϋθθ έθδ κ έθεμ files. σθ κγβε τκθ δ σζ λξ έ ε δε κ θ ίϊκθ κδ έε μ βθ ζ φσλη ηέ η κδξ έ κμ εδ θ έ κδξ λδζηίϊθ δ Ϋθμ τιθ λδγησμ κ ξλε βλέ δ εϊγ λξ έκ. κδξ έ θ λξ έθ κ κγβε τκθ δ έ βμ β ίϊ β έθδ κ σθκη κ λξ έκ, κ ηϋΰ γσμ κ εδ κ λδ ξση θσ κ. κγβε τ δ έ βμ β βη λκηβθέ ε Ϊ βθ κκέ Ϋΰδθ κ θϋί η κ λξ έκ, εγμ εδ κ ε δεσμ κ έε β κ θϋί κ λξ έκ. ΣΫζκμ, κθ έθε σ ε ξλκτθ δ δζϋκθ κ σθκη βμ ΰζ μ λκΰληη δ ηκτ βθ κκέ ζκκδάγβε κ λσΰληη κ λξ έκ, κ σθκη κ δξθδ δκτ κ φκλϊ β ζκκέβ β εδ ηδ η ίζβ ά κ έξθ δ θ β η ΰζ δ β κ λξ έκ ά θ ά σξδ δ ξάμ. Ο ση θκμ έθεμ η κ σθκη contests, φκλϊ λ γζάη δΰθδ ηκτμ δξθδ δθ κ Ϊλξ δ β θ σ β θ δκλΰθγκτθ. Όμ εδ κμ λκβΰκτη θκμ έθε μ, Ϊλξ δ κ έκ ση κ τικθ λδγηκτ. δζϋκθ, η β βηδκλΰέ θσμ λ γζάη κμ ε ξλκτθ δ β ίϊ β κδξ έ κ, βζ ά κ σθκηϊ κ, κ λδγησμ θ δε θ κ ηη Ϋξκθ, κ σθκη κ δξθδ δκτ κ φκλϊ εδ β βη λκηβθέ βηδκλΰέμ κ. Μ Ϊ β ζάιβ κ λ γζάη κμ, κ έθεμ θβη λθ δ η κθ θδεβ ά ά κμ θδεβ Ϋμ κ λ γζάη κμ ( λδ σ λ μ ζ κηϋλ δ μ γ λκ δ κτθ βθ θσ β 3.4). έ βμ, η Ϊ κ Ϋζκμ κ λ γζάη κμ, ε ξλ έ δ κθ έθε Ϋθ τθκζκ ζβλκφκλδθ η ε Ϊζζβζβ ε δεκκέβ β (γ θζγ έ έ βμ ση θβ θσ β ), κ φκλκτθ β θκζδεά ιϋζδιβ εδ δμ ζ κηϋλ δ μ κ λ γζάη κμ. ξ δεσμ η κθ λκβΰκτη θκ έθε έθδ εδ κ έθεμ contest_plaer. σθ ΰέθ δ β τθ β θ δε θ η λ γζάη, φκτ ημ έξθ δ κδκδ έε μ Ϋξκθ ζϊί δ ηϋλκμ εϊγ Ϋθ σ Ϊ. Σ κδξ έ κ ε ξλκτθ δ έθδ κ ε δεσμ κ λ γζάη κμ, κ ε δεσμ κ έε β εδ κδ σθ κδ κ Ϋξ δ ΰε θ λ δ κ έε βμ κ ΰε ελδηϋθκ λ Ϊγζβη, άζβ β κκέ θβη λθ δ η β ζάιβ κ εϊ κ λ γζάη κμ. Σ ζ έκμ έθεμ βμ ίϊ βμ έθδ κ έθεμ Matches_2Plaers, κθ κκέκ κγβε τκθ δ κηϋθ ΰδ εϊγ δξθέ δ-ΰθ κ ζηίϊθ δ ξλ, θ σμ ζζϊ εδ ε σμ λ γζβηϊ θ. Σ κηϋθ Ϊ λδζηίϊθκθ κθ τικθ λδγησε δεσ κ ΰθ, κθ έ ζκ-σθκηϊ κ, βθ βη λκηβθέ δ ιΰΰάμ κ, κ σθκη κ δξθδ δκτ κ δζϋξγβε, κμ έε μ κ ηη έξθ εγμ εδ κ κ Ϋζ η κ ΰθ. Μ Ϊ κ Ϋζκμ κ δξθδ δκτ κγβε τκθ δ σμ εδ λ γζάη κδ ΰε θ ληϋθ μ ζβλκφκλέ μ κ φκλκτθ βθ ε Ϋζ β εδ δμ ζ κηϋλ δ μ κ ΰθ. κθ έθε Ϊλξκθ εση τκ άζ μ κ θ Ϋκθ κ 23
24 δξθέ δ η Ϋθ λ Ϊγζβη. δ, θ κ ΰθμ δ ιάξγβ ζέ δ εϊκδκ λ γζάη κμ, κγβε τκθ δ κθ έθε κ ε δεσμ κ λ γζάη κμ εγμ εδ κ ΰτλκμ κθ κκέκ ΰθέ βεθ κδ έε μ. ΠλεΪ λκ δϊ δ κ δϊΰληη κθ κ ά θ ξ έ θ (ERD) βμ ίϊ βμ κηϋθθ θ θζ δεϊ κ ε δεμ ζκκέβ άμ βμ λ έγ δ κ ΠλΪλ βη ΰΰλφά εδ έ κ κμ φσλη μ Ϊλξκθ θϋκμ ξλά ω χ κ τ ω (ERD) ω βη βθ λξδεά ζέ κ άη κμ βμ ζ φσλημ, λκ δϊκθ δ τκ δ ΰΰάμ κδξ έθ. βθ λ β έθ δ β θ σ β εϊκδκ ά β ηϋζκμ θ θ γ έ η κδξ έ κ, θ ηϋ βμ τ λβμ ηκλ έ Ϋθμ βμ θ εϊθ δ ΰΰλφά κ τ βη ( θσ β 4.2. δεσθ μ 4.1, 4.2). Ό θ Ϋθμ ξλά βμ δ ε φγ έ ΰδ λ β φκλϊ βθ ζ φσλη, λϋ δ θ ΰΰλφ έ κ τ βη δ Ϊΰκθ μ κ σθκηϊ κ, β δ τγθ β κ εδ Ϋθθ 24
25 ε δεσ λσ ί βμ η κθ κκέκ γ θ Ϋ δ κ ιάμ κ τ βη. κ έκ Όθκη κ ξλά βμ ηκλ έ θ δ Ϊΰ δ έ κ κθκη θησ κ ά ζϊ κ σθκηϊ κ, έ Ϋθ σθκη ξλά β βμ δζκΰάμ κ. σ γ έθδ κ σθκη η κ κκέκ γ ΰέθ δ θφκλϊ κ ξλά β ε Ϊ β δϊλε δ θ δξθδ δθ εδ θ λ γζβηϊ θ. Σκ έκ σ, σμ έθδ φ δεσ, γ λϋ δ θ κ ζ έ δ ησθκ σ ΰλΪηη κ ζ δθδεκτ ζφϊίβ κ, έ ε φζέ έ ηδελϊ, λδγηκτμ ά εση εδ ε θϊ δ άη. Σκ έκ λϋ δ θ ηζβλγ έ η ηδ Ϋΰελβ δ τγθ β βζ ε λκθδεκτ ξ λκη έκ κ ξλά β, βμ ηκλφάμ Σκ κ γ δ Ϊΰ δ κ ξλά βμ γ έθδ σ κ γ ξλβ δηκκδ έ ΰδ θ εϊθ δ έ κ κ κ τ βη η Ϊ βθ ΰΰλφά κ. ΣΫζκμ, ση θ τκ έ, κ ξλά βμ λϋ δ θ βηδκλΰά δ Ϋθθ ε δεσ λσ ί βμ εδ θ κθ δί ίδ δ θ έ κδξ. Γδ κθ ε δεσ λσ ί βμ κ ησθκμ λδκλδ ησμ έθδ θ κ ζ έ δ σ 5 Ϋμ 15 ξλε άλ μ ( θσ β 4.2. δεσθ μ 4.3, 4.4, 4.5). φκτ κ ξλά βμ ΰΰλφ έ δ ξμ κ τ βη, ηκλ έ θ ηζβλ δ θ έ κδξ έ κ κ εδ κθ ε δεσ λσ ί βμ εδ θ εϊθ δ έ κ κ κ τ βη. Σ κδξ έ κ έθ δ κ ξλά βμ γ λϋ δ θ έθδ Ϋΰελ, δφκλ δεϊ γ ηφθδ έ Ϋθ φϊζη κ γ κθ θβη λθ δ ΰδ κ θ έγ κ. σ βθ ζ λϊ λ κ ε δε κ ζκκδ έ λϊθ, ιέ δ θ θφ λγκτθ εϊκδ μ ζ κηϋλ δ μ. Όζκδ κδ Ϋζ ΰξκδ ΰδ βθ δετλ β θ κδξ έθ κ έθ δ κ ξλά βμ, ΰέθκθ δ ηϋ PHP. δμ λδ σ λ μ ζέ μ β δετλ β ά ΰέθ δ έ ζϊ η β ίκάγ δ βμ Javascript έ ηϋ δζθ ζϋΰξθ (Javascript εδ δζϋκθ PHP). Ο ζσμ Ϋζ ΰξκμ ησθκ η Javascript κλλέφγβε θ δ Ϋ εγμ λέ β ηβ κ άλδιβμ ά θ λΰκκέβ βμ βμ Javascript σ κθ εϊ κ φζζκη λβ ά δ κτ, γ δθσ θ β θ σ β κ ξλά β θ εϊθ δ ε ξλβ β θ κδξ έθ κ ξλέμ Ϋζ ΰξκ. δ ά λ κδ φσλη μ κ λϋ δ θ ηζβλγκτθ θ έθδ η ΰΪζ μ δζϋξγβε ΰδ ζσΰκμ ζσ β μ θ ΰέθκθ κδ Ϋζ ΰξκδ ησθκ ηϋ PHP εδ η β ίκάγ δ θ HTML εδ CSS θ λκ δϊκθ δ ηβθτη φζηϊ θ. β θϋξ δ γ θφ λγκτθ εϊκδ μ θ δφϋλκ μ θλ ά δμ βμ PHP κ ξλβ δηκκδάγβεθ ΰδ β βηδκλΰέ βμ ζέ μ άμ. βηθ δεσ λβ σ Ϋμ έθδ β θϊλ β β password_hash β κκέ ξλβ δηκκδάγβε η λϊη λκ β θϊλ β β Password_Default μ ιάμ: password_hash (string password, PASSWORD_DEFAULT) Οδ ε δεκέ λσ ί βμ κ λσε δ δ θ κγβε κτθ β ίϊ β γ λϋ δ Ϊθ θ έθδ ελ κΰλφβηϋθκδ (safe password hashing), εϊ δ κ κκέκ κ ζ έ ηδ γ η ζδ β λξά φϊζ δμ σζ μ δμ δ δε εϋμ ζέ μ. Κ Ϊ β βηδκλΰέ θσμ ε δεκτ λσ ί βμ ζκδσθ, εζ έ δ β θϊλ β β password_hash βμ PHP κ δ λϋφ δ βθ hashed δηά κ θγβη δεκτ, β κκέ έθδ ά κ κγβε τ δ ζδεϊ β ίϊ β. Σκ λ κ σλδ η βμ θϊλ β βμ έθδ κ ε δεσμ κ γ ελ κΰλφβγ έ θ κ τ λκ σλδ η (password_default), βζθ δ σ δ γ ξλβ δηκκδβγ έ ΰδ βθ ελ κΰλϊφβ β κ λκεγκλδ ηϋθκμ ζΰσλδγηκμ ε ε λη δ ηκτ (hashing algorithm). Πλκμ κ λσθ, κ ζΰσλδγηκμ κ Ϋξ δ ζκκδβγ έ σ βθ κηϊ κ άλδιβμ βμ ΰζ μ PHP έθδ κ ζΰσλδγηκμ bcrpt. Ό θ δ έ δ θ θεζβγ έ κ ε δεσμ λσ ί βμ σ β ίϊ β (ε Ϊ βθ σ δλ δ σ κ θσμ ξλά β κ τ βη), θ ΰέθ δ κ Ϋζ ΰξκμ γ θ δεσ β μ κ ξλά β, σ εζ έ δ β θϊλ β β password_verif. Η θϊλ β β ά θ Ϊ δ μ password_verif(string password, string hashed_password), σκ κ λ κ σλδ η έθδ κ ε δεσμ λσ ί βμ κ έθ δ σ κ ξλά β εδ κ τ λκ σλδ η έθδ κ ά β ελ κΰλφβηϋθκμ ε δεσμ σμ έθδ κγβε ηϋθκμ β ίϊ β. δ ημ έθ δ β θ σ β θ εϊθκη Ϋζ ΰξκ κ 25
26 ε δεκτ ξλέμ δζϋκθ δ ΰΰά ε δε ΰδ βθ ελ κΰλϊφβ β κ θγβη δεκτ κ δ Ϊΰ δ κ ξλά βμ. Μδ έ βμ βηθ δεά θϊλ β β βμ PHP έθδ β preg_match ( τθ ιβ: preg_match ( string pattern, string subject) ). Η θϊλ β β ά ζηίϊθ δ τκ ληϋ λκμ, κ σ δΰη (pattern) ΰδ κ έλδ η εδ β η ίζβ ά κ λδϋξ δ κ ζφλδγηβ δεσ (string) η κ κκέκ γ ΰέθ δ β τΰελδ β. Η θϊλ β β φλησ δ βθ εθκθδεά Ϋεφλ β κ Ϊλξ δ βθ λ β λϊη λκ κ ζφλδγηβ δεσ κ Ϊλξ δ β τ λβ λϊη λκ εδ ησζδμ ίλ γ έ έλδ η δ λϋφ δ βθ δηά 1, δφκλ δεϊ δ λϋφ δ βθ δηά 0. ΜΫ βμ θϊλ β βμ άμ Ϋΰδθ κ Ϋζ ΰξκμ ΰδ βθ δγηβ ά ηκλφά κ κθση κμ κ δ Ϊΰ δ κ ξλά βμ. Μδ λσηκδ η βθ λκβΰκτη θβ θϊλ β β έθδ β filter_var κ β ξλβ δηκκδά η η βθ ιάμ τθ ιβ: filter_var (string variable, FILTER_VALIDATE_ ). Η θϊλ β β ά λε δεϊ ιβλ έ κθ έ δκ εκσ η βθ λκβΰκτη θβ θϊλ β β, εγμ ΰελέθ δ θ β η ίζβ ά κ ζηίϊθ δ θ λ κ σλδ η έθδ τηφθβ η κ φέζ λκ κ έθ δ θ τ λκ σλδ η. βθ λΰ έ, ξλβ δηκκδάγβε ΰδ κθ Ϋζ ΰξκ βμ ηκλφάμ κ κ έθ δ σ κθ ξλά β, ΰδ σ εδ ξλβ δηκκδά η κ φέζ λκ filter_validate_ . Μδ εση θϊλ β β κ ξλβ δηκκδάγβε έθδ β htmlspecialchars ( θ Ϊ δ μ: htmlspecialchars ($string) ). Οδ κλδκγϋ μ θ tags βμ HTML ( < εδ > ) ηκλκτθ θ βηδκλΰά κθ η ΰΪζβ θ Ϊ β σ θ ηφθδ γκτθ Ϋθ εκηηϊ δ ε δηϋθκ κ γ ηφθδ γ έ ηδ δ κ ζέ. Η θϊλ β β ά ζκδσθ λκ φϋλ δ ηδ δζϋκθ φϊζ δ εγμ η λϋ δ κτμ κμ ξλε άλ μ δμ θ έ κδξ μ html ε δεκκδά δμ ξλε άλθ, ξσθ ε έη θκ κ ίλέ ε δ θϊη Ϊ κμ θ ηβθ εζηίϊθ δ θ html tag. φκτ κ ξλά βμ δ Ϊΰ δ Ϊ κδξ έ κ δ κτθ δ, εϊθ δ ΰΰλφά εδ β θϋξ δ δ ΰΰά κ τ βη, σ ξλβ δηκκδκτθ δ κδ PHP sessions ΰδ θ κγβε κτθ κδ λέ β μ ζβλκφκλέ μ λκ λδθϊ εδ θ ξλβ δηκκδβγκτθ λδ σ λ μ σ ηδ ζέ μ. θ ηϋθκμ κ τ βη ζϋκθ, κ ξλά βμ Ϋξ δ ηδ δλϊ σ δγϋ δη μ δζκΰϋμ κ γ λκ δ κτθ εγ ηέ θζ δεϊ δμ ση θ μ θσ β μ ΚζΪ β ΰδ β ΰζ λκΰληη δ ηκτ C ζέ δ βμ λΰ έμ βηδκλΰάγβε κ ε δεμ β ζ φσλη θ κ βλέ δ ζκκδά δμ δξθδ δθ ΰζ λκΰληη δ ηκτ C. Πλκε δηϋθκ σημ θ λκ γϋ κη κθ ε δε ζκκέβ βμ βμ ζ φσλημ β δ δσ β βμ ε δησ β μ, ξλβ δηκκδά η β θ σ β βμ PHP ΰδ θ δε δη θκ λφά λκΰληη δ ησ. Γδ εϊγ θϋ ΰζ λκΰληη δ ηκτ ζκδσθ λε έ θ βηδκλΰά κη ηδ θϋ εζϊ β εδ κ τ βη γ κ βλέι δ ζάλμ β θϋ ά ΰζ. θζ δεσ λ, βηδκλΰάγβε ηδ φβλβηϋθβ εζϊ β (abstract class) β κκέ κθκηϊ βε Process εδ κλέ δ δμ ί δεϋμ εδ λέ β μ δ δσ β μ κ γ λϋ δ θ Ϋξκθ κδ εζϊ δμ ΰδ εϊγ ΰζ λκΰληη δ ηκτ. β θϋξ δ, ΰδ εϊγ ηέ σ Ϋμ κ γ λκ έγ δ κ τ βη, γ βηδκλΰκτη ηδ εζϊ β κ γ εζβλκθκη έ βθ λϊθ εδ γ Ϋξ δ λέ β δζϋκθ κδξ έ κ έθδ 26
27 ηκθ δεϊ ΰδ εϊγ ΰζ λκΰληη δ ηκτ. Γδ βθ κ βηδκλΰά η βθ εζϊ β Process_C. άλδιβ βμ ΰζ μ C Θ κτη λ θζ δεϊ δμ ί δεϋμ θλ ά δμ κ Ϊλξκθ βθ φβλβηϋθβ εζϊ β Process εγμ εδ Ϋμ βμ κεζϊ βμ Process_C. λξδεϊ, Ϋξκη β θϊλ β β mcompile ($uploaded_file) β κκέ κλέ δ μ abstract (φβλβηϋθβ) εδ ζκκδ έ δ δμ εζϊ δμ θ δηϋλκμ ΰζ θ λκΰληη δ ηκτ, β δεά ημ λέ β βθ εζϊ β Process_C. ΜΫ βμ θϊλ β βμ άμ, ΰέθ δ β η ΰζ δ β (compile) κ ε δε κ Ϋξ δ θ ίϊ δ Ϋθμ ξλά βμ εδ δ λϋφκθ δ φϊζη ά κ σθκη κ ε ζϋ δηκ κ βηδκλΰ έ δ, λέ β ζθγ ηϋθβμ ά άμ η ΰζ δ βμ θ έ κδξ. Ο εκσμ βμ θϊλ β βμ άμ ιβλ έ δ ηϋ βμ θϊλ β βμ βμ PHP proc_open, β κκέ θζτγβε βθ θσ β Μ β θϊλ β β ά ε ζκτη βθ θ κζά gcc η θ έ κδξ κλέ η εδ η σθ κθ λσκ ΰέθ δ β η ΰζ δ β κ ε δε. Η λϊη λκμ βμ θϊλ β βμ, β η ίζβ ά uploaded_file, έθδ κ σθκη κ λκ λδθκτ λξ έκ ε δε κ γϋζκη θ ΰέθ δ compile. Η θϊλ β β δ λϋφ δ κ ε ζϋ δηκ λξ έκ κ βηδκλΰ έ δ η Ϊ β η ΰζ δ β, θ ά έθδ δ ξάμ, εδ φϊζη, λέ β κ Ϊ Ϊλξκθ. Η ση θβ θϊλ β β έθδ έ βμ abstract, κλέ δ βθ εζϊ β Process εδ ζκκδ έ δ βθ εζϊ β Process_C. ά έθδ β meecute($out_file). β θϊλ β β ά ΰέθκθ δ κδ λέ β μ θϋλΰ δ μ ΰδ βθ ε Ϋζ β θ ε ζϋ δηθ λξ έθ κ βηδκλΰκτθ δ η Ϊ β η ΰζ δ β. Κδ ά β θϊλ β β βλέ δ κθ εκσ βμ ηϋ βμ θϊλ β βμ proc_open, ηϋ βμ κκέμ ΰέθ δ β ε Ϋζ β κ λκΰλϊηη κμ. Η η ίζβ ά out_file, ηκθ δεά λϊη λκμ βμ θϊλ β βμ, κ ζ έ κ σθκη κ ε ζϋ δηκ λξ έκ κ έθδ β δ λ φση θβ η ίζβ ά βμ λκβΰκτη θβμ θϊλ β βμ, λέ β άμ η ΰζ δ βμ. Η Ϋικ κμ λ βμ θϊλ β βμ έθδ Ϋθμ έθεμ κ κ ζ έ δ σ λ δμ η ίζβ Ϋμ. Η λ β σ Ϋμ έθδ β η ίζβ ά βθ κκέ δ λϋφ δ β Ϋικ κμ βμ θϊλ β βμ proc_open εδ φκλϊ κ λσΰληη/ δ λΰ έ κ βηδκλΰ έ δ σ βθ ε Ϋζ β κ λξ έκ. Οδ Ϊζζ μ τκ η ίζβ Ϋμ έθδ κδ η ίζβ Ϋμ δμ κκέ μ κγβε τκη κμ δτζκμ δεκδθθέμ δ σ κ εδ ισ κ κ λκΰλϊηη κμ. λέ β κ Ϊλι δ φϊζη ε Ϊ βθ ε Ϋζ β βμ θ κζάμ σ κ ησθκ κ δ λϋφ δ β θϊλ β β έθδ Ϋθ ηάθη ζϊγκμ. Οδ τκ ζ έ μ θλ ά δμ βμ εζϊ βμ Process έθδ κδ m_write_stdin ($process, $stdin, $inputs) εδ m_get_stdout ($process, $stdout). Η η θ λ β φκλϊ βθ δ ΰΰά δ σ θ κ λσΰληη κ Ϋξκη βηδκλΰά δ η βθ meecute, θ β τ λβ β ζάοβ ισ θ σ κ λσΰληη. Οδ η ίζβ Ϋμ $process, $stdin εδ $stdout έθδ κδ Ϋικ κδ βμ θϊλ β βμ meecute κ θφϋλγβεθ βθ λκβΰκτη θβ λϊΰλφκ εδ β η ίζβ ά $inputs έθδ κ έθεμ η δμ δ σ κμ κ γϋζκη θ κη κ λσΰληη δδ β άμ Σ δξθέ δ κ ζκκδάγβεθ ζέ δ βμ λΰ έμ έθδ ΰθ Ϊ δξθέ δ «λέζδ» εδ «4 β δλϊ» κκέ λδΰλϊφβεθ βθ θσ β 2.3. Όμ βθ λέ β θ ΰζ θ λκΰληη δ ηκτ, Ϋ δ εδ, βηδκλΰά η ηδ φβλβηϋθβ εζϊ β δδ β ά (Class Judge) β κκέ κλέ δ δμ ί δεϋμ δ δσ β μ εδ δεθσ β μ σζθ θ εζϊ θ ΰδ εϊγ δξθέ δ. Γδ εϊγ θϋκ δξθέ δ ζκδσθ κ 27
28 βηδκλΰ έ δ, λε έ θ ε ε Ϊκη ηδ εζϊ β κ γ εζβλκθκη έ βθ λϊθ εδ γ Ϋξ δ δμ λέ β μ δζϋκθ δεθσ β μ κ έθδ ηκθ δεϋμ ΰδ κ δδ β ά εϊγ δηϋλκμ δξθδ δκτ. Ο βΰέ μ ΰδ βθ δ ΰΰά θϋκ δξθδ δκτ ηϋ βμ βηδκλΰέμ θϋμ εζϊ βμ έθκθ δ κ ΠλΪλ βη Γ. ΠλεΪ θζτ δ β ζ δ κλΰέ κ δδ β ά η ιάΰβ β θ θλ ά θ κ λδϋξ δ σ κ β φβλβηϋθβ εζϊ β σ κ εδ κδ εζϊ δμ θ τκ δξθδ δθ. Η ζ δ κλΰέ θ θλ ά θ βμ φβλβηϋθβμ εζϊ βμ θζτ δ λϊζζβζ η β ζ δ κλΰέ βμ εζϊ βμ ΰδ βθ λέζδ, θ ΰέθ δ δκ τεκζ ε θκβ σμ κ λσκμ ξλά βμ εδ φληκΰάμ κμ ΚζΪ β δδ β ά λέζδμ Σκ λ κ δξθέ δ, ΰδ βθ κ άλδιβ κ κκέκ βηδκλΰάγβε κ «δδ β άμ», έθδ σ βμ λέζδμ. β θϋξ δ λκ δϊκθ δ θζ δεϊ κδ θλ ά δμ βμ εζϊ βμ Judge εδ Ϋμ βμ κεζϊ βμ Pla_TicTacToe. λξδεϊ, Ϋξκη β θϊλ β β Initialize() β κκέ κλέ δ ί δεϊ κδξ έ κ ΰθ, σμ.ξ. κ δξθέ δ κ ζκκδ έ δ, βθ βη λκηβθέ ε.. εδ δ Ϊΰ δ Ϋθ PHP arra θ ξλβ δηκκδά κη κκδ άκ δΰηά ξλ δ κτθ ε Ϊ β δϊλε δ κ δξθδ δκτ. Σκ arra σ κ κθκηϊ η game_status εδ γ θφ λγκτη σ ιθϊ β θϋξ δ. ΜΫ ά β θϊλ β β λδζηίϊθκη εδ ζβλκφκλέ μ κ ιλ θ δ σ κ εϊ κ έ κμ κ δξθδ δκτ. σ ΰέθ δ ηϋ βμ abstract θϊλ β βμ Initialize_Details(), β κκέ ΰδ βθ λέ β βμ λέζδμ ζκκδ έ δ βθ εζϊ β Pla_TicTacToe εδ λξδεκκδ έ κ ηζσ κ δξθδ δκτ, βηδκλΰ έ βζ ά Ϋθθ ε θσ έθε 33. Γδ ζσΰκμ ζσ β μ εδ εκζέμ κ ξ δλδ ησ, κ έθεμ σμ εζηίϊθ δ θ Ϋθ ζφλδγηβ δεσ (string) θθδϊ ξλε άλθ σκ κ λ κμ ξλε άλμ κ string θ δλκ τ δ κ λ κ κδξ έκ κ έθε. λέ β ε θκτ β γϋ β ά κ έθε, κ ηίκζέκη η 0 κ string. Η ση θβ θϊλ β β φκλϊ βθ ε Ϋζ β θ λξ έθ θ δε θ. Η θϊλ β β ά έθδ β CompilePlaerFiles ($outfiles_arra), β κκέ Ϋξ δ λξ έ σ σζκμ κμ ηη Ϋξκθ μ εδ ηϋ βμ θϊλ β βμ mcompile βμ θ έ κδξβμ κεζϊ βμ (θϊζκΰ η β ΰζ λκΰληη δ ηκτ ζκκέβ βμ κ ε δε) βμ εζϊ βμ Process, εϊθ δ compile εδ δ λϋφ δ κθση θ θ έ κδξθ ε ζϋ δηθ λξ έθ. Η λϊη λκμ βμ θϊλ β βμ έθδ Ϋθμ έθεμ κ λδζηίϊθ δ λξ έ ε δε σζθ θ δε θ εδ κ έθεμ κ δ λϋφ δ σ ά λδζηίϊθ δ θ έ κδξ ε ζϋ δη λξ έ. Η θϊλ β β EecutePlaerFiles($outfiles_arra, $plaer) έλθ δ λξ έ Ϊ εδ ε ζ έ, θϊζκΰ η βθ δηά βμ η ίζβ άμ $plaer, κ λξ έκ κ έε β κ Ϋξ δ δλϊ θ έι δ. σ ΰέθ δ η β ίκάγ δ βμ θϊλ β βμ meecute βμ θ έ κδξβμ κεζϊ βμ βμ ΰζ μ λκΰληη δ ηκτ κ γϋζκη. ά δ λϋφ δ β η ίζβ ά βθ κκέ θ έγ δ β Ϋικ κμ βμ θϊλ β βμ proc_open (φκλϊ κ λσΰληη/ δ λΰ έ κ βηδκλΰ έ δ σ βθ ε Ϋζ β κ λξ έκ), β η ίζβ ά κ λδϋξ δ κθ έζκ (pipe) δεκδθθέμ η κ stdin κ λκΰλϊηη κμ εδ β η ίζβ ά η κθ έζκ ΰδ κ stdout κ λκΰλϊηη κμ. λέ β θηέμ ε Ϋζ βμ κ λξ έκ, δ λϋφ δ Ϋθ ηάθη φϊζη κμ. Οδ τκ ση θ μ θλ ά δμ Ϋξκθ θ εϊθκθ η βθ εέθβ β θσμ έε β Ϋθ ΰτλκ, βθ Ϋικ κ βζ ά κ λκΰλϊηη σμ κ. Η θϊλ β β Plaer_Pla ($data, $plaer, $input_table) έθδ κ δ δεϊ β θ κζά κ έθ δ κ δδ β άμ κθ εϊ κ έε β ΰδ θ έι δ. Πδκ ΰε ελδηϋθ Ϋξ δ θ κλέ η κηϋθ ΰδ κ λσΰληη κ έε β (Ϋικ κμ βμ θϊλ β βμ meecute), κθ έε β κ έ δ Ϋθ ΰε ελδηϋθκ ΰτλκ εδ κ ηζσ κ δξθδ δκτ σμ Ϋξ δ 28
29 δηκλφγ έ Ϋμ σ κ ΰτλκ. ΜΫ θ θλ ά θ m_write_stdin εδ m_get_stdout θ εζϊ θ κ εζβλκθκηκτθ βθ εζϊ β Process κ δδ β άμ ζζβζ δ λϊ η κ λσΰληη κ έε β εδ ζδεϊ β θϊλ β β Plaer_Pla δ λϋφ δ βθ Ϋικ κ κ λκΰλϊηη κμ κ έε β, βζ ά βθ εέθβ ά κ κ δξθέ δ. Η θϊλ β β Plaer_Pla ξλβ δηκκδ έ βθ abstract θϊλ β β define_inputs ($plaer, $table), β κκέ ζκκδ έ δ βθ κεζϊ β κ εϊ κ δξθδ δκτ εδ εγκλέ δ δμ δ σ κμ κ γ δ κ δδ β άμ κ λσΰληη κ έε β. Η θϊλ β β ά Ϋξ δ κθ έε β κ έ δ Ϋθ ΰε ελδηϋθκ ΰτλκ εδ κ ηζσ κ δξθδ δκτ σμ Ϋξ δ δηκλφγ έ Ϋμ σ κ ΰτλκ εδ εγκλέ δ δμ δ σ κμ κ γ δ κ δδ β άμ κ λσΰληη κ έε β, κδ κκέ μ ΰε θ λθκθ δ Ϋθ string. ΰε ελδηϋθ ΰδ βθ λέ β βμ λέζδμ εδ βμ κεζϊ βμ Pla_TicTacToe, β θϊλ β β ά δ λϋφ δ Ϋθθ έθε, κ λ κ κδξ έκ κ κκέκ έθδ κ τηίκζκ η κ κκέκ γ έι δ κ έε βμ (Χ ά Ο) εδ κ τ λκ έθδ κδ 9 ξλε άλ μ κ θ δλκ τκθ κ ηζσ κ δξθδ δκτ βμ λέζδμ. ση θβ εδ κζτ βηθ δεά θϊλ β β έθδ β Validate ($plaer_output, $current_game_table), β κκέ ε ζ έ κθ Ϋζ ΰξκ ΰελσ β μ βμ εέθβ βμ κ έε β εϊγ ΰτλκ. Ϋξ δ θ κλέ η βθ εέθβ β εϊκδκ έε β, βθ Ϋικ κ βζ ά κ λκΰλϊηη κμ κ, εδ βθ ηϋξλδ δΰηάμ ε Ϊ β κ ηζσ εδ δ λϋφ δ true ά false θ β εέθβ β κ έε β έθδ Ϋΰελβ ά Ϊελβ θ έ κδξ. Θ κτη λ θζ δεϊ κμ ζϋΰξκμ κ ΰέθκθ δ ΰδ κ δξθέ δ «λέζδ». Γδ κ ΰε ελδηϋθκ δξθέ δ, κ λσΰληη κ ξλά β λϋ δ θ δ λϋφ δ Ϋθ string 2 λδγηθ κδ κκέκδ θ δλκ τκθ δμ θ ΰηΫθ μ βμ γϋ βμ κ ηζσ βθ κκέ γ έι δ κ έε βμ. θ θφϋλκη σ δ β γϋ β 0,0 κ ηζσ κ δξθδ δκτ γ λ έ δ σ δ έθδ β Ϊθ λδ λά γϋ β. Μ ά βθ λ κξά λϋ δ θ Ϋξκθ ζκκδβγ έ εδ δξθέ δ θ δε θ θ ζ δ κλΰά κθ Ϊ. λξδεϊ, ηϋ θ θλ ά θ βμ PHP ctpe_space εδ ctpe_cntrl ζϋΰξκη θ Ϊλξκθ ξλε άλ μ ε θκτ ά ξλε άλ μ ζϋΰξκ (tab, escape εζ) κ string κ θ δλκ τ δ βθ Ϋικ κ κ έε β. θ δ ξτ δ εϊ δ σ 2 σ β Validate δ λϋφ δ false, δφκλ δεϊ θ ξέ δ η κμ ση θκμ ζϋΰξκμ. ση θβ λκςσγ β ΰδ θ γ λβγ έ Ϋΰελβ ηδ εέθβ β έθδ κ string η βθ εέθβ β κ έε β θ ηβθ κ ζ έ δ σ ζδΰσ λκμ ά λδ σ λκμ σ 2 ξλε άλ μ. έ βμ, φκτ κ ηζσ βμ λέζδμ έθδ 33 εδ κδ τκ λδγηκέ κ string θ δλκ τκθ θ ΰηΫθ μ, θ λϋ δ εϊκδκμ σ κτμ κμ λδγηκτμ θ έθδ ηδελσ λκμ κ 0 ά η ΰζτ λκμ κ 2. ΣΫζκμ, ζϋΰξ δ θ β εέθβ β κ έε β ΰέθ δ γϋ β κ θ Ϊλξ δ ά β ξλε άλμ. θ ζκδσθ σζκδ κδ Ϋζ ΰξκδ έθδ δ ξ έμ, β εέθβ β κ έε β γ λ έ δ Ϋΰελβ, δφκλ δεϊ κ έε βμ κεζ έ δ σ κθ ΰθ ηϋ βμ θϊλ β βμ κ θζτ δ β θϋξ δ. Η θϊλ β β Eliminate_Plaer (&$plaers_arra, $eliminated_plaer) ζκδσθ έθδ ά κ φδλ έ Ϋθθ έε β σ κθ ΰθ. Ϋξ δ θ κλέ η κθ έθε θ δε θ κ έθδ εση κ δξθέ δ εδ κθ έε β κ γϋζκη θ δΰλϊοκη σ κθ έθε σ εδ δ λϋφ δ κ θϋκ έθε δε θ, η Ϊ βθ φέλ β κ κεζ δ ηϋθκ έε β. βθ λέ β λ κ κδ Ϋζ ΰξκδ βμ θϊλ β βμ Validate κζκεζβλγκτθ η δ ξέ, σ ξλ δση ηδ δλϊ σ Ϊζζ μ θλ ά δμ ΰδ β θϋξ δ κ δξθδ δκτ. Μδ σ Ϋμ έθδ β abstract θϊλ β β Update_Game_Table ($plaer, $plaer_move, $current_game_table) κ τηφθ η βθ εέθβ β κ έε β θβη λθ δ β θϋ ε Ϊ β κ ηζσ κ δξθδ δκτ. Σ κλέ η κ Ϋξ δ έθδ κ έε βμ κ έ δ, κ string θ τκ ξλε άλθ κ κ ζ έ βθ εέθβ β κ έε β εδ β λκτ ε Ϊ β κ ηζσ κ δξθδ δκτ σμ Ϋξ δ δηκλφγ έ σ λκβΰκτη θκμ ΰτλκμ. κ δξθέ δ βμ λέζδμ ζκδσθ 29
30 σ κ εϊθ δ έθδ θ κκγ έ κθ θ έ κδξκ ξλε άλ (Χ ά Ο) β γϋ β κ κλέκθ κδ θ ΰηΫθ μ βμ εέθβ βμ κ έε β εδ θ δ λϋφ δ κ θβη ληϋθκ string κ θ δλκ τ δ κ ηζσ κ δξθδ δκτ. Σκ string κ δ λϋφ δ β λϊθ θϊλ β β έθ δ θ έ κ κμ βθ έ βμ abstract θϊλ β β Check_For_Result ($current_game_table) β κκέ θζτ δ κ ηζσ κ δξθδ δκτ εδ ζϋΰξ δ θ Ϊλξ δ κ Ϋζ η κθ ΰθ. Οδ Ϋζ ΰξκδ κ ΰέθκθ δ φκλκτθ βθ τλιβ λδθ Χ ά Ο β δλϊ κλδσθ δ, εϊγ ά δΰθδ κκδ άκ δ τγθ β. Η θϊλ β β ά δ λϋφ δ ηδ η ίζβ ά $winner β κκέ κ βζθ δ θ Ϊλξ δ ά σξδ θδεβ άμ κ δξθέ δ εδ θ θδ, κδκμ έθδ σμ. Γδ $winner = 1 Ϊλξ δ κ Ϋζ η εδ θδεβ άμ έθδ κ λ κμ έε βμ ( τηίκζκ Χ), ΰδ $winner = 2 Ϊλξ δ κ Ϋζ η εδ θδεβ άμ έθδ κ τ λκμ έε βμ, ΰδ $winner = 0 Ϊλξ δ κ Ϋζ η εδ σ έθδ β δ κζέ θ ΰδ $winner = -1 θ Ϊλξ δ εση κ Ϋζ η κθ ΰθ. Η ση θβ θϊλ β β κ ζκκδ έ δ βθ εζϊ β Judge έθδ β Net_Plaer ($current_plaer, $plaers_arra), ηϋ βμ κκέμ εγκλέ δ κ ση θκμ έε βμ κ γ έι δ κγϋ κθ μ μ κδ έε μ έκθ δ κξδεϊ. ΠλΫ δ θ θφ λγ έ μ λδ δμ δξθδ δθ σκ κ ση θκμ έε βμ εγκλέ δ η κκδκθ άκ Ϊζζκ λσκ, γ λϋ δ θ κλδ έ βθ θ έ κδξβ κεζϊ β κ δξθδ δκτ ηδ θϋ θϊλ β β Net_Plaer(). Η θϊλ β β ά ζκδσθ Ϋξ δ θ ληϋ λκμ κθ έε β κ ησζδμ Ϋδι εδ β ζέ θ δε θ κ ηη Ϋξκθ κ δξθέ δ εδ δ λϋφ δ κθ έε β κ γ έι δ κθ ση θκ ΰτλκ. Μδ εση θϊλ β β έθδ β Update_Game_Status ($round, $plaer, $plaer_move, $validation, $new_plaer_list, $new_table, $round_result), β κκέ θβη λθ δ κθ έθε $game_status κ θφϋλη εδ δκ Ϊθ. Ο έθεμ σμ, ζκδσθ, θβη λθ δ εϊγ ΰτλκ η κθ λδγησ κ ΰτλκ κ δξθδ δκτ κ κκέκ θφ λση, κθ έε β κ Ϋδι κ ΰτλκ σ, βθ εέθβ β κ έε β, κ κ Ϋζ η κ ζϋΰξκ βμ εέθβ βμ κ έε β σ β θϊλ β β Validate, β θϋ ζέ η κμ έε μ κ ίλέ εκθ δ ζϋκθ κ δξθέ δ, βθ ε Ϊ β κ ηζσ κ δξθδ δκτ σμ ά Ϋξ δ δηκλφγ έ μ λ εδ κ κ Ϋζ η κ ΰτλκ κ ησζδμ κζκεζβλγβε. Όζ μ κδ λϊθ θλ ά δμ λ ξλβ δηκκδκτθ δ θ ζκκδά κθ βθ δκ βηθ δεά θϊλ β β βμ εζϊ βμ, βθ Pla_Rounds($outfiles_arra). Η θϊλ β β ά ε ζ έ εϊγ ΰτλκ κ ΰθ ηϋξλδ βθ κζκεζάλ ά κ. Η δ δε έ εϊγ ΰτλκ Ϋξ δ μ ιάμ: ε Ϋζ β κ λξ έκ κ έε β, κ Ϋξ δ δλϊ κ ΰτλκ σ, ηϋ βμ θϊλ β βμ EecutePlaerFiles, ζάοβ βμ εέθβ άμ κ ηϋ βμ θϊλ β βμ Plaer_Pla, Ϋζ ΰξκμ ΰελσ β μ βμ εέθβ βμ άμ ηϋ βμ θϊλ β βμ Validate, λέ β Ϊελβμ εέθβ βμ: κεζ δ ησμ κ έε β ηϋ βμ θϊλ β βμ Eliminate_Plaer, λέ β Ϋΰελβμ εέθβ βμ: 30
31 θβηϋλ β κ ηζσ κ δξθδ δκτ ηϋ βμ θϊλ β βμ Update_Game_Table, Ϋζ ΰξκμ ΰδ κ Ϋζ η ηϋ βμ θϊλ β βμ Check_For_Result, εγκλδ ησμ κ έε β κ γ έι δ κθ ση θκ ΰτλκ ηϋ βμ θϊλ β βμ Net_Plaer, θβηϋλ β κ έθε η δμ ζ κηϋλ δ μ κ ΰτλκ ηϋ βμ θϊλ β βμ Update_Game_Status, ε Ϋζ β ση θκ ΰτλκ λέ β κ θ Ϊλξ δ θδεβ άμ Όμ ίζϋκη ζκδσθ ηϋ βμ θσμ ΰθ. θϊλ β βμ άμ ΰέθ δ κ δ δεϊ β ε Ϋζ β δζϋκθ λ δμ λϊθ θλ ά θ Ϋξκη βθ abstract θϊλ β β Draw ($current_game_table, $last_plaer_move) β κκέ κ θ δ θ έ κδξκ ξϋ δκ εϊγ ΰτλκ κ δξθδ δκτ. κ δξθέ δ βμ λέζδμ σ έθδ φ δεϊ κ 33 ηζσ κ δξθδ δκτ. Οδ λϊη λκδ κ Ϋξ δ έθδ κ ηζσ σμ Ϋξ δ δηκλφγ έ Ϋμ σθ κ ΰτλκ εδ β εέθβ β κ Ϋεθ κ ζ έκμ έε βμ. Η τ λβ λϊη λκμ λκ Ϋγβε θ κ ξλε άλμ κ γ ηφθέ κη έθδ β ζ έ εέθβ β, σ ά θ κ θ δ η εσεεδθκ ξλη θ ι ξλέ δ εδ θ έθδ δϊελδ β β ιϋζδιβ κ δξθδ δκτ. λέ β λ κ β εέθβ β κ έε β θ έθδ Ϋΰελβ σ θ κ λσΰληη κ έε β θ Ϋξ δ δ λϋο δ Ϋικ κ, ηφθέ δ ηάθη κ θβη λθ δ σ δ κ θ έ κδξκμ έε βμ θ Ϋδι θ θ κ έε βμ Ϋδι γϋ β κ άλξ ά β τηίκζκ εϊκδκ έε β, σ κδ θ ΰηΫθ μ βμ εέθβ βμ ηφθέκθ δ βθ κγσθβ λκε δηϋθκ κ έε βμ θ Ϋξ δ εδ ά βθ λέ β ζάλβ δεσθ ΰδ β ζ δ κλΰέ κ ζΰκλέγηκ κ. κκδ άκ Ϊζζβ λέ β ηβ Ϋΰελβμ εέθβ βμ ηφθέ δ βθ κγσθβ θ έ κδξκ ηάθη. Σ ζ έ θ θλ ά θ βμ εζϊ βμ Judge έθδ β Clear ($outfiles_arra) κ δΰλϊφ δ σζ ε ζϋ δη λξ έ κ Ϋξκθ κγβε έ λκ λδθϊ κθ κζκΰδ ά, κκέ Ϋξ δ θ έ κ κ η β ηκλφά έθε. ε σμ θ λϊθ θλ ά θ Ϊλξκθ τκ εση θλ ά δμ κδ κκέ μ Ϊλξκθ βθ κεζϊ β Pla_TicTacToe ξλέμ θ ζκκδκτθ εϊκδ abstract θϊλ β β βμ εζϊ βμ Judge. Η λ β σ Ϋμ έθδ β Update_m_Database ($plaer1_id, $plaer2_id) β κκέ θβη λθ δ β ίϊ β κηϋθθ εδ ΰε ελδηϋθ κθ έθε Matches_2Plaers η κδξ έ κ δξθδ δκτ. Σ κλέ η Ϊ βμ έθδ κδ ηκθ δεκέ ε δεκέ (Plaer_ID) θ τκ δε θ κ ηη έξθ κθ ΰθ λέζδμ κ ησζδμ κζκεζβλγβε. λϋ δ θ θφϋλκη σ δ β θϊλ β β ά θ κλέ βε θ abstract βμ ί δεάμ εζϊ βμ Judge εγμ φκλϊ δξθέ δ ησθκ η τκ έε μ. Η εζϊ β Judge κ βλέ δ δξθέ δ ΰδ λδ σ λκμ σ τκ έε μ κσ ηδ Ϋ κδ θϊλ β β γ λδσλδ β θ σ β ά. θ εϊκδκμ γ ζά δ ζκδσθ θ βηδκλΰά δ Ϋθ δξθέ δ λδ σ λθ δε θ γ λϋ δ θ βηδκλΰά δ βθ εζϊ β δδ β ά κ δξθδ δκτ κτ, ηδ θ έ κδξβ θϊλ β β κ γ θβη λθ δ β ίϊ β κηϋθθ. Η τ λβ σ δμ ηκθ δεϋμ θλ ά δμ βμ εζϊ βμ Pla_TicTacToe έθδ β show_result ($result, $plaer1_name, $plaer2_name) κ ηφθέ δ κ κ Ϋζ η κ δξθδ δκτ ηϋ ε δε HTML. Σ κλέ η βμ θϊλ β βμ έθδ κ κ Ϋζ η κ δξθδ δκτ, κ σθκη κ λ κ έε β εδ κ σθκη κ τ λκ έε β κ ΰθ. Κδ ά β θϊλ β β, σμ β λκβΰκτη θβ, 31
32 γ ηκλκτ θ θφ λγ έ θ abstract βμ εζϊ βμ Judge ζζϊ φκλϊ τκ έε μ εδ σμ λκθφϋλη σ γ λδσλδ β ΰ θδεά εζϊ β δδ β ά ΚζΪ β δδ β ά «4 β δλϊ» Όμ Ϋξ δ λκθφ λγ έ, ζέ δ βμ λΰ έμ βηδκλΰάγβε εδ Ϋθ εση δξθέ δ, κ 4 β δλϊ (ΰθ σ μ Connect 4 ά εδ Score 4). Οδ εθσθ μ κ δξθδ δκτ θζτκθ δ κ Κ φϊζδκ 2 εδ γ κτη δμ θλ ά δμ βμ κεζϊ βμ Pla_Connect4 κ κ ζ έ κ «δδ β ά» ΰδ κ ΰε ελδηϋθκ δξθέ δ. Οδ θλ ά δμ Ϋμ έθδ κδ έ δ μ η Ϋμ βμ λέζδμ ησθκ κ Ϋξκθ δφκλ δεά ζκκέβ β. λξδεϊ Ϋξκη β θϊλ β β Initialize_Details(), β κκέ λξδεκκδ έ κ ηζσ κ δξθδ δκτ, βηδκλΰ έ βζ ά Ϋθθ ε θσ έθε 67. Όμ εδ κ δξθέ δ βμ λέζδμ ΰδ ζσΰκμ ζσ β μ εδ εκζέμ κ ξ δλδ ησ, κ έθεμ σμ ηίκζέ δ θ Ϋθ string 42 ξλε άλθ σκ κ λ κμ ξλε άλμ κ string θ δλκ τ δ κ λ κ κδξ έκ κ έθε. λέ β ε θκτ β γϋ β ά κ έθε, ηίκζέ δ εδ η κθ ξλε άλ 0 κ string. ση θβ β δλϊ έθδ β θϊλ β β define_inputs ($plaer, $table), β κκέ βθ λέ β βμ λέζδμ εδ βμ κεζϊ βμ Pla_Connect4, δ λϋφ δ Ϋθ έθε. Σκ λ κ κδξ έκ κτ κ έθε έθδ κ τηίκζκ η κ κκέκ γ έι δ κ έε βμ, Y (Τellow) ΰδ κθ λ κ έε β ά R (Red) ΰδ κθ τ λκ, εδ κ τ λκ κδξ έκ έθδ Ϋθ string 42 ξλε άλθ κ θ δλκ τκθ, ε Ϊ ΰθ Ϊ, κ ηζσ κ δξθδ δκτ βμ λέζδμ. β θϋξ δ γ θζτ κη βθ ζκκέβ β βμ θϊλ β βμ Validate ($plaer_output, $current_game_table). Όμ βθ λέζδ Ϋ δ εδ, κ λσΰληη κ ξλά β λϋ δ θ δ λϋφ δ Ϋθ string τκ λδγηθ κδ κκέκδ θ δλκ τκθ δμ θ ΰηΫθ μ βμ γϋ βμ κ ηζσ βθ κκέ γ έι δ κ έε βμ. Κδ ΰδ κ δξθέ δ σ, β γϋ β 0,0 κ ηζσ κ δξθδ δκτ γ λ έ δ σ δ έθδ β Ϊθ λδ λά γϋ β εδ η ά βθ λ κξά λϋ δ θ Ϋξκθ ζκκδβγ έ εδ δξθέ δ «4 β δλϊ» θ δε θ. θζκΰέ η βθ θ έ κδξβ θϊλ β β βμ εζϊ βμ Pla_TicTacToe, ηϋ θ θλ ά θ βμ PHP ctpe_space εδ ctpe_cntrl ζϋΰξκη θ Ϊλξκθ ξλε άλ μ ε θκτ ά ξλε άλ μ ζϋΰξκ (tab, escape εζ) κ string κ θ δλκ τ δ βθ Ϋικ κ κ έε β. θ δ ξτ δ εϊ δ σ τκ σ β Validate δ λϋφ δ false, δφκλ δεϊ θ ξέ δ η κμ ση θκμ ζϋΰξκμ. Κδ ηδ εέθβ β γ λ έ δ Ϋΰελβ θ κ string η βθ εέθβ β κ έε β θ κ ζ έ δ σ ζδΰσ λκμ ά λδ σ λκμ σ τκ ξλε άλ μ. Σκ ηζσ κ δξθδ δκτ «4 β δλϊ» έθδ 67, Ϋ δ κ λ κμ λδγησμ κ string κ θ δλκ τ δ β θ ΰηΫθβ κθ Ϊικθ θ, θ λϋ δ θ έθδ ηδελσ λκμ κ 0 ά η ΰζτ λκμ κ 5 εδ θ έ κδξ κ τ λκμ λδγησμ, θ ΰηΫθβ, ηκλ έ θ Ϊλ δ δηϋμ σ 0 Ϋμ 6. β θϋξ δ ζϋΰξ δ θ β εέθβ β κ έε β ΰέθ δ γϋ β κ θ Ϊλξ δ ά β ξλε άλμ εδ Ϋζκμ Ϋξκη Ϋθθ Ϋζ ΰξκ κ κ ζ έ δ δέ λκ κδξ έκ κ δξθδ δκτ «4 β δλϊ». σμ ι Ϊ δ β γϋ β κ ίλέ ε δ εϊ σ ά βθ κκέ Ϋδι κ έε βμ. θ β γϋ β ά έθδ ηζβληϋθβ σ β εέθβ β έθδ Ϋΰελβ, θ θ β γϋ β έθδ ε θά σ β εέθβ β γ λ έ δ Ϊελβ (ΰδ λδ σ λ μ ζβλκφκλέ μ ξ δεϊ η κμ εθσθ μ κ δξθδ δκτ ηκλκτη θ θ λϋικη βθ θ έ κδξβ θσ β κ τ λκ ε φζέκ). θϊζκΰ η κ ζϋ η, β θϊλ β β δ λϋφ δ δμ θ έ κδξ μ ισ κμ σμ θφϋλγβε εδ βθ θ έ κδξβ θϊζ β βμ θϊλ β βμ βθ εζϊ β Pla_TicTacToe. 32
33 ση θβ θϊλ β β κ ζκκδ έ βθ θ έ κδξβ abstract θϊλ β β βμ εζϊ βμ Judge έθδ β Update_Game_Table ($plaer, $plaer_move, $current_game_table). κ δξθέ δ «4 β δλϊ», θ έ κδξ η σ βμ λέζδμ, κκγ έ κθ θ έ κδξκ ξλε άλ (Y ά R) β γϋ β κ κλέκθ κδ θ ΰηΫθ μ βμ εέθβ βμ κ έε β εδ δ λϋφ δ κ string κ θ δλκ τ δ κ θβη ληϋθκ ηζσ κ δξθδ δκτ η Ϊ βθ εέθβ β ά κ έε β. Οδ θλ ά δμ Check_For_Result ($current_game_table) εδ Draw ($current_game_table, $last_plaer_move) δφκλκκδκτθ δ έ βμ η ηδελϋμ ζ κηϋλ δ μ ξϋ β η Ϋμ βμ εζϊ βμ δδ β ά βμ λέζδμ. Η η θ λ β ζϋΰξ δ εδ Ϊζδ ΰδ κ Ϋζ η κλδσθ δ, εϊγ εδ σζ μ δμ δΰθδ μ δ γτθ δμ η β δφκλϊ σ δ κ δξθέ δ σ οϊξθ δ ΰδ 4 έ δ τηίκζ β δλϊ. Η θϊλ β β ξ δ ηκτ Draw λ, ξ δϊ δ κ ηζσ η ΰΫγκμ 67 θϊζκΰ η δμ δ σ κμ κ έθκθ δ. Οδ τκ ζ έ μ θλ ά δμ Update_m_Database ($plaer1_id, $plaer2_id) εδ show_result ($result, $plaer1_name, $plaer2_name) έθδ θκηκδσ μ η Ϋμ βμ εζϊ βμ Pla_TicTacToe εγμ ε ζκτθ δμ έ δ μ λΰ έ μ. Ο ζσΰκμ κ θ κλέκθ δ β ί δεά εζϊ β δδ β ά θφϋλγβε κθ κλδ ησ θ θλ ά θ θ βθ λκβΰκτη θβ θσ β θϋί η λχ έκ μ κτη λ βθ λε δεά βη έ θ δζκΰθ θ κ έθκθ δ ηϋ βμ ζ φσλημ. Μ Ϊ ζκδσθ βθ ΰΰλφά εδ έ κ σ κ κ τ βη, κ ξλά βμ ηκλ έ ζϋκθ θ θ ίϊ δ Ϋθ λξ έκ κ θ ζκκδ έ Ϋθ σ δγϋ δη δξθέ δ, ηδ σ δμ δγϋ δη μ ΰζ μ λκΰληη δ ηκτ. σ ΰέθ δ ηϋ βμ θ έ κδξβμ φσλημ σκ κ ξλά βμ δζϋΰ δ δγηβ Ϊ κδξ έ εδ θ ίϊ δ κ λξ έκ κ τ βη. φκτ φκλ γ έ κ λξ έκ, ΰέθ δ ση β η ΰζ δ ά κ εδ ηφθέκθ δ βθ κγσθβ κ ζϋ η Ϊ βμ κ έθδ έ ζϊγβ, θ Ϊλξκθ, έ Ϋθ ηάθη δ ξέμ ( θσ β 4.2. δεσθ μ ). βθ έ δ ζέ λ, ηκλκτη θ κτη ηδ ζέ η σζ λξ έ κ Ϋξ δ θ ίϊ δ κ ξλά βμ. έζ σ κ σθκη εϊγ λξ έκ Ϊλξκθ λ δμ δζκΰϋμ: Delete, Edit, Compile ( θσ β 4.2. δεσθ 4.6). ΜΫ βμ λ βμ δζκΰάμ κ ξλά βμ δΰλϊφ δ κ θ έ κδξκ λξ έκ σ β ίϊ β κηϋθθ θ ηϋ βμ θ κζάμ Compile ηκλ έ θ θ ε ζϋ δ β η ΰζ δ β κ λξ έκ εδ θ δ κ ζϋ η Ϊ βμ. Η δζκΰά Edit η φϋλ δ κ ξλά β Ϋθ έκ ε δηϋθκ κζζζθ ΰληηθ (tetarea) σκ ηκλ έ θ ι λΰ έ κθ ε δε κ λξ έκ κ εδ β θϋξ δ θ θβη λ δ η δμ ζζΰϋμ λδ ξση θ κ λξ έκ κ έθδ ε ξλβηϋθκ β ίϊ β εδ θ ε ζϋ δ ιθϊ β η ΰζ δ β κ λξ έκ ( θσ β 4.2. δεσθ 4.9). Μ σ κθ λσκ ηκλ έ θ δκλγ δ ξσθ ζϊγβ η ΰζ δ βμ Ϊη ξλέμ θ ξλ δϊ δ θ θ ίϊ δ Ϊζζκ λξ έκ β ίϊ β. Μδ βη έ β κ λϋ δ θ ΰέθ δ έθδ σ δ θ εϊγ ξλά βμ ηκλ έ θ δ β ζέ η λξ έ κ Ϋξ δ θ ίϊ δ κ έ δκμ, κ δξ δλδ άμ βμ ζ φσλημ ηκλ έ θ δ εδ θ δξ δλδ έ λξ έ σζθ θ δε θ. 33
34 3.7. ε Ϋζ β δχθδ δκτ φκτ Ϋξ δ θ ίϊ δ Ϋθ ά λδ σ λ λξ έ ζκκέβ βμ δξθδ δθ, κ ξλά βμ ηκλ έ θ η ί έ βθ ζέ Ϋθλιβμ ΰθ, βθ κκέ δζϋΰ δ κδκ δξθέ δ γϋζ δ θ δΰθδ γ έ. β θϋξ δ ηφθέ δ ηδ ζέ η τκ ζέ μ δξθδ δθ κ έθδ κδ ζέ μ η λξ έ κ Ϊλξκθ β ίϊ β εδ ζκκδκτθ κ ΰε ελδηϋθκ δξθέ δ. Γδ θ ηη Ϊ ξκθ Ϋθ δξθέ δ, λξ έ λϋ δ θ Ϋξκθ η ΰζ δ έ ξλέμ φϊζη. Η εϊγ ζέ ζκδσθ λδζηίϊθ δ κθση θ λξ έθ εδ θ έ κδξ θ δε θ κ Ϋξκθ θ ίϊ δ κ ΰε ελδηϋθκ λξ έκ ( θσ β 4.2. δεσθ μ ). Ο ξλά βμ ηκλ έ θ ι εδθά δ Ϋθθ ΰθ ησθκ θ ηη Ϋξ δ σ, έ μ λ κμ έ μ τ λκμ έε βμ, η εϊκδκ λξ έκ κ Ϋξ δ θ ίϊ δ κ έ δκμ. Μ Ϊ βθ δζκΰά θ δε θ, ΰέθ δ β Ϋθλιβ κ ΰθ, κ κκέκμ δ ιϊΰ δ εδ δ λϋφ δ βθ κγσθβ ημ κθ ξ δ ησ βμ ε Ϊ βμ κ ηζσ εϊγ ΰτλκ εγμ εδ κ κ Ϋζ η κ δξθδ δκτ ( θσ β 4.2. δεσθ μ ). Ό κθ φκλϊ λ κ λκΰληη δ δεσ ηϋλκμ βμ ζέ μ άμ, ΰέθ δ β βηδκλΰέ κ δΰηδσ κ βμ θ έ κδξβμ εζϊ βμ δδ β ά ΰδ κ ΰε ελδηϋθκ δξθέ δ. θϊζκΰ η κ δξθέ δ κ δζϋιη φκλ θ δ εδ κ θ έ κδξκ λξ έκ κ λδζηίϊθ δ βθ εζϊ β κ δδ β ά κ δξθδ δκτ εδ βηδκλΰ έ δ θ δε έη θκ βμ ΰε ελδηϋθβμ εζϊ βμ. Γδ θ ΰέθ δ β ε Ϋζ β θσμ ΰθ λ, εζκτη δμ θλ ά δμ βμ θ έ κδξβμ εζϊ βμ ΰδ βθ λξδεκκέβ β κ ΰθ, βθ ε Ϋζ β κ δξθδ δκτ εδ βθ θβηϋλ β βμ ίϊ βμ κηϋθθ. Μ Ϊ βθ κζκεζάλ β κ ΰθ, ηφθέ δ κ κ Ϋζ η. λϋ δ θ θφ λγ έ σ δ β ζέ ηϋ βμ κκέμ δ ιϊΰ δ Ϋθμ ΰθμ ηκλ έ θ εζβγ έ έ σ β ζέ ε Ϋζ βμ δξθδ δκτ έ σ β ζέ λ γζβηϊ θ. θζσΰμ ζκδσθ σ κτ λκϋλξ δ β εζά β ε Ϋζ βμ, δ Ϊΰκη εδ δ λϋφκη θ έ κδξ κδξ έ. θ κ δξθέ δ ε ζ έ δ ζέ δ θσμ λ γζάη κμ, σ β εζά β ά Ϋζθ δ θ δζϋκθ κδξ έκ κ id κ λ γζάη κμ εδ κ ησθκ κ δ λϋφκη έθδ ζϊ κ κ Ϋζ η κ δξθδ δκτ. θ β εζά β λκϋλξ δ σ β ζέ ζάμ ε Ϋζ βμ θσμ ΰθ, σ δ λϋφκη θζ δεϊ βθ θλϊ β κ ηζσ κ δξθδ δκτ Πλω γζάη Μδ εση θ σ β κ έθ δ ηϋ βμ ζ φσλημ έθδ β δκλΰϊθ β λ γζβηϊ θ ΰδ Ϋθ δξθέ δ. Ϋθ λ Ϊγζβη ηη Ϋξκθ έε μ κ Ϋξκθ θ ίϊ δ ζκκέβ β ΰδ κ ΰε ελδηϋθκ δξθέ δ, θ ιλ ά μ ΰζ μ λκΰληη δ ηκτ. Σκ λ Ϊγζβη κ ζ έ δ σ ΰτλκμ σκ τΰβ δε θ έκθ θκζδεϊ Ϋ λ δξθέ δ η ιτ κμ. Μ Ϊ βθ κζκεζάλ β σζθ θ λέ β θ ΰτλθ, ΰέθ δ β θϊ διβ κ θδεβ ά κ λ γζάη κμ. θμ έε βμ ηκλ έ, σμ έθδ φ δεσ, θ ηη Ϊ ξ δ λϊθ σ Ϋθ λ γζάη λε έ θ Ϋξ δ θ ίϊ δ λξ έκ ε δε ΰδ κ θ έ κδξκ δξθέ δ εδ κ ε δεμ σμ θ Ϋξ δ η ΰζ δ έ δ ξμ. θ Ϋθμ ξλά βμ Ϋξ δ θ ίϊ δ λδ σ λ μ σ ηδ ζκκδά δμ ΰδ κ έ δκ δξθέ δ, σ ηη Ϋξ δ η ά κ θϋί δκ λσ φ κ τ βη. μ κτη λ θζ δεϊ δμ ζ κηϋλ δ μ βμ θ σ β μ άμ κ έθ δ β ζ φσλη. βθ λξδεά ζέ βηδκλΰέμ λ γζάη κμ ημ ηζβλ κη κδξ έ κ λ γζάη κμ κ γϋζκη θ ( θσ β 4.2. δεσθ μ ). Σ κδξ έ Ϊ λδζηίϊθκθ λ γζάη κμ, κθ λδγησ θ δε θ κ γϋζκη θ ηη 34 β έ δ θ ι εδθά κη κ σθκη κ Ϊ ξκθ κ
35 λ Ϊγζβη εδ φ δεϊ κ δξθέ δ κ κκέκ γ θη λβγκτθ κδ έε μ κ λ γζάη κμ. Ό κθ φκλϊ κθ ε δε άμ βμ ζέ μ ιέ δ θ θφ λγ έ σ δ β δζκΰά κ λδγηκτ θ ηη ξσθ θ ΰέθ δ ηϋ σ Ϋθ η θκτ ε λλϊε β (dropdown menu). Οδ λδγηκέ θϊη κμ κκέκμ εζκτη θ δζϋικη ι εδθκτθ σ 2 εδ φ Ϊθκθ Ϋμ κθ λδγησ θ δε θ κ Ϋξκθ ΰΰλφ έ βθ ζ φσλη εδ Ϋξκθ θ ίϊ δ κζϊξδ κθ Ϋθ λξ έκ. φκτ ΰέθ δ β ηζάλ β θ κδξ έθ ΰδ βηδκλΰέ κ λ γζάη κμ εδ ά κη κ εκηέ βηδκλΰέ, η φ λση β ζέ σκ λϋ δ θ δζϋικη κμ έε μ κ γ ηη Ϊ ξκθ κ λ Ϊγζβη ( θσ β 4.2. δεσθ 4.18). θ κ λδγησμ θ δε θ κ δζϋιη β λκβΰκτη θβ ζέ έθδ η ΰζτ λκμ ά έ κμ κ λδγηκτ θ δε θ κ ηκλκτθ θ ηη Ϊ ξκθ κ λ Ϊγζβη, σ ση ΰέθ δ δζκΰά σζθ θ δε θ σ β ζέ. θ θφϋλκη σ δ κ λδγησμ θ δε θ κ ηφθέ δ βθ λκβΰκτη θβ ζέ κ ζ έ κ τθκζκ θ δε θ κ Ϋξκθ θ ίϊ δ εϊκδκ λξ έκ, θ ιϊλ β σ κ δξθέ δ. δ, ηκλ έ θ δζϋικη σ δ γϋζκη θ ηη Ϊ ξκθ.ξ. 30 έε μ κ λ Ϊγζβη, ζζϊ ΰδ κ ΰε ελδηϋθκ δξθέ δ κ γ δζϋικη θ Ϋξκθ θ ίϊ δ λξ έκ ζδΰσ λκδ σ 30 έε μ. β ζέ λ κ ηφθέ δ, έζ σ κ σθκη εϊγ έε β ηφθέ δ δζϋκθ κ σθκη κ λξ έκ η κ κκέκ γ ηη Ϊ ξ δ κ ξλά βμ, κ κκέκ σμ θφϋλη εδ δκ Ϊθ έθδ κ δκ λσ φ κ λξ έκ κ Ϋξ δ θ ίϊ δ κ έε βμ ΰδ κ ΰε ελδηϋθκ δξθέ δ. Μ Ϊ βθ δζκΰά θ δε θ, θ μ κ ζάε λκ εεέθβ β ΰέθ δ β Ϋθλιβ θ ΰθθ κ λ γζάη κμ ( θσ β 4.2. δεσθ μ ). λέ β κ κ λδγησμ θ δε θ κ δζϋξγβεθ έθδ ηκθσμ εδ, μ ε κτ κ, θ έθδ θ ά β κη κκέβ β θ δε θ ΰΪλδ, δζϋΰ δ ξέ Ϋθμ έε βμ, κ κκέκμ γ λϊ δ γ έμ κθ ση θκ ΰτλκ ξλέμ θ ηη Ϊ ξ δ ΰθ. Οδ σζκδκδ έε μ κη κκδκτθ δ ΰΪλδ εγϋθ σ κκέ γ θη λβγ έ θκζδεϊ Ϋ λδμ ΰθ μ. κθ λ κ εδ λέ κ ΰθ γ έι δ λ κμ κ Ϋθμ ε θ τκ δε θ εδ κθ τ λκ εδ Ϋ λ κ ΰθ κ Ϊζζκμ. σ εϊγ ΰΪλδ, κ έε βμ η δμ λδ σ λ μ θέε μ κμ Ϋ λδμ ΰθ μ γ λϊ δ βθ ση θβ φϊ β. λδ σ λ δξθέ δ Ϊλξ δ β λέ β κ κ Ϋζ η κ ΰθ θ έθδ β δ κζέ. δ, θ η Ϊ Ϋ λ δξθέ δ, θ λ λ έ εϊκδκμ έε βμ λδγησ θδεθ, σ λκελέθκθ δ εδ κδ τκ βθ ση θβ φϊ β. Μ Ϊ βθ κζκεζάλ β σζθ θ δ κτη θθ ΰτλθ, φ Ϊθκη κ βη έκ θ δΰθέ δ Ϋθ εδ ησθκ ΰΪλδ, κ κκέκ έθδ κ ΰΪλδ κ ζδεκτ. θ κ κ Ϋζ η κ θσζκ θ Ϊλθ ΰθθ θ έι δ θδεβ ά σ σμ έθδ εδ κ θδεβ άμ κ λ γζάη κμ ( θσ β 4.2. δεσθ μ 4.24). θ σημ κ κ Ϋζ η θ ΰθθ έθδ β δ κζέ σ θδεβ Ϋμ θ δεθτκθ δ εδ κδ τκ έε μ. κ Ϋζκμ κ λ γζάη κμ, β ζέ θεκέθ βμ κ θδεβ ά, ηφθέ δ έ βμ β ίγηκζκΰδεά ε Ϊ ιβ κ λ γζάη κμ ( θσ β 4.2. δεσθ μ 4.25). θζ δεσ λ ΰδ κ ξλε βλδ δεσ σ γ κτη ση θβ θσ β. Κ Ϊ βθ ε Ϋζ β θ δξθδ δθ, Ϋξκη λκ γϋ δ η λδεϊ ξλε βλδ δεϊ κθ ε δε JQuer θ φέθ δ κδκμ ΰθμ έθδ ιϋζδιβ, κδκμ θηκθά εδ κδκμ Ϋξ δ κζκεζβλγ έ. Γδ θ φθ έ δκ ι εϊγλ β ζ κηϋλ δ ά, λγϋ κη λεϊ Ϋθ δΰηδσ κ θσμ ΰτλκ λ γζάη κμ, ε Ϊ β δ δε έ ε Ϋζ βμ θ ΰθθ. 35
36 3.2. ω σ δ φκλϊ κθ ε δε ζκκέβ βμ, λϋ δ θ θφ λγκτη δμ θλ ά δμ κ βηδκλΰά η θ κ βλέικη β θ σ β θ λ γζβηϊ θ. λξδεϊ, ζκκδά η β θϊλ β β Create_Contest_Pairs ($plaers), β κκέ βηδκλΰ έ ΰΪλδ κ λ γζάη κμ δξθέ δ κ κ βλέκθ β θ σ β δ κζέμ Ϋθθ ΰθ. Η θϊλ β β Ϋξ δ θ σλδ η Ϋθθ έθε κ λδζηίϊθ δ κδξ έ θ δε θ κ ηη Ϋξκθ κ λ Ϊγζβη, κκέ έθδ κ ε δεσμ κ έε β Plaer_ID, κ ε δεσμ κ λξ έκ η κ κκέκ γ δΰθδ έ κ έε βμ File_ID εδ κ σθκη κ έε β Name. Ο έθεμ σμ θε Ϊ δ ηϋ βμ θϊλ β βμ βμ PHP shuffle εδ ζϋκθ λδϋξ δ ξέ δλϊ κμ έε μ. δ ι φζέκη σ δ ΰΪλδ κ γ βηδκλΰβγκτθ εδ κ έε βμ κ γ λϊ δ ξλέμ ΰθ βθ ση θβ φϊ β έθδ ξέ εγκλδ ηϋθ. Όμ θφϋλη εδ θλέ λ, θ κ λδγησμ θ δε θ κ ηη Ϋξκθ κ λ Ϊγζβη έθδ ηκθσμ, σ κδ έε μ θ ηκλκτθ θ ξλδ κτθ ΰΪλδ. Γδ θ δκλγ κη κ λσίζβη σ, Ϋθμ ξέκμ έε βμ, εδ ΰε ελδηϋθ β ζ έ ε ξλβ β κ θε θ ηβηϋθκ έθε plaers, λκελέθ δ βθ ση θβ φϊ β ξλέμ ΰθ. θ κ λδγησμ θ δε θ έθδ ΰσμ σ σζκδ κδ έε μ ξλέκθ δ εθκθδεϊ τΰβ. Η θϊλ β β ά δ λϋφ δ Ϋθ θϋκ έθε, κ λ κ κδξ έκ κ κκέκ φκλϊ κθ ξσθ έε β κ Ϋξ δ λϊ δ ξλέμ ΰθ εδ εγϋθ σ ση θ κδξ έ κ θ δλκ τκθ Ϋθ ΰΪλδ δε θ. ση θβ θϊλ β β κ βηδκλΰά η έθδ β create_contest_entr ($contest_data_arra), β κκέ ε ξλ έ κδξ έ κ λ γζάη κμ κθ έθε Contests βμ ίϊ βμ κηϋθθ. Ϋξ δ θ σλδ η Ϋθθ έθε κ Ϋξ δ βηδκλΰβγ έ δμ ζέ μ ε Ϋζ βμ κ λ γζάη κμ εδ λδϋξ δ κηϋθ κ ξλ δϊκθ δ ΰδ β βηδκλΰέ βμ ε ξλβ βμ εδ δ λϋφ δ κ ηκθ δεσ ε δεσ (Contest_ID) κ λ γζάη κμ ηϋ βμ θϊλ β βμ msqli_insert_id κ θφϋλγβε βθ θσ β Μδ εση βηθ δεά θϊλ β β έθδ β qualif($matchlist, $contest_id) κ δ λϋφ δ κμ έε μ κ λκελέθκθ δ βθ ση θβ φϊ β εϊγ ΰτλκ. Ϋξ δ θ σλδ η κθ έθε η τΰβ δε θ εδ κθ ε δεσ κ λ γζάη κμ εδ ημ δ λϋφ δ Ϋθθ έθε η κδξ έ θ δε θ κ λκελέθκθ δ. σ δ ΰξΪθ δ ηϋ θϊε β βμ σ β ίϊ β θ Ϊλθ δξθδ δθ κ Ϋδιθ κδ έε μ εδ η λθ μ κδκμ έε βμ Ϋξ δ δμ λδ σ λ μ θέε μ θ λκελδγ έ βθ ση θβ φϊ β. θ κδ τκ έε μ Ϋξκθ έ δκ λδγησ θδεθ σ λκελέθκθ δ εδ κδ τκ βθ ση θβ φϊ β. βθ λέ β ά εϊγ 36
37 έε βμ έλθ δ 1 σθ κ θ θ Ϋξκη θδεβ ά σ σμ έλθ δ 3 σθ κμ. Οδ σθ κδ θ δε θ ε ξλκτθ δ β ίϊ β εϊγ ΰτλκ εδ κ Ϋζκμ κ λ γζάη κμ ηκλκτη θ κτη β θκζδεά ίγηκζκΰέ κ λ γζάη κμ ΰδ σζκμ κμ έε μ (ίζ. θσ β 3.9). τκ θλ ά δμ λσηκδ μ η ιτ κμ έθδ κδ Draw_Contest_Pairs($matchlist) εδ show_qualifiers($plaers). Η λ β λκ δϊ δ HTML έθε μ ΰΪλδ θ δε θ κ έκθ εγμ εδ κθ έε β κ λθϊ γ έμ βθ ση θβ φϊ β θ β τ λβ λκ δϊ δ HTML έθε κμ έε μ κ λκελέθκθ δ βθ ση θβ φϊ β. Σβμ έ δμ ζκΰδεάμ έθδ εδ β θϊλ β β show_contest_ranklist($contest_id), β κκέ ηφθέ δ β ίγηκζκΰδεά ε Ϊ ιβ κ Ϋζκμ κ λ γζάη κμ. ΣΫζκμ Ϋξκη β θϊλ β β ending ($contest_status, $winners) κ λκ δϊ δ κ κ Ϋζ η κ ζδεκτ εδ θβη λθ δ θ έ κδξ β ίϊ β κηϋθθ. βη δθκη σ δ θ κ κ Ϋζ η κ ζδεκτ έθδ δ κζέ σ θδεβ Ϋμ θ δεθτκθ δ εδ κδ 2 έε μ. θ, η Ϊ κ Ϋζκμ κ λ γζάη κμ, εϊκδκμ δγη έ θ δ βθ ιϋζδιβ θ ΰθθ εδ η ξ δ ησ κ ηζσ σ ηκλ έ θ η ί έ βθ ελ Ϋζ Review. θζ δεϊ κδ δζκΰϋμ κ έθκθ δ ά βθ ελ Ϋζ, θζτκθ δ βθ ηϋ μ ση θβ θσ β θ εσβ β δχθδ δθ βθ λξδεά ζέ βμ ελ Ϋζμ Review, ηφθέκθ δ κδ δζκΰϋμ ΰδ θ εσβ β έ θσμ δξθδ δκτ έ θσμ λ γζάη κμ ( θσ β 4.2. δεσθ μ 4.26). θ γϋζκη ζκδσθ θ θ λϋικη Ϋθ δξθέ δ κ λΰη κκδάγβε εϊκδ δΰηά θ κτη δμ ζβλκφκλέ μ ξ δεϊ η σ εδ βθ ιϋζδιά κ, σ ζϊ δζϋΰκη κ θ έ κδξκ δξθέ δ σ κ η θκτ δζκΰάμ. β ζέ η κμ δγϋ δηκμ ΰθ μ κ Ϋξκθ ΰέθ δ, φέθκθ δ κθση θ δε θ κ Ϋξκθ ηη Ϊ ξ δ κθ ΰθ, β βη λκηβθέ εδ λ δ ιΰΰάμ κ δξθδ δκτ εγμ εδ κ σθκη κ δξθδ δκτ κ Ϋδιθ. Π θ μ κ ζάε λκ Review ζκδσθ, η φ λση ηδ ζέ σκ λκ δϊκθ δ κδ ζβλκφκλέ μ κ δξθδ δκτ: β βη λκηβθέ εδ λ δ ιΰΰάμ κ, κ έ κμ κ δξθδ δκτ, κθση θ δε θ κ ηη έξθ εδ κ λδγησμ θ ΰτλθ κ ξλ δϊ βεθ ΰδ βθ κζκεζάλ ά κ ( θσ β 4.2. δεσθ μ 4.27). β θϋξ δ ηκλκτη θ κτη κ κ Ϋζ η κ δξθδ δκτ εδ βθ κ τ β θ εδθά θ θ δε θ θλϊ β κ ηζσ κ θ έ κδξκ δξθδ δκτ. βθ λξδεά ζέ σμ έη, ε σμ σ β θ σ β θ εσβ βμ θσμ δξθδ δκτ, ηκλκτη θ δζϋικη θ κτη Ϋθ λ Ϊγζβη κ Ϋξ δ κζκεζβλγ έ. Όμ εδ β ζέ θ δξθδ δθ, Ϋ δ εδ ά η δγϋ δη λ γζάη, φέθκθ δ β βη λκηβθέ εδ λ δ ιΰΰάμ κ δξθδ δκτ εδ κ σθκη κ δξθδ δκτ κ Ϋδιθ εδ δζϋκθ κ σθκη κ λ γζάη κμ. φκτ η φ λγκτη β ζέ θ εσβ βμ κ λ γζάη κμ, λκ δϊ δ Ϋθμ έθεμ η δμ ζβλκφκλέ μ κ λ γζάη κμ εγμ εδ β ίγηκζκΰδεά ε Ϊ ιβ κ φκλϊ κ ΰε ελδηϋθκ λ Ϊγζβη. δμ ζβλκφκλέ μ ίζϋκη κ σθκη κ λ γζάη κμ, βθ βη λκηβθέ εδ λ δ ιΰΰάμ κ, κ έ κμ κ δξθδ δκτ κ δ ιάξγβ, κθ λδγησ θ ηη ξσθ θ εδ β ζέ η κθση Ϊ κμ εδ 37
38 Ϋζκμ κθ λδγησ θ ΰτλθ κ ξλ δϊ ( θσ β 4.2. δεσθ μ 4.28). βεθ ΰδ βθ θϊ διβ κ ζδεκτ θδεβ ά β ζέ ά Ϋξκη εση ηδ θ σ β, βθ δζκΰά θσμ ΰτλκ θ ηφθέ κη β ζέ η δξθέ δ κ δ ιϊξγβεθ ζέ δ κ ΰτλκ κτ. δζϋΰκθ μ ζκδσθ κθ δγηβ σ ΰτλκ, η φ λση ηδ ζέ σκ ηκλκτη θ δζϋικη Ϋθ σ δξθέ δ κ ΰτλκ ΰδ θ εσβ β ( θσ β 4.2. δεσθ μ 4.29). Η δζκΰά ά έθδ έ δ η ά βμ δζκΰάμ θ εσβ βμ δξθδ δκτ βμ λξδεάμ ζέ μ γηκζκΰδεά ε Ϊ ιβ Μδ ζ έ θ σ β κ λκ φϋλ δ β ζ φσλη έθδ β ηφϊθδ β βμ ίγηκζκΰδεάμ ε Ϊ ιβμ σζθ θ δε θ εγμ εδ ά εϊγ δηϋλκμ λ γζάη κμ ( θσ β 4.2. δεσθ μ 4.30). Όμ έ η εδ βθ θσ β 3.7, κ Ϋζκμ εϊγ λ γζάη κμ ηφθέ δ ηδ ίγηκζκΰδεά ε Ϊ ιβ κ φκλϊ κμ ΰθ μ κ λ γζάη κμ. ΚΪγ έε βμ έλθ δ 3 σθ κμ λέ β λσελδ άμ κ βθ ση θβ φϊ β θ θδεβ άμ εδ 1 σθ κ θ λκελδγ έ η Ϊ σ δ κζέ η κθ θ έζκ έε β. Οδ σθ κδ κέ λκ έγ θ δ εδ κ Ϋζκμ κ λ γζάη κμ λκετ δ β ίγηκζκΰδεά ε Ϊ ιβ σζθ θ δε θ. Οδ σθ κδ κέ σημ λκ έγ θ δ έ βμ εδ β θκζδεά ίγηκζκΰέ εϊγ έε β κ φέθ δ θ η ίκτη βθ ελ Ϋζ Ranklist. δ, β ίγηκζκΰδεά ά ε Ϊ ιβ ημ έξθ δ β θκζδεά έ κ β σζθ θ δε θ ΰδ σζκμ κμ ΰθ μ κ Ϋξκθ ΰέθ δ ζέ δ λ γζβηϊ θ. βθ ε Ϊ ιβ ά έζ σ κ σθκη εϊγ έε β φέθ δ κ τθκζκ θ σθ θ κ εδ κ λδγησμ θ ΰθθ κμ κκέκμ ε ε άγβεθ κδ σθ κδ κέ Τζκκδά δμ δχθδ δθ βc Όμ Ϋξ δ λκθφ λγ έ κδ ζΰσλδγηκδ κ θ τξγβεθ β ΰζ C13, θλδ κτθ ΰθ Ϊ δξθέ δ λέζδ (Tic Tac Toe) εδ 4 β δλϊ (Connect 4). εκζκγθ μ ζκδσθ ζάλμ κμ εθσθ μ θ δξθδ δθ θ, κ εϊγ ζΰσλδγηκμ ζ δ κλΰ έ θ Ϋθμ έξ βμ κ ίζϋ δ ξ δ ηϋθκ ηλκ Ϊ κ κθ έθε κ δξθδ δκτ εδ θϊζκΰ η δμ δγϋ δη μ γϋ δμ, δμ εδθά δμ κ θ δϊζκ εδ ΰ θδεσ λ β δησλφ ά κ, δζϋΰ δ βθ ε ζζβζσ λβ γϋ β ΰδ θ έι δ λκε δηϋθκ θ κ βΰβγ έ β θέεβ. Μ εκσ θ ιδκκδβγκτθ ζάλμ κδ θ σ β μ βμ ζ φσλημ, Ϋξκθ ζκκδβγ έ ΰδ εϊγ δξθέ δ λδ σ λ μ σ ηέ ε σ δμ ζΰκλέγηθ κ δφϋλκθ η ιτ κμ βθ «φέ», κ σ κ «Ϋιθ» βζ ά γ έικθ λκε δηϋθκ θ κ βΰβγκτθ β θέεβ. Μ σθ κθ λσκ έθ δ ηδ ζάλβμ δεσθ ΰδ κθ λσκ ζ δ κλΰέμ βμ ζ φσλημ φκτ κδ ξλά μ γ κλ τκθ δ κ εγϋθμ η κθ ζΰσλδγηκ κ ί έ δ β δεά κ ζκΰδεά δξθδ δκτ. Πλκε δηϋθκ θ ζ δ κλΰ έ θ έ κδξ η κ μ γ η λδφ λσ θ εϊκδκμ έε βμ, κ εϊγ ζΰσλδγηκμ ζκκδ έ δ μ ιάμ : λξδεϊ, ζηίϊθ δ μ δ σ κμ κθ έθε κ δξθδ δκτ εδ κ τηίκζκ κ κκέκ κ θ έγ δ θ ξλβ δηκκδά δ σ βθ θ έ κδξβ εζϊ β δδ β ά. β θϋξ δ, κ ζΰσλδγηκμ ι Ϊκθ μ κθ έθε κ κ έθ δ, φλησ δ κμ ζϋΰξκμ κ 38
39 Ϋξ δ ξ δ έ θ λΰη κκδ έ εδ δζϋΰ δ ζδεϊ β γϋ β κ «γ λ έ» μ ε Ϊζζβζβ. ά β γϋ β θλέ δ λκφθμ η θ ΰηΫθ μ Ϊθ κθ έθε, κδ κκέ μ έθκθ δ θ Ϋικ κδ σ κθ ζΰσλδγηκ λκε δηϋθκ θ ξλβ δηκκδβγκτθ ιθϊ η β δλϊ κμ σ βθ θ έ κδξβ εζϊ β δδ β ά. δμ λεϊ κ θσ β μ λδΰλϊφ δ θζ δεσ λ κ ΰ θδεσμ ξ δ ησμ θ δξθδ δθ εγμ εδ β ζκΰδεά τθ ιβμ εϊγ δφκλ δεκτ ζΰκλέγηκ ΰδ εϊγ Ϋθ σ τκ δξθέ δ ι ξλδ Ϊ Κ δεμ C ΰδ βθ λέζδ Όμ Ϋξ δ λκθφ λγ έ, εϊγ ζΰσλδγηκμ κ ζκκδ έ δ έλθ δ θ έ κ κ κθ έθε κ δξθδ δκτ εδ κ τηίκζκ η κ κκέκ γ έ δ. β ΰε ελδηϋθβ λέ β βμ λέζδμ, κ τηίκζκ ηκλ έ θ έθδ Χ ά Ο θ κ έθεμ δ σ κ έθδ η ΰΫγκμ 33 (3 άζ μ εδ 3 ΰληηΫμ) εδ ηκλ έ θ λδζηίϊθ δ Χ, Ο ά 0 ΰδ ε θά γϋ β. Οδ Ϋικ κδ έθδ Ϊθ τκ σμ εγκλέ δ σ κμ εθσθ μ βμ εζϊ βμ δδ β ά κ δξθδ δκτ εδ Ϋμ κ ζκτθ δ σ δμ θ ΰηΫθ μ,. Ο λσκμ λέγηβ βμ θ ε ζδθ κλέ δ εδ Ϊζδ σ κμ εθσθ μ κ δδ β ά σμ Ϋξκθ θφ λγ έ βθ θσ β 3.4. Γδ δμ θϊΰε μ βμ ζ φσλημ θ τξγβεθ λ δμ δφκλ δεκέ ζΰσλδγηκδ κ δφϋλκθ ζκΰδεά εδ εκζέ ζκκέβ βμ. Οδ ζΰσλδγηκδ κέ ίλέ εκθ δ λξ έ TTT_random.c, TTT_level1.c εδ TTT_level2.c εδ κ ζκτθ θ έ κδξ βθ δκ ζά Ϋμ εδ βθ δκ Ϋιθβ ε κξά κ θ τξγβε. Ο λ κμ ζΰσλδγηκμ TTT_random.c ζκκδ έ κθ δκ ζσ λσκ εϋοβμ δξθδ δκτ κ γ ηκλκτ θ Ϋξ δ εϊκδκμ. φκτ ζϊί δ θ έ κ κ κθ έθε κ δξθδ δκτ μ Ϋξ δ, η δμ ζ τγ λ μ εδ δμ ε δζβηηϋθ μ γϋ δμ, δζϋΰ δ ξέ ηδ γϋ β εδ έ δ άθ θ έθδ ζ τγ λβ, δφκλ δεϊ δζϋΰ δ ε θϋκ ηέ Ϊζζβ. Μ σθ κθ λσκ θ ΰέθ δ εθϋθμ Ϋζ ΰξκμ κ Ϋξ δ σξκ βθ θέεβ ά βθ ά, ζζϊ ξλβ δηκκδ έ δ ησθκ «β τξβ κ έξ β». θ έ κδξ ζά η βθ δ Ϋ έθδ εδ β ζκκέβ β φκτ θκζδεϊ σ Ϊκοβ θ κζθ ξλβ δηκκδκτθ δ ησθκ κδ κηϋμ θϊζβοβμ for() εδ dowhile() βμ C. Η λ β ιβλ έ βθ «θϊΰθ β» κ έθε σ βθ δεκδθθέ η κθ δδ β ά εδ β τ λβ ιβλ έ βθ λΰΰά θϋθ γϋ θ ηϋξλδμ σ κ ίλ γ έ β δγϋ δηβ. β θϊλ β β rand() κ δ δεϊ βλέ δ κ ί δεσ ηϋλκμ κ ε δε, β κκέ λϊΰ δ ξέκμ λδγηκτμ σ κ 0 Ϋμ κ 2 εδ κμ θκγϋ δ δμ η ίζβ Ϋμ κ θλδ κτθ δμ θ ΰηΫθ μ γϋ βμ. Ο τ λκμ ζΰσλδγηκμ TTT_level1.c έθδ λε Ϊ δκ κζτζκεκμ κ ξ δ ησ κ εδ κ ζ έ Ϋθθ δκ «Ϋιθκ» έξ β. Πλκ δηϊ θ έ δ γϋ δμ κ ίλέ εκθ δ ΰληηΫμ σκ θ Ϊλξκθ θ έζ τηίκζ, η β ζκΰδεά σ δ σ ησθκ έθδ δγθσ θ κ βΰβγ έ β θέεβ. έθδ ξ δ ηϋθκμ ζκδσθ θ έ δ δγ δεϊ εϊθκθ μ Ϋζ ΰξκ β δλϊ κ εϊγ γϋ β κ λκ ζτθ δ ΰδ ξσθ θ έζ τηίκζ Ϊθ εϊγ ΰληηά κ έθε (εϊγ β, κλδσθ δ ά δΰθδ). Μσθκ λέ β κ τθ δ θ ίλ δ ηδ Ϋ κδ ε θά γϋ β, έ δ ξέ εϊκδ σ δμ σζκδ μ ε θϋμ γϋ δμ. σ ζ λϊμ ε δε δ ΰξΪθ δ λϊθ ε Ϊ ίϊ β η β ξλά β κηθ θϊζβοβμ, κηθ δζκΰάμ εδ β ίκάγ δ ηδμ η ίζβ άμ flag σμ λδΰλϊφ δ β θϋξ δ. Ο ζΰσλδγησμ TTT_level1.c Ϋξ δ θ έ κ κ κθ έθε εδ κ τηίκζκ, η κθ έ δκ λσκ κ ξλβ δηκκέβ o TTT_random.c, η β δφκλϊ σ δ 39
40 εη ζζ τ δ κ ΰ ΰκθσμ σ δ Ϋξ δ ΰθ β κ ηίσζκ κ κ βηέθ δ σ δ ΰθλέ δ εδ κ τηίκζκ κ θ δϊζκ. β θϋξ δ ζκδσθ ι εδθϊ θ ι Ϊ δ λ κλδσθ δ θϊ ΰληηΫμ κθ έθε κ δξθδ δκτ. Μ β ξλά β ηφζ ηϋθθ ίλσΰξθ for() ζϋΰξ δ εϊγ γϋ β βμ ΰληηάμ εδ θβη λθ δ κ flag η δηά 1 θ ίλ δ θ έζκ τηίκζκ εϊκδ σ δμ γϋ δμ βμ. β θϋξ δ ζϋΰξ δ κ flag εδ θ θ έθδ 1 σ λκ ζτθ δ η β δλϊ εϊγ γϋ β βμ ΰληηάμ ηϋξλδ θ ίλ δ βθ ε θά εδ θ «βη δ δ» άθ κγβε τκθ μ δμ θ ΰηΫθ μ θ θβη λθ δ κ flag η 2 ά β φκλϊ, θ έξθ δ σ δ ίλϋγβε β γϋ β εδ θ κφτΰ δ κ ζΰσλδγηκμ λδ Ϋλ ίάη. Μ κθ έ δκ ελδίμ λσκ ι Ϊ δ βθ κλ έ εϊγ δμ γϋ δμ ε Ϊ άζ μ ζζϊ εδ δΰθδ φκτ λ σημ λδθ σ εϊγ λέ β Ϋξ δ ζϋΰι δ κ flag θ ηβθ λκξλά δ θ Ϋξ δ ά β ίλ γ έ β γϋ β. κηϋθμ β λϊθ δ δε έ θκζδεϊ εκζκγ έ δ ΰδ Ϋ λδμ δφκλ δεϋμ λδ δμ. Γδ εϊγ κλδσθ δ ΰληηά, ΰδ εϊγ άζβ, ΰδ βθ ετλδ δΰθδκ εδ Ϋζκμ ΰδ βθ θ έ λκφβ δΰθδκ. θ σ κ β θά β β ΰδ τλ β γϋ βμ ΰληηά β κκέ θ ηβθ λδϋξ δ θ έζκ τηίκζκ κξά δ, σ κ ζΰσλδγηκμ φ Ϊθ δ κ ζ έκ Ϊ δκ κ έθδ β δζκΰά βμ λ βμ ε θάμ γϋ βμ κ γ ίλ δ. ΚΪ δ κ δ ΰξΪθ δ λκφθμ η ηδ ζά λκ Ϋζ β θ γϋ θ η ξλά β ηφζ ηϋθβμ for(). Ο ζΰσλδγηκμ κ λδΰλϊφβε λϊθ έι δ ΰληηΫμ κ ηκλ έ θ βη δ δ λέζδ εζτ δ βθ λέ β κ κ θ έζσμ κ Ϋξ δ βθ κθ κ βΰά δ βθ ά. δ ζκδσθ κ λέ κμ εδ «ξ δ ηϋθκμ θ φλκθ έ δ θ έ δ έ βμ λκζϊί δ κ θ έζκμ θ «εζ έ δ» λ κμ. έθδ λε Ϊ Ϋιθκμ θ σ κ σημ θ ζϋΰξ δ εδ θ εδλέ θ εϊθ δ λέζδ εδ θ ιθσ λκμ» ζΰσλδγηκμ έθδ ηθ δεϊ, κφ τΰκθ μ θ Ο TTT_level2.c ζκδσθ φκτ κγβε τ δ δμ δ σ κμ κ η ίζβ Ϋμ σμ εδ κδ λκβΰκτη θκδ ζΰσλδγηκδ, ι εδθϊ βθ ΪηθΪ κ. Πλκ ζτθκθ μ βζ ά λξδεϊ ε Ϊ ΰληηΫμ εδ β θϋξ δ ε Ϊ άζ μ δμ γϋ δμ κ έθε δξθδ δκτ, ζϋΰξ δ θ κ θ έζκμ Ϋξ δ β θ σ β θ εϊθ δ λέζδ βθ ση θβ εέθβ ά κ εδ θ θδ, δζϋΰ δ θ ίϊζ δ γϋ β κ ηκλ έ θ κθ ηκ έ δ. β θϋξ δ κ «Ϋιθκμ» ζΰσλδγηκμ έθδ ξ δ ηϋθκμ θ εκζκγά δ ε δεά έγ βμ σμ εδ κ TTT_level1.c. σ Ϊκοβ λκΰληη δ δεά, κ ζΰσλδγηκμ TTT_level2.c έθδ ξ δ ηϋθκμ θ ζκκδ έ βθ ΪηθΪ κ μ ιάμ: η β ίκάγ δ κηθ θζάο θ εδ ηδμ λξδεκκδβηϋθβμ η ηβ Ϋθ η ίζβ άμ-η λβ ά (counter), φλκθ έ δ θ ζϋΰξ δ κλδσθ δ εδ εϊγ θ Ϊλξκθ θ έζ τηίκζ η θ σ β θ ξβη έ κθ λέζδ ε Ϊ κθ ση θκ ΰτλκ. λξδεϊ λκ ζτθ δ δμ γϋ δμ εϊγ ΰληηάμ η β δλϊ η ξλά β ηφζ ηϋθβμ for() εδ ιϊθ δ κθ counter ε Ϊ Ϋθ λέ β τλ βμ θ έζκ ηίσζκ. Μ Ϊ βθ λκ Ϋζ β θ γϋ θ εϊγ ηέμ ΰληηάμ, ΰέθ δ Ϋζ ΰξκμ ΰδ κ θ κ counter έθδ έ κμ η 2 εδ ζδεϊ ηβ θέ δ ιθϊ λκε δηϋθκ θ ζ ΰξγ έ β ση θβ ΰληηά. θ δδ γ έ σ δ λϊΰη δ Ϋξ δ άθ βθ δηά, βζ ά σ δ τκ θ έζ τηίκζ ίλέ εκθ δ ε Ϊζζβζβ γϋ β ΰδ λέζδ, σ κ ζΰσλδγηκμ λκ ζτθ δ ιθϊ β ΰληηά ά εδ δζϋΰ δ θ έι δ βθ ε θά βμ γϋ β. βθ κλ έ κ ζΰσλδγηκμ λθϊ ε δεά έγ βμ. θ βζ ά θ Ϋξ δ ίλ γ έ γϋ β κ θ θ κελέθ δ λϊθ έθδ λκΰληη δ ηϋθκμ ελδίμ σμ κ ζΰσλδγηκμ TTT_level2.c. Όζκδ κδ λϊθ ζΰσλδγηκδ β ΰζ C, Ϋξκθ ξ δ έ η ζσ λσκ εϋοβμ εδ ζκκέβ βμ λκε δηϋθκ θ φθ έ λε δεϊ β ζ δ κλΰέ κμ σμ γ βθ ίζϋη η δμ ζκκδά δμ θ θϋθ κ ξλκ κ λκΰληη δ ηκτ ξλβ θ. Σκ τθκζκ κ ε δε εδ ΰδ κμ λ δμ ζΰκλέγηκμ ίλέ ε δ κ η βμ θϊλ β βμ main. 40
41 Κ δεμ C ΰδ κ 4 β δλϊ θ δξθέ δ κ Ϋ λ β δλϊ Ϋξ δ σ ησθκ κ ηδ εκζσ λβ ζκΰδεά εδ κδ έξ μ λϋ δ θ ζηίϊθκθ λϊθ λϊΰη σοδθ σ δ έκθ μ λέζδ, λκε δηϋθκ θ κ βΰβγκτθ β θέεβ. Γδ σ κ ζσΰκ θ τξγβεθ Ϋ λδμ ζΰσλδγηκδ δξθδ δκτ, ι εδθθ μ σ κζτ ζσ έ κ ζκΰδεάμ εδ τθ ιβμ Ϋμ εδ λε Ϊ κζτζκεκ. βθ κ θσ β ά λδΰλϊφ δ β ΰ θδεά δ Ϋ, β ζκΰδεά ζζϊ εδ β τθ ιβ εϊγ ζΰκλέγηκ, θ Ϊ εδ τθ βη έ κ. Όμ έθδ ση θκ εδ κδ ζΰσλδγηκδ λϋ δ θ ζ δ κλΰκτθ θ η ηκθηϋθκδ έξ μ κ «4 β δλϊ». Ϋξκθ δ, ζκδσθ, θ δ σ κμ κθ 67 έθε δξθδ δκτ (6 ΰληηΫμ, 7 άζ μ) εδ κ τηίκζκ έε β, κ θ έγ θ δ κθ τκ char arra T[6][7] εδ βθ τκ char η ίζβ ά status θ έ κδξ. δζϋκθ, Ϋξκθ ισ κμ, κ λδϋξκθ δμ θ ΰηΫθ μ βμ γϋ βμ κ Ϋζ ι ΰδ θ έι δ. λξδεϊ, κ ζκτ λκμ ζΰσλδγηκμ C4_random.c κ ζ έ κθ λξϊλδκ έξ β η κθ «ξέκ» λσκ δξθδ δκτ. δζϋΰ δ βζ ά βθ λ β ε θά γϋ β κ γ ίλ δ ε Ϊ βθ λκ Ϋζ β θ γϋ θ κ έθε- ηζσ κ δξθδ δκτ. Η θηέ κ έθδ ηφθάμ φσ κθ θ λκ γ έ θ ηζβλ δ λϊ ά θ ηθγ έ θ έ κδξ εδ θ ζηίϊθ δ σοβ κμ εθσθ μ κ δξθδ δκτ. Ό κθ φκλϊ κ λκΰληη δ δεσ εκηηϊ δ κ ζΰσλδγηκμ σμ, Ϋθθ ηδελκτ ηάεκμ ε δε, ξλβ δηκκδ έ εγλϊ ησθκ κηϋμ θϊζβοβμ εδ δζκΰάμ ΰδ κ εκσ κ. ΚΪθ δ ζκδσθ βθ λκ Ϋζ β θ γϋ θ η β ξλά β βμ κηάμ θϊζβοβμ for() εδ ηδμ ηφζ ηϋθβμ dowhile() θ εϊθ δ κθ Ϋζ ΰξκ ΰδ δ ξά δζκΰά γϋ βμ η ξλά β κηάμ δζκΰάμ if(). ιέ δ θ βη δγ έ β δ δδ λσ β κ Ϋξ δ β λκ Ϋζ β γϋ θ κ έθε κ δξθέ δ σ. σ β δΰηά κ κδ έε μ έκθ λέ β «σ εϊ λκμ Ϊθ» Ϋ δ εδ β λκ Ϋζ β δ έ δ θ εκζκγ έ φγέθκ κλ έ ι εδθθ μ σ βθ ζ έ ΰληηά, βζ ά ιϊθκθ μ β η ίζβ ά έε β ΰληηάμ ε Ϊ Ϋθ, εδ σξδ κ θ έγ κ σμ έθδ τθβγ μ θ ηίέθ δ. ση θκμ ζΰσλδγηκμ έθδ κ C4_level1.c. Πλσε δ δ ΰδ ηδ ε κξά θσμ έε β κ ε θκ έ κμ εθσθ μ κ δξθδ δκτ εδ έ δ η εκσ θ ξβη έ δ λϊ η κ δεσ κ τηίκζκ εδ θ ίΰ δ θδεβ άμ. εκζκγ έ ε δεά έγ βμ ζζϊ εδ Ϊηθμ εδ β ζκΰδεά κ Ϋξ δ μ ιάμ : ζϋΰξ δ εϊγ ε τγθ β ΰδ λέ σηκδ τηίκζ, έ θ έζ θ ηκ έ δ κθ Ϊζζκ έξ β θ θδεά δ, έ δεϊ κ θ ηζβλ δ βθ Ϋ λ β γϋ β β δλϊ εδ θ θδεά δ κ έ δκμ. θ σημ θ Ϊλξ δ δλϊ κ θ ηκλ έ θ κ δ θέεβ σ έ δ ξέ βθ λ β ε θά γϋ β κ γ ίλ δ κθ έθε ε Ϊ βθ λκ Ϋζ ά κ. Η θηέ κ Ϋΰε δ δ κ ΰ ΰκθσμ σ δ «ζηίϊθ δ λϊ β» ησθκ φκτ Ϋξκθ ηζβλγ έ λέ τηίκζ ά β, εϊ δ κ τεκζ ηκλ έ θ κ εκ έ δ β θέεβ. έ κ τθ ιβμ κ ζΰσλδγηκμ C4_level1.c έθδ έ βμ δκ κζτζκεκμ. βηδκλΰ έ θλ ά δμ ΰδ Ϋζ ΰξκ εϊγ ε τγθ β ι ξλδ Ϊ εδ ξλβ δηκκδ έ έε μ (pointers) ΰδ βθ δεκδθθέ βμ main() η δμ θλ ά δμ Ϋμ. ΠλεΪ λδΰλϊφκθ δ κδ θλ ά δμ εδ κ λσκμ ζ δ κλΰέμ κμ : Int vert(char status, char T[6][7]) : Η θϊλ β β ά ζϋΰξ δ θ Ϊλξκθ 3 σηκδ τηίκζ βθ εϊγ β δ τγθ β, βζ ά δμ άζ μ κ έθε, θ έι δ βθ θ έ κδξβ γϋ β. λξδεϊ ΰέθ δ 41
42 Ϋζ ΰξκμ ΰδ κ τηίκζκ κ έ δκ κ έξ β εδ θ κ τξ δ β θά β β, ΰέθ δ Ϋζ ΰξκμ ΰδ λδϊ σ θ έζ τηίκζ. Κδ δμ τκ λδ δμ β θϊλ β β ζ δ κλΰ έ η κθ έ δκ λσκ. ΜΫ ηφζ ηϋθβ κηά θϊζβοβμ λκ ζτθ δ βθ εϊγ γϋ β ε Ϊ άζ μ εδ β θγάεβ ηδμ κηάμ δζκΰάμ ΰελέθ δ β γϋ β ά η δμ τκ ση θ μ γϋ δμ κ ίλέ εκθ δ εϊ σ άθ. θ β θγάεβ έθδ ζβγάμ σ δζϋΰ δ β γϋ β εδ θβη λθκθ δ λ δμ η ίζβ Ϋμ κ κ ζκτθ δμ θ ΰηΫθ μ, εδ ηέ δζϋκθ η ίζβ ά κ έγ δ 1 θ β γϋ β δζϋξγβε ΰδ θ κ βΰά δ β θέεβ κθ δεσ κ έε β ά 2 θ δζϋξγβε ΰδ θ ηκ έ δ κθ θ έζκ. Η η ίζβ ά ά ξλβ δηκκδ έ δ βθ κλ έ θ flag κ κ βζθ δ θ Ϋξ δ ά β δζ ΰ έ γϋ β ά σξδ. βθ λέ β ά β λκ Ϋζ β θ γϋ θ κ έθε ΰέθ δ σ Ϊθ λκμ εϊ, βζ ά η τικ κλ έ κ έε β ΰληηάμ. int horz(char status, char T[6][7]) : Η θϊλ β β ά ζϋΰξ δ θ Ϊλξκθ 3 σηκδ τηίκζ βθ κλδσθ δ δ τγθ β, βζ ά εϊγ ΰληηά κ έθε, θ έι δ β γϋ β ά. Λ δ κλΰ έ η κθ έ δκ λσκ κ ξλβ δηκκδ έ β θϊλ β β vert() η β δφκλϊ σ δ β λκ Ϋζ β ΰέθ δ ε Ϊ ΰληηΫμ σμ λξδεϊ έξ θφ λγ έ ζσΰ βμ κηάμ κ δξθδ δκτ, βζ ά σ εϊ λκμ Ϊθ εδ φ δεϊ σ λδ λϊ λκμ ιδϊ. int diag(char status,char T[6][7]) : Η θϊλ β β ά ζϋΰξ δ θ Ϊλξκθ 3 σηκδ τηίκζ β δΰθδ δ τγθ β, βζ ά εϊγ ΰληηά κ έθε, θ έι δ β γϋ β ά. Λ δ κλΰ έ η κθ έ δκ λσκ κ ξλβ δηκκδκτθ κδ λκβΰκτη θ μ θλ ά δμ κ λδΰλϊφβεθ, η β δφκλϊ σ δ β λκ Ϋζ β ΰέθ δ ε Ϊ ΰληηΫμ εδ ζϋΰξκθ δ ησθκ κδ δΰθδ μ γϋ δμ. δελέθκθ δ Ϋ λδμ λδ δμ φκτ δ έ δ Ϋζ ΰξκμ ΰδ Ϋ λδμ ε γτθ δμ : «σ εϊ λκμ Ϊθ ιδϊ», «σ εϊ λκμ Ϊθ λδ λϊ», «σ Ϊθ λκμ εϊ ιδϊ», «σ Ϊθ λκμ εϊ λδ λϊ». Γδ εϊγ ηέ σ Ϋμ δμ λδ δμ φ δεϊ ζϋΰξκθ δ σμ εδ λκβΰκηϋθμ σ κ ΰδ θ έζ τηίκζ σ κ εδ ΰδ κ έ δκ κ έε β. Όζ μ κδ θλ ά δμ δ λϋφκθ Ϋθθ έθε κ λδϋξ δ δμ λ έμ εϋλδ μ η ίζβ Ϋμ: θ ΰηΫθβ γϋ βμ, θ ΰηΫθβ γϋ βμ, η ίζβ ά κ κ βζθ δ θ β γϋ β Ϋξ δ δζ ΰ έ ά σξδ λέ β κ θ εϊζ δμ λκςκγϋ δμ. Ο λκΰληη δ ησμ βμ C θ δ λϋ δ ηέ θϊλ β β θ δ λϋο δ κζσεζβλκ έθε θ λϊη λκ. Ω σ κ ηκλ έ θ δ λφ έ Ϋθμ έε βμ έθε λκ δκλέκθ μ κ σθκηϊ κ. ά β ηϋγκ κμ ζκδσθ ξλβ δηκκδάγβε δμ λϊθ θλ ά δμ. ιδκ βη έ κ έθδ σ δ κ έθεμ κ γϋζκη θ δ λφ έ κλέ δ ηϋ δμ θλ ά δμ θ static φκτ β C θ δ λϋ δ θ δ λϋφ δ β δ τγθ β ηδμ κδεάμ η ίζβ άμ Ϋι σ βθ έ δ β θϊλ β β. Η ί δεά θϊλ β β main() κ ζΰκλέγηκ εκζκγ έ ηδ δλϊ λ ηϋθθ ίβηϊ θ λκε δηϋθκ θ ε ζάι δ ά Ϋικ κ. φκτ εζ έ βθ λ β θϊλ β β, θκγϋ δ κ ζϋ η λ έμ η ίζβ Ϋμ. ΚΪθ δ ζκδσθ Ϋζ ΰξκ βμ η ίζβ άμ flag εδ θ κ βζγ έ σ δ β γϋ β Ϋξ δ δζ ΰ έ σ λκ λθϊ σζκδ ίάη εδ έθ δ δμ θ ΰηΫθ μ θ Ϋικ κ. θ έγ β λέ β λθϊ βθ εζά β βμ ση θβμ θϊλ β βμ. Η έ δ δ δε έ εκζκγ έ δ ιθϊ εδ φσ κθ κζκεζβλγ έ εδ ΰδ δμ λ δμ θλ ά δμ, λέ β κ θ Ϋξ δ εση δζ ΰ έ γϋ β, ηζβλθ δ ξέ β λ β ε θά γϋ β κ έθε εδ θκθ δ κδ θ έ κδξ μ θ ΰηΫθ μ. 42
43 Ο ζΰσλδγηκμ C4_level2.c θλδ Ϊ Ϋθθ δκ Ϋη δλκ έε β φκτ Ϋξ δ θ ξγ έ η Ϋ κδκ λσκ κ κ έθ δ βθ δεθσ β θ λκ ξ δϊ δ β θέεβ κ. θ έ ζκδσθ θ έ δ ξέ λδ δμ κ Ϊλξκθ ζδΰσ λ σ λέ τηίκζ β δλϊ, δζϋΰ δ θ έι δ γϋ δμ κ έθδ δκ «δεέθ θ μ», βζ ά γϋ δμ κ Ϊλξκθ εση εδ τκ τηίκζ ά θ θ Ϊλξκθ κτ Ϊ δζϋΰ δ εδ Ϊζδ θ έι δ έζ εϊκδκ δεσ κ. Η θηέ κ έθδ σ δ δξ δλέ δ η κθ έ δκ λσκ δμ γϋ δμ σ τκ εδ Ϊθ τηίκζ θ έ θ έθ δ λκ λδσ β β γϋ β κ εκζκγ έ ηδ λδϊ, η κ Ϋζ η θ εϊθ δ ζϊγκμ δζκΰά ΰτλκ κ γ κ εκ έ δ β θέεβ. σ Ϊκοβ τθ ιβμ κ ζΰσλδγηκμ C4_level2.c ζ δ κλΰ έ θ κθ λκβΰκτη θκ. Χλβ δηκκδ έ δμ έ δ μ θλ ά δμ vert(), horz(), diag() η ηδελά λζζΰά ά κ ζϋΰξκ τκ γϋ θ θ έ ΰδ λδθ. δζϋκθ Ϋμ σ κ βηδκλΰ έ ηδ θϋ θϊλ β β β κκέ λδΰλϊφ δ λεϊ. int last(char status,char T[6][7]) : Η θϊλ β β ά έλθ δ θ κλέ η κθ έθε - ηζσ κ δξθδ δκτ εδ δ λϋφ δ σμ εδ σζκδ μ Ϋθθ 13 έθε η δμ θ ΰηΫθ μ βμ γϋ βμ εδ β η ίζβ ά κ ζ δ κλΰ έ θ flag. ζϋΰξ δ ΰδ κ θ Ϊλξ δ ε θά γϋ β έζ βθ κκέ (εϊ, λδ λϊ ά ιδϊ) θ ίλέ ε δ δεσ κ τηίκζκ (status) εδ θ θδ έ δ β γϋ β ά. δφκλ δεϊ έ δ ξέ βθ λ β ε θά γϋ β κ έθε κ γ ίλ δ. Η θϊλ β β main() ζ δ κλΰ έ η βθ έ δ ζκΰδεά κ λκβΰκτη θκ ζΰκλέγηκ. εκζκγ έ η β δλϊ βθ εζά β εϊγ θϊλ β βμ εδ κθ Ϋζ ΰξκ θ δ λ φση θθ δηθ, ηϋξλδ θ ίλ γ έ β ε Ϊζζβζβ γϋ β. Ο ζΰσλδγηκμ C4_level3.c κ ζ έ βθ δκ Ϋιθβ ε κξά σ δμ Ϋ λδμ. Η ζ δ κλΰέ κ έθδ λσηκδ η κ λκβΰκτη θκ ζΰκλέγηκ η βθ δφκλϊ σ δ έθδ ί ζ δηϋθκμ κ εκηηϊ δ θ λκ λδκ ά θ. ΰε ελδηϋθ ι εδθϊ η κ θ εϊθ δ ζϋΰξκμ ΰδ λδϊ μ θ ηζβλ δ εδ θ βηδκλΰά δ Ϋ λ β δλϊ ά θ ηκ έ δ εϊκδκθ έε β θ θδεά δ. λέ β κ θ Ϊλξ δ Ϋ κδ γϋ β, εκζκγ έ δγ δεά ησθκ κλ έ οϊξθκθ μ θ Ϊλξ δ εϊκδ γϋ β έζ Ϊ. θ κ τξ δ θ ίλ δ εδ εϊκδ Ϋ κδ γϋ β, σ έ δ έζ σ εϊκδκ δεσ κ τηίκζκ ά θ θ Ϊλξ δ, κκδ άκ ε θά γϋ β ίλ δ λ Ϊ δ. Η θηέ κ Ϋΰε δ δ κ ΰ ΰκθσμ σ δ δ ά εϊθ δ κμ ζϋΰξκμ δλϊ λδκξθ (λ εϊγ, η Ϊ κλδσθ δ εδ Ϋζκμ δΰθδ) Ϊλξ δ β δγθσ β, ΰδ λϊ δΰη, θ ίλ γ έ ε Ϊ β κ γ δζϋι δ θ ηκ έ δ κθ θ έζκ θ εζ έ δ εϊγ θ έ θ δζϋι δ θ έι δ δΰθδ εδ θ θδεά δ. θ ε δεϊ κ ζΰσλδγηκμ C4_level3.c Ϋξ δ ξ δ έ σμ κ ζΰσλδγηκμ C4_level2.c η ηέ δζϋκθ θϊλ β β β κκέ έθδ ά κ έθ δ η ΰζτ λκ ίγησ «φέμ» κθ ζΰσλδγηκ. κηϋθμ κδ θλ ά δμ vert(), horz() εδ diag() έθδ Ϋμ κ ζϋΰξκθ εϊγ, κλδσθ δ εδ δΰθδ ΰδ λδϊ μ ηίσζθ. Η θϊλ β β last() έθδ β έ δ θϊλ β β κ ζΰκλέγηκ C4_level2.c β κκέ ίλέ ε δ Ϊθ κ Ϋζκμ θ εζτο δ βθ λέ β κ θ Ϋξ δ ίλ γ έ ηδ εζά γϋ β εδ κ βΰ έ κθ ζΰσλδγηκ θ δζϋι δ εϊκδ γϋ β έζ Ϋθ δεσ κ τηίκζκ ά ηδ ξέ γϋ β. Η θϋ θϊλ β β λδΰλϊφ δ λεϊ : int verhor(char status,char T[6][7]) : Η θϊλ β β ά θζηίϊθ δ θ γϋ δ φληκΰά κθ λκ ξ δ ησ βμ θέεβμ. ζϋΰξ δ βζ ά θ Ϊλξκθ εϊγ ά κλδσθ δ τκ σηκδ τηίκζ ( κ έ δκ κ έξ β ά θ έζ) θ ίϊζ δ ελδίμ έζ εδ θ βηδκλΰά δ ηδ δεέθ θβ 43
44 λδϊ ά θ δεσο δ σ θλέμ κθ θ έζκ. σ κ δ ΰξΪθ δ λκ ζτθκθ μ δμ γϋ δμ κ έθε σ κ ε Ϊ ΰληηΫμ σ κ εδ ε Ϊ άζ μ εδ ζϋΰξκθ μ εϊγ φκλϊ θ κδ τκ ιδσ λ μ ( δμ τκ ση θ μ άζ μ) ά εϊγ μ ( δμ τκ ση θ μ ΰληηΫμ) θ έ κδξ γϋ δμ έθδ έ δκ ηίσζκ. κθ ε δε σζθ θ ζΰκλέγηθ, σ κ βμ λέζδμ σ κ εδ κ «4 β δλϊ» Ϋξ δ ΰέθ δ ξλά β ί δεθ θλ ά θ δ σ κ - ισ κ εδ ίδίζδκγβεθ βμ C. ΚΪκδ μ σ Ϋμ έθδ β θϊλ β β δ σ κ getchar() κ ξλβ δηκκδάγβε ΰδ βθ θϊΰθ β κ ηίσζκ status ζζϊ εδ εϊγ ξλε άλ κ θ Ϋγβε κθ έθε- ηζσ, β θϊλ β β ισ κ printf() κ ε θ δ δμ θ ΰηΫθ μ ζζϊ εδ β ί δεά θϊλ β β ίδίζδκγάεβμ fflush(file stream) κ εε θθ δ κθ buffer θσμ stream. δζϋκθ ξλβ δηκκδάγβεθ κδ ιάμ ίδίζδκγάε μ: <stdio.h> εγκλέ δ 3 τκμ η ίζβ θ, λε Ϊ macros εδ θλ ά δμ ΰδ βθ λκ κδη έ δ σ κ/ ισ κ (input/output). δϊφκλ μ <stdlib.h> εγκλέ δ 4 τκμ η ίζβ θ, λε Ϊ macros εδ θλ ά δμ ΰδ βθ λκ κδη έ ΰ θδεθ θλ ά θ. δϊφκλ μ <string.h> εγκλέ δ Ϋθθ τκ η ίζβ θ, Ϋθ macro εδ δϊφκλ μ θλ ά ΰδ β δξ έλδ β δθϊεθ εδ ξλε άλθ. 44 δμ
45 Κ Φ Λ ΙΟ 4 Π Ρ ΙΓΜ Σ ΧΡΗ Η 4.1. Ο βΰέ μ ΰε Ϊ βμ φκτ έ η η κδκ λσκ ζκκδάγβε β ζ φσλη, σ κ ηϋθ δ έθδ θ θζτ κη κθ λσκ ξλά βμ βμ ΰδ σκδκθ γ ζά δ θ β ξλβ δηκκδά δ έ μ δξ δλδ άμ έ μ ζσμ ξλά βμ. Ό κθ φκλϊ βθ λ β λέ β ζκδσθ, γ κγκτθ λεϊ κ βΰέ μ ΰε Ϊ βμ βμ ζ φσλημ κ τ βη ημ. Η ζ φσλη ηκλ έ θ ζ δ κλΰά δ ζ δ κλΰδεϊ άη MSWindows εδ Linu. θϊζκΰ η κ τ βηϊ ημ λϋ δ θ ΰε ά κη κ θ έ κδξκ εϋ κ η λΰζ έ κ γ ξλ δ κτη, κκέ θζτγβεθ κ Κ φϊζδκ 2 (WAMP, LAPM ά XAMPP). έ βμ λϋ δ θ λκ γκτθ κ τ βη κδ ίδίζδκγάε μ ΰδ β θ σ β η ΰζ δ βμ ε δε C ( λέ β λκ γάεβμ δζϋκθ ΰζ θ κ ηϋζζκθ, γ έθδ λέ β μ εδ κδ θ έ κδξ μ ίδίζδκγάε μ). θ κζ τκη λδίϊζζκθ Linu, β ΰε Ϊ β έθδ τεκζβ σγ β εδ ΰέθ δ η βθ ε Ϋζ β ηδμ θ θϊζκΰ η βθ Ϋε κ β Linu κ ξλβ δηκκδκτη. θ ξλβ ε σ δμ Fedora, Red Hat, CentOS ά Scientific Linu, σ ε # um groupinstall 'Development Tools' θ ίδίζδκγβεθ θ κζάμ β κκέ δφϋλ δ δηκκδκτη ηδ σ δμ ζκτη βθ ιάμ θ κζά: θ λΰση Debian ά Ubuntu Linu, ξλβ δηκκδκτη $ sudo apt-get update εδ $ sudo apt-get install build-essential manpages-dev δμ θ κζϋμ Γδ κ λδίϊζζκθ Windows λ, β ΰε Ϊ β θ ίδίζδκγβεθ ηκλ έ θ ΰέθ δ ηϋ λκΰληηϊ θ σμ Cgwin, MinGW, Dev-C++ ε.. θζ δεϋμ κ βΰέ μ έθκθ δ σ δμ θ έ κδξ μ δ κ ζέ μ θ λκΰληηϊ θ. φκτ ΰε ά κη ζκδσθ λέ β λΰζ έ, λϋ δ θ θκέικη κ λξ έκ connection_details.php εδ θ θ δε ά κη σζ κδξ έ κ Ϊλξκθ ε έ η θ έ κδξ λκ δεϊ ημ κδξ έ. β θϋξ δ ε ζκτη κ λδίϊζζκθ κ server ημ β ζέ create_db.php, ηϋ κ ε δε βμ κκέμ γ βηδκλΰβγ έ β ίϊ β κηϋθθ ΰδ βθ κ άλδιβ βμ ζ φσλημ. φκτ κζκεζβλ κη σζ ζ φσλημ έθδ Ϋ κδηκ ΰδ ξλά β. λϊθ ίάη, 45 κ τ βη βμ
46 4.2. Ο βΰέ μ χλά βμ Η λξδεά ζέ κ άη κμ έθδ β ζέ ΰΰλφάμ εδ τθ βμ κ τ βη βμ ζ φσλημ. Ο ξλά βμ κ δ εϋ δ ΰδ λ β φκλϊ βθ ζ φσλη λϋ δ θ εϊθ δ ΰΰλφά η κδξ έ κ ( δεσθ 4.1) εδ β θϋξ δ έ κ κ η κδξ έ Ϊ ( δεσθ 4.2). Ό κθ φκλϊ κ δξ δλδ ά κ άη κμ, η ίέθκθ μ βθ λξδεά ζέ, inde.php λϋ δ θ εϊθ δ ΰΰλφά η β δ τγθ β κ ηζάλ β ζέ connection_details.php, β κκέ κ ζ έ βθ βζ ε λκθδεά δ τγθ β δξ δλδ ά. Ό θ ΰέθ δ β τθ β βθ ζ φσλη η κ ΰε ελδηϋθκ , έθδ δγϋ δη μ η λδεϋμ δζκΰϋμ κ θ λϋξκθ δ κθ ζσ ξλά β Φ 4.2. Φ φ Σκ έκ Όθκη γ λϋ δ θ κ ζ έ δ ησθκ σ ΰλΪηη κ ζ δθδεκτ ζφϊίβ κ, έ ε φζέ έ ηδελϊ, λδγηκτμ ά εση εδ ε θϊ δ άη. Σκ έκ λϋ δ θ ηζβλγ έ η ηδ Ϋΰελβ δ τγθ β βζ ε λκθδεκτ ξ λκη έκ κ ξλά β, βμ ηκλφάμ user@eample.com εδ κ ε δεσμ λσ ί βμ λϋ δ θ κ ζ έ δ σ 5 Ϋμ 15 ξλε άλ μ. λέ β κ εϊκδκμ σ κτμ κμ λδκλδ ηκτμ θ ζβλ έ δ, ηφθέ δ κ θ έ κδξκ ηάθη φϊζη κμ ( δεσθ 4.3, 4.4). 46
47 4.3. Μ φ ω φ φ (1) 4.4. Μ φ ω φ φ (2) φκτ ΰέθ δ δ ξάμ ΰΰλφά, κ ξλά ζ φσλη. βμ ηκλ έ θ θ γ έ η 4.5. χ 47 φ κδξ έ κ βθ
48 φκτ θ γ έ ζκδσθ, ηκλ έ θ θ ίϊ δ κθ ε δεϊ κ εδ θ ξλβ δηκκδά δ δμ θ σ β μ βμ ζ φσλημ, κδ κκέ μ γ λκ δ κτθ λεϊ η δεσθ μ ζζϊ θζτκθ δ κ Κ φϊζδκ 3. λξδεϊ, Ϋξκη β θ σ β θ θ ίϊ κη λξ έκ ε δε ηϋ βμ ελ Ϋζμ Upload. βθ ελ Ϋζ ά κ ξλά βμ ηκλ έ έ βμ θ δ ΰε θ ληϋθ λξ έ κ Ϋξ δ θ ίϊ δ εδ θ ι λΰ έ (Delete, Edit, Compile) Κ Upload δμ λεϊ δεσθ μ φέθκθ δ κδ τκ δγθϋμ λδ δμ η Ϊ κ θϋί η θσμ λξ έκ, ά βμ άμ η ΰζ δ βμ ( δεσθ 4.7) εδ ά βμ ηφϊθδ βμ φζηϊ θ ( δεσθ 4.8) χ 4.8. φ φ ω βθ λέ β κ δζϋικη βθ ι λΰ έ θσμ λξ έκ κ Ϋξκη ά β θ ίϊ δ (Edit), λϊ δΰη βμ ηκλφάμ κ γ Ϋξ δ κ έκ ε δηϋθκ φέθ δ βθ δεσθ
49 δεσθ 4.9. ι λΰ έ λξ έκ βθ ελ Ϋζ Pla ηφθέ δ β δζκΰά ΰδ θ ι εδθά κη θϋκ δξθέ δ Κ φκτ δζϋικη θη λβγκτθ. Pla κ δξθέ δ λϋ δ θ δζϋικη Π χ 49 κμ έε μ εδ λξ έ κ γ
50 4.12. Π χ Ό κ ε ζ έ δ κ δξθέ δ ίζϋκη βθ ιάμ Α 4 ζέ χ 50
51 εδ φκτ κζκεζβλγ έ κ ΰθμ ίζϋκη βθ δεσθδ β κ εϊ Π χ 51 κ δξθδ δκτ:
52 4.15. χ 4 δμ θ σ β μ βμ ελ Ϋζμ βηδκλΰέμ λ γζάη κμ λ, κ ζσμ ξλά θ Ϋξ δ λσ ί β εγμ β θ σ β ά λϋξ δ ησθκ κ δξ δλδ ά Κ Contests 52 χ βμ
53 σ βθ ζ λϊ κ δξ δλδ ά ζκδσθ, η ίέθκθ μ ηκλκτη θ βηδκλΰά κη Ϋθ θϋκ λ Ϊγζβη Π ω ω 53 ω 1 φ βθ ελ Ϋζ Contests 5
54 4.20. Π ω Π ω 2 φ 2 54
55 4.23. ω ω 3 φ φ φ ω Μ Ϊ βθ κζκεζάλ β θ λ γζβηϊ θ, έ κδ ξλά μ έ κ δξ δλδ άμ, ηκλκτθ θ δ ε φγκτθ βθ ελ Ϋζ Review θ κθ ζβλκφκλέ μ ΰδ κ ΰε ελδηϋθκ λ Ϊγζβη. βθ ελ Ϋζ ά έθδ έ βμ δγϋ δη λκμ θ εσβ β εδ σζ δξθέ δ κ Ϋξκθ δ ιξγ έ κ λ ζγσθ. 55
56 4.26. Κ θ δζϋικη βθ θ εσβ β λσηκδ η βθ λεϊ : Review θσμ δξθδ δκτ η φ λση Α χ ηδ ζέ θ δζϋικη θ εσβ β λ γζάη κμ, Ϋξκη ηδ δλϊ δζκΰθ κ θζτκθ δ σμ λκθφϋλγβε κ Κ φϊζδκ 3 εδ λεϊ λκ δϊκθ δ δεσθ μ. 56
57 4.28. Π Η δζκΰά ά γ ημ κ βΰά δ ηδ ζέ λσηκδ η ά βμ δεσθμ ΣΫζκμ, βθ ελ Ϋζ Ranklist ηκλκτη θ κτη β θκζδεά ίγηκζκΰέ θ δε θ σζ λ γζάη θ ιλ ά μ δξθδ δκτ. 57
Δ Χ Θ - 23 2013 Ϋθ Η φ Η - 12 - Η - 2 φ 20-25% -Α ΗΕ 2010 2015 Χ 12 φ ΗΕ 2013 Δδεγθέ έ ο θελγ γδ ο θελό Η τn-water UNESCO Β φ Β Β φ φ Ο φ / Α 770 3840 5000 1990: 2000: 2025: - Η - - ( ) ( 20 ) / φ Κ
Διαβάστε περισσότεραεριφέρεια εσσαλίας αζδεϋμ πσζ δμ εαδ οδεδ ηοτμ Πλοβζάηα α εαδ πλοοπ δεϋμ»
Η Η Η Ο ΑΤ Α εριφέρει εσσλίς ΗΜ ΡΙ Αμ «Ο οηϋμ ημ τ λ ημ δμ Θ ζδεϋμ σζ δμ εδ οδεδ ηοτμ Πλοβζάη εδ λοο δεϋμ»,βγ βί1γ Η Η Η Ο ΑΤ Α εριφέρει εσσλίς «Κ φ ο Θ -Σ» η η ο ώ Πό ω Π ο ημ Γ ω Π ο, Πο ό Μηχή ό, MSc,
Διαβάστε περισσότεραΜπκλκτη ΝθαΝθδεά κυη Ν κνϋηφλαΰηα. π ηία δεσμνκαλ δκζσΰκμ,ν θέν δ υγυθ άμνγ'νκαλ δκζκΰδεάμνκζδθδεάμ,ν υλπεζδθδεάμν γβθυθ,νστηίκυζκμν κυν ΛέΙέΚ Ρέ
Μπκλκτη ΝθΝθδεά κυη Ν κνϋηφλΰη ΗΝ ηη έν ημνϋΰεδλημνθ δη υπδ ημ έζ δκμννένσπθσμ π ηί δεσμνκλ δκζσΰκμ,ν θέν δ υγυθ άμνγ'νκλ δκζκΰδεάμνκζδθδεάμ,ν υλπεζδθδεάμν γβθυθ,νστηίκυζκμν κυν ΛέΙέΚ Ρέ Απ π Γδ πκδκ ζσΰκ
Διαβάστε περισσότεραΦλΪΰµα (λκυφλϊε βμ) Γυλ υθβμ
ΦλΪΰµ (λκφλϊε βμ) Γλ θβμ.π. ΜλκθδεκζΪκ µ χ ξ δ µσμ, Ε Ε : λκφλϊε βμ, ε ε ά, γλκφλϊΰµ, δ- δφϊθ δ, ζκίδεϊ δάµ, ΠΕΡΙΛΗΦΗ: Σκ σ ε ε ά φλϊΰµ Γλ θβμ ίλέ ε δ κθ κ µσ Πβθ δσ ε Ϊθ β βμ ΛΪλδ μ. εκσμ κ φλϊΰµ κμ έθδ
Διαβάστε περισσότεραΟδ πλυ μ θ υπυ δμ η λδοτθ αδ
Οδ λ μ θ δμ η λδοτθ δ Jotul F 602 Ο «ηδελσμ ΰέΰθ μ» βμ Jotul ά β ηκθ Ϋλθ ση δλδϊ δ δ θδεϊ η Ϋθ ηδελσ λκ ηϊ δκ, η έθδ εδ δεθά θ έθ δ βθ λΰΰά γ λησ β μ 6-8,5 kw δγϋ δηβ δμ κ ε σ δμ, εθκθδεά (ητλβ ηκΰδϊ ησθκ)
Διαβάστε περισσότερασξκδ Χλά β κυ Νσηκυ κυ Newton ΰδα β αλτ β α εαδ κυ τ λκυ Νσηκυ βμ εέθβ βμ (F = ma) ΰδα κθ υπκζκΰδ ησ πζαθβ υθ. αξτ β αμ δαφυΰάμ.
Κ φάζδο ΡΤΣΗΣ σξκδ Μ ζϋ β κυ Νσηκυ κυ Newton ΰδ β λτ β Χλά β κυ Νσηκυ κυ Newton ΰδ β λτ β εδ κυ τ λκυ Νσηκυ βμ εέθβ βμ (F = ma) ΰδ κθ υπκζκΰδ ησ πθ λκξδευθ ξυ ά πθ πθ κλυφσλπθ εδ πθ πζθβ υθ. Χλά β βμ η
Διαβάστε περισσότεραΟΙΚΟΛΟΓΙΚΗΝ ΡΧΙΣ ΚΣΟΝΙΚΗ ΧΟΝ ΡΟ Ν ΗΜΗΣΡΙΟ Ν
ΟΙΚΟΛΟΓΙΚΗΝ ΡΧΙΣ ΚΣΟΝΙΚΗ ΠΣΤΧΙ ΚΗΝ ΡΓ Ι ΝΣΩΝ:Ν Ι ΟΤΝΜ Γ ΛΗΝΗΝ ΧΟΝ ΡΟ Ν ΗΜΗΣΡΙΟ Ν Λ ΜΠΡΟΤΝ Λ Ξ Ν ΡΟ Ι ΣΟΡΙΚΗΝ Ν ΡΟΜΗ Ν Ν Ω ΙΜ ΝΠΗΓ Ν Ν ΡΓ Ι ΚΟΠΟ,Ν ΣΟΧΟΙΝΚ ΙΝ ΡΧ Ν ΙΟΚΛΙΜ ΣΙΚΗ Ν ΡΧΙΣ ΚΣΟΝΙΚΗ Μ κθ σλκ δκεζδηα
Διαβάστε περισσότεραΤΠΟΤΡΓ ΙΟΝ Ν ΠΣΤΞΗΝΤ ΝΟΜΟΘ ΣΙΚΗΝΠ Ρ Μ ΗΝΓΙ ΝΣΗΝΡΤΘΜΙΗΝΧΡ ΩΝΝΜΙΚΡΩΝΝ ΠΙΧ ΙΡΗ ΩΝΝΚ ΙΝ Π ΓΓ ΛΜ ΣΙΩΝΝ. δ δπ δεκτνξλϋκυμν
ΤΠΟΤΡΓ ΙΟΝ Ν ΠΣΤΞΗΝΤ ΝΣ ΓΩΝΙΣΙΚΟΣΗΣ ΝΟΜΟΘ ΣΙΚΗΝΠ Ρ Μ ΗΝΓΙ ΝΣΗΝΡΤΘΜΙΗΝΧΡ ΩΝΝΜΙΚΡΩΝΝ ΠΙΧ ΙΡΗ ΩΝΝΚ ΙΝ Π ΓΓ ΛΜ ΣΙΩΝΝ ΗΝη ΰαζτ λβναθα δϊλγλπ βν δ δπ δεκτνξλϋκυμν πκυνϋΰδθ Νπκ ΫΝ σχκδ Παλκξά εδθά λπθ ΰδα υηη
Διαβάστε περισσότεραΠΡΩΣ ΘΛΗΜ ΝSUPERLEAGUE ΟΠ Π UEFA CHAMPIONS LEAGUE *
ΑΰκλΪακθ αμ δ δ άλδκ δαλε έαμ κ φέζαγζκμ ια φαζέα δ βθ παλαεκζκτγβ β σζπθ πθ θ σμ Ϋ λαμ αΰυθπθ κ ΰάπ κ «Γ. Καλαρ εϊεβμ», κδ κπκέκδ αθϋλχκθ αδ κυζϊχδ κθ έεκ δ πϋθ (25). ΠΡΩΣ ΘΛΗΜ ΝSUPERLEAGUE ΟΠ Π UEFA
Διαβάστε περισσότεραy ay uoy Uy t -1050 m -9,8 m/s^2 0 m/s
ΚΙΝ ΣΟ ΠΙΠ Ο ΠαλΪ δΰηα 1 Π υ β παεϋ ου ίοάγ δαμ απσ Ϋθα α λοπζϊθο Σκ α λκπζϊθκ εδθ έ αδ κλδασθ δα η ηέα αγ λά αξτ β α +115 m / s εαδ υοση λκ 1050 m. Καγκλέ κθ απαδ κτη θκ ξλσθκ πκυ ξλ δϊα αδ κ παεϋ κ ΰδα
Διαβάστε περισσότεραδκθ έα ζ εαδ ΠλΪ δθκ Ν έα ζ
γθδεσ Μ σίδκ Πκζυ χθ έκ ( ΜΠ) ξκζά Χβηδευθ Μβξαθδευθ - ΣκηΫαμ ΙΙ ΜκθΪ α Μβξαθδεάμ δ λΰα δυθ Τ λκΰκθαθγλϊεπθ εαδ δκεαυ έηπθ δκθ έα ζ εαδ ΠλΪ δθκ Ν έα ζ πμ Yπκεα Ϊ α α κυ Π λ ζα εκτ Ν έα ζ Ν. ΠαπαΰδαθθΪεκμ
Διαβάστε περισσότεραΠ ΡΙΟΧΗΝΥΥ8Υ ΝΗ Ι ΝΚΤΚΛ ΧΝ
Π ΡΙΟΧΗΥΥ8Υ Η Ι ΚΤΚΛ Χ Π ΡΙΟΧΗΥΥ8'' Η Ι ΚΤΚΛ Χ Γ ΤΡΙΟ ΡΟΤ Φ ΡΟΤ ΓΡΗ ΡΟΤ ΣΟΤΡΛΙΣΗ ΡΟΤ Τ ΣΟΣΗΟΤ ΛΙ ΣΗΟΤ ΡΜ Ι ΣΗ ΜΤΚΟΟΤ Γ Ψ ΡΟ ΤΡΟΤ ΓΙΟ ΙΚΟΛ Ο Κ Σ Μ ΛΟ Κ Π ΘΙ ΡΙΦΟΤ ΚΡ Ι ΜΗΛΟΤ ΠΟΛΤ ΙΓΟ ΜΗΛΟΤ ΚΟΡ Κ Π ΡΟΤ ΠΡΟΠΟΤΣ
Διαβάστε περισσότεραβηαθ δεσ, πκζζκέ απσ κυμ φκδ β Ϋμ άλγαθ ΰδα πλυ β φκλϊ. υ πλσ δ βμ, θ πκζζκέμ απλκ πϋζα βμ ηϋξλδ πλσ δθκμ, η πζκτ δα δ κλέα εαδ
Ανάβ η ο Φ... Γ..Α. ον Μ Ϊ δμ θίϊ δμ κ ζζσΰκ ημ εκούρ ων Κρβάρων ΠΪλθβγ, κθ Κδγδλθ εδ κ Πθδ ζδεσ, β εκλφά Σ εκτλμ βμ Ολ δθάμ Νε έμ κ Ϋζ β θϋ ημ ισληβ β, β κκέ κ έξγβε κζτ δ ξβηϋθβ έ βμ, κβηδθκθ μ Ϋ δ σζκμ
Διαβάστε περισσότερα: 5,5x109 m3. α: 4,7x109 m3. μν1ζέγίίέίίίν
Α Π ό. Κθ ο ο. ι ό ο έ ή, ω ο ι ό Π ισ ή ιο Αθ ώ ή ο Α ιο οί σ σι ώ Πό ω ι ω ι ή Μ χ ι ή ΠΑ ω ό ο ΠΑ, Πο.Μ χ ι ό ΜΠ,. Μ χ ι ό Πο χ. ο ού φ ά δν : 5,5x109 m3 Κ θϊζπ βνθ λκτν Κ βν : 4,7x109 m3 μνγζέιίίέίίίν
Διαβάστε περισσότεραΰεΪλ δα βζ ε λκηαΰθβ δεϊ ετηα α, α κπκέα ι εδθκτθ απσ ηέα φπ δθά πβΰά εαδ εδθκτθ αδ υγτΰλαηηα πλκμ σζ μ δμ εα υγτθ δμ.
1 Φ ΙΚΟ ΦΩ Σκ φπμ (σππμ Ϊζζπ κζσεζβλβ β βζ ε λκηΰθβ δεά ε δθκίκζέ) έθδ ΰεΪλ δ βζ ε λκηΰθβ δεϊ ετη, κπκέ ι εδθκτθ πσ ηέ φπ δθά πβΰά εδ εδθκτθ δ υγτΰληη πλκμ σζ μ δμ ε υγτθ δμ. Οδ υθάγ δμ φπ δθϋμ πβΰϋμ (π.ξ.
Διαβάστε περισσότεραΦΤΣ ΠΟΤ Κ ΛΛΙ ΡΓΟΤΝΣ Ι Σ Ν
ΦΤΣ ΠΟΤ Κ ΛΛΙ ΡΓΟΤΝΣ Ι Σ Ν ΛΛ ΓΙ Σ Ν Π Ρ ΓΩΓ ΙΟ ΙΘ ΝΟΛ Κ Ι ΙΟΝΣ Λ ΚΟΠΟΝ ΡΓ Ι υ βηα δεά εαζζδϋλΰ δα πθ φυ υθ αυ υθ έθαδ ΰθπ ά εαδ πμ θ λΰ δαεά ΰ πλΰέα εαδ έθαδ Ϋθαμ κζκϋθα αθαπ υ ση θκμ κηϋαμ σ κ β ξυλα
Διαβάστε περισσότερααδλδεά Παλκυ έα β 2014
αδλδεά Παλκυ έα β 2014 Ολΰαθω δεάν κηάνοηέζκυν ΛΛ ΚΣΩΡ α ασ ή 100% Α Ω Α ΑΧΩ 100% Α Ω Α 100% (1) Α Ο ιαχ ί ισ Α ο ι άω α αχω ήσ ις έ ια 86% 95% Ω Α Α ά 21.95% ELPEDISON Α Χ Ο Ο Α Ο Α ι ήω 55.46% REDS Α
Διαβάστε περισσότεραΟ Ο Ο Ω Ω Ω Α Ο Α Α. : Ο :
Α Α Ο Ο Ο Ο Α Ο Α ΑΑ Ο Η Ο Ο Η ΑΗ Ο Α Ο Ο Ο Α Ο Ο Α Ο Ω Ω Ω Α Α Α Α Α Ο Α Ο Ο Α : 38936 Ο : 2014 Ο Η Α Α Ο Α ι ι φ ή ή θ ήθ ι ή θ ι έ ι ι ό ύ ι βήθ ι ι ό ό ι ή θ ήθ ύ ι ώ ι ι ό ι ι ή θ έ ι ι θ ι ή ι ό
Διαβάστε περισσότεραµπ δλέ μ απσ κθ Θ αζδεσ ξυλκ εαδ τΰξλκθβ ξθκΰθπ έα
Λδγσλλδ ΦλΪΰµ µ θϊθ β ζϊε ελκ Ϋµ κ : µ δλέ σ κθ Θ ζδεσ ξλκ εδ τΰξλκθβ ξθκΰθ έ Ι. Θθσκζκ λ. Ποζδ δεσ Μβχνδεσ, Κ. θ σκζκ Ποζ. Μβχνδεσ MSc, / Υ Π/Κ Ψ Θ ΣΣ ΛΙ Σ. / Υ Π Π ΡΙΛ Φ : κ Ϊλγλκ θ τ κθ δ ετλδ βµ έ
Διαβάστε περισσότεραΕ Γ Ν Ω :. :..
Ε Γ Ν Ω 2016-2017 5 : : ) " ( ( ) ( ) H AIDS «Η Ο Ή :» Ό Ο : 144 2007 - ΐ Έ Merck 70 «MDMA» 1912 1953 - Έ : 75% 100% : LSD LSD LSD Ό LSD LSD 12» « 6 12 ό ό ΟΡΙ ΜΟ Ν ΡΚΧΣΙΚΧΝ Ο σλκμ δ τ δ σ δ λκ
Διαβάστε περισσότεραχ Α Α ω Σ χ χ χ ώ ω ώ ω Θ ω Έ χ ό γ ώ χ χω ώ χ ε ω ό ό χω " " H Έ ώ χ ω ω ω ω ώ https://linosyfantiswikispacescom https://elwikipediaorg/wiki/ 60: Η Α 1969 Research Project Agency) ARPANET ARPA (Advanced
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑ ΕΡΓΑΣΙΑΣ (PROJECT)
ΠΡΟΓΡΑΜΜΑ ΕΡΓΑΣΙΑΣ (PROJECT) Ε Α: Α Α Α Α.. Α Α υν ον ής :. ΦΑ πεύ υνος : Χ. Η Εκπ ό ωπο α ώ : Θ. Ε Α Η Ομάδα Ε γασία Μ ΘΗΣΙΚΗΝΟΜ Ν Α Α: Α Α Α Α : α/α πώ υ ο Ό ο α 1 Α Α Α Α - Α 2 Α 3 Α Α 4 Α Α Α 5 Α 6
Διαβάστε περισσότεραΟΡΓ ΝΙ ΜΟ ΝΚ Σ ΝΣΧΝΝΝ ΡΚΧΣΙΚΧΝΝ
ΟΡΓ ΝΙ ΜΟ ΝΚ Σ ΝΣΧΝΝΝ ΡΚΧΣΙΚΧΝΝ ΧΟΚ Ν Ψ ΟΙΝ Ι Σ Ι ΝΣΟΤΝΠΡΟ ΛΗΜ ΣΟ ΣΟΤ Ν Ν ΟΤ π π ά π ( π φ π π π ) π π π. Ν- π π π ΠΡΟΓΡ ΜΜ Σ ΝΣΟΤΝΟΚ Ν ΠΡΟΛΗΦΗ Θ Ρ Π Ι ΚΟΙΝΧΝΙΚΗΝ Π Ν ΝΣ ΞΗ Κ ΝΣΡ ΝΠΡΟΛΗΦΗ ΝΟΚ Ν Ν-ΣΟΠΙΚΗ
Διαβάστε περισσότεραENERGY WASTE. θϋΰ λ β ΜκθΪ αμ λδκπκέβ βμ κ Πζαέ δκ κυ Έλΰκυ ENERGY WASTE ENERGY WASTE» Γιώ γο Καφέ WATT A.E. Mech-Eng, MSc
ENERGY WASTE «π Η 1ιή12ή2ί1ζ φ γ π έ π υ γ υ ENERGY WASTE» θϋΰ λ β ΜκθΪ μ λδκπκέβ βμ κ Πζέ δκ κυ Έλΰκυ ENERGY WASTE Γιώ γο Κφέ Mech-Eng, MSc WATT A.E. ισ ή Π ι φή έ ο ENERGY WASTE Α ά Α ά σ ισ ός ι σ ή
Διαβάστε περισσότεραΘ+!& ;/7!127# 7 % :!+9. + %#56 /+.!/;65+! 3# 76. +!+ % 2&/ :2!,Γ 0 :9#+ #2:.2 #+Ι 7#+.&/ #2:.2 / /&7 + < & /!! Ω 6. Α./& /&7 + 622#. 6!
! # %!! #!#%& ()! +,.! + /!#012!!# )3 # #4 +!#567 8%+#%/!,917#,.! + 9: %# ;:/%&. + # 9/ = 2>3/!#012!!# )3 #? +.:;/7/&7 + Α./&Β# 7. +;# 2/># 7 ΧΧ67< %#+ΧΧ #+.#17/+/ #
Διαβάστε περισσότερα!! # % & % % () % +,# % ) ) %.) /01/.) ) 2 3 % 4 % 5# 6 3 3
!! # % & % % () % +,# % ) ) %.) /01/.) ) 2 3 % 4 % 5# 6 3 3 %,.7 6 8 74 %. ) ) % 4 4.8 % 7. () 9 %. 3 :. % 4 6 ; ) ; %.% 8 < % )#= %.) #!! )#= > #.% < + 4. # 4. 7?5 %9 3 3 %.7 4 # 3 % 4 % 5# =6 3 3 < ;
Διαβάστε περισσότεραΘΕΜΑ: Π Σ Τ Χ Ι Α Κ Η Ε Ρ Γ Α Ι Α. ( έμένίθ1ήίλ) πδίζϋππθμ Γ υλΰδκμνκκυλ Ϋ αμ Καγβΰβ άμ
ΘΕΜΑ: ΝΣΡΙΣΟ ΘΜΙ ΝΣΟΤΡΙΣΙΚ ΝΝ ΚΠ Ι Τ ΝΣ ΝΝΓ ΡΜ ΝΙ Π Σ Τ Χ Ι Α Κ Η Ε Ρ Γ Α Ι Α βηβ λέκυνχ ΝΣ Ρ Ν κυνχλά κυ ( έμένίθ1ήίλ) πδίζϋππθμ Γ υλΰδκμνκκυλ Ϋ αμ Καγβΰβ άμ Θ ΛΟΝΙΚ,ΝΝΟ Μ ΡΙΟΝβί1γ Π λέζβοβ ΣκΝ επαδ υ
Διαβάστε περισσότεραΓΕΝΙΚO ΕΡΓΑΣΗΡΙΟ ΦΤΙΚΗ
ΓΕΝΙΚO ΕΡΓΑΣΗΡΙΟ ΦΤΙΚΗ ΣΑΛΑΝΣΩΕΙ - ΕΚΚΡΕΜΕ Μαρία Κα ίνη απζσ (ηαγβηα δεσ) εελ ηϋμ γ Απκ ζ έ αδ απσ: Ϋθα βη δαεσ υηα ηϊααμ m Ϋθα αίαλϋμ θάηα ηάεκυμ πκυ ελϋη αδ απσ αεζσθβ κ άλδΰηα s W r x y Θ ωλκτη σ δ
Διαβάστε περισσότεραΣτπκδΝαζ υλδκτ 3-17. ΝηαΰδΪΝΝ 18-20. ΝΝίτθβ 20-23. Άηυζκ 24-25. Πκζυ αεξαλέ βμ 26. ΠβΰΫμ 27
ΗΝχ αν ουνα υ ο Απο του α τ : Η που ο α ο ω ου Πα ο ε Κω α ί α ου Συ εώ 1 Π χ α Γ θδεϊνΰδαν κναζ τλδ 2 ΣτπκδΝαζ υλδκτ 3-17 ΝηαΰδΪΝΝ 18-20 ΝΝίτθβ 20-23 Άηυζκ 24-25 Πκζυ αεξαλέ βμ 26 ΠβΰΫμ 27 2 ΗΝχ αν ουνα
Διαβάστε περισσότεραεπκέβ β λα δπ δεκτ Τζδεκτ ( δαεάλυιβ 409/2016)
ΑΔΑ: 9976-ΞΖ INFORMATICS DEVELOPMEN T AGENCY : ΝΣ ΣΗ ΣΡ ΣΙΣΙΚΗ ΙΟΙΚΗ Η ΤΠΟ ΣΗΡΙΞΗ ΣΡ ΣΟΤ «Η» Ι ΤΤΝ Η ΚΠΟΙΗ ΣΡ ΣΙΣΙΚΟΤ ΤΛΙΚΟΤ Σβζ 804-4645 6099060 7 Άΰδκμ Ϋφθκμ, 6 Ιθ 7 θβηηϋθ: Μέ Οδεκθκηδεά ΠλκφκλΪ ΠΡΟ
Διαβάστε περισσότεραEEEEK NEWS. Γδα πλυ β φκλϊ πάΰα. Πελδεξσηεθα ετξουμ: δγηδσ υπα απσ ηθ επί εεοη. π λϊ αη πλαέα.κυ αμ. Ρα δσφπθκ εαδ εϊθαη επκηπά.
1O Κ ΗΜΟ ΠΛΑΙΑ ΧΟΡΣΙΑΣΗ EEEEK NEWS Δη ώ ω Ρ δσφθ εδ εϊθη εηά. Άευ δϊφλ λΰτ δ, ηέζβ ηδελσφθ, φσλ ευ δεϊ. ΠΫλ Ϋζ δ. μ λ δσφθ εδ εϊθη εηά. Μδζά η ηδελσφθ φλϋ η ευ δεϊ εδ ετ η λΰτ δ. Π λϊ η λέ. Μλέ λ δσφθ.
Διαβάστε περισσότεραΩ & Ω Ω. ίεβο, ούνιος 2018
22001177 Ω Ω Ω Ω Ω Ω Ω Ω Ω Ω Ω Ω & & Ω Ω Ω Ω Ω Ω -- ίεβο, ούνιος 2018 1 Κ Φ Λ ΙΟ ' ΟΤΚΡ ΝΙ Γ ΝΙΚ ΣΟΙΥ Ι... 3 1. κδξ έ Γ ΰλφέμ... 3 2. Πζβγυ ησμ... 3 3. Πκζδ δεσ τ βη Πκζέ υη... 3 3.1. Υλ κΰλϊφβ β κζδ δεκτ
Διαβάστε περισσότεραEnglish Advanced. Think Teen! 1 st Grade, Advanced Level Student s Book: Units 1-5, pages: Workbook: Units 1-5, pages: 1-70.
2 ο ΓΤΜΝΑΙΟ ΚΑΙΑΡΙΑΝΗ Ν ΟΧΟΛΙΚ Ξ ΣΑ Ι ΣΑΞΗ: Α ΜΑΘΗΜΑ: ΑΓΓΛΙΚΑ Ι ΑΚΟΝΣ : ΚΑΣΑ Α. / ΣΡΑΣΙΚΗ. Ξ Σ Α Σ Α English Advanced Think Teen! 1 st Grade, Advanced Level Student s Book: Units 1-5, pages: 1-72 Workbook:
Διαβάστε περισσότεραΣΕΣΤ Εφαληο ηϋθα Μαγβηα δεϊ 1. Σδ έθαδ υθϊλ β β? Απ δεσθδ β θσμ αλδγηκτ Ϋθαθ Ϊζζκ.
Η Ι Η Η Ο Α ΙΑ Α Ι Η ΙΟ Η Η Εφα ο α Μα α Ε ό η αμ Γ α Ά ε α Τε ε α π α ε Μα α Καφε α Επ α εχ ο ογ α ώ ΣΕΣΤ Εφαληο ηϋθα Μαγβηα δεϊ 1 Τε ε ές α πίνα ες 1. Σ ζ Ϋμ εαδ πέθαε μ Γ θδεϊ Σδ έθαδ υθϊλ β β? Απ δεσθδ
Διαβάστε περισσότεραω α χ υ χ υ -
Ν π Ν Ε χ υχ Κ υ durem@he.duth.gr υ χ υ π χ υ Πλυδηκδ ΰ πλΰκέ εδ ε βθκ λκφά βθ ίσλ δ ζζϊ Οδεκθκηέ εδ έε υ θ ζζΰυθ Κκδθπθδεά κλΰϊθπ β κδχ έ δ κζκΰέμ Ππμ θ πη υθκυθ κυμ θ κ λδ ηκτμ κδ ΰλκ δεϋμ εκδθσ β μ
Διαβάστε περισσότεραθα ξ δα ησμ δκδεβ δευθ δα δεα δυθ άηκυ ΚαζαηαλδΪμ
ΡΙ ΣΟΣ Λ ΙΟ Π Ν ΠΙ ΣΗΜΙΟ Θ ΛΟΝΙΚΗ Ι ΣΜΗΜ ΣΙΚΟ ΠΡΟΓΡ ΜΜ Μ Σ ΠΣΤΧΙ ΚΩΝ ΠΟΤ ΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ Κ Ι ΙΟΙΚΗ Η» ΣΜΗΜ ΣΩΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ Ι ΟΙΚΟΝΟΜΙΚΩΝ ΠΙ ΣΗΜΩΝ θ ξ δ ησμ δκδεβ δευθ δ δε δυθ άηκυ ΚζηλδΪμ δπζπη δεά
Διαβάστε περισσότερα8 9 Θ ] :! : ; Θ < + ###( ] < ( < ( 8: Β ( < ( < ( 8 : 5 6! 5 < 6 5 : ! 6 58< 6 Ψ 5 ; 6 5! < 6 5 & = Κ Ο Β ϑ Β > Χ 2 Β ϑβ Ι? ϑ = Α 7
! # % & ( # ) ( +,,. # ( # / 0 1 2 4 5! 6 7 8 9 9 8 : ; 5 ? Α Β Χ 2Δ Β Β Φ Γ Β Η Ι? ϑ = Α? Χ Χ Ι? ϑ Β Χ Κ Χ 2 Λ Κ >? Λ Μ Λ Χ Φ Κ?Χ Φ 5+Χ Α2?2= 2 Β Η Ν Γ > ϑβ Ο?Β Β Φ Γ Π Λ > Κ? Λ Α? Χ?ΠΛ
Διαβάστε περισσότερα) 0 ) 2 & 2 & 0 + 6! ) & & & & & ), Γ , Γ 8 (?. Κ Ε 7 ) ) Μ & 7 Ν & & 0 7 & & Γ 7 & & 7 & Ν 2 & Γ Γ ( & & ) Η ++. Ε Ο 9 8 ) 8& & ) & Ε
#! % & ( + ),./! +./+., ( ( 1 #23 + + ), 1 (453.+ 6.+ 6, 7 1 89 3.! :.! :, 1 (453.. / 2 ; ? Α 7 ; Β / / 4 > (? / / ) 8 Χ :/. ++.. +. : 6 : ) )4 ) ) ( 4 )Φ 7 % 6 : : +.. ++. ) & & & & ), Γ, Γ 8 (?.
Διαβάστε περισσότερα2 (4! ((2 (5 /! / Β ;! + %ΧΑ + ((5 % # &
!! # % & # () %# + (, # &,. /01 2 23 () 0 &. 04 3 23 (5 6787%.9 : ; 3!.&6< # (5 2!.& 6 < # ( )!.&+ < # 0= 1 # (= 2 23 0( >? / #.Α( 2= 0( 4 /
Διαβάστε περισσότεραΠυλκπλκ α έα: Πλαε δεϋμ. ιπ λδεάμ γ ληκησθπ βμ
Πυλκπλκ α έα: Πλαε δεϋμ εα α ε υάμ υ βηϊ πθ ιπ λδεάμ γ ληκησθπ βμ γάθα πλέζδκμ 2018 λ. ΓδΪθθβμ Κκθ κτζβμ, Γ θ. /θ άμ ζζϊ αμ, Κτπλκυ εαδ ΜΪζ αμ Πλσ λκμ ζζβθδεκτ Ιθ δ κτ κυ Πυλκπλκ α έαμ Κα α ε υυθ ( ΛΙΠΤΚ
Διαβάστε περισσότεραΗ ΰκβ έα πθ παλαηυγδυθ: Υλά β εαδ αιδκπκέβ ά κυμ κ ξυλκ βμ δ δεάμ ΰπΰάμ
αυλκτζα ΟΤΛ Μ ζϋιαθ λκμ- αηϊ δκμ ΝΣΩΝΙΟΤ Η ΰκβ έα πθ παλαηυγδυθ: Υλά β εαδ αιδκπκέβ ά κυμ κ ξυλκ βμ δ δεάμ ΰπΰάμ 1.Η δ κλέα κυ παλαηυγδκτ Ο Ι ΝΘΡΩΠΟΙ ΥΡ ΙΜΟΠΟΙ Ν ΣΙ Ι ΦΟΡ ΜΟΡΦ ΤΜ ΟΛΙεκτ ζσΰκυ, ηϋ α απσ
Διαβάστε περισσότεραENERGY WASTE , Fax : , ε ηίλέκυνβί14. κμ, Π.
Η γ Πργωγ Απο ε μ Α Μ φ χ π Απ ω έ Απ υ γ υ ENERGY WASTE Τυποπο η η Ε ώ Κυ ω έ πό ο ργο ENERGY WASTE 17 ε ηίλέκυνβί14 Π. κυθϊ κμ Π. ΓληηΫζβμ +30 211 1069500 Fax : +30 211 1069501 E-mail : vounatsos@certh.gr
Διαβάστε περισσότεραβθ παλξέα Λαΰεα Ϊ ά δα παλαΰπΰά υΰλάμ εκπλδϊμ αΰ ζϊ αμ ΰαζαε κπαλαΰπΰάμ: 23 ά δα παλαΰπΰά CO₂ αΰ ζϊ αμ ΰαζαε κπαλαΰπΰάμ: π λ.
ω π χ υ π ω π υ χω υ υπ ω φ ω π.. Πζβγυ ησμ κκ δ υθ Ν. Θ ζκθέεβμ: 58.500 35% βμ ε βθκ λκφέμ ίκκ δ υθ κυ Ν. Θ βθ πλξέ Λΰε Ϊ ζκθέεβμ ά δ πλΰπΰά υΰλάμ εκπλδϊμ ΰ ζϊ μ ΰζε κπλΰπΰάμ: 23 ά δ πλΰπΰά CO₂ ΰ ζϊ μ
Διαβάστε περισσότεραΑ Α Α Α Α Α Α Α Ω Α Α Α Ω Α Α Ο Α Α,Ο Α Α Α, Α Ω Α) Α Α Α Ο Α Α Ο Α Α Α Α Ο Ο Ο Α Α Α Α Α Ο Α Α Α ΗΓ π υ π π υ π υ υ έό π υ π Γ, υ π π υ π υ π υ π υ υπ έ π υ π υ, υ υ Γ υ έω,υπ υ π π π π υ
Διαβάστε περισσότεραα Ε ω α χ υ χ α - πα α ω α α α Ο
π - ω χ χ Ο π ω Ε υχ υ Ο -Κ υ durem@hist.auth.gr Ε - φ θ λϋκυ,. εδ Κπ Ϊεβμ, Κ. 1986 δ Ϊ δμ κυ ξυλκυ βθ Κ θ λδεά Με κθέ: πκ τππ β βμ θ κεκδθκ δεάμ κλΰϊθπ βμ κυ ξυλκυ. κ Αηυ όμ, Τδηβ δεόμ όηομ γδ οθ Κγβγβ
Διαβάστε περισσότεραΑΔΑ: Ω20Δ465ΦΘΘ-3ΝΡ. α, FAX: INFORMATICS DEVELOPMEN T AGENCY
INFORMATICS DEVELOPMEN T AGENCY Digitally signed by INFORMATICS DEVELOPMENT AGENCY Date: 2015.06.24 13:00:36 EEST Reason: Location: Athens ΑΔΑ: Ω20Δ465ΦΘΘ3ΝΡ Α Α Α Α Α Η Α α, 24 6 2015.. : 68293 Γ Η Γ
Διαβάστε περισσότεραΧτηφπθαΝη Ν κνπαλέ2ν κυνκαθέν1λίιή2ίίθψ ΌππμΝ λκπκπκδάγβε ΝαπσΝ κθνκαθέν 453/2010
η λκηβθέανέε κ βμμν2/01/2013 λδγησμνέε κ βμμνννννννν0 ΛΣΙΟΝ ΟΜ ΝΧΝΝ Φ Λ Ι ΝΠΡΟΨΟΝΣΧΝ ΧτηφπθαΝη Ν κνπαλέ2ν κυνκαθέν1λίιή2ίίθψ ΌππμΝ λκπκπκδάγβε ΝαπσΝ κθνκαθέν 453/2010 1. ΣΟΙΥ Ι ΝΣΟΤΝΠ Ρ Κ Τ Μ ΣΟΝΚ ΙΝΣ
Διαβάστε περισσότεραπζαέ δκν πθν ξ έπθν φαζ έαμνν λκτν Καγβΰβ άμν ΜΠ δ υγυθ άμν λΰα βλέκυντΰ δκθκηδεάμνσ ξθκζκΰέαμ
ΟζκεζβλπηΫθβ δαξ έλδ βυ λ υ δεκτθ λκτ πζαέ δκ πθ ξ έπθ φαζ έαμ λκτ θ λϋαμ θ λ α Ϊεβμ Καγβΰβ άμ ΜΠ δ υγυθ άμ λΰα βλέκυτΰ δκθκηδεάμσ ξθκζκΰέαμ κ ΣκγΫηα βμπκδσ β αμ κυπσ δηκυθ λκτ Πλκρ Ι κλέα κλέα τΰξλκθβ
Διαβάστε περισσότερα) (+ 89 / >9691 /) 01)> 59 )2 >9691 /) (=12) (=12) 2 1< /. )1,9 Ε 1(Χ(,)2 /,.96 Β ) 2 8=,. Ι
! # % & & # () + (,.)/ 01)0)2,34 2 # ) (.,5)2678,()2 9: 695 1/9/ # ) /,3;) ( 22,(,. # 9=.)6)8,9 ).19/,3;) )., 8? (,9 # =,596? (,92678,(92 # % & % 6
Διαβάστε περισσότεραΟιΫα εαδ ξλσθδα δαλλκδεϊ τθ λκηα. Γ ΩΡΓΙΟ Π. Κ Ρ Μ ΝΩΛΗ πέεκυλκμ Καγβΰβ άμ Γα λ θ λκζκΰέαμ Aλ αέ δκ Νκ κεκη έκ
ΟιΫ εδ ξλσθδ δλλκδεϊ τθ λκη Γ ΩΡΓΙΟ Π. Κ Ρ Μ ΝΩΛΗ πέεκυλκμ Κγβΰβ άμ Γ λ θ λκζκΰέμ Aλ έ δκ Νκ κεκη έκ Α π υ Α π >3 Α Α 14 Α Χ Α > 14 Α Α ΛΟΙΜΩ Η Ικέ ε άλδ Πλπ σπ Έζηδθγ μ Α Θκυευ έ βμ, 424-411 π.χ. pg
Διαβάστε περισσότερα! # %&& () ( ) +,! # ) ) &...
! # %&& () ( ) +,! # ) ) &... ! # %& (! ) /01 2#,,( 0 3 1 456 7!! +, # (! () 83, 9: 1, ;;1 ? 2 + /. )).Α.7% %&&!!!.)# )& Β&Χ:Χ& 1& ). ! +!)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))>
Διαβάστε περισσότερα14PROC
Β Γ Θ Γ Θ Χ KB EΦτPEIA Pτ TτPIK σ K A IK σ APXAIτTHT σ ο 22-04-2014 α ο α α. π ω. 2567 14PROC002010550 2014-04-28 αχ. Β/ : ππο 85100 ο οφο ί :. α ά.: 2241365200, 43791-2 Fax: 2241030688 Email: kbepka@culture.gr.
Διαβάστε περισσότερα,,,.
Ο Ο Δ ΡΩ : ,,,. Α ΗΕ Α Α Α Ε Α 10 ΟΡ Α Α ΑΡΩ Α Α Α Ρ : π υ π χ χ, φ χ, π, Δυ : π υ χ π π,... π φ φ πυ : φ χ φ, χ,φ, φ π χ, π π,π, Δ :,, :,, :, :,, (yummy!) :,,,..., :,,,,, Ά :,,., : :, :,.,. Η Η Χ ΧΗ Η
Διαβάστε περισσότερακ σθκηα ηδαμ Ϊευεζβμ κλΰαθδεάμ Ϋθω βμ δαελέθκυη ΰ θδεϊ τκ ηϋλβ: α) Σκ ία δεσ σθκηα πκυ αθαφϋλ αδ βθ ετλδα αθγλαεδεά αζυ έ α
1 Ο ο α ο ο α ά υ ω ο α ω Η πζβγυλα ωθ κλΰαθδευθ θυ ωθ πϋίαζ απσ θωλέμ β υ βηα κπκέβ β βμ κθκηα έαμ κυμ. Η υ βηα δεά (ά πέ βηβ) κθκηα κζκΰέα ωθ κλΰαθδευθ θυ ωθ χαλαε βλέα αδ πέ βμ εαδ ωμ κθκηα κζκΰέα εα
Διαβάστε περισσότερα! # % & ( ) & + #, +. ! # + / 0 / 1 ! 2 # ( # # !! ( # 5 6 ( 78 ( # ! /! / 0, /!) 4 0!.! ) 7 2 ## 9 3 # ## : + 5 ; )!
! # % & ( ) + ! # % & ( ) & + #, +.! # + / 0 / 1! 2 # ( # 1 3 4 3 #!! ( # 5 6 ( 78 ( # 6 4 6 5 1! /! #! / 0, /!) 4 0!.! ) 7 2 ## 9 3 # 78 78 0 ## : + 5 ; )! 0 / )!! < # / ).
Διαβάστε περισσότεραΝ ΠΙΛΟΓ ΝΠΡΟ ΧΠΙΚΟΤΝ ΣΟΝ ΣΡ ΣΟΝΞ Ρ ΜΘΝΛΥΙ ΝΧΤΓΨ ΚΟΙΝΧΝΙΟΛΟΓΟ
Ν ΠΙΛΟΓ ΝΠΡΟ ΧΠΙΚΟΤΝ ΣΟΝ ΣΡ ΣΟΝΞ Ρ Υ Σ Ρ ΝΓ ΧΡΓΙΟ ΜΘΝΛΥΙ ΝΧΤΓΨ ΚΟΙΝΧΝΙΟΛΟΓΟ 1 Μ κθ σλκ «πδζκΰά πλκ ππδεκτ» αθαφ λσηα ηδα σπκυ απσ Ϋθα ηϋ π ηδαμ πδζϋΰκυη δα δεα έα τθκζκ υπκοβφέπθ δα δεα έαμ αιδκζσΰβ βμ
Διαβάστε περισσότερα... ΆξθβΝαΪξαλβ. ΜατλβΝαΪξαλβ. Jeggery ΓζυεσαβΝ. ΚαλαηΫζαΝααξαλκπζα. ΓζυεσΝ κυνεκυ αζδκτ. ΚαλαηΫζ μν Γζυφβ ακτλδα
> πλ Ϊηβ Π λδ ξη θμ Ά πλβνϊξλβ(ελυ ζζδεά) ζ 2 ΆξθβΝΪξλβ ζ 3 Κ ζ 3 θάνϊξλβ ΜτλβΝΪξλβ ΪξλβΝ ζ 3 Νετκυμ ζ 5 Ν η λϊλ ζ 4 Jeggery ζ 4 ΓζυεβΝ ζ 6 Φλκυε β ζ 5 πλ ΪηβΝ ζ 7 Ϋδ ζ 12 Λ ηθδνεδν δλπδ
Διαβάστε περισσότεραεϊγ έ κμ Ϊφβ ε σμ απσ ίλαξυ β
Άλγλκ 1 Τ Ρ 3.15 ε εαφά εαδ παθαπζάλπ β ξϊθ αεκμ αλ υ δεκτ δε τκυ ά υπκΰ έκυ δε τκυ πζβθυ πθ ( ε σμ εα κδεβηϋθπθ π λδκξυθ) Άλγλκ 1.1 Τ Ρ 3.15.01 εϊγ έ κμ Ϊφβ ε σμ απσ ίλαξυ β τθκζκ (m 3 ) : 146,31 ε εαφά
Διαβάστε περισσότεραζϊίβ Εΰε φϊζκυ εαδ ΜΫλκμ 2
ζϊίβ Εΰε φϊζκυ εδ Ν υλκπζ δε β κ ΜΫλκμ 2 ο ίο έφ ος ά ό β άβ? 27 υ 2013 ώ ι Π ι ι ά ο έ θ ώ ι ο ο ο ι ώ ι ώ ι ά θ ώ ο ς ί ι ύ ή ήθι ι ι ό ι ο οιού ι ι ι ά ο έ ώ: ο έ ο «ο ά ος» Kindling ι ί ι ι ά ό ς ι
Διαβάστε περισσότεραΝ ο π ο ο α Ε - ο ω α χ ου χ α - Ο ο α ο ο ο ω ο 2ο ) Ν ο α Ο
Ν - Ο π ω α χ Β υ χ ( α υ 2 ) Ν αο -Κ υ durem@hist.auth.gr αε α Ε α- ω Β αφ α Kotsakis, K. 1999 What Tells can Tell: Social Space and Settlement in the Greek Neolithic. κ P. Halstead (ed) Neolithic Society
Διαβάστε περισσότεραΑ θ ή ν α, 7 Α π ρ ι λ ί ο υ
Α θ ή ν α, 7 Α π ρ ι λ ί ο υ 2 0 1 6 Τ ε ύ χ ο ς Δ ι α κ ή ρ υ ξ η ς Α ν ο ι κ τ ο ύ Δ ι ε θ ν ο ύ ς Δ ι α γ ω ν ι σ μ ο ύ 0 1 / 2 0 1 6 μ ε κ ρ ι τ ή ρ ι ο κ α τ α κ ύ ρ ω σ η ς τ η ν π λ έ ο ν σ υ μ
Διαβάστε περισσότεραC DEFOP αζκθέεβ, 1κΝΝκ ηίλέκυνβί1γ
ΤΝ ΝΣ Ν Π ΓΓ ΛΜ ΣΙΚ ΝΚ Σ ΡΣΙ Μ ΝΣ ΝΝ Π ΧΟΛ Ν ΦΟΡ Ν ΠΟΣ Λ Μ ΣΩΝ Θ C DEFOP αζκθέεβ, 1κΝΝκ ηίλέκυνβί1γ λ υθβ δεάνκηϊ α Χλά κμνγκτζαμννννννν ΝέεκμΝΦπ σπκυζκμνν δ υγυθ άμνκαν ΠήΓ ΝεαδΝ δ υγυθ άμνκα Ϊλ δ βμννιν
Διαβάστε περισσότερα,. # # & # /# # & # /# & & 0 # /# # & # 1 ) 2# ) 3% ) 4 5 % #6 5 78 9 4 6 & 3 C 449-2008 ) +:;7 <5;97 ;79<=;8 ) +:;7> = <;<5;97 ;79<=;8 ) 4 6
! # % &! (# ) % +,. # # & # /# # & # /# & & 0 # /# # & # 1 ) 2# ) 3%) 45 % #6 5 78 9 4 6 &3 C 449-2008 )+:;7
Διαβάστε περισσότερακατάταξη ασθενούς εξέτασης ιατρού ιατρού πράξης περιστατικού χειρουργείου ού χειρουργείου αξης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΥΓΕΙΑΣ 4η Υ.ΠΕ. ΜΑΚ-ΘΡΑΚΗΣ ΓΕΝΙΚΟ ΝΟΣΟΚΟΜΕΙΟ ΔΙΔΥΜΟΤΕΙΧΟΥ ΛΙΣΤΑ ΧΕΙΡΟΥΡΓΕΙΟΥ 13-9-2019 ΧΕΙΡΟΥΡΓΙΚΟ ΤΜΗΜΑ Νέα χρονική κατάταξη Τμήμα Χαρακτηρισμ ός Κατηγορία Χρονική Προτεινόμενη
Διαβάστε περισσότερααι 15 parts per million σ σ α όσφαι α. (300 Dobson units). To ο ι ό ό ο (total ozone) = f
Τ σφ ό στ τ σφ όζ ν ό Εισ ω ι ά σ οιχ ί Σ άθ 10 ο ύ ι ό ι έ, ά ο ί ο 3 ό ι ό ο ος ί ο 50 έ ά ισ ο ύ ιο parts per billion σ ο όσφι ι 15 parts per million σ σ όσφι. 3 ι ιοσ ά ύ ος ό (300 Dobson units). φ
Διαβάστε περισσότερα! % & % & ( ) +,+ 1 + 2 & %!4 % / % 5
! #! % & % &( ) +,+.+)! / &+! / 0 ) &+ 12+! )+& &/. 3 %&)+&2+! 1 +2&%!4%/ %5 (!% 67,+.! %+,8+% 5 & +% #&)) +++&9+% :;&+! & +)) +< %(+%%=)) +%> 1 / 73? % & 10+&(/ 5? 0%)&%& % 7%%&(% (+% 0 (+% + %+72% 0
Διαβάστε περισσότεραΚ Α Ν Ο Ν Ι Σ Μ Ο Σ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Α Σ Ε Π Ι Τ Ρ Ο Π Ω Ν
Κ Α Ν Ο Ν Ι Σ Μ Ο Σ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Α Σ Ε Π Ι Τ Ρ Ο Π Ω Ν Ψ η φ ί σ τ η κ ε α π ό τ η Γ ε ν ι κ ή Σ υ ν έ λ ε υ σ η τ ω ν Μ ε λ ώ ν τ ο υ Σ Ε Π Ε τ η ν 24 η Μ α ΐ ο υ 2003 Δ ι ά τ α ξ η Ύ λ η ς 1. Π
Διαβάστε περισσότερα! # % & # ( ) +, . + / ! + & 56789! 4 6::; # < = ? 1 1 ( , 2, ::Α
! # % & # ( ) +, +. + /! + & 0 1 1 23 4 0 56789! 4 6::; # < = >? 1 1 ( 1 0 1 4, 2, 9 571 6::Α ! #! % & ( ) ( % + , & ( ). / 0 % 1! ( 2 3 & %3 # % 4!, ( 56 4 7889 ! : 0 % 0 ; % ( < 4 4 =! & ; ; >& % ;
Διαβάστε περισσότεραΦΥΣΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΙΙ
University of Athens Pedagogical Department P.Ε. Science, Technology and Environment Section / Laboratory 13a Navarinou str, Athens, GR-10680 Πανεπιστήμιο Αθηνών Παιδαγωγικό Τμήμα Δ.Ε. Τομέας / Εργαστήριο
Διαβάστε περισσότερα1ο Θ λδθσ χοζ έο Σ.Π.. εαδ ηηδουλγδεσ η α τγχλοθο χοζ έο
Πδ γωγδεσ Σηάη.. Πθ δ ηηέου Κλά ημ 1ο Θ λδθσ χοζ έο Σ.Π.. εδ ηηδουλγδεσ η τγχλοθο χοζ έο Ο ηγό χ η Δη ιου γ ι ο ο WEEBLY υ γ Έ μ υ γ ω γ μ Κω έ υ μ Κ γ Κω γ γ ω Μ (E-learning Lab) χ - ο ω υκ υκ γ Σάθομ
Διαβάστε περισσότερα! # # % & () # + (,. # # %%% # & ( % &
!! # # % & () # + (,. # # %%% # & ( % & !! # %& ( ) % + +,../ 0 ! # 10230../4 & 5 / 6 6 00 ( 00 0 7 8 00 0 0 + 9! + 8 00 0 +! ( 8 0 0 :! ; 0< + + 9 0= ((!. 0 6 >!. 0 0? 6 >. 0 Α. 0 : + 6 > 0 0 : 0 + 0
Διαβάστε περισσότεραπζϊ,νθαν βηδκυλΰά κυη Νε λ κφκλέανΰδαν κν ι θκ κχ έκν αμνη Νηβ θδεσνλέ εκ!
ΰαπβ ΫΝΞ θκ σχ,ν δνγανηπκλκτ αη ΝθαΝ εϊθκυη ΝΰδαΝ Ϊμν πζϊ,νθαν βηδκυλΰά κυη Νε λ κφκλέανΰδαν κν ι θκ κχ έκν αμνη Νηβ θδεσνλέ εκ! ΠκδκδΝ έηα Η SpyrouΝPhiloxenia έθαδνγυΰα λδεάν αδλ έαν βμ SpyrouΝώotels,
Διαβάστε περισσότερα6< 7 4) ==4>)? ) >) ) Α< = > 6< 7<)Β Χ< Α< = > ) = ) 6 >) 7<)Ε > 7 ) ) ) ; + ; # % & () & :,% 3 + ;; 7 8 )+, ( ! # % & % ( )! +, % & &.
6< 7 4) ==4>)? ) >) )Α< = > 6< 7 )= )6 >) 7 7 ) ) ) ; + ; # % & () 4 5 6 & 7 8 9 & :,% 3+ ;;7 8 )+, (! # % & % ( )! +, % & &. /0 121, 3 &./012 34,51 65 57.8,57 9,(% #85% :;
Διαβάστε περισσότερα8 ) / 9! # % & ( ) + )! # 2. / / # % 0 &. # 1& / %. 3 % +45 # % ) 6 + : 9 ;< = > +? = < + Α ; Γ Δ ΓΧ Η ; < Β Χ Δ Ε Φ 9 < Ε & : Γ Ι Ι & Χ : < Η Χ ϑ. Γ = Φ = ; Γ Ν Ι Μ Κ Λ Γ< Γ Χ Λ =
Διαβάστε περισσότερα1έΝΥ ικ ανδ λτ πμνεαδνπλυ βμν ΰεή πμ 1.028,06 1.028,06 ζένλκδπϊνϋικ αν ΰεα α Ϊ πμ 14.948,60 1.587,27 15.976,66 2.615,33 ΓέΝΠ ΓΙΟΝ Ν ΡΓ ΣΙΚΟ
ΛΑΜΑΣΟΣ ΧΝΙΚΗΝAE ΜΑΡΙΑΝΚΙΟΤΡΙΝ1ιγΑΝ1κκθγΝΠ ΡΑΜΑ λλκκ1κβλινάνπ ΙΡΑΙΑΝΦΑ Ν ΡΓΗΣΙΚΟ Πκ ΪΝεζεδσηεθβμΝχλά εωμνβί14 ΑιέαΝΚ ά βμ Απκ ίϋ εδμ ένοφ ΙΛΟΜ ΝΟΝΚ Φ Λ ΙΟ έν ΞΟ Ν ΓΚ Σ Σ Χ 1έΝΥ ικ ανδ λτ πμνεαδνπλυ βμν
Διαβάστε περισσότεραΛΙΣΤΑ ΧΕΙΡΟΥΡΓΕΙΟΥ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΥΓΕΙΑΣ 4η Υ.ΠΕ. ΜΑΚ-ΘΡΑΚΗΣ ΓΕΝΙΚΟ ΝΟΣΟΚΟΜΕΙΟ ΔΙΔΥΜΟΤΕΙΧΟΥ ΛΙΣΤΑ ΧΕΙΡΟΥΡΓΕΙΟΥ 9-9-2019 ΧΕΙΡΟΥΡΓΙΚΟ ΤΜΗΜΑ Κωδικός ασθενούς 090719-804-ΜΔ 030719-847-ΠΧ 260619-821-ΣΔ 310719-824-ΤΕ
Διαβάστε περισσότεραΡΙΝΟ Ξ Μ ΝΟ Λδσπα-Σ αεαζέ β θαπζβλυ λδα εαγβΰά λδα ΣΜ Μ Σ ΧΝΟΛΟΓΩΝ Γ ΩΠΟΝΩΝ
Τ Σ Μ ΣΙΚ ΟΣ ΝΙΚ / Ι ΡΙΝΟ Ξ Μ ΝΟ 2016-17. Λδσ-Σ εζέ β θζβλ λδ εγβΰά λδ ΣΜ Μ Σ ΧΝΟΛΟΓΩΝ Γ ΩΠΟΝΩΝ Σ Ι ΤΣΙΚ ΛΛ ΝΙΟΛΟΓΙ Τ Σ Μ ΣΙΚ ΟΣ ΝΙΚ / Ι φ ΝΙΟΛΟΓΙ βη δεά κ θδεά. βη δεά ίκ θδεά φ, βμ κ θδεάμ. φ 1. φ ω
Διαβάστε περισσότερα! # # %!! & % ( ) +,! &! + (. /+( 0 # + 1 2334
! #!%!%! & # % (& ! # # %!! & % ( ) +,! &! + (. /+( 0 # + 1 2334 ! #! % & # ( ) & + &,. ) / ). )! 0! ( & 1 ) +,, +. 5,, 6 7 6,# 8 9,# 6! 5 7 6,# & 9 6 9 6,# 5 : 8 :! 8 5 + 5 6,# ;! 9 6. 8 6 7 # + 5 < 6
Διαβάστε περισσότεραΤΜΗΜΑ ΦΩΚΑ/ΤΕΤΑΡΤΗ
ΤΜΗΜΑ ΦΩΚΑ/ΤΕΤΑΡΤΗ 09.00 -.00 5 ZE MI WA 0 0 0 9 0,95 9 ΑΓ ΓΕ ΠΑ 0 0 0 0 0 0 95 ΑΔ ΡΟ ΙΩ 0 0 0 0 0 0 97 ΑΙ ΚΩ ΠΑ 0 0 0 0 0 0 5 507 ΑΛ ΕΥ ΤΖ 0 0 0 0 0 0 6 99 ΑΝ ΟΡ ΚΩ 7 5 0 0 0,65 7 95 ΑΝ ΙΩ ΟΡ 9 9 9 6
Διαβάστε περισσότερα# % & % ( ) + ),, .//0
! # % & % ( ) + ),,.//0 & 1 2 1 (, %, (, %, 3 4 ( 5 ( 6 (! ) 1 % % 1 (, %, 3 5.7, 4.//0 2 3 (, %, 6 8, ) %, 6 +!8!! 6 6, 9 ) 6 & : 6 + # ; 8 , %? 6 6 77Α, 5 9 Β
Διαβάστε περισσότεραLivro Eletrônico. Aula 00. Português p/ MAPA (nível superior) Professor: Fernando Pestana DEMO
Livro Eletrônico Aula 00 Português p/ MAPA (nível superior) Professor: Fernando Pestana ! # % & # ( ) % +, #,...!/!. #0 1 234 567! 8!!! 99999999!!! : #! 5 ;! < ; =! #! >& %!!!?! % Α # & Β : >&! < # ;!!!!
Διαβάστε περισσότεραΓ ΝΙΚΟΝΛΤΚ ΙΟ Π ΓΓ ΛΜ ΣΙΚΟΝΛΤΚ ΙΟ
Γ ΝΙΚΟΝΛΤΚ ΙΟ Π ΓΓ ΛΜ ΣΙΚΟΝΛΤΚ ΙΟ ΤΟ Η Ο Ο ΕΤΗ : Φ 193 / 17 ω. 4186/013, 013..Θ 8 EQF πέπ EQF πέπ EQF πέπ EQF πέπ κ5 κ7 κ6 Ι κ8 ΚΣΟΡΙΚ Μ Σ ΠΣΤΧΙ ΚΟΙΝΣΙΣΛΟΙΝ(MASTERS) ΝΣ Σ Ν ΚΠ Ι ΤΣΙΚ ΝΙ ΡΤΜ Σ ( Σ ΧΝΟΛΟΓΙΚ
Διαβάστε περισσότερα15SYMV
Ι ΙΩ ΙΚΟ ΦΩ Η ΙΚΟ α α ά α σή α σ ις 13/02/2015 οι α α ά σ βα ό οι: α) «Α» Ω Η Η Η Η Α Α Α Α, ο ύ ι σ α α ά α, Ασί ς αι α ώ 11, Α... 998271263, αι οσ ί αι ό ι α α ό ο ό ο ο ιοι ι ού βο ίο ς. Η ιό ο ο Αθα
Διαβάστε περισσότεραΠ ΡΙΛΗΦΗ. 1ληηΝεαδΝηααέ η Ν βθνmotor Oil, απκ ζκτθ δμν υκνη ΰαζτ λ μ αδλέ μ κθνεζϊ κ
Σ χθδεά εαδνθ η ζδυ βμ θϊζυ β η οχυθ εαδν αδλδωθ. ΓεκτηαμΝ λϊ κμένπ υξδκτξκμ Οδεκθκηκζσΰκμ. MSc φαληκ ηϋθβνοδεκθκηδεάνεαδνχλβηα κκδεκθκηδεάν( έκέπέ έήνσηάηανοδεκθκηδευθ) Team Site: A.E.A.C. Co. Project
Διαβάστε περισσότεραΕ Π Ι Μ Ε Λ Η Τ Η Ρ Ι Ο Κ Υ Κ Λ Α Δ Ω Ν
Ε ρ μ ο ύ π ο λ η, 0 9 Μ α ρ τ ί ο υ 2 0 1 2 Π ρ ο ς : Π ε ρ ιφ ε ρ ε ι ά ρ χ η Ν ο τ ίο υ Α ιγ α ί ο υ Α ρ ι θ. Π ρ ω τ. 3 4 2 2 κ. Ι ω ά ν ν η Μ α χ α ι ρ ί δ η F a x : 2 1 0 4 1 0 4 4 4 3 2, 2 2 8 1
Διαβάστε περισσότερα! # %& & ( )# ( % )# & (( +,. % % & / ) % 0112
! # %& & ( )# ( % )# & (( +,. % % & / ) % 0112 ! # %& & ( )# ( % )# & (( +,. % % & / ) % 0112 ! # % & & ( # ) ( # # # # ( # +,. + / + 0 1 2 3 # 4 5 + 6 1 % +. 4 / 7 +4/ # # 8 6 8 868. 9 : 3 + 3 2 # # %
Διαβάστε περισσότεραΚατηγορία χειρουργικής. Χρονική κατάταξη
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΥΓΕΙΑΣ 4η Υ.ΠΕ. ΜΑΚ-ΘΡΑΚΗΣ ΓΕΝΙΚΟ ΝΟΣΟΚΟΜΕΙΟ ΔΙΔΥΜΟΤΕΙΧΟΥ ΛΙΣΤΑ ΧΕΙΡΟΥΡΓΕΙΟΥ 18-10-2019 ΧΕΙΡΟΥΡΓΙΚΟ ΤΜΗΜΑ Κωδικός Τμήμα Ημέρα & ώρα θεράποντα Χαρακτηρι σμός σημειώματ Κατηγορία
Διαβάστε περισσότερα15SYMV
Ι ΙΩ ΙΚΟ ΦΩ Η ΙΚΟ Α.13/ α α ά α σή α σ ις 13 /02 / 2015 οι α α ά σ βα ό οι: α) «Α» Ω Η Η Η Η Α Α Α Α, ο ύ ι σ α α ά α, Ασί ς αι α ώ 11, Α... 998271263, αι οσ ί αι ό ι α α ό ο ό ο ο ιοι ι ού βο ίο ς. Η
Διαβάστε περισσότεραΕικονογραφημένο Λεξικό Το Πρώτο μου Λεξικό
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ, ΠΟΛΙΤΙΣΜΟΥ ΚΑΙ ΑΘΛΗΤΙΣΜΟΥ Ι.Τ.Υ.Ε. «ΔΙΟΦΑΝΤΟΣ» Αή Εί Ηίς Δής Μί Μά Ιί Αύ Εέ Λό Τ Πώ Λό Τός 11ς (Π, (-ά) ) Εέ Λό Α, Β, Γ Δύ Τ Πώ Λό Τός 11ς (Π, (-ά) ) ΣΥΓΓΡΑΦΕΙΣ Αή
Διαβάστε περισσότερα67 & Ε < 9 & ΕΕ Ν 4 6 & ΕΕΕ 9 & Ε1 Ε Φ
!! #! % #!! % & ( ( ) # &!! ( # % + &,.# & / ( 0 ( & 1 2 3 ( 2 4 ) # & 0 ( 1 5 & 6 3 7 ( 4 # & 8 7 0 9 5 : : # &, ; / ( 5 < # = # 0; / # 6 0 / 3 ) ( 4 # 9 ; & ( ; #.. =0 = ( > 6? &( ; ; # ( 5 ( 5 ( 5
Διαβάστε περισσότεραΚ Α Τ Α Σ Τ Α Τ Ι Κ Ο
Κ Α Τ Α Σ Τ Α Τ Ι Κ Ο Κ Ε Φ Α Λ Α Ι Α Α. Σ Υ Σ Τ Α Σ Η - Ε Π Ω Ν Υ Μ Ι Α - Ε Δ Ρ Α - Δ Ι Α Ρ Κ Ε Ι Α Β. Μ Ε Λ Η Τ Ο Υ Σ Υ Ν Δ Ε Σ Μ Ο Υ Γ. Ο Ρ Γ Α Ν Α Δ Ι Ο Ι Κ Η Σ Η Σ Δ. Π Ο Ρ Ο Ι Τ Ο Υ Σ Υ Ν Δ Ε Σ Μ
Διαβάστε περισσότερα(Oxford Universal Dictionary) χ ιά ω (planifier): (Larousse)
Η έ οια ο σχ ιασ ού. Η έ οια ο σχ ιασ ού Ηά ο ι ώ : χ ιασµός ή ο αµµα ισµός: Ο α α ισµός σ ίο, αθο ί ο ος ο σύ ο ο σ ο ισµέ ιώ [ αι], σιµο οι θ σοµέ µέσ [ ς] αι αά ο ιοι ι ή ο ά σι, ος ο ισµέ µα ο ο ί
Διαβάστε περισσότεραυηφπθέαμ βηκ δκθκηδευθ σξπθ εαδ δαλγλπ δευθ η αλλυγηέ πθ» (Φ Κ 1ιθ) εαδ δ έπμ α Ϊλγλα 1 Ϋπμ γ αυ κτ,
ΠΡ Ξ ΚΣ Λ ΣΙΚ ΠΙΣΡΟΠ 82/8.3.2016 ΘΫημ Πζέ δκ ΰδ βθ έ λυ β εδ ζ δ κυλΰέ πδ ά πθ πδ π δευθ δ λυηϊ πθ (θέζγηζήβί1η) ΚΣ Λ ΣΙΚ ) ί) ΠΙΣΡΟΠ Σ ΣΡ Π κ Ϊλγλκ ηη δλ δυθ δξ έλδ βμ ά πε β βμ π Ϊθ δ εγυ Ϋλβ β Σ ΛΛ
Διαβάστε περισσότεραΚΕΝΤΡΟ ΜΕΡΙΜΝΑΣ ΚΑΙ ΑΛΛΗΛΕΓΓΥΗΣ ΔΗΜΟΥ ΚΟΜΟΤΗΝΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ ΕΓΓΡΑΦΩΝ ΒΡΕΦΟΝΗΠΙΑΚΩΝ ΣΤΑΘΜΩΝ Α ΒΡΕΦΟΝΗΠΙΑΚΟΣ ΒΡΕΦΙΚΟ ΤΜΗΜΑ
ΚΕΝΤΡΟ ΜΕΡΙΜΝΑΣ ΚΑΙ ΑΛΛΗΛΕΓΓΥΗΣ ΔΗΜΟΥ ΚΟΜΟΤΗΝΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ ΕΓΓΡΑΦΩΝ ΒΡΕΦΟΝΗΠΙΑΚΩΝ ΣΤΑΘΜΩΝ Α ΒΡΕΦΟΝΗΠΙΑΚΟΣ ΒΡΕΦΙΚΟ ΤΜΗΜΑ Γ. ΖΑΡΙΦΗ 1 ΤΗΛ:25310-84656 ΕΣΠΑ 1 Γ. Γ. Γ 215,41 2 Ξ. Ζ. Χ 173,83 3 Μ. Δ. Κ 155,34
Διαβάστε περισσότερακ ηϋλ μ α λκπκλδευμ www.karmatravel.gr Travel.Karma@yahoo.gr ΙΝΔΙΑΝ ΧΡΤΟΝ ΣΡΙΓΩΝΟ 06, 27/10/15 639 899 03/11/15 769 1029 600 5* ΦόλκδΝ Α φαζέ Κα ηγέ
www.karmatravel.gr Travel.Karma@yahoo.gr ΙΝ Ι ΧΡ Ο ΡΙ ΩΝΟ κ ηϋλ μ α λκπκλδευμ Β ί Ο Ά α (2) Ο Φα π υ ί Ο μπ α Ο α π (2) Ο Φ Άμπ Ο Β ί (2) Πλκκλδ ηόμ ΙΝΔΙΑΝ ΧΡΤΟΝ ΣΡΙΓΩΝΟ ΜΫλ μ Αθαχωλά δμ Δέεζδθκ Μκθόεζδθκ
Διαβάστε περισσότεραΤΠΗΡ Ι ΝΠΡΩΣΗ ΤΠΟ ΟΥΗ
νΰΰλκτ κγ,11ι4η γάθα, Σ β1ίλβκη111, F 2109233119, initialreception@asylo.gov.gr, www.asylo.gov.gr ΣΜΗΜΑΝΑΝΘΡΩΠΙΝΟΤΝ ΤΝΑΜΙΚΟΤΝΣΝ ΙΟΙΚΗΣΙΚΗΝΤΠΟΣΗΡΙΞΗΝΝΝΝΝΝΝΝΝΝΝΝ 14PROC001999519 2014-04-16 ΔΑ Α Η Α Α Α Η
Διαβάστε περισσότερα# # %& ) & +,& & %. / / 6 & / 7 / 8 8 # 3/ 6 & / 7 /
! # # %& ) & +,& & %. / 01 23345 1/ 6 & / 7 / 8 8 # 3/ 6 & / 7 / / ; / 212
Διαβάστε περισσότερα: 14PROC002178853 . : 210 36.94.100. φ : 213 2116445 Fax : 210 3630110 E-mail : d.anagnostopoulos@tpd.gr. (PCs)». (L 335)».
: 14PROC002178853 T Θ Ω & Ω π α α, 18-7-2014 α α 40-10174 Θ..: 5241. : 210 36.94.100 Θ : π ( 2) : ΓΣ φ :. α π υ φ : 213 2116445 Fax : 210 3630110 E-mail : d.anagnostopoulos@tpd.gr Θ : Δ α υ π υ α, α α
Διαβάστε περισσότερα! # %# %# & &! ( # # )
! # %# %# & &! ( # #) +, ./ / / 0(12 / /301/ / 01 1 4 5./ ) 4 4)/ 5.06 137897:; 3 3 0 / 0 54 0 4 04 / 5( /( 5 / 9+ & & 8 # 4? # #Α +, # 0? & &! ( #?) Β Χ # # 4 Ε # +# & 6. # Φ# & 60 #=#>! #
Διαβάστε περισσότερα! # % & ( % # ) # + +, / / + % ) +
! # ! # % & ( % # ) # + +,,. / / + % ) + 0 1223 444444444444444444444444444 ( 6 3 99291 5 2?9=3 322 5 2?9=3 333 5 4 Α % 5 +++ 5 7 8 : ; 31 22 /0 ! # % & ( # )) +, +,+. / / 4 0 1 2 3 2 + ( 5 3 4,.
Διαβάστε περισσότερα