DataStructures: Functions-Exercises

Εύρεση Ελαχίστου Τριών Αριθμών

Να γράψετε συνάρτηση η οποία θα δέχεται τρεις αριθμούς και θα επιστρέφει την τιμή του μικρότερου. Με ποια εντολή μπορεί να κληθεί η συνάρτηση από το πρόγραμμα;

Όγκος Κύβου

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

Υπολογισμός Ημερών Από την Αρχή του Έτους

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

Καλλιέργεια Βακτηριδίων

Ο αριθμός των βακτηριδίων σε μία καλλιέργεια μπορεί να εκτιμηθεί από τον τύπο

όπου Ν ο αρχικός αριθμός βακτηριδίων, k ένας σταθερός αριθμός ανάπτυξης και t μία χρονική στιγμή. Γράψτε μια συνάρτηση που να υπολογίζει τον αριθμό των βακτηριδίων που υπάρχουν σε μια χρονική στιγμή t για δεδομένες τιμές των N και k.

Μετατροπή Αλφαβητικού Βαθμού σε Αριθμητικό Βαθμό

Γράψτε μία συνάρτηση η οποία να επιστρέφει ακέραια τιμή, να δέχεται έναν αλφαβητικό βαθμό και να επιστρέφει την αντίστοιχη αριθμητική τιμή, όπου A=4, B=3, C=2, D=1 και F=0. Για κάθε άλλο γράμμα θα επιστρέφει -1.

Μετατροπή Αριθμητικής Κλίμακας σε Αλφαβητικό Βαθμό

Γράψτε μια συνάρτηση η οποία να αναθέτει έναν αλφαβητικό βαθμό σε μία ακέραια βαθμολογία χρησιμοποιώντας την παρακάτω κλίμακα:

90-100A
80-99B
70-79C
60-69D
0-59F

Άθροισμα Στοιχείων Πίνακα

Να γράψετε συνάρτηση η οποία να υπολογίζει το άθροισμα των στοιχείων ενός πίνακα ο οποίος θα δίνεται ως παράμετρος. Τι άλλο χρειάζεται ως παράμετρο η συνάρτηση;

Εμφάνιση Απάντησης

Εκτός από τον πίνακα στις παραμέτρους θα πρέπει να έχουμε και το πλήθος των στοιχείων. Η παράμετρος αυτή είναι ακέραια.

  1. ΣΥΝΑΡΤΗΣΗ ΑΘΡΟΙΣΜΑ(Τ, Ν): ΠΡΑΓΜΑΤΙΚΗ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΠΡΑΓΜΑΤΙΚΕΣ: Τ[100], Ι, Σ
  4.   ΑΚΕΡΑΙΕΣ: Ν
  5. ΑΡΧΗ
  6.   Σ <- 0
  7.   ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
  8.     Σ <- Σ + Τ[Ι]
  9.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  10.   ΑΘΡΟΙΣΜΑ <- Σ
  11. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

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

ΜΟ_ΠΙΝΑΚΑ <- Σ / Ν

Όπου ΜΟ_ΠΙΝΑΚΑ το όνομα της συνάρτησης.

Εύρεση Ελαχίστου Στοιχείου Πίνακα

Να γράψετε συνάρτηση η οποία να επιστρέφει το ελάχιστο στοιχείο ενός πίνακα.

Εμφάνιση Απάντησης

  1. ΣΥΝΑΡΤΗΣΗ ΜΙΝ(Τ, Ν): ΑΚΕΡΑΙΑ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΠΡΑΓΜΑΤΙΚΕΣ: Τ[100], Ι
  4.   ΑΚΕΡΑΙΕΣ: Ν
  5. ΑΡΧΗ
  6.   ΜΙΝ <- Τ[1]
  7.   ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 100
  8.     ΑΝ Τ[Ι] < ΜΙΝ ΤΟΤΕ
  9.       ΜΙΝ <- Τ[Ι]
  10.     ΤΕΛΟΣ_ΑΝ
  11.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  12. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Παρατηρήστε ότι το όνομα της συνάρτησης μπορεί να χρησιμοποιηθεί σε οποιοδήποτε σημείο σαν μια οποιαδήποτε μεταβλητή.
Η συνάρτηση μπορεί πολύ εύκολα να τροποποιηθεί για να επιστρέφει το μεγαλύτερο.

Αναζήτηση Στοιχείου σε Πίνακα

Να γράψετε συνάρτηση η οποία να αναζητεί σε έναν πίνακα ένα στοιχείο και να επιστρέφει την θέση στην οποία εμφανίζεται.

