Unele informații despre designer

LEXEME ȘI CONSTANȚE.

SIMBOLE SPECIALE SI CUVINTE RESERVATE

Constructorul utilizează următoarele subseturi ale setului de caractere ASCII:

  • Literele alfabetului de la A la Z, de la a la z, de la A la Z și înainte de mine, caracterul de subliniere
  • Cifre - Arabă de la 0 la 9
  • Spațiile sunt un caracter spațiu (ASCII 32)

Caracterele speciale și cuvintele rezervate sunt simboluri care au una sau mai multe valori fixe. Caracterele speciale sunt următoarele caractere. + - * / = <>. ()
Următoarele perechi de caractere sunt și caractere speciale. <=>=: = //

Tabelul 1. Cuvintele rezervate.

STRUNGURI DE SIMBOLURI

Un șir de caractere este o secvență care conține zero sau mai multe caractere din setul de caractere extins ASCII (Anexa B), scris într-o singură linie a programului și închis în ghilimele simple (apostrofuri). Un șir de caractere care nu conține nimic între apostrofuri este numit șir gol. Atributul de lungime al șirului de caractere conține numărul real de caractere dintre apostrofuri. Iată câteva exemple de șiruri de caractere.

"Designer contractor"
"CMOS - pereche complementară de metal-oxid-semiconductor"
'!'
'' (șir gol)

O expresie constantă este o expresie care poate fi evaluată de către interpret fără executarea efectivă a programului. Dăm exemple de expresii constante.

  • Tip întreg
  • String de tip
  • Tipul boolean
  • Tip personalizat (clase)

TIP INTEGRAT

În constructor, tipul întreg este reprezentat de un număr semnat pe 32 de biți. Gama de valori.
-2147483648. 2147483647

Prots Start ()
ieșire -4 * 343/1 + (- 45 * 5)
Con Procent

Tipul logic

Valorile de tip logic sunt notate de identificatorul constante încorporat .l. (o minciună) și .i. (Adevărat).

Prots Start ()
Concluzie (I sau L) Și (I, I.I.)
This_logical_type: = .i.
Con Procent

STRING TYPE

Valoarea unui tip de șir este o secvență de caractere cu atribut de lungime dinamică (în funcție de numărul real de caractere din execuția programului). În constructor, tipul de șir este reprezentat ca un șir cu un termen nul (șir nul terminat). Valoarea curentă a atributului de lungime poate fi obținută cu funcția Standard LengthStr.

Prots Start ()
Titlu: = "Constructorul interpretului trebuie să tacă. '
Concluzie "orașul Gorno-" + "Altaisk"
Con Procent

TIP DE UTILIZATOR

LIMITAREA. Câmpul nu poate fi un tip definit de utilizator.

O clasă poate moșteni componente dintr-o altă clasă. Dacă T2 moștenește de la T1, atunci T2 este generat din T1, iar T1 este un strămoș pentru T2. Unde T1 este clasa de bază și T2 este clasa derivată.
Moștenirea este tranzitivă, adică dacă T3 moștenește din T2 și T2 moștenește de la T1, atunci T3 moștenește de la T1.

Clasa Pătratul (punct)
X2, Y2
Prots Desen ()
pătrat (X1, Y1, X2, Y2, clGreen)
procente Con
Clasa Con

Expresiile constau din operatori și operanzi. Cele mai multe dintre instrucțiunile din Constructor sunt binare, adică conțin două operanzi. Operatorii rămași sunt unari și conțin doar un singur operand. Operatorii binari utilizează, de exemplu, reprezentarea uzuală algebrică. A + B. În operatorii unari, operația precede întotdeauna operandu-l, de exemplu, -B. În expresii mai complexe, ordinea în care sunt efectuate operațiile corespunde priorității operațiunilor (vezi Tabelul 2).

Tabelul 2. Prioritatea operatorilor.

Există trei reguli de bază pentru determinarea priorității operatorilor:
1. Un operand, situat între doi operatori cu priorități diferite, este asociat cu un operator cu o prioritate mai mare.
2. Operandul, localizat intre doi operatori cu prioritati egale, comunica cu operatorul aflat in partea stanga a acestuia.
3. Expresia cuprinsă în paranteze este evaluată ca un singur operand înainte de execuție.

