Πραγματικός τύπος δεδομένων της γλώσσας Pascal. Περίληψη: Τύποι δεδομένων σε Pascal

Οι τακτικοί τύποι περιλαμβάνουν (βλ. Εικόνα 4.1) τύπους ακέραιων, λογικών, χαρακτήρων, απαριθμημένων και εύρους. Η συνάρτηση ORD(X) είναι εφαρμόσιμη σε οποιαδήποτε από αυτές, η οποία επιστρέφει τον τακτικό αριθμό της τιμής της παράστασης X. Για ακέραιους τύπους, η συνάρτηση ORD(X) επιστρέφει την τιμή του ίδιου του X, δηλ. ORD(X) = X για X που ανήκει σε οποιονδήποτε τύπο κελύφους. Η εφαρμογή του ORD(X) σε τύπους boolean, χαρακτήρων και απαρίθμησης παράγει έναν θετικό ακέραιο αριθμό στο εύρος 0 έως 1 (boolean), 0 έως 155 (χαρακτήρας), 0 έως 65535 (απαρίθμηση). Ένας τύπος εύρους διατηρεί όλες τις ιδιότητες του υποκείμενου τακτικού τύπου, επομένως το αποτέλεσμα της εφαρμογής της συνάρτησης ORD(X) σε αυτόν εξαρτάται από τις ιδιότητες αυτού του τύπου.

Μπορείτε επίσης να εφαρμόσετε συναρτήσεις σε τακτικούς τύπους:

PRED (X) - επιστρέφει την προηγούμενη τιμή του τακτικού τύπου (την τιμή που αντιστοιχεί στον τακτικό αριθμό ORD(X) - 1), δηλ.

ORD(PRED(X)) = ORD(X) - 1;

SUCC (X) - επιστρέφει την επόμενη τακτική τιμή που ταιριάζει με τον τακτικό αριθμό ORD(X) +1, δηλ.

ORD(SUCC(X)) = ORD(X) + 1.

Για παράδειγμα, εάν ένα πρόγραμμα ορίζει μια μεταβλητή

τότε η συνάρτηση PRED(C) θα επιστρέψει την τιμή "4", και η συνάρτηση SUCC(C) θα επιστρέψει την τιμή "6".

Αν φανταστούμε οποιονδήποτε τακτικό τύπο ως ένα διατεταγμένο σύνολο τιμών, που αυξάνεται από αριστερά προς τα δεξιά και καταλαμβάνει ένα συγκεκριμένο τμήμα στον άξονα αριθμών, τότε η συνάρτηση PRED(X) δεν ορίζεται για το αριστερό και SUCC(X) για το δεξί τέλος αυτού του τμήματος.

Ολόκληροι τύποι. Το εύρος των πιθανών τιμών των ακέραιων τύπων εξαρτάται από την εσωτερική τους αναπαράσταση, η οποία μπορεί να είναι ένα, δύο ή τέσσερα byte. Στον πίνακα Το 4.1 δείχνει το όνομα των τύπων ακεραίων, το μήκος της εσωτερικής αναπαράστασής τους σε byte και το εύρος των πιθανών τιμών.

Πίνακας 4.1

Όταν χρησιμοποιείτε διαδικασίες και συναρτήσεις με ακέραιες παραμέτρους, θα πρέπει να καθοδηγηθείτε από την «φωλιοποίηση» των τύπων, π.χ. Όπου μπορεί να χρησιμοποιηθεί το WORD, μπορεί να χρησιμοποιηθεί BYTE (αλλά όχι το αντίστροφο), το LONGINT "περιλαμβάνει" ΑΚΕΡΑΙΟΣ, το οποίο, με τη σειρά του, περιλαμβάνει SHORTINT.

Ο κατάλογος των διαδικασιών και των συναρτήσεων που ισχύουν για ακέραιους τύπους δίνεται στον Πίνακα 4.2. Γράμματα b, s, w, i, lΟι εκφράσεις του τύπου BYTE, SHORTINT, WORD, INTEGER και LONGINT ορίζονται αντίστοιχα, το x είναι μια έκφραση οποιουδήποτε από αυτούς τους τύπους. γράμματα vb, vs, vw, vi, vl, vxδηλώνουν μεταβλητές των αντίστοιχων τύπων. Μια προαιρετική παράμετρος υποδεικνύεται σε αγκύλες.

Πίνακας 4.2

Τυπικές διαδικασίες και λειτουργίες που ισχύουν για ολόκληρους τύπους
Εφεση Τύπος αποτελέσματος Δράση
κοιλιακοί (x) Χ Επιστρέφει την ενότητα x
chr(b) Απανθρακώνω Επιστρέφει έναν χαρακτήρα από τον κωδικό του
dec(vx[, i]) - Μειώνει την τιμή του vx κατά i και ελλείψει i - κατά 1
inc(vx[, i]) - Αυξάνει την τιμή του vx κατά i και ελλείψει i - κατά 1
Γεια (i) Ψηφιόλεξη Επιστρέφει το υψηλό byte του ορίσματος
Γεια σου Ιδιο Ιδιο
Lo(i) " Επιστρέφει το χαμηλό byte του ορίσματος
Χαμηλός) " Ιδιο
περίεργο(l) Boolean Επιστρέφει True εάν το όρισμα είναι περιττός αριθμός
Τυχαία (w) Το ίδιο με την παράμετρο Επιστρέφει έναν ψευδοτυχαίο αριθμό ομοιόμορφα κατανεμημένο στο εύρος 0...(w-l)
sgr(x) Χ Επιστρέφει το τετράγωνο του επιχειρήματος
swap(i) Ακέραιος αριθμός Ανταλλάσσει byte με μια λέξη
swap(w) Λέξη

Όταν λειτουργούμε με ακέραιους αριθμούς, ο τύπος του αποτελέσματος θα αντιστοιχεί στον τύπο των τελεστών και εάν οι τελεστές είναι διαφορετικών ακέραιων τύπων, ο τύπος του τελεστή που έχει τη μέγιστη ισχύ (μέγιστο εύρος τιμών). Πιθανή υπερχείλιση του αποτελέσματος δεν ελέγχεται με κανέναν τρόπο, γεγονός που μπορεί να οδηγήσει σε παρεξηγήσεις, για παράδειγμα:

a:= 32767; (Μέγιστη δυνατή τιμή INTEGER)

x:= a + 2; (Υπερχείλιση κατά την αξιολόγηση αυτής της έκφρασης !}

y:= LongInt(a)+2; (Καμία υπερχείλιση μετά τη ρίψη της μεταβλητής σε πιο ισχυρό τύπο)

WriteLn(x:10:0, y:10:0)

Ως αποτέλεσμα της εκτέλεσης του προγράμματος παίρνουμε

Τύπος Boolean. Οι τιμές Boole μπορεί να είναι μία από τις προ-δηλωμένες σταθερές FALSE ή TRUE. Οι κανόνες ισχύουν για αυτούς:

Ψευδής< True;

succ(Λάθος)= Σωστό;

pred(True) = Λάθος.

Δεδομένου ότι ο τύπος Boolean είναι ένας τακτικός τύπος, μπορεί να χρησιμοποιηθεί σε έναν μετρήσιμο τελεστή τύπου, για παράδειγμα:

για 1:= Λάθος έως Σωστό κάντε ....

Τύπος χαρακτήρα.Η τιμή ενός τύπου χαρακτήρα είναι το σύνολο όλων των χαρακτήρων του υπολογιστή. Σε κάθε χαρακτήρα εκχωρείται ένας ακέραιος αριθμός στην περιοχή 0...255. Αυτός ο αριθμός χρησιμεύει ως ο κωδικός για την εσωτερική αναπαράσταση του συμβόλου που επιστρέφεται από τη συνάρτηση ORD.

Ο κωδικός ASCII χρησιμοποιείται για την κωδικοποίηση ( Αμερικανικός τυποποιημένος κώδικας ανταλλαγής πληροφοριών- Αμερικανικός τυποποιημένος κώδικας ανταλλαγής πληροφοριών). Αυτός είναι ένας κωδικός 7-bit, δηλ. μπορεί να κωδικοποιήσει μόνο 128 χαρακτήρες στην περιοχή από 0 έως 127. Ταυτόχρονα, στο byte των 8 bit που διατίθεται για την αποθήκευση ενός χαρακτήρα στο Turbo Pascal, μπορείτε να κωδικοποιήσετε διπλάσιο αριθμό χαρακτήρων στην περιοχή από 0 έως 255. Το πρώτο μισό των χαρακτήρων PC με κωδικούς 0...127 αντιστοιχεί στο πρότυπο ASCII (Πίνακας 4.3). Το δεύτερο μισό των χαρακτήρων με κωδικούς 128...255 δεν περιορίζεται από το άκαμπτο πλαίσιο του προτύπου και μπορούν να αλλάξουν σε διαφορετικούς τύπους υπολογιστών (το Παράρτημα 2 δείχνει μερικές κοινές επιλογές κωδικοποίησης για αυτούς τους χαρακτήρες).

Πίνακας 4.3

