Tema 4. Datele de bază și operațiunile pe ele
Datele reale care funcționează programul - un număr, valori șir și logic parametri (analoage 1 și 0, „da“ și „nu“, „adevărat“ și „fals“). Aceste tipuri de date sunt menționate ca bază.
Bună ziua, _SumOfReal, xl, H8, _G7, _F6.
123, 2,87, „un șir de caractere“
sau pentru comoditate, le desemnează ID-uri. De exemplu, numărul p, egal cu 3,1416, pot fi notate ca pi și se aplică peste tot în locul identificatorului. Numai valoarea lui pi nu poate fi modificat, deoarece acesta nu este variabilă, dar constantă. Numerele sunt în general de două tipuri: întregi și fracții. Dacă numărul este negativ, confruntat cu semnul „-“, dacă este pozitiv, atunci semnul „+“ poate fi plasat, sau poate fi omisă. Calculele sunt efectuate pe numere întregi de calcul exact-TION numerelor fractionare - aproximativ. La înregistrarea în număr de fracționare este utilizat ca punct zecimal:
Indicați anumite tipuri de variabile (numere și specii corespunzătoare) în limbile cele mai populare reprezentate în tabelul 2.3.
Tabelul 2.3
Un număr foarte mare sau foarte mici, sunt scrise într-un mod special. Pentru mai multe mantisă indicat, - un număr semnat, care este o putere de 10. mantisa numărului este înregistrată chiar vizavi de litera e (sau E). Lacunele într-o astfel de înregistrare nu este permisă. De exemplu, numărul 100 (unitate înmulțit cu 10 la puterea a doua) este scris ca: 1e + 2; 0,003 număr (trei, înmulțit cu 10 la a treia putere minus) după cum urmează: Se 3; număr de 120 de zerouri - deci: 1E + 120. Aceasta a permis reprezentarea fracționată a numărului cu mantisă: 31.4e-1.
Conceptul de tip de date în Pascal
În Pascal există o regulă: tipul este definit în mod explicit în descrierea variabilei sau funcția pe care precede utilizarea lor. Conceptul de tip limbaj PASCAL are următoarele proprietăți de bază [10]:
-orice tip de date definește un set de valori căreia îi aparține constantă, care poate lua o variabilă sau o expresie, sau pentru a produce o operație sau o funcție;
-Valoarea de tip definită de o constantă, variabilă sau expresie poate fi identificată prin aspectul sau descrierea acestora;
-fiecare operațiune sau funcție necesită argumente de tip fix, și emite rezultatul de tip fix.
Rezultă că compilatorul poate utiliza informațiile de tip pentru a verifica corectitudinea calculabilitate și modele diferite.
Tipul determină:
-posibile valori ale variabilelor, constante, funcții, expresii care aparțin acelui tip;
-date trimiterea formularelor interne într-un calculator;
-operații și funcții care pot fi efectuate pe valorile care aparțin acelui tip.
Descrierea obligatorie a tipului conduce la concedieri în textul programelor, dar o astfel de concediere este un important programe de dezvoltare a ajutorului și este privit ca o caracteristică necesară a limbilor moderne de programare de nivel înalt. În Pascal există tipuri de date scalare și structurate.
Tipuri de date standard Pascal
Div 17 = 8 2, 5 div 3 = 0.
17 mod 2 = 1 și 3 mod 5 = 3.
operații relaționale aplicate operanzilor întregi, da un rezultat Boolean TRUE sau FALSE (istinaili false).
Real determină acele tipuri de date care sunt realizate subset de numere reale, care sunt permise în calculator.
Tipul Real este definit în standardul Pascal și coprocesor matematic nu este acceptat.
Celelalte tipuri de standardul IEEE 457 reale definite și puse în aplicare în toate computerele moderne.
Pentru utilizare în prezența unui coprocesor, sau atunci când se lucrează pe un computer, cum ar fi 80486, trebuie să compilați programul cu cheia, și în absența coprocesor - cu tastele.
Comp Tip deși a tipurilor de magazine valide doar numere întregi lungi.
Operanzi reale pot efectua următorii operatori matematici care dau rezultatul real:
plus +. scădere -. multiplicare *. divizie /.
Pentru valoarea tipului real de funcționare se aplică tuturor relațiilor care fac un rezultat boolean.
Unul dintre operanzii implicate în aceste operațiuni pot fi integrale.
Așa că variabila poate fi utilizată în program, acesta trebuie să fie mai întâi descrisă prin specificarea tipul său. In timp ce variabila nu a fost descrisă, nu le poate accesa (deși, în unele limbi, cum ar fi de bază și FORTRAN, se crede că toate variabilele care nu sunt declarate în mod explicit, sunt de tip numeric).
Sintaxa comenzi de definire a datelor
Iată câteva exemple de declarații variabile. Odată ce variabilele sunt descrise, aceasta poate fi tratata, dar are de obicei o valoare nulă inițial, deci trebuie să fie pre-inițializate - a atribui o valoare inițială.
Descrierea variabilelor în Pascal
Toate variabilele utilizate și programul Pascal trebuie să fie enumerate în declarația de variabilă. Această secțiune este alcătuită din fraze care descriu variabilele. Astfel de oferte pot fi mai multe, ele sunt plasate între titlul programului, subprogram, sau modul și cuvântul rezervat începe. prin declarațiile kryvayuschim-secțiuni de program, rutine, sau module. Situat la propuneri de declarare variabile pot reprezenta împreună (și aceasta este una dintre componentele unui stil de programare bun), dar ele pot, de asemenea, alternează cu descrieri km alte obiecte .. Constante, proceduri, funcții, etc. Declarația de oferta variabilă are forma în care vl, v2 . - lista de variabile, în cazul în care numele de variabile sunt virgulă-secțiune, un type_id specifică tipul variabilelor din această listă. În cazul în care programul utilizează variabile de diferite tipuri, atunci teza var enumeră numele variabilelor fiecărui tip:
Aici Word, Real și extins - nume de tip.
În prezent, software-ul profesional este de obicei scris numele variabilelor, folosind notația așa-numita maghiar.
notație maghiară - acordul privind numele variabilelor și funcții. Acordul este utilizat pe scară largă în limbaje de programare PASCAL, C, și în mediul Windows.
notația maghiară se bazează pe următoarele principii:
- nume de variabile și funcții trebuie să conțină prefixul care descrie tipul lor;
- nume de variabile și de funcții sunt înregistrate cuvinte complete sau fraze sau abrevieri, dar pentru ca numele ar putea să înțeleagă scopul variabilei sau acțiunea de a îndeplini o funcție.
Prefixele sunt scrise cu litere mici, prima literă a fiecărui cuvânt - titlu, prefixe și cuvinte scrise sau împreună, fie prin caracterul _ (subliniere). Următoarele Prefixele pentru variabile și funcții scalare pot fi recomandate pentru PASCAL limbii: Următoarele Prefixele pot fi utilizate pentru valorile unui tip structurat: De exemplu:
rV, arVector [1..20], sName, iCount. Într-un program compilat pentru toate variabilele atribuit un loc în memorie, și toate variabilele sunt atribuite valori nule.
Pentru a stabili valorile inițiale ale variabilelor (variabile de inițializare) PASCAL permite TURBO pentru a atribui valori inițiale ale variabilelor, împreună cu descrierea lor. Pentru acest design este utilizat
variabila nume: type = valoare;
care trebuie plasate în secțiunea de descriere constantă, de exemplu:
const rWeight: Real = 0,4;
Descriere constante în Pascal
În secțiunea Declarații a programului ar trebui să fie descrise nu numai variabilă, dar constantă. În cel mai simplu caz constantelor licitată care descrie are forma
const
v_l = val_l;
v_2 = val_1;
...
v_n = val_n;
Aici v_l, v_2. v_n - Constantele numele și val_i - valorile acestor constante. Mai târziu aflăm că constantele în Pascal sunt de două tipuri - nestandardizat (ca în acest caz) și dactilografiat. exemplu:
const
my_birth_year = 1905;
mass_or_electron = 9.1095e-28;
my_salary = 'invizibil';
operații aritmetice
Operatorii aritmetici sunt folosite pentru a înregistra operații aritmetice. In unele limbaje de programare, ele nu sunt operatori, precum și o operațiune de calcul a valorii expresiei, dar nu afectează alte utilizări și nu afectează cursul programului. Operațiile aritmetice de bază includ:
+ (Adăugare)
- (Scadere)
* (Multiplicare) / (diviziune).
Această formă de scriere respectă convențiile general acceptate și adoptate în limbajele de programare majoritar stve.
Fiecare operație aritmetică are o prioritate. Operațiuni cu prioritate kim-SEZON (înmulțire și împărțire) care urmează să fie efectuată mai devreme decât operarea cu o prioritate mai mică (adunare și scădere). Modificarea ordinii de calcul împăcării a expresiei, puteți utiliza paranteze.
b * 2 + c / 3 b * (2 + c) / 3
Parantezele pot fi imbricate orice număr de ori. Utilizarea parantezelor sau acolade, de regulă, nu sunt permise.
((Y + 2) * 3 + 1) / 2
expresii aritmetice
Folosind expresii aritmetice aritmetice sunt formate, care constau din operațiunile și operanzii (variabile și constante). De exemplu, expresia
i + 2
Constă într-o singură operațiune „+“, iar cele două operanzi - variabila i și constante numerice 2 con.
Fiecare expresie are o valoare care este determinată de către operator în timpul executării care conține torus această expresie. Dacă în momentul de calcul al expresiei de mai sus, i variabila este stocat în numărul 3, valoarea acestei expresii este egală cu (3 + 2).
expresii logice
La crearea unui program nu se poate face fără expresii logice. Ele se deosebesc prin aceea că rezultatele calculele lor pot lua doar una dintre cele două valori valide - true (adevărat, da, pe) și fals (false, nu, off). Cel mai adesea, fals este asociat cu zero, iar o valoare de adevărat - cu numărul 1 sau o valoare non-zero.
La înregistrarea unei expresii logice folosite de operare comparație sau funcționarea logică. operațiunile de comparare sunt valori ale operanzilor dreapta și stânga potrivire. rezultatul este adevărat comparație, în cazul în care este de succes, și false în caz contrar.
Tabelul 2.4 sunt exemple de operații de comparare de înregistrare pentru diferite limbi.
Tabelul 2.4
Prioritățile tuturor operațiunilor logice sunt mai mici decât prioritățile comparații, astfel încât comparațiile sunt întotdeauna executate mai întâi. Calculați funcționare alogical, sunt în următoarea ordine: NU, atunci și, apoi SAU. Dacă este necesar, această comandă poate fi schimbată folosind paranteze.
Exemple de expresii logice:
x1> = 1 x1 <= 10
(R> 3.14) și (R <3.149)
(Valoare
bit aritmetică
operații logice nu, și, sau și XOR. sunt administrate în PASCAL TURBO, pentru a permite lucrul cu cifre binare (biți) aparțin aritmetică bit așa-numitele sau nivel de bit. bit operații aritmetice se aplică numai tipurilor întregi.
Astfel, nu o singură operație se numește, se schimbă doar în fiecare număr întreg de biți inversat.
funcționarea și, sau și xor - geamăn, operanzi de operații - valori întregi egale ca lungime. Operațiunile sunt efectuate în perechi peste toți biții operanzilor.
Al doilea grup de operațiuni - aceasta operațiunile de trecere la SHR schimbare SHL stânga și dreapta:
I SHL N
I SHR N.
Aceste operații deplasate valori ale secvenței binare I stânga sau la dreapta prin N biți. În acest caz, biți, lăsând limitele rețelei se pierd, iar biții părăsite sunt umplute cu zerouri. Atunci când valorile negative schimbare biți părăsite dreapta sunt unități umplute.
expresia string
Șiruri în limbaje de programare sunt întotdeauna închise în ghilimele. În C ++ și Bay Sike ghilimele duble sunt folosite pentru acest lucru, Pascal - singur.
„Acest BASIC sau C ++ string“ și „acesta este un sir de Pascal“
Șirul poate fi gol - nu conțin caractere. De exemplu: „“ sau „“.
De obicei, rândurile pot fi comparate între ele în echivalență (și egal cu nu egal). Unele comparații sunt permise limbaje de programare, cum ar fi „mai mult“ sau „mai puțin“ - astfel, există o comparație consecventă a valorilor caracterelor (fiecare caracter este reprezentat de un număr specific în calculator). În plus, de multe ori se permite, de asemenea, linii de kontenatsii operare care pot fi înregistrate folosind simbolul „+“. De exemplu:
"123" + "4567" - va "1234567";
"Abc" + "abc" + "xyz" - va "abc xyz abc"
Împărțirea operatorilor
Dacă vom scrie mai multe declarații într-un rând și nu a specificat unde se termină una și cealaltă începe; în procesul de compilare există mai multe probleme cu alocarea operatorilor individuali. Prin urmare, operatorii din Pascal și C ++ departament sunt unul de altul printr-un punct și virgulă „;“ (fiecare operator în aceste limbi ar trebui să se termine cu un astfel de simbol), iar în BASIC - două puncte „:“, sau trecerea la o nouă linie.
Un bloc de declarație
De multe ori este necesar ca programul să execute un grup de declarații (de exemplu, în funcție de anumite condiții). Un astfel de grup este combinat într-un bloc cu ajutorul unor console speciale începutul și sfârșitul blocului, paranteze nazyvaemyhlogicheskimi. Noțiunea explicită bază de „operator de unitate“ Nu, în Pascal pentru că utilizează cuvinte cheie pentru a începe sau se încheie, iar în C ++ - „“ aparat dentar.
Domeniul de aplicare a variabilelor
Echipe declarații variabile pot apărea în diferite locuri în program. Se presupune că variabilele declarate în cadrul acestora sunt locale și domeniul de aplicare a acestora - blocul curent în care sunt descrise. paranteză logică Odată comună, unitatea de închidere (de exemplu, „>“), variabila corespunzătoare încetează să mai existe, și dedicat memoriei ei este eliberat. Unele variabile (globale) este descris blocuri și accesibil de oriunde pro-grame.
Operatorul de atribuire
Operatorul de atribuire se poate modifica valoarea curentă. Shin-taxiuri este foarte simplu. Pe partea stângă a unei instrucțiuni de atribuire conține numele variabilei a cărei valoare este modificată, precum și dreptul - expresia, valoarea Koto-cerned vor fi scrise variabila. În acest caz, valoarea veche este stocată în ea, a pierdut iremediabil.
a „=“ în Basic și C ++ scrise de sarcinile operatorului și combinații ale mărcilor cu două-TION „: =“ în Pascal (nici un spațiu permis între ele).
De exemplu:
Rezultat = 5
Variabila numărul 5. Semnul scris Rezultat „=“ indică o sarcină este, în schimb comparație care poate fi utilizat numai în expresii logice.
Un alt exemplu:
X = X + 1
Valoarea calculată mai întâi a expresiei X + 1, iar apoi este introdus în X.-ing schimbare admis și această intrare:
X = X = H.
În primul rând, o comparație este realizată pe partea dreaptă (X = X), valoarea sa va fi întotdeauna adevărat, iar valoarea variabilei X, respectiv, adevărata voință, de asemenea. Pentru depozitele mai mari de claritate a operatorului de atribuire în Pascal a adoptat o formă specială de recordul său:
X: = X = X.
Exemple.
BASIC:
a23 a22 = (12) + 1: b1 = b1 - 1
Pascal:
a: = b * 2 + c; d: = (e [8] - f) * 2.2;
C ++:
x [5] = y / 3,33; y = z [0] - 0,001;