Στο πρόγραμμα θα πρέπει να γίνει υποχρεωτικά χρήση κλάσεων. Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις.

Σχετικά έγγραφα
Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις.

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

1 η ΑΣΚΗΣΗ ΕΡΓΑΣΤΗΡΙΟΥ (ομαδική: 2 ή 3 ατόμων) (Ημερομηνία Παράδοσης: 18/11/2017) (Ζητούμενο)

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

(Εικόνα 1) Αφού εγκατασταθεί το λογισμικό κάνουμε κλικ πάνω στο εικονίδιο IP Reporting, το οποίο βρίσκεται στην επιφάνεια εργασίας.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΑΣΚΗΣΗ #5 Προτεινόμενη Λύση

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Τμήμα Πληροφορικής & Επικοινωνιών

Αντικειμενοστραφής Προγραμματισμός

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python. Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python.

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ- Ακαδημαϊκό Φροντιστήριο ΕΠΑΛ-Κάνιγγος 13 Αθήνα 2017

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή


Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Εργαστήριο Βάσεων Δεδομένων. Triggers

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ

Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5)

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Shell Scripts: loops / if / test

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστρεφής Προγραμματισμός

Σημειωματάριο Δευτέρας 23 Οκτ. 2017

Quick manual Pharmacy Pro Ταμείο:

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

Οδηγός για το Europe Agent Print

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αλφαριθμητικά Χειμερινό Εξάμηνο 2016

Από τη UML στον Κώδικα. Μέρος Β

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Γλωσσική Τεχνολογία. Object-Orientation in Python

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Μεθόδων Επίλυσης Προβλημάτων

Οδηγός για το Europe Agent Print

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

Θέματα Προγραμματισμού Η/Υ

Δομές δεδομένων (Structures) Εισαγωγή στη C++

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Θέματα Προγραμματισμού Η/Υ

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΛΕΙΔΩΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΕΡΙΟΔΟΥ Από τις Ρυθμίσεις επιλέγουμε Διαμόρφωση

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

4 Συλλογές Αντικειμένων

1. Εισαγωγικά στοιχεία Νέες Δυνατότητες.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Aσκήσεις Πράξης 6 - EΠΑΝΑΛΗΠΤΙΚΟ A ΜΕΘΟ ΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΡΓΑΣΤΗΡΙΟ. 5. Τι τυπώνει το επόµενο πρόγραµµα:

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Οδηγός για το Europe Agent Print

Προγραµµατιστική Εργασία 1 ο Μέρος

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

Νέες Λειτουργίες Αγορών / Πωλήσεων Γενικά

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Εγχειρίδιο Χρήσης Λογισμικού της Ψηφιακής Υπηρεσίας "Διάθεση Φυτοπροστατευτικών προϊόντων" Υπουργείο Αγροτικής Ανάπτυξης & Τροφίμων

Παίρνοντας Αποφάσεις 1

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό

Πληροφορική ΙΙ Θεματική Ενότητα 4

Αντικειμενοστρεφής Προγραμματισμός

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Μεθοδολογία Προγραμματισμού

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΕΡΓΑΣΙΑ 2. Κατασκευάζοντας Ημερολόγια. Ημερομηνία Ανάρτησης: 23/02/2018 Ημερομηνία Παράδοσης: 13/03/2018, 09:00

Transcript:

3 η Σειρά Ασκήσεων Ημερομηνία παράδοσης 17/1/2018 Άσκηση 1 Να γραφεί πρόγραμμα το οποίο θα διαχειρίζεται είδη αποθήκης (κλάση Inventory) και τιμολόγια (κλάση Invoice). Από το πρόγραμμα θα έχουμε δυνατότητα με το κατάλληλο μενού να δημιουργούμε νέα προϊόντα, να τροποποιούμε την τιμή και την περιγραφή τους, αλλά και να εκτυπώνουμε τα στοιχεία του κάθε προϊόντος. Θα έχουμε επίσης την δυνατότητα να δημιουργήσουμε ένα τιμολόγιο με λίστα από ένα ή περισσότερα προϊόντα και ποσότητες ανά προϊόν (κλάση Line) και να το τυπώσουμε. Στο πρόγραμμα θα πρέπει να γίνει υποχρεωτικά χρήση κλάσεων. Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις. Κλάση Inventory Η Κλάση Inventory θα χρησιμοποιηθεί για να κρατάμε τα στοιχεία του κάθε προϊόντος και θα έχει τα εξής χαρακτηριστικά και μεθόδους. Χαρακτηριστικά της κλάσης Inventory Όνομα Τύπος code String Κωδικός Προϊόντος descripton String Προϊόντος price Float Τιμή Προϊόντος Μέθοδοι της κλάσης Inventory Constructor print_inventory_item Αυτή η μέθοδος θα τυπώνει όλα τα χαρακτηριστικά ενός προϊόντος (Inventory) code, descripton, price. Κλάση Line Η Κλάση Line θα χρησιμοποιηθεί για να κρατάμε τον αύξοντα αριθμό γραμμής, τον κωδικό είδους, την περιγραφή τον αριθμό, την τιμή και την συνολική τιμή του κάθε προϊόντος που εισέρχεται στο τιμολόγιο. Η συνολική τιμή πρέπει να υπολογίζεται από τον τιμή επί την ποσότητα. Ένα τιμολόγιο μπορεί να περιέχει ένα ή περισσότερα προϊόντα σε όποια ποσότητα θέλουμε. Χαρακτηριστικά της κλάσης Line Όνομα Τύπος aa Int Αύξων αριθμός γραμμής. Να υπολογίζεται αυτόματα code String Κωδικός Προϊόντος descripton String Προϊόντος

