Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προγραμματισμός PASCAL Συναρτήσεις (Functions) Ανδρέας Σάββα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προγραμματισμός PASCAL Συναρτήσεις (Functions) Ανδρέας Σάββα."— Μεταγράφημα παρουσίασης:

1 Προγραμματισμός PASCAL Συναρτήσεις (Functions) Ανδρέας Σάββα

2 Ένας διευθυντής μιας εταιρείας   Πληρώνει λογαριασμούς;   Άπαντα τηλεφωνά;   Καθαρίζει τα γραφεία;

3 ΚΑΘΑΡΙΖΕΙ ΠΛΗΡΩΝΕΙ ΛΟΓΑΡΙΑΣΜΟΥΣ ΑΠΑΝΤΑ ΤΗΛΕΦΩΝΑ

4 Το Πρόγραμμα μας μέχρι σήμερα  Τυπώνει μηνύματα  Διαβάζει τιμές μεταβλητών  Υπολογίζει  Παρουσιάζει αποτελέσματα

5 Θα ήταν καλό…  Ένα μέρος να διαβάζει αριθμούς  Ένα άλλο μέρος να υπολογίζει  και ένα άλλο να παρουσιάζει τα αποτελέσματα

6 Υποπρόγραμμα  Είναι ένα αυτοδύναμο πρόγραμμα που έχει την ίδια δομή με το κυρίως πρόγραμμα.  Δηλώνεται πριν το εκτελεστικό μέρος του προγράμματος και ενεργοποιείται όταν το καλέσουμε. Διαδικασίες (Procedures) Συναρτήσεις (Functions)

7 Λόγοι δημιουργίας υποπρογραμμάτων  Μείωση του μεγέθους του προγράμματος  Αύξηση της σαφήνειας του προγράμματος  Μείωση των λαθών

8 Συναρτήσεις στα Μαθηματικά f(x) = x 2 Παράμετροι f(2) = f(-2) = f(4) = f(x,y) = x 2 +y f(2,3) = f(-2,-3) = 7 1 f = 3

9 Συναρτήσεις Συνάρτηση Κανένα ή πολλά δεδομένα εισόδου (παράμετροι) Ακριβώς ένα αποτέλεσμα αποτέλεσμαεξόδου

10 Συναρτήσεις που ξέρουμε Sqr(4) = 16 Sqrt(4) = 2.0 Pred(45) = 44 Succ(’A’) = ’B’ Round(7.6) = 8 Trunc(7.6) = 7 Abs(-4.2) = 4.2 Sqrx x2x2x2x2 F(x) = x 2

11 Χρήση υποπρογραμμάτων Program Εxample; uses wincrt; Const ……… Var ……… Procedure One; Const ……… Var ……… Begin ……… End; Function Two(x:real):real; Const ……… Var ……… Begin ……… End; Begin ……… End. Δηλωτικό μέρος Εκτελεστικό μέρος Επικεφαλίδα

12 Υποπρογράμματα Program Εxample; Const MAX = 10; Var x, y : real; Procedure One; Var n, m : integer; Procedure Inner; Var c : char; Begin ……… End; Begin ……… End; Function Two(x:real):real; Const PI = 3.14 Var x : integer; Begin ……… End; Begin ……… End.  Μεταβλητές  Τοπικές  Γενικές ή Καθολικές Example One Inner Two ΤοπικέςΓενικές Τοπικές Γενικές MAX, x, y n, m MAX, x, y c n, m, MAX, x, y PI, x MAX, y

13 Δομή Συνάρτησης Function ( ) : ; Const ……… Var ……… Begin ……… := End; Function IsBigger (a, b: integer) : boolean; Begin IsBigger := a > b End;

14 Παράδειγμα Function MySqr (x : integer) : integer; Begin MySqr := x * x End; Όνομα Τυπική παράμετρος Τύπος επιστρεφόμενης τιμής τιμής Επιστρεφόμενη τιμή Οι συναρτήσεις ενεργοποιούνται όταν τις καλέσουμε: Writeln(MySqr(6)); y := 1 + MySqr(3-1); n := 3 * MySqr(round(Sqrt(9)-1));

15 Function - Παράδειγμα Program CalculateCube; uses wincrt; Var n, kivos : integer; Function Cube(num:integer):integer; Begin Cube := num * num * num Cube := num * num * numEnd;Begin Write(’Give a number: ’); Write(’Give a number: ’); Readln(n); Readln(n); kivos := cube(n); kivos := cube(n); Writeln(’The cube of ’, n, ’ is ’, kivos) Writeln(’The cube of ’, n, ’ is ’, kivos)End. Αρχή Cube(n) Ζήτα n kivos = Cube(n) Τύπωσε kivos Τέλος Main Program Είσοδος Cube = num * num * num Έξοδος Function Cube(n)