Κωδικοποίηση χαρακτήρων σύμφωνα με το πρότυπο ASCII
Κώδικας Σύμβολο Κώδικας Σύμβολο Κώδικας Σύμβολο Κώδικας Σύμβολο
NUL B.L. ® "
ΖΩΝ ! ΕΝΑ ένα
STX " ΣΕ σι
ETX # ΜΕ Με
ΕΟΤ $ ρε ρε
ENQ % μι μι
ΠΑΡΑΚΑΛΩ & φά φά
BEL " σολ σολ
B.S. ( H η
NT ) Εγώ Εγώ
LF * J ι
VT + κ κ
FF , μεγάλο Εγώ
CR - Μ Μ
ΕΤΣΙ . Ν n
ΣΙ. / ΣΧΕΤΙΚΑ ΜΕ
ΔΕΛ Π Π
DC1 Q q
DC2 R r
DC3 μικρό μικρό
DC4 Τ t
Ν.Α.Κ. U u
ΣΥΝ V V
ETB w w
ΜΠΟΡΩ Χ Χ
Η Ε.Μ. U U
ΥΠΟ : z z
ESC / [ {
FS < \ μεγάλο
Γ.Σ. = ] }
R.S. > ^ ~
ΜΑΣ ? - n

Οι χαρακτήρες με κωδικούς 0...31 αναφέρονται σε κωδικούς υπηρεσίας. Εάν αυτοί οι κωδικοί χρησιμοποιούνται στο κείμενο χαρακτήρων του προγράμματος, θεωρούνται κενά. Όταν χρησιμοποιούνται σε λειτουργίες I/O, μπορούν να έχουν την ακόλουθη ανεξάρτητη σημασία:

Σύμβολο Κώδικας Εννοια
BEL Κλήση; Η εμφάνιση αυτού του συμβόλου συνοδεύεται από ηχητικό σήμα
NT Οριζόντιος πίνακας; όταν εμφανίζεται στην οθόνη, μετακινεί τον κέρσορα σε μια θέση που είναι πολλαπλάσιο του 8 συν 1 (9, 17, 25, κ.λπ.)
LF Μετάφραση γραμμής. όταν εμφανίζεται στην οθόνη, όλοι οι επόμενοι χαρακτήρες θα εξάγονται ξεκινώντας από την ίδια θέση, αλλά στην επόμενη γραμμή
VT Κάθετη καρτέλα? όταν εμφανίζεται στην οθόνη, αντικαθίσταται με έναν ειδικό χαρακτήρα
FF Εκτέλεση σελίδας. όταν εξάγεται σε έναν εκτυπωτή, σχηματίζει μια σελίδα όταν εξάγεται στην οθόνη, αντικαθίσταται με έναν ειδικό χαρακτήρα
CR Επιστροφή μεταφοράς; εισάγεται πατώντας το πλήκτρο Enter (όταν εισάγεται χρησιμοποιώντας READ ή READLN, σημαίνει την εντολή "Enter" και δεν τοποθετείται στην προσωρινή μνήμη εισόδου, όταν εξέρχεται, σημαίνει την εντολή "Συνέχεια εξόδου από την αρχή της τρέχουσας γραμμής")
ΥΠΟ Τέλος αρχείου. εισάγεται από το πληκτρολόγιο πατώντας Ctrl-Z. όταν βγαίνει αντικαθίσταται με ειδικό σήμα
SSC Τέλος εργασίας; εισάγεται από το πληκτρολόγιο πατώντας το πλήκτρο ESC. όταν βγαίνει αντικαθίσταται με ειδικό σήμα

Οι σχεσιακές λειτουργίες, καθώς και οι ενσωματωμένες συναρτήσεις, ισχύουν για τον τύπο CHAR: CHAR(B) - συνάρτηση τύπου CHAR. μετατρέπει μια έκφραση Β τύπου BYTE σε χαρακτήρα και την επιστρέφει με την τιμή της.

UPCASE(CH) - Λειτουργία τύπου CHAR. επιστρέφει το κεφαλαίο γράμμα εάν το CH είναι πεζό λατινικό γράμμα, διαφορετικά επιστρέφει τον ίδιο τον χαρακτήρα CH, για παράδειγμα:

cl:= UpCase("s");

c2:= UpCase ("Ф") ;

WriteLn(cl," ",c2)

Δεδομένου ότι η συνάρτηση UPCASE δεν επεξεργάζεται κυριλλικά, το αποτέλεσμα της εκτέλεσης αυτής

τα προγράμματα θα εμφανιστούν στην οθόνη

Τύπος Enum. Ένας απαριθμημένος τύπος καθορίζεται από μια απαρίθμηση των τιμών που μπορεί να λάβει. Κάθε τιμή ονομάζεται από κάποιο αναγνωριστικό και βρίσκεται σε μια λίστα που περιβάλλεται από παρενθέσεις, για παράδειγμα:

χρώματα =(κόκκινο, λευκό, μπλε);

Η χρήση απαριθμημένων τύπων κάνει τα προγράμματα πιο οπτικά. Εάν, για παράδειγμα, το πρόγραμμα χρησιμοποιεί δεδομένα που σχετίζονται με τους μήνες του έτους, τότε το ακόλουθο τμήμα του προγράμματος:

TypeMonth=(Ιαν, Φεβ, Μάρτιος, Απρίλιος, Μάιος, Ιούνιος, Ιούλιος, Αύγουστος, Σεπ, Οκτώβριος, Νοέμβριος, Δεκέμβριος);

μήνας: ΤύποςΜήνας;

αν μήνας = Αύγουστος τότε WriteLn("Θα ήταν ωραίο να πάμε στη θάλασσα!");

Θα ήταν, βλέπετε, πολύ ξεκάθαρο. Αλίμονο! Στο Turbo Pascal δεν μπορείτε να χρησιμοποιήσετε κυριλλικά σε αναγνωριστικά, οπότε αναγκαζόμαστε να γράψουμε ως εξής:

