Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών



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

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008)

Υποψήφιοι Σχολικοί Σύμβουλοι

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

4 ο ΛΥΚΕΙΟ ΛΑΜΙΑΣ ΟΙΚΟΝΟΜΙΚΕΣ ΚΑΙ ΚΟΙΝΩΝΙΚΕΣ ΣΥΝΕΠΕΙΕΣ ΤΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΚΡΙΣΗΣ ΕΚΘΕΣΗ ΕΡΕΥΝΗΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΘΕΜΑ. Ε ιµέλεια Εργασίας :Τµήµα Α4

Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΒΟΥΛΗΣ ΤΩΝ ΕΛΛΗΝΩΝ. Άρθρο πρώτο.

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

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ

ΤΑ ΕΠΙΠΕΔΑ ΟΡΓΑΝΩΣΗΣ ΤΩΝ ΠΟΛΥΚΥΤΤΑΡΩΝ ΟΡΓΑΝΣΙΜΩΝ ΟΙ ΖΩΙΚΟΙ ΙΣΤΟΙ 2 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ

ΕΠΙΤΡΟΠΗ ΕΘΝΙΚΗΣ ΑΜΥΝΑΣ ΚΑΙ ΕΞΩΤΕΡΙΚΩΝ ΥΠΟΘΕΣΕΩΝ ΝΟΜΟΣΧΕ ΙΟ. «Στρατολογία των Ελλήνων» Άρθρο 1 Υπόχρεοι σε στράτευση

Το ολοκαύτωμα της Κάσου

Έλλειψη εσωτερικής ελευθερίας

ΕΚΘΕΣΗ ΓΙΑ ΤΟ ΕΒΕΑ. Το Ασφαλιστικό του 21ο αιώνα; Ανάγκη αναστοχασμού για μια νέα αρχή

ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΑΣ «ΚΑΤΟΙΚΙΔΙΑ ΖΩΑ»

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

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

ΥΠΟΔΕΙΓΜΑ ΣΥΜΠΛΗΡΩΣΗΣ

Όμιλος Λογοτεχνίας. Δράκογλου Αναστασία, Κιννά Πασχαλίνα

6 η Ενότητα Στρατηγική σε επιχειρηματικό επίπεδο

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

Η Φυσική με Πειράματα

«ΑΝΩ ΛΙΟΣΙΑ: ΤΟΠΙΚΗ ΙΣΤΟΡΙΑ, ΠΕΡΙΒΑΛΛΟΝ, ΠΡΟΚΛΗΣΕΙΣ, ΠΡΟΟΠΤΙΚΕΣ»

ΥΠΟΜΝΗΜΑ ΕΣΕΕ ΓΙΑ ΤΟ ΕΝΙΑΙΟ ΣΥΣΤΗΜΑ ΚΟΙΝΩΝΙΚΗΣ ΑΣΦΑΛΙΣΗΣ ΕΘΝΙΚΟ ΣΥΣΤΗΜΑ ΚΟΙΝΩΝΙΚΗΣ ΑΣΦΑΛΙΣΗΣ

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

Χημεία Β Γυμνασίου Τμήμα Β3. Γρηγόρης Μαγουλάς Φανή Μανούσου Κύρος Μαλλαμίδης Ελίνα Μάλλιαρη Μάγδα Μαντά

ΣΥΝΤΟΝΙΣΤΕΣ ΟΜΑΔΑΣ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΟΜΑΔΑ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ:

ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

ΠΡΟΣ: ΚΟΙΝ: ΘΕΜΑ: Ενηµερωτικό σηµείωµα για το πρόβληµα της παράνοµης υλοτοµίας και ειδικά αυτό της καυσοξύλευσης

ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΩ ΥΠΕΡ Η ΚΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΤΩΝ ΣΥΜΒΑΤΙΚΩΝ ΤΖΑΚΙΩΝ ΚΑΙ ΤΗΣ ΚΑΥΣΗΣ ΞΥΛΕΙΑΣ ΓΙΑ ΟΙΚΙΑΚΉ ΘΕΡΜΑΝΣΗ

Οι 99 θέσεις του Ποταμιού

ΕΥΡΩΠΑΪΚΟ ΚΟΙΝΟΒΟΥΛΙΟ ΓΡΑΦΕΙΟ ΓΙΑ ΤΗΝ ΕΛΛΑΔΑ Η ΜΕΤΑΡΡΥΘΜΙΣΤΙΚΗ ΣΥΝΘΗΚΗ

