Un sir de elemente de acelaşi tip, în care contează ordinea elementelor, se numeşte vector sau tablou unidimensional.
Un tablou este o structura formata dintr-un număr fixat de componente de acelaşi tip, numit tip de baza. Numărul de componente este determinat de numărul de valori ale indicilor, care sunt obligatoriu tipuri ordinale. Poziţia unui element se mai numeşte si indicele sau rangul elementului, iar elementele se mai numesc si componente ale vectorului.
Moduri de declarare
1) var nume_var:array [dimens] of tip;
2) Type nume=array [dimens] of tip
var nume_var: nume;
Blocul de introducere:
For i:=1 to n do begin
writeln ('A[',i,']=');
readln (A[i]);
end;
Blocuri de afisare
For i:=1 n do
write (A[i]:3);
Program P1;
var A:array [1..100] of integer;
i,n:integer;
begin
writeln ('Introduceti n');
readln (n);
For i:=1 to n do begin
writeln ('A[',i,']=');
readln (A[i]);
end;
For i:=1 n do
write (A[i]:3);
writeln ('Vectorul este',A);
readln
end.
duminică, 21 decembrie 2014
Record
Mulţimea de valori ale unui tip de date record este constituită din înregistrări . Inregistrarile sînt formate din componente, denumite câmpuri. Spre deosebire de componentele unui tablou, câmpurile pot fi de tipuri diferite. Fiecare câmp are un nume ( identificator de câmp ).
type Elev = record;
Nume, Prenume: string;
NotaMedie:real;
end;
var E1, E2:Elev;
Diagrama de sintaxa

Program p1;
Type Restanta=record
Nume,prenume:string;
Clasa:integer;
med:real;
var A:array[1..1000]of integer;
begin
writeln('introduceti nr. de elevi');
for i:=1 to n do begin
writeln('introduceti elevul',i);
writeln('introduceti numele');
readln(A[i].nume);
writeln('introduceti prenumele');
readln(A[i].prenume); end;
writeln('nume:',A[i].nume);
writeln('prenume:',A[i].prenume); end;
r:=0;
for i:=1 to n do
if A[i].med<5 then begin
r:=r+1;
write('nume:',A[i].nume);
write('prenume:',A[i].prenume);
write('clasa:',A[i].clasa);
write('med:',A[i].med); end;
writeln('restantieri sint',r);
readln; end.
type Elev = record;
Nume, Prenume: string;
NotaMedie:real;
end;
var E1, E2:Elev;
Diagrama de sintaxa

