Tipul de date întreg în Pascal. Tipuri de date Pascal

Tipuri de date Pascal

Orice date (constante, variabile, valori ale funcției sau expresii) din Turbo Pascal sunt caracterizate prin tipurile lor. Un tip definește setul de valori valide pe care le poate avea un obiect, precum și setul de operații valide care i se pot aplica. Tipul determină și formatul reprezentării interne a datelor din memoria computerului.

Există următoarele tipuri de date în Turbo Pascal.

1) Tipuri simple:

– real;

– simbolic;

– boolean (logic);

– enumerate;

– limitat (gamă).

2) Tipuri compozite (structurate):

– regulat (matrice);

– combinate (înregistrări);

– dosar;

– multiplu;

– sfoară;

– obiecte.

3) Tipuri de referință (indicatori tip și netipizat).

4) Tipuri procedurale.

Turbo Pascal oferă un mecanism pentru crearea de noi tipuri de date, datorită căruia numărul total de tipuri utilizate în program poate fi atât de mare pe cât se dorește.

Tipul întreg. Valorile întregi sunt elementele unui subset de numere întregi. Există cinci tipuri de numere întregi în Turbo Pascal. Numele lor, intervalul de valori, lungimea reprezentării în octeți sunt date în tabel. 6.

Tabelul 6

Tipuri de date întregi

Variabilele întregi sunt descrise folosind cuvintele rezervate de mai sus:

i, j, k: întreg;

Datele de tip întreg sunt stocate exact în memorie. De exemplu, variabilele de tip întreg ocupă 2 octeți (16 biți) în memorie, care sunt alocați după cum urmează: 1 bit este alocat pentru a stoca semnul numărului (0 dacă numărul este pozitiv și 1 dacă numărul este negativ) și 15 biți pentru a stoca numărul în calcul binar. Numărul zecimal maxim care poate fi scris ca binar pe 15 biți este 32767.

Când utilizați proceduri și funcții cu parametri întregi, ar trebui să vă ghidați după „imbricarea” tipurilor, adică. oriunde este folosit cuvântul, byte este permis (dar nu invers), longint „include” un număr întreg, care, la rândul său, include shortint.

Pentru tipul întreg sunt definite cinci operații de bază, al căror rezultat este și un număr întreg: +, -, *, div, mod (adunare, scădere, înmulțire, împărțire întreg și rest de împărțire întreg). În expresiile aritmetice, operațiile *, div, mod au prioritate mai mare decât operațiile +, -. Exemple de expresii de scriere:

Lista procedurilor și funcțiilor aplicabile tipurilor întregi este dată în tabel. 7. Literele b, s, w, i, l denotă expresii de tip byte, shortint, word, întreg și, respectiv, longint; x este o expresie a oricăruia dintre aceste tipuri; identificatorii vb, vs, vw, vi, vl, vx denotă variabile ale tipurilor corespunzătoare. Un parametru opțional este indicat între paranteze drepte.

Tabelul 7

Proceduri și funcții standard aplicabile pentru tipuri întregi

Recurs Tip de rezultat Acţiune
Abs(x) x Returnează modulul x
Chr(b) Char Returnează un caracter după codul său
Dec(vx[,i]) - Descrește valoarea lui vx cu i, iar în absența lui i – cu 1
Inc(vx[,i]) - Crește valoarea lui vx cu i, iar în absența lui i – cu 1
salut(i) octet Returnează octetul înalt al argumentului
salut(i) octet Aceleaşi
Lo(i) octet Returnează octetul scăzut al argumentului
Scăzut) octet Aceleaşi
Impar(l) octet Returnează adevărat dacă argumentul este un număr impar
Aleatoriu (w) La fel ca parametrul Returnează un număr pseudo-aleatoriu distribuit uniform în intervalul 0...(w-1)
Sqr(x) x Returnează pătratul argumentului
Schimbați(i) Întreg
Schimbați (w) Cuvânt Schimbă octeți într-un cuvânt
Succ(x) La fel ca parametrul Returnează următoarea valoare întreagă, adică x+1
Pred(x) La fel ca parametrul Returnează valoarea întregului precedent, adică x-1

Când se operează cu numere întregi, tipul rezultatului va corespunde tipului de operand, iar dacă operanzii sunt de diferite tipuri întregi, tipului de operand care are intervalul maxim de valori. Posibila depășire a rezultatului nu este controlată, ceea ce poate duce la erori în program.

Tip real. Valorile tipurilor reale definesc un număr arbitrar cu o anumită precizie finită, în funcție de formatul intern al numărului real. Există cinci tipuri reale în Turbo Pascal (Tabelul 8).

Tabelul 8

Tipuri de date reale

Variabilele reale sunt descrise folosind cuvintele rezervate de mai sus:

Un număr real din memoria computerului este format din 3 părți:

Cifra semnului unui număr;

Parte exponențială;

Mantisa numărului.

Mantisa are o lungime de la 23 (Single) la 63 (Extended) cifre binare, ceea ce oferă o precizie de 7-8 pentru Single și 19-20 pentru Extended zecimal digits. Punctul zecimal (virgula) este implicat înaintea cifrei din stânga (cea mai semnificativă) a mantisei, dar atunci când se operează pe un număr, poziția acestuia este deplasată la stânga sau la dreapta, în conformitate cu ordinea binară a numărului stocat în partea exponențială. , prin urmare operațiile pe numere reale se numesc aritmetică în virgulă mobilă (virgulă).

Tipurile Single, Double și Extended sunt accesate numai în moduri speciale de compilare. Pentru a activa aceste moduri, selectați elementul de meniu Opțiuni, Compilator…și activați opțiunea 8087/80287 în grup Prelucrare numerică.

O poziție specială în Turbo Pascal este ocupată de tipul Comp, care este tratat ca un număr real fără părți exponențiale și fracționale. De fapt, Comp este un întreg mare cu semn care stochează 19...20 de cifre zecimale semnificative. În același timp, în expresiile Comp este pe deplin compatibil cu orice alte tipuri reale: toate operațiile reale sunt definite pe el, poate fi folosit ca argument pentru operații matematice etc.



Numerele reale sunt specificate în sistemul numeric zecimal într-unul dintre doua forme.

ÎN formă de punct fixînregistrarea constă dintr-un număr întreg și o parte fracțională, separate între ele printr-un punct, de exemplu:

0.087 4.0 23.5 0.6

ÎN formă în virgulă mobilă intrarea conține litera E, care înseamnă „înmulțiți cu zece la putere”, iar puterea este un număr întreg, de exemplu:

7E3 6.9E-8 0.98E-02 45E+04

Următoarele operații sunt definite pe obiecte de tip real: +, -, *, /.

Operațiunile „*” și „/” au prioritate mai mare decât operațiunile „+” și „-”.

Dacă cel puțin un operand este real, atunci operațiile +, -, *, / conduc la un rezultat real. Operația de împărțire / conduce la un rezultat real chiar și în cazul a doi operanzi întregi, de exemplu: 9/3 = 3,0.

Pentru a lucra cu date reale, pot fi utilizate funcții matematice standard prezentate în tabel. 9. Rezultatul acestor funcții este și el real.

Tabelul 9

Funcții matematice care funcționează cu date reale

Este interzisă utilizarea variabilelor și constantelor de tip REAL:

– în funcțiile pred(x), succ(x), ord(x);

– ca indici de matrice;

– ca etichete în declarațiile de transfer de control;

– ca variabile de control (parametri de ciclu).

Pentru a converti un număr real într-un număr întreg, puteți utiliza următoarele funcții:

trunc(x) – parte întreagă a lui x (x – real);

round(x) – rotunjirea la cel mai apropiat număr întreg (x este real).

Tip de caracter. Variabilele de caractere sunt descrise folosind cuvântul rezervat char:

Valorile de acest tip sunt selectate dintr-un set de caractere ordonat (set ASCII) format din 256 de caractere. Fiecărui caracter i se atribuie un număr întreg din intervalul 0..255. De exemplu, literele mari ale alfabetului latin A..Z au codurile 65..90, iar literele mici au codurile 97..122.

Valoarea unei variabile de tip de caracter este un singur caracter înconjurat de apostrofe, de exemplu:

„F” „8” „*”

Variabilele de caractere pot fi comparate între ele, iar codurile de caractere sunt comparate.

Există funcții care stabilesc o corespondență între un simbol și codul său:

ord(c) – dă numărul simbolului c;

chr(i) – returnează numărul caracterului i.

Aceste funcții sunt inverse una față de cealaltă.

tip boolean. Variabilele booleene sunt descrise folosind cuvântul rezervat boolean:

p1, p2: boolean;

Variabilele de tip boolean iau două valori: adevărat(adevărat), fals(minciună).

Aceste valori sunt ordonate după cum urmează: false< true. false имеет порядковый номер 0, true имеет порядковый номер 1.

Variabilelor booleene li se poate atribui direct o valoare sau pot folosi o expresie booleană. De exemplu,

a, d, g, b: boolean;

Operațiuni de relație (<, <=, >, >=, =, <>), aplicate variabilelor întregi, reale și simbolice, produc un rezultat logic.

Operațiile logice pe operanzi de tip logic produc, de asemenea, un rezultat logic (operațiile sunt enumerate în ordinea descrescătoare a priorității) (pentru mai multe detalii, vezi Tabelele 3 și 5):

nu – negație (operație NU);

și – înmulțire logică (operație AND);

sau – adăugare logică (operație OR);

xor – OR exclusiv.

Expresia (nu a) are sensul opus a lui a.

Expresia (a și b) se evaluează drept adevărată dacă numai a și b sunt adevărate, în caz contrar, valoarea acestei expresii este falsă;

Expresia (a sau b) se evaluează ca fals dacă doar a și b sunt evaluați ca fals, în caz contrar, rezultatul este adevărat;

Tip de enumerare. Un tip enumerat non-standard este specificat printr-o enumerare sub formă de nume de valori pe care o variabilă le poate lua. Fiecare valoare este denumită printr-un identificator și este situată într-o listă înconjurată de paranteze. Forma generală a descrierii tipului enumerat:

x = (w1, w2, …, wn);

unde x este numele tipului, w1, w2,..., wn sunt valorile pe care le poate lua o variabilă de tip x.

Aceste valori sunt ordonate w1

Următoarele funcții standard se aplică argumentului w de tip enumerat:

succ(w), pred(w), ord(w).

culoare=(rosu, negru, galben, verde)

ww=(stânga, sus, dreapta, jos);

f: matrice de ww;

succ(d) = galben;

Variabilele a și b sunt de tip w. pot lua una dintre cele trei valori, cu pornit

Operațiile relaționale sunt aplicabile valorilor de tip enumerat: =,<>, <=, >=, <, >.

Este permisă specificarea constantelor de tip enumerate direct în secțiune var fără a folosi partiția tip, De exemplu

c,d: (rosu, negru, galben, verde);

Tip de gamă (limitat).. Când definiți un tip limitat, specificați valorile inițiale și finale pe care le poate lua o variabilă de tip interval. Valorile sunt separate prin două puncte.

Descrierea tipului restricționat este de formă

Aici a este numele tipului, min, max sunt constante.

Atunci când specificați un tip restricționat, trebuie respectate următoarele reguli:

– ambele constante de limită min și max trebuie să fie de același tip;

– se creează un tip limitat din datele unui tip de bază, care poate fi un întreg, caracter sau tip enumerat. De exemplu:

col = roșu.. galben;

litera = ‘a’...’f’;

– Variabilele de tip restricționat pot fi declarate în secțiunea var fără a se face referire la secțiunea de tip:

– un tip restricționat moștenește toate proprietățile tipului de bază din care este creat;

– limita minimă trebuie să fie întotdeauna mai mică decât limita maximă.

Matrice. Un tablou este un tip complex care este o structură constând dintr-un număr fix de componente de același tip. Tipul de componentă se numește tip de bază. Toate componentele matricei pot fi comandate cu ușurință și accesul la oricare dintre ele poate fi asigurat pur și simplu prin indicarea numărului său de serie. Descrierea matricei în secțiune var are forma:

o: matrice de t2;

unde a este numele matricei, matrice, de– cuvinte de serviciu (însemnând „matrice de...”), t1 – tip index; t2 – tip componentă (tip bază).

Numărul de indici determină dimensiunea matricei. Indecii pot fi tipuri întregi (cu excepția longint), caracter, logic, enumerare și interval. Indicele sunt separate prin virgule și cuprinse între paranteze drepte. Componentele matricei pot fi de orice tip, cu excepția fișierului.

Exemplul 1. Luați în considerare o matrice unidimensională C, ale cărei valori sunt cinci numere reale:

4.6 6.23 12 -4.8 0.7

Descrierea acestei matrice este următoarea:

c: matrice de real;

După o anumită valoare a indexului, puteți selecta o anumită componentă a matricei (de exemplu, C înseamnă al treilea element al matricei C, adică numărul 12).

Exemplul 2. Luați în considerare o matrice bidimensională B (matricea B), a cărei valoare este un tabel de numere întregi:

Descrierea acestei matrice este următoarea:

b de număr întreg;

Aici b este numele matricei, primul index este numărul rândului și ia valori de la 1 la 2, al doilea este numărul coloanei și ia valori de la 1 la 4. Pe baza unor valori specifice de index, puteți selectați o componentă de matrice specifică (de exemplu, b înseamnă un element de tabel situat în primul rând și a treia coloană, adică numărul -4).

Indecșii pot fi expresii arbitrare corespunzătoare tipului de index din descrierea matricei:

a: matrice de real;

a[(i+1)*2]:= 24;

Setul de operații asupra elementelor matrice este complet determinat de tipul acestor elemente.

Tip șir. Tipul de șir este un set de șiruri de caractere de lungime arbitrară (de la zero la un număr dat). Variabilele de tip șir sunt descrise folosind un cuvânt funcție şir:

b: şir ;

Particularitati:

– valoarea unei variabile șir poate fi introdusă folosind tastatura, atribuită într-un operator de atribuire sau citită dintr-un fișier. În acest caz, lungimea șirului introdus poate fi orice (mai mică decât dimensiunea specificată, egală cu dimensiunea sau mai mare, în acest din urmă caz, caracterele suplimentare sunt eliminate); a:= „Rezultate”;

– este permisă utilizarea operației de concatenare în operatorul de atribuire, deoarece șirurile își pot modifica dinamic lungimea: a:= a + ‘calculări’;

– lungimea maximă a unei variabile șir este de 255 de caractere, această indicație de lungime poate fi omisă:

o: şir;

a1: şir ;

Variabilele a și a1 sunt aceleași (descriere echivalentă).

– memoria pentru variabilele de tip șir este alocată la maximum, dar este utilizată doar partea din memorie ocupată efectiv de caractere șir în momentul de față. Pentru a descrie o variabilă șir de lungime n, se folosesc n+1 octeți de memorie: n octeți pentru a stoca caractere șir, n+1 octeți pentru a stoca lungimea curentă.

– operațiunile de comparare sunt definite pe valorile tipurilor de șir:< <= > >= = <>. Un șir scurt este întotdeauna mai mic decât unul lung. Dacă șirurile au aceeași lungime, atunci codurile de caractere sunt comparate.

– accesul la elementele individuale ale unui șir este posibil în același mod ca și accesul la elementele matricei: a, a. Numărul elementului de linie este indicat între paranteze drepte.

Proceduri și funcții orientate spre lucrul cu șiruri.

concat (s1, s2,…)– funcția de îmbinare a șirurilor, s1, s2,... - linii, numărul de linii poate fi arbitrar. Rezultatul funcției este un șir. Dacă șirul rezultat este mai lung de 255 de caractere, șirul este trunchiat la 255 de caractere.

copie(e, index, numărare)– funcția de extragere a unui șir dintr-un șir sursă s lungime conta caractere, începând cu numărul caracterului index.

șterge (s, index, număr)– procedură pentru îndepărtarea din șirul s a unui subșir de lungime conta caractere, începând cu numărul caracterului index.

insert (s1, s2, index)– procedura de inserare a rândurilor s1 a alinia s2, începând cu caracterul cu numărul index.

lungime(i)– funcție pentru determinarea lungimii curente a șirului, returnează un număr egal cu lungimea curentă a șirului.

poziție (s1, s2)– funcția de căutare într-un șir s2 subșiruri s1. returnează numărul de poziție al primului caracter al unui subșir s1în linie s2(sau 0 dacă această linie nu există).

val (st, x, cod)– procedura de conversie a șirului s într-un număr întreg sau variabilă reală x. Parametru cod conține 0 dacă conversia a avut succes (și în x este plasat rezultatul conversiei), sau numărul de poziție al liniei în care este detectat caracterul eronat (în acest caz, valoarea x nu se schimbă).

Compatibilitate și conversie de tip. Turbo Pascal este un limbaj tipizat. Este construit pe baza respectării stricte a conceptului de tip, conform căruia toate operațiile utilizate în limbaj sunt definite numai pe operanzi de tipuri compatibile.

Două tipuri sunt considerate compatibile dacă:

– ambele sunt de același tip;

– ambele sunt reale;

- ambele sunt intacte;

– un tip este un tip de interval de al doilea tip;

– ambele sunt tipuri de gamă de același tip de bază;

– ambele sunt mulţimi compuse din elemente de acelaşi tip de bază;

– ambele sunt șiruri de caractere împachetate (definite cu cuvântul precedent packed) de aceeași lungime maximă;

– unul este de tip șir, iar celălalt este de tip șir sau caracter;

– un tip este orice pointer, iar celălalt este un pointer către obiectul său asociat;

– ambele sunt tipuri procedurale cu același tip de rezultat (pentru un tip de funcție), număr de parametri și tip de parametri corespunzători reciproc.

Compatibilitatea tipurilor este deosebit de importantă în operatorii de atribuire. Fie t1 tipul variabilei și t2 tipul expresiei, adică se realizează atribuirea t1:=t2. Această atribuire este posibilă în următoarele cazuri:

– t1 și t2 sunt de același tip, iar acest tip nu se referă la fișiere, rețele de fișiere, înregistrări care conțin câmpuri de fișiere sau rețele de astfel de înregistrări;

– t1 și t2 sunt tipuri ordinale compatibile, iar valoarea lui t2 se află în intervalul valorilor posibile ale lui t1;

– t1 și t2 sunt tipuri reale, iar valoarea lui t2 se află în intervalul de valori posibile ale lui t1;

– t1 – tip real și t2 – tip întreg;

– t1 – linie și t2 – caracter;

– t1 – sfoară și t2 – sfoară ambalată;

– t1 și t2 – șiruri ambalate compatibile;

– t1 și t2 sunt mulțimi compatibile și toți membrii lui t2 aparțin mulțimii de valori posibile ale lui t1;

– t1 și t2 sunt pointeri compatibili;

– t1 și t2 sunt tipuri procedurale compatibile;

– t1 este un obiect și t2 este descendentul acestuia.

Într-un program, datele de un tip pot fi convertite în date de alt tip. Această conversie poate fi explicită sau implicită.

Conversia explicită de tip apelează funcții speciale de conversie ale căror argumente aparțin unui tip și ale căror valori aparțin altuia. Un exemplu sunt funcțiile deja discutate ord, trunc, round, chr.

Conversia implicită este posibilă numai în două cazuri:

– în expresiile compuse din variabile reale și întregi, acestea din urmă sunt convertite automat într-un tip real, iar întreaga expresie în ansamblu capătă tip real;

– aceeași zonă de memorie este tratată alternativ ca conținând date de unul sau altul tip (combinând date de diferite tipuri în memorie).

Un tip de date definește un set de valori valide și un set de operații valide.

Tipuri simple.

Tipurile simple sunt împărțite în ORDINALE și REALE.

1. TIPURI DE COMANDĂ , la randul lor sunt:

a) întreg

Pascal definește 5 tipuri de numere întregi, care sunt determinate în funcție de semnul și valoarea pe care le va lua variabila.

Tastați numele

Lungime (în octeți)

Gama de valori

32 768...+32 767

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

b) logic

Numele acestui tip este BOOLEAN. Valorile booleene pot fi una dintre constantele logice: TRUE (adevărat) sau FALSE (fals).

c) simbolic

Numele acestui tip este CHAR - ocupă 1 octet. Valoarea unui tip de caracter este setul tuturor caracterelor PC. Fiecărui caracter i se atribuie un număr întreg în intervalul 0...255. Acest număr servește ca cod pentru reprezentarea internă a simbolului.