ΠΡΟΪΟΝΤΩΝ» Ποσοστό στη.. του Μέτρου. Ποσό (σε ΕΥΡΩ)

Πρότυπο Σχέδιο Δράσης για τα Συμβούλια Ένταξης Μεταναστών

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

ΣΧΟΛΙΚΟ ΕΤΟΣ

ΑΠΟΦΑΣΗ 34750/2006 (Αριθμός καταθέσεως πράξεως 43170/2006) ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από

ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ. Εσωτερικός Κανονισμός. Προσκοπικού Πρατηρίου

ΘΕΜΑ: «Παραθεριστικοί Οικοδοµικοί Συνεταιρισµοί. Μελέτη Περίπτωσης του «Βραχόκηπου» ήµου Γουβών Ηρακλείου Κρήτης»

Η Υγεία είναι ο παράγοντας που μετράει την φυσική, ψυχολογική ή ακόμα και την πνευματική κατάσταση ενός ζώντος οργανισμού.

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

Κατερίνα Παναγοπούλου: Δημιουργώντας κοινωνικό κεφάλαιο την εποχή της κρίσης

ΓΙΩΡΓΟΣ ΜΠΛΑΝΑΣ ΓΙΑ ΤΟΝ ΑΝΑΡΧΙΣΜΟ

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

Ένας περίπατος στη Μονή Καισαριανής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

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

ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ (ΦΛΩΡΙΝΑ) ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΔΙΔΑΚΤΙΚΗΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ A1. Ο συγγραφέας ορίζει το φαινόμενο του ανθρωπισμού στη σύγχρονη εποχή. Αρχικά προσδιορίζει την

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Περιεχόμενα. Εισαγωγή... 7 ΜΕΡΟΣ Α Κεφάλαιο 1. Κεφάλαιο 2. Κεφάλαιο 3. Κεφάλαιο 4. Κεφάλαιο 5. Κεφάλαιο 6. Κεφάλαιο 7. Κεφάλαιο 8.

Σοφία Γιουρούκου, Ψυχολόγος Συνθετική Ψυχοθεραπεύτρια

Σκοπός του παιχνιδιού. Περιεχόμενα

ΔΕΛΤΙΟ ΤΥΠΟΥ. Ελλείψεις στο φορολογικό νομοσχέδιο. Σοβαρές ελλείψεις στη νέα μορφή του φορολογικού νομοσχεδίου

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ. Α. Να αποδώσετε την περίληψη του κειμένου ( λέξεις)

Ομιλία του ημάρχου Αμαρουσίου, Προέδρου Ιατρικού Συλλόγου Αθηνών. Γιώργου Πατούλη, στην εκδήλωση μνήμης στον Ιωάννη Πασαλίδη

5 η Ενότητα Κουλτούρα και στρατηγική

Η εξέλιξη της επιστηµονικής σκέψης και του πειραµατισµού στην Ελληνιστική

Ασυντήρητες και επικίνδυνες οικοδομές

ΚΕΦΑΛΑΙΟ Α.2 ΑΝΑΠΤΥΞΙΑΚΗ ΦΥΣΙΟΓΝΩΜΙΑ ΤΟΥ ΔΗΜΟΥ ΑΜΑΛΙΑΔΑΣ

Συνήγορος του Καταναλωτή Νομολογία ΕφΑθ 5253/2003

Ιανουάριος 2014 (φύλλο 2 ο ) Τιμή φύλλου 1

ΣΥΝΘΗΚΗ SCHENGEN (ΣΕΝΓΚΕΝ)

Ευρετήριο πινάκων. Ασκήσεις και υπομνήματα

Δράση 1.2. Υλοτομία και προσδιορισμός ποσοτήτων υπολειμμάτων.

Η ευσέβεια, η αξιοπιστία και η ακεραιότητα του Αγησιλάου (1 διδακτική ώρα)

ΜΟΥΣΕΙΟ ΚΑΠΝΟΥ ΚΑΒΑΛΑΣ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ

Ο «ΕΚΑΛΟΓΟΣ» ΤΟΥ ΚΑΛΟΥ ΥΠΟΨΗΦΙΟΥ

Ε Κ Θ Ε Σ Η. του Διοικητικού Συμβουλίου της Ανωνύμου Εταιρίας με την επωνυμία. «Unibios Ανώνυμος Εταιρία Συμμετοχών»

