Κλιμακωτές χρεώσεις σε πίνακα

Ένα ταξιδιωτικό γραφείο ζήτησε προσφορές από 5 αεροπορικές εταιρίες για μαζική αγορά εισιτηρίων για το δρομολόγιο Θεσσαλονίκη – Βαρκελώνη. Όλες οι αεροπορικές εταιρίες έστειλαν την προσφορά τους, με κλιμακωτές χρεώσεις ανάλογα με τον αριθμό των επιβατών. Η 1η κλίμακα είναι από 1 – 20 επιβάτες, η δεύτερη από 21 – 50 και η τελευταία είναι άνω των 51 επιβατών. Ένα παράδειγμα της προσφοράς (με τυχαίους αριθμούς) φαίνεται πιο κάτω:

1 - 20 επιβάτες21 - 50 επιβάτεςάνω των 51 επιβατών
Kissavos Air210€190€180€
Ionian Airlines220€175€140€
Galaxy Airlines200€185€180€
Easy Flirt199€189€179€
Brian Air205€186€175€

Να γίνει αλγόριθμος που με δεδομένο τον πίνακα ΧΡΕΩΣΕΙΣ[5,3] που περιέχει τις κλιμακωτές χρεώσεις κάθε αεροπορικής εταιρίας και του πίνακα ΟΝ με τα ονόματα των αεροπορικών εταιριών, να διαβάζει τον αριθμό των επιβατών που το ταξιδιωτικό γραφείο διαθέτει και να τυπώνει το όνομα της αεροπορικής με την πιο συμφέρουσα (πιο φθηνή) προσφορά. Υποθέστε πως υπάρχει μόνο μία προσφορά η οποία είναι η φθηνότερη.

Γνωρίζουμε πως έχουμε 5 προσφορές, κάθε μία από τις οποίες βρίσκεται σε μία γραμμή του πίνακα χρεώσεις. Άρα, επαναληπτικά θα υπολογίζουμε κλιμακωτά την χρέωση για κάθε γραμμή, και στην συνέχεια θα βρίσκουμε την ελάχιστη τιμή. Υποθέστε πως υπάρχει μόνο μία προσφορά η οποία είναι η φθηνότερη.

Αλγόριθμος Πτήσεις
   Δεδομένα //ΧΡΕΩΣΕΙΣ, ΟΝ//
 
   Διάβασε αρ_επιβατών
   Για i από 1 μέχρι 5
      Αν αρ_επιβατών <= 20 τότε
         χρε_εταιρείας <- ΧΡΕΩΣΕΙΣ[i, 1] * αρ_επιβατών
      Αλλιώς_αν αρ_επιβατών <= 50 τότε
         χρε_εταιρείας <- ΧΡΕΩΣΕΙΣ[i, 1] * 20 + ΧΡΕΩΣΕΙΣ[i, 2] * (αρ_επιβατών - 20)
      Αλλιώς
         χρε_εταιρείας <- ΧΡΕΩΣΕΙΣ[i, 1] * 20 + ΧΡΕΩΣΕΙΣ[i, 2] * 30 + ΧΡΕΩΣΕΙΣ[i, 3] * (αρ_επιβατών - 50)
      Τέλος_αν
      ΤΕΛΙΚΗ_ΧΡΕΩΣΗ[i] <- χρε_εταιρείας
   Τέλος_επανάληψης
 
   min <- 1
   Για i από 2 μέχρι 5
      Αν ΤΕΛΙΚΗ_ΧΡΕΩΣΗ[i] < ΤΕΛΙΚΗ_ΧΡΕΩΣΗ[min] τότε
         min <- i
      Τέλος_αν
   Τέλος_επανάληψης
 
   Εμφάνισε ΟΝ[min]
Τέλος Πτήσεις

2 σχόλια για το άρθρο “Κλιμακωτές χρεώσεις σε πίνακα

  • 04/04/2013 at 22:28
    Permalink

    RESPECT ΦΊΛΕ …!!! σουπ ήρε 21 σειρες ενώ εμένα 36 δηδλαδή γύρω στις 1,5 – 2 φορές μεφαλύτερη .. πάντως μου φάνηκε ιδιοφυές η πρώτη επανάληψη ..

Αφήστε μια απάντηση

Η ηλ. διεύθυνσή σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *