Sortowanie przez wstawianie

0

Witam! Jestem początkującym programistą i mam pewien problem otóz pani w szkole kazała mi napisać program sortowanie przez wstawianie, sam nie umiałem go zrobić więć znalazłem w necie,
3 dzień już rozkiminiam ten program ale nic z tego ,mam prośbę czy mógłby któs mi go prostymi słowami wytłumczayć linijka po linijce :-O

uses crt;
const n=5;
var
tab:array[1..5] of integer;
i,j,k : integer;
begin
clrscr;
writeln('Sortowanie przez wstawianie');
for i:= 1 to n do readln(tab[i]);
writeln('Liczby przed sortowaniem:');
for i:= 1 to n do write(tab[i]);
for j:=n-1 downto 1 do
begin
k := tab[j];
i := j + 1;
while (i<=n) and (k>tab[i]) do
begin
tab[i-1]:=tab[i];
i:=i+1;
end;
tab[i-1]:=k;
end;
writeln('Liczby po sortowaniu:');
for i:=1 to n do write(tab[i]);
repeat until keypressed;
end.

0

uses crt; <- obsługa CRT

const n=5; <- stała n równa 5
var <- deklaracja wartości
tab:array[1..5] of integer; <- słowo tab i arry jest równa od 1 do 5 i jest to tylko liczba
i,j,k : integer; <- i, j, k są liczbami
begin <- start
clrscr; <- czyszcenibie konsoli (wydaje mi sie że to aplikacja konsolowa)
writeln('Sortowanie przez wstawianie'); <-wypisz linie
for i:= 1 to n do readln(tab[i]); <-dal i ustaw 1 do "n" do wczytaj tab (to co masz zdeklarowane w var) i przdziel liczbę.

writeln('Liczby przed sortowaniem:');<- wypisz w konsoli "Liczby przed sortowaniem:"
for i:= 1 to n do write(tab[i]); < tak jak wcześniej
for j:=n-1 downto 1 do <- dla j przydziel n i odejmij 1("downto" nie wiem co to jest)
begin <- start
k := tab[j];<- dla ka przyjmij tab o nurerze j
i := j + 1; <- dla i przyjmij i dodaj 1
while (i<=n) and (k>tab[i]) do
begin <-start
tab[i-1]:=tab[i]; <-dla tab o numerze i odjąć 1 , przyjmij tab o numerze i
i:=i+1; <-dla i ustaw i dodać 1
end;<-koniec
tab[i-1]:=k; <- tab o numerze i dodać 1
end; <- koniec
writeln('Liczby po sortowaniu:'); <- wypisz to co jest w nawiasach
for i:=1 to n do write(tab[i]); dla <- dal i o wartości 1 idz do n i wypisz tab o wartości i
repeat until keypressed; <- tego nigdy nie wiedziałem
end. <- zakoncz

jak coś źle zinterpretowałem to SRY ale pisze to na szybkiego i proszę to poprawić...

0

Przede wszystkim to trzeba chodzić na zajęcia, a w razie problemów poszukać w google i nie powinno być ze
zrozumieniem tak prostego kodu problemów. A downto to takie coś co się nazywa pętla malejąca czyli może
się wykonywać tak jak tutaj od wartośći n - 1 idąć w dół do - na przyklad 1. Poza tym formatujcie jakoś kod
żeby to dało się czytać. Jak nie umiecie sami to skorzystajcie z Formattera który nieco rozbudowałem, link w
temacie na: http://forum.unit1.pl/index.php?showtopic=3100 a co do kodu jeszce to na pewno jest to twór
pascala konsolowego. Skompiluje się pod Turbo Pascalem lub FreePascalem lub Dev-Pascalem. A i widzę, że
powoli zaczyna się sezon na zaliczenia. Na pewno znowu tu przybędzie postów od nerwowo szukających na
ostatnią chwilę koniecznie darmowych i gotowych do skompilowania kodów źródłowych i z komentarzami :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1