luni, 4 martie 2013

Tipuri de date

Un program in limbajul Pascal contine o descriere a actiunilor ce trebuie sa fie executate de calculator si o descriere a datelor ce sint manevrate de aceste actiuni. Actiunile sint descrise prin instructiuni, iar datele prin declaratii sau definitii. Prin tip de date intelegem o multime de valori.
  Se disting trei categorii de tipuri de date:
-        simple elementare;
-        compuse structurate;
-        de referinta pointer.
In general, tipurile de date sint definite explicit prin declaratii type iar operatiile asociate prin declaratii function sau procedure sint specifice programului in care apar. Exista insa tipuri de date elementare de interes mai general, numite tipuri predefinite. Valorile unui tip de date sint referite prin variabile sau constante. Anumite constante sint predefinite.
   type I = T;
unde  I este un identificator numit numele tipului, iar T specificatia sa. Declaratia variabilelor este precedata de cuvantul  cheie var , a constantelor de cuvant cheie const , iar a etichetelor, de cuvant cheie label .
  Numele I poate fi folosit pentru referirea la tipul T in declaratiile ulterioare de variabile sau pentru definirea altor tipuri. Exista tipuri de date anonime, definite implicit prin declaratii de variabile de forma:
  var  v _ 1 , ….. , v _ n : T ;
Ex:
      label  1,  10 ;
      type  bin = 0 . . 1 ;
      var    bit  :  bin ;
                 cifra :  0 . . 9 ;
      const  zero = 0 ;
      var   i  : integer ;
 etichetele  1 si 10 , tipul bin cu elementele 0 si 1, variabila  bit  de tipul bin, variabila I  de tipul predefinit  integer precum si constanta zero avand valoarea 0.

Memoria programului pascal

Dupa incarcarea programului executabil, memoria aferenta lui se structureaza in urmatoarele regiuni (segmente): segmentul prefix program, regiunea de cod, segmentul de date, stiva si zona heap. Pentru adresarea acestora, unitatea centrala de prelucrare foloseste registre specializate, la unele dintre ele existand acces direct sau indirect din programe pascal.

Tipul segmentului               Registrul de segment          Registrul de deplasare           Seg:Ofs
  Segment de cod                            CS (CSeg)                            IP                            CS:IP
  Segment de date                           DS (DSeg)                            SI                           DS:SI
  Segment de stiva                           SS (SSeg)                        SP (SPtr)         SS:SP (SSeg:SPtr)

duminică, 3 martie 2013

Programe sir

1.
program sir;
var S: string, [15];
begin
write ('S='); readln (S);
writeln (S);
readln (S);
end. 

2.
program sir;
var S1;S2: string;
negin
write ('S1='); readl (S1);
write ('S2='); readl (S2); 
x pos ('S1','S2');
readln (S1,S2);
end.

3.
program subsir;
var s,p: string;
begin
write ('s=') ; read(s);
write ('p=') ; read (p);
pos (s,p);
writeln (s);
readln;
end.

Variabile

Variabila este o mărime care poate să aibă diferite valori, de la caz la caz, sau și în funcție de timp. Variabilele se folosesc în formule și ecuații algebrice și matematice, unde se notează în general cu litere. (Tot cu litere se notează și necunoscutele - cel puțin până se află valoarea lor.)

Copy - copiaza din sirul dat incepand cu pozitia data din variabila pozitie un sir format dintr-un nr. de caractere dat de variabila numarului

Pos - testeaza daca sirul nu este subsir al sirului 2, returnand pozitia de inceput a variabilei sir 1 in cazul sirului 2 

Delete - sterge din variabila sir incepand cu pozitia data de variabila pozitie un sir format dintr-un nr. de caractere dat de variabile numere

Insert - adauga in variabile sir un subsir dat de variabila subsir incapand cu pozitia data de variabila poz

Str - transforma numarul dat de variabila numerelor intr-un sir de caractere retinut in varabila sir

Val - transforma sirul dar de variabila sir in numar retinut in variabila numar

Ce este pascal?

Pascal este unul dintre limbajele de programare de referință în știința calculatoarelor, fiind cel care a definit programarea calculatoarelor. Pascal a fost dezvoltat de elvețianul Niklaus Wirth în 1970 pentru a pune în practică programarea structurată, aceasta fiind mai ușor de compilat. Unul din marile sale avantaje este asemănarea cu limbajul natural limba engleză, ceea ce îl face limbajul ideal pentru cei care sunt la primul contact cu programarea. Pascal este bazat pe limbajul Algol și a fost denumit astfel în onoarea matematicianului Blaise Pascal, creditat pentru construirea primelor mașini de calcul numeric. Wirth a mai dezvoltat limbajele Modula-2 și Oberon, similare cu Pascal.