e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων Τράπεζας Θεμάτων |
ΠΡΟΓΡΑΜΜΑ Σουπερμάρκετ_ΤΘ_31144
!ΘΕΜΑ 4
!Το πρόγραμμα που εκτελεί ο υπολογιστής στο ταμείο ενός σουπερμάρκετ
!σκανάρει τα διάφορα προϊόντα που έχει αγοράσει ο πελάτης
!και υπολογίζει το ποσό που πρέπει να πληρώσει καθώς επίσης και διάφορα στατιστικά.
! Ο πελάτης μπορεί να αγοράσει περισσότερα τεμάχια από κάθε προϊόν,
!τα οποία όμως δεν θα σκαναριστούν συνεχόμενα επειδή μπορεί να ανακατευτούν
!από την τοποθέτηση στο καλάθι
!
!Να φτιάξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
!4.1 Να περιέχει τμήμα δηλώσεων και να διαβάζει το όνομα και την τιμή κάθε
!προϊόντος προσομοιώνοντας το σκανάρισμα που γίνεται στο ταμείο.
!Θεωρούμε ότι το καλάθι αδειάζει όταν δοθεί για όνομα προϊόντος η λέξη 'ΤΕΛΟΣ',
!για την οποία δεν πρέπει να ζητηθεί τιμή, αφού δεν είναι πραγματικό προϊόν.
!
! Παρατήρηση: Να γίνεται έλεγχος εγκυρότητας ότι η τιμή του προϊόντος είναι
!θετικός αριθμός. Στην περίπτωση που εισάγεται άκυρη τιμή, το πρόγραμμα
!πρέπει να ζητάει νέα τιμή μέχρι να δοθεί έγκυρη.
!Μονάδες 12
!
!4.2 Να εμφανίζει τον συνολικό αριθμό προϊόντων που αγόρασε ο πελάτης
!και το συνολικό ποσό που πρέπει να πληρώσει.
!Μονάδες 6
!
!4.3 Να εμφανίζει το όνομα του προϊόντος με τη μεγαλύτερη τιμή και το πόσα
!τεμάχια αγόρασε ο πελάτης από αυτό. Να υποθέσετε ότι δεν υπάρχουν προϊόντα
!που έχουν την ίδια τιμή.
!Μονάδες 7
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: όνομα, όνομαΜεγαλύτερης
ΠΡΑΓΜΑΤΙΚΕΣ: τιμή, συνολικόΠοσό, μέγιστηΤιμή
ΑΚΕΡΑΙΕΣ: πλήθος, πλήθοςΜεγαλύτερης
ΑΡΧΗ
πλήθος <- 0
συνολικόΠοσό <- 0
μέγιστηΤιμή <- 0
πλήθοςΜεγαλύτερης <- 0
όνομαΜεγαλύτερης <- ''
! Ανάγνωση προϊόντων
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δώσε όνομα προϊόντος (ΤΕΛΟΣ για τερματισμό): '
ΔΙΑΒΑΣΕ όνομα
ΑΝ όνομα <> 'ΤΕΛΟΣ' ΤΟΤΕ
! Έλεγχος εγκυρότητας τιμής
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δώσε τιμή προϊόντος (>0): '
ΔΙΑΒΑΣΕ τιμή
ΜΕΧΡΙΣ_ΟΤΟΥ τιμή > 0
! Στατιστικά
πλήθος <- πλήθος + 1
συνολικόΠοσό <- συνολικόΠοσό + τιμή
ΑΝ τιμή > μέγιστηΤιμή ΤΟΤΕ
μέγιστηΤιμή <- τιμή
όνομαΜεγαλύτερης <- όνομα
πλήθοςΜεγαλύτερης <- 1
ΑΛΛΙΩΣ_ΑΝ τιμή = μέγιστηΤιμή ΤΟΤΕ
πλήθοςΜεγαλύτερης <- πλήθοςΜεγαλύτερης + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ όνομα = 'ΤΕΛΟΣ'
! Εμφάνιση αποτελεσμάτων
ΓΡΑΨΕ 'Συνολικά προϊόντα: ', πλήθος
ΓΡΑΨΕ 'Συνολικό ποσό: ', συνολικόΠοσό
ΓΡΑΨΕ 'Προϊόν με τη μεγαλύτερη τιμή: ', όνομαΜεγαλύτερης
ΓΡΑΨΕ 'Τεμάχια από αυτό το προϊόν: ', πλήθοςΜεγαλύτερης
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