Δομή επιλογής - πακέτο 3

  Άσκηση 30. Γνωστή αλυσίδα ηλεκτρικών ειδών ανακοίνωσε διαγωνισμό που υπόσχεται μεγάλα δώρα με κλήρωση. Όσους πόντους συγκεντρώσει κάθε συμμετέχων τόσες περισσότερες πιθανότητες έχει να κερδίσει μεγάλα δώρα. Οι πόντοι κάθε συμμετέχοντα εξαρτώνται από το πλήθος των μηνυμάτων sms που έχει αποστείλει σε ειδικό τηλεφωνικό αριθμό, σύμφωνα με τον παρακάτω πίνακα (κλιμακωτός υπολογισμός):

  Μηνύματα που εστάλησαν

    Πόντοι    

μέχρι και 50

10 πόντοι

περισσότερα από 50 μέχρι και 100

1 πόντος ανά μήνυμα

λιγότερα από 200

2 πόντοι ανά μήνυμα

μέχρι και 500 .

4 πόντοι ανά μήνυμα

    περισσότερα από 500 μέχρι και 1000   

6 πόντοι ανά μήνυμα

περισσότερα από 1000

διπλασιασμός προηγούμενων πόντων
    + 1 πόντο για κάθε μήνυμα από το πρώτο   

Να αναπτύξετε αλγόριθμο που θα διαβάζει το πλήθος των μηνυμάτων που έστειλε κάποιος διαγωνιζόμενος και να εκτυπώνει τους πόντους με τους οποίους συμμετέχει στην κλήρωση.

Λύση
Αλγόριθμος Διαγωνισμός
  Διάβασε μνμ
  Αν μνμ <= 50 τότε
    πόντοι10
  Αλλιώς_αν μνμ <= 100 τότε
    πόντοι10 + 1 * (μνμ - 50)
  Αλλιώς_αν μνμ <= 199 τότε
    πόντοι10 + 1 * 50 + 2 * (μνμ - 100)
  Αλλιώς_αν μνμ <= 500 τότε
    πόντοι10 + 1 * 50 + 2 * 99 + 4 * (μνμ - 199)
  Αλλιώς_αν μνμ <= 1000 τότε
    πόντοι10 + 1 * 50 + 2 * 99 + 4 * 301 + 6 * (μνμ - 500)
  Αλλιώς
    πόντοι2 * (10 + 1 * 50 + 2 * 99 + 4 * 301 + 6 * 500) + μνμ * 1
  Τέλος_αν
  Εμφάνισε πόντοι
Τέλος Διαγωνισμός

  Άσκηση 31. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τι θα εμφανιστεί τελικά αν εισαχθούν οι τιμές: 2, 10, 5

Αλγόριθμος Πίνακας_Τιμών
  Διάβασε x, y
  x ← Α_Τ (x – y)
  y ← Α_Τ (x – y)
  Αν y mod x <= 3 τότε
     Διάβασε x
     y ← y + x div 2
  Αλλιώς
     x ← x – y div 5
     Διάβασε y
  Τέλος_αν
  Εμφάνισε x, y
Τέλος Πίνακας_Τιμών
Λύση

 

x

y

 Αρχικοποίηση

2

10

 

8

2

2 mod 8 <= 3, ισχύει

5

4

Θα εμφανιστεί 5, 4

  Άσκηση 32. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τι θα εμφανιστεί τελικά αν εισαχθούν οι τιμές i. 10, 3 , ii. 3, 7 και iii. 4, 4

Αλγόριθμος Πίνακας_Τιμών
  Διάβασε κ, λ
  Αν κ > λ τότε
     ζ ← Α_Τ (λ – κ)
     t ← ζ
     ζ ← κ
     κ ← t
  Αλλιώς_αν κ < λ τότε
     ζ ← κ mod 3
     λ ← Α_M ( Τ_Ρ(κ) )
     κ ← (-1) * κ * ζ
  Αλλιώς
     κ ← κ + 2
     λ ← λ – 2
     ζ ← κ + λ – 10
  Τέλος_αν
  Εμφάνισε κ, λ