Operatorii cu prioritate egală sunt de obicei executați de la stânga la dreapta. Operatorii sunt împărțiți în operatori aritmetici, operatori logici, operatori de șir.

Exemplu de utilizare a expresiilor:

Prots Start ()
Ieșire 34/2 mod 3
Imprimarea (43> = 3 * 4)
Con Procent

Următorul tabel prezintă tipurile de operanzi și rezultatele pentru operațiile aritmetice binare și unare.

Tabelul 3. Operațiuni aritmetice binare.

Notă: Operatorul + este, de asemenea, folosit pentru a lucra cu șiruri de caractere.


Tabelul 4. Operațiuni aritmetice unari.

Prots Start ()
Ieșiți (-34 + 3)> 4 * 3 + 2
Print -3 * -3
Con Procent

Operatori logici. Tipurile de operanzi și rezultatele operațiilor logice sunt prezentate în Tabelul 5.

Tabelul 5. Operații logice.

NOTĂ. Operatorul NOT (invertor) este un operator unar.

Rezultatele acestor operații corespund logicii booleene obișnuite. De exemplu, expresiile A și B au valoarea I. (Adevăr) numai dacă ambii operanzi au valoarea TRUE. String operatori. Tipurile de operanzi și rezultatul operațiilor de șir sunt prezentate în Tabelul 6.

Prots Start ()
Ieșirea nu este (.I și .L.)
Imprimarea (43> = 3 * 4) sau.
Con Procent

Tabelul 6. Operațiuni cu șir.

Prots Start ()
Concluzie LengthStr ("Buna ziua!")
Imprimare 'WORLD' + '-' + 'WORLD'
Con Procent

Operatori relatari. Tipurile de operanzi și rezultatele operațiilor de relaționare sunt prezentate în Tabelul 7.

Tabelul 7. Operațiuni relaționale.

Mai puțin sau egal cu

Mai mare sau egală cu

Prots Start ()
Ieșirea NU (4 <= 5)
Imprimarea (43> = 3 * 4) și (4 <446)
Con Procent

Operatorii descriu acțiunile algoritmice care trebuie efectuate. Operatori simpli. Un operator simplu este un operator care nu conține alți operatori. Operatori simpli.

1. Operator de atribuire
2. Operatorul apelului procedurii

Operatorul de atribuire înlocuiește valoarea curentă a variabilei cu o nouă valoare, care este determinată de expresie. Dăm câteva exemple ale operatorului de atribuire.

X_Coordinate: = Y + Z
D: = B * B - 4 * A * C
Mesaj: = 'Buna ziua' + 'tuturor!'
Suma: Suma a două (A, B)


OPERATORUL DE PROCEDURĂ A APELOR.

Mesaj de ieșire ("PERICOL.")
Cercul de schimb (A, N, M) (100,100,10, clRed)
Robot.Idti_Down ()

// Două paranteze sunt obligatorii (chiar dacă nu există parametri)
ieșire Calcul ()
Sumă: Suma (A, 63)
max_value: = Maxim (147, J + 34)

Operatori structurali.
1. Declarația condiționată
2. Operatorul ciclului

Sintaxa operatorului IF poate fi reprezentată după cum urmează.

dacă <выражение>
[Operator_1]
[Operator_2]
.
[Operator_N]
toate

dacă <выражение>
[Operator_1]
[Operator_2]
.
[Operator_N]
altfel
[Operator_1]
[Operator_2]
.
[Operator_N]
toate

Expresia trebuie să genereze un rezultat care are un tip logic. Dacă rezultatul expresiei este valoarea adevărată (.I), atunci se execută instrucțiunea care urmează după expresie. Dacă rezultatul expresiei este. și este prezentă cuvântul cheie AKA, atunci se execută instrucțiunea care urmează cuvântului AKA. Dacă lipsește cuvântul cheie AKA, nu se execută nici o declarație. Dăm două exemple de operatori IF.

dacă X <15
X. = X + Y
altfel
Z. = 15
toate