price Float Τιμή μονάδας quantty Int Ποσότητα total Float Price*quantty. Να υπολογίζεται από το πρόγραμμα Μέθοδοι της κλάσης Line print_line_info Constructor Αυτή η μέθοδος θα τυπώνει όλα τα χαρακτηριστικά μίας γραμμής όπως θα εμφανίζεται στο τιμολόγιο. A/A, code, descripton, price, quantty, total price. Κλάση Invoice Η Κλάση Invoice θα χρησιμοποιηθεί για να κρατάμε τα βασικά στοιχεία ενός τιμολογίου και τις γραμμές προϊόντων (Line). Το κάθε τιμολόγιο θα έχει τα εξής χαρακτηριστικά και μεθόδους: Χαρακτηριστικά τις κλάσης Invoice Όνομα Τύπος lines Λίστα από Lines Η λίστα με όλες τις γραμμές προϊόντων του τιμολογίου (Class Variable). customer String Σε αυτή την μεταβλητή αποθηκεύουμε το όνομα του πελάτη στον οποίο θα κοπεί αυτό το τιμολόγιο. total Float Το συνολικό ποσό του τιμολογίου (Class Variable). Μέθοδοι της κλάσης Invoice Constructor. Δέχεται το όνομα πελάτη (customer). create_line Δέχεται αντικείμενο Line και το αποθηκεύει στη λίστα lines. Επίσης προσθέτει το total της κάθε γραμμής στην Class Variable total. print_invoice_info() Εκτυπώνει την επικεφαλίδα με το όνομα πελάτη και το συνολικό ποσό του τιμολογίου. Ακολουθούν οι γραμμές (αντικείμενα Line) από τη λίστα lines.

Μενού του προγράμματος Επιλογή 1 Θα δημιουργεί ένα νέο κωδικό στην αποθήκη. 2 Θα δείχνει όλα τα περιεχόμενα της αποθήκης. 3 Θα δημιουργεί ένα Invoice. Θα δέχεται το όνομα πελάτη, θα κατασκευάζει ένα αντικείμενο Invoice και μετά θα δέχεται κωδικούς προϊόντων. Αφού εντοπιστούν στη λίστα, θα εμφανίζει περιγραφή και τιμή και θα ζητάει ποσότητα για εισαγωγή στη λίστα lines του αντικειμένου Invoice. Αν ο κωδικός δεν αντιστοιχεί σε υπαρκτό κωδικό να εμφανίζεται το μήνυμα: *** Inventory Item not found! *** 4 Θα εκτυπώνει όλα τα στοιχεία του Invoice. 5 Έξοδος από το πρόγραμμα. Παράδειγμα εκτέλεσης της Άσκησης 1 Code: 100 Description: NVIDIA 210 Price: 35 Code: 150 Description: NVIDIA GT730 Price: 70 Code: 1 Description: RADEON 6450 Price: 60

Selection: 2 *** Print Inventory *** *** Code: 100 Descr: NVIDIA 210 Price: 35.0 *** Code: 150 Descr: NVIDIA GT730 Price: 70.0 *** Code: 1 Descr: RADEON 6450 Price: 60.0 Selection: 3 *** Enter Invoice Data *** Customer Name: Antoniou Inventory Code (or end): 1 Descr: RADEON 6450 Price: 60.0 Quantity: 2 1 1 RADEON 6450 60.00 2 120.00 Inventory Code (or end): 100 Descr: NVIDIA 210 Price: 35.0 Quantity: 3 2 100 NVIDIA 210 35.00 3 105.00 Inventory Code (or end): end Selection: 4 *** Printing Invoice *** *** INVOICE *** Customer: Antoniou -- Total Amount: 225.0 A/A Code Description ItemPrice Quantity Total 1 1 RADEON 6450 60.00 2 120.00 2 100 NVIDIA 210 35.00 3 105.00 ************************************************** Selection:5! Όλες οι ασκήσεις θα πρέπει να ανέβουν στο e- class σε συμπιεσμένη μορφή (ZIP) και το όνομα του αρχείου θα πρέπει να έχει την εξής μορφή: python_seira3_tp<αριθμό μητρώου>.zip

Π.χ για A.M 2087 -> python_seira3_tp2087.zip