Τι θα δούμε σε αυτό το μάθημα;

Σχετικά έγγραφα
Διαφορές μεταξύ αξιών και αναφορών #1

Constructors and Destructors in C++

Τι θα δούμε σε αυτό το μάθημα;

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Τι θα δούμε σε αυτό το μάθημα;

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Ενδεικτικά Θέματα Στατιστικής ΙΙ

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Άσκηση 1 - Μοπυοποίηση Κειμένου

ΗΥ-100 Ειζαγωγή ζηην Επιζηήμη Υπολογιζηών

Δομή ππογπάμμαηορ ζηη C++

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

x x x x tan(2 x) x 2 2x x 1

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Εξγαζηήξην Πιεξνθνξηθήο

ΑΡΥΔ ΟΙΚΟΝΟΜΙΚΗ ΘΔΩΡΙΑ ΛΤΔΙ ΓΙΑΓΩΝΙΜΑΣΟ ΚΔΦΑΛΑΙΟΤ 2

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Διαςτήματα εμπιςτοςφνησ για την ευθεία παλινδρόμηςησ

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

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

Η αξρή ζύλδεζεο Client-Server

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

Master Class 3. Ο Ν.Ζανταρίδης προτείνει θέματα Μαθηματικών Γ Λσκειοσ ΘΕΜΑ 1.

β) (βαζκνί: 2) Έζησ όηη ε ρξνλνινγηθή ζεηξά έρεη κέζε ηηκή 0 θαη είλαη αληηζηξέςηκε. Δίλεηαη ην αθόινπζν απνηέιεζκα από ην EViews γηα ηε :

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ISO/IEC 27001:2005 Certificate No: IS Aegate Ltd 2011 All rights reserved

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

Database Design. Καλνληθνπνηήζε θαη πξώηε θαλνληθή κνξθή. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ Προγραμματισμός H/Y-I. Περιζζόηερα για ηον έλεγτο προζπέλαζης και ηις μεθόδοσς Static

ΜΗΛΙΔΣ. Σπκπιεξώζηε ηα ζηνηρεία πνπ ιείπνπλ ζηνλ παξαθάησ πίλαθα:

Τι θα δούμε σε αυτό το μάθημα;

Αιγόξηζκνη Δθρώξεζε, Δίζνδνο θαη Έμνδνο ηηκώλ Γνκή αθνινπζίαο. Δηζαγσγή ζηηο Αξρέο ηεο Δπηζηήκεο ησλ Η/Υ

UML (Unified Modeling Language )

Αντισταθμιστική ανάλυση

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Γ Γυμνασίου ΥΟΛΕΙΟ..

Transcript:

Τι θα δούμε σε αυτό το μάθημα; Γήισζε ηύπσλ απαξίζκεζεο (enumerations) Γεκηνπξγία θαη ρξήζε ηύπσλ απαξίζκεζεο Γήισζε ηύπσλ δνκήο (structures) Γεκηνπξγία θαη ρξήζε ηύπσλ δνκήο Γηαθνξέο κεηαμύ θιάζεσλ θαη δνκώλ

Γιατί χρειάζονται οι απαριθμήσεις; Σε έλα πξόγξακκα πνιύ ζπρλά ρξεηαδόκαζηε θάπνηεο ηηκέο από ζπγθεθξηκέλε γθάκα ηηκώλ γηα κία κεηαβιεηή. Γηα παξάδεηγκα έλαο κήλαο κπνξεί λα πάξεη ηηο ηηκέο January, February, March θιπ. Έλα πηπρίν κπνξεί λα πάξεη ηηο ηηκέο Bachelor, Master, Doctor. Όηαλ παξνπζηάδνληαη ηέηνηεο πεξηπηώζεηο κπνξνύκε λα ρξεζηκνπνηήζνπκε αξηζκνύο γηα ηηο πηζαλέο ηηκέο (π.ρ. 0 γηα ην Bachelor, 1 γηα ην Master θιπ.). Αιιά ε ρξήζε αξηζκώλ επηδεηλώλεη ηελ αλαγλσζηκόηεηα ηνπ θώδηθα. Γελ είλαη πξνθαλέο δηαβάδνληαο ηνλ θώδηθα ηη ελλννύκε: γηα λα θαηαιάβεη θαλείο ηη ζεκαίλεη ε εληνιή degree=0; ζα πξέπεη λα ζπκάηαη ζε πνηνv αθαδεκατθό ηίηιν αληηζηνηρεί ν αξηζκόο 0. Θα ήηαλ πνιύ θαιύηεξν λα έβιεπε ηελ εληνιή degree=degree.bachelor; Δπηπιένλ νη πηζαλέο ηηκέο είλαη ζπγθεθξηκέλεο θαη ζα πξέπεη λα ρξεζηκνπνηνύληαη απηέο. Αλ ρξεζηκνπνηήζεηε αξηζκνύο ηόηε δελ εμαζθαιίδεηε πσο νη αξηζκνί πνπ ρξεζηκνπνηνύληαη είλαη έγθπξνη. Αλ γηα παξάδεηγκα δειώζαηε ην degree σο int, ηόηε ε εληνιή degree=40; είλαη έγθπξε ζπληαθηηθά, παξόηη δελ ππάξρνπλ 40 δηαθνξεηηθνί αθαδεκατθνί ηίηινη.

Απαριθμήσεις Οη απαξηζκήζεηο (enumerations) ιύλνπλ ηα πξνβιήκαηα απηά, επηηξέπνληαο ζηνλ πξνγξακκαηηζηή ηελ δήισζε ησλ δηθώλ ηνπ ηύπσλ αμηώλ κε ηελ ρξήζε ηεο ιέμεο-θιεηδί enum. Γειώλεηε κία απαξίζκεζε όπσο θαίλεηαη ζην παξάδεηγκα: enum Season Spring, Summer, Fall, Winter Η πην πάλσ δήισζε εηζάγεη ζην πξόγξακκα έλα λέν ηύπν αμίαο (πνπ δεκηνπξγήζαηε εζείο) θαη ιέγεηαη Season. Οη επηηξεπηέο ηηκέο πνπ κπνξνύλ λα πάξνπλ νη κεηαβιεηέο απηνύ ηνπ ηύπνπ είλαη νη 4 ηηκέο πνπ δίλεηε αλάκεζα ζηα άγθηζηξα.

Μεταβλητές που είναι απαριθμήσεις Μπνξείηε λα δειώζεηε κεηαβιεηέο απαξηζκήζεσλ πνπ δεκηνπξγήζαηε αθξηβώο όπσο δειώλεηε όιεο ηηο άιιεο κεηαβιεηέο (γηα πεδία θιάζεσλ, ηνπηθέο κεηαβιεηέο, ή παξακέηξνπο κεζόδσλ). Όπσο δείρλεη θαη ην παξάδεηγκα: enum Season Spring, Summer, Fall, Winter //δήισζε ηεο enum class Example private Season currentseason; //πεδίν θιάζεο ηύπνπ Season public void Method(Season parameter) //παξάκεηξνο ηύπνπ Season Season localvariable; //ηνπηθή κεηαβιεηή ηύπνπ Season...

Χρήση μιας απαρίθμησης #1 Αθνύ δειώζεηε κηα απαξίζκεζε θαη κεηαβιεηέο απηήο ηεο απαξίζκεζεο κπνξείηε: Να απνδώζηε ηηκέο ζ απηέο ηηο κεηαβιεηέο, π.ρ.: Season currentseason=season.spring; Πξνζέμηε ζην παξάδεηγκα πσο ε ηηκή Spring ζα πξέπεη λα γξαθεί σο Season.Spring. Με άιια ιόγηα νη ηηκέο ηεο απαξίζκεζεο πξνζδηνξίδνληαη από ηελ απαξίζκεζε πνπ αλήθνπλ. Έηζη κπνξείηε λα έρεηε ηελ ίδηα ηηκή ζε δύν απαξηζκήζεηο ρσξίο πξόβιεκα. Να ειέγμεηε αλ ε ηηκή κηαο απαξίζκεζεο είλαη θάπνηα ζπγθεθξηκέλε ηηκή, π.ρ.: if (currentseason == Season.Winter) Πξνζέμηε ζην παξάδεηγκα πσο ε currentseason ζα πξέπεη λα έρεη δεισζεί σο κεηαβιεηή ηύπνπ Season

