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

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

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

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

Generics και ArrayLists

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

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

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

ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Ασκήσεις 5ο Μάθημα - Λύσεις

Προγραμματισμός II (Γλώσσα C)

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

Α Ν Α Δ Ρ Ο Μ Η (R e c u r s i o n) Παναγιώτης Σφέτσος, PhD

Δομές ελέγχου & επανάληψης

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 3 Εντολές Επιλογής. Γιώργος Λαμπρινίδης Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

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

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

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

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

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

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

Προγραμματισμός I (Θ)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Π ί ν α κ ε ς - A r r a y s

Η γλώσσα προγραμματισμού C

Εξαιρέσεις (Exceptions) Λάθη (Errors) Χειρισμός των Εξαιρέσεων (Exception Handling) Assertions

Σημειώσεις για πρόοδο στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

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

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Εντολές ελέγχου ροής if, for, while, do-while

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

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

Δομές ελέγχου ροής προγράμματος

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

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

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

Α ν ύ σ μ α τ α - V e c t o r s

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 9 Συναρτήσεις. Γεώργιος Λαμπρινίδης

H ΓΛΩΣΣΑ C. Μάθηµα 4: Τελεστές και η οµή Ελέγχου (if$else) ηµήτρης Ψούνης

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

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

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Wrapper Classes Τοποθέτηση Δεδομένων Κλήση Μεθόδων. Παναγιώτης Σφέτσος, PhD

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

Γλώσσα Προγραμματισμού C

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

A[0] = 0; /* To μηδέν δεν έχει διαιρέτες */ for (i=1; i<n; i++) { S=0; for (d=1; d<=i; d++) if (i % d == 0) S += d; A[i] = S; }

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

Σκοπός. Εργαστήριο 5 Εντολές Επιλογής

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

32-bit signed υποδιαστολής) Double διπλής ακρίβειας 64-bit signed Char unicode character 16-bit Boolean Boolean true or false

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

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

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

Γλώσσα Προγραμματισμού C

Οι εντολές ελέγχου της ροής ενός προγράµµατος

Διάλεξη 5η: Εντολές Επανάληψης

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Transcript:

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 6 ΘΕΜΑΤΑ: Εντολές if, if..else, if else if και switch..case Προσοχή!!! Να εκτελεστούν πρώτα όλες οι ασκήσεις τις Θεωρίας Άσκηση 1η Να γίνει το πρόγραμμα που εισάγει από το πληκτρολόγιο υπό μορφή ακεραίου (1, 3, 4,..,12) τον αριθμό του μήνα, εκτός από τον 2 ο Φεβρουάριο, και το έτος (π.χ. 2007) και υπολογίζει και εμφανίζει αν ο μήνας έχει 30 ή 31 μέρες και αν το έτος είναι δίσεκτο ή όχι. Στα δίσεκτα έτη προστίθεται μια επιπλέον μέρα στο μήνα Φεβρουάριο για τη διόρθωση σφαλμάτων που προκαλούνται από τον μη ακριβή υπολογισμό της διάρκειας της ημέρας στην μέτρηση του ηλιακού έτους. Δηλαδή, στα δίσεκτα έτη ο Φεβρουάριος έχει 29 μέρες, ενώ στις άλλες περιπτώσεις έχει 28 μέρες. Για να υπολογίσουμε αν ένα έτος είναι δίσεκτο ή όχι πρέπει να λάβουμε υπόψη τα παρακάτω: 1) είναι δίσεκτο αν διαιρείται δια του 4 και δεν ισχύει η 2 (επόμενη συνθήκη). 2) δεν είναι δίσεκτο αν διαιρείται δια του 100, εκτός αν ισχύει η 3 παρακάτω (επόμενη συνθήκη). 3) είναι δίσεκτο αν διαιρείται δια του 400. Όταν λέμε διαιρείται δια του 4, 100 ή 400 σημαίνει ότι το υπόλοιπο της διαίρεσης είναι ίσο με μηδέν. Επομένως χρησιμοποιείστε το σύμβολο (%) στη διαίρεση και τις κατάλληλες εντολές if και switch..case για να λύσετε το πρόβλημα. Προσπαθήστε να λύσετε το πρόβλημα μόνοι σας, χωρίς να δείτε την προτεινόμενη λύση. Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 1