Τέλος Πίνακας_Τιμών
Λύση
i.  10, 3

ii.  3, 7

iii.  4, 4

 

κ

λ

ζ

t

Αρχικοποίηση

10

3

 

 

10 > 3, ισχύει

 

 

7

7

 

7

 

10

 

Θα εμφανιστεί 7, 3

 

κ

λ

ζ

t

Αρχικοποίηση

3

7

 

 

3 > 7, δεν ισχύει

 

 

 

 

3 < 7, ισχύει

0

1

0

 

Θα εμφανιστεί 0, 1

 

κ

λ

ζ

t

Αρχικοποίηση

4

4

 

 

4 > 4, δεν ισχύει

 

 

 

 

4 < 4, δεν ισχύει

 

 

 

 

4 = 4, ισχύει

6

2

-2

 

Θα εμφανιστεί 6, 2

  Άσκηση 33. Να αναπτύξετε αλγόριθμο που θα διαβάζει έναν αριθμό να εκτυπώνει σχετικά με το αν είναι θετικός διψήφιος ή όχι. Αν είναι να εκτυπώνει το κατάλληλο από τα επόμενο μηνύματα: «και τα δυο ψηφία είναι άρτιοι», «και τα δυο ψηφία είναι περιττοί», «το πρώτο ψηφίο είναι άρτιος και το δεύτερο περιττός» και «το πρώτο ψηφίο είναι περιττός και το δεύτερο άρτιος»

Λύση
Αλγόριθμος επεξεργασία
  Διάβασε αριθμός
  Αν αριθμός >= 10 και αριθμός <= 99 τότε
      Εμφάνισε "Διψήφιος"
      α ← αριθμός div 10
      β ← αριθμός mod 10
      Ανmod 2 = 0 και β mod 2 = 0) τότε
         Εμφάνισε "Και τα δυο ψηφία είναι άρτιοι"
      Αλλιώς_ανmod 2 = 1 και β mod 2 = 1) τότε
         Εμφάνισε "Και τα δυο ψηφία είναι περιττοί"
      Αλλιώς_ανmod 2 = 1 και β mod 2 = 0) τότε
         Εμφάνισε "Το πρώτο ψηφίο είναι περιττός και το δεύτερο άρτιος"
      Αλλιώς
         Εμφάνισε "Το πρώτο ψηφίο είναι άρτιος και το δεύτερο περιττός"
      Τέλος_αν
  Αλλιώς
      Εμφάνισε "Όχι διψήφιος"
  Τέλος_αν
Τέλος επεξεργασία

  Άσκηση 34. Μεγάλο εμπορικό κέντρο της Τενεούπολης διαθέτει παρκινγκ και χρεώνει κλιμακωτά τη στάθμευση ως εξής: ολιγόωρη παραμονή στο παρκινγκ δεν χρεώνεται ενώ για παραμονή από 2 ώρες και άνω κάθε ώρα χρεώνεται 3€ για όλες τις ώρες. Για περισσότερες από 6 ώρες στάθμευσης η χρέωση είναι 5 € για κάθε επιπλέον ώρα. Τέλος, αν κάποιο όχημα είναι σταθμευμένο άνω των 10 ωρών τότε υπάρχει 20% προσαύξηση στη χρέωση. Στα παραπάνω ποσά είναι ενσωματωμένος δημοτικός φόρος 10%. Να αναπτύξετε αλγόριθμο που θα διαβάζει το πλήθος των ωρών που ένα όχημα έμεινε σταθμευμένο στο παρκινγκ και θα εκτυπώνει το ποσό που θα πρέπει να πληρώσει ο οδηγός του, το ποσό που θα εισπράξει το παρκινγκ καθώς και το ποσό που θα πρέπει να αποδοθεί στο δήμο