Χρήση μιας απαρίθμησης #2 Αθνύ δειώζεηε κηα απαξίζκεζε θαη κεηαβιεηέο απηήο ηεο απαξίζκεζεο κπνξείηε: Να βξείηε πνηνο αξηζκόο αληηζηνηρεί ζηελ ηηκή κηαο απαξίζκεζεο. Οη ηηκέο κηαο απαξίζκεζεο εζσηεξηθά αλαπαξηζηώληαη σο αθέξαηνη μεθηλώληαο από ην 0. Έηζη γηα ηελ απαξίζκεζε Spring,Summer,Fall,Winter εζσηεξηθά αληηζηνηρίδεηαη ην Spring ζην 0, ην Summer ζην 1 θ.ν.θ. Η αθόινπζε εληνιή ζα απνδώζεη ζηελ κεηαβιεηή x ηελ ηηκή 2: int x = (int) Seasons.Fall; Πξνζέμηε ηελ ρξήζε ηεο θάζηαο γηα ηελ κεηαηξνπή ζε αθέξαην αξηζκό. Να εκθαλίζεηε θαη γεληθά λα κεηαηξέςεηε ηελ ηηκή ηεο απαξίζκεζεο ζε string απηόκαηα. Γηα παξάδεηγκα ε αθόινπζε εληνιή ζα εκθαλίζεη ζηελ θνλζόια ην string Spring : Season currentseason = Season.Spring; Console.WriteLine(currentSeason); Να ρξεζηκνπνηήζεηε αξηζκεηηθνύο ηειεζηέο γηα ηελ επεμεξγαζία ησλ ηηκώλ ηεο απαξίζκεζεο. Σην παξάδεηγκα πνπ αθνινπζεί ζα εκθαληζζεί ε θξάζε Summer ζηελ θνλζόια: Season currentseason = Season.Spring; currentseason++; //η εποσή αςξάνεηαι καηά 1 Console.WriteLine(currentSeason); //θα εμθανίζει Spring

Παράδειγμα χρήσης απαρίθμησης enum Month Ιαλνπάξηνο, Φεβξνπάξηνο, Μάξηηνο, Απξίιηνο, Μάτνο, Ινύληνο, Ινύιηνο, Αύγνπζηνο, Σεπηέκβξηνο, Οθηώβξηνο, Ννέκβξηνο, Γεθέκβξηνο class EnumExample public static void Main() for (Month month = Month.Ιαλνπάξηνο; month <= Month.Γεθέκβξηνο; month++) Console.WriteLine(month); Console.ReadKey(); Τι θα εμθανίζει αςηό ηο ππόγπαμμα; Πποζέξηε πωρ οι ηιμέρ ηηρ απαπίθμηζηρ μποπεί να είναι ζηα Ελληνικά.

Απάντηση Τν πξνεγνύκελν πξόγξακκα ζα εκθαλίζεη ηνπο κήλεο ηνλ έλαλ κεηά ηνλ άιιν ζηελ θνλζόια:

Τιμή βάσης και αριθμητικός τύπος μιας απαρίθμησης Μπνξείηε αλ ζέιεηε λα μεθηλήζεηε ηελ απαξίζκεζε από θάπνηα άιιε ηηκή θαη όρη ην 0. Σην παξάδεηγκα νη ηηκέο Spring, Summer θιπ. ζα αληηζηνηρεζνύλ ζην 1, 2 θιπ. γηαηί μεθηλάκε από ηελ ηηκή 1 (αληί γηα ην 0). enum Season Spring=1, Summer, Fall, Winter Μπνξεί λα ζέιεηε λα θάλεηε θάηη ηέηνην αλ ζα πξέπεη λα δηαβάζεηε ππαξθηέο ηηκέο από κία Βάζε Γεδνκέλσλ ή έλα αξρείν θαη γη απηέο ηηο ηηκέο έρεη ρξεζηκνπνηεζεί αξίζκεζε από ην 1 ή από θάπνηα άιιε βάζε. Μπνξείηε επίζεο λα ρξεζηκνπνηήζεηε θαη θάπνηνλ άιιν ηύπν από ηνλ int γηα ηελ απνζήθεπζε ησλ ηηκώλ ηεο απαξίζκεζεο αξθεί λα είλαη αξηζκεηηθόο (byte, sbyte, short, ushort, int, uint, long, ή ulong). Σην παξάδεηγκα ρξεζηκνπνηνύκε ηνλ short: enum Season : short Spring, Summer, Fall, Winter Ο ιόγνο πνπ κπνξεί λα ζέιεηε λα θάλεηε θάηη ηέηνην είλαη γηα λα εμνηθνλνκήζεηε κλήκε.

