DataStructures: Procedure-Exercises

Δημιουργία Διαδικασίας

Μετατροπή Συντεταγμένων

Να γράψετε διαδικασία η οποία θα μετατρέπει συντεταγμένες από πολικές σε καρτεσιανές. Οι πολικές εκφράζονται με τις μεταβλητές ρ, θ και οι καρτεσιανές με τις x, y. Οι σχέσεις μεταξύ τους είναι:

x=ρ*ΣΥΝ(θ)
y=ρ*ΗΜ(θ)

Στρατιωτική Ώρα

Γράψτε διαδικασία η οποία να μετατρέπει την ώρα από στρατιωτική μορφή (π.χ. 1738) σε 12ωρη μορφή και να την επιστρέφει (για το παράδειγμα 5:38 μμ). Να μην γίνεται έλεγχος αν η στρατιωτική μορφή της ώρας είναι έγκυρη.

Έλεγχος Εισόδου

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

Αντιμετάθεση Τιμών

Να γράψετε μία διαδικασία η οποία θα δέχεται δύο τιμές και θα τις αντιμεταθέτει, έτσι ώστε, στη θέση της πρώτης να είναι η τιμή της δεύτερης και στη θέση της δεύτερης η τιμή της πρώτης.

Μετατροπή Θερμοκρασιών

Να γράψετε μία διαδικασία η οποία θα διαβάζει δύο θερμοκρασίες σε βαθμούς Κελσίου. Στη συνέχεια, θα εμφανίζει την μικρότερη, την μεγαλύτερη και 9 ενδιάμεσες τιμές και τις αντίστοιχες τιμές Φαρενάιτ. Η έξοδος, π.χ. για τις τιμές 10 και 15, θα είναι μορφοποιημένη όπως παρακάτω:

1:1050
2:10.550.9
3:1151.8
4:11.552.7
5:1253.6
6:12.554.5
7:1355,4
8:13.556.3
9:1457.2
10:14.558.1
11:1559

Μορφοποίηση Εξόδου

Να γράψετε μία διαδικασία η οποία θα δέχεται έναν πίνακα ακεραίων 9 θέσεων και θα εκτυπώνει ένα ραβδογράφημα ανάλογα με τα περιεχόμενα του πίνακα. Π.χ. για τον πίνακα [6, 4, 7, 2, 1, 4, 5, 8, 3], η έξοδος θα είναι:

9 | *** (3)
8 | ******** (8)
7 | ***** (5)
6 | **** (4)
5 | * (1)
4 | ** (2)
3 | ******* (7)
2 | **** (4)
1 | ****** (6)
  +------------------

Πίνακας Τιμών

Τι θα εμφανίσει το παρακάτω πρόγραμμα;

  1. ΠΡΟΓΡΑΜΜΑ ΠΙΝΑΚΑΣ_ΤΙΜΩΝ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: Α, Β, Γ, Δ, Ι
  4. ΑΡΧΗ
  5.   ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3
  6.     Α <- Ι^2 + 1
  7.     Β <- Ι^3 - 1
  8.     ΚΑΛΕΣΗ ΥΠΟΛΟΓΙΣΜΟΣ(Α, Β, Γ, Δ)
  9.     ΓΡΑΨΕ Γ, Δ
  10.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  11. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  12.  
  13. ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΛΟΓΙΣΜΟΣ(Χ, Υ, Ζ, W)
  14. ΜΕΤΑΒΛΗΤΕΣ
  15.   ΑΚΕΡΑΙΕΣ: Χ, Υ, Ζ
  16. ΑΡΧΗ
  17.   ΑΝ Υ-Χ<10 ΤΟΤΕ
  18.     Ζ <- 2*Χ-Υ
  19.     W <- 2*Y-X
  20.   ΑΛΛΙΩΣ
  21.     Ζ <- -2*Χ+Υ
  22.     W <- -2*Y+X
  23.   ΤΕΛΟΣ_ΑΝ
  24. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Μετατροπή Τμήματος Προγράμματος σε Διαδικασία

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

  1. ΠΡΟΓΡΑΜΜΑ ΛΙΣΤΑ_FIFO
  2. ΣΤΑΘΕΡΕΣ
  3.   SIZE=100
  4. ΜΕΤΑΒΛΗΤΕΣ
  5.   ΑΚΕΡΑΙΕΣ: LIST[SIZE], TOP, I, ΤΙΜΗ, ΕΠΙΛΟΓΗ
  6.  
  7. ΑΡΧΗ
  8.   TOP <- 0
  9.   ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  10.     ΓΡΑΨΕ "1. ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΟΥ ΣΤΗ ΛΙΣΤΑ"
  11.     ΓΡΑΨΕ "2. ΕΞΑΓΩΓΗ ΣΤΟΙΧΕΙΟΥ ΑΠΟ ΤΗ ΛΙΣΤΑ"
  12.     ΓΡΑΨΕ "3. ΕΜΦΑΝΙΣΗ ΛΙΣΤΑΣ"
  13.     ΓΡΑΨΕ "0. ΕΞΟΔΟΣ"
  14.     ΓΡΑΨΕ "ΔΩΣΤΕ ΕΠΙΛΟΓΗ (0-3):"
  15.     ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
  16.       ΔΙΑΒΑΣΕ ΕΠΙΛΟΓΗ
  17.       ΑΝ ΕΠΙΛΟΓΗ<0 Ή ΕΠΙΛΟΓΗ>3 ΤΟΤΕ
  18.         ΓΡΑΨΕ "ΔΩΣΤΕ ΕΠΙΛΟΓΗ (0-3):"
  19.       ΤΕΛΟΣ_ΑΝ
  20.     ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΛΟΓΗ>=0 Ή ΕΠΙΛΟΓΗ<=3
  21.  
  22.     ΕΠΙΛΕΞΕ ΕΠΙΛΟΓΗ
  23.       ΠΕΡΙΠΤΩΣΗ 1
  24.         ΓΡΑΨΕ "ΔΩΣΕ ΤΙΜΗ:"
  25.         ΔΙΑΒΑΣΕ ΤΙΜΗ
  26.         ΑΝ TOP < SIZE ΤΟΤΕ
  27.           TOP <- TOP+1
  28.           LIST[TOP] <- ΤΙΜΗ
  29.         ΑΛΛΙΩΣ
  30.           ΓΡΑΨΕ "ΓΕΜΑΤΗ ΛΙΣΤΑ!"
  31.         ΤΕΛΟΣ_ΑΝ
  32.       ΠΕΡΙΠΤΩΣΗ 2
  33.         ΑΝ TOP > 0 ΤΟΤΕ
  34.           ΓΡΑΨΕ LIST[TOP]
  35.           TOP <- TOP-1
  36.         ΑΛΛΙΩΣ
  37.           ΓΡΑΨΕ "ΑΔΕΙΑ ΛΙΣΤΑ!"
  38.         ΤΕΛΟΣ_ΑΝ
  39.       ΠΕΡΙΠΤΩΣΗ 3
  40.         ΑΝ TOP > 0 ΤΟΤΕ
  41.           ΓΙΑ Ι ΑΠΟ TOP ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
  42.             ΓΡΑΨΕ LIST[I]
  43.           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  44.         ΤΕΛΟΣ_ΑΝ
  45.     ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  46.   ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΛΟΓΗ=0
  47. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ενσωμάτωση Διαδικασίας και Προγράμματος

Page last modified on 21-04-2008 (17:12)