Λύση
Αλγόριθμος Εμπορικό
  Διάβασε ώρες
  Αν ώρες < 2 τότε
      χρέωση ← 0
  Αλλιώς_αν ώρες <= 6 τότε
      χρέωση ← 3 * ώρες
  Αλλιώς
      χρέωση ← 3 * 6 + 5 * (ώρες – 6)
  Τέλος_αν
  Αν ώρες > 10 τότε
      χρέωση ← χρέωση + 20/100 * χρέωση
  Τέλος_αν
  δήμος ← χρέωση * (0.1 / 1.1)
  παρκινγκ ← χρέωση - δήμος
  Εκτύπωσε δήμος, παρκινγκ
Τέλος Εμπορικό

  Άσκηση 35. Οι εκπτώσεις ενός καταστήματος προσφέρονται ανάλογα με το ποσό των αγορών που έχουν πραγματοποιηθεί. Έτσι, αν το ποσό των αγορών είναι μεγαλύτερο από 500€, τότε το ποσό της έκπτωσης είναι 80€ αυξημένο κατά 2% του συνολικού ποσό αγορών που έχει πραγματοποιήσει ο πελάτης. Διαφορετικά, το ποσό της έκπτωσης είναι 60€. Ωστόσο, αν το συνολικό ποσό αγορών είναι μικρότερο από 150€ η έκπτωση είναι 2% του συνολικού ποσό αγορών. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το συνολικό ποσό αγορών ενός πελάτη και θα εμφανίζει το ποσό της έκπτωσης καθώς και το ποσό που καλείται τελικά να πληρώσει για τις αγορές του.

Λύση
Αλγόριθμος κατάστημα
  Διάβασε αγορές
  Αν αγορές <=150 τότε
    έκπτωση ← 2/100 * αγορές
  Αλλιώς_αν αγορές <=500 τότε
    έκπτωση ← 60
  Αλλιώς
    έκπτωση ← 80 + 2/100 * αγορές
  Τέλος_αν
  πληρωμή ← αγορές – έκπτωση
  Εμφάνισε έκπτωση, πληρωμή
Τέλος κατάστημα

  Άσκηση 36. Η τράπεζα Τενεούπολης σε μια προσπάθεια χορήγησης νέων πιστωτικών καρτών ανακοίνωσε ότι σε κάθε κάτοχο πιστωτικής θα επιστρέφεται ανά τρίμηνο, χρηματικό ποσό ανάλογα με τους πόντους που έχει συγκεντρώσει χρησιμοποιώντας την κάρτα, σύμφωνα με τον παρακάτω πίνακα (κλιμακωτός υπολογισμός):

Πόντοι από αγορές (Π)

Ποσό € ανά πόντο

1000    Π  < 3000

1.20

3000    Π  ≤ 6000

2

6000  <  Π

3

 Να αναπτύξετε αλγόριθμο που θα διαβάζει τον αριθμό των πόντων ενός συνδρομητή πιστωτικής κάρτας και θα εμφανίζει τα χρήματα που θα λάβει ως δώρο από τη χρήση της κάρτας.

Λύση
Αλγόριθμος τράπεζα
  Διάβασε Π
  Αν Π <= 999 τότε
    δώρο ← 0
  Αλλιώς_αν Π <= 2999 τότε
    δώρο ← 1.20 * (Π – 999)
  Αλλιώς_αν Π <= 6000 τότε
    δώρο ← 1.20 * 2000 + 2 * (Π – 2999)
  Αλλιώς
    δώρο ← 1.20 * 2000 + 2 * 3001 + 3 * (Π – 6000)
  Τέλος_αν
  Εμφάνισε δώρο
Τέλος τράπεζα

  Άσκηση 37. Τα ταχυδρομικά τέλη για την ταχυδρομική εταιρεία Courier Hellas υπολογίζονται ως εξής (κλιμακωτός υπολογισμός):