16 Program Example; Var a, b, c : integer; ch : char; Function First (a, b : integer; c : real) : char; Begin... End; Begin (* main *) a := 1; b := 3; c := 7;... ch := First (5, c, a); End. Πραγματικές παράμετροι Τυπικές παράμετροι Παράμετροι  Τυπικές  Πραγματικές

17 Παράδειγμα Συνάρτησης Program Bigger; Var num : integer; Function max (a, b : integer) : integer; Begin if a > b then max := a else max := b End; Begin (* main *) writeln(max(4,7)); num := max(2*4-1, sqr(3)); writeln(num); writeln(max(max(4,5),8)); writeln(max(max(4,2),max(3,max(6,1)))); End. Αποτέλεσμα

18 Άσκηση 1  Γράψετε ένα πρόγραμμα που θα ζητά την τιμή ενός προϊόντος και να παρουσιάζει την έκπτωση. Η έκπτωση να επιστρέφετε από μιαν συνάρτηση “Ekptosi” που θα παίρνει την τιμή σαν τυπική παράμετρος και να επιστρέφει την έκπτωση που είναι 15%.

19 Άσκηση 2  Γράψετε ένα πρόγραμμα που θα ζητά τη βάση και το ύψος ενός ορθογωνίου τριγώνου και να παρουσιάζει το εμβαδόν του. Το εμβαδόν να επιστρέφετε από τη συνάρτηση “Emvadon” που θα παίρνει την βάση και το ύψος σαν τυπικές παραμέτρους. Embadon = (Vasi x Ypsos) / 2

20 Άσκηση 3  Γράψετε μια συνάρτηση “Aferesi” που να παίρνει δύο αριθμούς και να επιστρέφει την διαφορά τους. Γράψετε και το πρόγραμμα που θα διαβάζει τους αριθμούς, θα καλεί την συνάρτηση και θα παρουσιάζει το αποτέλεσμα.

21 Άσκηση 4  Γράψετε μια συνάρτηση “Calculator” που να παίρνει δύο αριθμούς α και β και ένα χαρακτήρα και αν ο χαρακτήρας είναι: ’+’ να επιστρέφει α + β ’–’ να επιστρέφει α – β ’*’ να επιστρέφει α * β ’/’ να επιστρέφει α / β

22 Άσκηση 5  Γράψετε μια συνάρτηση “Sum” που να παίρνει δύο integer αριθμούς n και m και θα επιστρέφει το άθροισμα όλων των αριθμών από το n μέχρι το m. π.χ.  Sum(1,4) = = 10  Sum(4,9) = = 39  Sum(7,7) = 7  Sum(7,2) = 0

23 Άσκηση 6  Γράψετε μια συνάρτηση “Month” που να παίρνει τον αριθμό ενός μήνα και να επιστρέφει το όνομα του μήνα. π.χ.  Month(1) = “Ιανουάριος”  Month(4) = “Απρίλης”  Month(11) = “Νοέμβριος”

24 Άσκηση 7  Γράψετε μια συνάρτηση “Efivos” που να παίρνει την ηλικία ενός ατόμου και να επιστρέφει TRUE αν είναι έφηβος και FALSE αν δεν είναι. Ένας έφηβος έχει ηλικία από 12 μέχρι 18 ετών.

25 Άσκηση 8  Γράψετε μια συνάρτηση “PI” που να επιστρέφει την τιμή του π που είναι

26 Άσκηση 9  Να γράφει συνάρτηση “Decimal” που να επιστρέφει το δεκαδικό μέρος ενός αριθμού. Παράδειγμα:  Δίνω το και πρέπει να επιστέφει η συνάρτηση την τιμή  Βοήθημα: = 0.46 num trunc(num)

27 Άσκηση Να γράφει συνάρτηση “Power” για τον υπολογισμό της δύναμης ενός αριθμού. π.χ. power(2,3) = 2 3 = 8 power(4,2) = 4 2 = Να γράφει συνάρτηση “Parastasi” για τον υπολογισμό της παράστασης 3x 3 9x Χρησιμοποιώντας τη συνάρτηση Parastasi, να γράφει πρόγραμμα για τον υπολογισμό της παράστασης 3  6 3  9  6 5.


Κατέβασμα ppt "Προγραμματισμός PASCAL Συναρτήσεις (Functions) Ανδρέας Σάββα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google