Ιστορικό: DataStructures.Procedure-Exercises
Απόκρυψη μικρών αλλαγών - Αλλαγές περιεχομένου
21-04-2008 (17:12)
από 194.63.239.168 -
21-04-2008 (16:45)
από 194.63.239.168 -
Αλλαγή σειρών 5-6 από:
Να γράψετε δύο διαδικασίες οι οποίες θα μετατρέπουν συντεταγμένες. Η μία θα κάνει την μετατροπή από πολικές σε καρτεσιανές και η άλλη το αντίθετο. Οι πολικές εκφράζονται με τις μεταβλητές @@ρ, θ@@ και οι καρτεσιανές με τις @@x, y@@. Οι σχέσεις μεταξύ τους είναι:
σε:
Να γράψετε διαδικασία η οποία θα μετατρέπει συντεταγμένες από πολικές σε καρτεσιανές. Οι πολικές εκφράζονται με τις μεταβλητές @@ρ, θ@@ και οι καρτεσιανές με τις @@x, y@@. Οι σχέσεις μεταξύ τους είναι:
21-04-2008 (16:38)
από 194.63.239.168 -
Πρόσθεση σειρών 3-15:
!! Μετατροπή Συντεταγμένων
Να γράψετε δύο διαδικασίες οι οποίες θα μετατρέπουν συντεταγμένες. Η μία θα κάνει την μετατροπή από πολικές σε καρτεσιανές και η άλλη το αντίθετο. Οι πολικές εκφράζονται με τις μεταβλητές @@ρ, θ@@ και οι καρτεσιανές με τις @@x, y@@. Οι σχέσεις μεταξύ τους είναι:
[@
x=ρ*ΣΥΝ(θ)
y=ρ*ΗΜ(θ)
@]
!! Στρατιωτική Ώρα
Γράψτε διαδικασία η οποία να μετατρέπει την ώρα από στρατιωτική μορφή (π.χ. 1738) σε 12ωρη μορφή και να την επιστρέφει (για το παράδειγμα 5:38 μμ). Να μην γίνεται έλεγχος αν η στρατιωτική μορφή της ώρας είναι έγκυρη.
Αλλαγή σειρών 29-40 από:
||1: || 10 || 50 ||
||2: || 10.5 || 50.9 ||
||3: || 11 || 51.8 ||
||4: || 11.5 || 52.7 ||
||5: || 12 || 53.6 ||
||6: || 12.5 || 54.5 ||
||7: || 13 || 55,4 ||
||8: || 13.5 || 56.3 ||
||9: || 14 || 57.2 ||
||10: || 14.5 || 58.1 ||
||11: || 15 || 59 ||
σε:
||1: ||10 ||50 ||
||2: ||10.5 ||50.9 ||
||3: ||11 ||51.8 ||
||4: ||11.5 ||52.7 ||
||5: ||12 ||53.6 ||
||6: ||12.5 ||54.5 ||
||7: ||13 ||55,4 ||
||8: ||13.5 ||56.3 ||
||9: ||14 ||57.2 ||
||10: ||14.5 ||58.1 ||
||11: ||15 ||59 ||
16-04-2008 (19:17)
από 194.63.237.22 -
Διαγραφή σειρών 44-45:
! Πρόγραμμα και Διαδικασία
Αλλαγή σειρών 47-50 από:
! Μετατροπή Τμήματος Προγράμματος σε Συνάρτηση
Δίνεται το παρακάτω πρόγραμμα. Να βρείτε ποια τμήματα μπορούν να γίνουν διαδικασίες. Υλοποιήστε τις διαδικασίες και τροποποιήστε το πρόγραμμα ώστε να τις χρησιμοποιεί.
σε:
Τι θα εμφανίσει το παρακάτω πρόγραμμα;
Αλλαγή σειρών 50-52 από:
ΠΡΟΓΡΑΜΜΑ ΛΙΣΤΑ_FIFO
ΣΤΑΘΕΡΕΣ
SIZE=100
σε:
Αλλαγή σειρών 52-53 από:
ΑΚΕΡΑΙΕΣ: LIST[SIZE], TOP, I, ΤΙΜΗ, ΕΠΙΛΟΓΗ
σε:
Πρόσθεση σειρών 54-87:
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3
Α <- Ι^2 + 1
Β <- Ι^3 - 1
ΚΑΛΕΣΗ ΥΠΟΛΟΓΙΣΜΟΣ(Α, Β, Γ, Δ)
ΓΡΑΨΕ Γ, Δ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΛΟΓΙΣΜΟΣ(Χ, Υ, Ζ, W)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ, Υ, Ζ
ΑΡΧΗ
ΑΝ Υ-Χ<10 ΤΟΤΕ
Ζ <- 2*Χ-Υ
W <- 2*Y-X
ΑΛΛΙΩΣ
Ζ <- -2*Χ+Υ
W <- -2*Y+X
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
@]
! Μετατροπή Τμήματος Προγράμματος σε Διαδικασία
Δίνεται το παρακάτω πρόγραμμα. Να βρείτε ποια τμήματα μπορούν να γίνουν διαδικασίες. Υλοποιήστε τις διαδικασίες και τροποποιήστε το πρόγραμμα ώστε να τις χρησιμοποιεί.
(:source lang=glossa linenum :) [@
ΠΡΟΓΡΑΜΜΑ ΛΙΣΤΑ_FIFO
ΣΤΑΘΕΡΕΣ
SIZE=100
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: LIST[SIZE], TOP, I, ΤΙΜΗ, ΕΠΙΛΟΓΗ
ΑΡΧΗ
16-04-2008 (19:04)
από 194.63.237.23 -
Αλλαγή σειρών 30-31 από:
σε:
Να γράψετε μία διαδικασία η οποία θα δέχεται έναν πίνακα ακεραίων 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)
+------------------
@]
16-04-2008 (18:58)
από 194.63.239.168 -
Πρόσθεση σειρών 11-27:
!! Μετατροπή Θερμοκρασιών
Να γράψετε μία διαδικασία η οποία θα διαβάζει δύο θερμοκρασίες σε βαθμούς Κελσίου. Στη συνέχεια, θα εμφανίζει την μικρότερη, την μεγαλύτερη και 9 ενδιάμεσες τιμές και τις αντίστοιχες τιμές Φαρενάιτ. Η έξοδος, π.χ. για τις τιμές 10 και 15, θα είναι μορφοποιημένη όπως παρακάτω:
||border=1 width=15%
||1: || 10 || 50 ||
||2: || 10.5 || 50.9 ||
||3: || 11 || 51.8 ||
||4: || 11.5 || 52.7 ||
||5: || 12 || 53.6 ||
||6: || 12.5 || 54.5 ||
||7: || 13 || 55,4 ||
||8: || 13.5 || 56.3 ||
||9: || 14 || 57.2 ||
||10: || 14.5 || 58.1 ||
||11: || 15 || 59 ||
Αλλαγή σειρών 30-32 από:
Να γράψετε μία διαδικασία η οποία
σε:
09-04-2008 (16:34)
από 194.63.237.22 -
09-04-2008 (15:26)
από 194.63.239.168 -
Πρόσθεση σειρών 1-19:
! Δημιουργία Διαδικασίας
!! Έλεγχος Εισόδου
Να δημιουργήσετε μία διαδικασία η οποία θα διαβάζει μία τιμή και θα την επιστρέφει στο κυρίως πρόγραμμα. Η διαδικασία δέχεται δύο τιμές οι οποίες αντιπροσωπεύουν το κάτω όριο και το άνω όριο όπου γίνεται δεκτή η τιμή που διαβάζει. Σε περίπτωση που η τιμή δεν βρίσκεται μέσα στο καθορισμένο εύρος τιμών να εμφανίζει σχετικό μήνυμα και να ξαναδιαβάζει την τιμή μέχρι να δοθεί μία αποδεκτή.
!! Αντιμετάθεση Τιμών
Να γράψετε μία διαδικασία η οποία θα δέχεται δύο τιμές και θα τις αντιμεταθέτει, έτσι ώστε, στη θέση της πρώτης να είναι η τιμή της δεύτερης και στη θέση της δεύτερης η τιμή της πρώτης.
!! Μορφοποίηση Εξόδου
Να γράψετε μία διαδικασία η οποία
! Πρόγραμμα και Διαδικασία
! Πίνακας Τιμών
Αλλαγή σειρών 72-74 από:
σε:
@]
! Ενσωμάτωση Διαδικασίας και Προγράμματος
27-02-2008 (20:27)
από Aris -
Αλλαγή σειρών 3-4 από:
Δίνεται το παρακάτω πρόγραμμα. Να βρείτε ποια τμήματα μπορούν να γίνουν συνάρτηση. Υλοποιήστε τις συναρτήσεις και τροποποιήστε το πρόγραμμα ώστε να τις χρησιμοποιεί.
σε:
Δίνεται το παρακάτω πρόγραμμα. Να βρείτε ποια τμήματα μπορούν να γίνουν διαδικασίες. Υλοποιήστε τις διαδικασίες και τροποποιήστε το πρόγραμμα ώστε να τις χρησιμοποιεί.
Αλλαγή σειράς 6 από:
σε:
27-02-2008 (20:26)
από Aris -
Πρόσθεση σειρών 1-53:
! Μετατροπή Τμήματος Προγράμματος σε Συνάρτηση
Δίνεται το παρακάτω πρόγραμμα. Να βρείτε ποια τμήματα μπορούν να γίνουν συνάρτηση. Υλοποιήστε τις συναρτήσεις και τροποποιήστε το πρόγραμμα ώστε να τις χρησιμοποιεί.
(:source lang=glossa linenum :) [@
ΠΡΟΓΡΑΜΜΑ ΛΙΣΤΑ_LIFO
ΣΤΑΘΕΡΕΣ
SIZE=100
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: LIST[SIZE], TOP, I, ΤΙΜΗ, ΕΠΙΛΟΓΗ
ΑΡΧΗ
TOP <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "1. ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΟΥ ΣΤΗ ΛΙΣΤΑ"
ΓΡΑΨΕ "2. ΕΞΑΓΩΓΗ ΣΤΟΙΧΕΙΟΥ ΑΠΟ ΤΗ ΛΙΣΤΑ"
ΓΡΑΨΕ "3. ΕΜΦΑΝΙΣΗ ΛΙΣΤΑΣ"
ΓΡΑΨΕ "0. ΕΞΟΔΟΣ"
ΓΡΑΨΕ "ΔΩΣΤΕ ΕΠΙΛΟΓΗ (0-3):"
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ΕΠΙΛΟΓΗ
ΑΝ ΕΠΙΛΟΓΗ<0 Ή ΕΠΙΛΟΓΗ>3 ΤΟΤΕ
ΓΡΑΨΕ "ΔΩΣΤΕ ΕΠΙΛΟΓΗ (0-3):"
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΛΟΓΗ>=0 Ή ΕΠΙΛΟΓΗ<=3
ΕΠΙΛΕΞΕ ΕΠΙΛΟΓΗ
ΠΕΡΙΠΤΩΣΗ 1
ΓΡΑΨΕ "ΔΩΣΕ ΤΙΜΗ:"
ΔΙΑΒΑΣΕ ΤΙΜΗ
ΑΝ TOP < SIZE ΤΟΤΕ
TOP <- TOP+1
LIST[TOP] <- ΤΙΜΗ
ΑΛΛΙΩΣ
ΓΡΑΨΕ "ΓΕΜΑΤΗ ΛΙΣΤΑ!"
ΤΕΛΟΣ_ΑΝ
ΠΕΡΙΠΤΩΣΗ 2
ΑΝ TOP > 0 ΤΟΤΕ
ΓΡΑΨΕ LIST[TOP]
TOP <- TOP-1
ΑΛΛΙΩΣ
ΓΡΑΨΕ "ΑΔΕΙΑ ΛΙΣΤΑ!"
ΤΕΛΟΣ_ΑΝ
ΠΕΡΙΠΤΩΣΗ 3
ΑΝ TOP > 0 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ TOP ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
ΓΡΑΨΕ LIST[I]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΛΟΓΗ=0
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
@]