- Για φακέλους 20 γραμμάρια και μικρότερους, α €
- Για φακέλους 150 γραμμάρια και μικρότερους, 1.5*α €
- Για φακέλους μεγαλύτερους από 150 γραμμάρια, α/10 € για κάθε γραμμάριο. (όπου α θετικός αριθμός). Στις παραπάνω τιμές υπάρχει προσαύξηση 19% ΦΠΑ. Να αναπτύξετε αλγόριθμο που θα διαβάζει τον αριθμό α, το βάρος ενός φακέλου που θα ταχυδρομηθεί και θα εμφανίζει τη χρέωση

Λύση
Αλγόριθμος ταχυδρομείο
  Διάβασε α, βάρος
  Αν βάρος <= 20 τότε
    κόστος ← α
  Αλλιώς_αν βάρος <= 150 τότε
    κόστος ← α + 1.5 * α
  Αλλιώς
    κόστος ← α + 1.5 * α + α/10 * βάρος
  Τέλος_αν
  χρέωση ← κόστος + 19/100 * κόστος
  Εμφάνισε χρέωση
Τέλος ταχυδρομείο

  Άσκηση 38. Στην εταιρεία Αρβίλογλου κάθε εργαζόμενος αμείβεται σύμφωνα με τις μηνιαίες ώρες εργασίας κλιμακωτά όπως φαίνεται στον παρακάτω πίνακα:

Ώρες εργασίας (Ω)

Ωρομίσθιο €

Ω  <  30

32

30    Ω  < 100

42

100    Ω

55

Επιπρόσθετα, ο μισθός προσαυξάνεται σύμφωνα με την προϋπηρεσία κάθε εργαζομένου και υπολογίζεται επίσης με βαθμιαία αύξηση, όπως φαίνεται στον παρακάτω πίνακα:

Έτη εργασίας

Αύξηση ανά έτος ()

περισσότερα από 15

40

περισσότερα από 9

30

περισσότερα από 3

20

Στις συνολικές μικτές αποδοχές υπάρχουν κρατήσεις της τάξης του 12%. Να αναπτύξετε αλγόριθμο που θα διαβάζει το όνομα, τις ώρες και τα έτη υπηρεσίας ενός εργαζομένου και θα εμφανίζει το όνομα και τις καθαρές αποδοχές.

Λύση
Αλγόριθμος Αρβίλογλου
  Διάβασε όνομα, ώρες, έτη
  Αν ώρες <= 29 τότε
    βασικός ← 32 * ώρες
  Αλλιώς_αν ώρες <= 99 τότε
    βασικός ← 32 * 29 + 42 * (ώρες – 29)
  Αλλιώς
    βασικός ← 32 * 29 + 42 * 70 + 55 * (ώρες – 99)
  Τέλος_αν
  Αν έτη <= 3 τότε
    επίδομα ← 0
  Αλλιώς_αν έτη <= 9 τότε
    επίδομα ← 20 * (έτη – 3)
  Αλλιώς_αν έτη <= 15 τότε
    επίδομα ← 20 * 6 + 30 * (έτη – 9)
  Αλλιώς
    επίδομα ← 20 * 6 + 30 * 6 + 40 * (έτη – 15)
  Τέλος_αν
  μικτές ← βασικός + επίδομα
  καθαρές ← μικτές – 12/100 * μικτές
  Εμφάνισε όνομα, καθαρές
Τέλος Αρβίλογλου

  Άσκηση 39. Το Εθνικό Συμβούλιο Απόδημου Ελληνισμού αποφάσισε να τιμήσει με χρηματικό βραβείο τα παιδιά των ομογενών που εισήχθησαν στα Ελληνικά πανεπιστήμια σύμφωνα με τον παρακάτω πίνακα:

Τόπος διαμονής γονέων

Χρηματικό έπαθλο (€)

Β. Αμερική

1200

Ν. Αμερική

1800

Ευρώπη

1000

Αυστραλία

1800

Υπόλοιπος κόσμος

2500

Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον τόπο διαμονής των γονέων ενός ομογενή φοιτητή και θα εκτυπώνει το χρηματικό βραβείο που θα λάβει.

