Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Σχετικά έγγραφα
Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

Διαδικαστικός Προγραμματισμός

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΠΛΗΡΟΦΟΡΙΚΗ. Ενότητα: Εργαστηριακές Ασκήσεις. Καθηγήτρια: Ι.

Χημεία. Ενότητα 13 η : Χημική Κινητική Αναπλ. Καθηγητής: Γεώργιος Μαρνέλλος Διδάσκοντες: Ε. Τόλης. Τμήμα Μηχανολόγων Μηχανικών

Λογιστικές Εφαρμογές Εργαστήριο

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 6 η : Ταξινόμηση & Ομαδοποίηση Δεδομένων

Οικονομικά Μαθηματικά

Μοντελοποίηση Λογικών Κυκλωμάτων

Χημεία. Ενότητα 14 η : Χημική Ισορροπία Αναπλ. Καθηγητής: Γεώργιος Μαρνέλλος Διδάσκοντες: Ε. Τόλης. Τμήμα Μηχανολόγων Μηχανικών

Λειτουργικά Συστήματα

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στον δομημένο προγραμματισμό

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Οικονομικά Μαθηματικά

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Ειδικά Θέματα Προγραμματισμού

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Επιχειρησιακή Έρευνα

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Οικονομικά Μαθηματικά

Οικονομικά Μαθηματικά

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

Οικονομικά Μαθηματικά

Πληροφορική 1 Ασκήσεις

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 1: Εισαγωγικό Μάθημα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Ιστορία της μετάφρασης

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

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

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

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Ενότητα: Εισαγωγή στην Hλεκτρονική Yγεία

Στατιστική Επιχειρήσεων Ι

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Δομημένος Προγραμματισμός

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ

Αρχές Προγραμματισμού

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

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

Εισαγωγή στο Συγκριτικό Δίκαιο

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Ενότητα: Μηχανοργάνωση Νοσοκομείου

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

ΜΑΘΗΜΑ: Ηλεκτρονικά Ισχύος

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Λογιστικές Εφαρμογές Εργαστήριο

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

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

ΜΑΘΗΜΑ: Αντιρρυπαντική Τεχνολογία Αιωρούμενων Σωματιδίων

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

Εισαγωγή στους Αλγορίθμους

Θερμοδυναμική - Εργαστήριο

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Υπολογιστικά Συστήματα

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διοίκηση ανθρωπίνων Πόρων. Ενότητα 2: Προγραμματισμός Ανθρώπινου Δυναμικού Δρ. Καταραχιά Ανδρονίκη Τμήμα Λογιστικής και Χρηματοοικονομικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αρχιτεκτονική Υπολογιστών

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Transcript:

Δομημένος Προγραμματισμός Ενότητα 2(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα του Πανεπιστημίου Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2

Περιεχόμενα 1. Σκοπός της άσκησης... 4 2. Παραδοτέα... 4 2.1 Άσκηση 1 η... 4 2.2 Άσκηση 2 η... 4 2.3 Άσκηση 3 η... 5 3

1. Σκοπός της άσκησης Σκοπός του κεφαλαίου είναι η εξοικείωση των φοιτητών με την έννοια του δομημένου προγραμματισμού και η καλύτερη κατανόησή του μέσα από μια σειρά εκπαιδευτικών ασκήσεων. 2. Παραδοτέα 2.1 Άσκηση 1 η Σε ένα πανεπιστημιακό τμήμα οι φοιτητές πρέπει να περάσουν 60 μαθήματα για να πάρουν πτυχίο. Γράψτε πρόγραμμα σε C που να κάνει τα εξής. Αρχικά ζητάει από τον χρήστη να εισάγει το έτος σπουδών του. Το έτος πρέπει να εισαχθεί ως ένας από τους εξής χαρακτήρες: A, B, C, D, E. Αν το έτος που εισαχθεί από τον χρήστη είναι A τότε πρέπει να τυπώνεται μήνυμα που ενημερώνει τον χρήστη ότι πρέπει να περάσει συνολικά 60 μαθήματα για να πάρει πτυχίο. Το συνολικό πλήθος των μαθημάτων πρέπει να έχει δηλωθεί ως σταθερά και στο πρόγραμμα να χρησιμοποιείται το όνομα της σταθεράς αντί για τον αριθμό 60. Αν το έτος που εισαχθεί από τον χρήστη είναι διαφορετικό του A το πρόγραμμα πρέπει να ζητάει από τον χρήστη να εισάγει το πλήθος των μαθημάτων που έχει περάσει και να τυπώνει το πλήθος των μαθημάτων που του απομένουν για το πτυχίο. Έπειτα, αν το έτος είναι B και ο χρήστης δεν έχει περάσει κανένα μάθημα πρέπει να τυπώνεται μήνυμα που να ειδοποιεί τον χρήστη να εντείνει τις προσπάθειες του. Το ίδιο αν το έτος είναι C και έχει περάσει λιγότερα από 10 μαθήματα. Αν το έτος είναι D και απομένουν περισσότερα από 20 μαθήματα πρέπει να τυπώνεται μήνυμα που να ενημερώνει τον χρήστη ότι δεν μπορεί να πάρει διπλωματική εργασία. Σε αντίθετη περίπτωση πρέπει να τυπώνεται μήνυμα που ενημερώνει τον χρήστη ότι μπορεί να πάρει διπλωματική εργασία. Αν το έτος είναι Ε και απομένουν περισσότερα από 10 μαθήματα πρέπει να τυπώνεται μήνυμα που να ενημερώνει τον χρήστη ότι δεν μπορεί να πάρει διπλωματική εργασία. Σε αντίθετη περίπτωση πρέπει να τυπώνεται μήνυμα που ενημερώνει τον χρήστη ότι μπορεί να πάρει διπλωματική εργασία. 2.2 Άσκηση 2 η Μια εταιρία αποφάσισε να κάνει μειώσεις μισθών στους 20 υπαλλήλους της. Οι μειώσεις θα γίνουν με βάση τον τρέχοντα μισθό, τα έτη προϋπηρεσίας, και το επίπεδο μόρφωσης. Γράψτε ψευδοκώδικα και πρόγραμμα σε C που να κάνει τα παρακάτω επαναληπτικά για κάθε έναν από τους 20 υπαλλήλους της. 4

Να σημειωθεί ότι το πλήθος των υπαλλήλων πρέπει να έχει δηλωθεί ως σταθερά και στο πρόγραμμα να χρησιμοποιείται το όνομα της σταθεράς αντί για τον αριθμό 20. Αρχικά το πρόγραμμα ζητάει από τον χρήστη να εισάγει τον μισθό του (πραγματικός αριθμός απλής ακρίβειας). Αν ο αριθμός που εισαχθεί είναι αρνητικός ή 0 τότε τυπώνεται κατάλληλο μήνυμα και ζητείται ξανά να εισαχθεί ο μισθός. Αυτό επαναλαμβάνεται μέχρι να εισαχθεί θετικός αριθμός. Έπειτα το πρόγραμμα ζητάει από τον χρήστη να εισάγει τα έτη προϋπηρεσίας (ακέραιος αριθμός). Αν ο αριθμός που εισαχθεί είναι αρνητικός ή μεγαλύτερος του 40 τότε τυπώνεται κατάλληλο μήνυμα και ζητείται ξανά να εισαχθεί ο αριθμός ετών. Αυτό επαναλαμβάνεται μέχρι να εισαχθεί κατάλληλος αριθμός. Έπειτα το πρόγραμμα ζητάει από τον χρήστη να εισάγει το επίπεδο μόρφωσης. Αυτό πρέπει να είναι ένας χαρακτήρας από τους A (πανεπιστημιακή μόρφωση), Β (τεχνολογική μόρφωση), C (βασικής μόρφωση). Το πρόγραμμα ζητάει την εισαγωγή χαρακτήρα μέχρι να εισαχθεί ένας από τους παραπάνω τρεις. Στη συνέχεια το πρόγραμμα υπολογίζει τη μείωση μισθού ως εξής. Αν ο υπάλληλος έχει μισθό μεγαλύτερο από 2000 ευρώ, θα υποστεί μείωση μισθού της τάξης του 20% ανεξάρτητα από τους άλλους παράγοντες. Αν δεν ισχύει αυτό και ο υπάλληλος έχει προϋπηρεσία μεγαλύτερη από 30 έτη θα υποστεί μείωση μισθού της τάξης του 5% ανεξάρτητα από το επίπεδο μόρφωσης. Αν ο υπάλληλος είναι βασικής μόρφωσης, τότε αν έχει μισθό μικρότερο από 1000 ευρώ ή προϋπηρεσία μεγαλύτερη ή ίση των 10 ετών, θα υποστεί μείωση μισθού της τάξης του 10%. Αν έχει μισθό μεγαλύτερο ή ίσο από 1000 ευρώ ή προϋπηρεσία μικρότερη από 10 έτη, θα υποστεί μείωση μισθού της τάξης του 15%. Αν ο υπάλληλος είναι τεχνολογικής μόρφωσης τότε αν έχει μισθό μικρότερο από 1200 ευρώ ή προϋπηρεσία μεγαλύτερη ή ίση των 10 ετών, θα υποστεί μείωση μισθού της τάξης του 10%. Αν έχει μισθό μεγαλύτερο ή ίσο από 1200 ευρώ ή προϋπηρεσία μικρότερη από 10 έτη, θα υποστεί μείωση μισθού της τάξης του 15%. Αν ο υπάλληλος είναι πανεπιστημιακής μόρφωσης τότε αν έχει μισθό μικρότερο από 1500 ευρώ ή προϋπηρεσία μεγαλύτερη ή ίση των 10 ετών, θα υποστεί μείωση μισθού της τάξης του 10%. Αν έχει μισθό μεγαλύτερο ή ίσο από 1500 ευρώ ή προϋπηρεσία μικρότερη από 10 έτη, θα υποστεί μείωση μισθού της τάξης του 15%. Αφού υπολογίσει τη μείωση μισθού, το πρόγραμμα πρέπει να τυπώνει το νέο μισθό του κάθε υπαλλήλου. Στο τέλος πρέπει να τυπώνεται ο μέσος όρος των μισθών των υπαλλήλων της εταιρίας. Το πρόγραμμα σας πρέπει οπωσδήποτε να έχει και σχόλια. 2.3 Άσκηση 3 η Κατασκευάστε ψευδοκώδικα και πρόγραμμα σε C που να τυπώνει επαναληπτικά όλες τις ημέρες ενός ημερολογιακού έτους στην εξής μορφή Thursday 01 November 2012. Το πρόγραμμα θα πρέπει αρχικά να ζητάει από τον χρήστη να εισάγει το ημερολογιακό έτος. Στον μήνα Φεβρουάριο θα πρέπει να ερωτάται ο χρήστης για το αν ο μήνας έχει 28 ή 29 ημέρες (εναλλακτικά μπορείτε να κάνετε αυτόματα τον υπολογισμό με βάση το έτος). Η κάθε ημέρα πρέπει να τυπώνεται σε ξεχωριστή γραμμή. Πριν ξεκινήσει η εκτύπωση των ημερών ενός μήνα πρέπει να 5

τυπώνεται το όνομα του μήνα σε ξεχωριστή γραμμή. Η γραμμή αυτή πρέπει να διαχωρίζεται με μια κενή γραμμή από την προηγούμενη και από την επόμενη γραμμή. Επίσης, πριν ξεκινήσει η εκτύπωση των ημερών μιας εβδομάδας ενός μήνα πρέπει να τυπώνεται ένα μήνυμα (σε ξεχωριστή γραμμή) όπως Week 1 of November. Αφού τυπωθεί το όνομα του μήνα, το πρόγραμμα πρέπει να ρωτάει τον χρήστη αν θέλει να συνεχιστεί η εκτύπωση. Σε περίπτωση που η απάντηση είναι αρνητική το πρόγραμμα πρέπει να τερματίζει. Το πρόγραμμα σας πρέπει οπωσδήποτε να έχει και σχόλια. 6