Ίδιες τιμές για διαφορετικά λεκτικά στην απαρίθμηση Τέινο κπνξείηε αλ ζέιεηε λα αληηζηνηρίζεηε ηελ ίδηα ηηκή απαξίζκεζεο ζε πεξηζζόηεξα από έλα ιεθηηθά, αλ ρξεζηκνπνηνύληαη δηαθνξεηηθέο ιέμεηο ελδερνκέλσο γηα ηελ ίδηα έλλνηα. Γηα παξάδεηγκα ζηελ δήισζε: enum Season Άνοιξη, Καλοκαίπι, Θέπορ=Καλοκαίπι, Φθινόπωπο, Χειμώναρ νη ηηκέο Καινθαίξη θαη Θέξνο είλαη ην ίδην (δει. ν αξηζκόο 1).

Άσκηση Γεκηνπξγείζηε κία enum κε ην όλνκα Title θαη ηηκέο Bachelor, Master θαη Doctor. Γεκηνπξγείζηε κία θιάζε Person κε ηα πεδία name (ηύπνπ string) θαη title (ηύπνπ Title). Η θιάζε Person ζα έρεη έλαλ θαηαζθεπαζηή πνπ ζα δέρεηαη δύν παξακέηξνπο (ην όλνκα θαη ηνλ ηίηιν) θαη ζα απνδίδεη ηηκέο ζηα πεδία ηνπ Person από ηηο παξακέηξνπο πνπ ηηο δίδνληαη. Η θιάζε Person ζα έρεη επίζεο κία κέζνδν κε ηελ κνξθή: public int comparequalifications(person other) ε νπνία ζα επηζηξέθεη αξλεηηθό αξηζκό αλ ην Person ζην νπνίν θαιείηαη έρεη ρακειόηεξν ηίηιν από ην other, 0 αλ έρνπλ ηνλ ίδην, θαη ζεηηθό αξηζκό αλ έρεη πςειόηεξν ηίηιν. Σημ.: Γι αςηό να μην σπηζιμοποιήζεηε ηην ενηολή if. Τέινο δεκηνπξγείζηε κία κέζνδν Main πνπ ζα θαηαζθεπάδεη δύν αληηθείκελα Person, ηελ Jane θαη ηελ Alice κε δηαθνξεηηθνύο ηίηινπο. Σηελ ζπλέρεηα ζα θαιεί ηελ comparequalifications ζηελ Jane κε παξάκεηξν ηελ Alice θαη ζα εκθαλίδεη ηα κελύκαηα: Jane is less qualified than Alice, Jane is more qualified than Alice ή Jane and Alice are equally qualified, αλάινγα κε ηελ ηηκή επηζηξνθήο ηεο κεζόδνπ comparequalifications. Σημ.: Γι αςηό σπηζιμοποιείζηε ηην ενηολή if.

Δομές (structures) Οη δνκέο είλαη όκνηεο κε ηηο θιάζεηο, αιιά ζε αληίζεζε κε απηέο δελ είλαη ηύπνη αλαθνξώλ αιιά αμίεο θαη νη κεηαβιεηέο ηνπο δελ απνζεθεύνληαη ζηνλ ζσξό αιιά ζηελ ζηνίβα (βι. πξνεγνύκελν κάζεκα). Όηαλ δειώλεηε κία δνκή αληί ηεο ιέμεο class ρξεζηκνπνηείηε ηελ ιέμε struct. Πέξα από απηέο ηηο δηαθνξέο ππάξρνπλ θαη θάπνηεο άιιεο πνπ ζα ζπδεηήζνπκε ζηελ ζπλέρεηα.

Απλό παράδειγμα δομής struct Time private int hours, minutes, seconds; public Time(int hours, int minutes, int seconds) this.hours = hours; this.minutes = minutes; this.seconds = seconds; public override string ToString() return string.format("0:1:2", hours, minutes, seconds); class StructExample public static void Main() Time t = new Time(15, 23, 17); //δεκηνπξγία κηαο κεηαβιεηήο ηεο δνκήο Time Τι θα εμθανίζει αςηό ηο ππόγπαμμα; Console.WriteLine("Τξέρνπζα ώξα: 0", t.tostring()); //εκθάληζε ηνπ string ηεο ώξαο κε ηελ θιήζε ηεο ToString Console.ReadKey();