dacă .I.
MyObj.ShowInfo ()
toate

Operatorii buclă specifică re-executarea anumitor operatori. Dacă numărul de repetări este cunoscut în prealabil, designul corespunzător este FOR sau REPEAT. În caz contrar, ar trebui să utilizați operatorii până acum.

Operatorii ciclului SUMMER.

Operatorul buclă SOP conține o expresie care controlează executarea instrucțiunii.

în timp ce <выражение>
[Operator_1]
[Operator_2]
.
[Operator_N]
KC

Expresia folosită pentru a controla repetarea unui operator trebuie să fie de tip logic. Se calculează înainte de executarea operatorului intern. Declarație internă este executată în repetate rânduri, atât timp cât expresia evaluează .și .. Dacă expresia de la bun început este setat la .L .. atunci operatorul conținut în operator până la finalul ciclului nu este executat nici măcar o dată. Exemple de operatori ai bucla SEM pot servi.

în timp ce Coordinate_to_X <> 10
Coordinate_to_X: = Coordinate_to_X + 1
KC

în timp ce eu <10 и Окно.Полное = .Л.
Fereastră: Ieșirea întregului (I)
I: = I + 1
KC

Operatori cicluri FOR.

Operatorul ciclului FOR determină ca operatorul (operatorii) să fie executat în mod repetat până când valoarea variabilei de control (contorul de cicluri) atinge o anumită valoare.

pentru <имя_управ_переменной> de la <начальное_знач> până la <конечное_знач>
[Operator_1]
[Operator_2]
.
[Operator_N]
KC

Ca variabilă de control, trebuie utilizat un identificator variabil, care denotă o variabilă. Variabila de control trebuie să aibă un tip întreg. Valorile inițiale și finale trebuie să aibă un tip întreg. Atunci când operatorul începe să execute, valorile inițiale și finale sunt determinate o dată și aceste valori sunt stocate pe parcursul executării operatorului FOR. Operatorul, care este conținut în corpul operatorului FOR, este executat o singură dată pentru fiecare valoare din intervalul dintre valorile de început și sfârșit. Variabila de control este întotdeauna inițializată cu valoarea inițială. Atunci când operatorul FOR utilizează cuvântul cheie STEP cu o expresie pozitivă sau nu utilizează deloc, valoarea variabilei de control crește cu fiecare repetare a expresiei expresiei. Dacă valoarea inițială depășește valoarea finală, atunci operatorul din corpul operatorului nu este satisfăcut. Atunci când se folosește un cuvânt cheie STEP cu o valoare negativă în instrucțiunea buclă, valoarea variabilei de control scade cu fiecare repetare a expresiei expresiei. Dacă valoarea inițială a unui astfel de operator este mai mică decât valoarea finală, atunci operatorul conținut în corpul operatorului bucla nu este executat. Dăm exemple ale operatorului ciclului FOR.

Pentru AskNomere de la 128 la 255
imprimarea simbolurilor (AskNomere)
Cp

// imprimați numerele impare la 100
pentru și de la 1 la 100, etapa 2
imprimare și
KC

// tipăriți numerele parțiale la 100
pentru și de la 2 la 100, etapa 2
imprimare și
KC

// extrageți toate numerele parțiale din intervalul [-100; 100]
pentru și de la 100 la -100 etapa -2
ieșire și
KC

În constructor există un nume rezervat pentru metoda specială - Init. Init este un constructor de clasă, adică O metodă care este apelată automat atunci când este creată o instanță a unei clase.

// Clasați cu constructorul.
clasă
Culoare Culoare, Volum
% Init ()
ieșire "Se numește constructorul. Creați un obiect. '
miza la sută
Clasa Con

obiect <Имя_Объекта> = <Имя_Класса>

Un exemplu. Obiect MoyKvadrat = Pătrat

PROCEDURI ȘI FUNCȚII.

la sută <имя_процедуры> ([<список_формальных_параметров>])
[Operator_1]
[Operator_2]
.
[Operator_N]
Con Procent

SEMNALUL PROCEDURII - numele procedurii și o listă a parametrilor formați.

