Θα ξεκινησουμε με καποια βασικα στοιχεια κυριως της Pascal (η γλωσσα που χρησιμοποιει o Lazarus). Αν κατι δεν καταλαβαινετε αφηστε ενα comment ή περιμενετε καποιο απο τα επομενα μαθηματα οπου θα εξηγησω περισσοτερα πραγματα.
Δομη Προγραμματος
Η βασικη δομη ενος προγραμματος στην Pascal ειναι:
PROGRAM ProgramName; // Εδω δηλωνεται το ονομα του προγραμματος
CONST // Εδω δηλωνονται οι σταθερες
TYPE // Εδω δηλωνονται οι τυποι μεταβλητων
VAR // Εδω δηλωνονται οι μεταβλητες
BEGIN
// Εδω, γραφουμε το κυριως προγραμμα
END.
Περισσοτερα σε επομενα μαθηματα… απλως σας δειχνω ενα παραδειγμα της δομης ενος προγραμματος για να καταλαβετε τα παρακατω, σχετικα με τις μεταβλητες και τις σταθερες.
Συνοπτικα
Τα σχόλια ξεκινουν με: // για μια σειρα ή αν εχουμε πολλες σειρες τοτε τα βαζουμε μεσα σε αγκυλες { }
Καθε εντολη τελειωνει με τον χαρακτηρα ; εκτος μερικων εξαιρεσεων
Για να αναθεσουμε σε μια μεταβλητη μια τιμη χρησιμοποιουμε τα συμβολα := πχ. myvar:=5;
Για να αναθεσουμε σε μια σταθερα την τιμη της χρησιμοποιουμε το συμβολο = πχ. myconst=5;
Οταν σε μια εντολη δινουμε καποιο κειμενο, τοτε αυτο υποχρεωτικα πρεπει να εσωκλειεται με τους χαρακτηρες ''
πχ. 'κειμενο'
Ονοματολογια Μεταβλητων/Σταθερων
Τα ονοματα των σταθερων/μεταβλητων δεν πρεπει να περιεχουν τους χαρακτηρες: ~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / |
επιτρεπεται ομως ο χαρακτηρας _
(underscope). Επιπλεον δεν πρεπει να εχουν το ιδιο ονομα με καποια εντολη της Pascal. Στην Pascal κεφαλαια και μικρα γραμματα θεωρουνται το ιδιο, ετσι τα παρακατω: myVar, MyVar, MYVAR θεωρουνται το ιδιο. Συνηθιζεται για λογους ευκολιας στην αναγνωση να βαζουμε κεφαλαια το πρωτο γραμμα των λεξεων που σχηματιζουν το ονομα της μεταβλητης μας. πχ LastMonth, NextRecord ή και Last_Month, Next_Record. To μηκος του ονοματος τους δεν εχει καποιο οριο.
Σταθερες
Οι σταθερες δηλωνονται στο ορισμα const και η τιμη τους δεν μπορει να αλλαξει κατα την εκτελεση του προγραμματος. Χρησιμοποιουμε τις σταθερες οταν εχουμε μια τιμη που χρησιμοποιουμε συχνα μεσα στο προγραμμα μας και πιθανον καποια στιγμη στο μελλον χρειαστει να την αλλαξουμε. Ετσι οταν θα χρειαστει να γινει η αλλαγη, αντι να αλλαζουμε την τιμη, καθε φορα που την εχουμε χρησιμοποιησει, την αλλαζουμε μονο στην αρχη που την εχουμε δηλωσει.
* Παραδειγματα *
const
Identifier1 = value;
Identifier2 = value;
Identifier3 = value;
const
Name = ‘Tao Yue’;
FirstLetter = ‘a’;
Year = 1997;
pi = 3.1415926535897932;
UsingNCSAMosaic = TRUE;
Επισης στις σταθερες μπορουμε να δηλωσουμε και τον τυπο τους πχ.
const
a : real = 12; //εδω η τιμη θα ειναι 12.0 γιατι ο τυπος real ειναι πραγματικος/δεκαδικος αριθμος
b : integer = 12; // εδω η θα ειναι 12 γιατι ο τυπος integer ειναι ακεραιος.
Μεταβλητες
Οι μεταβλητες δηλωνονται στο ορισμα Var, η τιμη τους μπορει να αλλαχθει κατα την διαρκεια εκτελεσης του προγραμματος. Οι μεταβλητες στην Pascal πρεπει παντα να δηλωνονται πριν χρησιμοποιηθουν διαφορετικα το πργραμμα θα παρουσιαση σφαλμα. Στις μεταβλητες πρεπει παντα να δηλωνουμε τι τυπο τιμης θα εχουν, δηλαδη αν θα ειναι αριθμος (και τι αριθμος), χαρακτηρας, κειμενο ή αλλο. Οι βασικοι τυποι για μια μεταβλητη ειναι οι παρακατω:
- integer, δηλωνει ακεραιους αριθμους
- real, δηλωνει δεκαδικους αριθμους
- byte, δηλωνει εναν αριθμο του ενος byte
- word, δηλωνει εναν αριθμο 4αρων bytes
- set, δηλωνει ενα συνολο
- pointer, δηλωνει την θεση μιας τιμης, στην μνημη του υπολογιστη
- string, δηλωνει κειμενο
- char, δηλωνει εναν χαρακτηρα μονο
- boolean, δηλωνει μια μεταβλητη που μπορει να παρει μονο τις τιμες false και true
…για περισσοτερες πληροφοριες, δειτε εδω και εδω
* Παραδειγματα *
var
age, year, grade : integer; //πολλες μεταβλητες του ιδιου τυπου χωριζονται με κομμα
circumference : real;
LetterGrade : char;
DidYouFail : Boolean;
Aναθεση τιμης σε μεταβλητη
Για να δωσουμε/αναθεσουμε μια τιμη σε μια μεταβλητη το κανουμε ως εξεις:
myvar:=100; // Αν η μεταβλητη μας ειναι αριθμος πχ. integer.
mystring:='Elton John'; // Aν η μεταβλητη μας ειναι κειμενο, string.
Προσεξτε, χρησιμοποιουμε ανω-κατω τελεια και ισον… οχι μονο το ισον. Στην περιπτωση που η μεταβλητη μας ειναι αριθμος μπορουμε να τις δωσουμε την τιμη ενος αποτελεσματος αριθμητικων πραξεων. Δηλαδη:
some_real := 37573.5 * 37593 + 385.8 / 367.1;
some_real := 37.5 * (-2);
Επισης μπορουμε σε μια μεταβλητη να δωσουμε την τιμη μιας αλλης μεταβλητης. πχ.
var
some_int : integer;
some_real : real;
begin
some_int := 375;
some_real := some_int;
end.
…θα πρεπει ομως να προσεξουμε οι τυποι των μεταβλητων να ειναι ιδιοι ή η μεταβλητη που τις αναθετουμε την τιμη να εχει τετοιο τυπο που να περικλειει και τον τυπο της μεταβλητης που της αναθετουμε. Στο παραπανω παραδειγμα, αναθετουμε μια μεταβλητη τυπου integer σε μια μεταβλητη τυπου real. Ως γνωστων απο τα μαθηματικα οι πραγματικοι αριθμοι, περιεχουν τους ακεραιους.
Το ιδιο μπορουμε να κανουμε και με δυο μεταβλητες με τυπο , κειμενου/string και χαρακτηρα/char αντιστοιχα.
var
some_char : char;
some_string : string;
begin
some_char := ‘x’;
some_string := some_char + some_char + some_char;
End.
Οπως ειδαμε σε παραδειγματα παραπανω, μπορουμε να κανουμε στην Pascal αριθμητικες πραξεις με αριθμους και μεταβλητες αριθμητικου τυπου. Οι πραξεις που υποστηριζει η Pascal ειναι οι παρακατω:
Συμβολο |
Πραξη |
Τυπος μεταβ. |
Αποτελεσμα
|
+ |
Προσθεση ή υποδειξη θετικου αριθμου |
real ή integer |
real ή integer
|
– |
Αφαιρεση ή υποδειξη αρνητικου αριθμου |
real ή integer |
real ή integer
|
* |
Πολλαπλασιασμος |
real ή integer |
real ή integer
|
/ |
Διαιρεση πραγματικων αριθμων |
real ή integer |
real
|
div |
Διαιρεση ακεραιων αριθμων |
integer |
integer
|
mod |
Υπολοιπο διαιρεσης |
integer |
integer |
* Παραδειγματα *
7 mod 3 δεινει αποτελεσμα 1
7 / 2 δεινει αποτελεσμα 3.5 αφου το / δεινει παντα αποτελεσμα πραγματικο αριθμο ενω, 7 div 2 θα δωσει αποτελεσμα 3 αφου το div δεινει αποτελεσμα παντα ακεραιο αριθμο.