Απάντηση Θα εκθαλίζεη ηελ ώξα πνπ αληηζηνηρεί ζην αληηθείκελν t σο αιθαξηζκεηηθό (string). Πξνζέμηε πσο απηό γίλεηαη κε ηελ θιήζε ηεο κεζόδνπ ToString(). Δπεηδή ε ToString() δειώλεηαη ζηελ ππεξ-θιάζε object θαη εδώ ηελ δειώλνπκε μαλά γηα λα θάλεη θάηη δηαθνξεηηθό, ρξεζηκνπνηνύκε ηελ ιέμε-θιεηδί override (ππέξβαζε). Γηα ππεξβάζεηο κεζόδσλ ππεξ-θιάζεσλ ζηηο ππν-θιάζεηο ζα ζπδεηήζνπκε ζε επόκελν κάζεκα γηα ηελ θιεξνλνκηθόηεηα.

Πότε χρησιμοποιούμε δομές Με δεδνκέλε ηελ νκνηόηεηα ησλ δνκώλ κε ηηο θιάζεηο, ην εξώηεκα είλαη: πόηε ρξεζηκνπνηνύκε δνκέο θαη πόηε θιάζεηο; Η απάληεζε είλαη πσο νη δνκέο είλαη αμίεο θαη όρη αλαθνξέο. Όηαλ αληηγξάθεηε κία δνκή (γηα παξάδεηγκα κε ηελ θαηαρώξεζε ηεο ηηκήο κηαο κεηαβιεηήο ζε κία άιιε) γίλεηαη έλα πιήξεο αληίγξαθν όισλ ησλ ηηκώλ ηεο δνκήο. Δπνκέλσο νη δνκέο είλαη θαηάιιειεο όηαλ έρνπκε ιίγα πεδία θαη ε αληηγξαθή ηνπο είλαη ζρεδόλ ηόζν γξήγνξε όζν θαη ε αληηγξαθή κηαο δηεύζπλζεο κλήκεο (όπσο γίλεηαη κε ηηο θιάζεηο πνπ είλαη αλαθνξέο θαη όρη αμίεο). Σεκαζηνινγηθά επίζεο ζα πξέπεη ε έλλνηα ηεο δνκήο λα είλαη αδηάθνξε θαη ην κόλν πνπ έρεη ζεκαζία λα είλαη ε ηηκή ηεο. Γηα παξάδεηγκα έλα Person κε έλα άιιν Person κπνξεί λα είλαη δύν δηαθνξεηηθά πξόζσπα παξόηη ηα πεδία ηνπο έρνπλ ηηο ίδηεο ηηκέο. Σ απηέο ηηο πεξηπηώζεηο ρξεζηκνπνηείηε θιάζεηο (δει. ηα Persons είλαη νληόηεηεο). Αληίζεηα κία ώξα κε κία άιιε ώξα ζπκπίπηνπλ απόιπηα αλ νη ηηκέο ησλ πεδίσλ ηνπο είλαη ίδηεο (δει. νη ώξεο δελ είλαη νληόηεηεο). Γη απηέο ηηο πεξηπηώζεηο κπνξείηε λα ρξεζηκνπνηήζεηε δνκέο.

Διαφορές μεταξύ δομών και κλάσεων #1 Γελ κπνξείηε λα δειώζεηε έλαλ εμ νξηζκνύ θαηαζθεπαζηή (ρσξίο παξακέηξνπο) γηα κία δνκή. Τν παξάδεηγκα πνπ αθνινπζεί ζα κεηαγισηηίδνληαλ επηηπρώο αλ ην Time ήηαλ θιάζε, αιιά επεηδή είλαη δνκή ε κεηαγιώηηηζε ζα απνηύρεη: struct Time public Time()... // λάθορ καηά ηην μεηαγλώηηιζη... Ο ιόγνο πνπ δελ κπνξείηε λα δειώζεηε έλαλ δηθό ζαο εμ νξηζκνύ θαηαζθεπαζηή γηα κία δνκή είλαη πσο ε C# γηα ηηο δνκέο παξάγεη πάληα απηόκαηα έλαλ εμ νξηζκνύ θαηαζθεπαζηή (θάηη πνπ δελ ηζρύεη γηα ηηο θιάζεηο). Η αξρηθνπνίεζε ησλ ηηκώλ ζηνλ παξαγόκελν εμ νξηζκνύ θαηαζθεπαζηή γίλεηαη αλάινγα κε ηνλ ηύπν ηνπο ζε 0, false ή null.