ΣΥΜΒΟΛΗ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΚΑΤΑΡΤΙΣΗ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ ΤΟΥ ΠΡΟΣΩΠΙΚΟΥ ΜΙΑΣ ΣΥΓΧΡΟΝΗΣ ΕΠΙΧΕΙΡΗΣΗΣ

ΠΕΤΡΟΓΕΝΕΤΙΚΑ ΟΡΥΚΤΑ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΕΞΕΤΑΣΕΙΣ

Ο αναλφαβητισμός ως σύγχρονο πρόβλημα

ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιμαριθμική 2012Γ

ΚΕΦΑΛΑΙΟ 3 ο ΤΟ ΜΕΛΛΟΝ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ. 3.1 Εισαγωγή

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης

Συνοπτική Παρουσίαση. Ελλάδα

Σηµειώσεις στο ταξινοµούµε

ΘΡΗΣΚΕΥΤΙΚΑ ΓΥΜΝΑΣΙΟΥ

ΚΑΤΑΣΤΑΤΙΚΟ ΚΕΝΤΡΟΥ ΝΕΟΤΗΤΑΣ. ΙΔΡΥΣΗ Ιδρύεται Κέντρο Νεότητας µε την επωνυµία «Κέντρο Νεότητας... µε έδρα...

Η διδακτική ενότητα του σχολικού εγχειριδίου «Η ελληνική κοινωνία στα χρόνια της δουλείας- Η οικονομία» Στόχοι διδασκαλίας της συγκεκριμένης ενότητας

: Aύξηση φόρου εισοδήµατος, και µείωση µισθών

ΤΟ ΝΕΟ ΑΣΦΑΛΙΣΤΙΚΟ ΤΟΠΙΟ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΔΗΜΟΣ ΠΟΛΥΓΥΡΟΥ ΑΡΙΘΜ. ΑΠΟΦ:

ΕΚΦΡΑΣΗ-ΕΚΘΕΣΗ Β ΛΥΚΕΙΟΥ 1 ο Λύκειο Καισαριανής ΕΠΑΓΓΕΛΜΑ: Κείμενα Προβληματισμού

Κεφάλαιο Πέμπτο Εθνοπολιτισμική Ζωή και Εμπειρίες Ελληνικότητας των Ελληνοαυστραλών Εφήβων

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

ΑΓΡΟΤΙΚΗ ΖΩΗ ΚΑΙ ΚΥΠΡΙΑΚΗ ΠΑΡΑΔΟΣΗ

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

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ

ΑΚΑΔΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Υπηρεσία StudentsWeb ΟΔΗΓΟΣ ΣΠΟΥΔΑΣΤΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ TEXNOΛΟΓΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΓΙΑ ΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΕΓΓΡΑΦΕΣ ΚΑΙ ΔΗΛΩΣΕΙΣ ΜΑΘΗΜΑΤΩΝ

ΥΠ.Ε.Π.Θ. / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ»

289 ον Σύστημα Αεροπροσκόπων Αγίας Φύλας ΟΜΑΔΑ ΠΡΟΣΚΟΠΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΑΛΚΙΝΟΥ ΤΡΙΦΥΛΛΟΥ

ΧΡΙΣΤΟΣ ΑΠ. ΛΑΔΙΑΣ

Κωδ : Οι κωδικοί αυτοί συμπληρώνονται από την φορολογική διοίκηση. Κωδ. 003: Γράψτε τη Δ.Ο.Υ. της έδρας ή του κεντρικού της επιχείρησής σας.

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

Transcript:

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής. Να χρησιμοποιήσουν τα βασικά ελεγκτήρια (controls) της εργαλειοθήκης, Κουτί Κειμένου (Box), Ετικέτα (Label), Κουμπί Εντολών (Button). Να κατανοήσουν τους βασικούς τύπους δεδομένων και την ανάγκη μετατροπή του κειμένου σε αριθμητικό τύπο. Να χρησιμοποιήσουν τους βασικούς τελεστές, την δομή if, switch, for. Να δημιουργήσουν τις πρώτες συναρτήσεις. Εκφώνηση Να δημιουργήσετε ένα πρόγραμμα το οποίο θα δέχεται δύο ακεραίους αριθμούς έστω α και β και θα υπολογίζει το α υψωμένο στην δύναμη του β (α β ). Για παράδειγμα αν οι αριθμοί είναι το 2 και 4 το αποτέλεσμα είναι 16 (2 4 ) και υπολογίζεται 2*2*2*2. Δεν θα υπολογίζεται αρνητικές δυνάμεις. Επίλυση Δημιουργείστε ένα νέο έργο (File New Project) τύπου Windows Application με όνομα Power. Σχεδιάστε την διεπαφή της εφαρμογής όπως παρακάτω : 1

