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