Program p1;
Type Restanta=record
Nume,prenume:string;
Clasa:integer;
med:real;
var A:array[1..1000]of integer;
begin
writeln('introduceti nr. de elevi');
for i:=1 to n do begin
writeln('introduceti elevul',i);
writeln('introduceti numele');
readln(A[i].nume);
writeln('introduceti prenumele');
readln(A[i].prenume); end;
writeln('nume:',A[i].nume);
writeln('prenume:',A[i].prenume); end;
r:=0;
for i:=1 to n do
if A[i].med<5 then begin
r:=r+1;
write('nume:',A[i].nume);
write('prenume:',A[i].prenume);
write('clasa:',A[i].clasa);
write('med:',A[i].med); end;
writeln('restantieri sint',r);
readln; end.
String
STRING reprezinta un tip de variabila care reprezinta o succesiune de maxim 255 caractere. (Litere de la A la Z; cifre; simboluri si spatii)
INSTRUCTIUNI:
- length(a) reprezinta lungimea STRING-ului (adica a numarului de caractere)
- copy(a,b,c) unde "b" reprezinta pozitia, "c" reprezinta numarul de caractere. Formeaza un nou cuvant prin preluarea din "a" incepand de la pozitia "b", a unui anumit numar de caractere precizate adica "c"
- concat(a,b,c,...) formeaza un cuvant prin alipirea cuvintelor a,b,c... .
- pos("caracter",a) calculeaza prima pozitie pe care apare caracterul precizat in cuvantul a. (0 daca nu apare)
Program P6;
var S: string;
i,j: integer;
begin
writeln ('Introduc'eti sirul');
readln (s);
i:=0;
For j:=1 o length (s) do
If S(j)=' ' then i:=i+1;
writeln ('Nr de spatii e',i);
end.
INSTRUCTIUNI:
- length(a) reprezinta lungimea STRING-ului (adica a numarului de caractere)
- copy(a,b,c) unde "b" reprezinta pozitia, "c" reprezinta numarul de caractere. Formeaza un nou cuvant prin preluarea din "a" incepand de la pozitia "b", a unui anumit numar de caractere precizate adica "c"
- concat(a,b,c,...) formeaza un cuvant prin alipirea cuvintelor a,b,c... .
- pos("caracter",a) calculeaza prima pozitie pe care apare caracterul precizat in cuvantul a. (0 daca nu apare)
Program P6;
var S: string;
i,j: integer;
begin
writeln ('Introduc'eti sirul');
readln (s);
i:=0;
For j:=1 o length (s) do
If S(j)=' ' then i:=i+1;
writeln ('Nr de spatii e',i);
end.
Instructiunea Repeat
Instrucţiunea REPEAT este un ciclu cu test final care indică repetarea unei secvenţe de instrucţiuni în funcţie de valoarea unei expresii booleene.
Instrucţiunea repeat are forma:
REPEAT
secvenţă
UNTIL condiţie;
Program p5;
var n : integer;
begin
n := 1;
Repeat
Writeln('n');
n:=n + 1;
Until n > 20;
Readln;
end.
Instrucţiunea repeat are forma:
REPEAT
secvenţă
UNTIL condiţie;
Program p5;
var n : integer;
begin
n := 1;
Repeat
Writeln('n');
n:=n + 1;
Until n > 20;
Readln;
end.
Instructiunea While
Instrucţiunea WHILE este ciclul cu test iniţial care conţine o expresie booleană care controlează execuţia repetată a altei instrucţiuni.

PROGRAM P3;
var n: integer;
begin
n := 1;
While n <= 20 Do
Begin
Writeln(n);
n := n + 1;
End;
Readln;
end.
PROGRAM P3;
var n: integer;
begin
n := 1;
While n <= 20 Do
Begin
Writeln(n);
n := n + 1;
End;
Readln;
end.
Instructiunea For
Instrucţiunea FOR este o instrucţiune repetitivă care permite execuţia repetată a unei instrucţiuni în funcţie de valoarea unui contor.
Nu este o instrucţiune strict necesară, ea poate fi simulată cu ajutorul instrucţiunii WHILE. Totuşi, majoritatea programatorilor preferă să utilizeze instrucţiunea FOR.

Program P1;
Var i:integer;
S: integer;
begin
S:=0;
For i:=1 to 5 do
S:=S+i;
Writeln (‘Suma=’, S);
Readln;
End.
Instructiunea Case
Instrucţiunea CASE este o instrucţiune alternativă multiplă care permite selectarea unei instrucţiuni dintr-o listă de instrucţiuni marcate, în funcţie de valoarea unui selector.
Diagrama de sintaxa

Program P3;
var n:integer;
begin
writeln('Introduceti un numar');
readln(n);
case n of
12,1,2: writeln('Iarna');
3,4,5: writeln('Primavara');
6,7,8: writeln('Vara');
9,10,11: writeln('Toamna')
else writeln('Ati introdus un numar gresit!');
end;
readln;
end.
Diagrama de sintaxa

Program P3;
var n:integer;
begin
writeln('Introduceti un numar');
readln(n);
case n of
12,1,2: writeln('Iarna');
3,4,5: writeln('Primavara');
6,7,8: writeln('Vara');
9,10,11: writeln('Toamna')
else writeln('Ati introdus un numar gresit!');
end;
readln;
end.
Abonați-vă la:
Postări (Atom)