TypeMonth=(Ιαν.

μήνας: ΤύποςΜήνας;

αν μήνας = αυγ. τότε WriteLn("Θα ήταν ωραίο να πάμε στη θάλασσα!");

Η αντιστοιχία μεταξύ των τιμών ενός απαριθμημένου τύπου και των τακτικών αριθμών αυτών των τιμών καθορίζεται με τη σειρά απαρίθμησης: η πρώτη τιμή στη λίστα λαμβάνει τον τακτικό αριθμό 0, η δεύτερη - 1 κ.λπ. Η μέγιστη χωρητικότητα ενός απαριθμημένου τύπου είναι 65536 τιμές, επομένως στην πραγματικότητα ένας απαριθμημένος τύπος ορίζει ένα συγκεκριμένο υποσύνολο ολόκληρου του τύπου WORD και μπορεί να θεωρηθεί ως συμπαγής δήλωση μιας ομάδας ακεραίων σταθερών με τιμές 0, 1, κ.λπ.

Η χρήση απαριθμημένων τύπων αυξάνει την αξιοπιστία των προγραμμάτων επιτρέποντάς σας να ελέγχετε τις τιμές που λαμβάνουν οι αντίστοιχες μεταβλητές. Για παράδειγμα, ας δοθούν οι παρακάτω απαριθμηθέντες τύποι:

χρώματα = (μαύρο, κόκκινο, λευκό);

ordenal= (ένα, δύο, τρία);

ημέρες = (Δευτέρα, Τρίτη, Τετάρτη);

Όσον αφορά την ισχύ και την εσωτερική εκπροσώπηση, και οι τρεις τύποι είναι ισοδύναμοι:

ord(μαύρο)=0, ..., ord(λευκό)=2,

ord(one)=0, ...ord(τρία)=2,

ord(Δευτέρα)=0, ...ord(Τετάρτη)=2.

Ωστόσο, εάν οριστούν οι μεταβλητές

col:colors; num:ordenal;

τότε επιτρέπονται οι χειριστές

num:= succ(δύο);

day:= pred(Tuesday);

αλλά απαράδεκτο

Όπως ήδη αναφέρθηκε, υπάρχει μια αντιστοιχία ένα προς ένα μεταξύ των τιμών ενός απαριθμημένου τύπου και του συνόλου των ακεραίων, που καθορίζονται από τη συνάρτηση ORD(X). Το Turbo Pascal επιτρέπει επίσης την αντίστροφη μετατροπή: οποιαδήποτε έκφραση τύπου WORD μπορεί να μετατραπεί σε τιμή τύπου enum, αρκεί η τιμή της ακέραιας έκφρασης να μην υπερβαίνει το power1™ του τύπου απαρίθμησης. Αυτή η μετατροπή επιτυγχάνεται χρησιμοποιώντας μια αυτόματα δηλωμένη συνάρτηση με το όνομα του απαριθμούμενου τύπου (βλ. ενότητα 4.4). Για παράδειγμα, για τη δήλωση τύπου που συζητήθηκε παραπάνω, οι ακόλουθες εκχωρήσεις είναι ισοδύναμες:

col:= χρώματα(0);

Φυσικά, ανάθεση

θα είναι απαράδεκτη.

Οι μεταβλητές οποιουδήποτε απαριθμημένου τύπου μπορούν να δηλωθούν χωρίς να δηλωθεί πρώτα αυτός ο τύπος, για παράδειγμα:

col: (μαύρο, λευκό, πράσινο);

Εύρος τύπου. Ένας τύπος εύρους είναι ένα υποσύνολο του βασικού του τύπου, ο οποίος μπορεί να είναι οποιοσδήποτε τακτικός τύπος εκτός από έναν τύπο εύρους. Ένας τύπος εύρους ορίζεται από τα όρια των τιμών του εντός του βασικού τύπου:

<мин.знач.>..<макс.знач.>

Εδώ<мин.знач. >- ελάχιστη τιμή του εύρους τύπου·

<макс.знач.>- η μέγιστη τιμή του.

Για παράδειγμα:

ψηφίο = "0".."9";

Ο τύπος εύρους δεν χρειάζεται να περιγράφεται στην ενότητα TYPE, αλλά μπορεί να καθοριστεί απευθείας κατά τη δήλωση μιας μεταβλητής, για παράδειγμα:

Ichr: "A".."Z";.

Κατά τον προσδιορισμό ενός τύπου εύρους, πρέπει να ακολουθείτε τους ακόλουθους κανόνες:

  • δύο χαρακτήρες ".." αντιμετωπίζονται ως ένας χαρακτήρας, επομένως δεν επιτρέπονται κενά μεταξύ τους.
  • το αριστερό περίγραμμα του εύρους δεν πρέπει να υπερβαίνει το δεξί του όριο. Ένας τύπος εύρους κληρονομεί όλες τις ιδιότητες του βασικού του τύπου, αλλά με τους περιορισμούς της χαμηλότερης ισχύος του. Ειδικότερα, εάν οριστεί μια μεταβλητή

ημέρες = (mo,tu,we,th,fr,sa,su);

WeekEnd = sa .. su;

τότε το ORD(W) θα επιστρέψει την τιμή 5 ενώ το PRED(W) θα οδηγήσει σε σφάλμα.

Η τυπική βιβλιοθήκη Turbo Pascal περιλαμβάνει δύο λειτουργίες που υποστηρίζουν την εργασία με τύπους εύρους:

HIGH(X) - επιστρέφει τη μέγιστη τιμή του τύπου εύρους στον οποίο ανήκει η μεταβλητή X.

LOW(X) - επιστρέφει την ελάχιστη τιμή του τύπου εύρους.

Το παρακάτω σύντομο πρόγραμμα θα εκτυπώσει τη γραμμή

WriteLn(Low(k),"..",High(k))

Το σύνολο των ακεραίων είναι άπειρο, αλλά μπορούμε πάντα να επιλέξουμε τον αριθμό των bit για να αναπαραστήσουμε κάθε ακέραιο που προκύπτει κατά την επίλυση ενός συγκεκριμένου προβλήματος. Το σύνολο των πραγματικών αριθμών δεν είναι μόνο άπειρο, αλλά και συνεχές, οπότε όσα bits και να πάρουμε, αναπόφευκτα θα συναντήσουμε αριθμούς που δεν έχουν ακριβή αναπαράσταση. Οι αριθμοί κινητής υποδιαστολής είναι ένας πιθανός τρόπος αναπαράστασης πραγματικών αριθμών, ο οποίος είναι ένας συμβιβασμός μεταξύ της ακρίβειας και του εύρους των αποδεκτών τιμών.

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

Μαθηματικά γράφεται ως εξής:

(-1) s × M × B E, όπου s είναι το πρόσημο, B είναι η ρίζα, E είναι ο εκθέτης και M είναι η μάντισσα.

Η βάση καθορίζει το σύστημα ψηφίων. Έχει αποδειχθεί μαθηματικά ότι οι αριθμοί κινητής υποδιαστολής με βάση B=2 (δυαδική αναπαράσταση) είναι πιο ανθεκτικοί σε σφάλματα στρογγυλοποίησης, επομένως στην πράξη συναντάμε μόνο τις βάσεις 2 και, λιγότερο συχνά, 10, για περαιτέρω παρουσίαση, θα υποθέτουμε πάντα B= 2, και ο τύπος για έναν αριθμό με κινητή υποδιαστολή θα μοιάζει με:

(-1) s × M × 2 E

Τι είναι η μάντισσα και η τάξη; Μάντισσαείναι ένας ακέραιος αριθμός σταθερού μήκους που αντιπροσωπεύει τα πιο σημαντικά bits ενός πραγματικού αριθμού. Ας υποθέσουμε ότι η μάντισσα μας αποτελείται από τρία bit (|M|=3). Πάρτε, για παράδειγμα, τον αριθμό "5", ο οποίος στο δυαδικό σύστημα θα είναι ίσος με 101 2. Το πιο σημαντικό bit αντιστοιχεί στο 2 2 =4, το μεσαίο bit (που ισούται με μηδέν) είναι 2 1 =2 και το λιγότερο σημαντικό bit είναι 2 0 =1. Σειρά– αυτός είναι ο βαθμός της βάσης (δύο) του υψηλότερου ψηφίου. Στην περίπτωσή μας Ε=2. Είναι βολικό να γράφετε τέτοιους αριθμούς με τη λεγόμενη "επιστημονική" τυπική μορφή, για παράδειγμα "1.01e+2". Είναι αμέσως ξεκάθαρο ότι η μάντισσα αποτελείται από τρία ζώδια και η σειρά είναι δύο.

Ας υποθέσουμε ότι θέλουμε να πάρουμε έναν κλασματικό αριθμό χρησιμοποιώντας τα ίδια 3 bit της μάντισσας. Μπορούμε να το κάνουμε αυτό αν πάρουμε, ας πούμε, E=1. Τότε ο αριθμός μας θα είναι ίσος

1,01e+1 = 1×2 1 +0×2 0 +1×2 -1 =2+0,5=2,5

Προφανώς, με αυτόν τον τρόπο ο ίδιος αριθμός μπορεί να αναπαρασταθεί με διαφορετικούς τρόπους. Ας εξετάσουμε ένα παράδειγμα με το μήκος της μάντισσας |M|=4. Ο αριθμός "2" μπορεί να αναπαρασταθεί ως εξής:

2 = 10 (σε δυαδικό) = 1.000e+1 = 0.100e+2 = 0.010e+3.

Επομένως, ήδη στις πρώτες μηχανές, οι αριθμοί αντιπροσωπεύονταν στο λεγόμενο κανονικοποιημένη μορφή, όταν το πρώτο κομμάτι της μάντισσας θεωρούνταν πάντα ίσο με ένα.

Αυτό εξοικονομεί ένα bit (καθώς το σιωπηρό δεν χρειάζεται να αποθηκευτεί στη μνήμη) και διασφαλίζει ότι ο αριθμός αναπαρίσταται μοναδικά. Στο παράδειγμά μας, το "2" έχει μια ενιαία αναπαράσταση ("1.000e+1") και το mantissa αποθηκεύεται στη μνήμη ως "000", επειδή η κύρια μονάδα υπονοείται σιωπηρά. Αλλά προκύπτει ένα νέο πρόβλημα στην κανονικοποιημένη αναπαράσταση των αριθμών - είναι αδύνατο να αναπαραστήσουμε το μηδέν σε αυτή τη μορφή.

  • Ανάλυση δεδομένων χρησιμοποιώντας τις εντολές Επιλογή παραμέτρων και Αναζήτηση λύσεων
  • Ανάλυση και ερμηνεία δεδομένων πειραματικής ψυχολογικής έρευνας.
  • Ανάλυση δεδομένων πηγής. Τεχνικά πρότυπα για αστικούς δρόμους.
  • ΑΝΑΛΥΣΗ ΛΗΦΗΜΕΝΩΝ ΔΕΔΟΜΕΝΩΝ. ΛΗΨΗ ΑΠΟΦΑΣΗΣ ΓΙΑ ΤΗΝ ΕΠΑΡΚΕΙΑ Ή ΑΝΕΠΑΡΚΕΙΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΩΝ ΥΔΡΕΥΣΗΣ ΓΙΑ ΤΙΣ ΑΝΑΓΚΕΣ ΤΟΥ ΑΡΔΕΥΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ.
  • Εξοπλισμός γραμμής επικοινωνίας: εξοπλισμός μετάδοσης δεδομένων, τερματικός εξοπλισμός, ενδιάμεσος εξοπλισμός.

  • Η γνώση και η κατανόηση των τύπων δεδομένων είναι αναπόσπαστο μέρος του προγραμματισμού.

    Σε αυτό το μάθημα θα μάθουμε για τους τύπους δεδομένων στη γλώσσα προγραμματισμού Turbo Pascal.

    Στη γλώσσα Pascal, οποιαδήποτε αντικείμενα, π.χ. Οι σταθερές, οι μεταβλητές, οι τιμές συναρτήσεων ή οι εκφράσεις χαρακτηρίζονται από τους τύπους τους. Ένας τύπος ορίζει το σύνολο των έγκυρων τιμών για ένα αντικείμενο, καθώς και το σύνολο των λειτουργιών που ισχύουν για αυτό. Επιπλέον, ο τύπος καθορίζει τη μορφή της εσωτερικής αναπαράστασης δεδομένων στη μνήμη του υπολογιστή. Όσον αφορά τους τύπους αντικειμένων, η Pascal είναι μια στατική γλώσσα. Αυτό σημαίνει ότι ο τύπος ενός αντικειμένου, για παράδειγμα μιας μεταβλητής, καθορίζεται όταν δηλώνεται και δεν μπορεί να αλλάξει αργότερα.

    Δομή τύπων δεδομένων στο Pascal:

    Απλοί τύποι γλώσσας
    Οι απλοί τύποι περιλαμβάνουν τύπους τακτικού, πραγματικού, συμβολοσειράς και διεύθυνσης (δείκτη). Όλα καθορίζουν τον τύπο μιας μόνο τιμής.

    Τακτικοί τύποιχαρακτηρίζεται από το γεγονός ότι καθένα από αυτά έχει έναν πεπερασμένο αριθμό πιθανών τιμών, μεταξύ των οποίων καθιερώνεται μια γραμμική τάξη. Κάθε μία από τις τιμές μπορεί να συσχετιστεί με κάποιον ακέραιο αριθμό - τον αύξοντα αριθμό του.

    Ακέραιοι τύποι- δηλώνουν σύνολα ακεραίων σε διαφορετικά εύρη. Υπάρχουν πέντε ακέραιοι τύποι, που διαφέρουν ως προς το εύρος των έγκυρων τιμών και το μέγεθος της μνήμης RAM που καταλαμβάνουν. Οι τύποι ακέραιων αριθμών προσδιορίζονται με αναγνωριστικά: Byte, ShortInt, Word, Integer, LongInt. Τα χαρακτηριστικά τους φαίνονται στον παρακάτω πίνακα.

    Οι τιμές των τύπων ακεραίων γράφονται στο πρόγραμμα με τον συνήθη τρόπο:
    123 4 -3 +345 -699
    Η παρουσία υποδιαστολής σε συμβολισμό ακέραιου αριθμού είναι απαράδεκτη. Θα ήταν λάθος να γράψετε έναν ακέραιο όπως αυτό:
    123.0
    Εκτός από τον συνηθισμένο δεκαδικό συμβολισμό, είναι δυνατή η εγγραφή ακεραίων σε δεκαεξαδική μορφή χρησιμοποιώντας το πρόθεμα $, για παράδειγμα:
    $01AF $FF $1A $F0A1B
    Η περίπτωση των γραμμάτων Α, Β, ..., ΣΤ δεν έχει σημασία.

    Έγκυρες λειτουργίες:

    • - ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ;
    • - όλα τα αριθμητικά: +, - ,*, /, div, mod (με συνηθισμένη διαίρεση [/] το αποτέλεσμα είναι πραγματικό!)
    • - σύγκριση<, >, >=, <=, <>, =.
    Τύπος Boolean- αποτελείται από δύο μόνο τιμές: False (false) και True (true). Οι λέξεις False και True ορίζονται στη γλώσσα και είναι, στην πραγματικότητα, λογικές σταθερές. Η περίπτωση των γραμμάτων στη γραφή τους είναι ασήμαντη: ΛΑΘΟΣ = ψευδής. Οι τιμές αυτού του τύπου είναι το αποτέλεσμα αξιολόγησης υπό όρους και λογικών εκφράσεων και συμμετέχουν σε όλα τα είδη τελεστών υπό όρους της γλώσσας.
    Έγκυρες λειτουργίες:
    • - ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ;
    • - σύγκριση:<, >, >=, <=, <>, =;
    • - λογικές πράξεις: NOT, OR, AND, XOR
    Τύπος χαρακτήρα (χαρακτήρας)είναι ένας τύπος δεδομένων που αποτελείται από έναν χαρακτήρα (σύμβολο, γράμμα, κωδικός). Μια τιμή Char μπορεί να είναι οποιοσδήποτε χαρακτήρας από το σύνολο χαρακτήρων ASCII. Εάν ένα σύμβολο έχει γραφική αναπαράσταση, τότε στο πρόγραμμα γράφεται περικλείεται σε μονά εισαγωγικά (απόστροφα), για παράδειγμα:
    "w" "s" "." "*" " "-(χώρος)
    Για να αναπαραστήσει την ίδια την απόστροφο, η εικόνα της διπλασιάζεται: """".
    Εάν ο χαρακτήρας δεν έχει γραφική αναπαράσταση, για παράδειγμα, χαρακτήρα tab ή χαρακτήρα επιστροφής, τότε μπορείτε να χρησιμοποιήσετε μια ισοδύναμη μορφή εγγραφής της τιμής του χαρακτήρα, που αποτελείται από το πρόθεμα # και τον κωδικό ASCII του χαρακτήρα:
    #9 #32 #13
    Έγκυρες λειτουργίες:
    • - ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ;
    • - σύγκριση:<, >, >=, <=, <>, =. Ο μεγαλύτερος χαρακτήρας είναι αυτός με τον μεγαλύτερο αριθμό ASCII.
    Τύπος συμβολοσειράς (String, String[n])- Αυτός ο τύπος δεδομένων ορίζει ακολουθίες χαρακτήρων - συμβολοσειρών. Η παράμετρος n καθορίζει τον μέγιστο αριθμό χαρακτήρων ανά γραμμή. Εάν δεν προσδιορίζεται, θεωρείται n=255. Μια τιμή τύπου "string" σε ένα πρόγραμμα γράφεται ως μια ακολουθία χαρακτήρων που περικλείονται σε μονά εισαγωγικά (απόστροφα), για παράδειγμα
    "Αυτό είναι μια χορδή"
    Το "1234" είναι επίσης μια συμβολοσειρά, όχι ένας αριθμός
    "" - κενή γραμμή

    Έγκυρες λειτουργίες:
    • - ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ;
    • - προσθήκη (σύνδεση, συγχώνευση). για παράδειγμα, S:= "Ο χειμώνας"+" "+"έφθασε!";
    • - σύγκριση:<, >, >=, <=, <>, =. Οι συμβολοσειρές θεωρούνται ίσες εάν έχουν το ίδιο μήκος και είναι ισοδύναμες χαρακτήρα προς χαρακτήρα.
    Πραγματικοί τύποι- δηλώνουν σύνολα πραγματικών αριθμών σε διαφορετικά εύρη. Υπάρχουν πέντε πραγματικοί τύποι, που διαφέρουν ως προς το εύρος των επιτρεπόμενων τιμών και το μέγεθος της κατειλημμένης μνήμης RAM. Οι πραγματικοί τύποι προσδιορίζονται με αναγνωριστικά: Real, Single, Double, Extended, Comp; Τα χαρακτηριστικά τους φαίνονται στον παρακάτω πίνακα.

    Τύπος CompΑν και ταξινομείται ως πραγματικός τύπος, είναι στην πραγματικότητα ένας ακέραιος αριθμός με ένα πολύ τεράστιο εύρος τιμών.
    Οι τιμές των πραγματικών τύπων μπορούν να γραφτούν σε ένα πρόγραμμα με διάφορους τρόπους:
    1.456 0.000134 -120.0 65432
    +345 0 -45 127E+12
    -1,5E-5 -1,6E+12 5E4 0,002E-6

    Θα ήταν λάθος να γράψετε έναν πραγματικό αριθμό όπως αυτό:
    0,5 (σωστό 0,5)
    12. (σωστά 12.0 ή 12)

    Ένας πραγματικός αριθμός σε μορφή κινητής υποδιαστολής (επιστημονική μορφή) γράφεται ως ζεύγος
    <мантисса>μι<порядок>
    Αυτός ο προσδιορισμός γίνεται κατανοητός ως «η μάντισσα πολλαπλασιασμένη επί δέκα σε δύναμη ίση με τη σειρά». Για παράδειγμα,
    -1,6E+12 αντιστοιχεί σε -1,6 1012

    Έγκυρες λειτουργίες:
    - ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ;
    - όλα τα αριθμητικά: +, - ,*, /;
    - σύγκριση:<, >, >=, <=, <>, =.

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

    Ένα εύρος ή (περιορισμένος τύπος) δεν είναι ένας προκαθορισμένος τύπος γλώσσας (όπως Integer ή Char) και επομένως δεν έχει κανένα αναγνωριστικό που να σχετίζεται με αυτό. Αυτός ο τύπος είναι είσοδος χρήστη. Χρησιμοποιώντας το μπορούμε να ορίσουμε έναν νέο τύπο που θα περιέχει τιμές μόνο από ένα περιορισμένο υποεύρος κάποιου βασικού τύπου. Ο βασικός τύπος μπορεί να είναι μόνο ένας ακέραιος τύπος, ένας τύπος Char (χαρακτήρας) και οποιοσδήποτε από τους τύπους απαρίθμησης που εισήγαγε ο προγραμματιστής.

    Για να εισαγάγετε έναν νέο τύπο - ένα εύρος - πρέπει να υποδείξετε στο μπλοκ περιγραφής τύπου TYPE το όνομα του εισαγόμενου τύπου και τα όρια του εύρους μέσω του ειδικού συμβόλου εύρους ".." (δύο κουκκίδες στη σειρά):
    ΤΥΠΟΣ
    Αιώνας = 1..21; (ακέραιος τύπος υποπεριοχής)
    CapsLetters = "A"."Z"; (υποκατηγορία τύπου Char)

    Δομημένοι τύποι γλώσσας

    Οι δομημένοι τύποι περιλαμβάνουν: πίνακα, εγγραφή, σύνολο, αρχείο κ.λπ. Όλοι ορίζουν τον τύπο (ή τους τύπους) κάποιας δομής δεδομένων.

    Πίνακας- μια διατεταγμένη δομή δεδομένων του ίδιου τύπου που τα αποθηκεύει διαδοχικά. Ο πίνακας πρέπει να έχει διαστάσεις που καθορίζουν πόσα στοιχεία είναι αποθηκευμένα στη δομή. Οποιοδήποτε στοιχείο σε έναν πίνακα μπορεί να προσεγγιστεί από το ευρετήριό του.

    Ο τύπος του πίνακα καθορίζεται από την κατασκευή:
    Πίνακας [εύρος] ElementType.

    Το εύρος σε αγκύλες υποδεικνύει τις τιμές του δείκτη του πρώτου και του τελευταίου στοιχείου στη δομή. Παραδείγματα δηλώσεων τύπων και μεταβλητών:

    TYPE Διάνυσμα = πίνακας Real; VAR V1: Διάνυσμα; V2: πίνακας Byte.
    Εδώ η μεταβλητή V1 ορίζεται χρησιμοποιώντας τον τύπο Vector που περιγράφεται παραπάνω. ο τύπος της μεταβλητής V2 κατασκευάζεται απευθείας στο στάδιο της περιγραφής της.

    Ως τύπος στοιχείου πίνακα, μπορείτε επίσης να καθορίσετε έναν πίνακα, σχηματίζοντας έτσι πολυδιάστατες δομές. Για παράδειγμα, μια περιγραφή μιας δισδιάστατης δομής (μήτρας) θα μοιάζει με αυτό:
    VAR M1: πίνακας πίνακα Byte. Το ίδιο πράγμα μπορεί να γραφτεί πολύ πιο συμπαγή: VAR M2: πίνακας Byte;
    Εδώ οι πίνακες M1 και M2 έχουν ακριβώς την ίδια δομή - μια τετράγωνη μήτρα μεγέθους 3x3.

    Η πρόσβαση σε ένα στοιχείο πίνακα γίνεται με τον καθορισμό του ευρετηρίου του, για παράδειγμα:

    Writeln(V1); (εμφάνιση του πρώτου στοιχείου του πίνακα V1) readln(M2) (εισαγωγή του τρίτου στοιχείου της δεύτερης σειράς του πίνακα M2)
    Αυτό ολοκληρώνει το μάθημα σχετικά με τους τύπους δεδομένων, το κείμενο αντιγράφηκε και επικολλήθηκε σχεδόν πλήρως (ο σύνδεσμος θα είναι παρακάτω), επειδή Δεν βλέπω το νόημα να πω αυτό το υλικό με δικά μου λόγια. Εάν η διαφορά μεταξύ των τύπων δεδομένων είναι τουλάχιστον λίγο σαφής, τότε αυτό είναι ήδη καλό.

    Το μάθημα καλύπτει τους κύριους τυπικούς τύπους δεδομένων στο Pascal, την έννοια μιας μεταβλητής και μιας σταθεράς. εξηγεί πώς να εργαστείτε με αριθμητικές πράξεις

    Το Pascal είναι μια δακτυλογραφημένη γλώσσα προγραμματισμού.Αυτό σημαίνει ότι οι μεταβλητές που αποθηκεύουν δεδομένα είναι συγκεκριμένου τύπου δεδομένων. Εκείνοι. Το πρόγραμμα πρέπει να υποδεικνύει απευθείας ποια δεδομένα μπορούν να αποθηκευτούν σε μια συγκεκριμένη μεταβλητή: δεδομένα κειμένου, αριθμητικά δεδομένα, αν είναι αριθμητικά, τότε ακέραια ή κλασματικά κ.λπ. Αυτό είναι απαραίτητο κυρίως για να «γνωρίζει» ο υπολογιστής ποιες λειτουργίες μπορούν να εκτελεστούν με αυτές τις μεταβλητές και πώς να τις εκτελέσει σωστά.

    Για παράδειγμα, η προσθήκη δεδομένων κειμένου ή όπως σωστά λέγεται στον προγραμματισμό - συνένωση - είναι η συνήθης συγχώνευση συμβολοσειρών, ενώ η προσθήκη αριθμητικών δεδομένων γίνεται bitwise, επιπλέον προστίθενται και κλασματικοί και ακέραιοι αριθμοί διαφορετικά. Το ίδιο ισχύει και για άλλες λειτουργίες.

    Ας δούμε τους πιο συνηθισμένους τύπους δεδομένων στο Pascal.

    Ακέραιοι τύποι δεδομένων στο Pascal

    Τύπος Εύρος Απαιτούμενη μνήμη (bytes)
    ψηφιόλεξη 0..255 1
    σύντομο -128..127 1
    ακέραιος αριθμός -32768.. 32767 2
    λέξη 0..65535 2
    λαχτάρα -2147483648..2147483647 4

    Πρέπει να έχετε κατά νου ότι όταν γράφετε προγράμματα σε Pascal ακέραιος αριθμός(μεταφρασμένο από τα αγγλικά στο σύνολό του) είναι το πιο συχνά χρησιμοποιούμενο, καθώς το εύρος τιμών​είναι πιο απαιτητικό. Εάν χρειάζεται μεγαλύτερο εύρος, χρησιμοποιήστε λαχτάρα(long integer, μεταφρασμένο από τα αγγλικά ως long integer). Τύπος ψηφιόλεξηστο Pascal χρησιμοποιείται όταν δεν χρειάζεται να δουλέψουμε με αρνητικές τιμές, το ίδιο ισχύει και για τον τύπο λέξη(μόνο το εύρος τιμών εδώ είναι πολύ μεγαλύτερο).

    Παραδείγματα για το πώς περιγράφονται (δηλώνονται) οι μεταβλητές στο Pascal:

    πρόγραμμα α1; var x,y:ακέραιος; (ακέραιος τύπος) myname:string; (τύπος συμβολοσειράς) αρχίζει x:=1; y:=x+16; myname:="Peter"; writeln("name: ",myname, ", age: ", y) τέλος.

    Αποτέλεσμα:
    Όνομα: Πέτρος, ηλικία: 17

    Σχόλια σε Pascal

    Παρατηρήστε πώς Τα σχόλια χρησιμοποιούνται στο Pascal. Στα σχόλια του παραδείγματος, π.χ. Το κείμενο υπηρεσίας που "δεν είναι ορατό" στον μεταγλωττιστή περικλείεται σε σγουρά άγκιστρα. Συνήθως, τα σχόλια γίνονται από προγραμματιστές για να εξηγήσουν κομμάτια κώδικα.

    Εργασία 3.Ο πληθυσμός της Μόσχας είναι α = 9.000.000 κάτοικοι. Ο πληθυσμός του Νέου Βασιούκι είναι b=1000 κάτοικοι. Γράψτε ένα πρόγραμμα που να καθορίζει τη διαφορά στον αριθμό των κατοίκων μεταξύ δύο πόλεων. Χρησιμοποιήστε μεταβλητές

    Πραγματικοί τύποι δεδομένων στο Pascal

    Οι πραγματικοί αριθμοί στο Pascal και στον προγραμματισμό γενικά είναι το όνομα των κλασματικών αριθμών.

    Τύπος Εύρος Απαιτούμενη μνήμη (bytes)
    πραγματικός 2,9 * 10E-39 .. 1,7 * 10E38 6
    μονόκλινο 1,5 * 10 E-45 .. 3,4 * 10E38 4
    διπλό 5 * 10E-324 .. 1,7 * 10E308 8
    επεκτάθηκε 1,9 * 10E-4951 .. 1,1 * 10E4932 10

    Ο πραγματικός τύπος στο Pascal είναι ο πιο συχνά χρησιμοποιούμενος πραγματικός τύπος.

    Παρουσιάστηκαν παραπάνω απλοί τύποι δεδομένων στο Pascal, οι οποίοι περιλαμβάνουν:

    • Τακτικός
    • Ολόκληρος
    • σπαζοκεφαλιά
    • Χαρακτήρας
    • Καταχωρίσιμο
    • Διάστημα
    • Πραγματικός

    Για την εμφάνιση των τιμών των μεταβλητών πραγματικού τύπου, χρησιμοποιείται συνήθως μορφοποιημένη έξοδος:

  • η μορφή χρησιμοποιεί είτε έναν αριθμό, υποδεικνύοντας τον αριθμό των θέσεων που έχουν εκχωρηθεί σε αυτόν τον αριθμό σε εκθετική μορφή.
  • p:=1234.6789; Writeln(p:6:2); (1234,68)

    Μαζί με απλούς τύπους χρησιμοποιεί και η γλώσσα δομημένους τύπους δεδομένων και δείκτες, το οποίο θα αποτελέσει αντικείμενο επόμενων μαθημάτων για τον Pascal.

    Σταθερές στον Πασκάλ

    Συχνά σε ένα πρόγραμμα είναι γνωστό εκ των προτέρων ότι μια μεταβλητή θα λάβει μια συγκεκριμένη τιμή και δεν θα την αλλάξει κατά τη διάρκεια της εκτέλεσης ολόκληρου του προγράμματος. Σε αυτή την περίπτωση, πρέπει να χρησιμοποιήσετε μια σταθερά.

    Η δήλωση μιας σταθεράς στο Pascal συμβαίνει πριν από τη δήλωση των μεταβλητών (πριν από τη λέξη υπηρεσίας var) και μοιάζει με αυτό:

    Ένα παράδειγμα μιας σταθερής περιγραφής στον Pascal:

    1 2 3 4 5 6 const x= 17 ; var myname: string ; Begin myname: = "Peter" ; writeln ("όνομα: " , το όνομα μου, ", ηλικία: " , x) τέλος .

    const x=17; var myname:string; Begin myname:="Peter"; writeln("name: ",myname, ", age: ", x) end.

    "Όμορφη" έξοδος ακεραίων και πραγματικών αριθμών

    Προκειμένου να διασφαλιστεί ότι μετά την εμφάνιση των τιμών των μεταβλητών υπάρχουν εσοχές, έτσι ώστε οι τιμές να μην «συγχωνεύονται» μεταξύ τους, είναι συνηθισμένο να υποδεικνύεται μέσω άνω και κάτω τελείας πόσοι χαρακτήρες πρέπει να παρέχονται για την εμφάνιση του αξία:


    Αριθμητικές πράξεις σε Pascal

    Σειρά εργασιών

    1. αξιολόγηση των εκφράσεων σε παρένθεση.
    2. πολλαπλασιασμός, διαίρεση, div, mod από αριστερά προς τα δεξιά.
    3. πρόσθεση και αφαίρεση από αριστερά προς τα δεξιά.

    Τυπικές Αριθμητικές Διαδικασίες και Συναρτήσεις Pascal

    Εδώ αξίζει να σταθούμε αναλυτικότερα σε ορισμένες αριθμητικές πράξεις.

    • Η λειτουργία inc στο Pascal, προφέρεται αύξηση, είναι μια τυπική διαδικασία Pascal που σημαίνει αύξηση κατά ένα.
    • Παράδειγμα λειτουργίας inc:

      x:=1; Inc(x); (Αυξάνει το x κατά 1, δηλ. x=2) writeln(x)

      Πιο περίπλοκη χρήση της διαδικασίας inc:
      Inc(x,n) όπου x είναι τακτικός τύπος, n είναι ακέραιος τύπος. διαδικασία προσαυξήσεις x επί n.

    • Η διαδικασία Dec στο Pascal λειτουργεί παρόμοια: Dec(x) - μειώνεται το x κατά 1 (μείωση) ή Dec(x,n) - μειώνεται το x κατά n.
    • Ο τελεστής abs αντιπροσωπεύει το μέτρο συντελεστή ενός αριθμού. Δουλεύει κάπως έτσι:
    • α: =- 9; b:=abs(a); (b=9)

      a:=-9; b:=abs(a); (b=9)

    • Ο τελεστής div στο Pascal χρησιμοποιείται συχνά, καθώς ένας αριθμός εργασιών περιλαμβάνει τη λειτουργία ολόκληρης της διαίρεσης.
    • Το υπόλοιπο της διαίρεσης ή ο χειριστής mod στο Pascal είναι επίσης απαραίτητος για την επίλυση ορισμένων προβλημάτων.
    • Αξιοσημείωτη είναι η τυπική περιττή συνάρτηση του Pascal, η οποία καθορίζει εάν ένας ακέραιος αριθμός είναι περιττός. Δηλαδή, επιστρέφει true για περιττούς αριθμούς, false για ζυγούς αριθμούς.
    • Ένα παράδειγμα χρήσης της περιττής συνάρτησης:

      var x:ακέραιος; έναρξη x:=3; writeln(sqr(x)); (απάντηση 9) τέλος.

    • Λειτουργία εκθέσεως σε Pascalλείπει ως τέτοιο. Αλλά για να αυξήσετε έναν αριθμό σε δύναμη, μπορείτε να χρησιμοποιήσετε τη συνάρτηση exp.
    • Ο τύπος είναι: exp(ln(a)*n), όπου a είναι ένας αριθμός, n είναι ένας βαθμός (a>0).

      Ωστόσο, στον μεταγλωττιστή Pascal abc, η εκτίμηση είναι πολύ πιο απλή:

      var x:ακέραιος; έναρξη x:=9; writeln(sqrt(x)); (απάντηση 3) τέλος.

    Εργασία 4.Οι διαστάσεις ενός σπιρτόκουτου είναι γνωστές: ύψος - 12,41 cm, πλάτος - 8 cm, πάχος - 5 cm Υπολογίστε το εμβαδόν της βάσης του κουτιού και τον όγκο του
    (S=πλάτος*πάχος, V=εμβαδόν*ύψος)

    Εργασία 5.Ο ζωολογικός κήπος έχει τρεις ελέφαντες και αρκετά κουνέλια, με τον αριθμό των κουνελιών να αλλάζει συχνά. Ένας ελέφαντας υποτίθεται ότι τρώει εκατό καρότα την ημέρα και ένα κουνέλι - δύο. Κάθε πρωί, ο φύλακας του ζωολογικού κήπου λέει στον υπολογιστή τον αριθμό των κουνελιών. Ο υπολογιστής, ως απάντηση σε αυτό, πρέπει να πει στον συνοδό τον συνολικό αριθμό των καρότων που πρέπει να ταΐσουν τα κουνέλια και οι ελέφαντες σήμερα.

    Εργασία 6.Είναι γνωστό ότι Χκιλά γλυκά κοστίζει έναρούβλια Προσδιορίστε πόσο κοστίζει yκιλά από αυτά τα γλυκά, καθώς και σε πόσα κιλά γλυκών μπορείτε να αγοράσετε κρούβλια Όλες οι τιμές εισάγονται από τον χρήστη.

    Στη γλώσσα Pascalοι μεταβλητές χαρακτηρίζονται από τους τύπος. Ένας τύπος είναι μια ιδιότητα μιας μεταβλητής με την οποία μια μεταβλητή μπορεί να λάβει πολλές τιμές που επιτρέπονται από αυτόν τον τύπο και να συμμετέχει σε πολλές λειτουργίες που επιτρέπονται σε αυτόν τον τύπο.

    Ένας τύπος ορίζει το σύνολο των έγκυρων τιμών που μπορεί να δεχθεί μια μεταβλητή ενός δεδομένου τύπου. Καθορίζει επίσης το σύνολο των επιτρεπόμενων λειτουργιών σε μια μεταβλητή ενός δεδομένου τύπου και καθορίζει την αναπαράσταση των δεδομένων στη μνήμη RAM του υπολογιστή.

    Για παράδειγμα:

    n:ακέραιος;

    Η Pascal είναι μια στατική γλώσσα, που σημαίνει ότι ο τύπος μιας μεταβλητής καθορίζεται όταν δηλώνεται και δεν μπορεί να αλλάξει. Η γλώσσα Pascal έχει ένα ανεπτυγμένο σύστημα τύπων - όλα τα δεδομένα πρέπει να ανήκουν σε έναν προηγουμένως γνωστό τύπο δεδομένων (είτε ένας τυπικός τύπος που δημιουργήθηκε κατά την ανάπτυξη της γλώσσας είτε ένας προσαρμοσμένος τύπος που ορίζεται από τον προγραμματιστή). Ο προγραμματιστής μπορεί να δημιουργήσει τους δικούς του τύπους με αυθαίρετη δομή πολυπλοκότητας που βασίζεται σε τυπικούς τύπους ή τύπους που έχουν ήδη οριστεί από τον χρήστη. Ο αριθμός των δημιουργημένων τύπων είναι απεριόριστος. Οι προσαρμοσμένοι τύποι σε ένα πρόγραμμα δηλώνονται στην ενότητα TYPE χρησιμοποιώντας τη μορφή:

    [όνομα] = [τύπος]

    Το σύστημα των τυπικών τύπων έχει μια διακλαδισμένη, ιεραρχική δομή.

    Πρωτογενείς στην ιεραρχία είναι απλοί τύποι. Τέτοιοι τύποι υπάρχουν στις περισσότερες γλώσσες προγραμματισμού και ονομάζονται απλοί, αλλά στο Pascal έχουν πιο περίπλοκη δομή.

    Δομημένοι τύποικατασκευάζονται σύμφωνα με ορισμένους κανόνες από απλούς τύπους.

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

    Διαδικαστικοί τύποιαποτελούν μια καινοτομία στη γλώσσα Turbo Pascal και επιτρέπουν την πρόσβαση στις υπορουτίνες σαν να ήταν μεταβλητές.

    Αντικείμενααποτελούν επίσης καινοτομία και προορίζονται να χρησιμοποιούν τη γλώσσα ως αντικειμενοστραφή γλώσσα.

    Στη γλώσσα Pascal, υπάρχουν 5 τύποι ακέραιων τύπων. Καθένα από αυτά χαρακτηρίζει το εύρος των αποδεκτών τιμών και τον χώρο που καταλαμβάνουν στη μνήμη.

    Όταν χρησιμοποιείτε ακέραιους αριθμούς, θα πρέπει να καθοδηγηθείτε από την ένθεση των τύπων, δηλ. τύποι με μικρότερο εύρος μπορούν να ενσωματωθούν σε τύπους με μεγαλύτερο εύρος. Ο τύπος Byte μπορεί να είναι ένθετος σε όλους τους τύπους που καταλαμβάνουν 2 και 4 byte. Ταυτόχρονα, ο τύπος Short Int, που καταλαμβάνει 1 byte, δεν μπορεί να ενσωματωθεί στον τύπο Word, καθώς δεν έχει αρνητικές τιμές.

    Υπάρχουν 5 πραγματικοί τύποι:

    Οι ακέραιοι τύποι αναπαρίστανται με απόλυτη ακρίβεια σε έναν υπολογιστή. Σε αντίθεση με τους ακέραιους τύπους, η τιμή των πραγματικών τύπων ορίζει έναν αυθαίρετο αριθμό μόνο με κάποια πεπερασμένη ακρίβεια, ανάλογα με τη μορφή του αριθμού. Οι πραγματικοί αριθμοί αναπαρίστανται σε έναν υπολογιστή είτε ως σταθερό είτε ως κινητή υποδιαστολή.

    2358.8395

    0.23588395*10 4

    0,23588395*E 4

    Ο τύπος Comp καταλαμβάνει μια ειδική θέση στο Pascal, στην πραγματικότητα, είναι ένας μεγάλος ακέραιος αριθμός. Αυτός ο τύπος είναι συμβατός με όλους τους πραγματικούς τύπους και μπορεί να χρησιμοποιηθεί για μεγάλο ακέραιο. Κατά την αναπαράσταση πραγματικών αριθμών με κινητή υποδιαστολή, η υποδιαστολή υπονοείται πάντα πριν από την αριστερή ή την κύρια μάντισσα, αλλά όταν λειτουργεί σε έναν αριθμό μετατοπίζεται προς τα αριστερά ή προς τα δεξιά.

    Τακτικοί τύποι

    Οι τακτικοί τύποι συνδυάζουν πολλούς απλούς τύπους. Αυτά περιλαμβάνουν:

    • Όλοι οι τύποι ακέραιων αριθμών.
    • τύπος χαρακτήρα?
    • Boolean τύπου?
    • Εύρος τύπου·
    • απαριθμημένος τύπος.

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

    Για τιμές τακτικού τύπου, μπορεί να εφαρμοστεί η συνάρτηση ODD(x), η οποία επιστρέφει τον τακτικό αριθμό του ορίσματος x.

    Συνάρτηση PRED(x) - επιστρέφει την προηγούμενη τιμή ενός τακτικού τύπου. PRED(A) = 5.

    Συνάρτηση SUCC(x) - επιστρέφει την επόμενη τακτική τιμή. SUCC(A) = 5.

    Τύπος χαρακτήρα

    Οι τιμές τύπου χαρακτήρων είναι 256 χαρακτήρες από το σύνολο που επιτρέπεται από τον πίνακα κωδικών του υπολογιστή που χρησιμοποιείται. Η αρχική περιοχή αυτού του συνόλου, δηλαδή η περιοχή από 0 έως 127 αντιστοιχεί στο σύνολο των κωδικών ASCII, όπου φορτώνονται οι αλφάβητοι χαρακτήρες, οι αραβικοί αριθμοί και οι ειδικοί χαρακτήρες. Οι χαρακτήρες της περιοχής έναρξης είναι πάντα παρόντες στο πληκτρολόγιο του υπολογιστή. Η ανώτερη περιοχή ονομάζεται εναλλακτική περιοχή, περιέχει χαρακτήρες από εθνικά αλφάβητα και διάφορους ειδικούς χαρακτήρες και ψευδογραφικούς χαρακτήρες που δεν αντιστοιχούν στον κωδικό ASCII.

    Μια τιμή τύπου χαρακτήρα καταλαμβάνει ένα byte στη μνήμη RAM. Στο πρόγραμμα, οι έννοιες περικλείονται σε απόστροφους. Οι τιμές μπορούν επίσης να καθοριστούν με τη μορφή του κωδικού τους ASCII. Σε αυτήν την περίπτωση, πρέπει να βάλετε ένα σύμβολο # μπροστά από τον αριθμό με τον κωδικό συμβόλου.

    Γ:= 'Α'

    Λογικός (Boolean) τύπος

    Υπάρχουν δύο τιμές Boolean: True και False. Οι μεταβλητές αυτού του τύπου καθορίζονται χρησιμοποιώντας τη λέξη συνάρτησης BOOLEAN. Οι τιμές Boole καταλαμβάνουν ένα byte στη μνήμη RAM. Οι τιμές True και False αντιστοιχούν στις αριθμητικές τιμές 1 και 0.

    Εύρος τύπου

    Υπάρχει ένα υποσύνολο του βασικού του τύπου, το οποίο μπορεί να είναι οποιοσδήποτε τακτικός τύπος. Ένας τύπος εύρους ορίζεται από τα όρια εντός του βασικού τύπου.

    [ελάχιστη τιμή]…[μέγιστη τιμή]

    Ο τύπος εύρους μπορεί να καθοριστεί στην ενότητα Τύπος, ως συγκεκριμένος τύπος ή απευθείας στην ενότητα Var.

    Κατά τον καθορισμό του εύρους τύπων, πρέπει να καθοδηγηθείτε από:

    • το αριστερό περίγραμμα δεν πρέπει να υπερβαίνει το δεξί όριο.
    • ένας τύπος εύρους κληρονομεί όλες τις ιδιότητες του βασικού τύπου, αλλά με περιορισμούς που σχετίζονται με τη χαμηλότερη ισχύ του.

    Τύπος Enum

    Αυτός ο τύπος ανήκει σε τακτικούς τύπους και προσδιορίζεται απαριθμώντας τις τιμές που μπορεί να απαριθμήσει. Κάθε τιμή ονομάζεται συγκεκριμένο αναγνωριστικό και βρίσκεται στη λίστα, πλαισιωμένη σε παρένθεση. Ο απαριθμημένος τύπος καθορίζεται στον Τύπο:

    Λαοί = (άνδρες, γυναίκες);

    Η πρώτη τιμή είναι 0, η δεύτερη τιμή είναι 1 κ.λπ.

    Μέγιστη ισχύς 65535 τιμές.

    Τύπος χορδής

    Ο τύπος χορδής ανήκει στην ομάδα των δομημένων τύπων και αποτελείται από τον βασικό τύπο Χαρ. Ο τύπος συμβολοσειράς δεν είναι τακτικός τύπος. Ορίζει πολλές συμβολοσειρές χαρακτήρων αυθαίρετου μήκους έως 255 χαρακτήρες.

    Σε ένα πρόγραμμα, ένας τύπος συμβολοσειράς δηλώνεται με τη λέξη String. Εφόσον το String είναι βασικός τύπος, ορίζεται στη γλώσσα και η δήλωση μιας μεταβλητής τύπου String γίνεται σε Var. Όταν δηλώνετε μια μεταβλητή τύπου συμβολοσειράς ως String, συνιστάται να υποδεικνύεται το μήκος της συμβολοσειράς σε αγκύλες. Ένας ακέραιος αριθμός από το 0 έως το 255 χρησιμοποιείται για να δείξει.

    Fam: String;

    Ο καθορισμός του μήκους συμβολοσειράς επιτρέπει στον μεταγλωττιστή να εκχωρήσει τον καθορισμένο αριθμό byte στη μνήμη RAM για αυτήν τη μεταβλητή. Εάν το μήκος της συμβολοσειράς δεν έχει καθοριστεί, τότε σε αυτήν την περίπτωση ο μεταγλωττιστής θα εκχωρήσει τον μέγιστο δυνατό αριθμό byte (255) για την τιμή αυτής της μεταβλητής.

    Ένας τύπος δεδομένων ορίζει ένα σύνολο έγκυρων τιμών και ένα σύνολο έγκυρων λειτουργιών.

    Απλοί τύποι.

    Οι απλοί τύποι χωρίζονται σε ΤΑΚΤΙΚΟΙ και ΠΡΑΓΜΑΤΙΚΟΙ.

    1. ΤΥΠΟΙ ΠΑΡΑΓΓΕΛΙΑΣ , με τη σειρά τους υπάρχουν:

    ένα ολόκληρο

    Ο Pascal ορίζει 5 ακέραιους τύπους, οι οποίοι ορίζονται ανάλογα με το πρόσημο και την τιμή που θα πάρει η μεταβλητή.

    Πληκτρολογήστε όνομα

    Μήκος (σε byte)

    Εύρος τιμών

    32 768...+32 767

    2 147 483 648...+2 147 483 647

    β) λογικό

    Το όνομα αυτού του τύπου είναι BOOLEAN. Οι τιμές Boole μπορεί να είναι μία από τις Boolean σταθερές: TRUE (true) ή FALSE (false).

    γ) συμβολικό

    Το όνομα αυτού του τύπου είναι CHAR - καταλαμβάνει 1 byte. Η τιμή ενός τύπου χαρακτήρα είναι το σύνολο όλων των χαρακτήρων του υπολογιστή. Σε κάθε χαρακτήρα εκχωρείται ένας ακέραιος αριθμός στην περιοχή 0…255. Αυτός ο αριθμός χρησιμεύει ως κωδικός για την εσωτερική αναπαράσταση του συμβόλου.

    2. ΠΡΑΓΜΑΤΙΚΟΙ ΤΥΠΟΙ .

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

    Μήκος αριθμητικού τύπου δεδομένων, byte

    Όνομα τύπου αριθμητικών δεδομένων

    Αριθμός σημαντικών ψηφίων ενός τύπου αριθμητικών δεδομένων

    Εύρος δεκαδικών τάξεων ενός αριθμητικού τύπου δεδομένων

    2*1063 +1..+2*1063 -1

    ΔΟΜΗΜΕΝΟΙ ΤΥΠΟΙ

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

    Οι δομημένοι τύποι δεδομένων, σε αντίθεση με τους απλούς, ορίζουν πολλές σύνθετες τιμές με ένα κοινό όνομα. Μπορούμε να πούμε ότι οι δομικοί τύποι καθορίζουν έναν ορισμένο τρόπο σχηματισμού νέων τύπων από τους υπάρχοντες.

    Υπάρχουν διάφορες μέθοδοι δόμησης. Σύμφωνα με τη μέθοδο οργάνωσης και τον τύπο των στοιχείων σε σύνθετους τύπους δεδομένων, διακρίνονται οι ακόλουθες ποικιλίες: κανονικός τύπος (πίνακες). συνδυασμένος τύπος (αρχεία). τύπος αρχείου(αρχεία); πολλαπλοί τύποι? τύπος συμβολοσειράς (strings); στη γλώσσα Turbo Pascal έκδοση 6.0 και παλαιότερη, εισήχθη ένας τύπος αντικειμένου (αντικείμενα).

    Σε αντίθεση με τους απλούς τύπους δεδομένων, τα δεδομένα δομημένου τύπου χαρακτηρίζονται από την πολλαπλότητα των στοιχείων που σχηματίζουν αυτόν τον τύπο, δηλ. μια μεταβλητή ή σταθερά δομημένου τύπου έχει πάντα πολλαπλές συνιστώσες. Κάθε συστατικό, με τη σειρά του, μπορεί να ανήκει σε έναν δομημένο τύπο, δηλ. είναι δυνατή η ένθεση τύπων.

    1. Πίνακες

    Οι πίνακες στο Turbo Pascal είναι από πολλές απόψεις παρόμοιοι με παρόμοιους τύπους δεδομένων σε άλλες γλώσσες προγραμματισμού. Ένα χαρακτηριστικό γνώρισμα των πινάκων είναι ότι όλα τα στοιχεία τους είναι δεδομένα του ίδιου τύπου (πιθανώς δομημένα). Αυτά τα στοιχεία μπορούν εύκολα να οργανωθούν και σε οποιοδήποτε από αυτά μπορεί να προσπελαστεί απλά καθορίζοντας έναν σειριακό αριθμό.

    Η περιγραφή του πίνακα ορίζεται ως εξής:

    <имя типа>= πίνακας[<сп.инд.типов>] του<тип>

    Εδώ<имя типа>- σωστό αναγνωριστικό

    Πίνακας, από – δεσμευμένες λέξεις (πίνακας, από);

    <сп.инд.типов>- μια λίστα με έναν ή περισσότερους τύπους ευρετηρίου, διαχωρισμένους με κόμματα. Οι αγκύλες που πλαισιώνουν τη λίστα αποτελούν συντακτική απαίτηση.

    <тип>- οποιουδήποτε τύπου Turbo Pascal.

    Οποιοιδήποτε τακτικοί τύποι μπορούν να χρησιμοποιηθούν ως τύποι ευρετηρίου στο Turbo Pascal, εκτός από το LongInt και τους τύπους εύρους με τον βασικό τύπο LongInt.

    Το βάθος ενσωμάτωσης των δομημένων τύπων γενικά, και επομένως των πινάκων, είναι αυθαίρετο, επομένως ο αριθμός των στοιχείων στη λίστα ευρετηρίων τύπων (μέγεθος πίνακα) δεν είναι περιορισμένος, ωστόσο, το συνολικό μήκος της εσωτερικής αναπαράστασης οποιουδήποτε πίνακα δεν μπορεί να είναι περισσότερα από 65520 byte.

    2. Εγγραφές

    Μια εγγραφή είναι μια δομή δεδομένων που αποτελείται από έναν σταθερό αριθμό στοιχείων που ονομάζονται πεδία εγγραφής. Σε αντίθεση με έναν πίνακα, τα στοιχεία (πεδία) μιας εγγραφής μπορεί να είναι διαφορετικών τύπων. Για να καταστεί δυνατή η αναφορά σε ένα ή άλλο στοιχείο μιας εγγραφής, τα πεδία ονομάζονται.

    Η δομή μιας δήλωσης τύπου post είναι:

    < Ονοματύπος>=ΕΓΓΡΑΦΗ< κοινοπραξία. χωράφια>ΤΕΛΟΣ

    Εδώ<имя типа>- σωστό αναγνωριστικό

    RECORD, END – δεσμευμένες λέξεις (ρεκόρ, τέλος).

    <сп.полей>- λίστα πεδίων. είναι μια ακολουθία τμημάτων μιας εγγραφής που χωρίζονται με ερωτηματικό.

    3. Σετ

    Τα σύνολα είναι ένα σύνολο αντικειμένων του ίδιου τύπου που συνδέονται λογικά μεταξύ τους. Η φύση των συνδέσεων μεταξύ των αντικειμένων υπονοείται μόνο από τον προγραμματιστή και δεν ελέγχεται σε καμία περίπτωση από τον Turbo Pascal. Ο αριθμός των στοιχείων που περιλαμβάνονται σε ένα σύνολο μπορεί να κυμαίνεται από 0 έως 256 (ένα σύνολο που δεν περιέχει στοιχεία ονομάζεται κενό Είναι η ασυνέπεια του αριθμού των στοιχείων του που τα σύνολα διαφέρουν από τους πίνακες και τις εγγραφές).

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

    Η περιγραφή του τύπου συνόλου είναι:

    < Ονοματύπος>=ΣΕΤ ΑΠΟ< βάσεις. τύπος>

    Εδώ<имя типа>- σωστό αναγνωριστικό

    SET, OF – δεσμευμένες λέξεις (σύνολο, από);

    <баз.тип>- ο βασικός τύπος στοιχείων συνόλου, που μπορεί να είναι οποιοσδήποτε τακτικός τύπος εκτός από WORD, ΑΚΕΡΑΙΟΣ και LONGINT.

    Για τον ορισμό ενός συνόλου, χρησιμοποιείται ο λεγόμενος κατασκευαστής συνόλου: μια λίστα προδιαγραφών των στοιχείων του συνόλου, διαχωρισμένες μεταξύ τους με κόμμα. ο κατάλογος περιβάλλεται από αγκύλες. Οι προδιαγραφές στοιχείων μπορεί να είναι σταθερές ή εκφράσεις ενός βασικού τύπου, καθώς και ένας τύπος εύρους του ίδιου βασικού τύπου.

    4. Αρχεία

    Ένα αρχείο νοείται είτε ως μια ονομαζόμενη περιοχή της εξωτερικής μνήμης ενός υπολογιστή, είτε ως μια λογική συσκευή - μια πιθανή πηγή ή δέκτης πληροφοριών.

    Κάθε αρχείο έχει τρία χαρακτηριστικά γνωρίσματα

      έχει ένα όνομα, το οποίο επιτρέπει στο πρόγραμμα να λειτουργεί με πολλά αρχεία ταυτόχρονα.

      περιέχει συστατικά του ίδιου τύπου. Ο τύπος στοιχείου μπορεί να είναι οποιοσδήποτε τύπος Turbo Pascal, εκτός από αρχεία. Με άλλα λόγια, δεν μπορείτε να δημιουργήσετε ένα "αρχείο αρχείων".

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

    Ένας τύπος αρχείου ή μια μεταβλητή τύπου αρχείου μπορεί να καθοριστεί με έναν από τους τρεις τρόπους:

    < Ονομα>= ΑΡΧΕΙΟ ΤΗΣ< τύπος>;

    < Ονομα>=ΚΕΙΜΕΝΟ;

    <имя>= ΑΡΧΕΙΟ;

    Εδώ<имя>- όνομα τύπου αρχείου (σωστό αναγνωριστικό).

    FILE, OF – δεσμευμένες λέξεις (αρχείο, από);

    TEXT – όνομα του τυπικού τύπου αρχείου κειμένου.

    <тип>- οποιοδήποτε τύπο Turbo Pascal, εκτός από αρχεία.

    Ανάλογα με τη μέθοδο δήλωσης, διακρίνονται τρεις τύποι αρχείων:

    · Δακτυλογραφημένα αρχεία (που ορίζονται από την ρήτρα FILE OF...).

    · αρχεία κειμένου (που ορίζονται ως τύπος ΚΕΙΜΕΝΟΥ).

    · Μη πληκτρολογημένα αρχεία (που ορίζονται από τον τύπο ΑΡΧΕΙΟΥ).

    Σχετικά με τη μετατροπή των αριθμητικών τύπων δεδομένων του Pascal

    Στο Pascal, οι σιωπηρές (αυτόματες) μετατροπές αριθμητικών τύπων δεδομένων είναι σχεδόν αδύνατες. Εξαίρεση γίνεται μόνο για τον ακέραιο τύπο, ο οποίος επιτρέπεται να χρησιμοποιείται σε εκφράσεις τύπου real. Για παράδειγμα, εάν οι μεταβλητές δηλωθούν ως εξής:

    Var X: ακέραιος; Υ: πραγματικό;

    τότε ο χειριστής

    θα είναι συντακτικά σωστό, αν και υπάρχει μια ακέραια έκφραση στα δεξιά του σημείου εκχώρησης και μια πραγματική μεταβλητή στα αριστερά, ο μεταγλωττιστής θα μετατρέψει τους τύπους αριθμητικών δεδομένων αυτόματα. Η αυτόματα αντίστροφη μετατροπή από τον πραγματικό τύπο στον ακέραιο τύπο είναι αδύνατη στο Pascal. Ας θυμηθούμε πόσα byte έχουν εκχωρηθεί για μεταβλητές τύπου ακέραιος και πραγματικός: 2 byte μνήμης εκχωρούνται για τον ακέραιο τύπο δεδομένων και 6 byte για πραγματικό. Υπάρχουν δύο ενσωματωμένες συναρτήσεις για τη μετατροπή του πραγματικού σε ακέραιο: ο γύρος(x) στρογγυλοποιεί ένα πραγματικό x στον πλησιέστερο ακέραιο, το trunc(x) περικόπτει έναν πραγματικό απορρίπτοντας το κλασματικό μέρος.



    Έχετε ερωτήσεις;

    Αναφέρετε ένα τυπογραφικό λάθος

    Κείμενο που θα σταλεί στους συντάκτες μας: