Обяснете какво се случва в следните блокове код:
Блок 1:
type
type
Adres = record
Grad: string[20];
Ulica: string[50];
No: integer;
end;
uchenik = record
ime:string[20];
DomAdres: Adres;
Godini: integer;
end;
var
n1, n2: uchenik;
begin
ReadLn(n1.ime);
ReadLn(n1.DomAdres.Grad);
ReadLn(n1.DomAdres.Ulica);
ReadLn(n1.DomAdres.No);
Блок 2:
var
n1, n2: uchenik;
begin
with n1 do
ReadLn(ime, Godini);
with n1.Adres do begin
ReadLn(Grad);
ReadLn(Ulica);
ReadLn(No);
end;
Блок 3:
type
uchenik=record
ime:string[20];
skok:array[1..3] of real;
end;
var
n1, n2: uchenik;
begin
ReadLn(n1.ime);
ReadLn(n1.skok[1]);
ReadLn(n2.ime);
ReadLn(n2.skok[1]);
Блок 4:
type
uchenik=record
ime: string[20];
godini: integer;
skok: array[1..3] of real;
end;
var
n: array [1..10] of uchenik;
begin
ReadLn(n[1].ime);
ReadLn(n[1].godini);
ReadLn(n[1].skok[1]);
ReadLn(n[1].skok[2]);


-Mирела
– Зорница
Program Zad_3; Type //нов тип Student=Record // ученици е запис First_name:string[15]; // Името е от тип низ , който съдържа до 15 символа Second_name:string[15];// Презимето е от тип низ ,който съдържа до 15 символа Last_name:string[15]; // Фамилията е от тип низ,който съдържа до 15 символа Egn:string[10];//Егн е от тип низ ,който съдържа до 10 символа Sr_uspeh:real; //Средния успех е от реален тип данни End; //край Students=Array[1..30] of Student; //ученикът е масив,който съдържа елементи номерирани от 1 до 30 и всеки от елементите е от тип ученик var //декларираме променлива Klas:Students; //клас от ученици n,i:integer;// n и i от целочислен тип begin //започваме Write('Broi uchenici:'); // въвеждаме броя ученици ReadLn(n); //прочита броя ученици foi i:=1 to n do //зa 1 променя броя на учениците with Klas[i] do // от класа begin //започване Write('Ime:'); //написваме името ReadLn(First_name); // прочита първото име Write('Prezime:'); //написваме второто име ReadLn( Second_name); //прочита презимето Write('Familiq:');//написваме фамилията ReadLn(Last name); //прочита фамилията Write('Egn:');//написваме егн ReadLn(Egn); //прочита егн Write('Sr_uspeh:');//написваме средния успех ReadLn(Sr_uspeh); //написваме средния успех End;//край for i:=1 to n do //за 1 променя броя учениците if klas [i].Sr_uspeh>=5.50 then // само на който успеха им е по-голям или равен от 5,50 begin //започваме Write(klas[i].first_name,' '); //написваме на учениците от класа името,след което ще остави празно място Write(klas[i].second_name,' '); //написваме на учениците от класа презимето , след което ще остави празно място Write(klas[i].last_name,' ');//написваме на учениците от класа фамилията , след което ще остави празно място Write(klas[i].Egn,' '); //написваме на учениците от класа егн ,след което ще остави празно място WriteLn(klas[i].Sr_uspeh:1:2);//написваме на учениците от класа средния успех end;// край;
end; //край
-Мирела
var // декларираме променливи
n1, n2: uchenik; // променливите n1, n2 да са от тип ученик
begin // начало with n1 do // за променливата n1 ReadLn(ime, Godini); // прочета полетата име и години with n1.Adres do begin // за променливата адрес от n1 прочита ReadLn(Grad); // града, улицата и номера ReadLn(Ulica); ReadLn(No); end; // край– Зорница