2. TIPURI REALE .

Spre deosebire de tipurile ordinale, ale căror valori sunt întotdeauna mapate la o serie de numere întregi și, prin urmare, sunt reprezentate absolut exact în PC, valorile tipurilor reale definesc un număr arbitrar doar cu o precizie finită în funcție de formatul intern al numărului real. .

Lungimea tipului de date numerice, octeți

Nume tip de date numerice

Numărul de cifre semnificative ale unui tip de date numerice

Interval de ordine zecimală a unui tip de date numerice

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

TIPURI STRUCTURATE

Tipurile de date structurate definesc o colecție ordonată de variabile scalare și sunt caracterizate de tipul componentelor lor.

Tipurile de date structurate, spre deosebire de cele simple, definesc multe valori complexe cu un singur nume comun. Putem spune că tipurile structurale determină un anumit mod de a forma noi tipuri din cele existente.

Există mai multe metode de structurare. După metoda de organizare și tipul componentelor în tipurile de date complexe, se disting următoarele soiuri: tip obișnuit (matrice); tip combinat (înregistrări); tip de fișier(fișiere); mai multe tipuri; tipul de șir (șiruri de caractere); în versiunile limbajului Turbo Pascal 6.0 și mai vechi, a fost introdus un tip de obiect (obiecte).

Spre deosebire de tipurile de date simple, datele de tip structurat se caracterizează prin multiplicitatea elementelor care formează acest tip, i.e. o variabilă sau constantă de tip structurat are întotdeauna mai multe componente. Fiecare componentă, la rândul său, poate aparține unui tip structurat, adică. este posibilă cuibărirea tipurilor.

1. Matrice

Matricele din Turbo Pascal sunt în multe privințe similare cu tipurile de date similare din alte limbaje de programare. O caracteristică distinctivă a tablourilor este că toate componentele lor sunt date de același tip (eventual structurate). Aceste componente pot fi ușor organizate și oricare dintre ele poate fi accesată pur și simplu prin specificarea unui număr de serie.

Descrierea matricei este specificată după cum urmează:

<имя типа>= matrice [<сп.инд.типов>] din<тип>

Aici<имя типа>- identificator corect;

Array, of – cuvinte rezervate (array, from);

<сп.инд.типов>- o listă cu unul sau mai multe tipuri de index, separate prin virgule; parantezele pătrate care încadrează lista sunt o cerință de sintaxă;

<тип>- orice tip de Turbo Pascal.

Orice tip ordinal poate fi folosit ca tipuri de index în Turbo Pascal, cu excepția tipurilor LongInt și interval cu tipul de bază LongInt.

Adâncimea de imbricare a tipurilor structurate în general, și, prin urmare, a tablourilor, este arbitrară, astfel încât numărul de elemente din lista de indici de tip (dimensiunea matricei) nu este limitat, cu toate acestea, lungimea totală a reprezentării interne a oricărei matrice nu poate fi limitată. să fie mai mare de 65520 de octeți.

2. Înregistrări

O înregistrare este o structură de date constând dintr-un număr fix de componente numite câmpuri de înregistrare. Spre deosebire de o matrice, componentele (câmpurile) unei înregistrări pot fi de diferite tipuri. Pentru a face posibilă referirea la una sau la alta componentă a unei înregistrări, câmpurile sunt denumite.

Structura unei declarații de tip post este:

< Numetip>=ÎNREGISTRARE< societate mixtă. câmpuri> Sfârșit

Aici<имя типа>- identificator corect;

RECORD, END – cuvinte rezervate (record, end);

<сп.полей>- lista câmpurilor; este o succesiune de secțiuni ale unei înregistrări separate prin punct și virgulă.

3. Seturi

Seturile sunt un set de obiecte de același tip care sunt conectate logic între ele. Natura conexiunilor dintre obiecte este doar implicată de programator și nu este controlată în niciun fel de Turbo Pascal. numărul de elemente incluse într-o mulțime poate varia de la 0 la 256 (o mulțime care nu conține elemente este numită goală Este inconstanța numărului de elemente care se deosebește de matrice și înregistrări).

Două mulțimi sunt considerate echivalente dacă și numai dacă toate elementele lor sunt aceleași, iar ordinea elementelor mulțimii este indiferentă. Dacă toate elementele unui set sunt incluse și în altul, ei spun că primul set este inclus în al doilea.

Descrierea tipului de set este:

< Numetip> = SET DE< bazele. tip>

Aici<имя типа>- identificator corect;

SET, OF – cuvinte rezervate (set, of);

<баз.тип>- tipul de bază al elementelor set, care poate fi orice tip ordinal, cu excepția WORD, INTEGER și LONGINT.

Pentru a defini o mulțime se folosește așa-numitul constructor de mulțimi: o listă de specificații ale elementelor mulțimii, separate prin virgule; lista este înconjurată de paranteze drepte. Specificațiile elementului pot fi constante sau expresii ale unui tip de bază, precum și un tip de interval de același tip de bază.

4. Fișiere

Un fișier este înțeles fie ca o zonă numită a memoriei externe a unui computer, fie ca un dispozitiv logic - o sursă potențială sau un receptor de informații.

Orice fișier are trei caracteristici

    are un nume, care permite programului să lucreze cu mai multe fișiere simultan.

    contine componente de acelasi tip. Tipul de componentă poate fi orice tip Turbo Pascal, cu excepția fișierelor. Cu alte cuvinte, nu puteți crea un „fișier de fișiere”.

    lungimea fișierului nou creat nu este specificată în niciun fel atunci când este declarat și este limitată doar de capacitatea dispozitivelor de memorie externe.

Un tip de fișier sau o variabilă de tip de fișier poate fi specificat în unul din trei moduri:

< Nume>= DOSARUL DE< tip>;

< Nume>=TEXT;

<имя>= FIȘIER;

Aici<имя>- numele tipului de fișier (identificatorul corect);

FILE, OF – cuvinte rezervate (file, from);

TEXT – numele tipului de fișier text standard;

<тип>- orice tip de Turbo Pascal, cu excepția fișierelor.

În funcție de metoda de declarare, se pot distinge trei tipuri de fișiere:

· fisiere tipizate (setate prin clauza FILE OF...);

· fișiere text (definite ca tip TEXT);

· fișiere netipizate (definite de tipul FILE).

Despre conversia tipurilor de date numerice ale lui Pascal

În Pascal, conversiile implicite (automate) ale tipurilor de date numerice sunt aproape imposibile. Se face o excepție numai pentru tipul întreg, care poate fi folosit în expresii de tip real. De exemplu, dacă variabilele sunt declarate astfel:

Var X: întreg; Y: real;

apoi operatorul

va fi corectă din punct de vedere sintactic, deși există o expresie întreagă în dreapta semnului de atribuire și o variabilă reală în stânga, compilatorul va converti automat tipurile de date numerice. Conversia inversă automată de la tipul real la tipul întreg este imposibilă în Pascal. Să ne amintim câți octeți sunt alocați pentru variabilele de tip întreg și real: 2 octeți de memorie sunt alocați pentru tipul de date întreg și 6 octeți pentru real. Există două funcții încorporate pentru conversia realului în întreg: round(x) rotunjește un x real la cel mai apropiat număr întreg, trunc(x) trunchiază un real prin eliminarea părții fracționale.

Lecția acoperă principalele tipuri de date standard în Pascal, conceptul de variabilă și constantă; explică modul de lucru cu operații aritmetice

Pascal este un limbaj de programare tipizat. Aceasta înseamnă că variabilele care stochează date sunt de un anumit tip de date. Aceste. Programul trebuie să indice direct ce date pot fi stocate într-o anumită variabilă: date text, date numerice, dacă sunt numerice, apoi întregi sau fracționale etc. Acest lucru este necesar în primul rând pentru ca computerul să „știe” ce operațiuni pot fi efectuate cu aceste variabile și cum să le efectueze corect.

De exemplu, adăugarea de date text, sau așa cum este numită corect în programare, concatenarea, este îmbinarea obișnuită a șirurilor, în timp ce adăugarea datelor numerice are loc în plus, numerele fracționale și întregi sunt de asemenea adăugate diferit; Același lucru este valabil și pentru alte operațiuni.

Să ne uităm la cele mai comune tipuri de date în Pascal.

Tipuri de date întregi în Pascal

Tip Gamă Memoria necesară (octeți)
octet 0..255 1
scurtătură -128..127 1
întreg -32768.. 32767 2
cuvânt 0..65535 2
longint -2147483648..2147483647 4

Trebuie să rețineți că atunci când scrieți programe în Pascal întreg(tradus din engleză în ansamblu) este cel mai des folosit, deoarece intervalul de valori este cel mai solicitat. Dacă este nevoie de o gamă mai largă, utilizați longint(întreg lung, tradus din engleză ca întreg lung). Tip octetîn Pascal se folosește atunci când nu este nevoie să lucrezi cu valori negative, același lucru este valabil și pentru tip cuvânt(doar intervalul de valori aici este mult mai mare).

Exemple de modul în care variabilele sunt descrise (declarate) în Pascal:

programul a1; var x,y:intger; (tip întreg) myname:string; (tip șir) începe x:=1; y:=x+16; numele meu:="Petru"; writeln("nume: ",numele meu, ", vârsta: ", y) sfârșit.

Rezultat:
nume: Peter, vârsta: 17

Comentarii în Pascal

Observați cum comentariile sunt folosite în Pascal. În comentariile exemplu, i.e. textul serviciului care este „nu este vizibil” pentru compilator este inclus între acolade. De obicei, comentariile sunt făcute de programatori pentru a explica bucăți de cod.

Sarcina 3. Populația Moscovei este de a = 9.000.000 de locuitori. Populația din New Vasyuki este b=1000 de locuitori. Scrieți un program care să determine diferența dintre numărul de locuitori dintre două orașe. Utilizați variabile

Tipuri de date reale în Pascal

Numerele reale în Pascal și în programare în general sunt numele numerelor fracționale.

Tip Gamă Memoria necesară (octeți)
real 2,9 * 10E-39 .. 1,7 * 10E38 6
singur 1,5 * 10 E-45 .. 3,4 * 10E38 4
dubla 5 * 10E-324 .. 1,7 * 10E308 8
prelungit 1,9 * 10E-4951 .. 1,1 * 10E4932 10

