CSO – Solved

$ 20.99
Category:

Description

Οηθνλνκηθό Παλεπηζηήκην Αζελώλ
Τκήκα Πιεξνθνξηθήο

Μάζεκα: Οργάνωζη Σσζηημάηων Υπολογιζηών
Φεηκεξηλό Εμάκελν 2017-18

Δηδάζθσλ: Αλ. Καζεγεηήο Ι. Κνπηζόπνπινο

Υπεύζπλε Εξγαζηώλ:
Μαξία Τνγαληδή

1ε Εξγαζία Πξνγξακκαηηζκνύ ζε Assembly

Η ρξέσζε ζε έλα ζηαζκό ζηάζκεπζεο απηνθηλήησλ είλαη 5 επξώ θαη 24 ιεπηά. Υπνζέζηε όηη ε ρξέσζε απηή ηζρύεη γηα όια ηα νρήκαηα θαη αλεμάξηεηα από ηε δηάξθεηα ηεο ζηάζκεπζεο.

Γξάςηε έλα πξόγξακκα ζηε ζσμβολική γλώζζα ηνπ επεμεξγαζηή MIPS32 πνπ:

α. δηαβάδεη ην πνζό (ζε επξώ θαη ιεπηά) πνπ πιήξσζε ν πειάηεο, δειαδή δηαβάδεη δύν αθεξαίνπο αξηζκνύο, έλαλ αθέξαην πνπ παξηζηά ηα επξώ θαη έλαλ αθέξαην πνπ παξηζηά ηα ιεπηά ηνπ επξώ. Υπνζέζηε όηη ε κεγαιύηεξε αμία ζε επξώ πνπ δέρεηαη ε εθαξκνγή – άξα πνπ κπνξεί λα δώζεη ν πειάηεο – είλαη ηα
20 επξώ θαη ε κεγαιύηεξε αμία ζε ιεπηά ηνπ επξώ είλαη ηα 99 ιεπηά.

β. εκθαλίδεη ηα ξέζηα σο ηνλ ελάτιζηο αριθμό ταρηονομιζμάηων και
κερμάηων πνπ αληηζηνηρεί ζ’ απηά. Τα δηαζέζηκα ραξηνλνκίζκαηα γηα ξέζηα είλαη ησλ 5 θαη 10 επξώ θαη θέξκαηα ησλ 1, 2, 5, 10, 20, 50 ιεπηώλ, 1, 2 επξώ.

Α. Ακολοσθούν περιπηώζεις εκηέλεζης ηης εθαρμογής:

Case 1 – Έλεγσορ ηηρ εγκςπόηηηαρ ηων δεδομένων ηος ππογπάμμαηορ:

— Parking Ticket Payment —

Fee: 5 euros and 24 cents

Euros (<= 20): 50 Cents (< 100): 0

Error! Please try again.

Η κεγαιύηεξε αμία ζε επξώ πνπ δέρεηαη ε εθαξκνγή είλαη ηα 20 επξώ θαη ε κεγαιύηεξε αμία ιεπηώλ είλαη ηα 99 ιεπηά!

Case 2 – Υπολογιζμόρ και εμθάνιζη ηων αποηελεζμάηων (πέζηα ζε εςπώ και λεπηά)

— Parking Ticket Payment —

Fee: 5 euros and 24 cents

Euros (<= 20): 20 Cents (<= 99): 0

Change:

1 x 10 euros 2 x 2 euros
1 x 50 cents
1 x 20 cents
1 x 5 cents
1 x 1 cents

Case 3 – Ακπιβέρ ανηίηιμο (πέζηα = 0)

— Parking Ticket Payment —

Fee: 5 euros and 24 cents

Euros (<= 20): 5 Cents (< 100): 24

Change = 0

Case 4 – Δεν απκούν ηα σπήμαηα ηος πελάηη:

— Parking Ticket Payment —

Fee: 5 euros and 24 cents

Euros (<= 20): 4 Cents (< 100): 0

Error! Not enough money!

Β. Γίνεηαι η περιγραθή ηοσ αλγορίθμοσ ποσ επιλύει ηο πρόβλημα:
Έλεγξε ηην εγκςπόηηηα ηων δεδομένων ηος ππογπάμμαηορ;
if (ηα δεδομένα δεν είναι έγκςπα) (case 1)
εμθάνιζε ηο μήνςμα “Error! Please try again.”;
else {
Υπολόγιζε ηα πέζηα ζε λεπηά;
if (πέζηα > 0) (case 2)
Για κάθε αξία νομίζμαηορ από 20 εςπώ (2000 λεπηά) ωρ 1 λεπηό κάνε {
Υπολόγιζε και εμθάνιζε ηην ποζόηηηά ηος νομίζμαηορ ζηα πέζηα;
Υπολόγιζε ηην αξία ηος αμέζωρ μικπόηεπος νομίζμαηορ;
}
else if (πέζηα == 0) εμθάνιζε “Change = 0”; (case 3)
else if (πέζηα < 0) εμθάνιζε “Error! Not enough money!”;
}
Γ. Οδηγίες Παράδοζης
• Η εξγαζία είλαη αηνκηθή. (case 4)
• Ολνκάζηε ην αξρείν πνπ πεξηέρεη ην πξόγξακκα, κε ηνλ αξηζκό ηνπ θνηηεηηθνύ ζαο κεηξώνπ θαη θαηάιεμε .s (γηα παξάδεηγκα 3160000.s).
• Αθνινπζείζηε ηηο παξαθάησ νδεγίεο ζρεηηθά κε ηνλ ηξόπν ζπγγξαθήο ηνπ πξνγξάκκαηνο θαη ηελ ηεθκεξίσζή ηνπ:
α. Σηελ αξρή ηνπ πξνγξάκκαηνο πξέπεη λα ππάξρεη ζρόιην κε ηηο παξαθάησ πιεξνθνξίεο:
# Author:
# Description:
β. Μεηά ηε ζύληνκε πεξηγξαθή αλαθέξαηε ηνπο θαηαρσξεηέο πνπ ρξεζηκνπνηείηε θαη ηε ρξήζε ηνπ θαζελόο.
γ. Πξηλ από θάζε ελόηεηα ηνπ πξνγξάκκαηνο πεξηγξάςηε κε ηε κνξθή ςεπδνθώδηθα ην ηκήκα ηνπ αιγνξίζκνπ πνπ πινπνηείηε.
# Pseudocode:
#
#
δ. Πεξηιάβεηε επίζεο ζύληνκα ζρόιηα ζε επηκέξνπο εληνιέο ή νκάδεο εληνιώλ, γηα παξάδεηγκα:
printQuestion:

li $v0, 4 la $a0, quest syscall # print(quest)
• Εθηειέζηε ην πξόγξακκά ζαο ζηνλ πξνζνκνησηή SPIM θαη βεβαησζείηε όηη δελ έρεη ζπληαθηηθά ή άιια ζθάικαηα.
• Σσμπιέζηε (.zip ή .rar) ην αξρείν πνπ πεξηέρεη ην πξόγξακκα θαη ανεβάζηε ην ζην eclass κέρξη ηελ αλαθεξόκελε εκεξνκελία.
• Όπσο έρεη αλαθνηλσζεί, ε πινπνίεζε ηεο παξνύζαο εξγαζίαο κε επηηπρία, ηεθκεξηώλεη δηθαίσκα ζπκκεηνρήο ζηηο άιιεο δπν (2ε θαη 3ε εξγαζία).

Reviews

There are no reviews yet.

Be the first to review “CSO – Solved”

Your email address will not be published. Required fields are marked *