Επιλέξτε ένα προς ένα τα αντικείμενα της φόρμας και στο παράθυρο Properties αλλάξτε τις παρακάτω ιδιότητες : Η φόρμα Form1 Name frmpower Το όνομα του Ύψωση σε δύναμη Η γραμμή τίτλου MaximizeButton False Για να μην FormBorderStyle FixedSingle αλλάζει το μέγεθος της φόρμας. Το πρώτο κουτί κειμένου textbox1 Name txtbasi Το όνομα του Το δεύτερο κουτί κειμένου textbox2 Name txtekthetis Το όνομα του Το τρίτο κουτί κειμένου textbox3 Name txtapotelesma Το όνομα του ReadOnly True Για να μην μπορεί να γράψει ο χρήστης Το κουμπί εντολών button1 Name btncalculate Το όνομα του Υπολόγισε 2

Η πρώτη ετικέτα label1 Name lblbasi Το όνομα του Βάση Η δεύτερη ετικέτα label2 Name lblekthetis Το όνομα του Εκθέτης Η τρίτη ετικέτα label2 Name lblapotelesma Το όνομα του Αποτέλεσμα Επιλέξτε το κουμπί εντολών btncalculate και στο παράθυρο Properties κάντε κλικ στο εικονίδιο με το κεραυνό για να εμφανιστούν τα γεγονότα. Βρείτε το γεγονός Click κάντε διπλό κλικ πάνω για να εμφανιστεί το παράθυρο με το προγραμματισμό των γεγονότων. Μέσα στη μέθοδο btncalculate_click πληκτρολογείστε τις παρακάτω εντολές : Πίνακας 1. Ο κώδικας της εφαρμογής 1 private void btncalculate_click(object sender, EventArgs e) 2 { 3 int basi, ekthetis; 4 double apotelesma; 5 int i; 6 basi = int.parse(txtbasi.); 7 ekthetis = int.parse(txtekthetis.); 8 apotelesma = 1; 9 10 for (i = 1; i <= ekthetis; i++) 11 { 12 apotelesma = apotelesma * basi; 13 } 14 15 txtapotelesma. = apotelesma.tostring(); 16 } 3

Το παραπάνω παράδειγμα είχε σαν σκοπό να δείξει την χρήση του for με ένα απλό παράδειγμα. Παρ όλο ότι το ανωτέρω πρόγραμμα είναι σωστό δεν χρειάζεται να το χρησιμοποιείτε για τον υπολογισμό της ύψωσης σε δύναμη. Η κλάση Math της C# διαθέτει ισχυρή υποστήριξη για το υπολογισμό των γνωστών μαθητικών συναρτήσεων και πράξεων. Για να χρησιμοποιήσετε μια συνάρτηση γράφετε Math. και εν συνεχεία την επιλέγετε όπως παρακάτω : Έτσι ο κώδικας της εφαρμογής γίνεται : Πίνακας 2. Ο κώδικας της εφαρμογής 1 private void btncalculate_click(object sender, EventArgs e) 2 { 3 int basi, ekthetis; 4 double apotelesma; 5 6 basi = int.parse(txtbasi.); 7 ekthetis = int.parse(txtekthetis.); 8 apotelesma = Math.Pow(basi, ekthetis); 9 txtapotelesma. = apotelesma.tostring(); 10 } Για να δείτε την περιγραφή των μαθηματικών συναρτήσεων βάλτε το κέρσορα πάνω στην λέξη Math και πατήστε το πλήκτρο F1. Η βοήθεια στην C# είναι εκτενής και σε κάθε συνάρτηση υπάρχει ένα ολοκληρωμένο παράδειγμα. Ο Πίνακας 3 εμφανίζει τα ονόματα των συναρτήσεων και μια σύντομη περιγραφή. Ε Πίνακας 3. Η κλάση Math Η βάση των φυσικών λογαρίθμων 4

