Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Προγραμματισμός PASCAL
Συναρτήσεις (Functions) Ανδρέας Σάββα
2
Ένας διευθυντής μιας εταιρείας
Πληρώνει λογαριασμούς; Άπαντα τηλεφωνά; Καθαρίζει τα γραφεία;
3
ΚΑΤΑΜΕΡΙΣΜΟΣ ΕΡΓΑΣΙΑΣ
ΚΑΤΑΜΕΡΙΣΜΟΣ ΕΡΓΑΣΙΑΣ ΠΛΗΡΩΝΕΙ ΛΟΓΑΡΙΑΣΜΟΥΣ ΚΑΘΑΡΙΖΕΙ ΑΠΑΝΤΑ ΤΗΛΕΦΩΝΑ
4
Το Πρόγραμμα μας μέχρι σήμερα
Τυπώνει μηνύματα Διαβάζει τιμές μεταβλητών Υπολογίζει Παρουσιάζει αποτελέσματα
5
Θα ήταν καλό… Ένα μέρος να διαβάζει αριθμούς
Ένα άλλο μέρος να υπολογίζει και ένα άλλο να παρουσιάζει τα αποτελέσματα
6
Υποπρόγραμμα Είναι ένα αυτοδύναμο πρόγραμμα που έχει την ίδια δομή με το κυρίως πρόγραμμα. Δηλώνεται πριν το εκτελεστικό μέρος του προγράμματος και ενεργοποιείται όταν το καλέσουμε. Διαδικασίες (Procedures) Συναρτήσεις (Functions)
7
Λόγοι δημιουργίας υποπρογραμμάτων
Μείωση του μεγέθους του προγράμματος Αύξηση της σαφήνειας του προγράμματος Μείωση των λαθών
8
Συναρτήσεις στα Μαθηματικά
f(x) = x2 f(2) = f(-2) = f(4) = 4 16 Παράμετροι f(x,y) = x2+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 Sqr x x2 F(x) = x2
11
Χρήση υποπρογραμμάτων
Επικεφαλίδα Program Εxample; uses wincrt; Const ……… Var Procedure One; Begin End; Function Two(x:real):real; End. Δηλωτικό μέρος Εκτελεστικό μέρος
12
Υποπρογράμματα Μεταβλητές Τοπικές Γενικές ή Καθολικές Example One
Program Εxample; Const MAX = 10; Var x, y : real; Procedure One; Var n, m : integer; Procedure Inner; Var c : char; Begin ……… End; Function Two(x:real):real; Const PI = 3.14 Var x : integer; 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 IsBigger (a, b: integer) : boolean; Begin
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 - Παράδειγμα Main Program Program CalculateCube; uses wincrt;
Αρχή Cube(n) Ζήτα n kivos = Cube(n) Τύπωσε kivos Τέλος Main Program Program CalculateCube; uses wincrt; Var n, kivos : integer; Function Cube(num:integer):integer; Begin Cube := num * num * num End; Write(’Give a number: ’); Readln(n); kivos := cube(n); Writeln(’The cube of ’, n, ’ is ’, kivos) End. Είσοδος 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. Αποτέλεσμα 7 9 8 6
18
Άσκηση 1 Γράψετε ένα πρόγραμμα που θα ζητά την τιμή ενός προϊόντος και να παρουσιάζει την έκπτωση. Η έκπτωση να επιστρέφετε από μιαν συνάρτηση “Ekptosi” που θα παίρνει την τιμή σαν τυπική παράμετρος και να επιστρέφει την έκπτωση που είναι 15%.
19
Embadon = (Vasi x Ypsos) / 2
Άσκηση 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. Βοήθημα: = 0.46 num trunc(num)
27
Άσκηση 10 Να γράφει συνάρτηση “Power” για τον υπολογισμό της δύναμης ενός αριθμού. π.χ. power(2,3) = 23 = 8 power(4,2) = 42 = 16 Να γράφει συνάρτηση “Parastasi” για τον υπολογισμό της παράστασης 3x39x5. Χρησιμοποιώντας τη συνάρτηση Parastasi, να γράφει πρόγραμμα για τον υπολογισμό της παράστασης 363 965.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.