Добавете като коментар кода са сортиране на масив (по единия от двата метода които сме учили), за кой метод става въпрос и го обяснете:
метод 1
var i, j, swap, imin: integer;
...
for i:=1 to N-1 do begin
imin:=i;
for j:=i+1 to N do
if a[j]<a[imin] then imin:=j;
if imin <> i then begin
swap:=a[i];
a[i]:=a[imin];
a[imin]:=swap;
end;
end;
метод 2
var i, j, swap: integer;
...
for i:=1 to N do
for j:=1 to N-i do begin
if a[j]>a[j+1] then begin
swap:=a[j];
a[j]:=a[j+1];
a[j+1]:=swap;
end;


var i, j, swap, imin: integer; // декларираме променливите i, j, swap, imin да са целочислен тип данни ... for i:=1 to N-1 do begin // за i присвояваме от 1 до N-1 да прави imin:=i; // imin да бъде равно на i for j:=i+1 to N do // за j присвояваме да бъде равно на i+1 до N да пръви if a[j]<a[imin] then imin:=j; // ако a[j] е по-малко от а[imin] тогава imin да бъде равно на j if imin <> i then begin // ако imin е по-голямо или по-малко от i тогава да прави swap:=a[i]; // за swap присвояваме да бъде равно на a[i] a[i]:=a[imin]; // за a[i] присвояваме да бъде равно на a[imin] a[imin]:=swap; // за a[imin] присвояваме да бъде равно на swap end; // край end; // край– Зорница
Зорница, всичко е вярно освен „по-голямо или по-малко“. Виж как е. И се опитай да обясниш смисъла на кода.
var i, j, swap: integer; //декларираме i,j,swap от целочислен тип ... for i:=1 to N do //за i присвоява 1 от N до for j:=1 to N-i do begin //за j присвоява от N-1 до започване if a[j]>a[j+1] then begin //ако а(j) е по-голямо от а (j+1) тогава започва swap:=a[j]; //swap да присвоява a(j) a[j]:=a[j+1]; // a(j) присвоява а(j+1) a[j+1]:=swap; // a(j+1) присвоява swap end;// край– Мирела
Мирела, разтълкувай ми ред 3 и 4 – нямат много смисъл, така написани. Виж другите обяснения.
var i, j, swap: integer; // декларираме променливите i , swap: цяло число ... for i:=1 to N do // за i се променя от 1 до N for j:=1 to N-i do begin // за j се променя от 1 до N - i изпълни if a[j]>a[j+1] then begin // ако от масива а елемента с номер j е по-голям от масива а с елемент j+1 ,то започни swap:=a[j]; // swap получава стойност от масива а елемента с номер j a[j]:=a[j+1]; // масива а елемента с номер j се получава стойност за масива а с елемент j+1 a[j+1]:=swap; // от масива а елемента с номер j+1 получава стойност за елемента swap end;// крайБраво, Еми!
program Project1; var i, j, swap, imin: integer; // декларираме променливи .... for i:=1 to N-1 do begin // за от 1 до предпоследния елемент се изпълнява: imin:=i; //за най-малка стойност присвояваме i for j:=i+1 to N do // за променливата j ,присвояваме стойността на i+1 if a[j]<a[imin] then imin:=j; //ако елемента j е по-малък от стойността -> //-> на a[imin], imin присвоява стойността на j if imin <> i then begin //ако минималната стойност е различна от стойността -> //-> на i ,тогава се изпълнява: swap:=a[i]; //променливата swap присвоява стойността на i от масива а a[i]:=a[imin]; // масива a[i] присвоява стойността на a[imin] a[imin]:=swap; // a[imin] присвоява променливата swap end; end; end.Браво, Бубе! А сега опитай да разтълкуваш кода, а не просто да го преведеш – защо присъства всяка една от тези команди и какъв е смисъла и?