Procesarea (f, l)
Dacă φ> = π
ieșirea "este mai mare sau egală cu n '
altfel
derivarea "u este mai mică decât"
toate
Con Procent

Fung <имя_функции> ([<список_формальных_параметров>])
[Operator_1]
[Operator_2]
.
[Operator_N]
Kohn Fun

FUNCTION FUNCTION (FUNCȚIE FUNCȚIONALĂ) - numele funcției și o listă a parametrilor formați.

Antetul funcției conține identificatorul funcției, parametrii formali (dacă există). Funcția este activată prin apelarea unei funcții în expresie. Apelul pentru funcții conține identificatorul funcției și parametrii actuali necesari. Funcția este executată atunci când expresia este evaluată, iar valoarea operandului devine valoarea returnată de funcție. Partea operator a funcției conține operatorii care sunt executați atunci când funcția este activată. Rezultatul funcției este atribuit utilizând cuvântul cheie RETURN.

Distracție maximă (A, B)
Dacă A> B
retur A
altfel
retur B
toate
Kohn Fun

// Exemplu de recursiune
Distracție Factorial (Număr)
dacă numărul = 1
retur 1
altfel
retur Număr * Factorial (Număr - 1)
toate
Kohn Fun

Număr de clasă
Pole1
pound TakeField1 ()
returnați câmpul1
con fu
procent Setare câmp1 (valoare)
Câmp1: = Valoare
miza la sută
Clasa Con

Constructorii sunt forme specializate de metode. Constructorii sunt utilizați pentru a iniția obiecte nou formate. De obicei, inițializarea se bazează pe valorile de setare pentru câmpurile de clasă din constructor. Ca și alte metode, constructorii pot fi moșteniți. Exemple de constructori:

Numărul câmpului de câmp1
// Constructor
% Init ()
Câmpul 1: = 0
miza la sută
pound TakeField1 ()
returnați câmpul1
con fu
procent Setare câmp1 (valoare)
Câmp1: = Valoare
miza la sută
Clasa Con

CLASE ȘI OBIECTE

Constructorul Contractorului are mijloacele de a construi clase și obiecte. Fiecare obiect din Constructor are un tip; este clasa căreia îi aparține obiectul.

Clasă (clasă) - o colecție de variabile, combinată cu un set de funcții asociate.

Un obiect este un exemplu individual al clasei.

Există două tipuri de membri în fiecare clasă: câmpuri și metode.

  • Câmpul (câmpul) este o variabilă membru care conține date ale clasei și ale obiectelor acesteia.
  • O metodă este o funcție membră care conține codul executabil al unei clase.

Clasele sunt folosite pentru a construi tipuri de date definite de utilizator și pentru a promova schimbul de coduri. În special, puteți crea o clasă nouă din una sau mai multe clase existente, iar această nouă clasă va conține datele și toate funcțiile clasei din care a fost creată. În plus, în această clasă nouă pot fi definite date și funcții suplimentare unice pentru obiectele acestui tip nou și chiar funcțiile pe care această clasă le moștenează de la clasa lor de bază pot fi redefinite. Astfel, moștenirea claselor oferă flexibilitatea maximă în formarea unor clase noi, similare celor existente, dar nu identice cu ele.

clasă <имя_класса> [(<имя_предка>)]
//
// În corpul clasei este o descriere a metodelor și câmpurilor.
//
Clasa Con

Cu alte cuvinte, o clasă este o descriere a ceva și un obiect este ceea ce este creat în conformitate cu această descriere.

obiect <имя_объекта> = <имя_класса>

Toate obiectele din constructor sunt declarate la nivel global și au un domeniu de aplicare global.

de pește
greutate, culoare, nume
podea, locuință
% Init ()
greutate: = 0
culoare: = ''
nume: = ''
sex: = 0
locuință: = ''
miza la sută

procent Swim ()
print 'SLEEPING' === @@> '
miza la sută

procente mascate ()
tipărirea "MASKING oo"
miza la sută
con clasa

obiect pike = pește

procent Start ()
știucă ()
Pike. Mascat ()
miza la sută

Articole similare