Textbook turbo pascal

Capitolul 3. Elemente de limbă

- 3.1. alfabet
- 3.2. identificatorii
- 3.3. constante
- 3.4. expresii
- 3.5. operațiuni
- 3.6. structura programului

Turbo Pascal alfabet include litere, cifre, numere hexazecimale, caractere speciale, spații și cuvinte rezervate.

Scrisori - literele alfabetului de la A la Z, de la A la Z, și caracterul subliniere _ (cod ASCII 95). În Turbo Pascal este nici o distincție între litere mari și mici ale alfabetului, atâta timp cât acestea nu sunt incluse în expresiile de caractere și șir.

Cifrele - cifre arabe de la 0 la 9.

Fiecare cifră hexazecimal are valoarea de la 0 la 15. Primele 10 valori sunt indicate cu cifre arabe 0. 9, celelalte șase - litere latine A. F sau o. f.

Caractere speciale Turbo Pascal - sunt simboluri

Caracterele speciale includ următoarele perechi de caractere:

Un loc aparte în alfabetul limbii ocupă spații care includ orice alte coduri de caractere ASCII în intervalul de la 0 la 32. Aceste caractere sunt tratate ca delimitatori identificatori, constante, numere, cuvinte rezervate. spații consecutive multiple sunt considerate a fi un singur spațiu (acesta din urmă nu este un șir constant).

În Turbo Pascal are următoarele cuvinte rezervate:

Identificatorii în Turbo Pascal - o constantă nume, variabile, etichete, tipuri de facilități, proceduri, funcții, module, programe și câmpuri în înregistrările. Identificatorii pot fi de orice lungime, dar semnificativ (unic în domeniu) sunt doar primele 63 de caractere.

Identificatorul începe întotdeauna cu litera, opțional, urmată de litere și numere. Permiteți-mi să vă reamintesc că scrisoarea este, de asemenea, considerată o subliniere, astfel încât ID-ul poate începe acest caracter și chiar și numai constau din unul sau mai multe caractere de subliniere. Spații și caractere speciale ale alfabetului nu pot fi incluse în identificatorul.

Exemple de identificatori valide:

Exemple de identificatori nevalide:

Ca și în constantele Turbo Pascal pot fi utilizate întregi, numere reale și hexazecimale, constante logice, simboluri, șiruri de caractere, și stabilește un semn de designeri nedefinite NIL indicator.

Întregi sunt scrise cu un semn sau nu de regulile obișnuite și pot avea o valoare -2147483648-2147483647. Trebuie menționat faptul că, dacă un număr întreg constantă este în afara limitelor stabilite, compilatorul da un mesaj de eroare. Aceste constante trebuie să fie scrise cu un punct zecimal, adică, definite ca numere reale.

Numerele reale sunt scrise cu semnul sau fără a utiliza punctul zecimal și / sau o parte exponențială. Partea exponențială începe cu caracterul e sau E, care poate fi urmat semnele „+“ sau „-“ și o zecimală. Simbolul f (E) este o zecimală și are semnificația „se înmulțește cu 1.0 grade“. De exemplu,

3.14E5 - 3.14 înmulțit cu 10 la puterea 5;

--17e 2 - înmulțit cu minus 17 până la 10 grade minus 2.

În cazul în care înregistrarea unui număr real există un punct zecimal, înainte de punctul și ar trebui să fie de cel puțin o cifră. În cazul în care un simbol este utilizat exponent e (E), trebuie urmat cel puțin un număr de ordine zecimală.

Un număr hexazecimal este format din cifre hexazecimale precedate de semnul dolar $ (cod 36 în ASCII). Gama de numere hexazecimale - de la $ 00000000 la $ FFFFFFFF.

constantă logică - este fie FALSE cuvântul (fals), sau cuvântul TRUE (adevărat).

O constantă caracter - este orice caracter PC ghilimele simple:

Dacă doriți să înregistrați propriul apostrof, acesta este dublat:

Permis utilizarea înregistrării simbolului prin specificarea codului său intern, precedat de simbolul # (cod 35), de exemplu:

O constantă șir - orice secvență de caractere (cu excepția caracterului CR căruciorul -Refund), ghilimele simple. În cazul în care este necesar să se precizeze el însuși apostrof linia, el este dublat, de exemplu:

„Aceasta - șirul de caractere;

Șirul de caractere poate fi goală, adică, nu are nici un caracter în încadrare apostroful sale. Linia poate fi compus din codurile caractere relevante care preced fiecare cod de caractere #, de exemplu, linia # # 121 # 83 109 # 98 # 11 # 108 este echivalent cu linia „Symbol“.

În cele din urmă, la prompt, alternați partea înregistrată în apostroful încadrare, cu părți din codurile înregistrate. In acest fel poate fi introdus în orice caractere de control linie, inclusiv CR caracter (cod 13), de exemplu:

7'Oshibka #! „# 13'Nazhmite orice tastă. „# 7.

Seturi Designer - o listă de elemente ale setului, încadrată de paranteze drepte, de exemplu:

ABS lo PTR schimb

CHR TRUNC rpund ciudat

Lungimea succ pred

MaxReal = Maxlnt div sizeof (real);

NUMCHARS = ord ( 'Z') - ord ( 'a') + 1;

Principalele elemente ale care sunt construite parte executabilă a programului, sunt constante, variabile și apeluri de funcții. Fiecare dintre acestea este caracterizat prin valoarea sa aparține oricărui tip de date. Cu semne și paranteze dintre ele pot fi expresia, care de fapt sunt regulile pentru noile valori.