Tipul real din Pascal este cel mai des folosit tip real.

Au fost prezentate cele de mai sus tipuri de date simple în Pascal, care includ:

  • Ordinal
  • Întregul
  • Logic
  • Caracter
  • Listabil
  • Interval
  • Real

Pentru a afișa valorile variabilelor de tip real, se utilizează de obicei ieșirea formatată:

  • formatul folosește fie un număr, indicând numărul de poziții alocate acestui număr în formă exponențială;
  • p:=1234,6789; Scris (p:6:2); (1234,68)

    Alături de tipurile simple, limbajul mai folosește tipuri de date structurate și indicatori, care va face obiectul unor lecții ulterioare despre Pascal.

    Constante în Pascal

    Adesea într-un program se știe dinainte că o variabilă va lua o anumită valoare și nu o va modifica pe toată durata execuției întregului program. În acest caz, trebuie să utilizați o constantă.

    Declarația unei constante în Pascal are loc înainte de declararea variabilelor (înainte de cuvântul de serviciu var) și arată astfel:

    Un exemplu de descriere constantă în Pascal:

    1 2 3 4 5 6 const x= 17 ;

    var numele meu: șir ;

    începe numele meu: = "Petru" ;

    writeln("nume: ", numele meu, ", vârsta: ", x) final.


    const x=17; var myname:string; începe numele meu:="Petru"; writeln("nume: ",numele meu, ", vârsta: ", x) sfârșit.

    Ieșire „frumoasă” de numere întregi și numere reale

    1. Pentru a ne asigura că după afișarea valorilor variabilelor există indentări, astfel încât valorile să nu se „imbina” între ele, se obișnuiește să se indice prin două puncte câte caractere trebuie furnizate pentru a afișa valoare:
    2. Operații aritmetice în Pascal
    3. Ordinea operațiunilor

    evaluarea expresiilor din paranteze;

    Aici merită să ne oprim mai în detaliu asupra unor operații aritmetice.

    • Operația inc în Pascal, increment pronunțat, este o procedură Pascal standard care înseamnă creșterea cu unu.
    • Exemplu de operație inc:

      x:=1; inc(x); (Crește x cu 1, adică x=2) writeln(x)

      Utilizare mai complexă a procedurii inc:
      Inc(x,n) unde x este un tip ordinal, n este un tip întreg; procedura inc crește x cu n.

    • Procedura Dec în Pascal funcționează similar: Dec(x) - scade x cu 1 (descrește) sau Dec(x,n) - scade x cu n.
    • Operatorul abs reprezintă modulul unui număr. Funcționează astfel:
    • a: =- 9;

      b:=abs(a);

    • (b=9)
    • a:=-9; b:=abs(a); (b=9)
    • Operatorul div în Pascal este adesea folosit, deoarece o serie de sarcini implică operarea întregii diviziuni.
    • Restul de diviziune sau operatorul mod în Pascal este, de asemenea, indispensabil pentru rezolvarea unui număr de probleme.

      De remarcat este funcția impar standard a lui Pascal, care determină dacă un număr întreg este impar. Adică returnează adevărat pentru numerele impare, fals pentru numerele pare.

    • Un exemplu de utilizare a funcției impar: var x:intger; începe x:=3; scrieln(sqr(x)); (răspunsul 9) sfârşitul.
    • Operația de exponențiere în Pascal

      lipsește ca atare. Dar pentru a ridica un număr la o putere, puteți folosi funcția exp.

      Formula este: exp(ln(a)*n), unde a este un număr, n este un grad (a>0).

    Cu toate acestea, în compilatorul Pascal abc, exponențiarea este mult mai simplă: var x:intger; începe x:=9; scrieln(sqrt(x)); (răspunsul 3) sfârşitul.
    Sarcina 4.

    Dimensiunile unei cutii de chibrituri sunt cunoscute: înălțime - 12,41 cm, lățime - 8 cm, grosime - 5 cm Calculați aria bazei cutiei și volumul acesteia(S=latime*grosime, V=zona*inaltime)

    Sarcina 5. Grădina zoologică are trei elefanți și destul de mulți iepuri, numărul de iepuri schimbându-se frecvent. Un elefant ar trebui să mănânce o sută de morcovi pe zi, iar un iepure - doi. În fiecare dimineață, grădina zoologică spune computerului numărul de iepuri. Computerul, ca răspuns la aceasta, trebuie să spună însoțitorului numărul total de morcovi care trebuie hrăniți astăzi iepurilor și elefanților. x Sarcina 6. Se stie ca kg de dulciuri costă o ruble Stabilește cât costă y kg din aceste dulciuri și, de asemenea, la câte kilograme de dulciuri pot fi cumpărate

    k

    ruble Toate valorile sunt introduse de utilizator.– acestea sunt date ale căror valori nu se pot modifica în timpul execuției programului. Intrat într-un bloc const.

    În general, descrierea unei constante simple netipizate se face astfel:

    Const constant_name = expresie;

    Constantele tipizate sunt descrise ca:

    Constanta nume_constante: tip = expresie;

    Următoarele pot fi folosite în expresii:

    · numere sau un set de caractere în apostrofe;

    · operatii matematice;

    · operaţii relaţionale şi logice;

    · functii abs(x), round(x), trunc(x);

    · funcții chr(x), ord(x), pred(x), succ(x) și altele.

    Format de descriere constant:

    id=valoare;

    1. Numerele întregi - definite de numere scrise în format zecimal sau hexazecimal, care nu conţin virgulă zecimală.

    2. Real - definit de numere scrise în format de date zecimale.

    3. Caracterele sunt orice simbol al computerului personal inclus în apostrofe.

    4. Șir – definit printr-o succesiune de caractere arbitrare închise în apostrofe.

    5. Boolean - acesta este fie fals, fie adevărat.

    Tipul constantei nu este specificat, dar este determinat automat în timpul compilării: valorile expresiilor sunt imediat calculate și ulterior înlocuite doar cu numele.

    Variabile- Acestea sunt date care se pot schimba în timpul execuției programului. Fiecare variabilă are propriile sale locații/locații de memorie numite. Aceste. o variabilă este un fel de container în care poți pune niște date și le poți stoca acolo. Variabilele au un nume, un tip și o valoare.

    Numele variabilei trebuie să înceapă cu o literă, nu poate conține spații și poate conține doar:

    · litere ale alfabetului latin;

    · subliniere.

    Exemple: A, A_1, AA, i, j, x, y etc. Nume incorecte: My 1, 1A. Numele variabilelor pot avea până la 126 de caractere, așa că încercați să alegeți nume de variabile semnificative. Cu toate acestea, compilatorul distinge primele 63 de caractere din nume. Dar nu face distincție între litere mici și mari, atât în ​​numele variabilelor, cât și în scrierea identificatorilor de servicii.

    Tipul variabilei – trebuie definit în blocul de descriere a variabilei VAR. Valoarea unei variabile este o constantă de același tip.

    Fiecare program funcționează cu date. Datele sunt, în sensul larg al cuvântului, obiecte pe care un program le prelucrează. Tipul unui dat este caracteristica acestuia. Depinde de tip:

    · în ce formă vor fi stocate aceste date,

    Câte celule de memorie vor fi alocate pentru stocarea acestuia,

    care este valoarea minimă și maximă pe care o poate lua,

    · ce operatii pot fi efectuate cu acesta.

    Câteva tipuri simple de date Pascal:

    1. Tipuri întregi (ShortInt, Integer, LongInt, Byte, Word).

    2. Tipuri reale (Real, Single, Double, Extended, Comp).

    3. logic (boolean).

    4. Personaj (Char).

    5. Tipuri de șiruri (String, String [n]).

    9. Operatori necondiționați în Pascal. Descriere și utilizare.

    Tip de operator

    du-te la<метка>;

    Scop – transferul controlului în program către operatorul marcat cu etichetă<метка>. O etichetă poate fi un nume (scris conform regulilor pentru numele de limbă) sau un întreg fără semn descris în instrucțiunea de declarație Label label și plasat înaintea instrucțiunii etichetate, dar numai într-un singur loc în program. O etichetă este separată de operator prin simbolul „:” O tranziție la o etichetă poate avea loc de mai multe ori într-un bloc, dar eticheta în sine poate apărea o singură dată. Dacă nu există un transfer de control către o anumită etichetă, nu va exista nicio eroare.

    Operatorul de salt necondiționat nu este în general permis în programarea structurată. Deși vă permite să scurtați textul programului, utilizarea lui în Pascal este limitată de o serie de reguli și recomandări. Este interzis să săriți într-o instrucțiune compusă, în interiorul sau la începutul unei subrutine și să ieșiți dintr-o subrutină la programul care a numit-o. Nu este recomandat să treceți dincolo de pagina (ecranul) textului programului, cu excepția trecerii la declarațiile finale ale programului. Toate acestea se datorează posibilității de a sări peste declarații importante pentru funcționarea corectă a programului. De obicei, operatorul de salt necondiționat este folosit doar pentru a reveni la începutul corpului buclei dacă bucla este construită folosind operatori condiționali și necondiționați.

    Rețineți că instrucțiunea care urmează goto trebuie, de asemenea, marcată cu o etichetă diferită (dacă goto nu este ultima din grupul de instrucțiuni). În caz contrar, nu există nicio modalitate de a ajunge la următoarea declarație goto.

    10. Operatori de sucursale în Pascal. Descriere și utilizare.

    Operatorii care vă permit să selectați doar una dintre mai multe opțiuni posibile pentru executarea unui program (ramuri) includ

    Aceste. Aceste instrucțiuni vă permit să schimbați ordinea naturală de execuție a instrucțiunilor programului.

    dacă<условие>apoi< оператор 1 >

    altfel<оператор 2> ;

    dacă a>=b atunci Max:=a altfel Max:=b;

    Într-o instrucțiune if, o singură instrucțiune poate fi executată pe ambele ramuri (atunci și else)!

    Un exemplu de problemă la operatorii de sucursale în Pascal. Introduceți două numere întregi și afișați cel mai mare dintre ele.

    Idee de soluție: trebuie să afișați primul număr dacă este mai mare decât al doilea, sau al doilea dacă este mai mare decât primul.

    Caracteristică: acțiunile interpretului depind de anumite condiții (dacă... altfel...).

    var a, b, max: întreg;

    writeln("Introduceți două numere întregi");

    dacă a > b atunci max:=a altfel max:=b;

    writeln("Număr maxim", max);

    Condiții dificile

    O condiție complexă este o condiție constând din mai multe condiții (relații) simple conectate folosind logica

    operatii:

    Nu – NU (negație, inversare)

    Și – Și (înmulțire logică, conjuncție,

    îndeplinirea simultană a condițiilor)

    Sau – SAU (adunare logică, disjuncție,

    îndeplinirea a cel puțin una dintre condiții)

    Xor – SAU exclusiv (numai executați

    una dintre cele două condiții, dar nu ambele)

    Condiții simple (relații)

    < <= > >= = <>

    Ordin de executare (prioritate = vechime)

    Expresii în paranteze

    <, <=, >, >=, =, <>

    Caracteristică - fiecare dintre condițiile simple trebuie să fie cuprinsă între paranteze.

    operator de selecție a cazului

    Declarația de caz vă permite să alegeți între mai multe opțiuni.

    Operatorul variantă constă

    Dintr-o expresie numită selector,

    O listă de operatori, fiecare marcat cu o constantă de același tip ca și selectorul.

    Selectorul trebuie să fie doar un tip de date ordinal, nu un tip de date longint.

    Selectorul poate fi o variabilă sau o expresie.

    Lista de constante poate fi specificată fie printr-o enumerare explicită, fie printr-un interval, fie prin combinarea lor. Repetarea constantelor nu este

    permis.

    Tipul comutatorului și tipurile tuturor constantelor trebuie să fie compatibile.

    Caz< выражение {селектор}>de

    <список констант 1> : < оператор 1>;

    < список констант K> : < оператор K>;

    Declarația case se execută după cum urmează:

    1) se calculează valoarea selectorului;

    2) rezultatul obținut este verificat pentru a vedea dacă aparține unei anumite liste de constante;

    3) dacă se găsește o astfel de listă, atunci nu se efectuează alte verificări, ci operatorul corespunzător

    ramura selectată, după care controlul este transferat instrucțiunii care urmează cuvântului cheie final, care închide întregul

    construct de caz;

    4) dacă nu există o listă adecvată de constante, atunci se execută operatorul care urmează cuvântul cheie else; dacă nu există altă ramură,

    atunci nu se face nimic.

    Într-o instrucțiune case branch, o singură instrucțiune poate fi executată în toate ramurile!

    Dacă trebuie să executați mai mult de unul, trebuie să utilizați parantezele operatorului început-sfârșit.

    caz Index mod 4 din

    1: x:= y*y – 2*y;

    11.Opțiune (selecție) operator în Pascal. Descriere și utilizare.

    Operatorul de selecție (opțiune, comutator) implementează alegerea uneia dintre alternativele posibile, adică. opțiuni pentru continuarea programului.

    Format de înregistrare:

    Caz – alegere, opțiune;

    S – selector, expresie de tip ordinal;

    Ki – constante de selecție, o constantă al cărei tip se potrivește cu tipul selectorului;

    OPi – orice operator, inclusiv gol;

    Operatorul de selecție implementează următorul construct:

    Funcționarea operatorului de selecție în Pascal: Se evaluează expresia selectorului. Valoarea calculată este comparată secvenţial cu constantele alternative, iar controlul este transferat operatorului constantă de selecţie, care coincide cu valoarea selectorului calculată. Instrucțiunea este executată și controlul este transferat dincolo de instrucțiunea select. Dacă valoarea calculată a selectorului nu se potrivește cu niciuna dintre constante, atunci controlul este transferat în ramura Else, a cărei prezență nu este necesară în acest caz, controlul este transferat în afara operatorului de selecție.

    Schema bloc a operatorului de selecție.

    Structura instrucțiunii de selecție poate fi implementată folosind instrucțiuni condiționale imbricate, dar acest lucru reduce vizibilitatea programului. Nu se recomandă mai mult de 2-3 niveluri de investiție.

    12. Tipuri de operatori de buclă în Pascal, scopul lor.

    5. Construcții algoritmice de cicluri. Tipuri de cicluri.

    Există trei tipuri de algoritmi de buclă: buclă cu un parametru (numită buclă aritmetică), buclă cu o precondiție și buclă cu o postcondiție (numită iterativă).

    12.13 Bucla aritmetică.Într-un ciclu aritmetic, numărul de pași (repetări) este determinat în mod unic de regula de modificare a parametrului, care este specificată folosind valorile inițiale (N) și finale (K) ale parametrului și pasul (h) de schimbarea ei. Adică, la prima etapă a ciclului valoarea parametrului este N, la a doua - N + h, la a treia - N + 2h etc. La ultima etapă a ciclului, valoarea parametrului nu este mai mare decât K, dar astfel încât modificarea sa ulterioară va duce la o valoare mai mare decât K.

    Buclele de contor sunt folosite atunci când o porțiune ciclică a unui program trebuie repetată de un număr fix de ori. Astfel de bucle au o variabilă întreagă numită contor de bucle.

    Dacă este necesar ca un fragment de program să fie repetat de un anumit număr de ori, atunci se utilizează următoarea construcție:

    PENTRU<имя счетчика цикла> = <начальное значение>CĂ<конечное значение>DO<оператор>;

    FOR, TO, DO - cuvinte rezervate (engleză: for, to, perform);

    <счетчик (параметр) цикла>- o variabilă de tip INTEGER, care se modifică pe un segment din<начального значения>, crescând cu unu la sfârșitul fiecărei etape a ciclului;

    <оператор>- orice operator (de obicei compus).

    Există o altă formă a acestui operator:

    PENTRU<имя счетчика цикла>:= <начальное значение>JOS<конечное значение>DO<оператор> :

    Înlocuirea TO cu DOWNTO (în engleză: down to) înseamnă că pasul de modificare a parametrului ciclului este egal cu - 1, adică contorul scade pas cu pas.

    12.14 Buclă cu precondiție. Numărul de pași ciclului nu este predeterminat și depinde de datele de intrare ale sarcinii. În această structură de buclă, valoarea unei expresii condiționate (condiție) este mai întâi verificată înainte de a executa următorul pas al buclei. Dacă expresia condiționată este adevărată, corpul buclei este executat. După care controlul este din nou transferat la verificarea stării etc. Aceste acțiuni sunt repetate până când expresia condiționată se evaluează la FALS. Prima dată când condiția nu este îndeplinită, ciclul se încheie.

    Acest operator de repetiție cel mai frecvent utilizat este:

    ÎN CAZUL<условие>DO<оператор>;

    WHILE, DO - cuvinte rezervate (în engleză: bye, do);

    <условие>- expresie de tip logic;

    <оператор>- un operator arbitrar (posibil compus).

    O caracteristică specială a unei bucle cu o precondiție este că, dacă expresia condiționată este inițial falsă, atunci corpul buclei nu va fi niciodată executat.

    Buclele cu precondiții sunt utilizate atunci când execuția buclei este asociată cu o anumită condiție logică. O instrucțiune de buclă cu o precondiție are două părți: condiția de execuție a buclei și corpul buclei.

    12.15 Buclă cu postcondiție (buclă iterativă). Ca într-o buclă cu o precondiție, într-un proiect ciclic cu o postcondiție, numărul de repetări ale corpului buclei nu este predeterminat, acesta depinde de datele de intrare ale sarcinii. Spre deosebire de o buclă cu o precondiție, corpul unei bucle cu o postcondiție va fi întotdeauna executat cel puțin o dată, după care condiția este verificată. În acest design, corpul buclei va fi executat atâta timp cât valoarea expresiei condiționale este falsă. Odată ce devine adevărată, execuția comenzii se oprește.

    Acest operator arată astfel:

    REPETA<тело цикла>PÂNĂ<условие>:

    REPEAT, UNTIL - cuvinte rezervate (engleză: repeat until not);

    <условие>- o expresie de tip logic, dacă valoarea ei este adevărată, atunci bucla iese.

    Trebuie remarcat faptul că în această construcție, succesiunea de instrucțiuni care definește corpul buclei nu este cuprinsă între paranteze operator BEGIN ... END, deoarece sunt perechea REPEAT ... UNTIL.

    Buclele de postcondiție sunt similare buclelor de precondiție, dar plasează condiția după corpul buclei.

    Spre deosebire de o buclă cu o precondiție, care se poate termina fără a executa niciodată corpul buclei (dacă condiția de execuție este falsă la prima trecere a buclei), corpul unei bucle cu o postcondiție trebuie executat cel puțin o dată, după în care se verifică starea.

    Unul dintre operatorii de corp de buclă trebuie să afecteze valoarea condiției de execuție a buclei, altfel bucla se va repeta de un număr infinit de ori.

    Dacă condiția este adevărată, atunci bucla este ieșită, în caz contrar instrucțiunile buclei sunt repetate.

    16. Matrice- acesta este un set de elemente de același tip, unite printr-un nume comun și ocupând o anumită zonă de memorie în computer. Numărul de elemente dintr-o matrice este întotdeauna finit. În general, o matrice este un tip de date structurat format dintr-un număr fix de elemente de același tip. Array-urile au primit denumirea de tip obișnuit (sau rânduri) deoarece combină elemente de același tip (omogene din punct de vedere logic), ordonate (reglementate) prin indici care determină poziția fiecărui element în matrice. Orice tip de date poate fi folosit ca elemente ale unui tablou, deci este destul de legitim să aveți matrice de înregistrări, matrice de pointeri, matrice de șiruri de caractere, matrice etc. Elementele unei matrice pot fi date de orice tip, inclusiv cele structurate . Tipul de elemente ale matricei se numește bază. O caracteristică a limbajului Pascal este că numărul de elemente ale matricei este fix în timpul descrierii și nu se modifică în timpul execuției programului. Elementele care alcătuiesc tabloul sunt ordonate în așa fel încât fiecare element să aibă un set corespunzător de numere (indici) care îi determină locația în succesiunea generală. Fiecare element individual este accesat prin indexarea elementelor matricei. Indicii sunt expresii de orice tip scalar (de obicei întreg), cu excepția realului. Tipul de index determină limitele pentru modificarea valorilor indexului. Expresia matrice de este folosită pentru a descrie o matrice.

    O matrice este o colecție de date care îndeplinește funcții similare și este desemnată printr-un singur nume. Dacă fiecare element al unei matrice are alocat un singur număr de serie, atunci o astfel de matrice se numește liniară sau unidimensională.

    17. Matrice unidimensională– acesta este un număr fix de elemente de același tip, unite printr-un singur nume, iar fiecare element are propriul său număr unic, iar numerele elementelor sunt consecutive.

    Pentru a descrie astfel de obiecte în programare, trebuie mai întâi să introduceți tipul corespunzător în secțiunea descriere tip.

    Tipul de matrice este descris după cum urmează:

    Nume tip = Array [tip(uri) de index] Tip de elemente;

    Nume variabilă: nume tip;

    O variabilă matrice poate fi descrisă imediat în secțiunea de descriere a variabilei Var:

    Var Nume variabilă: matrice [tip de index(e)] De tip element;

    Array este un cuvânt de serviciu (tradus din engleză ca „array”);

    Of este un cuvânt de serviciu (tradus din engleză ca „de la”).

    Tip de index – orice tip ordinal, cu excepția tipurilor întregi și lungi.

    Tipul elementelor în sine poate fi orice, cu excepția tipului de fișier.

    Numărul de elemente dintr-o matrice se numește dimensiunea acestuia. Este ușor de calculat că, cu ultima metodă de descriere a unui set de indici, dimensiunea matricei este egală cu: valoarea maximă a indicelui – valoarea minimă a indicelui + 1.

    De exemplu:

    mas = matrice de real;

    Matricea X este unidimensională, constând din douăzeci de elemente de tip real. Elementele matricei sunt stocate în memoria computerului secvenţial unul după altul.

    Când se utilizează variabile pentru a desemna un index, valorile acestora trebuie să fie determinate în momentul utilizării, iar în cazul expresiilor aritmetice, rezultatul lor nu trebuie să depășească limitele valorilor minime și maxime ale indicilor matricei.

    Indicii elementelor de matrice pot începe cu orice număr întreg, inclusiv cu cei negativi, de exemplu:

    Tip bb = Array [-5..3] Of Boolean;

    Matricele de acest tip vor conține 9 variabile logice, numerotate de la -5 la 3.

    18. Matrice bidimensională în Pascal este tratată ca o matrice unidimensională al cărei tip de element este și o matrice (matrice de matrice). Poziția elementelor în rețele Pascal bidimensionale este descrisă de doi indici. Ele pot fi prezentate sub forma unui tabel dreptunghiular sau a unei matrice.

    Luați în considerare o matrice Pascal bidimensională cu o dimensiune de 3*3, adică va avea trei linii și fiecare linie va avea trei elemente:

    Fiecare element are propriul său număr, ca și tablourile unidimensionale, dar acum numărul constă deja din două numere - numărul rândului în care se află elementul și numărul coloanei. Astfel, numărul elementului este determinat de intersecția unui rând și a unei coloane. De exemplu, un 21 este elementul care apare în al doilea rând și prima coloană.

    Descrierea unui tablou Pascal bidimensional.

    Există mai multe moduri de a declara o matrice Pascal bidimensională.

    Știm deja cum să descriem tablouri unidimensionale, ale căror elemente pot fi de orice tip și, prin urmare, elementele în sine pot fi matrice. Luați în considerare următoarea descriere a tipurilor și variabilelor:

    Operații de bază cu tablouri Pascal bidimensionale

    Tot ceea ce s-a spus despre operațiile de bază cu tablouri unidimensionale este valabil și pentru matrice. Singura acțiune care poate fi efectuată pe matrice întregi de același tip este atribuirea. Adică, dacă programul nostru descrie două matrice de același tip, de exemplu,

    matrice= matrice de întreg;

    apoi în timpul execuției programului puteți atribui matricei a valoarea matricei b (a:= b). Toate celelalte acțiuni sunt efectuate element cu element și toate operațiile valide care sunt definite pentru tipul de date ale elementelor matricei pot fi efectuate asupra elementelor. Aceasta înseamnă că, dacă o matrice este formată din numere întregi, atunci operațiunile definite pentru numerele întregi pot fi efectuate asupra elementelor sale, dar dacă matricea este formată din caractere, atunci li se pot aplica operațiunile definite pentru lucrul cu caractere.

    21. Tehnologii de lucru cu documente text. Editori și procesoare de text: scop și capabilități.

    Editoarele de text mai avansate (de exemplu, Microsoft Word și OpenOffice.org Writer), care sunt uneori numite procesoare de text, au o gamă largă de capabilități pentru crearea de documente (inserarea de liste și tabele, instrumente de verificare ortografică, salvarea corecțiilor etc.).

    Pentru a se pregăti pentru publicarea de cărți, reviste și ziare în procesul de aspect al publicării, sunt utilizate programe puternice de procesare a textului - sisteme de publicare desktop (de exemplu, Adobe PageMaker, Microsoft Office Publisher).

    Pentru a pregăti pagini Web și site-uri Web pentru publicare pe Internet, sunt utilizate aplicații specializate (de exemplu, Microsoft FrontPage).

    Editorii de text sunt programe pentru crearea, editarea, formatarea, salvarea și imprimarea documentelor. Un document modern poate conține, pe lângă text, și alte obiecte (tabele, diagrame, imagini etc.).

    Editarea este o transformare care adaugă, șterge, mută sau corectează conținutul unui document. Editarea unui document se face de obicei prin adăugarea, ștergerea sau mutarea caracterelor sau a fragmentelor de text.

    Formatarea este proiectarea textului. Pe lângă caracterele text, textul formatat conține coduri speciale invizibile care spun programului cum ar trebui să fie afișat pe ecran și tipărit pe o imprimantă: ce font să folosești, ce stil și dimensiunea caracterelor ar trebui să fie, cum ar trebui să fie paragrafele și titlurile. formatat.

    Textele formatate și neformatate sunt oarecum diferite în natură. Această diferență trebuie înțeleasă. În textul formatat, totul este important: dimensiunea literelor, imaginea lor și unde se termină o linie și începe alta. Adică, textul formatat este indisolubil legat de parametrii foii de hârtie pe care este tipărit.

    Când proiectați documente text, adesea trebuie să adăugați elemente sau obiecte non-text în document. Editorii de text avansati vă permit să faceți acest lucru - au oportunități ample de a insera imagini, diagrame, formule și așa mai departe în text.

    Documente pe hârtie și electronice. Documentele pot fi hârtie sau electronice. Documentele pe hârtie sunt create și formatate pentru a oferi cea mai bună prezentare posibilă atunci când sunt imprimate pe o imprimantă. Documentele electronice sunt create și formatate pentru cea mai bună prezentare pe ecranul computerului. Înlocuirea treptată a fluxului de documente pe hârtie cu unul electronic este una dintre tendințele în dezvoltarea tehnologiei informației. Reducerea consumului de hârtie are un efect benefic asupra conservării resurselor naturale și reducerea poluării mediului.

    Formatarea documentelor pe hârtie și electronice poate diferi semnificativ. Pentru documentele pe hârtie se acceptă așa-numita formatare absolută. Un document tipărit este întotdeauna formatat pentru a se potrivi cu o coală tipărită de dimensiune (format) cunoscută. De exemplu, lățimea unei linii de document depinde de lățimea unei foi de hârtie. Dacă un document a fost proiectat pentru tipărirea pe coli de format mare, atunci nu poate fi tipărit pe coli mici de hârtie - o parte a documentului nu se va potrivi pe acestea. Într-un cuvânt, formatarea unui document tipărit necesită întotdeauna să selectați mai întâi o coală de hârtie și apoi să o legați la această coală. Pentru un document tipărit, puteți indica întotdeauna cu precizie (în orice unități de măsură) dimensiunile fonturilor, marginile, distanța dintre linii sau paragrafe etc.

    Pentru documentele electronice, așa-numita formatare relativă este comună. Autorul documentului nu poate prezice în avans pe ce computer sau dimensiunea ecranului va fi vizualizat documentul. Mai mult, chiar dacă dimensiunile ecranului ar fi cunoscute dinainte, ar fi tot imposibil de prezis care va fi dimensiunea ferestrei în care cititorul va vedea documentul. Prin urmare, documentele electronice sunt realizate pentru a se adapta la dimensiunea și formatul actual al ferestrei din mers.

    De asemenea, autorul unui document electronic nu știe ce fonturi sunt disponibile pe computerul viitorului cititor și, prin urmare, nu poate indica cu strictețe în ce font ar trebui afișate textul și titlurile. Dar poate seta formatarea care va face ca titlurile să pară mai mari decât textul pe orice computer.

    Formatarea relativă este folosită pentru a crea documente electronice de Internet (așa-numitele pagini Web), iar formatarea absolută este folosită pentru a crea documente tipărite în procesoare de text.

    22.Elementele structurale principale ale unui document text. Fonturi, stiluri, formate.

    Formatarea fontului (caracterelor).

    Simbolurile sunt litere, cifre, spații, semne de punctuație și caractere speciale. Simbolurile pot fi formatate (schimbați-le aspectul). Printre principalele proprietăți ale caracterelor se numără următoarele: font, dimensiune, stil și culoare.

    Un font este un set complet de caractere dintr-un anumit stil. Fiecare font are propriul nume, de exemplu Times New Roman, Arial, Comic Sans MS. Unitatea de font este punctul (1 pt = 0,367 mm). Dimensiunile fonturilor pot fi modificate în limite largi. Pe lângă stilul normal (obișnuit) al caracterelor, se folosesc de obicei bold, italic și bold italic.

    În funcție de modul în care sunt prezentate pe computer, există diferențe între fonturile raster și vectoriale. Metodele grafice raster sunt utilizate pentru a reprezenta fonturile raster; caracterele fonturilor sunt grupuri de pixeli. Fonturile bitmap pot fi scalate numai de anumiți factori.

    În fonturile vectoriale, caracterele sunt descrise prin formule matematice și pot fi scalate în mod arbitrar. Dintre fonturile vectoriale, fonturile TrueType sunt cele mai utilizate.

    De asemenea, puteți seta opțiuni suplimentare de formatare a caracterelor: sublinierea caracterelor cu diferite tipuri de linii, modificarea aspectului caracterelor (superscript, indice, barat), modificarea spațierii dintre caractere.

    Dacă intenționați să imprimați un document color, puteți specifica culori diferite pentru diferite grupuri de caractere.

    Pentru a verifica ortografia și sintaxa, se folosesc module software speciale, care sunt de obicei incluse în procesoarele de text și sistemele de publicare. Astfel de sisteme conțin dicționare și reguli gramaticale pentru mai multe limbi, ceea ce face posibilă corectarea erorilor în documentele multilingve.

    24. Baza de date este un model de informații care vă permite să stocați ordonat date despre un grup de obiecte care au același set de proprietăți.

    Există mai multe tipuri diferite de baze de date: tabulare (relaționale), ierarhice și de rețea.

    Baze de date tabelare.

    O bază de date tabelară conține o listă de obiecte de același tip, adică obiecte cu același set de proprietăți. Este convenabil să reprezentați o astfel de bază de date sub forma unui tabel bidimensional.

    În bazele de date relaționale, toate datele sunt prezentate sub formă de tabele simple, împărțite în rânduri și coloane, la intersecția cărora se află datele. Interogările pe astfel de tabele returnează tabele care pot face ele însele subiectul unor interogări ulterioare. Fiecare bază de date poate conține mai multe tabele.

    Principalul avantaj al tabelelor este claritatea lor. Ne ocupăm de informații tabelare aproape în fiecare zi. Uitați-vă, de exemplu, la jurnalul dvs.: orarul de clasă este prezentat acolo sub forma unui tabel. Când ajungem în gară, ne uităm la orarul trenurilor. Ce fel arată? Aceasta este o masă! Există și o masă de campionat de fotbal. Și jurnalul profesorului, unde îți dă note, este și o masă.

    Pe scurt, caracteristicile unei baze de date relaționale pot fi formulate după cum urmează:

    1.Datele sunt stocate în tabele formate din coloane („atribute”, „câmpuri”) și rânduri („înregistrări”);

    2.La intersecția fiecărei coloane și rânduri există exact o valoare;

    3.Fiecare coloană are propriul nume, care îi servește drept nume, iar toate valorile dintr-o coloană sunt de același tip.

    4.Interogările către baza de date returnează rezultate sub formă de tabele, care pot acționa și ca obiecte de interogare.

    5.Rândurile dintr-o bază de date relațională sunt neordonate - ordonarea se face în momentul în care este generat răspunsul la interogare.

    6.De obicei, informațiile din bazele de date sunt stocate nu într-un singur tabel, ci în mai multe interdependente.

    În bazele de date relaționale, este apelat un rând de tabel înregistrare, iar coloana este domeniu. Fiecare câmp de tabel are un nume.

    Câmpuri- acestea sunt diverse caracteristici (numite uneori atribute) ale unui obiect. Valorile câmpurilor dintr-o linie se referă la un singur obiect.

    Cheie primarăîntr-o bază de date se numește un câmp (sau un set de câmpuri), a cărui valoare nu se repetă în diferite înregistrări.

    Fiecare câmp are asociată încă o proprietate foarte importantă: tip de câmp. Un tip de câmp definește setul de valori pe care un anumit câmp le poate prelua în diferite înregistrări.

    Există patru tipuri principale de câmp utilizate în bazele de date relaționale:

    Numeric;

    Simbolic;

    Logic.

    25. Sisteme de management al bazelor de date și principii de lucru cu acestea. Căutați, ștergeți și sortați datele în baza de date. Condiții de căutare (expresii logice); cheile de ordonare și sortare.

    Sisteme de management al bazelor de date (DBMS).

    Pentru a crea baze de date, precum și pentru a efectua operațiuni de căutare și sortare, se folosesc programe speciale - sisteme de gestionare a bazelor de date (DBMS).

    Astfel, este necesar să se facă distincția între bazele de date (DB) în sine - seturi ordonate de date, și sistemele de gestionare a bazelor de date (DBMS) - programe care gestionează stocarea și procesarea datelor. De exemplu, aplicația Access, inclusă în suita de birou Microsoft Office, este un SGBD care permite utilizatorului să creeze și să proceseze baze de date tabelare.

    O bază de date relațională este în esență un tabel bidimensional. O înregistrare aici este înțeleasă ca un rând al unui tabel bidimensional, ale cărui elemente formează coloanele tabelului. În funcție de tipul de date, coloanele pot fi numerice, text sau dată. Rândurile tabelului sunt numerotate.

    Lucrul cu un SGBD începe cu crearea unei structuri de bază de date, adică cu definirea:

    numărul de coloane;

    nume de coloane;

    tipuri de coloane (text/număr/data);

    lățimi de coloane.

    Principalele funcții ale SGBD:

    Gestionarea datelor din memoria externă (pe discuri);

    Gestionarea datelor din RAM;

    Înregistrarea modificărilor și restaurarea bazei de date după eșecuri;

    Suport pentru limbaje de baze de date (limbaj de definire a datelor, limbaj de manipulare a datelor).

    În comenzile DBMS, condiția de selecție este scrisă sub forma unei expresii logice.

    O expresie logică, ca o expresie matematică, este executată (evaluată), dar rezultatul nu este un număr, ci o valoare logică: adevărat sau fals.

    O expresie constând dintr-o valoare logică sau o relație va fi numită expresie logică simplă.

    Adesea apar probleme în care nu sunt folosite condiții individuale, ci un set de condiții (relații) interconectate. De exemplu, trebuie să selectați studenți a căror greutate este mai mare de 60 și a căror înălțime este mai mică de 168.

    O expresie care conține operații logice va fi numită expresie logică complexă.

    Combinarea a două (sau mai multe) afirmații într-una singură folosind conjuncția „și” se numește operația de înmulțire sau conjuncție logică.

    Ca rezultat al înmulțirii logice (conjuncție), adevărul se obține dacă toate expresiile logice sunt adevărate.

    Combinarea a două (sau mai multe) enunțuri folosind conjuncția „sau” se numește operația de adunare sau disjuncție logică.

    Ca rezultat al adunării logice (disjuncției), adevărul se obține dacă cel puțin o expresie logică este adevărată.

    Atașarea particulei „nu” la o declarație se numește operația de negație sau inversare logică.

    27. Foi de calcul, scop și funcții de bază.

    Foaie de calcul este un program de prelucrare a datelor numerice care stochează și prelucrează date în tabele dreptunghiulare.

    O foaie de calcul este formată din coloane și rânduri. Titlurile coloanelor sunt desemnate prin litere sau combinații de litere (A, G, AB etc.), titlurile rândurilor sunt desemnate prin numere (1, 16, 278 etc.). O celulă este intersecția unei coloane și a unui rând.

    Fiecare celulă de tabel are propria sa adresă. Adresa celulei unei foi de calcul este formată dintr-un antet de coloană și un antet de rând, de exemplu: A1, F123, R1. Celula cu care sunt efectuate unele acțiuni este evidențiată cu un cadru și se numește activă.

    Tipuri de date. Foile de calcul vă permit să lucrați cu trei tipuri principale de date: număr, text și formulă.

    Numerele din foile de calcul Excel pot fi scrise în format obișnuit numeric sau exponențial, de exemplu: 195,2 sau 1,952E + 02. În mod implicit, numerele sunt aliniate la dreapta într-o celulă. Acest lucru se explică prin faptul că, atunci când plasați numere unul sub celălalt (într-o coloană de tabel), este convenabil să aveți alinierea după cifre (unități sub unități, zeci sub zeci etc.).

    Formula trebuie să înceapă cu un semn egal și poate include numere, nume de celule, funcții (matematice, statistice, financiare, dată și oră etc.) și simboluri matematice. De exemplu, formula „=A1+B2” oferă adăugarea numerelor stocate în celulele A1 și B2, iar formula „=A1*B” înmulțește numărul stocat în celula A1 cu 5. Când introduceți o formulă într-o celulă , nu formula în sine este afișată și rezultatul calculelor folosind această formulă. Dacă valorile inițiale incluse în formulă se modifică, rezultatul este recalculat imediat.

    Legături absolute și relative. Formulele folosesc referințe la adresele celulelor. Există două tipuri principale de legături: relative și absolute. Diferențele dintre ele apar atunci când copiați o formulă din celula activă în altă celulă.

    O referință relativă într-o formulă este utilizată pentru a specifica o adresă de celulă care este calculată în raport cu celula în care se află formula. Când mutați sau copiați o formulă din celula activă, referințele relative sunt actualizate automat în funcție de noua poziție a formulei. Legăturile relative au următoarea formă: A1, BZ.

    Dacă semnul dolar precede o literă (de exemplu: $A1), atunci coordonatele coloanei sunt absolute, iar coordonatele rândului este relativă. Dacă simbolul dolarului este în fața unui număr (de exemplu, A$1), atunci, dimpotrivă, coordonatele coloanei sunt relativ, iar coordonatele rândului este absolută. Astfel de legături se numesc mixte.

    De exemplu, să fie scrisă formula =A$1+$J31 în celula C1, care atunci când este copiată în celula D2 ia forma =B$1+$B2. Legăturile relative s-au schimbat când au fost copiate, dar linkurile absolute nu.

    Sortarea și căutarea datelor. Foile de calcul vă permit să sortați datele. Datele din foile de calcul sunt sortate în ordine crescătoare sau descrescătoare. La sortare, datele sunt aranjate într-o anumită ordine. Puteți efectua sortări imbricate, adică sortați datele după mai multe coloane și alocați o secvență de sortare pentru coloane.

    În foile de calcul, puteți căuta date în conformitate cu condițiile specificate - filtre. Filtrele sunt definite folosind termeni de căutare (mai mare decât, mai mic decât, egal cu etc.) și valori (100, 10 etc.). De exemplu, mai mult de 100. Ca rezultat al căutării, se vor găsi acele celule care conțin date care se potrivesc cu filtrul specificat.

    Construirea de diagrame și grafice. Foile de calcul vă permit să prezentați date numerice sub formă de diagrame sau grafice. Diagramele vin în diferite tipuri (bar, plăcintă etc.); Alegerea tipului de diagramă depinde de natura datelor.

    28. Tehnologia procesării informațiilor în foi de calcul (ET). Structura foii de calcul.

    O foaie de calcul este un program de procesare a datelor numerice care stochează și procesează date în tabele dreptunghiulare. O foaie de calcul este formată din coloane și rânduri. Titlurile coloanelor sunt desemnate prin litere sau combinații de litere (A, G, AB etc.), titlurile rândurilor sunt desemnate prin numere (1, 16, 278 etc.). O celulă este intersecția unei coloane și a unui rând. Fiecare celulă din tabel are propria sa adresă. Adresa celulei unei foi de calcul este formată dintr-un antet de coloană și un antet de rând, de exemplu: Al, B5, E7. Celula cu care sunt efectuate unele acțiuni este evidențiată cu un cadru și se numește activă. Foile de calcul cu care lucrează utilizatorul în aplicație se numesc foi de lucru. Puteți introduce și modifica date de pe mai multe foi în același timp și puteți efectua calcule pe baza datelor din mai multe foi. Documentele cu foi de calcul pot include mai multe foi de lucru și sunt numite registre de lucru.

    29. Tipuri de date în foi de calcul (ET): numere, formule, text. Reguli de scriere a formulelor.

    Tipuri de date.

    Foile de calcul vă permit să lucrați cu trei tipuri principale de date: număr, text și formulă.

    Numerele din foile de calcul Excel pot fi scrise în format obișnuit numeric sau exponențial, de exemplu: 195,2 sau 1,952Ё + 02. În mod implicit, numerele sunt aliniate la dreapta într-o celulă. Acest lucru se explică prin faptul că, atunci când plasați numere unul sub celălalt (într-o coloană de tabel), este convenabil să aveți alinierea după cifre (unități sub unități, zeci sub zeci etc.).

    Textul din foile de calcul Excel este o secvență de caractere formată din litere, cifre și spații, de exemplu, intrarea „32 MB” este text. În mod implicit, textul este aliniat la stânga într-o celulă. Acest lucru se datorează modului tradițional de a scrie (de la stânga la dreapta).

    Formula trebuie să înceapă cu un semn egal și poate include numere, nume de celule, funcții (Matematică, Statistică, Financiară, Data și Ora etc.) și simboluri ale operațiilor matematice. De exemplu, formula „=A1+B2” oferă adăugarea numerelor stocate în celulele A1 și B2, iar formula „=A1*5” înmulțește numărul stocat în celula A1 cu 5. Când introduceți o formulă într-o celulă , nu formula în sine este afișată și rezultatul calculelor folosind această formulă. Dacă valorile inițiale incluse în formulă se modifică, rezultatul este recalculat imediat.

    Reguli pentru scrierea formulelor în foi de calcul

    1. Formulele conțin numere, nume de celule, semne de operație, paranteze, nume de funcții

    2. Operații aritmetice și semnele lor:

    Numele operațiunii Simbol Combinație de taste

    adăugare + (Shift + +=)sau (+) pe tastatura suplimentară

    scădere – (-)

    înmulțire * (Shift + 8) sau (*) pe o tastatură suplimentară

    diviziune / (Shift + | \) sau (/) pe o tastatură suplimentară

    exponentiation ^ (Shift + 6) în engleză

    3. Formula este scrisă într-o linie, simbolurile sunt aliniate succesiv unul după altul, se introduc toate semnele operației; se folosesc paranteze.

    4. Operațiile între paranteze se execută mai întâi dacă nu există paranteze, atunci ordinea de execuție este determinată de precedența operațiilor. În ordinea descrescătoare a priorității, operațiunile sunt aranjate în următoarea ordine:

    1. exponentiare

    2. înmulțire, împărțire

    3. adunare, scădere

    Operațiile cu aceeași prioritate sunt efectuate în ordinea în care sunt scrise de la stânga la dreapta.

    5. Formulele pot fi introduse în modul de afișare a calculelor, adică. Utilizatorul începe să scrie o formulă în celula curentă cu semnul =, iar după apăsarea tastei Enter, rezultatul calculului folosind formula este afișat în celulă.

    6. Formulele pot fi introduse în modul de afișare a formulei, adică. utilizatorul scrie o formulă în celula curentă fără semnul = și formula este afișată în celulă după apăsarea tastei Enter.

    30. Funcții de bază încorporate. Legături absolute și relative în foi de calcul (ET).

    O referință relativă într-o formulă este utilizată pentru a specifica o adresă de celulă care este calculată în raport cu celula în care se află formula. Când mutați sau copiați o formulă din celula activă, referințele relative sunt actualizate automat în funcție de noua poziție a formulei. Legăturile relative au următoarea formă: A1, ВЗ.

    O referință absolută într-o formulă este utilizată pentru a specifica o adresă fixă ​​a celulei. Când mutați sau copiați o formulă, referințele absolute nu se modifică. În referințele absolute, valoarea imuabilă a adresei celulei este precedată de un semn dolar (de exemplu, $A$1).

    Dacă simbolul dolarului precede o literă (de exemplu: $A1), atunci coordonatele coloanei sunt absolute, iar coordonatele rândului este relativă. Dacă simbolul dolarului este în fața unui număr (de exemplu, A$1), atunci, dimpotrivă, coordonatele coloanei sunt relativ, iar coordonatele rândului este absolută. Astfel de legături se numesc mixte. De exemplu, să fie scrisă formula =A$1+$B1 în celula C1, care atunci când este copiată în celula D2 ia forma =B$1+$B2. Legăturile relative s-au schimbat când au fost copiate, dar linkurile absolute nu.

    3.2. Tipuri de date simple în Turbo Pascal 7

    Un tip simplu definește un set ordonat de valori ale parametrilor. Turbo Pascal are următoarele grupuri de tipuri simple:

    • tipuri de numere întregi;
    • tip boolean;
    • tip de caracter;
    • tip enumerat;
    • tip-gamă;
    • tipuri reale.

    Toate tipurile simple, cu excepția tipurilor reale, sunt numite tipuri ordinale. Pentru cantitățile de tipuri ordinale, sunt definite proceduri și funcții standard: Dec, Inc, Ord, Pred, Succ (vezi secțiunea 13.1).

    3.2.1. Tipuri întregi

    Spre deosebire de Pascal, care definește un singur tip întreg, Integer, Turbo Pascal are cinci tipuri de întregi standard: Shortint, Integer, Longint, Byte, Word. Caracteristicile acestor tipuri sunt prezentate în tabel. 2.

    Tabelul 2. Tipuri de date întregi

    Tip Gamă Format Dimensiunea în octeți
    Shortint -128 .. 127 Iconic 1
    Întreg -32768 .. 32767 Iconic 2
    Longint -2147483648 .. 2147483647 Iconic 4
    octet 0 .. 255 Nesemnat 1
    Cuvânt 0 .. 65535 Nesemnat 2

    3.2.2. tip boolean

    Tipul boolean standard (dimensiune - 1 octet) este un tip de date, din care orice element poate lua doar două valori: True și False. În acest caz, sunt valabile următoarele condiții:
    Ord fals (fals) = 0
    Ord (Adevărat) = 1
    Succ (Fals) = Adevărat
    Pred (Adevărat) = Fals

    Turbo Pascal 7.0 a adăugat încă trei tipuri logice ByteBool (dimensiune - 1 octet), WordBool (dimensiune - 2 octeți) și LongBool (dimensiune - 4 octeți). Au fost introduse pentru unificarea cu alte limbaje de programare și cu mediul Windows. Diferența lor față de tipul boolean standard este valoarea reală a parametrului de acest tip, corespunzătoare valorii True. Pentru toate tipurile logice, valoarea False corespunde numărului 0, scris în numărul corespunzător de octeți. Valoarea True pentru tipul boolean corespunde cu numărul 1 scris în octetul său, iar pentru alte tipuri valoarea True corespunde oricărui număr, altul decât zero (deși funcția Ord în acest caz dă valoarea 1).

    3.2.3. Tip de caracter

    Tipul de caracter standard Char definește un set complet de caractere ASCII. Funcția Ord dintr-o valoare de tip Char oferă codul caracterului corespunzător. Valorile tipului de caractere sunt comparate în funcție de codurile lor.

    3.2.4. Tip de enumerare

    Un tip enumerat nu este standard și este definit de un set de identificatori cu care valorile parametrilor se pot potrivi. Lista de identificatori este indicată în paranteze, identificatorii sunt despărțiți prin virgule:

    tip
    = ();)

    Este important în ce ordine sunt listați identificatorii la definirea unui tip, deoarece primului identificator i se atribuie numărul de serie 0, al doilea - 1 etc. Același identificator poate fi utilizat în definirea unui singur tip enumerat. Funcția Ord dintr-o valoare de tip enumerat oferă numărul ordinal al valorii sale.

    Exemplu. Tip enumerat.

    tip Operat = (Plus, Minus, Mult, Divide);

    Un tip boolean este un caz special al unui tip enumerat:

    tip boolean = (fals, adevărat);

    3.2.5. Tip-gamă

    În orice tip ordinal, puteți selecta un subset de valori, definit de valorile minime și maxime, care include toate valorile tipului original care se află în aceste limite, inclusiv limitele în sine. Acest subset definește un tip de interval. Tipul intervalului este specificat prin specificarea valorilor minime și maxime, separate prin două puncte:

    tip = . . ;

    Valoarea minimă la definirea acestui tip nu trebuie să fie mai mare decât cea maximă.

    Exemplu. Definiția range types.

    tip
    Duzină = 1..12; (numerele de la 1 la 12)
    AddSub = Plus..Minus; (operatii de adunare si scadere)

    3.2.6. Tipuri reale

    Spre deosebire de standardul limbajului Pascal, unde este definit un singur tip real Real, Turbo Pascal are cinci tipuri reale standard: Real, Single, Double, Extended, Comp. Pentru caracteristicile acestor tipuri, vezi tabelul. 3. Tabelul 3. Tipuri de date reale

    Tip Gamă Numărul de cifre semnificative Dimensiunea în octeți
    Real 2.9*10-39..1.7*1038 11-12 6
    Singur 1.5*10-45..3.4*1038 7-8 4
    Dubla 5.0*10-324.-1.7*10308 15-16 8
    Extins 3.4*10-4932..1.1*104932 19-20 10
    Comp -263+1..263-1 19-20 8

    Tipul Comp este de fapt un tip întreg cu gamă extinsă, dar nu este considerat un tip ordinal.

    Tipurile Single, Double, Extended și Comp pot fi utilizate în programe numai dacă există un coprocesor aritmetic sau când emulatorul coprocesorului este activat (vezi paragrafele 17.5.8 și 17.7.1).