Εμφάνιση Απάντησης

  1. ΣΥΝΑΡΤΗΣΗ ΑΝΑΖΗΤΗΣΗ(Τ, Ν, ΚΕΥ): ΠΡΑΓΜΑΤΙΚΗ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΠΡΑΓΜΑΤΙΚΕΣ: Τ[100], ΚΕΥ
  4.   ΑΚΕΡΑΙΕΣ: Ν, Ι
  5.   ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ
  6. ΑΡΧΗ
  7.   ΒΡΕΘΗΚΕ <- ΨΕΥΔΗΣ
  8.   Ι <- 1
  9.   ΟΣΟ (Ι <= Ν) ΚΑΙ (ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ
  10.     ΑΝ ΚΕΥ = Τ[Ι] ΤΟΤΕ
  11.       ΒΡΕΘΗΚΕ <- ΑΛΗΘΗΣ
  12.     ΑΛΛΙΩΣ
  13.       Ι <- Ι + 1
  14.     ΤΕΛΟΣ_ΑΝ
  15.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  16.   ΑΝ ΒΡΕΘΗΚΕ = ΑΛΗΘΗΣ
  17.     ΑΝΑΖΗΤΗΣΗ <- Ι
  18.   ΑΛΛΙΩΣ
  19.     ΑΝΑΖΗΤΗΣΗ <- 0
  20. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Ο πίνακας θεωρούμε ότι έχει πραγματικές τιμές, το ίδιο και το στοιχείο που αναζητούμε (ΚΕΥ). Η αναζήτηση γίνεται μέχρι να βρεθεί το πρώτο στοιχείο που ισούται με το ΚΕΥ. Η μεταβλητή ΒΡΕΘΗΚΕ χρησιμοποιείται γι' αυτό το σκοπό.

Τελειώνοντας ο βρόχος ΟΣΟ, αν το ΚΕΥ έχει βρεθεί, η μεταβλητή Ι έχει τη θέση αυτή. Διαφορετικά επιστρέφει την τιμή 0 η οποία δεν είναι έγκυρος δείκτης θέσης πίνακα και μπορεί να χρησιμοποιηθεί για να υποδείξει ανεπιτυχή αναζήτηση.

Αναζήτηση Στοιχείων Πίνακα σε Άλλον Πίνακα

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

Εμφάνιση Απάντησης

Συγχώνευση Προγράμματος και Συνάρτησης

Δίνονται το πρόγραμμα και το υποπρόγραμμα παρακάτω. Να φτιάξετε ένα πρόγραμμα το οποίο θα έχει το ίδιο αποτέλεσμα το οποίο όμως δεν θα χρησιμοποιεί συνάρτηση.

  1. ΠΡΟΓΡΑΜΜΑ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: Π, Υ
  4. ΑΡΧΗ
  5.   ΔΙΑΒΑΣΕ Π, Υ
  6.   ΟΣΟ ΟΡΙΟ(Π, Υ)>0 ΕΠΑΝΑΛΑΒΕ
  7.     ΕΠΙΛΕΞΕ ΟΡΙΟ(Π, Υ)
  8.       ΠΕΡΙΠΤΩΣΗ 3
  9.         ΓΡΑΨΕ "ΥΠΕΡΒΑΣΗ ΟΡΙΩΝ ΠΙΕΣΗΣ ΚΑΙ ΥΨΟΥΣ!"
  10.       ΠΕΡΙΠΤΩΣΗ 2
  11.         ΓΡΑΨΕ "ΥΠΕΡΒΑΣΗ ΟΡΙΟΥ ΠΙΕΣΗΣ!"
  12.       ΠΕΡΙΠΤΩΣΗ 1
  13.         ΓΡΑΨΕ "ΥΠΕΡΒΑΣΗ ΟΡΙΟΥ ΥΨΟΥΣ!"
  14.     ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  15.     ΔΙΑΒΑΣΕ Π, Υ
  16.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  17.   ΓΡΑΨΕ "ΕΝΤΟΣ ΟΡΙΩΝ ΑΣΦΑΛΕΙΑΣ"
  18. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  19.  
  20. ΣΥΝΑΡΤΗΣΗ ΟΡΙΟ(Χ, Υ) : ΑΚΕΡΑΙΑ
  21. ΜΕΤΑΒΛΗΤΕΣ
  22.   ΑΚΕΡΑΙΕΣ: Χ, Υ
  23. ΑΡΧΗ
  24.   ΑΝ Χ > 10 ΤΟΤΕ
  25.     ΑΝ Υ > 200 ΤΟΤΕ
  26.       ΟΡΙΟ <- 3
  27.     ΑΛΛΙΩΣ
  28.       ΟΡΙΟ <- 2
  29.     ΤΕΛΟΣ_ΑΝ
  30.   ΑΛΛΙΩΣ
  31.     ΑΝ Υ > 200 ΤΟΤΕ
  32.       ΟΡΙΟ <- 1
  33.     ΑΛΛΙΩΣ
  34.       ΟΡΙΟ <- 0
  35.     ΤΕΛΟΣ_ΑΝ
  36.   ΤΕΛΟΣ_ΑΝ
  37. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Αποτελέσματα Εκτέλεσης Προγράμματος με Υποπρόγραμμα

Να εκτελέσετε το παρακάτω πρόγραμμα για τις τιμές του πίνακα. Τι θα εκτυπωθεί για κάθε μία από τις τιμές; Συμπληρώστε το στη στήλη Ρ.

XYZP
ΨΕΥΔΗΣΨΕΥΔΗΣΨΕΥΔΗΣ______
ΨΕΥΔΗΣΨΕΥΔΗΣΑΛΗΘΗΣ______
ΨΕΥΔΗΣΑΛΗΘΗΣΨΕΥΔΗΣ______
ΨΕΥΔΗΣΑΛΗΘΗΣΑΛΗΘΗΣ______
ΑΛΗΘΗΣΨΕΥΔΗΣΨΕΥΔΗΣ______
ΑΛΗΘΗΣΨΕΥΔΗΣΑΛΗΘΗΣ______
ΑΛΗΘΗΣΑΛΗΘΗΣΨΕΥΔΗΣ______
ΑΛΗΘΗΣΑΛΗΘΗΣΑΛΗΘΗΣ______
  1. ΠΡΟΓΡΑΜΜΑ ΓΕΝΝΗΤΡΙΑ_ΑΡΤΙΑΣ_ΙΣΟΤΙΜΙΑΣ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΛΟΓΙΚΕΣ: Χ, Υ, Ζ, Ρ
  4. ΑΡΧΗ
  5.   ΔΙΑΒΑΣΕ Χ, Υ, Ζ
  6.   Ρ <- XOR(X, XOR(Y, Z))
  7.   ΓΡΑΨΕ Ρ
  8. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  9.  
  10. ΣΥΝΑΡΤΗΣΗ XOR(Α, Β): ΛΟΓΙΚΗ
  11. ΜΕΤΑΒΛΗΤΕΣ
  12.   ΛΟΓΙΚΕΣ: Α, Β
  13. ΑΡΧΗ
  14.   XOR <- (Α ΚΑΙ ΟΧΙ(Β)) Ή (ΟΧΙ(Α) ΚΑΙ Β))
  15. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Υπολογισμός Τιμής