Un caz special al expresiei poate fi pur și simplu un singur element, și anume, constantă, variabilă sau funcția de apel. Valoarea acestei expresii este, desigur, de același tip ca și elementul în sine. Într-o expresie caz mai general este alcătuit din mai multe elemente (operanzilor) și semne de operații și tipul valorii sale determinate de tipul și tipul operanzilor aferenți operațiunilor. Exemple de expresii:

nu Flag și (a = b)

Următoarele operații sunt definite în Turbo Pascal:

multiplicativ *, /, div, mod, și, SHL, SHR;

plus +, -, sau, xor;

= raport <>, <,>, <=,>=, În.

prioritate Operațiunea scade în ordinea arătată, adică, Ea are cea mai mare prioritate operațiunile unare, mai mici - relațiile de operare. Ordinea de executare a mai multor tranzacții de aceeași prioritate este stabilită prin optimizarea compilator condițiilor codului de program, și nu neapărat de la stânga la dreapta. Atunci când se calculează aceeași prioritate logică de funcționare expresii sunt întotdeauna evaluate de la stânga la dreapta, și va fi calculat toate sau doar o operațiune suficientă în funcție de mediul de instalat opțiunea Turbo Pascal OPTIUNI / COMPILER / COMPLET BOOLEAN EVAL: Atunci când setați această opțiune pentru a calcula toți operatorii relaționale, atunci când nu este stabilită - numai cele care sunt suficiente pentru a obține rezultatul.

Acest lucru trebuie luat în considerare atunci când se utilizează operatorii relaționale cu funcțiile care modifică variabilele globale sau parametrii trecut prin nume, de exemplu:

Function Addi (var x: Integer): Integer;

if (a> b) sau (suplim (a)> 100), atunci b: = a;

Când executați acest fragment din valoarea lui A va depinde de opțiunile de configurare: dacă opțiunea este activată, valoarea lui A este întotdeauna incrementat cu 1 atunci când nu este activat - numai în cazul unei <= В.

Conditii de utilizare operatiuni cu operanzi de tipuri diferite sunt prezentate în tabelul. 3.1.

Atunci când funcționează cu un tip real al operanzilor poate fi orice tip de valoare întreagă. Rezultatul operațiilor este indicată în tabelul de tip numai EXTINS specificat mediu în modul de generare de cod Turbo Pascal, calculat la coprocesorul aritmetică sau pe emularea (vezi. Pril.1). Dacă această opțiune nu este selectată, rezultatul va avea o valoare de tip REAL.

TwoChar = array [1..2] de char; var

Int. întreg; TwoCharPtr. ATwoChar;

dacă TwoCharPtr ^ [1] = 'c' atunci.

Următoarele operații logice definite în Turbo Pascal:

nu - logic NU;

și - logic;

sau - o logică OR;

XOR - SAU exclusiv.

Operațiile logice sunt aplicabile la număr întreg operanzii și tip logic. Dacă operanzilor - întregi, rezultatul operației logice este același număr întreg a cărui biți (cifre binare) sunt formate din biții operanzilor în conformitate cu regulile menționate în tabel. 3.2.

Operațiunile logice pe tipul de date Integer (binari)

Prin aceeași logică în Turbo Pascal și includ de obicei, două operații de deplasare pe numere întregi:

Cuprins schimbare i pe biți j la stânga - SHL i j; Junior vacant

locuri sunt umplute cu zerouri;

SHR i j - i de schimbare a conținutului de pe biți j la dreapta; vacant senior

locuri sunt umplute cu zerouri.

În aceste operații i și j - exprimarea oricărui tip întreg.

Folosind exemplul 3.1 Programul poate afișa rezultatul aplicării operației logice a două numere întregi.

n, m. întreg; începe

în timp ce nu EOF nu începe

Write ( 'n, m ='); Readln (n, m);
WriteLn ( '
nu =
1. nu n, „nu m);

WriteLnC
și =
“. n și m)

WriteLnC
sau =
1. n sau m);

WriteLnC
XOR =
1. n xor m)

WriteLn ( '
SHL =
1, n shl m)

WriteLn ( '
SHR =
1. n SHR m)

Programul este organizat introducând oricare două numere întregi și imprima rezultatul aplicării acestora toate operațiile logice. Pentru a ieși din program ar trebui să apăsați pe Ctrl-Z, și Enter.

operații logice pe date logice dă rezultatul unei reguli Boolean specificate în tabelul. 3.3.

Operațiunile logice pe boolean

Operarea IN raportul este aplicat la doi operanzi. Primul (stânga) Operandul trebuie sa fie o expresie a oricărui tip de comandă, al doilea - setul de elemente de același tip, sau tipurile de plural de identificator. Operațiunea produce TRUE, dacă operand la stânga face parte, de exemplu:

cifră = set de '0' .. '9'; începe

în cazul în care cu în cifre, atunci.

3.6. PROGRAM STRUCTURA

Structura oricăror unități de software (programe, proceduri sau funcții) ar trebui să fie :;

END <символ конца программной единицы>

Oricare dintre cele două secțiuni ale unității de program - descrieri secțiune, sau instrucțiunile executabile, sau ambele pot fi goale, de exemplu, nu conține nici descrieri sau declarații executabile.

În descrierea trebuie să conțină o descriere a tuturor identificatorilor utilizate în secțiunea de declarații executabile. O excepție sunt identificatori definiți în părțile frontale ale modulelor de program (biblioteci), și

DigType = set de '0'. '9';

StrType = string [40];

Spre deosebire de standardul Forum Pascal TYPE, CONST, VAR, LABEL poate urmări reciproc, în orice ordine, și să îndeplinească în secțiunea Declarații de câte ori.

Descrierea procedurii sau funcția este de a indica titlul procedurii (funcția) și corpul acestuia (a se vedea. In Ch. 8).

Structura software biblioteci (module) descrise în cap.9.