PI Ο αριθμός π Abs Επιστρέφει την απόλυτη τιμή του αριθμού Acos Επιστρέφει τo τόξο συνημίτονου ενός αριθμού. Asin Επιστρέφει τo τόξο ημίτονου ενός αριθμού. Atan Επιστρέφει τo τόξο εφαπτομένης ενός αριθμού. Atan2 Επιστρέφει τo τόξο εφαπτομένης του λόγου δύο αριθμών BigMul Υπολογίζει το γινόμενο δύο ακεραίων αριθμών. Ceiling Επιστρέφει το μικρότερο ακέραιο αριθμό που είναι μεγαλύτερος ή ίσος στο συγκεκριμένο αριθμό. Cos Επιστρέφει τo συνημίτονο ενός αριθμού. Cosh Επιστρέφει τo υπερβολικό συνημίτονο ενός αριθμού. DivRem Υπολογίζει το πηλίκο δύο αριθμών και επιστρέφει και το υπόλοιπο. Exp Επιστρέφει το e υψωμένο στο συγκεκριμένο αριθμό Floor Επιστρέφει το μεγαλύτερο ακέραιο αριθμό που είναι μικρότερος ή ίσος στο συγκεκριμένο αριθμό. IEEERemainder Υπολογίζει το υπόλοιπο από την διαίρεση δύο αριθμών. Log Επιστρέφει το λογάριθμο ενός αριθμού. Log10 Επιστρέφει το λογάριθμο με βάση το 10 ενός αριθμού. Max Επιστρέφει το μεγαλύτερο μεταξύ δύο αριθμών. Min Επιστρέφει το μικρότερο μεταξύ δύο αριθμών. Pow Υπολογίζει την ύψωση ενός αριθμού σε ένα εκθέτη. Round Στρογγυλοποιεί την τιμή ενός αριθμού Sign Επιστρέφει -1, 0, 1 για να δείξει το πρόσημο ενός αριθμού Sin Επιστρέφει τo ημίτονο ενός αριθμού. Sinh Επιστρέφει τo υπερβολικό ημίτονο ενός αριθμού. Sqrt Επιστρέφει την τετραγωνική ρίζα ενός αριθμού. Tan Επιστρέφει την εφαπτομένη ενός αριθμού. Tanh Επιστρέφει την υπερβολική εφαπτομένη ενός αριθμού. Truncate Επιστρέφει το ακέραιο μέρος ενός αριθμού 5

Όλες οι συναρτήσεις επιτελούν ένα συγκεκριμένο υπολογισμό και έχουν υλοποιηθεί από την εταιρία που κατασκεύασε την C#. Για να τις χρησιμοποιήσετε θα πρέπει να ακολουθήσετε τις οδηγίες του κατασκευαστή για τον τρόπο που θα τις καλέσετε χωρίς να σας ενδιαφέρουν οι λεπτομέρειες κατασκευής τους. Για παράδειγμα, η Pow που χρησιμοποιήσατε στο παραπάνω πρόγραμμα, συντάσσετε όπως παρακάτω : Η Pow θα πρέπει να πάρει δύο double αριθμούς (x και y) και θα επιστρέψει ένα αποτέλεσμα τύπου double η πρώτη λέξη πριν το όνομα της συνάρτησης. Θα μπορούσατε σε πολύ αφηρημένο επίπεδο να θεωρήσετε ότι η Pow είναι ένας μηχανισμός, όπως παρακάτω : Pow w x y Αποτέλεσμα Τα σημαντικά στοιχεία είναι : 1. Το όνομα του μηχανισμού γιατί μέσω αυτού θα χρησιμοποιήσω την λειτουργικότητα του. Είναι χρήσιμο τα ονόματα να δείχνουν την λειτουργικότητα του μηχανισμού, δηλαδή αν ο μηχανισμός υπολόγιζε το εμβαδόν ενός τριγώνου να είχε σαν όνομα, TriangleArea ή EmbadonTrigonou. 2. Το πλήθος των παραμέτρων που χρειάζονται για να λειτουργήσει ο μηχανισμός. Οι παράμετροι είναι οι είσοδοι στο μηχανισμό και αναφέρονται και σαν ορίσματα. Στην προκειμένη περίπτωση είναι δύο γιατί αυτό απαιτεί το πρόβλημα, μια βάση και έναν εκθέτη. Αν ένας άλλος μηχανισμός υπολόγιζε τον μικρότερο από 4 6

