Προγραμματισμός με τη Free Pascal - Μέρος 6ο
From Ubuntucy Wiki
Συγγραφή: Χατζηκυριάκου Γιώργος
Διαδικασίες – procedures
Διαδικασία ονομάζετε μια ομάδα εντολών με ή χωρίς παραμέτρους, η εκτέλεση της οποίας προκαλείται μέσω μιας κλήσης διαδικασίας. Μαζί με τις συναρτήσεις (functions) μας γλυτώνουν από τον επαναληπτικό προγραμματισμό.
Πρόγραμμα 1
Program Lesson6_Program1;
procedure dia(aa, bb, cc, dd : integer);
begin
writeln ('aa :',aa,' bb :', bb,' cc :', cc,' dd :', dd);
end;
begin
dia(10,22,37,49);
end.
Βήματα εκτέλεσης:
1.Γίνετε η κλήση της διαδικασίας dia(10, 22, 37, 49); Με ορισματα τους ακεραίους 10, 22, 37, 49.
2.Οι ακέραιοι 10, 22, 37, 49 περνούν σαν ορίσματα στην διαδικασία dia(aa, bb, cc, dd : integer); στις μεταβλητές aa, bb, cc, dd
3.Γίνετε η παρουσίαση των μεταβλητών στην οθόνη και τερματίζετε η διαδικασία.
Ένα άλλο παράδειγμα:
Πρόγραμμα 2
Program Lesson6_Program2;
var a,b:integer;
procedure prosthesi(aa, bb: integer);
begin
writeln ('prosthesi :',aa+bb);
end;
procedure aferesi(aa, bb: integer);
begin
writeln ('aferesi :',aa-bb);
end;
begin
Write('Dose ton 1o akereo :');
readln(a);
Write('Dose ton 2o akereo :');
readln(b);
prosthesi(a,b);
aferesi(a,b);
end.
Βήματα εκτέλεσης:
1.Το πρόγραμμα μας ζητά δυο αριθμούς που αποθηκεύονται στις μεταβλητές a και b.
2.Στη συνέχεια καλείτε η διαδικασία prosthesi(a,b); όπου εκτυπώνει την πρόσθεση των δυο μεταβλητών και τερματίζετε η διαδικασία.
3.Μετά καλείτε η διαδικασία aferesi(a,b); όπου εκτυπώνει την αφαίρεση των δυο μεταβλητών και τερματίζετε η διαδικασία.
Συναρτήσεις- functions
Λειτουργούν όπως τις διαδικασίες αλλά οι συναρτήσεις επιστρέφουν μια τιμή στο κυρίως πρόγραμμα μέσω του ονόματος της.
Πρόγραμμα 3
Program Lesson6_Program3;
var a,b,pro,afe:integer;
function prosthesi(aa, bb: integer):integer;
begin
prosthesi := aa+bb;
end;
function aferesi(aa, bb: integer):integer;
begin
aferesi := aa-bb;
end;
begin
Write('Dose ton 1o akereo :');
readln(a);
Write('Dose ton 2o akereo :');
readln(b);
pro:= prosthesi(a,b);
afe:= aferesi(a,b);
writeln('Prosthesh :',pro,' Aferesh :',afe);
end.
Βήματα εκτέλεσης:
1.Το πρόγραμμα μας ζητά δυο αριθμούς που αποθηκεύονται στις μεταβλητές a και b.
2.Στη συνέχεια καλείτε η συνάρτηση prosthesi(a,b); όπου υπολογίζει την πρόσθεση των δυο μεταβλητών το αποτέλεσμα επιστρέφει και γίνετε εκχώρηση τιμής στη μεταβλητή pro του κυρίως προγράμματος.
3.Μετά καλείτε η συνάρτηση aferesi(a,b); όπου υπολογίζει την αφαίρεση των δυο μεταβλητών το αποτέλεσμα επιστρέφει και γίνετε εκχώρηση τιμής στη μεταβλητή afe του κυρίως προγράμματος.
4.Γίνετε παρουσίαση των αποτελεσμάτων στην οθόνη.
Ασκήσεις
1.Τροποποιείστε το Πρόγραμμα 1 ούτως ώστε η διαδικασία dia(10,22,37,49); να εκτελεστεί 10 φορές (να κάνετε χρήση βρόγχου).<br> 2.Να γράψετε μια συνάρτηση (function) στη Pascal που θα δέχεται σαν ορίσματα δυο ακεραίους και να επιστρέφει στο κυρίως πρόγραμμα τον μικρότερο. Το διάβασμα των δυο ακεραίων καθώς και η κλήση της συνάρτησης να γίνετε στο κυρίως πρόγραμμα.
Στο επόμενο και τελευταίο μέρος θα δούμε πώς μπορούμε να διαβάσουμε και να γράψουμε σε ένα σειριακό αρχείο κειμένου.