Μία πλάστιγγα (ζυγαριά μεγάλου βάρους) ζυγίζει οχήματα σε έναν τελωνειακό σταθμό. Αν το βάρος του οχήματος είναι μέχρι 2000 κιλά, το όχημα περνάει τον έλεγχο χωρίς επιβάρυνση. Αν το βάρος είναι μεταξύ 2000 και 3000 κιλών, τότε προστίθεται επιβάρυνση 10 λεπτά ανά κιλό άνω των 2000. Αν το βάρος του οχήματος ξεπερνά τα 3000 κιλά, τότε η επιβάρυνση είναι 15 λεπτά ανά κιλό άνω των 3000. Γράψτε πρόγραμμα, το οποίο θα υπολογίζει τη συνολική επιβάρυνση για Ν οχήματα (όπου Ν θετικός ακέραιος που δίνει ο χρήστης). Για τον υπολογισμό της επιβάρυνσης του κάθε οχήματος χρησιμοποιήστε συνάρτηση.

Ασκήσεις με Ολοκληρώματα

Το ρεύμα i που διέρχεται από έναν πυκνωτή δίνεται από τον τύπο

To i είναι σε Ampers και το t η χρονική περίοδος σε sec. Η τάση κατά μήκος του πυκνωτή δίνεται από τον τύπο

Το v είναι σε Volts και το t πάλι η χρονική περίοδος σε sec. Αν η χωρητικότητα του πυκνωτή είναι 5F (C=5), υπολογίστε το v για τις χρονικές στιγμές t=1, 2, 3, 4, 5.


Η περιφέρεια C μιας έλλειψης με κύριο άξονα 2a και δευτερεύοντα άξονα 2b δίνεται από τον τύπο

Έστω μία αίθουσα ελλειψοειδούς μορφής με a=20m, b=10m και ύψος και ύψος h=5m. Βρείτε την συνολική περιοχή A=hC του τοιχώματος της αίθουσας.

Page last modified on 29-04-2008 (10:27)