αριθμούς θα έπρεπε να είχε 4 εισόδους μια για κάθε έναν από τους τέσσερις αριθμούς. 3. Το είδος των παραμέτρων δηλαδή τι είναι η κάθε μια είσοδος, ακέραιος αριθμός, πραγματικός αριθμός, κείμενο κ.λπ. Αυτό καθορίζεται από το είδος του προβλήματος. 4. Το είδος του αποτελέσματος δηλαδή τι είναι το τελικό αποτέλεσμα του μηχανισμού, ακέραιος αριθμός, πραγματικός αριθμός, κείμενο κ.λπ. Επίσης όπως προηγουμένως έτσι και αυτό καθορίζεται από το είδος του προβλήματος. Αν για παράδειγμα ένας μηχανισμός υπολογίζει το άθροισμα πραγματικών αριθμών τότε και το τελικό αποτέλεσμα θα είναι πραγματικός αριθμός. Όλοι οι προγραμματιστές δημιουργούν τις δικές τους συναρτήσεις για τους εξής λόγους : Καλύτερη διαχείριση - Μια λειτουργία που αποτελεί την επίλυση ενός μέρους του προβλήματος, χρειάζεται σε πάρα πολλά διαφορετικά σημεία του προγράμματος. Για παράδειγμα, σε προηγούμενο πρόγραμμα με το πάτημα ενός κουμπιού υπολογίσατε το μικρότερο από τρεις αριθμούς. Εάν ο συγκεκριμένος υπολογισμός ήταν απαραίτητος και σε άλλο σημείο του προγράμματος θα έπρεπε να επαναλάβετε τις εντολές. Αυτή η τακτική είναι λάθος γιατί δημιουργεί μεγάλο κώδικα και προβλήματα στην διαχείριση του. Ασφαλέστερος Κώδικας : Η διόρθωση ενός σφάλματος θα γίνει σε ένα σημείο και όχι σε πολλά διαφορετικά σημεία. Η τοποθέτηση των εντολών σε ένα μηχανισμό παρέχει καλύτερο έλεγχο του προβλήματος αφού κοινές λειτουργίες ομαδοποιούνται κάτω από το όνομα ενός μηχανισμού και δίνουν την δυνατότητα στο προγραμματιστή να εστιάζει στο πρόβλημα και όχι σε κάθε εντολή ξεχωριστά. Επαναχρησιμοποίηση - Χρήσιμες συναρτήσεις μπορούν να τοποθετηθούν σε μια βιβλιοθήκη και να χρησιμοποιηθούν από πολλά προγράμματα. Όλες οι παραπάνω αρχές θα υλοποιηθούν στο επόμενο πρόγραμμα. 7

Εκφώνηση Να δημιουργήσετε ένα πρόγραμμα το οποίο θα δέχεται δύο πραγματικούς αριθμούς έστω α και β και θα υπολογίζει ανάλογα με το κουμπί που θα πατήσετε τις παρακάτω σχέσεις : 1. (a 4 +b 4 )/b 2. a*(a 4 +b 4 ) 3. (a 4 +b 4 )/a Δεν θα κάνετε έλεγχο αν ο παρανομαστής είναι μηδέν. Επίλυση Δημιουργείστε ένα νέο έργο (File New Project) τύπου Windows Application με όνομα Function. Σχεδιάστε την διεπαφή της εφαρμογής όπως παρακάτω : Επιλέξτε ένα προς ένα τα αντικείμενα της φόρμας και στο παράθυρο Properties αλλάξτε τις παρακάτω ιδιότητες : Η φόρμα Form1 Name frmfunction Το όνομα του Παράδειγμα Συναρτήσεων Η γραμμή τίτλου MaximizeButton False Για να μην FormBorderStyle FixedSingle αλλάζει το μέγεθος της φόρμας. Το πρώτο κουτί κειμένου 8

textbox1 Name txtα Το όνομα του Το δεύτερο κουτί κειμένου textbox2 Name txtβ Το όνομα του Το τρίτο κουτί κειμένου textbox3 Name txtapotelesma Το όνομα του ReadOnly True Για να μην μπορεί να γράψει ο χρήστης Το πρώτο κουμπί εντολών button1 Name btnfirst Το όνομα του (a^4+b^4)/b Το δεύτερο κουμπί εντολών Button2 Name btnsecond Το όνομα του a*(a^4+b^4) Το τρίτο κουμπί εντολών Button3 Name btnthird Το όνομα του (a^4+b^4)/a Η πρώτη ετικέτα 9

label1 Name lbla Το όνομα του a Η δεύτερη ετικέτα label2 Name lblb Το όνομα του b Η τρίτη ετικέτα label2 Name lblapotelesma Το όνομα του Αποτέλεσμα Από την εκφώνηση του προβλήματος φαίνεται ότι η σχέση (a 4 +b 4 ) χρησιμοποιείτε σε περισσότερους από έναν υπολογισμούς και για αυτό το λόγο είναι χρήσιμο να δημιουργήσετε την συνάρτηση SumPowerFour για τον υπολογισμό της. Επιλέξτε το κουμπί εντολών btnfirst και στο παράθυρο Properties κάντε κλικ στο εικονίδιο με το κεραυνό για να εμφανιστούν τα γεγονότα. Βρείτε το γεγονός Click κάντε διπλό κλικ πάνω για να εμφανιστεί το παράθυρο με το προγραμματισμό των γεγονότων. Τοποθετήστε το κέρσορα έξω από το σώμα της μεθόδου btnfirst_click σε ένα οποιοδήποτε σημείο από τα τρία πιθανά που εμφανίζονται στην παρακάτω οθόνη : Πιθανά σημεία τοποθέτησης μιας νέας συνάρτησης δηλαδή μέσα στο σώμα της φόρμας frmfunction αλλά έξω από το σώμα μιας 10

οποιοσδήποτε μεθόδου. Για παράδειγμα, πάνω από τη btnfirst_click πληκτρολογείστε τις παρακάτω εντολές : Πίνακας 4. Ο κώδικας της εφαρμογής 1 double SumPowerFour(double a, double b) 2 { 3 double apot; 4 5 apot = Math.Pow(a, 4) + Math.Pow(b, 4); 6 7 return apot; 8 } Για την δημιουργία της συνάρτησης θα πρέπει να σκεφτείτε ως εξής : 1. Το όνομα του μηχανισμού η μαθηματική σχέση υπολογίζει το άθροισμα δύο αριθμών υψωμένων εις την τετάρτη. Το SumPowerFour ταιριάζει στην περιγραφή του προβλήματος. Οπότε γράφετε την λέξη SumPowerFour. Πρώτη φάση σύνταξης της SumPowerFour SumPowerFour 2. Το πλήθος των παραμέτρων Η συγκεκριμένη λειτουργία χρειάζεται δύο πληροφορίες, τους αριθμούς a και β, για να υπολογίσει το αποτέλεσμα της σχέσης. Οπότε δίπλα στην λέξη SumPowerFour που γράψατε προηγουμένως - γράφετε μέσα σε παρενθέσεις (a, b). Όλες οι παράμετροι χωρίζονται μεταξύ τους με κόμμα. Υπάρχουν συναρτήσεις που δεν χρειάζονται παραμέτρους και σε αυτή την περίπτωση δεν θα γράφετε τίποτα μέσα στις παρενθέσεις. Το ονόματα των παραμέτρων δεν έχουν καμία σημασία εκτός από το να συσχετίζονται λογικά με το προς επίλυση πρόβλημα. Δεύτερη φάση σύνταξης της SumPowerFour SumPowerFour(a, b) 3. Το είδος των παραμέτρων Και οι δύο παράμετροι είναι πραγματικοί αριθμοί οπότε γράφετε την λέξη double πριν από την κάθε παράμετρο. 11

Τρίτη φάση σύνταξης της SumPowerFour SumPowerFour(double a, double b) 4. Το είδος του αποτελέσματος Το αποτέλεσμα του υπολογισμού είναι ένα πραγματικός αριθμός οπότε γράφετε την λέξη double πριν από το όνομα της συνάρτησης. Τέταρτη φάση σύνταξης της SumPowerFour double SumPowerFour(double a, double b) H εργασία ολοκληρώνεται με την τοποθέτηση του ζεύγους των αγκίστρων, τα οποία περικλείουν τις εντολές που θα εκτελέσει η SumPowerFour. Πέμπτη φάση σύνταξης της SumPowerFour double SumPowerFour(double a, double b) { } Από την στιγμή που ολοκληρώσατε την πέμπτη φάση επικεντρώνεστε στην επίλυση του εξής προβλήματος : Αν είχατε δύο αριθμούς a και b τι θα κάνατε για να υπολογίσετε το (a 4 +b 4 ); Ο Πίνακας 4 περιέχει την απάντηση. Ορίζετε μια μεταβλητή την apot για να αποθηκεύσετε το αποτέλεσμα του υπολογισμού. Στην γραμμή 5 επιλύετε το πρόβλημα. Στην επόμενη γραμμή με την βοήθεια της return επιστρέφετε την τιμή που υπολογίσατε και είναι αποθηκευμένη στην apot. Πριν προχωρήσετε στην επίλυση του συνολικού προβλήματος σκεφτείτε τα βήματα που θα πρέπει να ακολουθήσετε και αυτά είναι : - Στο σώμα των μεθόδων btnfirst, btnsecond και btnthird θα μετατρέψετε τις τιμές των txta και txtb σε πραγματικούς αριθμούς, - Στο σώμα του κάθε κουμπιού θα υπολογίσετε με την βοήθεια της SumPowerFour το αποτέλεσμα για την αντίστοιχη μαθηματική σχέση. 12

- Τέλος το αποτέλεσμα θα το αποδώσετε στο txtapotelesma. Παρατηρώντας τα ανωτέρω βήματα αντιλαμβάνεστε ότι το πρώτο και το τρίτο είναι κοινά οπότε δημιουργείτε την συνάρτηση CalculateFunctions για να τοποθετήσετε τις εντολές επίλυσης του προβλήματος. Σαν παράμετρο θα χρησιμοποιήσετε μια ακέραια τιμή με εύρος από 1 έως 3 και αναλόγως της τιμής θα υπολογίζεται η αντίστοιχη μαθηματική σχέση. Πίνακας 5. Ο κώδικας της CalculateFunctions 1 void CalculateFunctions(int choosefunction) 2 { 3 double apot; 4 double noa, nob; 5 6 noa = double.parse(txta.); 7 nob = double.parse(txtb.); 8 9 switch (choosefunction) 10 { 11 case 1 : 12 apot = SumPowerFour(noA, nob) / nob; 13 break; 14 case 2: 15 apot = noa * SumPowerFour(noA, nob); 16 break; 17 case 3: 18 apot = SumPowerFour(noA, nob) / noa; 19 break; 20 default : 21 apot = 0; 22 break; 23 } 24 25 txtapotelesma. = apot.tostring(); 26 } Παρατηρώντας την CalculateFunctions βλέπετε ότι απουσιάζει η return και επίσης πριν το όνομα, υπάρχει η λέξη void. Όλες οι συναρτήσεις που δεν επιστρέφουν τιμή δηλώνονται σαν void. Μέσα στο σώμα της CalculateFunctions δηλώνεται τρεις μεταβλητές. Η apot χρησιμοποιείται για την αποθήκευση του αποτελέσματος μετά τον υπολογισμό της αντίστοιχης μαθηματικής σχέσης. Αντιπαραβάλλοντας την CalculateFunctions και την SumPowerFour βλέπουμε ότι και οι δύο ορίζουν μια 13

μεταβλητή με το ίδιο όνομα. Παρά όλο αυτήν την ομοιότητα είναι διαφορετικές μεταξύ τους γιατί η κάθε μια αποκτά υπόσταση όταν εκτελείται η αντίστοιχη συνάρτηση. Όλες οι μεταβλητές που ορίζονται μέσα στο σώμα μιας συνάρτησης ονομάζονται τοπικές και έχουν διάρκεια ζωής όση ώρα εκτελείται η αντίστοιχη συνάρτηση. Οι noa και nob χρησιμοποιούνται για την αποθήκευση της αριθμητικής τιμής των κουτιών κειμένου txta και txtb, αντίστοιχα. Αυτές οι τιμές θα περάσουν σαν ορίσματα μέσα στην SumPowerFour για τον υπολογισμό της μαθηματικής σχέσης (noa 4 + nob 4 ), στις γραμμές 12 ή 15 ή 18 του Πίνακα 5. H τιμή του noα θα αποδοθεί στην παράμετρο a και η τιμή του nob στο b. Αν για παράδειγμα στην γραμμή 12 τα noa και nob έχουν τιμές 2 και 3 αντίστοιχα, τότε στο σώμα της SumPowerFour (Πίνακας 4, γραμμή 5) η apot = 2 4 + 3 4 δηλαδή 97. 2 3 97 Αυτή η τιμή επιστρέφεται στην CalculateFunctions και χρησιμοποιείται για τον υπολογισμό του συνολικού αποτελέσματος ανάλογα με την σχέση. Αντίστοιχα ο κώδικας για τα κουμπιά εντολών θα είναι Πίνακας 6. Ο κώδικας για τα κουμπιά επιλογών 1 private void btnfirst_click(object sender, EventArgs e) 2 { 3 CalculateFunctions(1); 4 } 5 6 private void btnsecond_click(object sender, EventArgs e) 7 { 14

8 CalculateFunctions(2); 9 } 10 11 private void btnthird_click(object sender, EventArgs e) 12 { 13 CalculateFunctions(3); 14 } Στο σώμα του κάθε κουμπιού καλείται την CalculateFunctions με τιμή παραμέτρου 1 ή 2 ή 3. 15