Λύση
Αλγόριθμος Ομογενείς
  Διάβασε τόπος_διαμονής
  Επίλεξε τόπος_διαμονής
    Περίπτωση "Β. Αμερική"
      έπαθλο ← 1200
    Περίπτωση "Ν. Αμερική", "Αυστραλία"
      έπαθλο ← 1800
    Περίπτωση "Ευρώπη"
      έπαθλο ← 1000
    Περίπτωση Αλλιώς
      έπαθλο ← 2500
  Τέλος_επιλογών
  Εκτύπωσε "Το χρηματικό έπαθλο είναι", έπαθλο
Τέλος Ομογενείς

  Άσκηση 40. Η CityTel αποφάσισε να προσφέρει νέα υπηρεσία: αποστολή τηλεγραφημάτων σε όλες τις χώρες του κόσμου. Το κοστολόγιο της νέας αυτής υπηρεσίας υπολογίζεται σύμφωνα με τον ακόλουθο πίνακα κλιμακωτά:

Κείμενο (σε λέξεις)

Κόστος (€ ανά λέξη)

1 – 10

0.20

11 – 20

0.23

21 και άνω

0.25

Το παραπάνω ποσό υπόκειται σε ΦΠΑ 18%. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το πλήθος των λέξεων που ενός τηλεγραφήματος και θα εκτυπώνει το κόστος αποστολής του

Λύση
Αλγόριθμος CityTel_τηλεγραφήματα
  Διάβασε λέξεις
  Αν λέξεις <= 10 τότε
    κόστος ← 0.20 * λέξεις
  Αλλιώς_αν λέξεις <= 10 τότε
    κόστος ← 0.20 * 10 + 0.23 * (λέξεις – 10)
  Αλλιώς
    κόστος ← 0.20 * 10 + 10 * 0.23 + 0.25 * (λέξεις – 20)
  Τέλος_αν
  κόστος ← κόστος + κόστος * 0.18
  Εκτύπωσε "Το ποσό που πρέπει να καταβληθεί είναι ", κόστος
Τέλος CityTel_τηλεγραφήματα

     Άσκηση 41. Σύμφωνα με τον τελευταίο νόμο του Υπουργείου Οικονομικών οι μεγαλοοφειλέτες μπορούν να προσέλθουν στις κατά τόπους εφορίες και να προβούν σε διακανονισμό για την πληρωμή των οφειλών τους. Έτσι, αν κάποιος χρωστά περισσότερα από 500.000 € θα έχει έκπτωση 20%, ενώ διαφορετικά θα έχει έκπτωση 30%. Αν κάποιος πληρώσει μετρητοίς τότε θα έχει επιπλέον έκπτωση 5% επί του ποσού της οφειλής. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το όνομα του οφειλέτη, το ποσό της οφειλής του καθώς και το πλήθος των δόσεων που θα εξοφλήσει (δόσεις = 1 σημαίνει πληρωμή μετρητοίς) και θα εκτυπώνει το ποσό κάθε δόσης στην εφορία.

Λύση
Αλγόριθμος Φορολόγηση
  Διάβασε όνομα, οφειλή, δόσεις
  Αν οφειλή > 500000 τότε
    οφειλή ← οφειλή – 20/100 * οφειλή
  Αλλιώς
    οφειλή ← οφειλή – 30/100 * οφειλή
  Τέλος_αν
  Αν δόσεις = 1 τότε
    οφειλή ← οφειλή – 5/100 * οφειλή
    Εκτύπωσε όνομα, οφειλή
  Αλλιώς
    ποσό_δόσης ← οφειλή / δόσεις
    Εκτύπωσε όνομα, οφειλή, ποσό_δόσης
  Τέλος_αν
Τέλος Φορολόγηση

Ημερομηνία τελευταίας τροποποίησης: 29/11/2009
Επικοινωνία: Τσιωτάκης Παναγιώτης