Μία πιθανή λύση είναι: class ProblimaDisektouEtous { int armonth, Year, Days=0; System.out.println("Dose ton ar. tou mina (1-12): "); armonth = Integer.parseInt(br.readLine()); System.out.println("Dose to etos: "); Year = Integer.parseInt(br.readLine()); switch(armonth) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: Days=31; case 4: case 6: case 9: case 11: Days=30; System.out.println("O minas exei: " + Days + " meres"); if (((Year % 4 == 0) &&!(Year % 100 == 0)) (Year % 400 == 0)) Days = 29; else Days = 28; if (Days==29) System.out.println("To etos " + Year + " einai disekto" + " kai exei: " + Days + " meres"); else System.out.println("To etos " + Year + " den einai disekto" + " kai exei: " + Days + " meres"); Μια πιθανή εκτέλεση του προγράμματος: Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 2

Άσκηση 2η Μια χρήση της switch..case είναι στα μενού επιλογών, όπου δίδεται η επιλογή μας και ανάλογα εκτελείται μια αντίστοιχη εργασία (π.χ. ένα κομμάτι κώδικα). Γράψτε το πρόγραμμα που εμφανίζει ένα μενού επιλογών (με 5 επιλογές) και ανάλογα με την επιλογή μας θα εμφανίζει απλά ένα μήνυμα για την κάθε επιλογή μας. Μια πιθανή λύση: class MenouEpilogon{ int epilogh; System.out.println(" Menou Epilogvn "); System.out.println(" -------------- "); System.out.println("1 - Ergasia 1"); System.out.println("2 - Ergasia 2"); System.out.println("3 - Ergasia 3"); System.out.println("4 - Ergasia 4"); System.out.println("5 - Ergasia 5"); System.out.print("Dose tin epilogh sou (1-5): "); epilogh = Integer.parseInt(br.readLine()); switch(epilogh) { case 1: System.out.println("Ektelesi Ergasias 1..."); case 2: System.out.println("Ektelesi Ergasias 2..."); case 3: System.out.println("Ektelesi Ergasias 3..."); case 4: System.out.println("Ektelesi Ergasias 4..."); case 5: System.out.println("Ektelesi Ergasias 5..."); default: System.out.println("Lathos epilogh..."); Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 3

Παραλλαγές της 2 ης άσκησης Γράψτε την ίδια άσκηση με το μενού επιλογών, αλλά με τις παρακάτω τροποποιήσεις: Α - Παραλλαγή Γράψτε την είσοδο μέσα σε try..catch για έλεγχο της εισόδου. Β - Παραλλαγή Χρησιμοποιήστε για την είσοδο τον τύπο char (δηλαδή, Α για την 1 η Εργασία, Β για την 2 η,..). Άσκηση 3η Να γίνει το πρόγραμμα που υπολογίζει τον καθαρό μισθό ανάλογα με τον συντελεστή κρατήσεων. Το πρόγραμμα στην κλάση TestKratiseis θα εισάγει τον ακαθάριστο μισθό και τον συντελεστή κρατήσεων. Ο συντελεστής επιτρέπεται να είναι μόνο 20%, 25% και 30%, ενώ σε όλες τις άλλες περιπτώσεις θα θεωρηθεί 45%. Ο καθαρός μισθός υπολογίζεται στη στατική μέθοδο YpologismosKratisevn (της κλάσης Kratiseis) που δέχεται σαν παραμέτρους τον ακαθάριστο μισθό και τον συντελεστή κρατήσεων. Ο υπολογισμός του καθαρού μισθού θα γίνει με τη χρήση της switch..case. Μια πιθανή λύση: class Kratiseis { static double YpologismosKratisevn(double AKM, int Synt) { double KM; switch(synt) { case 20: KM = AKM -(AKM * 0.20); case 25: KM = AKM - (AKM * 0.25); case 30: KM = AKM -(AKM * 0.30); default: KM = AKM -(AKM * 0.45); return (KM); Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 4

class TestKratiseis{ int syntelestis_kratiseon; double aktharistos_misthos, KatharosMisthos; System.out.print("Dose ton akatharisto_mistho (p.x. 2200.0): "); aktharistos_misthos = Double.parseDouble(br.readLine()); System.out.print("Dose ton syntelesti krathsevn (mono 20, 25, 30): "); syntelestis_kratiseon = Integer.parseInt(br.readLine()); KatharosMisthos = Kratiseis.YpologismosKratisevn(aktharistos_misthos, syntelestis_kratiseon); System.out.println("O katharos misthos einai: " + KatharosMisthos); Μια πιθανή εκτέλεση του προγράμματος: Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 5