Διαφορές μεταξύ δομών και κλάσεων #2 Αλ δειώζεηε έλαλ δηθό ζαο θαηαζθεπαζηή γηα κία δνκή, ζα πξέπεη ζε απηόλ λα αξρηθνπνηήζεηε όλα ηα πεδία ηηρ δομήρ. Σε αληίζεζε κε ηηο θιάζεηο ηα πεδία πνπ δελ αξρηθνπνηείηε εζείο ξεηά, δελ παίξλνπλ θάπνηα εμ νξηζκνύ ηηκή ζηνπο παξακεηξηθνύο θαηαζθεπαζηέο θαη πξνθαιείηαη ιάζνο θαηά ηελ κεηαγιώηηηζε, όπσο θαίλεηαη ζην παξάδεηγκα: struct Time private int hours, minutes, seconds;... public Time(int hh, int mm) this.hours = hh; this.minutes = mm; // λάθορ καηά ηην μεηαγλώηηιζη. Το seconds δεν έσει // απσικοποιηθεί

Διαφορές μεταξύ δομών και κλάσεων #3 Σε κία θιάζε κπνξείηε λα αξρηθνπνηήζεηε ηα πεδία ηεο ζην ζεκείν ηεο δήισζήο ηνπο. Σε κία δνκή απηό είλαη ιάζνο θαηά ηελ κεηαγιώηηηζε. Γηα παξάδεηγκα ην αθόινπζν πξόγξακκα ζα πξνθαινύζε ιάζνο θαηά ηελ κεηαγιώηηηζε: struct Time private int hours = 0; // Αςηό δεν επιηπέπεηαι ζηιρ δομέρ private int minutes; private int seconds;...

Σύνοψη διαφορών μεταξύ κλάσεων και δομών #1 Επώηημα Δομή Κλάζη Δίλαη ηύπνο αλαθνξάο ή αμίαο; Οη κεηαβιεηέο δεκηνπξγνύληαη ζηνλ ζσξό ή ζηελ ζηνίβα. Μπνξνύκε λα δειώζνπκε εκείο έλαλ εμ νξηζκνύ θαηαζθεπαζηή Αλ δειώζεηε ηνλ δηθό ζαο παξακεηξηθό θαηαζθεπαζηή ζα παξαρζεί απηόκαηα ν εμ νξηζκνύ θαηαζθεπαζηήο; Η δνκή είλαη ηύπνο αμίαο. Οη κεηαβιεηέο ησλ δνκώλ δεκηνπξγνύληαη ζηε ζηνίβα Όρη Ναη Η θιάζε είλαη ηύπνο αλαθνξάο. Οη κεηαβιεηέο ησλ θιάζεσλ (ηα αληηθείκελα) δεκηνπξγνύληαη ζηνλ ζσξό Ναη Όρη

Σύνοψη διαφορών μεταξύ κλάσεων και δομών #2 Επώηημα Δομή Κλάζη Αλ δελ αξρηθνπνηήζεηε έλα πεδίν ζηνλ παξακεηξηθό θαηαζθεπαζηή ζαο ζα αξρηθνπνηεζεί ην πεδίν από ηνλ κεηαγισηηηζηή ζηελ εμ νξηζκνύ ηηκή ηνπ; Δπηηξέπεηαη λα αξρηθνπνηήζεηε πεδία ζην ζεκείν ηεο δήισζήο ηνπο; Όρη Όρη Ναη Ναη

Οι βασικοί τύποι της C# είναι στην πραγματικότητα δομές Σηελ C#, νη βαζηθνί ηύπνη όπσο int, long, θαη float δελ είλαη παξά ςεπδώλπκα (aliases) γηα ηηο δνκέο (struct) System.Int32, System.Int64, θαη System.Single αληίζηνηρα. Απηέο νη δνκέο έρνπλ πεδία θαη κεζόδνπο, όπσο ε κέζνδνο Parse γηα παξάδεηγκα ηεο Int32 ε νπνία επηζηξέθεη έλαλ αθέξαην αξηζκό από έλα δνζέλ string. Γη απηό ην ιόγν κπνξείηε λα γξάςεηε ζε έλα πξόγξακκα γηα παξάδεηγκα ηελ εληνιή: int i = int.parse( 327 ); πνπ ζα κεηαηξέςεη ην string 327 ζηνλ αληίζηνηρν αξηζκό θαη ζα ηνλ θαηαρσξήζεη ζηελ κεηαβιεηή i. Σηελ Java γηα παξάδεηγκα απηό επηηπγράλεηαη κε ηελ θιήζε ηεο κεζόδνπ parseint ηεο θιάζεο Integer, γηαηί ζηελ Java ν ηύπνο int δελ είλαη δνκή (ε Java δελ παξέρεη δνκέο).

Παράδειγμα χρήσης μεθόδων των βασικών τύπων class PrimitiveOps public static void Main() Console.Write("Γώζε έλαλ αξηζκό: "); int x = int.parse(console.readline()); Console.Write("Γώζε έλαλ αθόκε αξηζκό: "); int y = int.parse(console.readline()); int sum = x + y; Console.WriteLine( "Τν άζξνηζκα ησλ αξηζκώλ πνπ έδσζεο είλαη 0", sum); Console.ReadKey(); Τη ζα εκθαλίζεη απηό ην πξόγξακκα;

Απάντηση Θα εκθαλίζεη ην άζξνηζκα ησλ αξηζκώλ πνπ ζα δώζεη ν ρξήζηεο. Οη αξηζκνί δηαβάδνληαη σο string από ηελ κέζνδν Console.ReadLine() αιιά κεηαηξέπνληαη ζε αθεξαίνπο από ηελ κέζνδν int.parse(). Σεκεηώζηε πσο αλ δελ δώζεηε έγθπξνπο αξηζκνύο ε κεηαηξνπή ζα απνηύρεη. Πην ζπγθεθξηκέλα ζα πξνθιεζεί ε εμαίξεζε FormatException. Σηε Java ε αληίζηνηρε εμαίξεζε είλαη ε NumberFormatException.

Περίληψη #1 Επγαζία Γηα λα δειώζεηε κία απαξίζκεζε Γηα λα δειώζεηε κία κεηαβιεηή ηύπνπ απαξίζκεζεο Γηα λα απνδώζεηε κία ηηκή ζε κία κεηαβιεηή απαξίζκεζεο Τι ππέπει να κάνω Χξεζηκνπνηήζηε ηελ ιέμε-θιεηδί enum, αθνινπζνύκελε από ην όλνκα ηεο απαξίζκεζεο, αθνινπζνύκελν από άγθηζηξα αλάκεζα από ηα νπνία αλαγξάθνληαη νη ηηκέο ηεο απαξίζκεζεο. Γηα παξάδεηγκα: enum Title Bachelor, Master, Doctor Γξάςηε ην όλνκα ηεο απαξίζκεζεο, αθνινπζνύκελν από ην όλνκα ηεο κεηαβιεηήο. Γηα παξάδεηγκα: Title atitle; Γξάςηε ην όλνκα ηεο κεηαβιεηήο, κεηά ηνλ ηειεζηή θαηαρώξηζεο ηηκήο (=) θαη ζηελ ζπλέρεηα δώζηε ηελ επηζπκεηή ηηκή κε ηελ κνξθή Τύπνο_Απαξίζκεζεο.Τηκή. Γηα παξάδεηγκα: atitle = Title.Doctor;

Περίληψη #2 Επγαζία Γηα λα δειώζεηε κία κεηαβιεηή ηύπνπ δνκήο Γηα λα δειώζεηε κία κεηαβιεηή ηύπνπ δνκήο Γηα λα αξρηθνπνηήζεηε ηελ κεηαβιεηή δνκήο Τι ππέπει να κάνω Χξεζηκνπνηήζηε ηελ ιέμε-θιεηδί struct, αθνινπζνύκελε από ην όλνκα ηεο δνκήο, αθνινπζνύκελν από άγθηζηξα αλάκεζα από ηα νπνία αλαγξάθνληαη ηα πεδία θαη νη κέζνδνη ηεο δνκήο. Γηα παξάδεηγκα: struct Time private int hours, minutes, seconds; public Time(int hh, int mm, int ss)...... Γξάςηε ην όλνκα ηεο δνκήο, αθνινπζνύκελν από ην όλνκα ηεο κεηαβιεηήο. Γηα παξάδεηγκα: Time atime; Καιέζηε ηνλ θαηάιιειν θαηαζθεπαζηή δίλνληαο ηηο επηζπκεηέο ηηκέο. Γηα παξάδεηγκα: Time lunch = new Time(13, 30, 0);

Ερωτήσεις;